// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 45;
	objects = {

/* Begin PBXAggregateTarget section */
		48547E030DD882170047AC8A /* symlinks */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 48547E080DD8823B0047AC8A /* Build configuration list for PBXAggregateTarget "symlinks" */;
			buildPhases = (
				48547E020DD882170047AC8A /* Make symlink */,
			);
			comments = "This will create a symlink in ~/Library/Internet Plug-Ins to the plugin";
			dependencies = (
				48547E070DD8821D0047AC8A /* PBXTargetDependency */,
			);
			name = symlinks;
			productName = oophm.symlink;
		};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
		45283765103BCCB100153ABF /* CheckVersionsMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45283764103BCCB100153ABF /* CheckVersionsMessage.cpp */; };
		4528376F103BCCDF00153ABF /* ChooseTransportMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45283767103BCCDF00153ABF /* ChooseTransportMessage.cpp */; };
		45283770103BCCDF00153ABF /* FatalErrorMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45283769103BCCDF00153ABF /* FatalErrorMessage.cpp */; };
		45283771103BCCDF00153ABF /* ProtocolVersionMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4528376B103BCCDF00153ABF /* ProtocolVersionMessage.cpp */; };
		45283772103BCCDF00153ABF /* SwitchTransportMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4528376D103BCCDF00153ABF /* SwitchTransportMessage.cpp */; };
		480DDCAA0E381E22000711F4 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A23BB50DD0E688004EF5CA /* AppController.m */; };
		480DDCAB0E381E23000711F4 /* BrowserWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A23C770DD0F545004EF5CA /* BrowserWindow.m */; };
		480DDCAC0E381E28000711F4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 48A23BB60DD0E688004EF5CA /* main.m */; };
		48108DDF0E2C15BD007FA76C /* AllowedConnections.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48108DDB0E2C15BD007FA76C /* AllowedConnections.cpp */; };
		48108DE00E2C15BD007FA76C /* Socket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48108DDD0E2C15BD007FA76C /* Socket.cpp */; };
		48338DDF0E4A2CA7008ACF0F /* oophm_bypass.plist in Resources */ = {isa = PBXBuildFile; fileRef = 48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */; };
		48420D410DD51A3D001F3839 /* GTMNSString+HTML.m in Sources */ = {isa = PBXBuildFile; fileRef = 48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */; };
		4851A9D50DD1198300C577B2 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */; };
		48547F000DD889DA0047AC8A /* GTMSystemVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */; };
		48547F4B0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m in Sources */ = {isa = PBXBuildFile; fileRef = 48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */; };
		485505ED0DCD475C0009536F /* SlowScriptProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 485505EC0DCD475C0009536F /* SlowScriptProxy.m */; };
		4856DF890DCF95B8000BF47C /* HostChannel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF750DCF95B8000BF47C /* HostChannel.cpp */; };
		4856DF8A0DCF95B8000BF47C /* InvokeMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF770DCF95B8000BF47C /* InvokeMessage.cpp */; };
		4856DF8B0DCF95B8000BF47C /* LoadModuleMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF790DCF95B8000BF47C /* LoadModuleMessage.cpp */; };
		4856DF8E0DCF95B8000BF47C /* ReturnMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF7F0DCF95B8000BF47C /* ReturnMessage.cpp */; };
		4856DF8F0DCF95B8000BF47C /* README.google in Resources */ = {isa = PBXBuildFile; fileRef = 4856DF820DCF95B8000BF47C /* README.google */; };
		4856DF900DCF95B8000BF47C /* ServerMethods.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4856DF840DCF95B8000BF47C /* ServerMethods.cpp */; };
		485CCFF00DDDDEA400AEE666 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 485CCFEF0DDDDEA400AEE666 /* CoreFoundation.framework */; };
		485CD0AA0DDDEAF300AEE666 /* Debug.mm in Sources */ = {isa = PBXBuildFile; fileRef = 485CD0A90DDDEAF300AEE666 /* Debug.mm */; };
		486DA8F50DD22BD50065980B /* crash.html in Resources */ = {isa = PBXBuildFile; fileRef = 486DA8F40DD22BD50065980B /* crash.html */; };
		48A237D10DCFB46D004EF5CA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
		48A23BC60DD0E6EE004EF5CA /* browser.nib in Resources */ = {isa = PBXBuildFile; fileRef = 48A23BC50DD0E6EE004EF5CA /* browser.nib */; };
		48A23BE00DD0E8B1004EF5CA /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A10DC62FD800E011A2 /* WebKit.framework */; };
		48A23BE10DD0E8B6004EF5CA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; };
		48A23C510DD0F2D6004EF5CA /* Browser-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 48A23C500DD0F2D6004EF5CA /* Browser-Info.plist */; };
		48A23C530DD0F302004EF5CA /* gwtlogo.icns in Resources */ = {isa = PBXBuildFile; fileRef = 48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */; };
		48ABDDC50DCBA04800B0159A /* WebScriptSessionHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48ABDDC40DCBA04800B0159A /* WebScriptSessionHandler.cpp */; };
		48C4D72E0DCA2B6900C34919 /* gwtlogo.icns in Resources */ = {isa = PBXBuildFile; fileRef = 48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */; };
		48C9EA4A0E37863700E691C6 /* FreeValueMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C9EA440E37863700E691C6 /* FreeValueMessage.cpp */; };
		48C9EA4B0E37863700E691C6 /* InvokeSpecialMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C9EA460E37863700E691C6 /* InvokeSpecialMessage.cpp */; };
		48C9EA4C0E37863700E691C6 /* LoadJsniMessage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48C9EA480E37863700E691C6 /* LoadJsniMessage.cpp */; };
		48EF692D0E318E200050F5D6 /* ObjectFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48EF692C0E318E200050F5D6 /* ObjectFunctions.cpp */; };
		48FD98900DC62E7400E011A2 /* OophmPlugin.mm in Sources */ = {isa = PBXBuildFile; fileRef = 48FD988F0DC62E7400E011A2 /* OophmPlugin.mm */; };
		48FD98A20DC62FD800E011A2 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */; };
		48FD98A30DC62FD800E011A2 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48FD98A10DC62FD800E011A2 /* WebKit.framework */; };
		48FD99540DC6349F00E011A2 /* OophmWebScriptObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = 48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */; };
		8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		48547E060DD8821D0047AC8A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
			remoteInfo = oophm;
		};
		485CD0C40DDDED1700AEE666 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 48547E030DD882170047AC8A;
			remoteInfo = symlinks;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		089C1672FE841209C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
		089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		089C167FFE841241C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
		1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
		32DBCF630370AF2F00C91783 /* oophm_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oophm_Prefix.pch; sourceTree = "<group>"; };
		45283764103BCCB100153ABF /* CheckVersionsMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CheckVersionsMessage.cpp; sourceTree = "<group>"; };
		45283766103BCCDF00153ABF /* CheckVersionsMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CheckVersionsMessage.h; sourceTree = "<group>"; };
		45283767103BCCDF00153ABF /* ChooseTransportMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ChooseTransportMessage.cpp; sourceTree = "<group>"; };
		45283768103BCCDF00153ABF /* ChooseTransportMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ChooseTransportMessage.h; sourceTree = "<group>"; };
		45283769103BCCDF00153ABF /* FatalErrorMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FatalErrorMessage.cpp; sourceTree = "<group>"; };
		4528376A103BCCDF00153ABF /* FatalErrorMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FatalErrorMessage.h; sourceTree = "<group>"; };
		4528376B103BCCDF00153ABF /* ProtocolVersionMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ProtocolVersionMessage.cpp; sourceTree = "<group>"; };
		4528376C103BCCDF00153ABF /* ProtocolVersionMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ProtocolVersionMessage.h; sourceTree = "<group>"; };
		4528376D103BCCDF00153ABF /* SwitchTransportMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SwitchTransportMessage.cpp; sourceTree = "<group>"; };
		4528376E103BCCDF00153ABF /* SwitchTransportMessage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SwitchTransportMessage.h; sourceTree = "<group>"; };
		48108DDB0E2C15BD007FA76C /* AllowedConnections.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AllowedConnections.cpp; sourceTree = "<group>"; };
		48108DDC0E2C15BD007FA76C /* AllowedConnections.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AllowedConnections.h; sourceTree = "<group>"; };
		48108DDD0E2C15BD007FA76C /* Socket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Socket.cpp; sourceTree = "<group>"; };
		48108DDE0E2C15BD007FA76C /* Socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Socket.h; sourceTree = "<group>"; };
		48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = oophm_bypass.plist; sourceTree = "<group>"; };
		48420D3C0DD51A23001F3839 /* GTMDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMDefines.h; path = GTM/GTMDefines.h; sourceTree = "<group>"; };
		48420D3D0DD51A3D001F3839 /* GTMNSString+HTML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "GTMNSString+HTML.h"; path = "GTM/Foundation/GTMNSString+HTML.h"; sourceTree = "<group>"; };
		48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "GTMNSString+HTML.m"; path = "GTM/Foundation/GTMNSString+HTML.m"; sourceTree = "<group>"; };
		48547EFE0DD889DA0047AC8A /* GTMSystemVersion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTMSystemVersion.h; path = GTM/Foundation/GTMSystemVersion.h; sourceTree = "<group>"; };
		48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GTMSystemVersion.m; path = GTM/Foundation/GTMSystemVersion.m; sourceTree = "<group>"; };
		48547F490DD88D110047AC8A /* NSMutableString+HtmlReplacement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableString+HtmlReplacement.h"; sourceTree = "<group>"; };
		48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableString+HtmlReplacement.m"; sourceTree = "<group>"; };
		485505EB0DCD475C0009536F /* SlowScriptProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SlowScriptProxy.h; sourceTree = "<group>"; };
		485505EC0DCD475C0009536F /* SlowScriptProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SlowScriptProxy.m; sourceTree = "<group>"; };
		4856DF740DCF95B8000BF47C /* BrowserChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BrowserChannel.h; path = ../common/BrowserChannel.h; sourceTree = SOURCE_ROOT; };
		4856DF750DCF95B8000BF47C /* HostChannel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HostChannel.cpp; path = ../common/HostChannel.cpp; sourceTree = SOURCE_ROOT; };
		4856DF760DCF95B8000BF47C /* HostChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HostChannel.h; path = ../common/HostChannel.h; sourceTree = SOURCE_ROOT; };
		4856DF770DCF95B8000BF47C /* InvokeMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InvokeMessage.cpp; path = ../common/InvokeMessage.cpp; sourceTree = SOURCE_ROOT; };
		4856DF780DCF95B8000BF47C /* InvokeMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InvokeMessage.h; path = ../common/InvokeMessage.h; sourceTree = SOURCE_ROOT; };
		4856DF790DCF95B8000BF47C /* LoadModuleMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LoadModuleMessage.cpp; path = ../common/LoadModuleMessage.cpp; sourceTree = SOURCE_ROOT; };
		4856DF7A0DCF95B8000BF47C /* LoadModuleMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LoadModuleMessage.h; path = ../common/LoadModuleMessage.h; sourceTree = SOURCE_ROOT; };
		4856DF7D0DCF95B8000BF47C /* Message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Message.h; path = ../common/Message.h; sourceTree = SOURCE_ROOT; };
		4856DF7E0DCF95B8000BF47C /* QuitMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = QuitMessage.h; path = ../common/QuitMessage.h; sourceTree = SOURCE_ROOT; };
		4856DF7F0DCF95B8000BF47C /* ReturnMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReturnMessage.cpp; path = ../common/ReturnMessage.cpp; sourceTree = SOURCE_ROOT; };
		4856DF800DCF95B8000BF47C /* ReturnMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ReturnMessage.h; path = ../common/ReturnMessage.h; sourceTree = SOURCE_ROOT; };
		4856DF820DCF95B8000BF47C /* README.google */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = README.google; path = ../common/scoped_ptr/README.google; sourceTree = SOURCE_ROOT; };
		4856DF830DCF95B8000BF47C /* scoped_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = scoped_ptr.h; path = ../common/scoped_ptr/scoped_ptr.h; sourceTree = SOURCE_ROOT; };
		4856DF840DCF95B8000BF47C /* ServerMethods.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ServerMethods.cpp; path = ../common/ServerMethods.cpp; sourceTree = SOURCE_ROOT; };
		4856DF850DCF95B8000BF47C /* ServerMethods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ServerMethods.h; path = ../common/ServerMethods.h; sourceTree = SOURCE_ROOT; };
		4856DF860DCF95B8000BF47C /* SessionHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SessionHandler.h; path = ../common/SessionHandler.h; sourceTree = SOURCE_ROOT; };
		4856DF880DCF95B8000BF47C /* Value.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Value.h; path = ../common/Value.h; sourceTree = SOURCE_ROOT; };
		485CCE650DDDC5E900AEE666 /* HashMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashMap.h; sourceTree = "<group>"; };
		485CCFEF0DDDDEA400AEE666 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
		485CD0A90DDDEAF300AEE666 /* Debug.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Debug.mm; sourceTree = "<group>"; };
		486DA8ED0DD22B850065980B /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = English; path = English.lproj/crash.html; sourceTree = "<group>"; wrapsLines = 0; };
		48A23BA20DD0E5B4004EF5CA /* Browser.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Browser.app; sourceTree = BUILT_PRODUCTS_DIR; };
		48A23BB40DD0E688004EF5CA /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = "<group>"; };
		48A23BB50DD0E688004EF5CA /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = "<group>"; };
		48A23BB60DD0E688004EF5CA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		48A23BC50DD0E6EE004EF5CA /* browser.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = browser.nib; sourceTree = "<group>"; };
		48A23C500DD0F2D6004EF5CA /* Browser-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Browser-Info.plist"; sourceTree = "<group>"; };
		48A23C760DD0F545004EF5CA /* BrowserWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BrowserWindow.h; sourceTree = "<group>"; };
		48A23C770DD0F545004EF5CA /* BrowserWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BrowserWindow.m; sourceTree = "<group>"; };
		48ABDDC30DCBA04800B0159A /* WebScriptSessionHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptSessionHandler.h; sourceTree = "<group>"; };
		48ABDDC40DCBA04800B0159A /* WebScriptSessionHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebScriptSessionHandler.cpp; sourceTree = "<group>"; };
		48ABDDC80DCBA09D00B0159A /* TrackingData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrackingData.h; sourceTree = "<group>"; };
		48ABE1050DCBB67600B0159A /* SessionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SessionData.h; sourceTree = "<group>"; };
		48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = gwtlogo.icns; sourceTree = "<group>"; };
		48C9EA440E37863700E691C6 /* FreeValueMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FreeValueMessage.cpp; sourceTree = "<group>"; };
		48C9EA450E37863700E691C6 /* FreeValueMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FreeValueMessage.h; sourceTree = "<group>"; };
		48C9EA460E37863700E691C6 /* InvokeSpecialMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InvokeSpecialMessage.cpp; sourceTree = "<group>"; };
		48C9EA470E37863700E691C6 /* InvokeSpecialMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InvokeSpecialMessage.h; sourceTree = "<group>"; };
		48C9EA480E37863700E691C6 /* LoadJsniMessage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadJsniMessage.cpp; sourceTree = "<group>"; };
		48C9EA490E37863700E691C6 /* LoadJsniMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadJsniMessage.h; sourceTree = "<group>"; };
		48D5795D0DDB8C03005A3498 /* Debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Debug.h; sourceTree = "<group>"; };
		48D5795E0DDB8C03005A3498 /* DebugLevel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DebugLevel.h; sourceTree = "<group>"; };
		48EF692B0E318E200050F5D6 /* ObjectFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjectFunctions.h; sourceTree = "<group>"; };
		48EF692C0E318E200050F5D6 /* ObjectFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ObjectFunctions.cpp; sourceTree = "<group>"; };
		48FD988E0DC62E7400E011A2 /* OophmPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OophmPlugin.h; sourceTree = "<group>"; };
		48FD988F0DC62E7400E011A2 /* OophmPlugin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OophmPlugin.mm; sourceTree = "<group>"; };
		48FD989B0DC62F8800E011A2 /* WebFrameNonTigerHeaders.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebFrameNonTigerHeaders.h; sourceTree = "<group>"; };
		48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = /System/Library/Frameworks/JavaScriptCore.framework; sourceTree = "<absolute>"; };
		48FD98A10DC62FD800E011A2 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = /System/Library/Frameworks/WebKit.framework; sourceTree = "<absolute>"; };
		48FD99520DC6349F00E011A2 /* OophmWebScriptObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OophmWebScriptObject.h; sourceTree = "<group>"; };
		48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = OophmWebScriptObject.mm; sourceTree = "<group>"; };
		48FFCFC80DD35DA900805659 /* Platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Platform.h; sourceTree = "<group>"; };
		8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "gwt-dev.webplugin"; sourceTree = BUILT_PRODUCTS_DIR; };
		8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		D2F7E65807B2D6F200F64583 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		48A23BA00DD0E5B4004EF5CA /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				48A23BE00DD0E8B1004EF5CA /* WebKit.framework in Frameworks */,
				48A23BE10DD0E8B6004EF5CA /* Cocoa.framework in Frameworks */,
				4851A9D50DD1198300C577B2 /* JavaScriptCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8D5B49B3048680CD000E48DA /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				48FD98A20DC62FD800E011A2 /* JavaScriptCore.framework in Frameworks */,
				48FD98A30DC62FD800E011A2 /* WebKit.framework in Frameworks */,
				48A237D10DCFB46D004EF5CA /* Cocoa.framework in Frameworks */,
				485CCFF00DDDDEA400AEE666 /* CoreFoundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		089C166AFE841209C02AAC07 /* oophm */ = {
			isa = PBXGroup;
			children = (
				485506C90DCD54180009536F /* Classes */,
				48420D3B0DD51A0F001F3839 /* GTM */,
				32C88E010371C26100C91783 /* Other Sources */,
				089C167CFE841241C02AAC07 /* Resources */,
				089C1671FE841209C02AAC07 /* Frameworks and Libraries */,
				19C28FB8FE9D52D311CA2CBB /* Products */,
			);
			comments = "/*\n * Copyright 2008 Google Inc.\n * \n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n";
			name = oophm;
			sourceTree = "<group>";
		};
		089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = {
			isa = PBXGroup;
			children = (
				1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */,
				1058C7AEFEA557BF11CA2CBB /* Other Frameworks */,
			);
			name = "Frameworks and Libraries";
			sourceTree = "<group>";
		};
		089C167CFE841241C02AAC07 /* Resources */ = {
			isa = PBXGroup;
			children = (
				48338DDB0E4A2C49008ACF0F /* oophm_bypass.plist */,
				486DA8F40DD22BD50065980B /* crash.html */,
				48C4D72D0DCA2B6900C34919 /* gwtlogo.icns */,
				8D5B49B7048680CD000E48DA /* Info.plist */,
				089C167DFE841241C02AAC07 /* InfoPlist.strings */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		1058C7ACFEA557BF11CA2CBB /* Linked Frameworks */ = {
			isa = PBXGroup;
			children = (
				485CCFEF0DDDDEA400AEE666 /* CoreFoundation.framework */,
				48FD98A00DC62FD800E011A2 /* JavaScriptCore.framework */,
				48FD98A10DC62FD800E011A2 /* WebKit.framework */,
				1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */,
			);
			name = "Linked Frameworks";
			sourceTree = "<group>";
		};
		1058C7AEFEA557BF11CA2CBB /* Other Frameworks */ = {
			isa = PBXGroup;
			children = (
				089C167FFE841241C02AAC07 /* AppKit.framework */,
				D2F7E65807B2D6F200F64583 /* CoreData.framework */,
				089C1672FE841209C02AAC07 /* Foundation.framework */,
			);
			name = "Other Frameworks";
			sourceTree = "<group>";
		};
		19C28FB8FE9D52D311CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */,
				48A23BA20DD0E5B4004EF5CA /* Browser.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		32C88E010371C26100C91783 /* Other Sources */ = {
			isa = PBXGroup;
			children = (
				4856DF730DCF95B8000BF47C /* common */,
				32DBCF630370AF2F00C91783 /* oophm_Prefix.pch */,
			);
			name = "Other Sources";
			sourceTree = "<group>";
		};
		48420D3B0DD51A0F001F3839 /* GTM */ = {
			isa = PBXGroup;
			children = (
				48547EFE0DD889DA0047AC8A /* GTMSystemVersion.h */,
				48547EFF0DD889DA0047AC8A /* GTMSystemVersion.m */,
				48420D3D0DD51A3D001F3839 /* GTMNSString+HTML.h */,
				48420D3E0DD51A3D001F3839 /* GTMNSString+HTML.m */,
				48420D3C0DD51A23001F3839 /* GTMDefines.h */,
			);
			comments = "We just need a subset of the functionality available in GTM, so we'll pull in only the files we need as opposed to creating a cross-project dependency and having to package the framework in the plugin.";
			name = GTM;
			sourceTree = "<group>";
		};
		485506C90DCD54180009536F /* Classes */ = {
			isa = PBXGroup;
			children = (
				48A23B9D0DD0E57E004EF5CA /* Browser */,
				4856DFFB0DCFAEFD000BF47C /* Plugin */,
				4856DFFA0DCFAEBC000BF47C /* Core */,
			);
			name = Classes;
			sourceTree = "<group>";
		};
		4856DF730DCF95B8000BF47C /* common */ = {
			isa = PBXGroup;
			children = (
				45283766103BCCDF00153ABF /* CheckVersionsMessage.h */,
				45283767103BCCDF00153ABF /* ChooseTransportMessage.cpp */,
				45283768103BCCDF00153ABF /* ChooseTransportMessage.h */,
				45283769103BCCDF00153ABF /* FatalErrorMessage.cpp */,
				4528376A103BCCDF00153ABF /* FatalErrorMessage.h */,
				4528376B103BCCDF00153ABF /* ProtocolVersionMessage.cpp */,
				4528376C103BCCDF00153ABF /* ProtocolVersionMessage.h */,
				4528376D103BCCDF00153ABF /* SwitchTransportMessage.cpp */,
				4528376E103BCCDF00153ABF /* SwitchTransportMessage.h */,
				48C9EA440E37863700E691C6 /* FreeValueMessage.cpp */,
				48C9EA450E37863700E691C6 /* FreeValueMessage.h */,
				48C9EA460E37863700E691C6 /* InvokeSpecialMessage.cpp */,
				48C9EA470E37863700E691C6 /* InvokeSpecialMessage.h */,
				48C9EA480E37863700E691C6 /* LoadJsniMessage.cpp */,
				48C9EA490E37863700E691C6 /* LoadJsniMessage.h */,
				48108DDB0E2C15BD007FA76C /* AllowedConnections.cpp */,
				48108DDC0E2C15BD007FA76C /* AllowedConnections.h */,
				48108DDD0E2C15BD007FA76C /* Socket.cpp */,
				48108DDE0E2C15BD007FA76C /* Socket.h */,
				485CCE650DDDC5E900AEE666 /* HashMap.h */,
				48D5795D0DDB8C03005A3498 /* Debug.h */,
				48D5795E0DDB8C03005A3498 /* DebugLevel.h */,
				48FFCFC80DD35DA900805659 /* Platform.h */,
				4856DF740DCF95B8000BF47C /* BrowserChannel.h */,
				4856DF750DCF95B8000BF47C /* HostChannel.cpp */,
				4856DF760DCF95B8000BF47C /* HostChannel.h */,
				4856DF770DCF95B8000BF47C /* InvokeMessage.cpp */,
				4856DF780DCF95B8000BF47C /* InvokeMessage.h */,
				4856DF790DCF95B8000BF47C /* LoadModuleMessage.cpp */,
				4856DF7A0DCF95B8000BF47C /* LoadModuleMessage.h */,
				4856DF7D0DCF95B8000BF47C /* Message.h */,
				4856DF7E0DCF95B8000BF47C /* QuitMessage.h */,
				4856DF7F0DCF95B8000BF47C /* ReturnMessage.cpp */,
				4856DF800DCF95B8000BF47C /* ReturnMessage.h */,
				4856DF810DCF95B8000BF47C /* scoped_ptr */,
				4856DF840DCF95B8000BF47C /* ServerMethods.cpp */,
				4856DF850DCF95B8000BF47C /* ServerMethods.h */,
				4856DF860DCF95B8000BF47C /* SessionHandler.h */,
				4856DF880DCF95B8000BF47C /* Value.h */,
				45283764103BCCB100153ABF /* CheckVersionsMessage.cpp */,
			);
			name = common;
			path = ../common;
			sourceTree = SOURCE_ROOT;
		};
		4856DF810DCF95B8000BF47C /* scoped_ptr */ = {
			isa = PBXGroup;
			children = (
				4856DF820DCF95B8000BF47C /* README.google */,
				4856DF830DCF95B8000BF47C /* scoped_ptr.h */,
			);
			name = scoped_ptr;
			path = ../common/scoped_ptr;
			sourceTree = SOURCE_ROOT;
		};
		4856DFFA0DCFAEBC000BF47C /* Core */ = {
			isa = PBXGroup;
			children = (
				48ABDDC30DCBA04800B0159A /* WebScriptSessionHandler.h */,
				48ABDDC40DCBA04800B0159A /* WebScriptSessionHandler.cpp */,
				48ABDDC80DCBA09D00B0159A /* TrackingData.h */,
				48ABE1050DCBB67600B0159A /* SessionData.h */,
				48EF692B0E318E200050F5D6 /* ObjectFunctions.h */,
				48EF692C0E318E200050F5D6 /* ObjectFunctions.cpp */,
			);
			path = Core;
			sourceTree = "<group>";
		};
		4856DFFB0DCFAEFD000BF47C /* Plugin */ = {
			isa = PBXGroup;
			children = (
				485CD0A90DDDEAF300AEE666 /* Debug.mm */,
				48FD988E0DC62E7400E011A2 /* OophmPlugin.h */,
				48FD988F0DC62E7400E011A2 /* OophmPlugin.mm */,
				48FD99520DC6349F00E011A2 /* OophmWebScriptObject.h */,
				485505EB0DCD475C0009536F /* SlowScriptProxy.h */,
				48FD99530DC6349F00E011A2 /* OophmWebScriptObject.mm */,
				485505EC0DCD475C0009536F /* SlowScriptProxy.m */,
				48FD989B0DC62F8800E011A2 /* WebFrameNonTigerHeaders.h */,
				48547F490DD88D110047AC8A /* NSMutableString+HtmlReplacement.h */,
				48547F4A0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m */,
			);
			path = Plugin;
			sourceTree = "<group>";
		};
		48A23B9D0DD0E57E004EF5CA /* Browser */ = {
			isa = PBXGroup;
			children = (
				48A23C760DD0F545004EF5CA /* BrowserWindow.h */,
				48A23C770DD0F545004EF5CA /* BrowserWindow.m */,
				48A23C500DD0F2D6004EF5CA /* Browser-Info.plist */,
				48A23BB40DD0E688004EF5CA /* AppController.h */,
				48A23BB50DD0E688004EF5CA /* AppController.m */,
				48A23BB60DD0E688004EF5CA /* main.m */,
				48A23BC50DD0E6EE004EF5CA /* browser.nib */,
			);
			path = Browser;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		48A23BA10DD0E5B4004EF5CA /* Browser */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 48A23BA70DD0E5B5004EF5CA /* Build configuration list for PBXNativeTarget "Browser" */;
			buildPhases = (
				48A23B9E0DD0E5B4004EF5CA /* Resources */,
				48A23B9F0DD0E5B4004EF5CA /* Sources */,
				48A23BA00DD0E5B4004EF5CA /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				485CD0C50DDDED1700AEE666 /* PBXTargetDependency */,
			);
			name = Browser;
			productName = Browser;
			productReference = 48A23BA20DD0E5B4004EF5CA /* Browser.app */;
			productType = "com.apple.product-type.application";
		};
		8D5B49AC048680CD000E48DA /* gwt-dev */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "gwt-dev" */;
			buildPhases = (
				8D5B49AF048680CD000E48DA /* Resources */,
				8D5B49B1048680CD000E48DA /* Sources */,
				8D5B49B3048680CD000E48DA /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "gwt-dev";
			productInstallPath = "$(HOME)/Library/Bundles";
			productName = oophm;
			productReference = 8D5B49B6048680CD000E48DA /* gwt-dev.webplugin */;
			productType = "com.apple.product-type.bundle";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		089C1669FE841209C02AAC07 /* Project object */ = {
			isa = PBXProject;
			buildConfigurationList = 1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "oophm" */;
			compatibilityVersion = "Xcode 3.1";
			hasScannedForEncodings = 1;
			mainGroup = 089C166AFE841209C02AAC07 /* oophm */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				48A23BA10DD0E5B4004EF5CA /* Browser */,
				8D5B49AC048680CD000E48DA /* gwt-dev */,
				48547E030DD882170047AC8A /* symlinks */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		48A23B9E0DD0E5B4004EF5CA /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				48A23BC60DD0E6EE004EF5CA /* browser.nib in Resources */,
				48A23C510DD0F2D6004EF5CA /* Browser-Info.plist in Resources */,
				48A23C530DD0F302004EF5CA /* gwtlogo.icns in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8D5B49AF048680CD000E48DA /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */,
				48C4D72E0DCA2B6900C34919 /* gwtlogo.icns in Resources */,
				4856DF8F0DCF95B8000BF47C /* README.google in Resources */,
				486DA8F50DD22BD50065980B /* crash.html in Resources */,
				48338DDF0E4A2CA7008ACF0F /* oophm_bypass.plist in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		48547E020DD882170047AC8A /* Make symlink */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"$(BUILT_PRODUCTS_DIR)/{$PluginShortName}.webplugin",
			);
			name = "Make symlink";
			outputPaths = (
				"$(USER_LIBRARY_DIR)/Internet Plug-Ins/${PluginShortName}.webplugin/Contents",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "set -x\nrm -r \"${USER_LIBRARY_DIR}/Internet Plug-Ins/${PluginShortName}.webplugin\"\nln -sf \"${BUILT_PRODUCTS_DIR}/${PluginShortName}.webplugin\" \"${USER_LIBRARY_DIR}/Internet Plug-Ins/.\"";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		48A23B9F0DD0E5B4004EF5CA /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				480DDCAA0E381E22000711F4 /* AppController.m in Sources */,
				480DDCAB0E381E23000711F4 /* BrowserWindow.m in Sources */,
				480DDCAC0E381E28000711F4 /* main.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8D5B49B1048680CD000E48DA /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				48FD98900DC62E7400E011A2 /* OophmPlugin.mm in Sources */,
				48FD99540DC6349F00E011A2 /* OophmWebScriptObject.mm in Sources */,
				48ABDDC50DCBA04800B0159A /* WebScriptSessionHandler.cpp in Sources */,
				485505ED0DCD475C0009536F /* SlowScriptProxy.m in Sources */,
				4856DF890DCF95B8000BF47C /* HostChannel.cpp in Sources */,
				4856DF8A0DCF95B8000BF47C /* InvokeMessage.cpp in Sources */,
				4856DF8B0DCF95B8000BF47C /* LoadModuleMessage.cpp in Sources */,
				4856DF8E0DCF95B8000BF47C /* ReturnMessage.cpp in Sources */,
				4856DF900DCF95B8000BF47C /* ServerMethods.cpp in Sources */,
				48420D410DD51A3D001F3839 /* GTMNSString+HTML.m in Sources */,
				48547F000DD889DA0047AC8A /* GTMSystemVersion.m in Sources */,
				48547F4B0DD88D110047AC8A /* NSMutableString+HtmlReplacement.m in Sources */,
				485CD0AA0DDDEAF300AEE666 /* Debug.mm in Sources */,
				48108DDF0E2C15BD007FA76C /* AllowedConnections.cpp in Sources */,
				48108DE00E2C15BD007FA76C /* Socket.cpp in Sources */,
				48EF692D0E318E200050F5D6 /* ObjectFunctions.cpp in Sources */,
				48C9EA4A0E37863700E691C6 /* FreeValueMessage.cpp in Sources */,
				48C9EA4B0E37863700E691C6 /* InvokeSpecialMessage.cpp in Sources */,
				48C9EA4C0E37863700E691C6 /* LoadJsniMessage.cpp in Sources */,
				45283765103BCCB100153ABF /* CheckVersionsMessage.cpp in Sources */,
				4528376F103BCCDF00153ABF /* ChooseTransportMessage.cpp in Sources */,
				45283770103BCCDF00153ABF /* FatalErrorMessage.cpp in Sources */,
				45283771103BCCDF00153ABF /* ProtocolVersionMessage.cpp in Sources */,
				45283772103BCCDF00153ABF /* SwitchTransportMessage.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		48547E070DD8821D0047AC8A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8D5B49AC048680CD000E48DA /* gwt-dev */;
			targetProxy = 48547E060DD8821D0047AC8A /* PBXContainerItemProxy */;
		};
		485CD0C50DDDED1700AEE666 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 48547E030DD882170047AC8A /* symlinks */;
			targetProxy = 485CD0C40DDDED1700AEE666 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				089C167EFE841241C02AAC07 /* English */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
		486DA8F40DD22BD50065980B /* crash.html */ = {
			isa = PBXVariantGroup;
			children = (
				486DA8ED0DD22B850065980B /* English */,
			);
			name = crash.html;
			path = Plugin;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		1DEB913B08733D840010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)/GTM/build/TigerOrLater-Release\"";
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_MODEL_TUNING = G5;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = oophm_Prefix.pch;
				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
				GCC_WARN_PEDANTIC = NO;
				INFOPLIST_FILE = Info.plist;
				INSTALL_PATH = "$(HOME)/Library/Bundles";
				PRODUCT_NAME = "${PluginShortName}";
				WRAPPER_EXTENSION = webplugin;
				ZERO_LINK = YES;
			};
			name = Debug;
		};
		1DEB913C08733D840010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				FRAMEWORK_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/GTM/build/TigerOrLater-Release\"";
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				GCC_MODEL_TUNING = G5;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = oophm_Prefix.pch;
				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO;
				GCC_WARN_PEDANTIC = NO;
				INFOPLIST_FILE = Info.plist;
				INSTALL_PATH = "$(HOME)/Library/Bundles";
				PRODUCT_NAME = "${PluginShortName}";
				STRIP_INSTALLED_PRODUCT = YES;
				STRIP_STYLE = "non-global";
				WRAPPER_EXTENSION = webplugin;
			};
			name = Release;
		};
		1DEB913F08733D840010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = "GWT_DEBUGLEVEL=Debugging";
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				OTHER_CFLAGS = "-mmacosx-version-min=10.5";
				PREBINDING = NO;
				PluginShortName = "gwt-dev";
				SDKROOT = macosx10.5;
				STRIP_INSTALLED_PRODUCT = NO;
				STRIP_STYLE = "non-global";
				SYMROOT = build;
			};
			name = Debug;
		};
		1DEB914008733D840010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_OPTIMIZATION_LEVEL = 3;
				GCC_PREPROCESSOR_DEFINITIONS = GWT_DEBUGDISABLE;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				OTHER_CFLAGS = "-mmacosx-version-min=10.5";
				PREBINDING = NO;
				PluginShortName = "gwt-dev";
				SDKROOT = macosx10.5;
				STRIP_STYLE = "non-global";
				SYMROOT = build;
			};
			name = Release;
		};
		48547E040DD882170047AC8A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				PRODUCT_NAME = "${PluginShortName}.symlinks";
			};
			name = Debug;
		};
		48547E050DD882170047AC8A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_ENABLE_FIX_AND_CONTINUE = NO;
				PRODUCT_NAME = "${PluginShortName}.symlinks";
				ZERO_LINK = NO;
			};
			name = Release;
		};
		48A23BA50DD0E5B5004EF5CA /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_MODEL_TUNING = G5;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = oophm_Prefix.pch;
				INFOPLIST_FILE = "Browser/Browser-Info.plist";
				INSTALL_PATH = "$(HOME)/Applications";
				OTHER_LDFLAGS = (
					"-framework",
					Foundation,
					"-framework",
					AppKit,
				);
				PREBINDING = NO;
				PRODUCT_NAME = Browser;
				WRAPPER_EXTENSION = app;
				ZERO_LINK = YES;
			};
			name = Debug;
		};
		48A23BA60DD0E5B5004EF5CA /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = (
					i386,
					ppc,
				);
				COPY_PHASE_STRIP = YES;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				GCC_ENABLE_FIX_AND_CONTINUE = NO;
				GCC_MODEL_TUNING = G5;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = oophm_Prefix.pch;
				INFOPLIST_FILE = "Browser/Browser-Info.plist";
				INSTALL_PATH = "$(HOME)/Applications";
				OTHER_LDFLAGS = (
					"-framework",
					Foundation,
					"-framework",
					AppKit,
				);
				PREBINDING = NO;
				PRODUCT_NAME = Browser;
				STRIP_INSTALLED_PRODUCT = YES;
				STRIP_STYLE = "non-global";
				VALID_ARCHS = "ppc64 ppc7400 ppc970 i386 x86_64 ppc";
				WRAPPER_EXTENSION = app;
				ZERO_LINK = NO;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1DEB913A08733D840010E9CD /* Build configuration list for PBXNativeTarget "gwt-dev" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB913B08733D840010E9CD /* Debug */,
				1DEB913C08733D840010E9CD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		1DEB913E08733D840010E9CD /* Build configuration list for PBXProject "oophm" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB913F08733D840010E9CD /* Debug */,
				1DEB914008733D840010E9CD /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		48547E080DD8823B0047AC8A /* Build configuration list for PBXAggregateTarget "symlinks" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				48547E040DD882170047AC8A /* Debug */,
				48547E050DD882170047AC8A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		48A23BA70DD0E5B5004EF5CA /* Build configuration list for PBXNativeTarget "Browser" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				48A23BA50DD0E5B5004EF5CA /* Debug */,
				48A23BA60DD0E5B5004EF5CA /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}
