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

/* Begin PBXBuildFile section */
		091DDCE71A7859B800F840C3 /* CRSessionControllerReachabilityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 091DDCE61A7859B800F840C3 /* CRSessionControllerReachabilityTests.m */; };
		09C21A4C1A65BFB50037A886 /* CRSessionControllerDelegateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 09C21A4B1A65BFB50037A886 /* CRSessionControllerDelegateTests.m */; };
		09FFE98A1ACB73B1002A6A32 /* CRSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 09FFE9891ACB73B1002A6A32 /* CRSessionDelegate.m */; };
		345E01F400FE40740A733605 /* libPods-Courier.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3359CC05E7F1B8DF244A8D2E /* libPods-Courier.a */; };
		8815655B18A0807D00E54D82 /* CourierLog.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8815655A18A0803400E54D82 /* CourierLog.h */; };
		8831EB8317A205B800B6E1D7 /* NSMutableURLRequest+Courier.m in Sources */ = {isa = PBXBuildFile; fileRef = 8831EB8117A205B800B6E1D7 /* NSMutableURLRequest+Courier.m */; };
		888360651889AC7C004322BA /* CRSessionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 888360641889AC7C004322BA /* CRSessionControllerTests.m */; };
		888360791889F0DA004322BA /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB9DEFAF1573F9ED00E05274 /* UIKit.framework */; };
		889B8974188477A90099C1A3 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB487DBE17C019D400D189D3 /* XCTest.framework */; };
		889B8975188477A90099C1A3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB64C482144F4BCD003D766A /* Foundation.framework */; };
		889B8976188477A90099C1A3 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB9DEFAF1573F9ED00E05274 /* UIKit.framework */; };
		889B897C188477A90099C1A3 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 889B897A188477A90099C1A3 /* InfoPlist.strings */; };
		889B8986188477E10099C1A3 /* NSDictionaryCourierTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 889B8985188477E10099C1A3 /* NSDictionaryCourierTests.m */; };
		889B8987188479680099C1A3 /* libCourier.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DB64C47F144F4BCD003D766A /* libCourier.a */; };
		889B8988188479840099C1A3 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB3A04B4160A7E4D00B833CA /* SystemConfiguration.framework */; };
		889B898A1884A3400099C1A3 /* NSStringCourierTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 889B89891884A3400099C1A3 /* NSStringCourierTests.m */; };
		889B89931884A9E20099C1A3 /* NSMutableURLRequestCourierTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 889B89921884A9E20099C1A3 /* NSMutableURLRequestCourierTests.m */; };
		889B89951884B73C0099C1A3 /* CRTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 889B89941884B73C0099C1A3 /* CRTestCase.m */; };
		889B89981884BA7C0099C1A3 /* NSURLResponseCourierTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 889B89971884BA7C0099C1A3 /* NSURLResponseCourierTests.m */; };
		889B8B101889ABC10099C1A3 /* Courier.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBA2A87117EF9A7B005E2D9F /* Courier.h */; };
		889B8B111889ABC10099C1A3 /* CRSessionController.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBA2A86917EF8D67005E2D9F /* CRSessionController.h */; };
		889B8B121889ABC10099C1A3 /* NSDictionary+Courier.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBC30B5816E047D600C795BA /* NSDictionary+Courier.h */; };
		889B8B131889ABC10099C1A3 /* NSMutableURLRequest+Courier.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 8831EB8017A205B800B6E1D7 /* NSMutableURLRequest+Courier.h */; };
		889B8B141889ABC10099C1A3 /* NSString+Courier.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB83D103144F9BC400D94890 /* NSString+Courier.h */; };
		889B8B151889ABC10099C1A3 /* NSURLResponse+Courier.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB2FC63617D291DA00EDF9F0 /* NSURLResponse+Courier.h */; };
		8B139EE619DE0AED00513819 /* CRAsyncTestHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B139EE519DE0AED00513819 /* CRAsyncTestHelpers.m */; };
		D17BE5CDA0931A4A6FDB1D19 /* libPods-CourierTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0ACB06113518CDDEB9B6D4D8 /* libPods-CourierTests.a */; };
		DB2FC63917D291DA00EDF9F0 /* NSURLResponse+Courier.m in Sources */ = {isa = PBXBuildFile; fileRef = DB2FC63717D291DA00EDF9F0 /* NSURLResponse+Courier.m */; };
		DB3A04B5160A7E4D00B833CA /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB3A04B4160A7E4D00B833CA /* SystemConfiguration.framework */; };
		DB64C483144F4BCD003D766A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB64C482144F4BCD003D766A /* Foundation.framework */; };
		DB83D106144F9BC400D94890 /* NSString+Courier.m in Sources */ = {isa = PBXBuildFile; fileRef = DB83D104144F9BC400D94890 /* NSString+Courier.m */; };
		DBA2A86C17EF8D67005E2D9F /* CRSessionController.m in Sources */ = {isa = PBXBuildFile; fileRef = DBA2A86A17EF8D67005E2D9F /* CRSessionController.m */; };
		DBC30B5B16E047D600C795BA /* NSDictionary+Courier.m in Sources */ = {isa = PBXBuildFile; fileRef = DBC30B5916E047D600C795BA /* NSDictionary+Courier.m */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		889B8980188477A90099C1A3 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = DB64C474144F4BB0003D766A /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = DB64C47E144F4BCD003D766A;
			remoteInfo = Courier;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		889B8B0F1889AB9D0099C1A3 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "include/$(PRODUCT_NAME)";
			dstSubfolderSpec = 16;
			files = (
				8815655B18A0807D00E54D82 /* CourierLog.h in CopyFiles */,
				889B8B101889ABC10099C1A3 /* Courier.h in CopyFiles */,
				889B8B111889ABC10099C1A3 /* CRSessionController.h in CopyFiles */,
				889B8B121889ABC10099C1A3 /* NSDictionary+Courier.h in CopyFiles */,
				889B8B131889ABC10099C1A3 /* NSMutableURLRequest+Courier.h in CopyFiles */,
				889B8B141889ABC10099C1A3 /* NSString+Courier.h in CopyFiles */,
				889B8B151889ABC10099C1A3 /* NSURLResponse+Courier.h in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		091DDCE61A7859B800F840C3 /* CRSessionControllerReachabilityTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CRSessionControllerReachabilityTests.m; sourceTree = "<group>"; };
		09C21A4B1A65BFB50037A886 /* CRSessionControllerDelegateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CRSessionControllerDelegateTests.m; sourceTree = "<group>"; };
		09FFE9881ACB73B1002A6A32 /* CRSessionDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CRSessionDelegate.h; sourceTree = "<group>"; };
		09FFE9891ACB73B1002A6A32 /* CRSessionDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CRSessionDelegate.m; sourceTree = "<group>"; };
		0ACB06113518CDDEB9B6D4D8 /* libPods-CourierTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-CourierTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
		3359CC05E7F1B8DF244A8D2E /* libPods-Courier.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Courier.a"; sourceTree = BUILT_PRODUCTS_DIR; };
		3685C0D7C3414538BBE122EE /* Pods-CourierTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CourierTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-CourierTests/Pods-CourierTests.debug.xcconfig"; sourceTree = "<group>"; };
		8815655A18A0803400E54D82 /* CourierLog.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CourierLog.h; sourceTree = "<group>"; };
		8831EB8017A205B800B6E1D7 /* NSMutableURLRequest+Courier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableURLRequest+Courier.h"; sourceTree = "<group>"; };
		8831EB8117A205B800B6E1D7 /* NSMutableURLRequest+Courier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableURLRequest+Courier.m"; sourceTree = "<group>"; };
		888360641889AC7C004322BA /* CRSessionControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CRSessionControllerTests.m; sourceTree = "<group>"; };
		889B8973188477A80099C1A3 /* CourierTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CourierTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		889B8979188477A90099C1A3 /* CourierTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CourierTests-Info.plist"; sourceTree = "<group>"; };
		889B897B188477A90099C1A3 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		889B897F188477A90099C1A3 /* CourierTests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CourierTests-Prefix.pch"; sourceTree = "<group>"; };
		889B8985188477E10099C1A3 /* NSDictionaryCourierTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDictionaryCourierTests.m; sourceTree = "<group>"; };
		889B89891884A3400099C1A3 /* NSStringCourierTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSStringCourierTests.m; sourceTree = "<group>"; };
		889B89921884A9E20099C1A3 /* NSMutableURLRequestCourierTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSMutableURLRequestCourierTests.m; sourceTree = "<group>"; };
		889B89941884B73C0099C1A3 /* CRTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CRTestCase.m; sourceTree = "<group>"; };
		889B89961884B7630099C1A3 /* CRTestCase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CRTestCase.h; sourceTree = "<group>"; };
		889B89971884BA7C0099C1A3 /* NSURLResponseCourierTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSURLResponseCourierTests.m; sourceTree = "<group>"; };
		8B139EE419DE0AED00513819 /* CRAsyncTestHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CRAsyncTestHelpers.h; sourceTree = "<group>"; };
		8B139EE519DE0AED00513819 /* CRAsyncTestHelpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CRAsyncTestHelpers.m; sourceTree = "<group>"; };
		A4AA1841317E4D321AF5B30A /* Pods-Courier.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Courier.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Courier/Pods-Courier.debug.xcconfig"; sourceTree = "<group>"; };
		D7C37F2CB20683FB2C4BEE07 /* Pods-CourierTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CourierTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-CourierTests/Pods-CourierTests.release.xcconfig"; sourceTree = "<group>"; };
		DB2FC63617D291DA00EDF9F0 /* NSURLResponse+Courier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSURLResponse+Courier.h"; sourceTree = "<group>"; };
		DB2FC63717D291DA00EDF9F0 /* NSURLResponse+Courier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSURLResponse+Courier.m"; sourceTree = "<group>"; };
		DB3A04B4160A7E4D00B833CA /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
		DB487DBE17C019D400D189D3 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
		DB64C47F144F4BCD003D766A /* libCourier.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCourier.a; sourceTree = BUILT_PRODUCTS_DIR; };
		DB64C482144F4BCD003D766A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		DB64C486144F4BCD003D766A /* Courier-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Courier-Prefix.pch"; sourceTree = "<group>"; };
		DB83D103144F9BC400D94890 /* NSString+Courier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Courier.h"; sourceTree = "<group>"; };
		DB83D104144F9BC400D94890 /* NSString+Courier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+Courier.m"; sourceTree = "<group>"; };
		DB9DEFAF1573F9ED00E05274 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
		DBA2A86917EF8D67005E2D9F /* CRSessionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = CRSessionController.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		DBA2A86A17EF8D67005E2D9F /* CRSessionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CRSessionController.m; sourceTree = "<group>"; };
		DBA2A87117EF9A7B005E2D9F /* Courier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = Courier.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
		DBC30B5816E047D600C795BA /* NSDictionary+Courier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDictionary+Courier.h"; sourceTree = "<group>"; };
		DBC30B5916E047D600C795BA /* NSDictionary+Courier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+Courier.m"; sourceTree = "<group>"; };
		EF731401BABF443A636FA578 /* Pods-Courier.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Courier.release.xcconfig"; path = "Pods/Target Support Files/Pods-Courier/Pods-Courier.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		889B8970188477A80099C1A3 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				889B8988188479840099C1A3 /* SystemConfiguration.framework in Frameworks */,
				889B8987188479680099C1A3 /* libCourier.a in Frameworks */,
				889B8974188477A90099C1A3 /* XCTest.framework in Frameworks */,
				889B8976188477A90099C1A3 /* UIKit.framework in Frameworks */,
				889B8975188477A90099C1A3 /* Foundation.framework in Frameworks */,
				D17BE5CDA0931A4A6FDB1D19 /* libPods-CourierTests.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		DB64C47C144F4BCD003D766A /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				888360791889F0DA004322BA /* UIKit.framework in Frameworks */,
				DB3A04B5160A7E4D00B833CA /* SystemConfiguration.framework in Frameworks */,
				DB64C483144F4BCD003D766A /* Foundation.framework in Frameworks */,
				345E01F400FE40740A733605 /* libPods-Courier.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		887304FA1940D6A400DE799B /* Helpers */ = {
			isa = PBXGroup;
			children = (
				8B139EE419DE0AED00513819 /* CRAsyncTestHelpers.h */,
				8B139EE519DE0AED00513819 /* CRAsyncTestHelpers.m */,
			);
			name = Helpers;
			sourceTree = "<group>";
		};
		889B8977188477A90099C1A3 /* CourierTests */ = {
			isa = PBXGroup;
			children = (
				09C21A4B1A65BFB50037A886 /* CRSessionControllerDelegateTests.m */,
				091DDCE61A7859B800F840C3 /* CRSessionControllerReachabilityTests.m */,
				888360641889AC7C004322BA /* CRSessionControllerTests.m */,
				889B89961884B7630099C1A3 /* CRTestCase.h */,
				889B89941884B73C0099C1A3 /* CRTestCase.m */,
				887304FA1940D6A400DE799B /* Helpers */,
				889B8985188477E10099C1A3 /* NSDictionaryCourierTests.m */,
				889B89921884A9E20099C1A3 /* NSMutableURLRequestCourierTests.m */,
				889B89891884A3400099C1A3 /* NSStringCourierTests.m */,
				889B89971884BA7C0099C1A3 /* NSURLResponseCourierTests.m */,
				889B8978188477A90099C1A3 /* Supporting Files */,
			);
			path = CourierTests;
			sourceTree = "<group>";
		};
		889B8978188477A90099C1A3 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				889B8979188477A90099C1A3 /* CourierTests-Info.plist */,
				889B897A188477A90099C1A3 /* InfoPlist.strings */,
				889B897F188477A90099C1A3 /* CourierTests-Prefix.pch */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		90F8E56AB6E6B283A4672882 /* Pods */ = {
			isa = PBXGroup;
			children = (
				A4AA1841317E4D321AF5B30A /* Pods-Courier.debug.xcconfig */,
				EF731401BABF443A636FA578 /* Pods-Courier.release.xcconfig */,
				3685C0D7C3414538BBE122EE /* Pods-CourierTests.debug.xcconfig */,
				D7C37F2CB20683FB2C4BEE07 /* Pods-CourierTests.release.xcconfig */,
			);
			name = Pods;
			sourceTree = "<group>";
		};
		DB64C472144F4BB0003D766A = {
			isa = PBXGroup;
			children = (
				DB64C484144F4BCD003D766A /* Courier */,
				889B8977188477A90099C1A3 /* CourierTests */,
				DB64C481144F4BCD003D766A /* Frameworks */,
				DB64C480144F4BCD003D766A /* Products */,
				90F8E56AB6E6B283A4672882 /* Pods */,
			);
			sourceTree = "<group>";
		};
		DB64C480144F4BCD003D766A /* Products */ = {
			isa = PBXGroup;
			children = (
				DB64C47F144F4BCD003D766A /* libCourier.a */,
				889B8973188477A80099C1A3 /* CourierTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		DB64C481144F4BCD003D766A /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				DB487DBE17C019D400D189D3 /* XCTest.framework */,
				DB3A04B4160A7E4D00B833CA /* SystemConfiguration.framework */,
				DB9DEFAF1573F9ED00E05274 /* UIKit.framework */,
				DB64C482144F4BCD003D766A /* Foundation.framework */,
				3359CC05E7F1B8DF244A8D2E /* libPods-Courier.a */,
				0ACB06113518CDDEB9B6D4D8 /* libPods-CourierTests.a */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		DB64C484144F4BCD003D766A /* Courier */ = {
			isa = PBXGroup;
			children = (
				DBA2A87117EF9A7B005E2D9F /* Courier.h */,
				8815655A18A0803400E54D82 /* CourierLog.h */,
				DBA2A86917EF8D67005E2D9F /* CRSessionController.h */,
				DBA2A86A17EF8D67005E2D9F /* CRSessionController.m */,
				09FFE9881ACB73B1002A6A32 /* CRSessionDelegate.h */,
				09FFE9891ACB73B1002A6A32 /* CRSessionDelegate.m */,
				DBC30B5816E047D600C795BA /* NSDictionary+Courier.h */,
				DBC30B5916E047D600C795BA /* NSDictionary+Courier.m */,
				8831EB8017A205B800B6E1D7 /* NSMutableURLRequest+Courier.h */,
				8831EB8117A205B800B6E1D7 /* NSMutableURLRequest+Courier.m */,
				DB83D103144F9BC400D94890 /* NSString+Courier.h */,
				DB83D104144F9BC400D94890 /* NSString+Courier.m */,
				DB2FC63617D291DA00EDF9F0 /* NSURLResponse+Courier.h */,
				DB2FC63717D291DA00EDF9F0 /* NSURLResponse+Courier.m */,
				DB64C485144F4BCD003D766A /* Supporting Files */,
			);
			path = Courier;
			sourceTree = "<group>";
		};
		DB64C485144F4BCD003D766A /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				DB64C486144F4BCD003D766A /* Courier-Prefix.pch */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		889B8972188477A80099C1A3 /* CourierTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 889B8982188477A90099C1A3 /* Build configuration list for PBXNativeTarget "CourierTests" */;
			buildPhases = (
				7475F0FD68E8A304B099446E /* Check Pods Manifest.lock */,
				889B896F188477A80099C1A3 /* Sources */,
				889B8970188477A80099C1A3 /* Frameworks */,
				889B8971188477A80099C1A3 /* Resources */,
				41B41366D6ED7D866DB0F09C /* Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
				889B8981188477A90099C1A3 /* PBXTargetDependency */,
			);
			name = CourierTests;
			productName = CourierTests;
			productReference = 889B8973188477A80099C1A3 /* CourierTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		DB64C47E144F4BCD003D766A /* Courier */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DB64C4A1144F4BCD003D766A /* Build configuration list for PBXNativeTarget "Courier" */;
			buildPhases = (
				72927E23A067C335828E5663 /* Check Pods Manifest.lock */,
				DB64C47B144F4BCD003D766A /* Sources */,
				DB64C47C144F4BCD003D766A /* Frameworks */,
				889B8B0F1889AB9D0099C1A3 /* CopyFiles */,
				0A4BAF728059F091E607BA78 /* Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Courier;
			productName = Courier;
			productReference = DB64C47F144F4BCD003D766A /* libCourier.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		DB64C474144F4BB0003D766A /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0510;
				ORGANIZATIONNAME = "Andrew B. Smith";
				TargetAttributes = {
					889B8972188477A80099C1A3 = {
						TestTargetID = DB64C47E144F4BCD003D766A;
					};
				};
			};
			buildConfigurationList = DB64C477144F4BB0003D766A /* Build configuration list for PBXProject "Courier" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = DB64C472144F4BB0003D766A;
			productRefGroup = DB64C480144F4BCD003D766A /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				DB64C47E144F4BCD003D766A /* Courier */,
				889B8972188477A80099C1A3 /* CourierTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		889B8971188477A80099C1A3 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				889B897C188477A90099C1A3 /* InfoPlist.strings in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		0A4BAF728059F091E607BA78 /* Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Courier/Pods-Courier-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		41B41366D6ED7D866DB0F09C /* Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CourierTests/Pods-CourierTests-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		72927E23A067C335828E5663 /* Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Check Pods Manifest.lock";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n    cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n    exit 1\nfi\n";
			showEnvVarsInLog = 0;
		};
		7475F0FD68E8A304B099446E /* Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Check Pods Manifest.lock";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n    cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n    exit 1\nfi\n";
			showEnvVarsInLog = 0;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		889B896F188477A80099C1A3 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				889B89981884BA7C0099C1A3 /* NSURLResponseCourierTests.m in Sources */,
				888360651889AC7C004322BA /* CRSessionControllerTests.m in Sources */,
				09C21A4C1A65BFB50037A886 /* CRSessionControllerDelegateTests.m in Sources */,
				889B89951884B73C0099C1A3 /* CRTestCase.m in Sources */,
				889B89931884A9E20099C1A3 /* NSMutableURLRequestCourierTests.m in Sources */,
				8B139EE619DE0AED00513819 /* CRAsyncTestHelpers.m in Sources */,
				889B8986188477E10099C1A3 /* NSDictionaryCourierTests.m in Sources */,
				889B898A1884A3400099C1A3 /* NSStringCourierTests.m in Sources */,
				091DDCE71A7859B800F840C3 /* CRSessionControllerReachabilityTests.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		DB64C47B144F4BCD003D766A /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				DBA2A86C17EF8D67005E2D9F /* CRSessionController.m in Sources */,
				DB83D106144F9BC400D94890 /* NSString+Courier.m in Sources */,
				09FFE98A1ACB73B1002A6A32 /* CRSessionDelegate.m in Sources */,
				DB2FC63917D291DA00EDF9F0 /* NSURLResponse+Courier.m in Sources */,
				DBC30B5B16E047D600C795BA /* NSDictionary+Courier.m in Sources */,
				8831EB8317A205B800B6E1D7 /* NSMutableURLRequest+Courier.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		889B8981188477A90099C1A3 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = DB64C47E144F4BCD003D766A /* Courier */;
			targetProxy = 889B8980188477A90099C1A3 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		889B897A188477A90099C1A3 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				889B897B188477A90099C1A3 /* en */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		889B8983188477A90099C1A3 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 3685C0D7C3414538BBE122EE /* Pods-CourierTests.debug.xcconfig */;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_GENERATE_TEST_COVERAGE_FILES = YES;
				GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "CourierTests/CourierTests-Prefix.pch";
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = "CourierTests/CourierTests-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = xctest;
			};
			name = Debug;
		};
		889B8984188477A90099C1A3 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D7C37F2CB20683FB2C4BEE07 /* Pods-CourierTests.release.xcconfig */;
			buildSettings = {
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				ENABLE_NS_ASSERTIONS = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "CourierTests/CourierTests-Prefix.pch";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = "CourierTests/CourierTests-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				VALIDATE_PRODUCT = YES;
				WRAPPER_EXTENSION = xctest;
			};
			name = Release;
		};
		DB64C479144F4BB0003D766A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_LDFLAGS = "-ObjC";
				SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES;
				SDKROOT = iphoneos;
			};
			name = Debug;
		};
		DB64C47A144F4BB0003D766A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				IPHONEOS_DEPLOYMENT_TARGET = 7.0;
				OTHER_LDFLAGS = "-ObjC";
				SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = YES;
				SDKROOT = iphoneos;
			};
			name = Release;
		};
		DB64C4A2144F4BCD003D766A /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A4AA1841317E4D321AF5B30A /* Pods-Courier.debug.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_ARC = YES;
				COPY_PHASE_STRIP = NO;
				DSTROOT = /tmp/Courier.dst;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_GENERATE_TEST_COVERAGE_FILES = YES;
				GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "Courier/Courier-Prefix.pch";
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = iphoneos;
				SKIP_INSTALL = YES;
			};
			name = Debug;
		};
		DB64C4A3144F4BCD003D766A /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = EF731401BABF443A636FA578 /* Pods-Courier.release.xcconfig */;
			buildSettings = {
				CLANG_ENABLE_OBJC_ARC = YES;
				COPY_PHASE_STRIP = YES;
				DSTROOT = /tmp/Courier.dst;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "Courier/Courier-Prefix.pch";
				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = iphoneos;
				SKIP_INSTALL = YES;
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		889B8982188477A90099C1A3 /* Build configuration list for PBXNativeTarget "CourierTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				889B8983188477A90099C1A3 /* Debug */,
				889B8984188477A90099C1A3 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		DB64C477144F4BB0003D766A /* Build configuration list for PBXProject "Courier" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				DB64C479144F4BB0003D766A /* Debug */,
				DB64C47A144F4BB0003D766A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		DB64C4A1144F4BCD003D766A /* Build configuration list for PBXNativeTarget "Courier" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				DB64C4A2144F4BCD003D766A /* Debug */,
				DB64C4A3144F4BCD003D766A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = DB64C474144F4BB0003D766A /* Project object */;
}
