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

/* Begin PBXBuildFile section */
		630A21821C49BDD3008BE87F /* AUTH_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5A1BBC528E009D4196 /* AUTH_Tests.swift */; };
		630A21831C49BDDE008BE87F /* ASSET_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F591BBC528E009D4196 /* ASSET_Tests.swift */; };
		630A21841C49BDDE008BE87F /* ClientCreationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5B1BBC528E009D4196 /* ClientCreationTests.swift */; };
		630A21851C49BDDE008BE87F /* CONNECTION_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6343823D1BC2F042008624BE /* CONNECTION_Tests.swift */; };
		630A21861C49BDDE008BE87F /* Entity_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5C1BBC528E009D4196 /* Entity_Tests.swift */; };
		630A21871C49BDDE008BE87F /* GET_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5D1BBC528E009D4196 /* GET_Tests.swift */; };
		630A21891C49BDDE008BE87F /* PUT_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F601BBC528E009D4196 /* PUT_Tests.swift */; };
		630A218A1C49BDDE008BE87F /* User_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F631BBC528E009D4196 /* User_Tests.swift */; };
		630A219A1C49BF13008BE87F /* TestAssets in Resources */ = {isa = PBXBuildFile; fileRef = 63AF0F7D1BBC5692009D4196 /* TestAssets */; };
		630A21A41C49BFFC008BE87F /* UsergridSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 631920451C48436500F99E86 /* UsergridSDK.framework */; };
		630A21AB1C49C011008BE87F /* AUTH_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5A1BBC528E009D4196 /* AUTH_Tests.swift */; };
		630A21AC1C49C011008BE87F /* ClientCreationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5B1BBC528E009D4196 /* ClientCreationTests.swift */; };
		630A21AD1C49C011008BE87F /* CONNECTION_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6343823D1BC2F042008624BE /* CONNECTION_Tests.swift */; };
		630A21AE1C49C011008BE87F /* Entity_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5C1BBC528E009D4196 /* Entity_Tests.swift */; };
		630A21AF1C49C011008BE87F /* GET_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5D1BBC528E009D4196 /* GET_Tests.swift */; };
		630A21B11C49C011008BE87F /* PUT_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F601BBC528E009D4196 /* PUT_Tests.swift */; };
		630A21B21C49C011008BE87F /* User_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F631BBC528E009D4196 /* User_Tests.swift */; };
		630A21B31C49C013008BE87F /* TestAssets in Resources */ = {isa = PBXBuildFile; fileRef = 63AF0F7D1BBC5692009D4196 /* TestAssets */; };
		630A21BD1C49C473008BE87F /* UsergridSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AF0E881BBC38FB009D4196 /* UsergridSDK.framework */; };
		630A21C41C49C4C0008BE87F /* ASSET_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F591BBC528E009D4196 /* ASSET_Tests.swift */; };
		630A21C51C49C4C0008BE87F /* AUTH_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5A1BBC528E009D4196 /* AUTH_Tests.swift */; };
		630A21C61C49C4C0008BE87F /* ClientCreationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5B1BBC528E009D4196 /* ClientCreationTests.swift */; };
		630A21C71C49C4C0008BE87F /* CONNECTION_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6343823D1BC2F042008624BE /* CONNECTION_Tests.swift */; };
		630A21C81C49C4C0008BE87F /* Entity_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5C1BBC528E009D4196 /* Entity_Tests.swift */; };
		630A21C91C49C4C0008BE87F /* GET_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F5D1BBC528E009D4196 /* GET_Tests.swift */; };
		630A21CB1C49C4C0008BE87F /* PUT_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F601BBC528E009D4196 /* PUT_Tests.swift */; };
		630A21CC1C49C4C0008BE87F /* User_Tests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F631BBC528E009D4196 /* User_Tests.swift */; };
		630A21CD1C49C4CC008BE87F /* TestAssets in Resources */ = {isa = PBXBuildFile; fileRef = 63AF0F7D1BBC5692009D4196 /* TestAssets */; };
		6313CA2E1BD80BB9004451EE /* UsergridEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6313CA2D1BD80BB9004451EE /* UsergridEnums.swift */; };
		6319202C1C48436500F99E86 /* UsergridResponseError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63EE60D81C404AB700AFC2CF /* UsergridResponseError.swift */; };
		6319202D1C48436500F99E86 /* UsergridRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63F36F0E1C458AAE00CEEF54 /* UsergridRequest.swift */; };
		6319202E1C48436500F99E86 /* UsergridClientConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6343823F1BC30138008624BE /* UsergridClientConfig.swift */; };
		631920311C48436500F99E86 /* UsergridAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F411BBC4EF6009D4196 /* UsergridAuth.swift */; };
		631920321C48436500F99E86 /* UsergridFileMetaData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A7F2611BC4278200596156 /* UsergridFileMetaData.swift */; };
		631920331C48436500F99E86 /* UsergridDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 636A4BE11BDA8D9E0061000A /* UsergridDevice.swift */; };
		631920341C48436500F99E86 /* UsergridQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F441BBC4EF6009D4196 /* UsergridQuery.swift */; };
		631920361C48436500F99E86 /* UsergridEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F431BBC4EF6009D4196 /* UsergridEntity.swift */; };
		631920381C48436500F99E86 /* UsergridUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F481BBC4EF6009D4196 /* UsergridUser.swift */; };
		631920391C48436500F99E86 /* Usergrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F3F1BBC4EF6009D4196 /* Usergrid.swift */; };
		6319203A1C48436500F99E86 /* UsergridResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F461BBC4EF6009D4196 /* UsergridResponse.swift */; };
		6319203C1C48436500F99E86 /* UsergridEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6313CA2D1BD80BB9004451EE /* UsergridEnums.swift */; };
		6319203D1C48436500F99E86 /* UsergridAsset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F401BBC4EF6009D4196 /* UsergridAsset.swift */; };
		6319203E1C48436500F99E86 /* UsergridClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F421BBC4EF6009D4196 /* UsergridClient.swift */; };
		631920501C49BC0700F99E86 /* UsergridSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63EE610B1C406E1600AFC2CF /* UsergridSDK.framework */; };
		634382401BC30138008624BE /* UsergridClientConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6343823F1BC30138008624BE /* UsergridClientConfig.swift */; };
		636A4BE21BDA8D9E0061000A /* UsergridDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 636A4BE11BDA8D9E0061000A /* UsergridDevice.swift */; };
		639B4BF31C3DD85A005E26E7 /* UsergridSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AF0F471BBC4EF6009D4196 /* UsergridSDK.h */; settings = {ATTRIBUTES = (Public, ); }; };
		639B4BF41C3DD90D005E26E7 /* UsergridAsset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F401BBC4EF6009D4196 /* UsergridAsset.swift */; };
		639B4BF51C3DD915005E26E7 /* UsergridAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F411BBC4EF6009D4196 /* UsergridAuth.swift */; };
		639B4BF61C3DD915005E26E7 /* UsergridDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 636A4BE11BDA8D9E0061000A /* UsergridDevice.swift */; };
		639B4BF71C3DD915005E26E7 /* UsergridEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F431BBC4EF6009D4196 /* UsergridEntity.swift */; };
		639B4BF81C3DD915005E26E7 /* UsergridEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6313CA2D1BD80BB9004451EE /* UsergridEnums.swift */; };
		639B4BF91C3DD915005E26E7 /* UsergridFileMetaData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A7F2611BC4278200596156 /* UsergridFileMetaData.swift */; };
		639B4BFA1C3DD915005E26E7 /* UsergridQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F441BBC4EF6009D4196 /* UsergridQuery.swift */; };
		639B4BFB1C3DD915005E26E7 /* UsergridResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F461BBC4EF6009D4196 /* UsergridResponse.swift */; };
		639B4BFC1C3DD915005E26E7 /* UsergridUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F481BBC4EF6009D4196 /* UsergridUser.swift */; };
		639B4C021C3DD91A005E26E7 /* Usergrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F3F1BBC4EF6009D4196 /* Usergrid.swift */; };
		639B4C031C3DD91A005E26E7 /* UsergridClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F421BBC4EF6009D4196 /* UsergridClient.swift */; };
		639B4C041C3DD91A005E26E7 /* UsergridClientConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6343823F1BC30138008624BE /* UsergridClientConfig.swift */; };
		63A7F2621BC4278200596156 /* UsergridFileMetaData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A7F2611BC4278200596156 /* UsergridFileMetaData.swift */; };
		63AF0F4A1BBC4EF6009D4196 /* Usergrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F3F1BBC4EF6009D4196 /* Usergrid.swift */; };
		63AF0F4B1BBC4EF6009D4196 /* UsergridAsset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F401BBC4EF6009D4196 /* UsergridAsset.swift */; };
		63AF0F4C1BBC4EF6009D4196 /* UsergridAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F411BBC4EF6009D4196 /* UsergridAuth.swift */; };
		63AF0F4D1BBC4EF6009D4196 /* UsergridClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F421BBC4EF6009D4196 /* UsergridClient.swift */; };
		63AF0F4E1BBC4EF6009D4196 /* UsergridEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F431BBC4EF6009D4196 /* UsergridEntity.swift */; };
		63AF0F4F1BBC4EF6009D4196 /* UsergridQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F441BBC4EF6009D4196 /* UsergridQuery.swift */; };
		63AF0F511BBC4EF6009D4196 /* UsergridResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F461BBC4EF6009D4196 /* UsergridResponse.swift */; };
		63AF0F531BBC4EF6009D4196 /* UsergridUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F481BBC4EF6009D4196 /* UsergridUser.swift */; };
		63E7DD2F1C514CA200D84B12 /* UsergridAssetRequestWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2A1C514CA200D84B12 /* UsergridAssetRequestWrapper.swift */; };
		63E7DD301C514CA200D84B12 /* UsergridAssetRequestWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2A1C514CA200D84B12 /* UsergridAssetRequestWrapper.swift */; };
		63E7DD311C514CA200D84B12 /* UsergridAssetRequestWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2A1C514CA200D84B12 /* UsergridAssetRequestWrapper.swift */; };
		63E7DD321C514CA200D84B12 /* UsergridAssetRequestWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2A1C514CA200D84B12 /* UsergridAssetRequestWrapper.swift */; };
		63E7DD331C514CA200D84B12 /* UsergridExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2B1C514CA200D84B12 /* UsergridExtensions.swift */; };
		63E7DD341C514CA200D84B12 /* UsergridExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2B1C514CA200D84B12 /* UsergridExtensions.swift */; };
		63E7DD351C514CA200D84B12 /* UsergridExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2B1C514CA200D84B12 /* UsergridExtensions.swift */; };
		63E7DD361C514CA200D84B12 /* UsergridExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2B1C514CA200D84B12 /* UsergridExtensions.swift */; };
		63E7DD371C514CA200D84B12 /* UsergridKeychainHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2C1C514CA200D84B12 /* UsergridKeychainHelpers.swift */; };
		63E7DD381C514CA200D84B12 /* UsergridKeychainHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2C1C514CA200D84B12 /* UsergridKeychainHelpers.swift */; };
		63E7DD391C514CA200D84B12 /* UsergridKeychainHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2C1C514CA200D84B12 /* UsergridKeychainHelpers.swift */; };
		63E7DD3A1C514CA200D84B12 /* UsergridKeychainHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2C1C514CA200D84B12 /* UsergridKeychainHelpers.swift */; };
		63E7DD3B1C514CA200D84B12 /* UsergridRequestManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2D1C514CA200D84B12 /* UsergridRequestManager.swift */; };
		63E7DD3C1C514CA200D84B12 /* UsergridRequestManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2D1C514CA200D84B12 /* UsergridRequestManager.swift */; };
		63E7DD3D1C514CA200D84B12 /* UsergridRequestManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2D1C514CA200D84B12 /* UsergridRequestManager.swift */; };
		63E7DD3E1C514CA200D84B12 /* UsergridRequestManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2D1C514CA200D84B12 /* UsergridRequestManager.swift */; };
		63E7DD3F1C514CA200D84B12 /* UsergridSessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2E1C514CA200D84B12 /* UsergridSessionDelegate.swift */; };
		63E7DD401C514CA200D84B12 /* UsergridSessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2E1C514CA200D84B12 /* UsergridSessionDelegate.swift */; };
		63E7DD411C514CA200D84B12 /* UsergridSessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2E1C514CA200D84B12 /* UsergridSessionDelegate.swift */; };
		63E7DD421C514CA200D84B12 /* UsergridSessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E7DD2E1C514CA200D84B12 /* UsergridSessionDelegate.swift */; };
		63EE60D91C404AB700AFC2CF /* UsergridResponseError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63EE60D81C404AB700AFC2CF /* UsergridResponseError.swift */; };
		63EE60DA1C404AB700AFC2CF /* UsergridResponseError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63EE60D81C404AB700AFC2CF /* UsergridResponseError.swift */; };
		63EE60F31C406E1600AFC2CF /* UsergridResponseError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63EE60D81C404AB700AFC2CF /* UsergridResponseError.swift */; };
		63EE60F41C406E1600AFC2CF /* UsergridClientConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6343823F1BC30138008624BE /* UsergridClientConfig.swift */; };
		63EE60F71C406E1600AFC2CF /* UsergridAuth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F411BBC4EF6009D4196 /* UsergridAuth.swift */; };
		63EE60F81C406E1600AFC2CF /* UsergridFileMetaData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63A7F2611BC4278200596156 /* UsergridFileMetaData.swift */; };
		63EE60F91C406E1600AFC2CF /* UsergridDevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 636A4BE11BDA8D9E0061000A /* UsergridDevice.swift */; };
		63EE60FA1C406E1600AFC2CF /* UsergridQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F441BBC4EF6009D4196 /* UsergridQuery.swift */; };
		63EE60FC1C406E1600AFC2CF /* UsergridEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F431BBC4EF6009D4196 /* UsergridEntity.swift */; };
		63EE60FE1C406E1600AFC2CF /* UsergridUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F481BBC4EF6009D4196 /* UsergridUser.swift */; };
		63EE60FF1C406E1600AFC2CF /* Usergrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F3F1BBC4EF6009D4196 /* Usergrid.swift */; };
		63EE61001C406E1600AFC2CF /* UsergridResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F461BBC4EF6009D4196 /* UsergridResponse.swift */; };
		63EE61021C406E1600AFC2CF /* UsergridEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6313CA2D1BD80BB9004451EE /* UsergridEnums.swift */; };
		63EE61031C406E1600AFC2CF /* UsergridAsset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F401BBC4EF6009D4196 /* UsergridAsset.swift */; };
		63EE61041C406E1600AFC2CF /* UsergridClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AF0F421BBC4EF6009D4196 /* UsergridClient.swift */; };
		63EE610D1C406E2200AFC2CF /* UsergridSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AF0F471BBC4EF6009D4196 /* UsergridSDK.h */; settings = {ATTRIBUTES = (Public, ); }; };
		63F36F0F1C458AAE00CEEF54 /* UsergridRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63F36F0E1C458AAE00CEEF54 /* UsergridRequest.swift */; };
		63F36F101C458AAE00CEEF54 /* UsergridRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63F36F0E1C458AAE00CEEF54 /* UsergridRequest.swift */; };
		63F36F111C458AAE00CEEF54 /* UsergridRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63F36F0E1C458AAE00CEEF54 /* UsergridRequest.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		630A21A51C49BFFC008BE87F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 63AF0E7F1BBC38FB009D4196 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 6319202A1C48436500F99E86;
			remoteInfo = "UsergridSDK OSX";
		};
		630A21BE1C49C473008BE87F /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 63AF0E7F1BBC38FB009D4196 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 63AF0E871BBC38FB009D4196;
			remoteInfo = "UsergridSDK iOS";
		};
		631920511C49BC0700F99E86 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 63AF0E7F1BBC38FB009D4196 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 63EE60F11C406E1600AFC2CF;
			remoteInfo = "UsergridSDK tvOS";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		630A219F1C49BFFC008BE87F /* UsergridSDK_OSX_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UsergridSDK_OSX_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		630A21B81C49C473008BE87F /* UsergridSDK_iOS_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UsergridSDK_iOS_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		6313CA2D1BD80BB9004451EE /* UsergridEnums.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridEnums.swift; sourceTree = "<group>"; };
		631920451C48436500F99E86 /* UsergridSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UsergridSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		6319204B1C49BC0700F99E86 /* UsergridSDK_TVOS_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = UsergridSDK_TVOS_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		6343823D1BC2F042008624BE /* CONNECTION_Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CONNECTION_Tests.swift; sourceTree = "<group>"; };
		6343823F1BC30138008624BE /* UsergridClientConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridClientConfig.swift; sourceTree = "<group>"; };
		636A4BE11BDA8D9E0061000A /* UsergridDevice.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridDevice.swift; sourceTree = "<group>"; };
		639B4BEB1C3DD6CF005E26E7 /* UsergridSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UsergridSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		63A7F2611BC4278200596156 /* UsergridFileMetaData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridFileMetaData.swift; sourceTree = "<group>"; };
		63AF0E881BBC38FB009D4196 /* UsergridSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UsergridSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		63AF0F3E1BBC4EF6009D4196 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		63AF0F3F1BBC4EF6009D4196 /* Usergrid.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Usergrid.swift; sourceTree = "<group>"; };
		63AF0F401BBC4EF6009D4196 /* UsergridAsset.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridAsset.swift; sourceTree = "<group>"; };
		63AF0F411BBC4EF6009D4196 /* UsergridAuth.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridAuth.swift; sourceTree = "<group>"; };
		63AF0F421BBC4EF6009D4196 /* UsergridClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridClient.swift; sourceTree = "<group>"; };
		63AF0F431BBC4EF6009D4196 /* UsergridEntity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridEntity.swift; sourceTree = "<group>"; };
		63AF0F441BBC4EF6009D4196 /* UsergridQuery.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridQuery.swift; sourceTree = "<group>"; };
		63AF0F461BBC4EF6009D4196 /* UsergridResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridResponse.swift; sourceTree = "<group>"; };
		63AF0F471BBC4EF6009D4196 /* UsergridSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UsergridSDK.h; sourceTree = "<group>"; };
		63AF0F481BBC4EF6009D4196 /* UsergridUser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridUser.swift; sourceTree = "<group>"; };
		63AF0F591BBC528E009D4196 /* ASSET_Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ASSET_Tests.swift; sourceTree = "<group>"; };
		63AF0F5A1BBC528E009D4196 /* AUTH_Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AUTH_Tests.swift; sourceTree = "<group>"; };
		63AF0F5B1BBC528E009D4196 /* ClientCreationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClientCreationTests.swift; sourceTree = "<group>"; };
		63AF0F5C1BBC528E009D4196 /* Entity_Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Entity_Tests.swift; sourceTree = "<group>"; };
		63AF0F5D1BBC528E009D4196 /* GET_Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GET_Tests.swift; sourceTree = "<group>"; };
		63AF0F5E1BBC528E009D4196 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		63AF0F601BBC528E009D4196 /* PUT_Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PUT_Tests.swift; sourceTree = "<group>"; };
		63AF0F631BBC528E009D4196 /* User_Tests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = User_Tests.swift; sourceTree = "<group>"; };
		63AF0F7D1BBC5692009D4196 /* TestAssets */ = {isa = PBXFileReference; lastKnownFileType = folder; path = TestAssets; sourceTree = "<group>"; };
		63E7DD2A1C514CA200D84B12 /* UsergridAssetRequestWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridAssetRequestWrapper.swift; sourceTree = "<group>"; };
		63E7DD2B1C514CA200D84B12 /* UsergridExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridExtensions.swift; sourceTree = "<group>"; };
		63E7DD2C1C514CA200D84B12 /* UsergridKeychainHelpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridKeychainHelpers.swift; sourceTree = "<group>"; };
		63E7DD2D1C514CA200D84B12 /* UsergridRequestManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridRequestManager.swift; sourceTree = "<group>"; };
		63E7DD2E1C514CA200D84B12 /* UsergridSessionDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridSessionDelegate.swift; sourceTree = "<group>"; };
		63EE60D81C404AB700AFC2CF /* UsergridResponseError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridResponseError.swift; sourceTree = "<group>"; };
		63EE610B1C406E1600AFC2CF /* UsergridSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UsergridSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		63F36F0E1C458AAE00CEEF54 /* UsergridRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UsergridRequest.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		630A219C1C49BFFC008BE87F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				630A21A41C49BFFC008BE87F /* UsergridSDK.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		630A21B51C49C473008BE87F /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				630A21BD1C49C473008BE87F /* UsergridSDK.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		6319203F1C48436500F99E86 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		631920481C49BC0700F99E86 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				631920501C49BC0700F99E86 /* UsergridSDK.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		639B4BE71C3DD6CF005E26E7 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		63AF0E841BBC38FB009D4196 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		63EE61051C406E1600AFC2CF /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		63AF0E7E1BBC38FB009D4196 = {
			isa = PBXGroup;
			children = (
				63AF0F3D1BBC4EF6009D4196 /* Source */,
				63AF0F571BBC528E009D4196 /* Tests */,
				63AF0E891BBC38FB009D4196 /* Products */,
			);
			sourceTree = "<group>";
		};
		63AF0E891BBC38FB009D4196 /* Products */ = {
			isa = PBXGroup;
			children = (
				63AF0E881BBC38FB009D4196 /* UsergridSDK.framework */,
				639B4BEB1C3DD6CF005E26E7 /* UsergridSDK.framework */,
				63EE610B1C406E1600AFC2CF /* UsergridSDK.framework */,
				631920451C48436500F99E86 /* UsergridSDK.framework */,
				6319204B1C49BC0700F99E86 /* UsergridSDK_TVOS_Tests.xctest */,
				630A219F1C49BFFC008BE87F /* UsergridSDK_OSX_Tests.xctest */,
				630A21B81C49C473008BE87F /* UsergridSDK_iOS_Tests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		63AF0F3D1BBC4EF6009D4196 /* Source */ = {
			isa = PBXGroup;
			children = (
				63AF0F3F1BBC4EF6009D4196 /* Usergrid.swift */,
				63AF0F421BBC4EF6009D4196 /* UsergridClient.swift */,
				6343823F1BC30138008624BE /* UsergridClientConfig.swift */,
				63AF0F551BBC4F67009D4196 /* Core */,
				63AF0F541BBC4F1F009D4196 /* Supporting Files */,
			);
			path = Source;
			sourceTree = "<group>";
		};
		63AF0F541BBC4F1F009D4196 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				63AF0F471BBC4EF6009D4196 /* UsergridSDK.h */,
				63AF0F3E1BBC4EF6009D4196 /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		63AF0F551BBC4F67009D4196 /* Core */ = {
			isa = PBXGroup;
			children = (
				63AF0F401BBC4EF6009D4196 /* UsergridAsset.swift */,
				63AF0F411BBC4EF6009D4196 /* UsergridAuth.swift */,
				636A4BE11BDA8D9E0061000A /* UsergridDevice.swift */,
				63AF0F431BBC4EF6009D4196 /* UsergridEntity.swift */,
				6313CA2D1BD80BB9004451EE /* UsergridEnums.swift */,
				63A7F2611BC4278200596156 /* UsergridFileMetaData.swift */,
				63AF0F441BBC4EF6009D4196 /* UsergridQuery.swift */,
				63AF0F461BBC4EF6009D4196 /* UsergridResponse.swift */,
				63EE60D81C404AB700AFC2CF /* UsergridResponseError.swift */,
				63F36F0E1C458AAE00CEEF54 /* UsergridRequest.swift */,
				63AF0F481BBC4EF6009D4196 /* UsergridUser.swift */,
				63E7DD431C514CA700D84B12 /* Internal */,
			);
			name = Core;
			sourceTree = "<group>";
		};
		63AF0F571BBC528E009D4196 /* Tests */ = {
			isa = PBXGroup;
			children = (
				63AF0F591BBC528E009D4196 /* ASSET_Tests.swift */,
				63AF0F5A1BBC528E009D4196 /* AUTH_Tests.swift */,
				63AF0F5B1BBC528E009D4196 /* ClientCreationTests.swift */,
				6343823D1BC2F042008624BE /* CONNECTION_Tests.swift */,
				63AF0F5C1BBC528E009D4196 /* Entity_Tests.swift */,
				63AF0F5D1BBC528E009D4196 /* GET_Tests.swift */,
				63AF0F601BBC528E009D4196 /* PUT_Tests.swift */,
				63AF0F631BBC528E009D4196 /* User_Tests.swift */,
				63AF0F5E1BBC528E009D4196 /* Info.plist */,
				63AF0F7D1BBC5692009D4196 /* TestAssets */,
			);
			path = Tests;
			sourceTree = "<group>";
		};
		63E7DD431C514CA700D84B12 /* Internal */ = {
			isa = PBXGroup;
			children = (
				63E7DD2A1C514CA200D84B12 /* UsergridAssetRequestWrapper.swift */,
				63E7DD2B1C514CA200D84B12 /* UsergridExtensions.swift */,
				63E7DD2C1C514CA200D84B12 /* UsergridKeychainHelpers.swift */,
				63E7DD2D1C514CA200D84B12 /* UsergridRequestManager.swift */,
				63E7DD2E1C514CA200D84B12 /* UsergridSessionDelegate.swift */,
			);
			name = Internal;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		631920401C48436500F99E86 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		639B4BE81C3DD6CF005E26E7 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				639B4BF31C3DD85A005E26E7 /* UsergridSDK.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		63AF0E851BBC38FB009D4196 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		63EE61061C406E1600AFC2CF /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				63EE610D1C406E2200AFC2CF /* UsergridSDK.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		630A219E1C49BFFC008BE87F /* UsergridSDK_OSX_Tests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 630A21A71C49BFFC008BE87F /* Build configuration list for PBXNativeTarget "UsergridSDK_OSX_Tests" */;
			buildPhases = (
				630A219B1C49BFFC008BE87F /* Sources */,
				630A219C1C49BFFC008BE87F /* Frameworks */,
				630A219D1C49BFFC008BE87F /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				630A21A61C49BFFC008BE87F /* PBXTargetDependency */,
			);
			name = UsergridSDK_OSX_Tests;
			productName = UsergridSDK_OSX_Tests;
			productReference = 630A219F1C49BFFC008BE87F /* UsergridSDK_OSX_Tests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		630A21B71C49C473008BE87F /* UsergridSDK_iOS_Tests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 630A21C01C49C473008BE87F /* Build configuration list for PBXNativeTarget "UsergridSDK_iOS_Tests" */;
			buildPhases = (
				630A21B41C49C473008BE87F /* Sources */,
				630A21B51C49C473008BE87F /* Frameworks */,
				630A21B61C49C473008BE87F /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				630A21BF1C49C473008BE87F /* PBXTargetDependency */,
			);
			name = UsergridSDK_iOS_Tests;
			productName = UsergridSDK_iOS_Tests;
			productReference = 630A21B81C49C473008BE87F /* UsergridSDK_iOS_Tests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		6319202A1C48436500F99E86 /* UsergridSDK OSX */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 631920421C48436500F99E86 /* Build configuration list for PBXNativeTarget "UsergridSDK OSX" */;
			buildPhases = (
				6319202B1C48436500F99E86 /* Sources */,
				6319203F1C48436500F99E86 /* Frameworks */,
				631920401C48436500F99E86 /* Headers */,
				631920411C48436500F99E86 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "UsergridSDK OSX";
			productName = UsergridSDK;
			productReference = 631920451C48436500F99E86 /* UsergridSDK.framework */;
			productType = "com.apple.product-type.framework";
		};
		6319204A1C49BC0700F99E86 /* UsergridSDK_TVOS_Tests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 631920531C49BC0700F99E86 /* Build configuration list for PBXNativeTarget "UsergridSDK_TVOS_Tests" */;
			buildPhases = (
				631920471C49BC0700F99E86 /* Sources */,
				631920481C49BC0700F99E86 /* Frameworks */,
				631920491C49BC0700F99E86 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				631920521C49BC0700F99E86 /* PBXTargetDependency */,
			);
			name = UsergridSDK_TVOS_Tests;
			productName = UsergridSDK_TVOS_Tests;
			productReference = 6319204B1C49BC0700F99E86 /* UsergridSDK_TVOS_Tests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		639B4BEA1C3DD6CF005E26E7 /* UsergridSDK watchOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 639B4BF21C3DD6CF005E26E7 /* Build configuration list for PBXNativeTarget "UsergridSDK watchOS" */;
			buildPhases = (
				639B4BE61C3DD6CF005E26E7 /* Sources */,
				639B4BE71C3DD6CF005E26E7 /* Frameworks */,
				639B4BE81C3DD6CF005E26E7 /* Headers */,
				639B4BE91C3DD6CF005E26E7 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "UsergridSDK watchOS";
			productName = "UsergridSDK watchOS";
			productReference = 639B4BEB1C3DD6CF005E26E7 /* UsergridSDK.framework */;
			productType = "com.apple.product-type.framework";
		};
		63AF0E871BBC38FB009D4196 /* UsergridSDK iOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 63AF0E9C1BBC38FB009D4196 /* Build configuration list for PBXNativeTarget "UsergridSDK iOS" */;
			buildPhases = (
				63AF0E831BBC38FB009D4196 /* Sources */,
				63AF0E841BBC38FB009D4196 /* Frameworks */,
				63AF0E851BBC38FB009D4196 /* Headers */,
				63AF0E861BBC38FB009D4196 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "UsergridSDK iOS";
			productName = UsergridSDK;
			productReference = 63AF0E881BBC38FB009D4196 /* UsergridSDK.framework */;
			productType = "com.apple.product-type.framework";
		};
		63EE60F11C406E1600AFC2CF /* UsergridSDK tvOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 63EE61081C406E1600AFC2CF /* Build configuration list for PBXNativeTarget "UsergridSDK tvOS" */;
			buildPhases = (
				63EE60F21C406E1600AFC2CF /* Sources */,
				63EE61051C406E1600AFC2CF /* Frameworks */,
				63EE61061C406E1600AFC2CF /* Headers */,
				63EE61071C406E1600AFC2CF /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "UsergridSDK tvOS";
			productName = UsergridSDK;
			productReference = 63EE610B1C406E1600AFC2CF /* UsergridSDK.framework */;
			productType = "com.apple.product-type.framework";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		63AF0E7F1BBC38FB009D4196 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0720;
				LastUpgradeCheck = 0720;
				ORGANIZATIONNAME = "Apigee Inc.";
				TargetAttributes = {
					630A219E1C49BFFC008BE87F = {
						CreatedOnToolsVersion = 7.2;
					};
					630A21B71C49C473008BE87F = {
						CreatedOnToolsVersion = 7.2;
					};
					6319204A1C49BC0700F99E86 = {
						CreatedOnToolsVersion = 7.2;
					};
					639B4BEA1C3DD6CF005E26E7 = {
						CreatedOnToolsVersion = 7.2;
					};
					63AF0E871BBC38FB009D4196 = {
						CreatedOnToolsVersion = 7.0.1;
					};
				};
			};
			buildConfigurationList = 63AF0E821BBC38FB009D4196 /* Build configuration list for PBXProject "UsergridSDK" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 63AF0E7E1BBC38FB009D4196;
			productRefGroup = 63AF0E891BBC38FB009D4196 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				63AF0E871BBC38FB009D4196 /* UsergridSDK iOS */,
				639B4BEA1C3DD6CF005E26E7 /* UsergridSDK watchOS */,
				63EE60F11C406E1600AFC2CF /* UsergridSDK tvOS */,
				6319202A1C48436500F99E86 /* UsergridSDK OSX */,
				6319204A1C49BC0700F99E86 /* UsergridSDK_TVOS_Tests */,
				630A219E1C49BFFC008BE87F /* UsergridSDK_OSX_Tests */,
				630A21B71C49C473008BE87F /* UsergridSDK_iOS_Tests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		630A219D1C49BFFC008BE87F /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				630A21B31C49C013008BE87F /* TestAssets in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		630A21B61C49C473008BE87F /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				630A21CD1C49C4CC008BE87F /* TestAssets in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		631920411C48436500F99E86 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		631920491C49BC0700F99E86 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				630A219A1C49BF13008BE87F /* TestAssets in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		639B4BE91C3DD6CF005E26E7 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		63AF0E861BBC38FB009D4196 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		63EE61071C406E1600AFC2CF /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		630A219B1C49BFFC008BE87F /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				630A21AE1C49C011008BE87F /* Entity_Tests.swift in Sources */,
				630A21AB1C49C011008BE87F /* AUTH_Tests.swift in Sources */,
				630A21B21C49C011008BE87F /* User_Tests.swift in Sources */,
				630A21B11C49C011008BE87F /* PUT_Tests.swift in Sources */,
				630A21AD1C49C011008BE87F /* CONNECTION_Tests.swift in Sources */,
				630A21AF1C49C011008BE87F /* GET_Tests.swift in Sources */,
				630A21AC1C49C011008BE87F /* ClientCreationTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		630A21B41C49C473008BE87F /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				630A21C91C49C4C0008BE87F /* GET_Tests.swift in Sources */,
				630A21C81C49C4C0008BE87F /* Entity_Tests.swift in Sources */,
				630A21C61C49C4C0008BE87F /* ClientCreationTests.swift in Sources */,
				630A21C41C49C4C0008BE87F /* ASSET_Tests.swift in Sources */,
				630A21CC1C49C4C0008BE87F /* User_Tests.swift in Sources */,
				630A21CB1C49C4C0008BE87F /* PUT_Tests.swift in Sources */,
				630A21C51C49C4C0008BE87F /* AUTH_Tests.swift in Sources */,
				630A21C71C49C4C0008BE87F /* CONNECTION_Tests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		6319202B1C48436500F99E86 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				6319202C1C48436500F99E86 /* UsergridResponseError.swift in Sources */,
				6319202D1C48436500F99E86 /* UsergridRequest.swift in Sources */,
				6319202E1C48436500F99E86 /* UsergridClientConfig.swift in Sources */,
				63E7DD321C514CA200D84B12 /* UsergridAssetRequestWrapper.swift in Sources */,
				631920311C48436500F99E86 /* UsergridAuth.swift in Sources */,
				631920321C48436500F99E86 /* UsergridFileMetaData.swift in Sources */,
				63E7DD3A1C514CA200D84B12 /* UsergridKeychainHelpers.swift in Sources */,
				63E7DD3E1C514CA200D84B12 /* UsergridRequestManager.swift in Sources */,
				631920331C48436500F99E86 /* UsergridDevice.swift in Sources */,
				631920341C48436500F99E86 /* UsergridQuery.swift in Sources */,
				63E7DD421C514CA200D84B12 /* UsergridSessionDelegate.swift in Sources */,
				631920361C48436500F99E86 /* UsergridEntity.swift in Sources */,
				631920381C48436500F99E86 /* UsergridUser.swift in Sources */,
				631920391C48436500F99E86 /* Usergrid.swift in Sources */,
				6319203A1C48436500F99E86 /* UsergridResponse.swift in Sources */,
				6319203C1C48436500F99E86 /* UsergridEnums.swift in Sources */,
				6319203D1C48436500F99E86 /* UsergridAsset.swift in Sources */,
				6319203E1C48436500F99E86 /* UsergridClient.swift in Sources */,
				63E7DD361C514CA200D84B12 /* UsergridExtensions.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		631920471C49BC0700F99E86 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				630A21861C49BDDE008BE87F /* Entity_Tests.swift in Sources */,
				630A218A1C49BDDE008BE87F /* User_Tests.swift in Sources */,
				630A21891C49BDDE008BE87F /* PUT_Tests.swift in Sources */,
				630A21821C49BDD3008BE87F /* AUTH_Tests.swift in Sources */,
				630A21851C49BDDE008BE87F /* CONNECTION_Tests.swift in Sources */,
				630A21871C49BDDE008BE87F /* GET_Tests.swift in Sources */,
				630A21831C49BDDE008BE87F /* ASSET_Tests.swift in Sources */,
				630A21841C49BDDE008BE87F /* ClientCreationTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		639B4BE61C3DD6CF005E26E7 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				63EE60DA1C404AB700AFC2CF /* UsergridResponseError.swift in Sources */,
				63F36F101C458AAE00CEEF54 /* UsergridRequest.swift in Sources */,
				639B4BF51C3DD915005E26E7 /* UsergridAuth.swift in Sources */,
				639B4BF71C3DD915005E26E7 /* UsergridEntity.swift in Sources */,
				63E7DD301C514CA200D84B12 /* UsergridAssetRequestWrapper.swift in Sources */,
				639B4C031C3DD91A005E26E7 /* UsergridClient.swift in Sources */,
				63E7DD381C514CA200D84B12 /* UsergridKeychainHelpers.swift in Sources */,
				63E7DD3C1C514CA200D84B12 /* UsergridRequestManager.swift in Sources */,
				639B4C041C3DD91A005E26E7 /* UsergridClientConfig.swift in Sources */,
				639B4BF81C3DD915005E26E7 /* UsergridEnums.swift in Sources */,
				63E7DD401C514CA200D84B12 /* UsergridSessionDelegate.swift in Sources */,
				639B4BFC1C3DD915005E26E7 /* UsergridUser.swift in Sources */,
				639B4C021C3DD91A005E26E7 /* Usergrid.swift in Sources */,
				639B4BF61C3DD915005E26E7 /* UsergridDevice.swift in Sources */,
				639B4BF41C3DD90D005E26E7 /* UsergridAsset.swift in Sources */,
				639B4BFB1C3DD915005E26E7 /* UsergridResponse.swift in Sources */,
				639B4BFA1C3DD915005E26E7 /* UsergridQuery.swift in Sources */,
				639B4BF91C3DD915005E26E7 /* UsergridFileMetaData.swift in Sources */,
				63E7DD341C514CA200D84B12 /* UsergridExtensions.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		63AF0E831BBC38FB009D4196 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				63EE60D91C404AB700AFC2CF /* UsergridResponseError.swift in Sources */,
				63F36F0F1C458AAE00CEEF54 /* UsergridRequest.swift in Sources */,
				634382401BC30138008624BE /* UsergridClientConfig.swift in Sources */,
				63E7DD2F1C514CA200D84B12 /* UsergridAssetRequestWrapper.swift in Sources */,
				63AF0F4C1BBC4EF6009D4196 /* UsergridAuth.swift in Sources */,
				63A7F2621BC4278200596156 /* UsergridFileMetaData.swift in Sources */,
				63E7DD371C514CA200D84B12 /* UsergridKeychainHelpers.swift in Sources */,
				63E7DD3B1C514CA200D84B12 /* UsergridRequestManager.swift in Sources */,
				636A4BE21BDA8D9E0061000A /* UsergridDevice.swift in Sources */,
				63AF0F4F1BBC4EF6009D4196 /* UsergridQuery.swift in Sources */,
				63E7DD3F1C514CA200D84B12 /* UsergridSessionDelegate.swift in Sources */,
				63AF0F4E1BBC4EF6009D4196 /* UsergridEntity.swift in Sources */,
				63AF0F531BBC4EF6009D4196 /* UsergridUser.swift in Sources */,
				63AF0F4A1BBC4EF6009D4196 /* Usergrid.swift in Sources */,
				63AF0F511BBC4EF6009D4196 /* UsergridResponse.swift in Sources */,
				6313CA2E1BD80BB9004451EE /* UsergridEnums.swift in Sources */,
				63AF0F4B1BBC4EF6009D4196 /* UsergridAsset.swift in Sources */,
				63AF0F4D1BBC4EF6009D4196 /* UsergridClient.swift in Sources */,
				63E7DD331C514CA200D84B12 /* UsergridExtensions.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		63EE60F21C406E1600AFC2CF /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				63EE60F31C406E1600AFC2CF /* UsergridResponseError.swift in Sources */,
				63F36F111C458AAE00CEEF54 /* UsergridRequest.swift in Sources */,
				63EE60F41C406E1600AFC2CF /* UsergridClientConfig.swift in Sources */,
				63E7DD311C514CA200D84B12 /* UsergridAssetRequestWrapper.swift in Sources */,
				63EE60F71C406E1600AFC2CF /* UsergridAuth.swift in Sources */,
				63EE60F81C406E1600AFC2CF /* UsergridFileMetaData.swift in Sources */,
				63E7DD391C514CA200D84B12 /* UsergridKeychainHelpers.swift in Sources */,
				63E7DD3D1C514CA200D84B12 /* UsergridRequestManager.swift in Sources */,
				63EE60F91C406E1600AFC2CF /* UsergridDevice.swift in Sources */,
				63EE60FA1C406E1600AFC2CF /* UsergridQuery.swift in Sources */,
				63E7DD411C514CA200D84B12 /* UsergridSessionDelegate.swift in Sources */,
				63EE60FC1C406E1600AFC2CF /* UsergridEntity.swift in Sources */,
				63EE60FE1C406E1600AFC2CF /* UsergridUser.swift in Sources */,
				63EE60FF1C406E1600AFC2CF /* Usergrid.swift in Sources */,
				63EE61001C406E1600AFC2CF /* UsergridResponse.swift in Sources */,
				63EE61021C406E1600AFC2CF /* UsergridEnums.swift in Sources */,
				63EE61031C406E1600AFC2CF /* UsergridAsset.swift in Sources */,
				63EE61041C406E1600AFC2CF /* UsergridClient.swift in Sources */,
				63E7DD351C514CA200D84B12 /* UsergridExtensions.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		630A21A61C49BFFC008BE87F /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 6319202A1C48436500F99E86 /* UsergridSDK OSX */;
			targetProxy = 630A21A51C49BFFC008BE87F /* PBXContainerItemProxy */;
		};
		630A21BF1C49C473008BE87F /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 63AF0E871BBC38FB009D4196 /* UsergridSDK iOS */;
			targetProxy = 630A21BE1C49C473008BE87F /* PBXContainerItemProxy */;
		};
		631920521C49BC0700F99E86 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 63EE60F11C406E1600AFC2CF /* UsergridSDK tvOS */;
			targetProxy = 631920511C49BC0700F99E86 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		630A21A81C49BFFC008BE87F /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				COMBINE_HIDPI_IMAGES = YES;
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_BUNDLE_IDENTIFIER = "org.apache.usergrid.swift-OSX-Tests";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
			};
			name = Debug;
		};
		630A21A91C49BFFC008BE87F /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CODE_SIGN_IDENTITY = "-";
				COMBINE_HIDPI_IMAGES = YES;
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				PRODUCT_BUNDLE_IDENTIFIER = "org.apache.usergrid.swift-OSX-Tests";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = macosx;
			};
			name = Release;
		};
		630A21C11C49C473008BE87F /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Tests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 9.2;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "org.apache.usergrid.swift-iOS-Tests";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		630A21C21C49C473008BE87F /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Tests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 9.2;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "org.apache.usergrid.swift-iOS-Tests";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		631920431C48436500F99E86 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				COMBINE_HIDPI_IMAGES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.usergrid.swift;
				PRODUCT_NAME = UsergridSDK;
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		631920441C48436500F99E86 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
				COMBINE_HIDPI_IMAGES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.usergrid.swift;
				PRODUCT_NAME = UsergridSDK;
				SDKROOT = macosx;
				SKIP_INSTALL = YES;
			};
			name = Release;
		};
		631920541C49BC0700F99E86 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "org.apache.usergrid.swift-TVOS-Tests";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.1;
			};
			name = Debug;
		};
		631920551C49BC0700F99E86 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "org.apache.usergrid.swift-TVOS-Tests";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = appletvos;
				TARGETED_DEVICE_FAMILY = 3;
				TVOS_DEPLOYMENT_TARGET = 9.1;
			};
			name = Release;
		};
		639B4BF01C3DD6CF005E26E7 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.usergrid.swift;
				PRODUCT_NAME = UsergridSDK;
				SDKROOT = watchos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 4;
				WATCHOS_DEPLOYMENT_TARGET = 2.1;
			};
			name = Debug;
		};
		639B4BF11C3DD6CF005E26E7 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				APPLICATION_EXTENSION_API_ONLY = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.usergrid.swift;
				PRODUCT_NAME = UsergridSDK;
				SDKROOT = watchos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 4;
				WATCHOS_DEPLOYMENT_TARGET = 2.1;
			};
			name = Release;
		};
		63AF0E9A1BBC38FB009D4196 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				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_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Debug;
		};
		63AF0E9B1BBC38FB009D4196 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				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_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		63AF0E9D1BBC38FB009D4196 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.usergrid.swift;
				PRODUCT_NAME = UsergridSDK;
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		63AF0E9E1BBC38FB009D4196 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.usergrid.swift;
				PRODUCT_NAME = UsergridSDK;
				SKIP_INSTALL = YES;
			};
			name = Release;
		};
		63EE61091C406E1600AFC2CF /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.usergrid.swift;
				PRODUCT_NAME = UsergridSDK;
				SDKROOT = appletvos;
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = 3;
			};
			name = Debug;
		};
		63EE610A1C406E1600AFC2CF /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Source/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = org.apache.usergrid.swift;
				PRODUCT_NAME = UsergridSDK;
				SDKROOT = appletvos;
				SKIP_INSTALL = YES;
				TARGETED_DEVICE_FAMILY = 3;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		630A21A71C49BFFC008BE87F /* Build configuration list for PBXNativeTarget "UsergridSDK_OSX_Tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				630A21A81C49BFFC008BE87F /* Debug */,
				630A21A91C49BFFC008BE87F /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		630A21C01C49C473008BE87F /* Build configuration list for PBXNativeTarget "UsergridSDK_iOS_Tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				630A21C11C49C473008BE87F /* Debug */,
				630A21C21C49C473008BE87F /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		631920421C48436500F99E86 /* Build configuration list for PBXNativeTarget "UsergridSDK OSX" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				631920431C48436500F99E86 /* Debug */,
				631920441C48436500F99E86 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		631920531C49BC0700F99E86 /* Build configuration list for PBXNativeTarget "UsergridSDK_TVOS_Tests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				631920541C49BC0700F99E86 /* Debug */,
				631920551C49BC0700F99E86 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		639B4BF21C3DD6CF005E26E7 /* Build configuration list for PBXNativeTarget "UsergridSDK watchOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				639B4BF01C3DD6CF005E26E7 /* Debug */,
				639B4BF11C3DD6CF005E26E7 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		63AF0E821BBC38FB009D4196 /* Build configuration list for PBXProject "UsergridSDK" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				63AF0E9A1BBC38FB009D4196 /* Debug */,
				63AF0E9B1BBC38FB009D4196 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		63AF0E9C1BBC38FB009D4196 /* Build configuration list for PBXNativeTarget "UsergridSDK iOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				63AF0E9D1BBC38FB009D4196 /* Debug */,
				63AF0E9E1BBC38FB009D4196 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		63EE61081C406E1600AFC2CF /* Build configuration list for PBXNativeTarget "UsergridSDK tvOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				63EE61091C406E1600AFC2CF /* Debug */,
				63EE610A1C406E1600AFC2CF /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 63AF0E7F1BBC38FB009D4196 /* Project object */;
}
