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

/* Begin PBXBuildFile section */
		305A8E751CCF64E7007656D0 /* Batch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E641CCF64E7007656D0 /* Batch.swift */; };
		305A8E761CCF64E7007656D0 /* Blob.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E651CCF64E7007656D0 /* Blob.swift */; };
		305A8E771CCF64E7007656D0 /* Collection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E661CCF64E7007656D0 /* Collection.swift */; };
		305A8E781CCF64E7007656D0 /* Database.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E671CCF64E7007656D0 /* Database.swift */; };
		305A8E791CCF64E7007656D0 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E681CCF64E7007656D0 /* Errors.swift */; };
		305A8E7A1CCF64E7007656D0 /* Id.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E691CCF64E7007656D0 /* Id.swift */; };
		305A8E7B1CCF64E7007656D0 /* Marshal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E6A1CCF64E7007656D0 /* Marshal.swift */; };
		305A8E7C1CCF64E7007656D0 /* Permissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E6B1CCF64E7007656D0 /* Permissions.swift */; };
		305A8E7D1CCF64E7007656D0 /* Row.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E6C1CCF64E7007656D0 /* Row.swift */; };
		305A8E7E1CCF64E7007656D0 /* Service.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E6D1CCF64E7007656D0 /* Service.swift */; };
		305A8E7F1CCF64E7007656D0 /* Stream.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E6E1CCF64E7007656D0 /* Stream.swift */; };
		305A8E801CCF64E7007656D0 /* Syncgroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E6F1CCF64E7007656D0 /* Syncgroup.swift */; };
		305A8E811CCF64E7007656D0 /* Util.h in Headers */ = {isa = PBXBuildFile; fileRef = 305A8E701CCF64E7007656D0 /* Util.h */; settings = {ATTRIBUTES = (Public, ); }; };
		305A8E821CCF64E7007656D0 /* Util.m in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E711CCF64E7007656D0 /* Util.m */; };
		305A8E831CCF64E7007656D0 /* Util.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E721CCF64E7007656D0 /* Util.swift */; };
		305A8E841CCF64E7007656D0 /* Vom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E731CCF64E7007656D0 /* Vom.swift */; };
		305A8E851CCF64E7007656D0 /* Watch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 305A8E741CCF64E7007656D0 /* Watch.swift */; };
		30B111C41CCEA9C7000F3750 /* NSNumberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B111C31CCEA9C7000F3750 /* NSNumberTests.swift */; };
		30B1120B1CCF586C000F3750 /* JsonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B1120A1CCF586C000F3750 /* JsonTests.swift */; };
		93B980D31CAB9B6100CE42E0 /* Principal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93B980D21CAB9B6100CE42E0 /* Principal.swift */; };
		93B980DC1CAB9D3D00CE42E0 /* Syncbase.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B980DB1CAB9D3D00CE42E0 /* Syncbase.h */; settings = {ATTRIBUTES = (Public, ); }; };
		93B980E31CAB9D3D00CE42E0 /* Syncbase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93B980D91CAB9D3D00CE42E0 /* Syncbase.framework */; };
		93B980F31CAB9D6E00CE42E0 /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93B980F21CAB9D6E00CE42E0 /* Security.swift */; };
		93B980F51CAB9D9000CE42E0 /* Syncbase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93B980F41CAB9D9000CE42E0 /* Syncbase.swift */; };
		93BC21591C9E199F0074C612 /* VanadiumCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 93BC21581C9E199F0074C612 /* VanadiumCore.h */; settings = {ATTRIBUTES = (Public, ); }; };
		93BC21601C9E199F0074C612 /* VanadiumCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93BC21551C9E199F0074C612 /* VanadiumCore.framework */; };
		93BC21F21C9E1B540074C612 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21711C9E1B540074C612 /* Errors.swift */; };
		93BC21F31C9E1B540074C612 /* Refs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21721C9E1B540074C612 /* Refs.swift */; };
		93BC21F41C9E1B540074C612 /* Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21731C9E1B540074C612 /* Types.swift */; };
		93BC21F51C9E1B540074C612 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21751C9E1B540074C612 /* Context.swift */; };
		93BC21F61C9E1B540074C612 /* RPC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21771C9E1B540074C612 /* RPC.swift */; };
		93BC21F71C9E1B540074C612 /* Runtime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21791C9E1B540074C612 /* Runtime.swift */; };
		93BC21F81C9E1B540074C612 /* Dates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217B1C9E1B540074C612 /* Dates.swift */; };
		93BC21F91C9E1B540074C612 /* Locking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217C1C9E1B540074C612 /* Locking.swift */; };
		93BC21FA1C9E1B540074C612 /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217D1C9E1B540074C612 /* Logging.swift */; };
		93BC21FB1C9E1B540074C612 /* Promise.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217E1C9E1B540074C612 /* Promise.swift */; };
		93BC21FC1C9E1B540074C612 /* Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC217F1C9E1B540074C612 /* Strings.swift */; };
		93BC21FD1C9E1B540074C612 /* Threads.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21801C9E1B540074C612 /* Threads.swift */; };
		93BC22001C9E1B540074C612 /* VdlTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21841C9E1B540074C612 /* VdlTypes.swift */; };
		93BC22011C9E1B540074C612 /* VdlUtil.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC21851C9E1B540074C612 /* VdlUtil.swift */; };
		93BC22021C9E1B540074C612 /* cgo_exports.h in Headers */ = {isa = PBXBuildFile; fileRef = 93BC21871C9E1B540074C612 /* cgo_exports.h */; settings = {ATTRIBUTES = (Public, ); }; };
		93BC22031C9E1B540074C612 /* go_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 93BC21881C9E1B540074C612 /* go_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
		93BC22041C9E1B540074C612 /* v23_amd64.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 93BC21891C9E1B540074C612 /* v23_amd64.a */; };
		93BC22051C9E1B540074C612 /* v23_arm64.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 93BC218A1C9E1B540074C612 /* v23_arm64.a */; };
		93BC22441C9E1BE00074C612 /* CoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC22421C9E1BE00074C612 /* CoreTests.swift */; };
		93BC22451C9E1BE00074C612 /* PromiseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93BC22431C9E1BE00074C612 /* PromiseTests.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		93B980E41CAB9D3D00CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93BC214C1C9E199F0074C612 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 93B980D81CAB9D3D00CE42E0;
			remoteInfo = Syncbase;
		};
		93B980F01CAB9D5800CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93BC214C1C9E199F0074C612 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 93BC21541C9E199F0074C612;
			remoteInfo = VanadiumCore;
		};
		93B981011CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = F8111E3319A95C8B0040E7D1;
			remoteInfo = "Alamofire iOS";
		};
		93B981031CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = F8111E3E19A95C8B0040E7D1;
			remoteInfo = "Alamofire iOS Tests";
		};
		93B981051CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 4DD67C0B1A5C55C900ED2280;
			remoteInfo = "Alamofire OSX";
		};
		93B981071CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = F829C6B21A7A94F100A2CD59;
			remoteInfo = "Alamofire OSX Tests";
		};
		93B981091CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 4CF626EF1BA7CB3E0011A099;
			remoteInfo = "Alamofire tvOS";
		};
		93B9810B1CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = 4CF626F81BA7CB3E0011A099;
			remoteInfo = "Alamofire tvOS Tests";
		};
		93B9810D1CAC57B400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 2;
			remoteGlobalIDString = E4202FE01B667AA100C997FB;
			remoteInfo = "Alamofire watchOS";
		};
		93B9810F1CAC57F400CE42E0 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
			proxyType = 1;
			remoteGlobalIDString = F8111E3219A95C8B0040E7D1;
			remoteInfo = "Alamofire iOS";
		};
		93BC21611C9E199F0074C612 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 93BC214C1C9E199F0074C612 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 93BC21541C9E199F0074C612;
			remoteInfo = VanadiumCore;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		305A8E641CCF64E7007656D0 /* Batch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Batch.swift; sourceTree = "<group>"; };
		305A8E651CCF64E7007656D0 /* Blob.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Blob.swift; sourceTree = "<group>"; };
		305A8E661CCF64E7007656D0 /* Collection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Collection.swift; sourceTree = "<group>"; };
		305A8E671CCF64E7007656D0 /* Database.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Database.swift; sourceTree = "<group>"; };
		305A8E681CCF64E7007656D0 /* Errors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = "<group>"; };
		305A8E691CCF64E7007656D0 /* Id.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Id.swift; sourceTree = "<group>"; };
		305A8E6A1CCF64E7007656D0 /* Marshal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Marshal.swift; sourceTree = "<group>"; };
		305A8E6B1CCF64E7007656D0 /* Permissions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Permissions.swift; sourceTree = "<group>"; };
		305A8E6C1CCF64E7007656D0 /* Row.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Row.swift; sourceTree = "<group>"; };
		305A8E6D1CCF64E7007656D0 /* Service.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Service.swift; sourceTree = "<group>"; };
		305A8E6E1CCF64E7007656D0 /* Stream.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Stream.swift; sourceTree = "<group>"; };
		305A8E6F1CCF64E7007656D0 /* Syncgroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Syncgroup.swift; sourceTree = "<group>"; };
		305A8E701CCF64E7007656D0 /* Util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Util.h; sourceTree = "<group>"; };
		305A8E711CCF64E7007656D0 /* Util.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Util.m; sourceTree = "<group>"; };
		305A8E721CCF64E7007656D0 /* Util.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Util.swift; sourceTree = "<group>"; };
		305A8E731CCF64E7007656D0 /* Vom.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Vom.swift; sourceTree = "<group>"; };
		305A8E741CCF64E7007656D0 /* Watch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Watch.swift; sourceTree = "<group>"; };
		30B111C31CCEA9C7000F3750 /* NSNumberTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSNumberTests.swift; sourceTree = "<group>"; };
		30B1120A1CCF586C000F3750 /* JsonTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JsonTests.swift; sourceTree = "<group>"; };
		93B980D21CAB9B6100CE42E0 /* Principal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Principal.swift; path = security/Principal.swift; sourceTree = "<group>"; };
		93B980D91CAB9D3D00CE42E0 /* Syncbase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Syncbase.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		93B980DB1CAB9D3D00CE42E0 /* Syncbase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Syncbase.h; sourceTree = "<group>"; };
		93B980DD1CAB9D3D00CE42E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		93B980E21CAB9D3D00CE42E0 /* SyncbaseTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SyncbaseTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		93B980E91CAB9D3D00CE42E0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		93B980F21CAB9D6E00CE42E0 /* Security.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Security.swift; sourceTree = "<group>"; };
		93B980F41CAB9D9000CE42E0 /* Syncbase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Syncbase.swift; sourceTree = "<group>"; };
		93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Alamofire.xcodeproj; path = "../../../third_party/swift/Alamofire-3.3.0/Alamofire.xcodeproj"; sourceTree = "<group>"; };
		93BC21551C9E199F0074C612 /* VanadiumCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VanadiumCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		93BC21581C9E199F0074C612 /* VanadiumCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VanadiumCore.h; sourceTree = "<group>"; };
		93BC215A1C9E199F0074C612 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		93BC215F1C9E199F0074C612 /* VanadiumCoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VanadiumCoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		93BC21661C9E199F0074C612 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		93BC21711C9E1B540074C612 /* Errors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Errors.swift; sourceTree = "<group>"; };
		93BC21721C9E1B540074C612 /* Refs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Refs.swift; sourceTree = "<group>"; };
		93BC21731C9E1B540074C612 /* Types.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Types.swift; sourceTree = "<group>"; };
		93BC21751C9E1B540074C612 /* Context.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Context.swift; sourceTree = "<group>"; };
		93BC21771C9E1B540074C612 /* RPC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RPC.swift; sourceTree = "<group>"; };
		93BC21791C9E1B540074C612 /* Runtime.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Runtime.swift; sourceTree = "<group>"; };
		93BC217B1C9E1B540074C612 /* Dates.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Dates.swift; sourceTree = "<group>"; };
		93BC217C1C9E1B540074C612 /* Locking.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Locking.swift; sourceTree = "<group>"; };
		93BC217D1C9E1B540074C612 /* Logging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = "<group>"; };
		93BC217E1C9E1B540074C612 /* Promise.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Promise.swift; sourceTree = "<group>"; };
		93BC217F1C9E1B540074C612 /* Strings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Strings.swift; sourceTree = "<group>"; };
		93BC21801C9E1B540074C612 /* Threads.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Threads.swift; sourceTree = "<group>"; };
		93BC21841C9E1B540074C612 /* VdlTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VdlTypes.swift; sourceTree = "<group>"; };
		93BC21851C9E1B540074C612 /* VdlUtil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = VdlUtil.swift; sourceTree = "<group>"; };
		93BC21871C9E1B540074C612 /* cgo_exports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cgo_exports.h; sourceTree = "<group>"; };
		93BC21881C9E1B540074C612 /* go_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = go_types.h; sourceTree = "<group>"; };
		93BC21891C9E1B540074C612 /* v23_amd64.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = v23_amd64.a; sourceTree = "<group>"; };
		93BC218A1C9E1B540074C612 /* v23_arm64.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = v23_arm64.a; sourceTree = "<group>"; };
		93BC22421C9E1BE00074C612 /* CoreTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoreTests.swift; sourceTree = "<group>"; };
		93BC22431C9E1BE00074C612 /* PromiseTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PromiseTests.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		93B980D51CAB9D3D00CE42E0 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93B980DF1CAB9D3D00CE42E0 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93B980E31CAB9D3D00CE42E0 /* Syncbase.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC21511C9E199F0074C612 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC22051C9E1B540074C612 /* v23_arm64.a in Frameworks */,
				93BC22041C9E1B540074C612 /* v23_amd64.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC215C1C9E199F0074C612 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC21601C9E199F0074C612 /* VanadiumCore.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		93B980D11CAB9B3E00CE42E0 /* security */ = {
			isa = PBXGroup;
			children = (
				93B980D21CAB9B6100CE42E0 /* Principal.swift */,
			);
			name = security;
			sourceTree = "<group>";
		};
		93B980DA1CAB9D3D00CE42E0 /* Syncbase */ = {
			isa = PBXGroup;
			children = (
				305A8E641CCF64E7007656D0 /* Batch.swift */,
				305A8E651CCF64E7007656D0 /* Blob.swift */,
				305A8E661CCF64E7007656D0 /* Collection.swift */,
				305A8E671CCF64E7007656D0 /* Database.swift */,
				305A8E681CCF64E7007656D0 /* Errors.swift */,
				305A8E691CCF64E7007656D0 /* Id.swift */,
				93B980DD1CAB9D3D00CE42E0 /* Info.plist */,
				305A8E6A1CCF64E7007656D0 /* Marshal.swift */,
				305A8E6B1CCF64E7007656D0 /* Permissions.swift */,
				305A8E6C1CCF64E7007656D0 /* Row.swift */,
				93B980F21CAB9D6E00CE42E0 /* Security.swift */,
				305A8E6D1CCF64E7007656D0 /* Service.swift */,
				305A8E6E1CCF64E7007656D0 /* Stream.swift */,
				93B980DB1CAB9D3D00CE42E0 /* Syncbase.h */,
				93B980F41CAB9D9000CE42E0 /* Syncbase.swift */,
				305A8E6F1CCF64E7007656D0 /* Syncgroup.swift */,
				305A8E701CCF64E7007656D0 /* Util.h */,
				305A8E711CCF64E7007656D0 /* Util.m */,
				305A8E721CCF64E7007656D0 /* Util.swift */,
				305A8E731CCF64E7007656D0 /* Vom.swift */,
				305A8E741CCF64E7007656D0 /* Watch.swift */,
			);
			path = Syncbase;
			sourceTree = "<group>";
		};
		93B980E61CAB9D3D00CE42E0 /* SyncbaseTests */ = {
			isa = PBXGroup;
			children = (
				93B980E91CAB9D3D00CE42E0 /* Info.plist */,
				30B111C31CCEA9C7000F3750 /* NSNumberTests.swift */,
				30B1120A1CCF586C000F3750 /* JsonTests.swift */,
			);
			path = SyncbaseTests;
			sourceTree = "<group>";
		};
		93B980F81CAC57B400CE42E0 /* Products */ = {
			isa = PBXGroup;
			children = (
				93B981021CAC57B400CE42E0 /* Alamofire.framework */,
				93B981041CAC57B400CE42E0 /* Alamofire iOS Tests.xctest */,
				93B981061CAC57B400CE42E0 /* Alamofire.framework */,
				93B981081CAC57B400CE42E0 /* Alamofire OSX Tests.xctest */,
				93B9810A1CAC57B400CE42E0 /* Alamofire.framework */,
				93B9810C1CAC57B400CE42E0 /* Alamofire tvOS Tests.xctest */,
				93B9810E1CAC57B400CE42E0 /* Alamofire.framework */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		93BC214B1C9E199F0074C612 = {
			isa = PBXGroup;
			children = (
				93BC21571C9E199F0074C612 /* VanadiumCore */,
				93BC21631C9E199F0074C612 /* VanadiumCoreTests */,
				93B980DA1CAB9D3D00CE42E0 /* Syncbase */,
				93B980E61CAB9D3D00CE42E0 /* SyncbaseTests */,
				93BC21561C9E199F0074C612 /* Products */,
				93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */,
			);
			sourceTree = "<group>";
		};
		93BC21561C9E199F0074C612 /* Products */ = {
			isa = PBXGroup;
			children = (
				93BC21551C9E199F0074C612 /* VanadiumCore.framework */,
				93BC215F1C9E199F0074C612 /* VanadiumCoreTests.xctest */,
				93B980D91CAB9D3D00CE42E0 /* Syncbase.framework */,
				93B980E21CAB9D3D00CE42E0 /* SyncbaseTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		93BC21571C9E199F0074C612 /* VanadiumCore */ = {
			isa = PBXGroup;
			children = (
				93BC21581C9E199F0074C612 /* VanadiumCore.h */,
				93BC215A1C9E199F0074C612 /* Info.plist */,
				93BC21701C9E1B540074C612 /* bridge */,
				93BC21741C9E1B540074C612 /* context */,
				93BC21761C9E1B540074C612 /* rpc */,
				93BC21781C9E1B540074C612 /* rt */,
				93B980D11CAB9B3E00CE42E0 /* security */,
				93BC217A1C9E1B540074C612 /* util */,
				93BC21821C9E1B540074C612 /* vdl */,
				93BC21861C9E1B540074C612 /* x */,
			);
			path = VanadiumCore;
			sourceTree = "<group>";
		};
		93BC21631C9E199F0074C612 /* VanadiumCoreTests */ = {
			isa = PBXGroup;
			children = (
				93BC21661C9E199F0074C612 /* Info.plist */,
				93BC22421C9E1BE00074C612 /* CoreTests.swift */,
				93BC22431C9E1BE00074C612 /* PromiseTests.swift */,
			);
			path = VanadiumCoreTests;
			sourceTree = "<group>";
		};
		93BC21701C9E1B540074C612 /* bridge */ = {
			isa = PBXGroup;
			children = (
				93BC21711C9E1B540074C612 /* Errors.swift */,
				93BC21721C9E1B540074C612 /* Refs.swift */,
				93BC21731C9E1B540074C612 /* Types.swift */,
			);
			path = bridge;
			sourceTree = "<group>";
		};
		93BC21741C9E1B540074C612 /* context */ = {
			isa = PBXGroup;
			children = (
				93BC21751C9E1B540074C612 /* Context.swift */,
			);
			path = context;
			sourceTree = "<group>";
		};
		93BC21761C9E1B540074C612 /* rpc */ = {
			isa = PBXGroup;
			children = (
				93BC21771C9E1B540074C612 /* RPC.swift */,
			);
			path = rpc;
			sourceTree = "<group>";
		};
		93BC21781C9E1B540074C612 /* rt */ = {
			isa = PBXGroup;
			children = (
				93BC21791C9E1B540074C612 /* Runtime.swift */,
			);
			path = rt;
			sourceTree = "<group>";
		};
		93BC217A1C9E1B540074C612 /* util */ = {
			isa = PBXGroup;
			children = (
				93BC217B1C9E1B540074C612 /* Dates.swift */,
				93BC217C1C9E1B540074C612 /* Locking.swift */,
				93BC217D1C9E1B540074C612 /* Logging.swift */,
				93BC217E1C9E1B540074C612 /* Promise.swift */,
				93BC217F1C9E1B540074C612 /* Strings.swift */,
				93BC21801C9E1B540074C612 /* Threads.swift */,
			);
			path = util;
			sourceTree = "<group>";
		};
		93BC21821C9E1B540074C612 /* vdl */ = {
			isa = PBXGroup;
			children = (
				93BC21841C9E1B540074C612 /* VdlTypes.swift */,
				93BC21851C9E1B540074C612 /* VdlUtil.swift */,
			);
			path = vdl;
			sourceTree = "<group>";
		};
		93BC21861C9E1B540074C612 /* x */ = {
			isa = PBXGroup;
			children = (
				93BC21871C9E1B540074C612 /* cgo_exports.h */,
				93BC21881C9E1B540074C612 /* go_types.h */,
				93BC21891C9E1B540074C612 /* v23_amd64.a */,
				93BC218A1C9E1B540074C612 /* v23_arm64.a */,
				93BC218B1C9E1B540074C612 /* vdl */,
			);
			path = x;
			sourceTree = "<group>";
		};
		93BC218B1C9E1B540074C612 /* vdl */ = {
			isa = PBXGroup;
			children = (
			);
			path = vdl;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		93B980D61CAB9D3D00CE42E0 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				305A8E811CCF64E7007656D0 /* Util.h in Headers */,
				93B980DC1CAB9D3D00CE42E0 /* Syncbase.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC21521C9E199F0074C612 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC22021C9E1B540074C612 /* cgo_exports.h in Headers */,
				93BC22031C9E1B540074C612 /* go_types.h in Headers */,
				93BC21591C9E199F0074C612 /* VanadiumCore.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		93B980D81CAB9D3D00CE42E0 /* Syncbase */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 93B980EA1CAB9D3D00CE42E0 /* Build configuration list for PBXNativeTarget "Syncbase" */;
			buildPhases = (
				93B980D41CAB9D3D00CE42E0 /* Sources */,
				93B980D51CAB9D3D00CE42E0 /* Frameworks */,
				93B980D61CAB9D3D00CE42E0 /* Headers */,
				93B980D71CAB9D3D00CE42E0 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				93B981101CAC57F400CE42E0 /* PBXTargetDependency */,
				93B980F11CAB9D5800CE42E0 /* PBXTargetDependency */,
			);
			name = Syncbase;
			productName = Syncbase;
			productReference = 93B980D91CAB9D3D00CE42E0 /* Syncbase.framework */;
			productType = "com.apple.product-type.framework";
		};
		93B980E11CAB9D3D00CE42E0 /* SyncbaseTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 93B980ED1CAB9D3D00CE42E0 /* Build configuration list for PBXNativeTarget "SyncbaseTests" */;
			buildPhases = (
				93B980DE1CAB9D3D00CE42E0 /* Sources */,
				93B980DF1CAB9D3D00CE42E0 /* Frameworks */,
				93B980E01CAB9D3D00CE42E0 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				93B980E51CAB9D3D00CE42E0 /* PBXTargetDependency */,
			);
			name = SyncbaseTests;
			productName = SyncbaseTests;
			productReference = 93B980E21CAB9D3D00CE42E0 /* SyncbaseTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		93BC21541C9E199F0074C612 /* VanadiumCore */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 93BC21691C9E199F0074C612 /* Build configuration list for PBXNativeTarget "VanadiumCore" */;
			buildPhases = (
				93BC216F1C9E19E50074C612 /* Warn on TODO and FIXME */,
				93BC21501C9E199F0074C612 /* Sources */,
				93BC21511C9E199F0074C612 /* Frameworks */,
				93BC21521C9E199F0074C612 /* Headers */,
				93BC21531C9E199F0074C612 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = VanadiumCore;
			productName = VanadiumCore;
			productReference = 93BC21551C9E199F0074C612 /* VanadiumCore.framework */;
			productType = "com.apple.product-type.framework";
		};
		93BC215E1C9E199F0074C612 /* VanadiumCoreTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 93BC216C1C9E199F0074C612 /* Build configuration list for PBXNativeTarget "VanadiumCoreTests" */;
			buildPhases = (
				93BC215B1C9E199F0074C612 /* Sources */,
				93BC215C1C9E199F0074C612 /* Frameworks */,
				93BC215D1C9E199F0074C612 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				93BC21621C9E199F0074C612 /* PBXTargetDependency */,
			);
			name = VanadiumCoreTests;
			productName = VanadiumCoreTests;
			productReference = 93BC215F1C9E199F0074C612 /* VanadiumCoreTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		93BC214C1C9E199F0074C612 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0730;
				LastUpgradeCheck = 0720;
				ORGANIZATIONNAME = "Google, Inc.";
				TargetAttributes = {
					93B980D81CAB9D3D00CE42E0 = {
						CreatedOnToolsVersion = 7.3;
					};
					93B980E11CAB9D3D00CE42E0 = {
						CreatedOnToolsVersion = 7.3;
					};
					93BC21541C9E199F0074C612 = {
						CreatedOnToolsVersion = 7.2.1;
					};
					93BC215E1C9E199F0074C612 = {
						CreatedOnToolsVersion = 7.2.1;
					};
				};
			};
			buildConfigurationList = 93BC214F1C9E199F0074C612 /* Build configuration list for PBXProject "Vanadium" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 93BC214B1C9E199F0074C612;
			productRefGroup = 93BC21561C9E199F0074C612 /* Products */;
			projectDirPath = "";
			projectReferences = (
				{
					ProductGroup = 93B980F81CAC57B400CE42E0 /* Products */;
					ProjectRef = 93B980F71CAC57B400CE42E0 /* Alamofire.xcodeproj */;
				},
			);
			projectRoot = "";
			targets = (
				93BC21541C9E199F0074C612 /* VanadiumCore */,
				93BC215E1C9E199F0074C612 /* VanadiumCoreTests */,
				93B980D81CAB9D3D00CE42E0 /* Syncbase */,
				93B980E11CAB9D3D00CE42E0 /* SyncbaseTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXReferenceProxy section */
		93B981021CAC57B400CE42E0 /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 93B981011CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B981041CAC57B400CE42E0 /* Alamofire iOS Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = "Alamofire iOS Tests.xctest";
			remoteRef = 93B981031CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B981061CAC57B400CE42E0 /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 93B981051CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B981081CAC57B400CE42E0 /* Alamofire OSX Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = "Alamofire OSX Tests.xctest";
			remoteRef = 93B981071CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B9810A1CAC57B400CE42E0 /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 93B981091CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B9810C1CAC57B400CE42E0 /* Alamofire tvOS Tests.xctest */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.cfbundle;
			path = "Alamofire tvOS Tests.xctest";
			remoteRef = 93B9810B1CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		93B9810E1CAC57B400CE42E0 /* Alamofire.framework */ = {
			isa = PBXReferenceProxy;
			fileType = wrapper.framework;
			path = Alamofire.framework;
			remoteRef = 93B9810D1CAC57B400CE42E0 /* PBXContainerItemProxy */;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
/* End PBXReferenceProxy section */

/* Begin PBXResourcesBuildPhase section */
		93B980D71CAB9D3D00CE42E0 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93B980E01CAB9D3D00CE42E0 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC21531C9E199F0074C612 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC215D1C9E199F0074C612 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		93BC216F1C9E19E50074C612 /* Warn on TODO and FIXME */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Warn on TODO and FIXME";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "# http://matthewmorey.com/improved-xcode-build-phases/\nKEYWORDS=\"TODO|FIXME|\\?\\?\\?:|\\!\\!\\!:\"\nfind \"${SRCROOT}\" \\( -name \"*.h\" -or -name \"*.m\" \\) -and \\( -path \"${SRCROOT}/Pods/*\" -prune -o -print0 \\) | xargs -0 egrep --with-filename --line-number --only-matching \"($KEYWORDS).*\\$\" | perl -p -e \"s/($KEYWORDS)/ warning: \\$1/\"";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		93B980D41CAB9D3D00CE42E0 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				305A8E7C1CCF64E7007656D0 /* Permissions.swift in Sources */,
				305A8E7A1CCF64E7007656D0 /* Id.swift in Sources */,
				305A8E781CCF64E7007656D0 /* Database.swift in Sources */,
				305A8E831CCF64E7007656D0 /* Util.swift in Sources */,
				305A8E761CCF64E7007656D0 /* Blob.swift in Sources */,
				305A8E801CCF64E7007656D0 /* Syncgroup.swift in Sources */,
				305A8E821CCF64E7007656D0 /* Util.m in Sources */,
				305A8E851CCF64E7007656D0 /* Watch.swift in Sources */,
				305A8E771CCF64E7007656D0 /* Collection.swift in Sources */,
				305A8E7E1CCF64E7007656D0 /* Service.swift in Sources */,
				305A8E751CCF64E7007656D0 /* Batch.swift in Sources */,
				305A8E7D1CCF64E7007656D0 /* Row.swift in Sources */,
				93B980F31CAB9D6E00CE42E0 /* Security.swift in Sources */,
				305A8E7F1CCF64E7007656D0 /* Stream.swift in Sources */,
				305A8E841CCF64E7007656D0 /* Vom.swift in Sources */,
				93B980F51CAB9D9000CE42E0 /* Syncbase.swift in Sources */,
				305A8E7B1CCF64E7007656D0 /* Marshal.swift in Sources */,
				305A8E791CCF64E7007656D0 /* Errors.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93B980DE1CAB9D3D00CE42E0 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				30B111C41CCEA9C7000F3750 /* NSNumberTests.swift in Sources */,
				30B1120B1CCF586C000F3750 /* JsonTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC21501C9E199F0074C612 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC21F41C9E1B540074C612 /* Types.swift in Sources */,
				93BC21FC1C9E1B540074C612 /* Strings.swift in Sources */,
				93BC21F51C9E1B540074C612 /* Context.swift in Sources */,
				93BC21F21C9E1B540074C612 /* Errors.swift in Sources */,
				93BC21F31C9E1B540074C612 /* Refs.swift in Sources */,
				93BC22001C9E1B540074C612 /* VdlTypes.swift in Sources */,
				93BC21F81C9E1B540074C612 /* Dates.swift in Sources */,
				93BC21F71C9E1B540074C612 /* Runtime.swift in Sources */,
				93BC22011C9E1B540074C612 /* VdlUtil.swift in Sources */,
				93B980D31CAB9B6100CE42E0 /* Principal.swift in Sources */,
				93BC21FD1C9E1B540074C612 /* Threads.swift in Sources */,
				93BC21F61C9E1B540074C612 /* RPC.swift in Sources */,
				93BC21FB1C9E1B540074C612 /* Promise.swift in Sources */,
				93BC21FA1C9E1B540074C612 /* Logging.swift in Sources */,
				93BC21F91C9E1B540074C612 /* Locking.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		93BC215B1C9E199F0074C612 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				93BC22441C9E1BE00074C612 /* CoreTests.swift in Sources */,
				93BC22451C9E1BE00074C612 /* PromiseTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		93B980E51CAB9D3D00CE42E0 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 93B980D81CAB9D3D00CE42E0 /* Syncbase */;
			targetProxy = 93B980E41CAB9D3D00CE42E0 /* PBXContainerItemProxy */;
		};
		93B980F11CAB9D5800CE42E0 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 93BC21541C9E199F0074C612 /* VanadiumCore */;
			targetProxy = 93B980F01CAB9D5800CE42E0 /* PBXContainerItemProxy */;
		};
		93B981101CAC57F400CE42E0 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			name = "Alamofire iOS";
			targetProxy = 93B9810F1CAC57F400CE42E0 /* PBXContainerItemProxy */;
		};
		93BC21621C9E199F0074C612 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 93BC21541C9E199F0074C612 /* VanadiumCore */;
			targetProxy = 93BC21611C9E199F0074C612 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		93B980EB1CAB9D3D00CE42E0 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Syncbase/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.Syncbase;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		93B980EC1CAB9D3D00CE42E0 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ENABLE_MODULES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = Syncbase/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.Syncbase;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
			};
			name = Release;
		};
		93B980EE1CAB9D3D00CE42E0 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ANALYZER_NONNULL = YES;
				INFOPLIST_FILE = SyncbaseTests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 9.3;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		93B980EF1CAB9D3D00CE42E0 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ANALYZER_NONNULL = YES;
				INFOPLIST_FILE = SyncbaseTests/Info.plist;
				IPHONEOS_DEPLOYMENT_TARGET = 9.3;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.SyncbaseTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		93BC21671C9E199F0074C612 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
				CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
				CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = 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_BITCODE = NO;
				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 = 8.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;
		};
		93BC21681C9E199F0074C612 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES;
				CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES;
				CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = 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_BITCODE = NO;
				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 = 8.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;
		};
		93BC216A1C9E199F0074C612 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = VanadiumCore/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)/VanadiumCore",
					"$(PROJECT_DIR)/VanadiumCore/x",
				);
				PRODUCT_BUNDLE_IDENTIFIER = io.v.VanadiumCore;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				VALID_ARCHS = arm64;
			};
			name = Debug;
		};
		93BC216B1C9E199F0074C612 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				INFOPLIST_FILE = VanadiumCore/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)/VanadiumCore",
					"$(PROJECT_DIR)/VanadiumCore/x",
				);
				PRODUCT_BUNDLE_IDENTIFIER = io.v.VanadiumCore;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
				VALID_ARCHS = arm64;
			};
			name = Release;
		};
		93BC216D1C9E199F0074C612 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				INFOPLIST_FILE = VanadiumCoreTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.VanadiumCoreTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
			};
			name = Debug;
		};
		93BC216E1C9E199F0074C612 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_MODULES = YES;
				INFOPLIST_FILE = VanadiumCoreTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = io.v.VanadiumCoreTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		93B980EA1CAB9D3D00CE42E0 /* Build configuration list for PBXNativeTarget "Syncbase" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93B980EB1CAB9D3D00CE42E0 /* Debug */,
				93B980EC1CAB9D3D00CE42E0 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		93B980ED1CAB9D3D00CE42E0 /* Build configuration list for PBXNativeTarget "SyncbaseTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93B980EE1CAB9D3D00CE42E0 /* Debug */,
				93B980EF1CAB9D3D00CE42E0 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		93BC214F1C9E199F0074C612 /* Build configuration list for PBXProject "Vanadium" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93BC21671C9E199F0074C612 /* Debug */,
				93BC21681C9E199F0074C612 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		93BC21691C9E199F0074C612 /* Build configuration list for PBXNativeTarget "VanadiumCore" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93BC216A1C9E199F0074C612 /* Debug */,
				93BC216B1C9E199F0074C612 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		93BC216C1C9E199F0074C612 /* Build configuration list for PBXNativeTarget "VanadiumCoreTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				93BC216D1C9E199F0074C612 /* Debug */,
				93BC216E1C9E199F0074C612 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 93BC214C1C9E199F0074C612 /* Project object */;
}
