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

/* Begin PBXBuildFile section */
		1D3623260D0F684500981E51 /* WebServerIPhoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* WebServerIPhoneAppDelegate.m */; };
		1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
		1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
		1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
		288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
		2899E5220DE3E06400AC0155 /* WebServerIPhoneViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* WebServerIPhoneViewController.xib */; };
		28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };
		28D7ACF80DDB3853001CB0EB /* WebServerIPhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* WebServerIPhoneViewController.m */; };
		DC588A1F158DF014007AFCFC /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC588A1E158DF014007AFCFC /* Security.framework */; };
		DC987C90119294FD0020FF52 /* MyHTTPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = DC987C8B119294FD0020FF52 /* MyHTTPConnection.m */; };
		DC987C92119294FD0020FF52 /* WebSocketLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DC987C8F119294FD0020FF52 /* WebSocketLogger.m */; };
		DC987C96119295650020FF52 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC987C95119295650020FF52 /* CFNetwork.framework */; };
		DC987CC4119296760020FF52 /* Web in Resources */ = {isa = PBXBuildFile; fileRef = DC987CBE119296760020FF52 /* Web */; };
		DCA67D98146B4D7D003411EE /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67D89146B4D7D003411EE /* DDAbstractDatabaseLogger.m */; };
		DCA67D99146B4D7D003411EE /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67D8B146B4D7D003411EE /* DDASLLogger.m */; };
		DCA67D9A146B4D7D003411EE /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67D8D146B4D7D003411EE /* DDFileLogger.m */; };
		DCA67D9B146B4D7D003411EE /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67D8F146B4D7D003411EE /* DDLog.m */; };
		DCA67D9C146B4D7D003411EE /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67D91146B4D7D003411EE /* DDTTYLogger.m */; };
		DCA67D9D146B4D7D003411EE /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67D94146B4D7D003411EE /* DDContextFilterLogFormatter.m */; };
		DCA67D9E146B4D7D003411EE /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67D96146B4D7D003411EE /* DDDispatchQueueLogFormatter.m */; };
		DCA67D9F146B4D7D003411EE /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = DCA67D97146B4D7D003411EE /* README.txt */; };
		DCA67DBF146B4DB4003411EE /* DDData.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DA3146B4DB4003411EE /* DDData.m */; };
		DCA67DC0146B4DB4003411EE /* DDNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DA5146B4DB4003411EE /* DDNumber.m */; };
		DCA67DC1146B4DB4003411EE /* DDRange.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DA7146B4DB4003411EE /* DDRange.m */; };
		DCA67DC2146B4DB4003411EE /* HTTPAuthenticationRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DA9146B4DB4003411EE /* HTTPAuthenticationRequest.m */; };
		DCA67DC3146B4DB4003411EE /* HTTPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DAB146B4DB4003411EE /* HTTPConnection.m */; };
		DCA67DC4146B4DB4003411EE /* HTTPMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DAE146B4DB4003411EE /* HTTPMessage.m */; };
		DCA67DC5146B4DB4003411EE /* HTTPServer.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DB1146B4DB4003411EE /* HTTPServer.m */; };
		DCA67DC6146B4DB4003411EE /* HTTPAsyncFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DB4146B4DB4003411EE /* HTTPAsyncFileResponse.m */; };
		DCA67DC7146B4DB4003411EE /* HTTPDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DB6146B4DB4003411EE /* HTTPDataResponse.m */; };
		DCA67DC8146B4DB4003411EE /* HTTPDynamicFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DB8146B4DB4003411EE /* HTTPDynamicFileResponse.m */; };
		DCA67DC9146B4DB4003411EE /* HTTPFileResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DBA146B4DB4003411EE /* HTTPFileResponse.m */; };
		DCA67DCA146B4DB4003411EE /* HTTPRedirectResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DBC146B4DB4003411EE /* HTTPRedirectResponse.m */; };
		DCA67DCB146B4DB4003411EE /* WebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DBE146B4DB4003411EE /* WebSocket.m */; };
		DCA67DCF146B4E3C003411EE /* GCDAsyncSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = DCA67DCE146B4E3C003411EE /* GCDAsyncSocket.m */; };
		DCD6EAD016FFC50000710668 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DCD6EACF16FFC50000710668 /* Default-568h@2x.png */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		1D3623240D0F684500981E51 /* WebServerIPhoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebServerIPhoneAppDelegate.h; sourceTree = "<group>"; };
		1D3623250D0F684500981E51 /* WebServerIPhoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebServerIPhoneAppDelegate.m; sourceTree = "<group>"; };
		1D6058910D05DD3D006BFB54 /* WebServerIPhone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WebServerIPhone.app; sourceTree = BUILT_PRODUCTS_DIR; };
		1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
		288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
		2899E5210DE3E06400AC0155 /* WebServerIPhoneViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = WebServerIPhoneViewController.xib; sourceTree = "<group>"; };
		28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
		28D7ACF60DDB3853001CB0EB /* WebServerIPhoneViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebServerIPhoneViewController.h; sourceTree = "<group>"; };
		28D7ACF70DDB3853001CB0EB /* WebServerIPhoneViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebServerIPhoneViewController.m; sourceTree = "<group>"; };
		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		32CA4F630368D1EE00C91783 /* WebServerIPhone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebServerIPhone_Prefix.pch; sourceTree = "<group>"; };
		8D1107310486CEB800E47090 /* WebServerIPhone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "WebServerIPhone-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
		DC588A1E158DF014007AFCFC /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
		DC987C8A119294FD0020FF52 /* MyHTTPConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MyHTTPConnection.h; path = Classes/MyHTTPConnection.h; sourceTree = "<group>"; };
		DC987C8B119294FD0020FF52 /* MyHTTPConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MyHTTPConnection.m; path = Classes/MyHTTPConnection.m; sourceTree = "<group>"; };
		DC987C8E119294FD0020FF52 /* WebSocketLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebSocketLogger.h; path = Classes/WebSocketLogger.h; sourceTree = "<group>"; };
		DC987C8F119294FD0020FF52 /* WebSocketLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WebSocketLogger.m; path = Classes/WebSocketLogger.m; sourceTree = "<group>"; };
		DC987C95119295650020FF52 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; };
		DC987CBE119296760020FF52 /* Web */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Web; sourceTree = "<group>"; };
		DCA67D88146B4D7D003411EE /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = ../../Lumberjack/DDAbstractDatabaseLogger.h; sourceTree = "<group>"; };
		DCA67D89146B4D7D003411EE /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = ../../Lumberjack/DDAbstractDatabaseLogger.m; sourceTree = "<group>"; };
		DCA67D8A146B4D7D003411EE /* DDASLLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = ../../Lumberjack/DDASLLogger.h; sourceTree = "<group>"; };
		DCA67D8B146B4D7D003411EE /* DDASLLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = ../../Lumberjack/DDASLLogger.m; sourceTree = "<group>"; };
		DCA67D8C146B4D7D003411EE /* DDFileLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = ../../Lumberjack/DDFileLogger.h; sourceTree = "<group>"; };
		DCA67D8D146B4D7D003411EE /* DDFileLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = ../../Lumberjack/DDFileLogger.m; sourceTree = "<group>"; };
		DCA67D8E146B4D7D003411EE /* DDLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = ../../Lumberjack/DDLog.h; sourceTree = "<group>"; };
		DCA67D8F146B4D7D003411EE /* DDLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = ../../Lumberjack/DDLog.m; sourceTree = "<group>"; };
		DCA67D90146B4D7D003411EE /* DDTTYLogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = ../../Lumberjack/DDTTYLogger.h; sourceTree = "<group>"; };
		DCA67D91146B4D7D003411EE /* DDTTYLogger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = ../../Lumberjack/DDTTYLogger.m; sourceTree = "<group>"; };
		DCA67D93146B4D7D003411EE /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDContextFilterLogFormatter.h; sourceTree = "<group>"; };
		DCA67D94146B4D7D003411EE /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDContextFilterLogFormatter.m; sourceTree = "<group>"; };
		DCA67D95146B4D7D003411EE /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDDispatchQueueLogFormatter.h; sourceTree = "<group>"; };
		DCA67D96146B4D7D003411EE /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDDispatchQueueLogFormatter.m; sourceTree = "<group>"; };
		DCA67D97146B4D7D003411EE /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = "<group>"; };
		DCA67DA2146B4DB4003411EE /* DDData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDData.h; sourceTree = "<group>"; };
		DCA67DA3146B4DB4003411EE /* DDData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDData.m; sourceTree = "<group>"; };
		DCA67DA4146B4DB4003411EE /* DDNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDNumber.h; sourceTree = "<group>"; };
		DCA67DA5146B4DB4003411EE /* DDNumber.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDNumber.m; sourceTree = "<group>"; };
		DCA67DA6146B4DB4003411EE /* DDRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DDRange.h; sourceTree = "<group>"; };
		DCA67DA7146B4DB4003411EE /* DDRange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DDRange.m; sourceTree = "<group>"; };
		DCA67DA8146B4DB4003411EE /* HTTPAuthenticationRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPAuthenticationRequest.h; sourceTree = "<group>"; };
		DCA67DA9146B4DB4003411EE /* HTTPAuthenticationRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPAuthenticationRequest.m; sourceTree = "<group>"; };
		DCA67DAA146B4DB4003411EE /* HTTPConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPConnection.h; sourceTree = "<group>"; };
		DCA67DAB146B4DB4003411EE /* HTTPConnection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPConnection.m; sourceTree = "<group>"; };
		DCA67DAC146B4DB4003411EE /* HTTPLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPLogging.h; sourceTree = "<group>"; };
		DCA67DAD146B4DB4003411EE /* HTTPMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPMessage.h; sourceTree = "<group>"; };
		DCA67DAE146B4DB4003411EE /* HTTPMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPMessage.m; sourceTree = "<group>"; };
		DCA67DAF146B4DB4003411EE /* HTTPResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPResponse.h; sourceTree = "<group>"; };
		DCA67DB0146B4DB4003411EE /* HTTPServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPServer.h; sourceTree = "<group>"; };
		DCA67DB1146B4DB4003411EE /* HTTPServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPServer.m; sourceTree = "<group>"; };
		DCA67DB3146B4DB4003411EE /* HTTPAsyncFileResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPAsyncFileResponse.h; sourceTree = "<group>"; };
		DCA67DB4146B4DB4003411EE /* HTTPAsyncFileResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPAsyncFileResponse.m; sourceTree = "<group>"; };
		DCA67DB5146B4DB4003411EE /* HTTPDataResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPDataResponse.h; sourceTree = "<group>"; };
		DCA67DB6146B4DB4003411EE /* HTTPDataResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPDataResponse.m; sourceTree = "<group>"; };
		DCA67DB7146B4DB4003411EE /* HTTPDynamicFileResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPDynamicFileResponse.h; sourceTree = "<group>"; };
		DCA67DB8146B4DB4003411EE /* HTTPDynamicFileResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPDynamicFileResponse.m; sourceTree = "<group>"; };
		DCA67DB9146B4DB4003411EE /* HTTPFileResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPFileResponse.h; sourceTree = "<group>"; };
		DCA67DBA146B4DB4003411EE /* HTTPFileResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPFileResponse.m; sourceTree = "<group>"; };
		DCA67DBB146B4DB4003411EE /* HTTPRedirectResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTTPRedirectResponse.h; sourceTree = "<group>"; };
		DCA67DBC146B4DB4003411EE /* HTTPRedirectResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HTTPRedirectResponse.m; sourceTree = "<group>"; };
		DCA67DBD146B4DB4003411EE /* WebSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSocket.h; sourceTree = "<group>"; };
		DCA67DBE146B4DB4003411EE /* WebSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebSocket.m; sourceTree = "<group>"; };
		DCA67DCD146B4E3C003411EE /* GCDAsyncSocket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCDAsyncSocket.h; sourceTree = "<group>"; };
		DCA67DCE146B4E3C003411EE /* GCDAsyncSocket.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GCDAsyncSocket.m; sourceTree = "<group>"; };
		DCD6EACF16FFC50000710668 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				DC588A1F158DF014007AFCFC /* Security.framework in Frameworks */,
				1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
				1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */,
				288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */,
				DC987C96119295650020FF52 /* CFNetwork.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		080E96DDFE201D6D7F000001 /* Classes */ = {
			isa = PBXGroup;
			children = (
				1D3623240D0F684500981E51 /* WebServerIPhoneAppDelegate.h */,
				1D3623250D0F684500981E51 /* WebServerIPhoneAppDelegate.m */,
				28D7ACF60DDB3853001CB0EB /* WebServerIPhoneViewController.h */,
				28D7ACF70DDB3853001CB0EB /* WebServerIPhoneViewController.m */,
			);
			path = Classes;
			sourceTree = "<group>";
		};
		19C28FACFE9D520D11CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				1D6058910D05DD3D006BFB54 /* WebServerIPhone.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
			isa = PBXGroup;
			children = (
				DCD6EACF16FFC50000710668 /* Default-568h@2x.png */,
				DCA67D87146B4D70003411EE /* Logging */,
				DCA67DCC146B4E3C003411EE /* CocoaAsyncSocket */,
				DCA67DA0146B4DB4003411EE /* CocoaHTTPServer */,
				DC987C89119294E10020FF52 /* MyHTTP */,
				080E96DDFE201D6D7F000001 /* Classes */,
				29B97315FDCFA39411CA2CEA /* Other Sources */,
				29B97317FDCFA39411CA2CEA /* Resources */,
				29B97323FDCFA39411CA2CEA /* Frameworks */,
				19C28FACFE9D520D11CA2CBB /* Products */,
			);
			name = CustomTemplate;
			sourceTree = "<group>";
		};
		29B97315FDCFA39411CA2CEA /* Other Sources */ = {
			isa = PBXGroup;
			children = (
				32CA4F630368D1EE00C91783 /* WebServerIPhone_Prefix.pch */,
				29B97316FDCFA39411CA2CEA /* main.m */,
			);
			name = "Other Sources";
			sourceTree = "<group>";
		};
		29B97317FDCFA39411CA2CEA /* Resources */ = {
			isa = PBXGroup;
			children = (
				DC987CBE119296760020FF52 /* Web */,
				2899E5210DE3E06400AC0155 /* WebServerIPhoneViewController.xib */,
				28AD733E0D9D9553002E5188 /* MainWindow.xib */,
				8D1107310486CEB800E47090 /* WebServerIPhone-Info.plist */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		29B97323FDCFA39411CA2CEA /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				1DF5F4DF0D08C38300B7A737 /* UIKit.framework */,
				1D30AB110D05D00D00671497 /* Foundation.framework */,
				288765A40DF7441C002DB57D /* CoreGraphics.framework */,
				DC987C95119295650020FF52 /* CFNetwork.framework */,
				DC588A1E158DF014007AFCFC /* Security.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		DC987C89119294E10020FF52 /* MyHTTP */ = {
			isa = PBXGroup;
			children = (
				DC987C8A119294FD0020FF52 /* MyHTTPConnection.h */,
				DC987C8B119294FD0020FF52 /* MyHTTPConnection.m */,
				DC987C8E119294FD0020FF52 /* WebSocketLogger.h */,
				DC987C8F119294FD0020FF52 /* WebSocketLogger.m */,
			);
			name = MyHTTP;
			sourceTree = "<group>";
		};
		DCA67D87146B4D70003411EE /* Logging */ = {
			isa = PBXGroup;
			children = (
				DCA67D88146B4D7D003411EE /* DDAbstractDatabaseLogger.h */,
				DCA67D89146B4D7D003411EE /* DDAbstractDatabaseLogger.m */,
				DCA67D8A146B4D7D003411EE /* DDASLLogger.h */,
				DCA67D8B146B4D7D003411EE /* DDASLLogger.m */,
				DCA67D8C146B4D7D003411EE /* DDFileLogger.h */,
				DCA67D8D146B4D7D003411EE /* DDFileLogger.m */,
				DCA67D8E146B4D7D003411EE /* DDLog.h */,
				DCA67D8F146B4D7D003411EE /* DDLog.m */,
				DCA67D90146B4D7D003411EE /* DDTTYLogger.h */,
				DCA67D91146B4D7D003411EE /* DDTTYLogger.m */,
				DCA67D92146B4D7D003411EE /* Extensions */,
			);
			name = Logging;
			sourceTree = "<group>";
		};
		DCA67D92146B4D7D003411EE /* Extensions */ = {
			isa = PBXGroup;
			children = (
				DCA67D93146B4D7D003411EE /* DDContextFilterLogFormatter.h */,
				DCA67D94146B4D7D003411EE /* DDContextFilterLogFormatter.m */,
				DCA67D95146B4D7D003411EE /* DDDispatchQueueLogFormatter.h */,
				DCA67D96146B4D7D003411EE /* DDDispatchQueueLogFormatter.m */,
				DCA67D97146B4D7D003411EE /* README.txt */,
			);
			name = Extensions;
			path = ../../Lumberjack/Extensions;
			sourceTree = "<group>";
		};
		DCA67DA0146B4DB4003411EE /* CocoaHTTPServer */ = {
			isa = PBXGroup;
			children = (
				DCA67DA1146B4DB4003411EE /* Categories */,
				DCA67DA8146B4DB4003411EE /* HTTPAuthenticationRequest.h */,
				DCA67DA9146B4DB4003411EE /* HTTPAuthenticationRequest.m */,
				DCA67DAA146B4DB4003411EE /* HTTPConnection.h */,
				DCA67DAB146B4DB4003411EE /* HTTPConnection.m */,
				DCA67DAC146B4DB4003411EE /* HTTPLogging.h */,
				DCA67DAD146B4DB4003411EE /* HTTPMessage.h */,
				DCA67DAE146B4DB4003411EE /* HTTPMessage.m */,
				DCA67DAF146B4DB4003411EE /* HTTPResponse.h */,
				DCA67DB0146B4DB4003411EE /* HTTPServer.h */,
				DCA67DB1146B4DB4003411EE /* HTTPServer.m */,
				DCA67DB2146B4DB4003411EE /* Responses */,
				DCA67DBD146B4DB4003411EE /* WebSocket.h */,
				DCA67DBE146B4DB4003411EE /* WebSocket.m */,
			);
			name = CocoaHTTPServer;
			path = Vendor/CocoaHTTPServer;
			sourceTree = "<group>";
		};
		DCA67DA1146B4DB4003411EE /* Categories */ = {
			isa = PBXGroup;
			children = (
				DCA67DA2146B4DB4003411EE /* DDData.h */,
				DCA67DA3146B4DB4003411EE /* DDData.m */,
				DCA67DA4146B4DB4003411EE /* DDNumber.h */,
				DCA67DA5146B4DB4003411EE /* DDNumber.m */,
				DCA67DA6146B4DB4003411EE /* DDRange.h */,
				DCA67DA7146B4DB4003411EE /* DDRange.m */,
			);
			path = Categories;
			sourceTree = "<group>";
		};
		DCA67DB2146B4DB4003411EE /* Responses */ = {
			isa = PBXGroup;
			children = (
				DCA67DB3146B4DB4003411EE /* HTTPAsyncFileResponse.h */,
				DCA67DB4146B4DB4003411EE /* HTTPAsyncFileResponse.m */,
				DCA67DB5146B4DB4003411EE /* HTTPDataResponse.h */,
				DCA67DB6146B4DB4003411EE /* HTTPDataResponse.m */,
				DCA67DB7146B4DB4003411EE /* HTTPDynamicFileResponse.h */,
				DCA67DB8146B4DB4003411EE /* HTTPDynamicFileResponse.m */,
				DCA67DB9146B4DB4003411EE /* HTTPFileResponse.h */,
				DCA67DBA146B4DB4003411EE /* HTTPFileResponse.m */,
				DCA67DBB146B4DB4003411EE /* HTTPRedirectResponse.h */,
				DCA67DBC146B4DB4003411EE /* HTTPRedirectResponse.m */,
			);
			path = Responses;
			sourceTree = "<group>";
		};
		DCA67DCC146B4E3C003411EE /* CocoaAsyncSocket */ = {
			isa = PBXGroup;
			children = (
				DCA67DCD146B4E3C003411EE /* GCDAsyncSocket.h */,
				DCA67DCE146B4E3C003411EE /* GCDAsyncSocket.m */,
			);
			name = CocoaAsyncSocket;
			path = Vendor/CocoaAsyncSocket;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		1D6058900D05DD3D006BFB54 /* WebServerIPhone */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "WebServerIPhone" */;
			buildPhases = (
				1D60588D0D05DD3D006BFB54 /* Resources */,
				1D60588E0D05DD3D006BFB54 /* Sources */,
				1D60588F0D05DD3D006BFB54 /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = WebServerIPhone;
			productName = WebServerIPhone;
			productReference = 1D6058910D05DD3D006BFB54 /* WebServerIPhone.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		29B97313FDCFA39411CA2CEA /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0500;
			};
			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "WebServerIPhone" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,
			);
			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				1D6058900D05DD3D006BFB54 /* WebServerIPhone */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		1D60588D0D05DD3D006BFB54 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,
				2899E5220DE3E06400AC0155 /* WebServerIPhoneViewController.xib in Resources */,
				DC987CC4119296760020FF52 /* Web in Resources */,
				DCA67D9F146B4D7D003411EE /* README.txt in Resources */,
				DCD6EAD016FFC50000710668 /* Default-568h@2x.png in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		1D60588E0D05DD3D006BFB54 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1D60589B0D05DD56006BFB54 /* main.m in Sources */,
				1D3623260D0F684500981E51 /* WebServerIPhoneAppDelegate.m in Sources */,
				28D7ACF80DDB3853001CB0EB /* WebServerIPhoneViewController.m in Sources */,
				DC987C90119294FD0020FF52 /* MyHTTPConnection.m in Sources */,
				DC987C92119294FD0020FF52 /* WebSocketLogger.m in Sources */,
				DCA67D98146B4D7D003411EE /* DDAbstractDatabaseLogger.m in Sources */,
				DCA67D99146B4D7D003411EE /* DDASLLogger.m in Sources */,
				DCA67D9A146B4D7D003411EE /* DDFileLogger.m in Sources */,
				DCA67D9B146B4D7D003411EE /* DDLog.m in Sources */,
				DCA67D9C146B4D7D003411EE /* DDTTYLogger.m in Sources */,
				DCA67D9D146B4D7D003411EE /* DDContextFilterLogFormatter.m in Sources */,
				DCA67D9E146B4D7D003411EE /* DDDispatchQueueLogFormatter.m in Sources */,
				DCA67DBF146B4DB4003411EE /* DDData.m in Sources */,
				DCA67DC0146B4DB4003411EE /* DDNumber.m in Sources */,
				DCA67DC1146B4DB4003411EE /* DDRange.m in Sources */,
				DCA67DC2146B4DB4003411EE /* HTTPAuthenticationRequest.m in Sources */,
				DCA67DC3146B4DB4003411EE /* HTTPConnection.m in Sources */,
				DCA67DC4146B4DB4003411EE /* HTTPMessage.m in Sources */,
				DCA67DC5146B4DB4003411EE /* HTTPServer.m in Sources */,
				DCA67DC6146B4DB4003411EE /* HTTPAsyncFileResponse.m in Sources */,
				DCA67DC7146B4DB4003411EE /* HTTPDataResponse.m in Sources */,
				DCA67DC8146B4DB4003411EE /* HTTPDynamicFileResponse.m in Sources */,
				DCA67DC9146B4DB4003411EE /* HTTPFileResponse.m in Sources */,
				DCA67DCA146B4DB4003411EE /* HTTPRedirectResponse.m in Sources */,
				DCA67DCB146B4DB4003411EE /* WebSocket.m in Sources */,
				DCA67DCF146B4E3C003411EE /* GCDAsyncSocket.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin XCBuildConfiguration section */
		1D6058940D05DD3E006BFB54 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				COPY_PHASE_STRIP = NO;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = WebServerIPhone_Prefix.pch;
				INFOPLIST_FILE = "WebServerIPhone-Info.plist";
				PRODUCT_NAME = WebServerIPhone;
			};
			name = Debug;
		};
		1D6058950D05DD3E006BFB54 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				COPY_PHASE_STRIP = YES;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = WebServerIPhone_Prefix.pch;
				INFOPLIST_FILE = "WebServerIPhone-Info.plist";
				PRODUCT_NAME = WebServerIPhone;
			};
			name = Release;
		};
		C01FCF4F08A954540054247B /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		C01FCF5008A954540054247B /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				GCC_C_LANGUAGE_STANDARD = c99;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "WebServerIPhone" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1D6058940D05DD3E006BFB54 /* Debug */,
				1D6058950D05DD3E006BFB54 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		C01FCF4E08A954540054247B /* Build configuration list for PBXProject "WebServerIPhone" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				C01FCF4F08A954540054247B /* Debug */,
				C01FCF5008A954540054247B /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}
