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

/* Begin PBXBuildFile section */
		30AD2E0A1CDD506700A28A0C /* SyncbaseCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 30AD2DFF1CDD506700A28A0C /* SyncbaseCore.framework */; };
		30AD2E311CDD508700A28A0C /* Batch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E1B1CDD508700A28A0C /* Batch.swift */; };
		30AD2E321CDD508700A28A0C /* Blob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E1C1CDD508700A28A0C /* Blob.swift */; };
		30AD2E331CDD508700A28A0C /* Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E1D1CDD508700A28A0C /* Collection.swift */; };
		30AD2E341CDD508700A28A0C /* Database.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E1E1CDD508700A28A0C /* Database.swift */; };
		30AD2E351CDD508700A28A0C /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E1F1CDD508700A28A0C /* Errors.swift */; };
		30AD2E361CDD508700A28A0C /* Id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E201CDD508700A28A0C /* Id.swift */; };
		30AD2E381CDD508700A28A0C /* Marshal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E221CDD508700A28A0C /* Marshal.swift */; };
		30AD2E391CDD508700A28A0C /* Permissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E231CDD508700A28A0C /* Permissions.swift */; };
		30AD2E3A1CDD508700A28A0C /* Row.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E241CDD508700A28A0C /* Row.swift */; };
		30AD2E3B1CDD508700A28A0C /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E251CDD508700A28A0C /* Security.swift */; };
		30AD2E3C1CDD508700A28A0C /* Service.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E261CDD508700A28A0C /* Service.swift */; };
		30AD2E3D1CDD508700A28A0C /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E271CDD508700A28A0C /* Stream.swift */; };
		30AD2E3E1CDD508700A28A0C /* SyncbaseCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 30AD2E281CDD508700A28A0C /* SyncbaseCore.h */; settings = {ATTRIBUTES = (Public, ); }; };
		30AD2E3F1CDD508700A28A0C /* Syncbase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E291CDD508700A28A0C /* Syncbase.swift */; };
		30AD2E401CDD508700A28A0C /* Syncgroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E2A1CDD508700A28A0C /* Syncgroup.swift */; };
		30AD2E441CDD508700A28A0C /* Vom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E2E1CDD508700A28A0C /* Vom.swift */; };
		30AD2E451CDD508700A28A0C /* Watch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E2F1CDD508700A28A0C /* Watch.swift */; };
		30AD2E4D1CDD508D00A28A0C /* JsonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E491CDD508D00A28A0C /* JsonTests.swift */; };
		30AD2E4E1CDD508D00A28A0C /* NSNumberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E4A1CDD508D00A28A0C /* NSNumberTests.swift */; };
		30AD2E761CDD55F400A28A0C /* Alamofire.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 30AD2E641CDD547F00A28A0C /* Alamofire.framework */; };
		30AD2E7F1CDD569200A28A0C /* Locking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E781CDD569200A28A0C /* Locking.swift */; };
		30AD2E801CDD569200A28A0C /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E791CDD569200A28A0C /* Logging.swift */; };
		30AD2E811CDD569200A28A0C /* Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E7A1CDD569200A28A0C /* Strings.swift */; };
		30AD2E821CDD569200A28A0C /* Threads.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E7B1CDD569200A28A0C /* Threads.swift */; };
		30AD2E891CDD56B700A28A0C /* Exceptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 30AD2E861CDD56B700A28A0C /* Exceptions.h */; settings = {ATTRIBUTES = (Public, ); }; };
		30AD2E8A1CDD56B700A28A0C /* Exceptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E871CDD56B700A28A0C /* Exceptions.m */; };
		30AD2E8B1CDD56B700A28A0C /* NSNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E881CDD56B700A28A0C /* NSNumber.swift */; };
		30AD2E911CDD593000A28A0C /* Principal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E901CDD593000A28A0C /* Principal.swift */; };
		30AD2E931CDD60A600A28A0C /* Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AD2E921CDD60A600A28A0C /* Types.swift */; };
		30D45FC91CE14A8A004A59FA /* cgo_exports.h in Headers */ = {isa = PBXBuildFile; fileRef = 30D45FC41CE14A8A004A59FA /* cgo_exports.h */; settings = {ATTRIBUTES = (Public, ); }; };
		30D45FCA1CE14A8A004A59FA /* go_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 30D45FC51CE14A8A004A59FA /* go_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
		30D45FCB1CE14A8A004A59FA /* sbcore_amd64.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 30D45FC61CE14A8A004A59FA /* sbcore_amd64.a */; };
		30D45FCD1CE14A8A004A59FA /* sbcore_arm64.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 30D45FC81CE14A8A004A59FA /* sbcore_arm64.a */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		30AD2E0B1CDD506700A28A0C /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 30AD2DF61CDD506700A28A0C /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 30AD2DFE1CDD506700A28A0C;
			remoteInfo = SyncbaseCore;
		};
		30AD2E631CDD547F00A28A0C /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = F8111E3319A95C8B0040E7D1;
			remoteInfo = "Alamofire iOS";
		};
		30AD2E651CDD547F00A28A0C /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = F8111E3E19A95C8B0040E7D1;
			remoteInfo = "Alamofire iOS Tests";
		};
		30AD2E671CDD547F00A28A0C /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 4DD67C0B1A5C55C900ED2280;
			remoteInfo = "Alamofire OSX";
		};
		30AD2E691CDD547F00A28A0C /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = F829C6B21A7A94F100A2CD59;
			remoteInfo = "Alamofire OSX Tests";
		};
		30AD2E6B1CDD547F00A28A0C /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 4CF626EF1BA7CB3E0011A099;
			remoteInfo = "Alamofire tvOS";
		};
		30AD2E6D1CDD547F00A28A0C /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 4CF626F81BA7CB3E0011A099;
			remoteInfo = "Alamofire tvOS Tests";
		};
		30AD2E6F1CDD547F00A28A0C /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = E4202FE01B667AA100C997FB;
			remoteInfo = "Alamofire watchOS";
		};
		30D45FCF1CE14ECF004A59FA /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = F8111E3219A95C8B0040E7D1;
			remoteInfo = "Alamofire iOS";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		30AD2DFF1CDD506700A28A0C /* SyncbaseCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SyncbaseCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		30AD2E091CDD506700A28A0C /* SyncbaseCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SyncbaseCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		30AD2E1B1CDD508700A28A0C /* Batch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Batch.swift; sourceTree = "<group>"; };
		30AD2E1C1CDD508700A28A0C /* Blob.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Blob.swift; sourceTree = "<group>"; };
		30AD2E1D1CDD508700A28A0C /* Collection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Collection.swift; sourceTree = "<group>"; };
		30AD2E1E1CDD508700A28A0C /* Database.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Database.swift; sourceTree = "<group>"; };
		30AD2E1F1CDD508700A28A0C /* Errors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = "<group>"; };
		30AD2E201CDD508700A28A0C /* Id.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Id.swift; sourceTree = "<group>"; };
		30AD2E211CDD508700A28A0C /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		30AD2E221CDD508700A28A0C /* Marshal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Marshal.swift; sourceTree = "<group>"; };
		30AD2E231CDD508700A28A0C /* Permissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Permissions.swift; sourceTree = "<group>"; };
		30AD2E241CDD508700A28A0C /* Row.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Row.swift; sourceTree = "<group>"; };
		30AD2E251CDD508700A28A0C /* Security.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Security.swift; sourceTree = "<group>"; };
		30AD2E261CDD508700A28A0C /* Service.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Service.swift; sourceTree = "<group>"; };
		30AD2E271CDD508700A28A0C /* Stream.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Stream.swift; sourceTree = "<group>"; };
		30AD2E281CDD508700A28A0C /* SyncbaseCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SyncbaseCore.h; sourceTree = "<group>"; };
		30AD2E291CDD508700A28A0C /* Syncbase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Syncbase.swift; sourceTree = "<group>"; };
		30AD2E2A1CDD508700A28A0C /* Syncgroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Syncgroup.swift; sourceTree = "<group>"; };
		30AD2E2E1CDD508700A28A0C /* Vom.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Vom.swift; sourceTree = "<group>"; };
		30AD2E2F1CDD508700A28A0C /* Watch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Watch.swift; sourceTree = "<group>"; };
		30AD2E481CDD508D00A28A0C /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		30AD2E491CDD508D00A28A0C /* JsonTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JsonTests.swift; sourceTree = "<group>"; };
		30AD2E4A1CDD508D00A28A0C /* NSNumberTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSNumberTests.swift; sourceTree = "<group>"; };
		30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Alamofire.xcodeproj; path = "../../../../third_party/swift/Alamofire-3.3.0/Alamofire.xcodeproj"; sourceTree = "<group>"; };
		30AD2E781CDD569200A28A0C /* Locking.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Locking.swift; path = util/Locking.swift; sourceTree = "<group>"; };
		30AD2E791CDD569200A28A0C /* Logging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Logging.swift; path = util/Logging.swift; sourceTree = "<group>"; };
		30AD2E7A1CDD569200A28A0C /* Strings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Strings.swift; path = util/Strings.swift; sourceTree = "<group>"; };
		30AD2E7B1CDD569200A28A0C /* Threads.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Threads.swift; path = util/Threads.swift; sourceTree = "<group>"; };
		30AD2E861CDD56B700A28A0C /* Exceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Exceptions.h; path = util/Exceptions.h; sourceTree = "<group>"; };
		30AD2E871CDD56B700A28A0C /* Exceptions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Exceptions.m; path = util/Exceptions.m; sourceTree = "<group>"; };
		30AD2E881CDD56B700A28A0C /* NSNumber.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = NSNumber.swift; path = util/NSNumber.swift; sourceTree = "<group>"; };
		30AD2E901CDD593000A28A0C /* Principal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Principal.swift; sourceTree = "<group>"; };
		30AD2E921CDD60A600A28A0C /* Types.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Types.swift; path = util/Types.swift; sourceTree = "<group>"; };
		30D45FC41CE14A8A004A59FA /* cgo_exports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cgo_exports.h; sourceTree = "<group>"; };
		30D45FC51CE14A8A004A59FA /* go_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = go_types.h; sourceTree = "<group>"; };
		30D45FC61CE14A8A004A59FA /* sbcore_amd64.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = sbcore_amd64.a; sourceTree = "<group>"; };
		30D45FC81CE14A8A004A59FA /* sbcore_arm64.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = sbcore_arm64.a; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		30AD2DFB1CDD506700A28A0C /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				30D45FCD1CE14A8A004A59FA /* sbcore_arm64.a in Frameworks */,
				30D45FCB1CE14A8A004A59FA /* sbcore_amd64.a in Frameworks */,
				30AD2E761CDD55F400A28A0C /* Alamofire.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		30AD2E061CDD506700A28A0C /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				30AD2E0A1CDD506700A28A0C /* SyncbaseCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		30AD2DF51CDD506700A28A0C = {
			isa = PBXGroup;
			children = (
				30AD2E191CDD508700A28A0C /* Source */,
				30AD2E4F1CDD542000A28A0C /* Generated */,
				30AD2E581CDD546F00A28A0C /* Frameworks */,
				30AD2E461CDD508D00A28A0C /* Tests */,
				30AD2E001CDD506700A28A0C /* Products */,
			);
			sourceTree = "<group>";
		};
		30AD2E001CDD506700A28A0C /* Products */ = {
			isa = PBXGroup;
			children = (
				30AD2DFF1CDD506700A28A0C /* SyncbaseCore.framework */,
				30AD2E091CDD506700A28A0C /* SyncbaseCoreTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		30AD2E191CDD508700A28A0C /* Source */ = {
			isa = PBXGroup;
			children = (
				30AD2E281CDD508700A28A0C /* SyncbaseCore.h */,
				30AD2E211CDD508700A28A0C /* Info.plist */,
				30AD2E1B1CDD508700A28A0C /* Batch.swift */,
				30AD2E1C1CDD508700A28A0C /* Blob.swift */,
				30AD2E1D1CDD508700A28A0C /* Collection.swift */,
				30AD2E1E1CDD508700A28A0C /* Database.swift */,
				30AD2E1F1CDD508700A28A0C /* Errors.swift */,
				30AD2E201CDD508700A28A0C /* Id.swift */,
				30AD2E221CDD508700A28A0C /* Marshal.swift */,
				30AD2E231CDD508700A28A0C /* Permissions.swift */,
				30AD2E901CDD593000A28A0C /* Principal.swift */,
				30AD2E241CDD508700A28A0C /* Row.swift */,
				30AD2E251CDD508700A28A0C /* Security.swift */,
				30AD2E261CDD508700A28A0C /* Service.swift */,
				30AD2E271CDD508700A28A0C /* Stream.swift */,
				30AD2E291CDD508700A28A0C /* Syncbase.swift */,
				30AD2E2A1CDD508700A28A0C /* Syncgroup.swift */,
				30AD2E2E1CDD508700A28A0C /* Vom.swift */,
				30AD2E2F1CDD508700A28A0C /* Watch.swift */,
				30AD2E771CDD567D00A28A0C /* Util */,
			);
			path = Source;
			sourceTree = "<group>";
		};
		30AD2E461CDD508D00A28A0C /* Tests */ = {
			isa = PBXGroup;
			children = (
				30AD2E481CDD508D00A28A0C /* Info.plist */,
				30AD2E491CDD508D00A28A0C /* JsonTests.swift */,
				30AD2E4A1CDD508D00A28A0C /* NSNumberTests.swift */,
			);
			path = Tests;
			sourceTree = "<group>";
		};
		30AD2E4F1CDD542000A28A0C /* Generated */ = {
			isa = PBXGroup;
			children = (
				30D45FC41CE14A8A004A59FA /* cgo_exports.h */,
				30D45FC51CE14A8A004A59FA /* go_types.h */,
				30D45FC61CE14A8A004A59FA /* sbcore_amd64.a */,
				30D45FC81CE14A8A004A59FA /* sbcore_arm64.a */,
			);
			path = Generated;
			sourceTree = "<group>";
		};
		30AD2E581CDD546F00A28A0C /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */,
			);
			name = Frameworks;
			path = Tests;
			sourceTree = "<group>";
		};
		30AD2E5A1CDD547F00A28A0C /* Products */ = {
			isa = PBXGroup;
			children = (
				30AD2E641CDD547F00A28A0C /* Alamofire.framework */,
				30AD2E661CDD547F00A28A0C /* Alamofire iOS Tests.xctest */,
				30AD2E681CDD547F00A28A0C /* Alamofire.framework */,
				30AD2E6A1CDD547F00A28A0C /* Alamofire OSX Tests.xctest */,
				30AD2E6C1CDD547F00A28A0C /* Alamofire.framework */,
				30AD2E6E1CDD547F00A28A0C /* Alamofire tvOS Tests.xctest */,
				30AD2E701CDD547F00A28A0C /* Alamofire.framework */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		30AD2E771CDD567D00A28A0C /* Util */ = {
			isa = PBXGroup;
			children = (
				30AD2E861CDD56B700A28A0C /* Exceptions.h */,
				30AD2E871CDD56B700A28A0C /* Exceptions.m */,
				30AD2E881CDD56B700A28A0C /* NSNumber.swift */,
				30AD2E781CDD569200A28A0C /* Locking.swift */,
				30AD2E791CDD569200A28A0C /* Logging.swift */,
				30AD2E7A1CDD569200A28A0C /* Strings.swift */,
				30AD2E7B1CDD569200A28A0C /* Threads.swift */,
				30AD2E921CDD60A600A28A0C /* Types.swift */,
			);
			name = Util;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		30AD2DFC1CDD506700A28A0C /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				30AD2E891CDD56B700A28A0C /* Exceptions.h in Headers */,
				30D45FC91CE14A8A004A59FA /* cgo_exports.h in Headers */,
				30D45FCA1CE14A8A004A59FA /* go_types.h in Headers */,
				30AD2E3E1CDD508700A28A0C /* SyncbaseCore.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		30AD2DFE1CDD506700A28A0C /* SyncbaseCore */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 30AD2E131CDD506700A28A0C /* Build configuration list for PBXNativeTarget "SyncbaseCore" */;
			buildPhases = (
				30AD2DFA1CDD506700A28A0C /* Sources */,
				30AD2DFB1CDD506700A28A0C /* Frameworks */,
				30AD2DFC1CDD506700A28A0C /* Headers */,
				30AD2DFD1CDD506700A28A0C /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				30D45FD01CE14ECF004A59FA /* PBXTargetDependency */,
			);
			name = SyncbaseCore;
			productName = SyncbaseCore;
			productReference = 30AD2DFF1CDD506700A28A0C /* SyncbaseCore.framework */;
			productType = "com.apple.product-type.framework";
		};
		30AD2E081CDD506700A28A0C /* SyncbaseCoreTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 30AD2E161CDD506700A28A0C /* Build configuration list for PBXNativeTarget "SyncbaseCoreTests" */;
			buildPhases = (
				30AD2E051CDD506700A28A0C /* Sources */,
				30AD2E061CDD506700A28A0C /* Frameworks */,
				30AD2E071CDD506700A28A0C /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				30AD2E0C1CDD506700A28A0C /* PBXTargetDependency */,
			);
			name = SyncbaseCoreTests;
			productName = SyncbaseCoreTests;
			productReference = 30AD2E091CDD506700A28A0C /* SyncbaseCoreTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		30AD2DF61CDD506700A28A0C /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0730;
				LastUpgradeCheck = 0730;
				ORGANIZATIONNAME = "Google Inc.";
				TargetAttributes = {
					30AD2DFE1CDD506700A28A0C = {
						CreatedOnToolsVersion = 7.3;
					};
					30AD2E081CDD506700A28A0C = {
						CreatedOnToolsVersion = 7.3;
					};
				};
			};
			buildConfigurationList = 30AD2DF91CDD506700A28A0C /* Build configuration list for PBXProject "SyncbaseCore" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 30AD2DF51CDD506700A28A0C;
			productRefGroup = 30AD2E001CDD506700A28A0C /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = 30AD2E5A1CDD547F00A28A0C /* Products */;
					ProjectRef = 30AD2E591CDD547F00A28A0C /* Alamofire.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				30AD2DFE1CDD506700A28A0C /* SyncbaseCore */,
				30AD2E081CDD506700A28A0C /* SyncbaseCoreTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		30AD2E641CDD547F00A28A0C /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 30AD2E631CDD547F00A28A0C /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		30AD2E661CDD547F00A28A0C /* Alamofire iOS Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = "Alamofire iOS Tests.xctest";
			remoteRef = 30AD2E651CDD547F00A28A0C /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		30AD2E681CDD547F00A28A0C /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 30AD2E671CDD547F00A28A0C /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		30AD2E6A1CDD547F00A28A0C /* Alamofire OSX Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = "Alamofire OSX Tests.xctest";
			remoteRef = 30AD2E691CDD547F00A28A0C /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		30AD2E6C1CDD547F00A28A0C /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 30AD2E6B1CDD547F00A28A0C /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		30AD2E6E1CDD547F00A28A0C /* Alamofire tvOS Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = "Alamofire tvOS Tests.xctest";
			remoteRef = 30AD2E6D1CDD547F00A28A0C /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		30AD2E701CDD547F00A28A0C /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 30AD2E6F1CDD547F00A28A0C /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		30AD2DFD1CDD506700A28A0C /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		30AD2E071CDD506700A28A0C /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		30AD2DFA1CDD506700A28A0C /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				30AD2E391CDD508700A28A0C /* Permissions.swift in Sources */,
				30AD2E3A1CDD508700A28A0C /* Row.swift in Sources */,
				30AD2E911CDD593000A28A0C /* Principal.swift in Sources */,
				30AD2E931CDD60A600A28A0C /* Types.swift in Sources */,
				30AD2E8A1CDD56B700A28A0C /* Exceptions.m in Sources */,
				30AD2E331CDD508700A28A0C /* Collection.swift in Sources */,
				30AD2E3F1CDD508700A28A0C /* Syncbase.swift in Sources */,
				30AD2E401CDD508700A28A0C /* Syncgroup.swift in Sources */,
				30AD2E811CDD569200A28A0C /* Strings.swift in Sources */,
				30AD2E8B1CDD56B700A28A0C /* NSNumber.swift in Sources */,
				30AD2E451CDD508700A28A0C /* Watch.swift in Sources */,
				30AD2E821CDD569200A28A0C /* Threads.swift in Sources */,
				30AD2E3B1CDD508700A28A0C /* Security.swift in Sources */,
				30AD2E801CDD569200A28A0C /* Logging.swift in Sources */,
				30AD2E351CDD508700A28A0C /* Errors.swift in Sources */,
				30AD2E361CDD508700A28A0C /* Id.swift in Sources */,
				30AD2E381CDD508700A28A0C /* Marshal.swift in Sources */,
				30AD2E3D1CDD508700A28A0C /* Stream.swift in Sources */,
				30AD2E321CDD508700A28A0C /* Blob.swift in Sources */,
				30AD2E7F1CDD569200A28A0C /* Locking.swift in Sources */,
				30AD2E441CDD508700A28A0C /* Vom.swift in Sources */,
				30AD2E3C1CDD508700A28A0C /* Service.swift in Sources */,
				30AD2E341CDD508700A28A0C /* Database.swift in Sources */,
				30AD2E311CDD508700A28A0C /* Batch.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		30AD2E051CDD506700A28A0C /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				30AD2E4D1CDD508D00A28A0C /* JsonTests.swift in Sources */,
				30AD2E4E1CDD508D00A28A0C /* NSNumberTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		30AD2E0C1CDD506700A28A0C /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 30AD2DFE1CDD506700A28A0C /* SyncbaseCore */;
			targetProxy = 30AD2E0B1CDD506700A28A0C /* PBXContainerItemProxy */;
		};
		30D45FD01CE14ECF004A59FA /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "Alamofire iOS";
			targetProxy = 30D45FCF1CE14ECF004A59FA /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		30AD2E111CDD506700A28A0C /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				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[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;
				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks @loader_path/Frameworks";
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_LDFLAGS = "-ObjC";
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
				VALID_ARCHS = arm64;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Debug;
		};
		30AD2E121CDD506700A28A0C /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				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[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;
				LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks @loader_path/Frameworks";
				MTL_ENABLE_DEBUG_INFO = NO;
				OTHER_LDFLAGS = "-ObjC";
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
				VALID_ARCHS = arm64;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		30AD2E141CDD506700A28A0C /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(PROJECT_DIR)/Generated",
					"\"$(SRCROOT)/../../../third_party/swift/google_signin_sdk_3_0_0\"",
				);
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseCore;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		30AD2E151CDD506700A28A0C /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					"$(PROJECT_DIR)/Generated",
					"\"$(SRCROOT)/../../../third_party/swift/google_signin_sdk_3_0_0\"",
				);
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseCore;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
			};
			name = Release;
		};
		30AD2E171CDD506700A28A0C /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseCoreTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		30AD2E181CDD506700A28A0C /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				INFOPLIST_FILE = Tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseCoreTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		30AD2DF91CDD506700A28A0C /* Build configuration list for PBXProject "SyncbaseCore" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				30AD2E111CDD506700A28A0C /* Debug */,
				30AD2E121CDD506700A28A0C /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		30AD2E131CDD506700A28A0C /* Build configuration list for PBXNativeTarget "SyncbaseCore" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				30AD2E141CDD506700A28A0C /* Debug */,
				30AD2E151CDD506700A28A0C /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		30AD2E161CDD506700A28A0C /* Build configuration list for PBXNativeTarget "SyncbaseCoreTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				30AD2E171CDD506700A28A0C /* Debug */,
				30AD2E181CDD506700A28A0C /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 30AD2DF61CDD506700A28A0C /* Project object */;
}
