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

/* Begin PBXBuildFile section */
		952C886D6723BA4D00000000 /* app_clip_main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C6723BA4D00000000 /* app_clip_main.m */; };
		952C886D86E05A5900000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 25889F7C86E05A5900000000 /* main.m */; };
/* End PBXBuildFile section */

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

/* Begin PBXFileReference section */
		25889F7C2B779BB400000000 /* entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_app_clip/Application/entitlements.entitlements"; sourceTree = "<group>"; };
		25889F7C5C00BD0100000000 /* app_entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = app_entitlements.entitlements; path = "tulsi-workspace/tulsi_e2e_app_clip/AppClip/app_entitlements.entitlements"; sourceTree = "<group>"; };
		25889F7C6723BA4D00000000 /* app_clip_main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = app_clip_main.m; path = "tulsi-workspace/tulsi_e2e_app_clip/Library/srcs/app_clip_main.m"; sourceTree = "<group>"; };
		25889F7C86E05A5900000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_app_clip/Library/srcs/main.m"; sourceTree = "<group>"; };
		25889F7C9FB1623400000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_app_clip/AppClip/app_infoplists/Info.plist"; sourceTree = "<group>"; };
		25889F7CA2352B8B00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_app_clip/Application/Info.plist"; sourceTree = "<group>"; };
		25889F7CB0FF2C3200000000 /* lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a; path = lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7CB698E75D00000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Application-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7CBDADE3B900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/AppClip-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7CCCCE004E00000000 /* Application.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = Application.app; path = Application.app; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7CD2AED8C700000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_app_clip/BUILD; sourceTree = "<group>"; };
		25889F7CE4E4122000000000 /* AppClip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = AppClip.app; path = AppClip.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		45D05629162A8E4A00000000 /* tulsi_e2e_app_clip */ = {
			isa = PBXGroup;
			children = (
				45D05629B14F6EEC00000000 /* AppClip-intermediates */,
				45D05629BBA58A3000000000 /* Application-intermediates */,
			);
			name = tulsi_e2e_app_clip;
			sourceTree = "<group>";
		};
		45D05629162A8E4A00000001 /* tulsi_e2e_app_clip */ = {
			isa = PBXGroup;
			children = (
				45D056293C08BF0000000000 /* AppClip */,
				45D0562933ECA2A800000000 /* Application */,
				25889F7CD2AED8C700000000 /* BUILD */,
				45D0562954A7395500000000 /* Library */,
			);
			name = tulsi_e2e_app_clip;
			sourceTree = "<group>";
		};
		45D056291BF813BD00000000 /* Products */ = {
			isa = PBXGroup;
			children = (
				25889F7CE4E4122000000000 /* AppClip.app */,
				25889F7CCCCE004E00000000 /* Application.app */,
				45D05629C0087DBE00000000 /* Indexer */,
				45D05629A259EF0200000000 /* bazel-tulsi-includes */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		45D0562933ECA2A800000000 /* Application */ = {
			isa = PBXGroup;
			children = (
				25889F7CA2352B8B00000000 /* Info.plist */,
				25889F7C2B779BB400000000 /* entitlements.entitlements */,
			);
			name = Application;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000000 /* x */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000001 /* x */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000001 /* x */ = {
			isa = PBXGroup;
			children = (
				45D05629162A8E4A00000000 /* tulsi_e2e_app_clip */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D056293C08BF0000000000 /* AppClip */ = {
			isa = PBXGroup;
			children = (
				25889F7C5C00BD0100000000 /* app_entitlements.entitlements */,
				45D0562972177E7200000000 /* app_infoplists */,
			);
			name = AppClip;
			sourceTree = "<group>";
		};
		45D0562954A7395500000000 /* Library */ = {
			isa = PBXGroup;
			children = (
				45D05629CC62AD9600000000 /* srcs */,
			);
			name = Library;
			sourceTree = "<group>";
		};
		45D0562972177E7200000000 /* app_infoplists */ = {
			isa = PBXGroup;
			children = (
				25889F7C9FB1623400000000 /* Info.plist */,
			);
			name = app_infoplists;
			sourceTree = "<group>";
		};
		45D05629A259EF0200000000 /* bazel-tulsi-includes */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000000 /* x */,
			);
			name = "bazel-tulsi-includes";
			sourceTree = "<group>";
		};
		45D05629B14F6EEC00000000 /* AppClip-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7CBDADE3B900000000 /* Info.plist */,
			);
			name = "AppClip-intermediates";
			sourceTree = "<group>";
		};
		45D05629B56AD7F200000000 /* mainGroup */ = {
			isa = PBXGroup;
			children = (
				45D056291BF813BD00000000 /* Products */,
				45D05629162A8E4A00000001 /* tulsi_e2e_app_clip */,
			);
			name = mainGroup;
			path = ..;
			sourceTree = SOURCE_ROOT;
		};
		45D05629BBA58A3000000000 /* Application-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7CB698E75D00000000 /* Info.plist */,
			);
			name = "Application-intermediates";
			sourceTree = "<group>";
		};
		45D05629C0087DBE00000000 /* Indexer */ = {
			isa = PBXGroup;
			children = (
				25889F7CB0FF2C3200000000 /* lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a */,
			);
			name = Indexer;
			sourceTree = "<group>";
		};
		45D05629CC62AD9600000000 /* srcs */ = {
			isa = PBXGroup;
			children = (
				25889F7C6723BA4D00000000 /* app_clip_main.m */,
				25889F7C86E05A5900000000 /* 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 */
		7E9AFE6267D9455000000000 /* Application */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DED4A42893600000000 /* Build configuration list for PBXNativeTarget "Application" */;
			buildPhases = (
				978262AB42F08E9300000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = Application;
			productName = Application;
			productReference = 25889F7CCCCE004E00000000 /* Application.app */;
			productType = "com.apple.product-type.application";
		};
		7E9AFE6278117E0000000000 /* AppClip */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDAA907B3200000000 /* Build configuration list for PBXNativeTarget "AppClip" */;
			buildPhases = (
				978262AB0C9444F000000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = AppClip;
			productName = AppClip;
			productReference = 25889F7CE4E4122000000000 /* AppClip.app */;
			productType = "com.apple.product-type.application.on-demand-install-capable";
		};
		7E9AFE62D9606AC400000000 /* _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDA88D73AF00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0" */;
			buildPhases = (
				04BFD5160000000000000000 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0;
			productName = _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0;
			productReference = 25889F7CB0FF2C3200000000 /* lib_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		9034464B66515F4F00000000 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0710;
				LastUpgradeCheck = 1000;
			};
			buildConfigurationList = F4222DED95EA4AC700000000 /* Build configuration list for PBXProject "AppClipProject" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 45D05629B56AD7F200000000 /* mainGroup */;
			targets = (
				7E9AFE6278117E0000000000 /* AppClip */,
				7E9AFE6267D9455000000000 /* Application */,
				01F2CBCF9734745C00000000 /* _bazel_clean_ */,
				7E9AFE62D9606AC400000000 /* _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0 */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		978262AB0C9444F000000000 /* 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\" //tulsi_e2e_app_clip:AppClip --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262AB42F08E9300000000 /* 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\" //tulsi_e2e_app_clip:Application --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 = (
				952C886D86E05A5900000000 /* main.m in srcs */,
				952C886D6723BA4D00000000 /* app_clip_main.m in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

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

/* Begin XCBuildConfiguration section */
		0207AA281FC531E700000000 /* __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 = AppClipProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000001 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_app_clip:AppClip";
				CODE_SIGNING_ALLOWED = NO;
				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 = 14.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id.clip";
				PRODUCT_NAME = AppClip;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_app_clip;
				TULSI_XCODE_VERSION = 11.7.0.11E801a;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000002 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_app_clip:Application";
				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 = 14.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_app_clip;
				TULSI_XCODE_VERSION = 11.7.0.11E801a;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA2838C3D90E00000000 /* 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 = AppClipProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Debug;
		};
		0207AA2838C3D90E00000001 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_app_clip:AppClip";
				CODE_SIGNING_ALLOWED = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id.clip";
				PRODUCT_NAME = AppClip;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_app_clip;
				TULSI_XCODE_VERSION = 11.7.0.11E801a;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000002 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_app_clip:Application";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_app_clip;
				TULSI_XCODE_VERSION = 11.7.0.11E801a;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000003 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ ";
				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
				PRODUCT_NAME = _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Debug;
		};
		0207AA28616216BF00000000 /* 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 = AppClipProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Release;
		};
		0207AA28616216BF00000001 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_app_clip:AppClip";
				CODE_SIGNING_ALLOWED = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id.clip";
				PRODUCT_NAME = AppClip;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_app_clip;
				TULSI_XCODE_VERSION = 11.7.0.11E801a;
			};
			name = Release;
		};
		0207AA28616216BF00000002 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_app_clip:Application";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_app_clip;
				TULSI_XCODE_VERSION = 11.7.0.11E801a;
			};
			name = Release;
		};
		0207AA28616216BF00000003 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_BWRS)/bazel-tulsi-includes/x/x/tulsi_e2e_app_clip/Library/includes/one/include $(TULSI_WR)/. $(TULSI_BWRS)/bazel-tulsi-includes/x/x/ ";
				IPHONEOS_DEPLOYMENT_TARGET = 14.0;
				PRODUCT_NAME = _idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Release;
		};
		0207AA28F23A778400000000 /* __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 = AppClipProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_app_clip:AppClip";
				CODE_SIGNING_ALLOWED = NO;
				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 = 14.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id.clip";
				PRODUCT_NAME = AppClip;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_app_clip;
				TULSI_XCODE_VERSION = 11.7.0.11E801a;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_app_clip:Application";
				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 = 14.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "application.bundle-id";
				PRODUCT_NAME = Application;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_app_clip;
				TULSI_XCODE_VERSION = 11.7.0.11E801a;
			};
			name = __TulsiTestRunner_Debug;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		F4222DED29203B0D00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED4A42893600000000 /* Build configuration list for PBXNativeTarget "Application" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000002 /* Debug */,
				0207AA28616216BF00000002 /* Release */,
				0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000002 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED95EA4AC700000000 /* Build configuration list for PBXProject "AppClipProject" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000000 /* Debug */,
				0207AA28616216BF00000000 /* Release */,
				0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000000 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDA88D73AF00000000 /* Build configuration list for PBXNativeTarget "_idx_ApplicationLibrary_AppClipLibrary_6F5A3A13_ios_min14.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000003 /* Debug */,
				0207AA28616216BF00000003 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDAA907B3200000000 /* Build configuration list for PBXNativeTarget "AppClip" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000001 /* Debug */,
				0207AA28616216BF00000001 /* Release */,
				0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000001 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
/* End XCConfigurationList section */
	};
	rootObject = 9034464B66515F4F00000000 /* Project object */;
}