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

/* Begin PBXBuildFile section */
		952C886D35F4A86400000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C35F4A86400000000 /* main.m */; };
		952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */ = {isa = PBXBuildFile; fileRef = 25889F7C6518C99300000000 /* TestSuiteXCTest.m */; };
		952C886D66D4941800000000 /* tagged_xctest_2.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C66D4941800000000 /* tagged_xctest_2.m */; };
		952C886D6DC9EDB600000000 /* tagged_xctest_1.m in Three */ = {isa = PBXBuildFile; fileRef = 25889F7C6DC9EDB600000000 /* tagged_xctest_1.m */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		30E8372A1FDDBD5D00000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 9034464B4654765900000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 7E9AFE621FDDBD5C00000000;
		};
		30E8372A9734745D00000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 9034464B4654765900000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 01F2CBCF9734745C00000000;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; path = lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C35687C6800000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/BUILD; sourceTree = "<group>"; };
		25889F7C35F4A86400000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/TestSuite/Application/srcs/main.m"; sourceTree = "<group>"; };
		25889F7C4273558500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_1.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7C6518C99300000000 /* TestSuiteXCTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TestSuiteXCTest.m; path = "tulsi-workspace/TestSuite/TestSuite/TestSuiteXCTest.m"; sourceTree = "<group>"; };
		25889F7C66D4941800000000 /* tagged_xctest_2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_2.m; path = "tulsi-workspace/TestSuite/Three/tagged_xctest_2.m"; sourceTree = "<group>"; };
		25889F7C6DC9EDB600000000 /* tagged_xctest_1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = tagged_xctest_1.m; path = "tulsi-workspace/TestSuite/Three/tagged_xctest_1.m"; sourceTree = "<group>"; };
		25889F7C8E4953C800000000 /* tagged_xctest_1.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_1.xctest; path = tagged_xctest_1.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C8E912BB200000000 /* TestSuiteXCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = TestSuiteXCTest.xctest; path = TestSuiteXCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C8EF3881F00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestSuiteXCTest.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7C9402028700000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/Three/tagged_xctest_2.__internal__.__test_bundle-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7C965CD29E00000000 /* tagged_xctest_2.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = tagged_xctest_2.xctest; path = tagged_xctest_2.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C9BDE3CEF00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/TestSuite/Info.plist"; sourceTree = "<group>"; };
		25889F7CADBB0ACA00000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = TestSuite/Three/BUILD; sourceTree = "<group>"; };
		25889F7CB8B54B6E00000000 /* TestApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = TestApplication.app; path = TestApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7CDF260A6500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/TestSuite/TestApplication-intermediates/Info.plist"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		45D0562904015BAC00000000 /* tagged_xctest_1.__internal__.__test_bundle-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7C4273558500000000 /* Info.plist */,
			);
			name = "tagged_xctest_1.__internal__.__test_bundle-intermediates";
			sourceTree = "<group>";
		};
		45D0562906FE71CF00000000 /* TestSuite */ = {
			isa = PBXGroup;
			children = (
				45D05629143ABA8700000000 /* TestApplication-intermediates */,
				45D05629B69C62F000000000 /* TestSuiteXCTest.__internal__.__test_bundle-intermediates */,
				45D0562978986CA000000000 /* Three */,
			);
			name = TestSuite;
			sourceTree = "<group>";
		};
		45D0562906FE71CF00000001 /* TestSuite */ = {
			isa = PBXGroup;
			children = (
				45D0562933ECA2A800000000 /* Application */,
				25889F7C35687C6800000000 /* BUILD */,
				25889F7C9BDE3CEF00000000 /* Info.plist */,
				45D0562906FE71CF00000002 /* TestSuite */,
				45D0562978986CA000000001 /* Three */,
			);
			name = TestSuite;
			sourceTree = "<group>";
		};
		45D0562906FE71CF00000002 /* TestSuite */ = {
			isa = PBXGroup;
			children = (
				25889F7C6518C99300000000 /* TestSuiteXCTest.m */,
			);
			name = TestSuite;
			sourceTree = "<group>";
		};
		45D05629143ABA8700000000 /* TestApplication-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7CDF260A6500000000 /* Info.plist */,
			);
			name = "TestApplication-intermediates";
			sourceTree = "<group>";
		};
		45D056291BF813BD00000000 /* Products */ = {
			isa = PBXGroup;
			children = (
				45D05629C0087DBE00000000 /* Indexer */,
				25889F7CB8B54B6E00000000 /* TestApplication.app */,
				25889F7C8E912BB200000000 /* TestSuiteXCTest.xctest */,
				45D05629A259EF0200000000 /* bazel-tulsi-includes */,
				25889F7C8E4953C800000000 /* tagged_xctest_1.xctest */,
				25889F7C965CD29E00000000 /* tagged_xctest_2.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		45D0562933ECA2A800000000 /* Application */ = {
			isa = PBXGroup;
			children = (
				45D05629CC62AD9600000000 /* srcs */,
			);
			name = Application;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000000 /* x */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000001 /* x */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000001 /* x */ = {
			isa = PBXGroup;
			children = (
				45D0562906FE71CF00000000 /* TestSuite */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D0562978986CA000000000 /* Three */ = {
			isa = PBXGroup;
			children = (
				45D0562904015BAC00000000 /* tagged_xctest_1.__internal__.__test_bundle-intermediates */,
				45D05629AC87744D00000000 /* tagged_xctest_2.__internal__.__test_bundle-intermediates */,
			);
			name = Three;
			sourceTree = "<group>";
		};
		45D0562978986CA000000001 /* Three */ = {
			isa = PBXGroup;
			children = (
				25889F7CADBB0ACA00000000 /* BUILD */,
				25889F7C6DC9EDB600000000 /* tagged_xctest_1.m */,
				25889F7C66D4941800000000 /* tagged_xctest_2.m */,
			);
			name = Three;
			sourceTree = "<group>";
		};
		45D05629A259EF0200000000 /* bazel-tulsi-includes */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000000 /* x */,
			);
			name = "bazel-tulsi-includes";
			sourceTree = "<group>";
		};
		45D05629AC87744D00000000 /* tagged_xctest_2.__internal__.__test_bundle-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7C9402028700000000 /* Info.plist */,
			);
			name = "tagged_xctest_2.__internal__.__test_bundle-intermediates";
			sourceTree = "<group>";
		};
		45D05629B56AD7F200000000 /* mainGroup */ = {
			isa = PBXGroup;
			children = (
				45D056291BF813BD00000000 /* Products */,
				45D0562906FE71CF00000001 /* TestSuite */,
			);
			name = mainGroup;
			path = ..;
			sourceTree = SOURCE_ROOT;
		};
		45D05629B69C62F000000000 /* TestSuiteXCTest.__internal__.__test_bundle-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7C8EF3881F00000000 /* Info.plist */,
			);
			name = "TestSuiteXCTest.__internal__.__test_bundle-intermediates";
			sourceTree = "<group>";
		};
		45D05629C0087DBE00000000 /* Indexer */ = {
			isa = PBXGroup;
			children = (
				25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */,
			);
			name = Indexer;
			sourceTree = "<group>";
		};
		45D05629CC62AD9600000000 /* srcs */ = {
			isa = PBXGroup;
			children = (
				25889F7C35F4A86400000000 /* main.m */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXLegacyTarget section */
		01F2CBCF9734745C00000000 /* _bazel_clean_ */ = {
			isa = PBXLegacyTarget;
			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
			buildConfigurationList = F4222DED29203B0D00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */;
			buildPhases = (
			);
			buildToolPath = "${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_clean.sh";
			buildWorkingDirectory = "${SRCROOT}/..";
			dependencies = (
			);
			name = _bazel_clean_;
			passBuildSettingsInEnvironment = 1;
			productName = _bazel_clean_;
		};
/* End PBXLegacyTarget section */

/* Begin PBXNativeTarget section */
		7E9AFE621FDDBD5C00000000 /* TestApplication */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDE5B9C6FA00000000 /* Build configuration list for PBXNativeTarget "TestApplication" */;
			buildPhases = (
				978262ABB3B9DBA500000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = TestApplication;
			productName = TestApplication;
			productReference = 25889F7CB8B54B6E00000000 /* TestApplication.app */;
			productType = "com.apple.product-type.application";
		};
		7E9AFE623963A8D000000000 /* TestSuiteXCTest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DED6BC3C42B00000000 /* Build configuration list for PBXNativeTarget "TestSuiteXCTest" */;
			buildPhases = (
				978262ABFFED74C200000000 /* ShellScript */,
				978262ABC1E8B9F000000000 /* ShellScript */,
				04BFD5160000000000000002 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
				89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */,
			);
			name = TestSuiteXCTest;
			productName = TestSuiteXCTest;
			productReference = 25889F7C8E912BB200000000 /* TestSuiteXCTest.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E9AFE627547FBBC00000000 /* tagged_xctest_2 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DED0FE742A700000000 /* Build configuration list for PBXNativeTarget "tagged_xctest_2" */;
			buildPhases = (
				978262AB018163CC00000000 /* ShellScript */,
				978262AB4DF59FB800000000 /* ShellScript */,
				04BFD5160000000000000000 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
				89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */,
			);
			name = tagged_xctest_2;
			productName = tagged_xctest_2;
			productReference = 25889F7C965CD29E00000000 /* tagged_xctest_2.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E9AFE62812108F600000000 /* tagged_xctest_1 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDC9D05B8D00000000 /* Build configuration list for PBXNativeTarget "tagged_xctest_1" */;
			buildPhases = (
				978262AB8AE00F0800000000 /* ShellScript */,
				978262AB9E55587800000000 /* ShellScript */,
				04BFD5160000000000000001 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
				89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */,
			);
			name = tagged_xctest_1;
			productName = tagged_xctest_1;
			productReference = 25889F7C8E4953C800000000 /* tagged_xctest_1.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E9AFE62BC40BFA200000000 /* _idx_ApplicationLibrary_468DE48B_ios_min10.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDC772A3DE00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_468DE48B_ios_min10.0" */;
			buildPhases = (
				04BFD5160000000000000003 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = _idx_ApplicationLibrary_468DE48B_ios_min10.0;
			productName = _idx_ApplicationLibrary_468DE48B_ios_min10.0;
			productReference = 25889F7C2A3379D000000000 /* lib_idx_ApplicationLibrary_468DE48B_ios_min10.0.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		9034464B4654765900000000 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0710;
				LastUpgradeCheck = 1000;
				TargetAttributes = {
					7E9AFE623963A8D000000000 = {
						TestTargetID = 7E9AFE621FDDBD5C00000000;
					};
					7E9AFE627547FBBC00000000 = {
						TestTargetID = 7E9AFE621FDDBD5C00000000;
					};
					7E9AFE62812108F600000000 = {
						TestTargetID = 7E9AFE621FDDBD5C00000000;
					};
				};
			};
			buildConfigurationList = F4222DEDDEDC19BD00000000 /* Build configuration list for PBXProject "TestSuiteRecursiveTestSuiteProject" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 45D05629B56AD7F200000000 /* mainGroup */;
			targets = (
				7E9AFE621FDDBD5C00000000 /* TestApplication */,
				7E9AFE623963A8D000000000 /* TestSuiteXCTest */,
				01F2CBCF9734745C00000000 /* _bazel_clean_ */,
				7E9AFE62BC40BFA200000000 /* _idx_ApplicationLibrary_468DE48B_ios_min10.0 */,
				7E9AFE62812108F600000000 /* tagged_xctest_1 */,
				7E9AFE627547FBBC00000000 /* tagged_xctest_2 */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		978262AB018163CC00000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/Three:tagged_xctest_2 --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262AB4DF59FB800000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(tagged_xctest_2)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
		978262AB8AE00F0800000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite/Three:tagged_xctest_1 --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262AB9E55587800000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(tagged_xctest_1)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
		978262ABB3B9DBA500000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite:TestApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262ABC1E8B9F000000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(TestSuiteXCTest)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
		978262ABFFED74C200000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //TestSuite:TestSuiteXCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		04BFD5160000000000000000 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D66D4941800000000 /* tagged_xctest_2.m in Three */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000001 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D6DC9EDB600000000 /* tagged_xctest_1.m in Three */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000002 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D6518C99300000000 /* TestSuiteXCTest.m in TestSuite */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000003 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D35F4A86400000000 /* main.m in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		89B1AEB31FDDBD5D00000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 30E8372A1FDDBD5D00000000 /* PBXContainerItemProxy */;
		};
		89B1AEB39734745D00000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 30E8372A9734745D00000000 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		0207AA281FC531E700000000 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_2";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = tagged_xctest_2;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000001 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
				PRODUCT_NAME = TestApplication;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = TestSuite;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000002 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_1";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = tagged_xctest_1;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000003 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = TestSuiteXCTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000004 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace";
				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA2838C3D90E00000000 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_2";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = tagged_xctest_2;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000001 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
				PRODUCT_NAME = TestApplication;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = TestSuite;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000002 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_1";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = tagged_xctest_1;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000003 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = TestSuiteXCTest;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000004 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace";
				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Debug;
		};
		0207AA2838C3D90E00000005 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ ";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Debug;
		};
		0207AA28616216BF00000000 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_2";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = tagged_xctest_2;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = Release;
		};
		0207AA28616216BF00000001 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
				PRODUCT_NAME = TestApplication;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = TestSuite;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = Release;
		};
		0207AA28616216BF00000002 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_1";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = tagged_xctest_1;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = Release;
		};
		0207AA28616216BF00000003 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = TestSuiteXCTest;
				SDKROOT = iphoneos;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = Release;
		};
		0207AA28616216BF00000004 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/bazel-tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace";
				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Release;
		};
		0207AA28616216BF00000005 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ ";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				PRODUCT_NAME = _idx_ApplicationLibrary_468DE48B_ios_min10.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Release;
		};
		0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_2";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = tagged_xctest_2;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplication;
				PRODUCT_NAME = TestApplication;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = TestSuite;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite/Three:tagged_xctest_1";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = tagged_xctest_1;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite/Three;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//TestSuite:TestSuiteXCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.example.testapplicationTests;
				PRODUCT_NAME = TestSuiteXCTest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestApplication.app/TestApplication";
				TULSI_BUILD_PATH = TestSuite;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 11.5.0.11E608c;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++17";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "$(PROJECT_FILE_PATH)/.tulsi/tulsi-workspace";
				TULSI_PROJECT = TestSuiteRecursiveTestSuiteProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Debug;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		F4222DED0FE742A700000000 /* Build configuration list for PBXNativeTarget "tagged_xctest_2" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000000 /* Debug */,
				0207AA28616216BF00000000 /* Release */,
				0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000000 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED29203B0D00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED6BC3C42B00000000 /* Build configuration list for PBXNativeTarget "TestSuiteXCTest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000003 /* Debug */,
				0207AA28616216BF00000003 /* Release */,
				0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000003 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDC772A3DE00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_468DE48B_ios_min10.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000005 /* Debug */,
				0207AA28616216BF00000005 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDC9D05B8D00000000 /* Build configuration list for PBXNativeTarget "tagged_xctest_1" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000002 /* Debug */,
				0207AA28616216BF00000002 /* Release */,
				0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000002 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDDEDC19BD00000000 /* Build configuration list for PBXProject "TestSuiteRecursiveTestSuiteProject" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000004 /* Debug */,
				0207AA28616216BF00000004 /* Release */,
				0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000004 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDE5B9C6FA00000000 /* Build configuration list for PBXNativeTarget "TestApplication" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000001 /* Debug */,
				0207AA28616216BF00000001 /* Release */,
				0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000001 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
/* End XCConfigurationList section */
	};
	rootObject = 9034464B4654765900000000 /* Project object */;
}