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

/* Begin PBXBuildFile section */
		D33849E91D67752100087F7D /* TDExchanger.h in Headers */ = {isa = PBXBuildFile; fileRef = D33849E81D67752100087F7D /* TDExchanger.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D33849EB1D67752D00087F7D /* TDExchanger.m in Sources */ = {isa = PBXBuildFile; fileRef = D33849EA1D67752D00087F7D /* TDExchanger.m */; };
		D33849ED1D67786800087F7D /* TDExchangerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D33849EC1D67786800087F7D /* TDExchangerTests.m */; };
		D34700C41B0ED4DE0099D78F /* TDPool.m in Sources */ = {isa = PBXBuildFile; fileRef = D34700C21B0ED4DE0099D78F /* TDPool.m */; };
		D34700C61B0ED4EA0099D78F /* TDPool.h in Headers */ = {isa = PBXBuildFile; fileRef = D34700C51B0ED4EA0099D78F /* TDPool.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D34700C91B0EDBF60099D78F /* TDPoolTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D34700C71B0ED9CC0099D78F /* TDPoolTests.m */; };
		D36CB44720ED3F060029669D /* TDGamePlayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D36CB44520ED3F060029669D /* TDGamePlayer.m */; };
		D36CB44B20ED48BB0029669D /* TDGamePlayerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D36CB44A20ED48BB0029669D /* TDGamePlayerTests.m */; };
		D36CB45420ED64260029669D /* TDGamePlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = D36CB45320ED64260029669D /* TDGamePlayer.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D386934F1F9C2D2400928048 /* TDLinkedQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = D386934D1F9C2D2400928048 /* TDLinkedQueue.m */; };
		D38693511F9C2DFF00928048 /* TDLinkedQueueTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D38693501F9C2D5F00928048 /* TDLinkedQueueTests.m */; };
		D38693531F9C2E3200928048 /* TDLinkedQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = D38693521F9C2E2800928048 /* TDLinkedQueue.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D3AF43AE1A658078005C309E /* TDBoundedBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43A61A658078005C309E /* TDBoundedBuffer.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D3AF43AF1A658078005C309E /* TDChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43A71A658078005C309E /* TDChannel.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D3AF43B01A658078005C309E /* TDInterpreterSync.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43A81A658078005C309E /* TDInterpreterSync.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D3AF43B11A658078005C309E /* TDSemaphore.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43A91A658078005C309E /* TDSemaphore.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D3AF43B31A658078005C309E /* TDSynchronousChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43AB1A658078005C309E /* TDSynchronousChannel.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D3AF43B41A658078005C309E /* TDThreadUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43AC1A658078005C309E /* TDThreadUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D3AF43B51A658078005C309E /* TDThreshold.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43AD1A658078005C309E /* TDThreshold.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D3AF43BB1A65809A005C309E /* TDBoundedBuffer.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43B61A65809A005C309E /* TDBoundedBuffer.m */; };
		D3AF43BC1A65809A005C309E /* TDInterpreterSync.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43B71A65809A005C309E /* TDInterpreterSync.m */; };
		D3AF43BD1A65809A005C309E /* TDSemaphore.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43B81A65809A005C309E /* TDSemaphore.m */; };
		D3AF43BE1A65809A005C309E /* TDSynchronousChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43B91A65809A005C309E /* TDSynchronousChannel.m */; };
		D3AF43BF1A65809A005C309E /* TDThreshold.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43BA1A65809A005C309E /* TDThreshold.m */; };
		D3AF43C81A65811F005C309E /* TDBaseTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43C01A65811F005C309E /* TDBaseTestCase.h */; };
		D3AF43CD1A65811F005C309E /* TDTest.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43C51A65811F005C309E /* TDTest.h */; };
		D3AF43D01A658166005C309E /* TDTest.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43C61A65811F005C309E /* TDTest.m */; };
		D3AF43D11A658166005C309E /* TDBaseTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43C11A65811F005C309E /* TDBaseTestCase.m */; };
		D3AF43D21A658166005C309E /* TDSemaphoreTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43C31A65811F005C309E /* TDSemaphoreTests.m */; };
		D3AF43D31A658166005C309E /* TDBoundedBufferTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43C21A65811F005C309E /* TDBoundedBufferTests.m */; };
		D3AF43D41A658166005C309E /* TDSynchronousChannelTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43C41A65811F005C309E /* TDSynchronousChannelTests.m */; };
		D3AF43D51A658166005C309E /* TDThresholdTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43C71A65811F005C309E /* TDThresholdTests.m */; };
		D3AF43E51A659AFE005C309E /* TDTrigger.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43E41A659AFE005C309E /* TDTrigger.m */; };
		D3AF43E71A659B01005C309E /* TDTrigger.h in Headers */ = {isa = PBXBuildFile; fileRef = D3AF43E61A659B01005C309E /* TDTrigger.h */; settings = {ATTRIBUTES = (Public, ); }; };
		D3AF43E91A659BEA005C309E /* TDTriggerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D3AF43E81A659BEA005C309E /* TDTriggerTests.m */; };
		D3C0C74D1A641527004C8B9A /* TDThreadUtils.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3C0C7411A641526004C8B9A /* TDThreadUtils.framework */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		D3C0C74E1A641527004C8B9A /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = D3C0C7381A641526004C8B9A /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = D3C0C7401A641526004C8B9A;
			remoteInfo = TDThreadUtils;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		D33849E81D67752100087F7D /* TDExchanger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDExchanger.h; path = include/TDThreadUtils/TDExchanger.h; sourceTree = SOURCE_ROOT; };
		D33849EA1D67752D00087F7D /* TDExchanger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDExchanger.m; path = src/TDExchanger.m; sourceTree = SOURCE_ROOT; };
		D33849EC1D67786800087F7D /* TDExchangerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDExchangerTests.m; path = tests/TDExchangerTests.m; sourceTree = SOURCE_ROOT; };
		D34700C21B0ED4DE0099D78F /* TDPool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDPool.m; path = src/TDPool.m; sourceTree = SOURCE_ROOT; };
		D34700C51B0ED4EA0099D78F /* TDPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDPool.h; path = include/TDThreadUtils/TDPool.h; sourceTree = SOURCE_ROOT; };
		D34700C71B0ED9CC0099D78F /* TDPoolTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDPoolTests.m; path = tests/TDPoolTests.m; sourceTree = SOURCE_ROOT; };
		D36CB44520ED3F060029669D /* TDGamePlayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TDGamePlayer.m; path = src/TDGamePlayer.m; sourceTree = "<group>"; };
		D36CB44A20ED48BB0029669D /* TDGamePlayerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDGamePlayerTests.m; path = tests/TDGamePlayerTests.m; sourceTree = "<group>"; };
		D36CB45320ED64260029669D /* TDGamePlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDGamePlayer.h; path = include/TDThreadUtils/TDGamePlayer.h; sourceTree = "<group>"; };
		D386934D1F9C2D2400928048 /* TDLinkedQueue.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TDLinkedQueue.m; path = src/TDLinkedQueue.m; sourceTree = "<group>"; };
		D38693501F9C2D5F00928048 /* TDLinkedQueueTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TDLinkedQueueTests.m; path = tests/TDLinkedQueueTests.m; sourceTree = "<group>"; };
		D38693521F9C2E2800928048 /* TDLinkedQueue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TDLinkedQueue.h; path = include/TDThreadUtils/TDLinkedQueue.h; sourceTree = "<group>"; };
		D3AF43A61A658078005C309E /* TDBoundedBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDBoundedBuffer.h; path = include/TDThreadUtils/TDBoundedBuffer.h; sourceTree = SOURCE_ROOT; };
		D3AF43A71A658078005C309E /* TDChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDChannel.h; path = include/TDThreadUtils/TDChannel.h; sourceTree = SOURCE_ROOT; };
		D3AF43A81A658078005C309E /* TDInterpreterSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDInterpreterSync.h; path = include/TDThreadUtils/TDInterpreterSync.h; sourceTree = SOURCE_ROOT; };
		D3AF43A91A658078005C309E /* TDSemaphore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDSemaphore.h; path = include/TDThreadUtils/TDSemaphore.h; sourceTree = SOURCE_ROOT; };
		D3AF43AB1A658078005C309E /* TDSynchronousChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDSynchronousChannel.h; path = include/TDThreadUtils/TDSynchronousChannel.h; sourceTree = SOURCE_ROOT; };
		D3AF43AC1A658078005C309E /* TDThreadUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDThreadUtils.h; path = include/TDThreadUtils/TDThreadUtils.h; sourceTree = SOURCE_ROOT; };
		D3AF43AD1A658078005C309E /* TDThreshold.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDThreshold.h; path = include/TDThreadUtils/TDThreshold.h; sourceTree = SOURCE_ROOT; };
		D3AF43B61A65809A005C309E /* TDBoundedBuffer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDBoundedBuffer.m; path = src/TDBoundedBuffer.m; sourceTree = SOURCE_ROOT; };
		D3AF43B71A65809A005C309E /* TDInterpreterSync.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDInterpreterSync.m; path = src/TDInterpreterSync.m; sourceTree = SOURCE_ROOT; };
		D3AF43B81A65809A005C309E /* TDSemaphore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDSemaphore.m; path = src/TDSemaphore.m; sourceTree = SOURCE_ROOT; };
		D3AF43B91A65809A005C309E /* TDSynchronousChannel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDSynchronousChannel.m; path = src/TDSynchronousChannel.m; sourceTree = SOURCE_ROOT; };
		D3AF43BA1A65809A005C309E /* TDThreshold.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDThreshold.m; path = src/TDThreshold.m; sourceTree = SOURCE_ROOT; };
		D3AF43C01A65811F005C309E /* TDBaseTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDBaseTestCase.h; path = tests/TDBaseTestCase.h; sourceTree = SOURCE_ROOT; };
		D3AF43C11A65811F005C309E /* TDBaseTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDBaseTestCase.m; path = tests/TDBaseTestCase.m; sourceTree = SOURCE_ROOT; };
		D3AF43C21A65811F005C309E /* TDBoundedBufferTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDBoundedBufferTests.m; path = tests/TDBoundedBufferTests.m; sourceTree = SOURCE_ROOT; };
		D3AF43C31A65811F005C309E /* TDSemaphoreTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDSemaphoreTests.m; path = tests/TDSemaphoreTests.m; sourceTree = SOURCE_ROOT; };
		D3AF43C41A65811F005C309E /* TDSynchronousChannelTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDSynchronousChannelTests.m; path = tests/TDSynchronousChannelTests.m; sourceTree = SOURCE_ROOT; };
		D3AF43C51A65811F005C309E /* TDTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDTest.h; path = tests/TDTest.h; sourceTree = SOURCE_ROOT; };
		D3AF43C61A65811F005C309E /* TDTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDTest.m; path = tests/TDTest.m; sourceTree = SOURCE_ROOT; };
		D3AF43C71A65811F005C309E /* TDThresholdTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDThresholdTests.m; path = tests/TDThresholdTests.m; sourceTree = SOURCE_ROOT; };
		D3AF43E41A659AFE005C309E /* TDTrigger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDTrigger.m; path = src/TDTrigger.m; sourceTree = SOURCE_ROOT; };
		D3AF43E61A659B01005C309E /* TDTrigger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TDTrigger.h; path = include/TDThreadUtils/TDTrigger.h; sourceTree = SOURCE_ROOT; };
		D3AF43E81A659BEA005C309E /* TDTriggerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TDTriggerTests.m; path = tests/TDTriggerTests.m; sourceTree = SOURCE_ROOT; };
		D3C0C7411A641526004C8B9A /* TDThreadUtils.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TDThreadUtils.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		D3C0C7451A641527004C8B9A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = src/Info.plist; sourceTree = "<group>"; };
		D3C0C74C1A641527004C8B9A /* TDThreadUtilsTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TDThreadUtilsTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		D3C0C7521A641528004C8B9A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = tests/Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		D3C0C73D1A641526004C8B9A /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D3C0C7491A641527004C8B9A /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D3C0C74D1A641527004C8B9A /* TDThreadUtils.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		D3C0C7371A641526004C8B9A = {
			isa = PBXGroup;
			children = (
				D3C0C7431A641526004C8B9A /* TDThreadUtils */,
				D3C0C7501A641527004C8B9A /* TDThreadUtilsTests */,
				D3C0C7421A641526004C8B9A /* Products */,
			);
			sourceTree = "<group>";
		};
		D3C0C7421A641526004C8B9A /* Products */ = {
			isa = PBXGroup;
			children = (
				D3C0C7411A641526004C8B9A /* TDThreadUtils.framework */,
				D3C0C74C1A641527004C8B9A /* TDThreadUtilsTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		D3C0C7431A641526004C8B9A /* TDThreadUtils */ = {
			isa = PBXGroup;
			children = (
				D3AF43AC1A658078005C309E /* TDThreadUtils.h */,
				D3AF43A91A658078005C309E /* TDSemaphore.h */,
				D3AF43B81A65809A005C309E /* TDSemaphore.m */,
				D3AF43A71A658078005C309E /* TDChannel.h */,
				D3AF43A61A658078005C309E /* TDBoundedBuffer.h */,
				D3AF43B61A65809A005C309E /* TDBoundedBuffer.m */,
				D38693521F9C2E2800928048 /* TDLinkedQueue.h */,
				D386934D1F9C2D2400928048 /* TDLinkedQueue.m */,
				D3AF43AB1A658078005C309E /* TDSynchronousChannel.h */,
				D3AF43B91A65809A005C309E /* TDSynchronousChannel.m */,
				D33849E81D67752100087F7D /* TDExchanger.h */,
				D33849EA1D67752D00087F7D /* TDExchanger.m */,
				D3AF43E61A659B01005C309E /* TDTrigger.h */,
				D3AF43E41A659AFE005C309E /* TDTrigger.m */,
				D3AF43AD1A658078005C309E /* TDThreshold.h */,
				D3AF43BA1A65809A005C309E /* TDThreshold.m */,
				D34700C51B0ED4EA0099D78F /* TDPool.h */,
				D34700C21B0ED4DE0099D78F /* TDPool.m */,
				D3AF43A81A658078005C309E /* TDInterpreterSync.h */,
				D3AF43B71A65809A005C309E /* TDInterpreterSync.m */,
				D36CB45320ED64260029669D /* TDGamePlayer.h */,
				D36CB44520ED3F060029669D /* TDGamePlayer.m */,
				D3C0C7441A641527004C8B9A /* Supporting Files */,
			);
			name = TDThreadUtils;
			sourceTree = "<group>";
		};
		D3C0C7441A641527004C8B9A /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				D3C0C7451A641527004C8B9A /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		D3C0C7501A641527004C8B9A /* TDThreadUtilsTests */ = {
			isa = PBXGroup;
			children = (
				D3AF43C51A65811F005C309E /* TDTest.h */,
				D3AF43C61A65811F005C309E /* TDTest.m */,
				D3AF43C01A65811F005C309E /* TDBaseTestCase.h */,
				D3AF43C11A65811F005C309E /* TDBaseTestCase.m */,
				D3AF43C31A65811F005C309E /* TDSemaphoreTests.m */,
				D3AF43C21A65811F005C309E /* TDBoundedBufferTests.m */,
				D3AF43C41A65811F005C309E /* TDSynchronousChannelTests.m */,
				D33849EC1D67786800087F7D /* TDExchangerTests.m */,
				D3AF43E81A659BEA005C309E /* TDTriggerTests.m */,
				D3AF43C71A65811F005C309E /* TDThresholdTests.m */,
				D34700C71B0ED9CC0099D78F /* TDPoolTests.m */,
				D36CB44A20ED48BB0029669D /* TDGamePlayerTests.m */,
				D38693501F9C2D5F00928048 /* TDLinkedQueueTests.m */,
				D3C0C7511A641528004C8B9A /* Supporting Files */,
			);
			name = TDThreadUtilsTests;
			sourceTree = "<group>";
		};
		D3C0C7511A641528004C8B9A /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				D3C0C7521A641528004C8B9A /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		D3C0C73E1A641526004C8B9A /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D3AF43CD1A65811F005C309E /* TDTest.h in Headers */,
				D3AF43B31A658078005C309E /* TDSynchronousChannel.h in Headers */,
				D3AF43B41A658078005C309E /* TDThreadUtils.h in Headers */,
				D3AF43B11A658078005C309E /* TDSemaphore.h in Headers */,
				D36CB45420ED64260029669D /* TDGamePlayer.h in Headers */,
				D34700C61B0ED4EA0099D78F /* TDPool.h in Headers */,
				D38693531F9C2E3200928048 /* TDLinkedQueue.h in Headers */,
				D3AF43B01A658078005C309E /* TDInterpreterSync.h in Headers */,
				D3AF43B51A658078005C309E /* TDThreshold.h in Headers */,
				D3AF43AE1A658078005C309E /* TDBoundedBuffer.h in Headers */,
				D3AF43C81A65811F005C309E /* TDBaseTestCase.h in Headers */,
				D33849E91D67752100087F7D /* TDExchanger.h in Headers */,
				D3AF43AF1A658078005C309E /* TDChannel.h in Headers */,
				D3AF43E71A659B01005C309E /* TDTrigger.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		D3C0C7401A641526004C8B9A /* TDThreadUtils */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D3C0C7571A641528004C8B9A /* Build configuration list for PBXNativeTarget "TDThreadUtils" */;
			buildPhases = (
				D3C0C73C1A641526004C8B9A /* Sources */,
				D3C0C73D1A641526004C8B9A /* Frameworks */,
				D3C0C73E1A641526004C8B9A /* Headers */,
				D3C0C73F1A641526004C8B9A /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = TDThreadUtils;
			productName = TDThreadUtils;
			productReference = D3C0C7411A641526004C8B9A /* TDThreadUtils.framework */;
			productType = "com.apple.product-type.framework";
		};
		D3C0C74B1A641527004C8B9A /* TDThreadUtilsTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = D3C0C75A1A641528004C8B9A /* Build configuration list for PBXNativeTarget "TDThreadUtilsTests" */;
			buildPhases = (
				D3C0C7481A641527004C8B9A /* Sources */,
				D3C0C7491A641527004C8B9A /* Frameworks */,
				D3C0C74A1A641527004C8B9A /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				D3C0C74F1A641527004C8B9A /* PBXTargetDependency */,
			);
			name = TDThreadUtilsTests;
			productName = TDThreadUtilsTests;
			productReference = D3C0C74C1A641527004C8B9A /* TDThreadUtilsTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		D3C0C7381A641526004C8B9A /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0940;
				ORGANIZATIONNAME = "Todd Ditchendorf";
				TargetAttributes = {
					D3C0C7401A641526004C8B9A = {
						CreatedOnToolsVersion = 6.1;
					};
					D3C0C74B1A641527004C8B9A = {
						CreatedOnToolsVersion = 6.1;
					};
				};
			};
			buildConfigurationList = D3C0C73B1A641526004C8B9A /* Build configuration list for PBXProject "TDThreadUtils" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = D3C0C7371A641526004C8B9A;
			productRefGroup = D3C0C7421A641526004C8B9A /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				D3C0C7401A641526004C8B9A /* TDThreadUtils */,
				D3C0C74B1A641527004C8B9A /* TDThreadUtilsTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		D3C0C73F1A641526004C8B9A /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D3C0C74A1A641527004C8B9A /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		D3C0C73C1A641526004C8B9A /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D36CB44720ED3F060029669D /* TDGamePlayer.m in Sources */,
				D3AF43BE1A65809A005C309E /* TDSynchronousChannel.m in Sources */,
				D3AF43BB1A65809A005C309E /* TDBoundedBuffer.m in Sources */,
				D33849EB1D67752D00087F7D /* TDExchanger.m in Sources */,
				D3AF43BD1A65809A005C309E /* TDSemaphore.m in Sources */,
				D34700C41B0ED4DE0099D78F /* TDPool.m in Sources */,
				D3AF43BC1A65809A005C309E /* TDInterpreterSync.m in Sources */,
				D386934F1F9C2D2400928048 /* TDLinkedQueue.m in Sources */,
				D3AF43E51A659AFE005C309E /* TDTrigger.m in Sources */,
				D3AF43BF1A65809A005C309E /* TDThreshold.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		D3C0C7481A641527004C8B9A /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D3AF43D21A658166005C309E /* TDSemaphoreTests.m in Sources */,
				D3AF43D51A658166005C309E /* TDThresholdTests.m in Sources */,
				D3AF43D41A658166005C309E /* TDSynchronousChannelTests.m in Sources */,
				D3AF43D11A658166005C309E /* TDBaseTestCase.m in Sources */,
				D3AF43E91A659BEA005C309E /* TDTriggerTests.m in Sources */,
				D34700C91B0EDBF60099D78F /* TDPoolTests.m in Sources */,
				D3AF43D01A658166005C309E /* TDTest.m in Sources */,
				D3AF43D31A658166005C309E /* TDBoundedBufferTests.m in Sources */,
				D38693511F9C2DFF00928048 /* TDLinkedQueueTests.m in Sources */,
				D36CB44B20ED48BB0029669D /* TDGamePlayerTests.m in Sources */,
				D33849ED1D67786800087F7D /* TDExchangerTests.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		D3C0C74F1A641527004C8B9A /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = D3C0C7401A641526004C8B9A /* TDThreadUtils */;
			targetProxy = D3C0C74E1A641527004C8B9A /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		D3C0C7551A641528004C8B9A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = NO;
				CURRENT_PROJECT_VERSION = 1;
				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_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Debug;
		};
		D3C0C7561A641528004C8B9A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				COPY_PHASE_STRIP = YES;
				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;
				MACOSX_DEPLOYMENT_TARGET = 10.9;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = macosx;
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		D3C0C7581A641528004C8B9A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				COMBINE_HIDPI_IMAGES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = src/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.celestialteapot.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
			};
			name = Debug;
		};
		D3C0C7591A641528004C8B9A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				COMBINE_HIDPI_IMAGES = YES;
				DEFINES_MODULE = YES;
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				FRAMEWORK_VERSION = A;
				INFOPLIST_FILE = src/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.celestialteapot.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
			};
			name = Release;
		};
		D3C0C75B1A641528004C8B9A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				COMBINE_HIDPI_IMAGES = YES;
				FRAMEWORK_SEARCH_PATHS = (
					"$(DEVELOPER_FRAMEWORKS_DIR)",
					"$(inherited)",
				);
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				INFOPLIST_FILE = tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.celestialteapot.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		D3C0C75C1A641528004C8B9A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				CLANG_ENABLE_OBJC_WEAK = YES;
				COMBINE_HIDPI_IMAGES = YES;
				FRAMEWORK_SEARCH_PATHS = (
					"$(DEVELOPER_FRAMEWORKS_DIR)",
					"$(inherited)",
				);
				INFOPLIST_FILE = tests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "com.celestialteapot.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		D3C0C73B1A641526004C8B9A /* Build configuration list for PBXProject "TDThreadUtils" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D3C0C7551A641528004C8B9A /* Debug */,
				D3C0C7561A641528004C8B9A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D3C0C7571A641528004C8B9A /* Build configuration list for PBXNativeTarget "TDThreadUtils" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D3C0C7581A641528004C8B9A /* Debug */,
				D3C0C7591A641528004C8B9A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		D3C0C75A1A641528004C8B9A /* Build configuration list for PBXNativeTarget "TDThreadUtilsTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				D3C0C75B1A641528004C8B9A /* Debug */,
				D3C0C75C1A641528004C8B9A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = D3C0C7381A641526004C8B9A /* Project object */;
}
