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

/* Begin PBXBuildFile section */
		E6AF49470363E91A00000000 /* main.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C280363E91A00000000 /* main.m */; };
		E6AF494707AD023D00000000 /* Tests.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2807AD023D00000000 /* Tests.swift */; };
		E6AF494707AD023D00000001 /* Tests.swift in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2807AD023D00000000 /* Tests.swift */; };
		E6AF494744067B5100000000 /* XCUITests.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2844067B5100000000 /* XCUITests.mm */; };
		E6AF494744067B5100000001 /* XCUITests.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C2844067B5100000000 /* XCUITests.mm */; };
		E6AF49475AC5B07A00000000 /* src1.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C285AC5B07A00000000 /* src1.m */; };
		E6AF49476C872CB800000000 /* src2.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C286C872CB800000000 /* src2.m */; };
		E6AF49477C84C8BE00000000 /* src3.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C287C84C8BE00000000 /* src3.m */; };
		E6AF49478C4244FC00000000 /* src4.m in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C288C4244FC00000000 /* src4.m */; };
		E6AF4947BA33721800000000 /* SimpleTest.xcdatamodeld in tulsi_e2e_simple_skylark */ = {isa = PBXBuildFile; fileRef = C517CBBDBA33721800000000 /* SimpleTest.xcdatamodeld */; };
		E6AF4947CFB68C6700000000 /* memleaks.m in memleaks */ = {isa = PBXBuildFile; fileRef = 43D68C28CFB68C6700000000 /* memleaks.m */; };
		E6AF4947D035C16900000000 /* XCTests.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28D035C16900000000 /* XCTests.mm */; };
		E6AF4947D035C16900000001 /* XCTests.mm in srcs */ = {isa = PBXBuildFile; fileRef = 43D68C28D035C16900000000 /* XCTests.mm */; };
		E6AF4947F44F077B00000000 /* file.java in tulsi_e2e_simple_skylark */ = {isa = PBXBuildFile; fileRef = 43D68C28F44F077B00000000 /* file.java */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		8193667216CDD44F00000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 7E7BD0EA5EAFCB1700000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 3D31C5E616CDD44E00000000;
		};
		819366726921D83500000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 7E7BD0EA5EAFCB1700000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = ECCC95946921D83400000000;
		};
		81936672C3E8068D00000000 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 7E7BD0EA5EAFCB1700000000 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 3D31C5E6C3E8068C00000000;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		43D68C28016874A200000000 /* SimpleDataModelsTestv1.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv1.xcdatamodel; path = tulsi_e2e_simple_skylark/SimpleTest.xcdatamodeld/SimpleDataModelsTestv1.xcdatamodel; sourceTree = "<group>"; };
		43D68C280363E91A00000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_simple_skylark/App/srcs/main.m"; sourceTree = "<group>"; };
		43D68C2803858A8B00000000 /* XCTest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "XCTest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
		43D68C2807AD023D00000000 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Tests.swift; path = "tulsi-workspace/tulsi_e2e_simple_skylark/XCTest/srcs/Tests.swift"; sourceTree = "<group>"; };
		43D68C2814E234EC00000000 /* lib_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0.a; path = lib_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C281CB1D2D900000000 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Settings.bundle; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Settings.bundle"; sourceTree = "<group>"; };
		43D68C28259988BC00000000 /* Launch.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Application/Launch.storyboard"; sourceTree = "<group>"; };
		43D68C2826D093AA00000000 /* StickerExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; name = StickerExtension.appex; path = StickerExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C282D20496000000000 /* SkylarkApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "SkylarkApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/SkylarkApplication-Info-binary.plist"; sourceTree = "<group>"; };
		43D68C28360062FC00000000 /* lib_idx_JavaLibrary_C16E964B_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_JavaLibrary_C16E964B_ios_min8.0.a; path = lib_idx_JavaLibrary_C16E964B_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C283786664A00000000 /* _idx_XCTestCodeSwift_2FB5517B_ios_min8.0.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = _idx_XCTestCodeSwift_2FB5517B_ios_min8.0.framework; path = _idx_XCTestCodeSwift_2FB5517B_ios_min8.0.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C2837A63D3D00000000 /* XCUITest_test_bundle-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "XCUITest_test_bundle-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCUITest_test_bundle-Info-binary.plist"; sourceTree = "<group>"; };
		43D68C283943564C00000000 /* HdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = HdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/hdrs/HdrsHeader.h"; sourceTree = "<group>"; };
		43D68C28395860BE00000000 /* TextualHdrsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TextualHdrsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/textual_hdrs/TextualHdrsHeader.h"; sourceTree = "<group>"; };
		43D68C283A0868B500000000 /* Stickers.xcstickers */ = {isa = PBXFileReference; lastKnownFileType = folder.stickers; name = Stickers.xcstickers; path = tulsi_e2e_simple_skylark/Stickers.xcstickers; sourceTree = "<group>"; };
		43D68C283CBFF4DA00000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Application/Info.plist"; sourceTree = "<group>"; };
		43D68C2844067B5100000000 /* XCUITests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = XCUITests.mm; path = "tulsi-workspace/tulsi_e2e_simple_skylark/XCUITest/srcs/XCUITests.mm"; sourceTree = "<group>"; };
		43D68C285681479300000000 /* SkylarkTargetApplication-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "SkylarkTargetApplication-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/SkylarkTargetApplication-Info-binary.plist"; sourceTree = "<group>"; };
		43D68C28594086D300000000 /* ProtoFile.proto */ = {isa = PBXFileReference; lastKnownFileType = dyn.age81a6xtsv1u; name = ProtoFile.proto; path = "tulsi-workspace/tulsi_e2e_simple_skylark/ProtoFile.proto"; sourceTree = "<group>"; };
		43D68C285AC5B07A00000000 /* src1.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src1.m; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/srcs/src1.m"; sourceTree = "<group>"; };
		43D68C285E266A6000000000 /* XCTest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCTest.xctest; path = XCTest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C285F948D5E00000000 /* lib_idx_Library_22D3B3D5_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_Library_22D3B3D5_ios_min8.0.a; path = lib_idx_Library_22D3B3D5_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C286C872CB800000000 /* src2.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src2.m; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/srcs/src2.m"; sourceTree = "<group>"; };
		43D68C286DAAC6CC00000000 /* SkylarkTargetApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = SkylarkTargetApplication.app; path = SkylarkTargetApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C2875414ABA00000000 /* SrcsHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SrcsHeader.h; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/srcs/SrcsHeader.h"; sourceTree = "<group>"; };
		43D68C287C84C8BE00000000 /* src3.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src3.m; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/srcs/src3.m"; sourceTree = "<group>"; };
		43D68C288BD42CAC00000000 /* SimpleDataModelsTestv2.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; name = SimpleDataModelsTestv2.xcdatamodel; path = tulsi_e2e_simple_skylark/SimpleTest.xcdatamodeld/SimpleDataModelsTestv2.xcdatamodel; sourceTree = "<group>"; };
		43D68C288C4244FC00000000 /* src4.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = src4.m; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/srcs/src4.m"; sourceTree = "<group>"; };
		43D68C288EA0254100000000 /* Ext-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "Ext-Info.plist"; path = "tulsi_e2e_simple_skylark/Ext-Info.plist"; sourceTree = "<group>"; };
		43D68C28A669C03500000000 /* xib.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = xib.xib; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/xibs/xib.xib"; sourceTree = "<group>"; };
		43D68C28A96EB07300000000 /* PCHFile.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PCHFile.pch; path = "tulsi-workspace/tulsi_e2e_simple_skylark/Library/pch/PCHFile.pch"; sourceTree = "<group>"; };
		43D68C28AB52552000000000 /* XCUITest.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = XCUITest.xctest; path = XCUITest.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C28B9C699F600000000 /* SkylarkApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = SkylarkApplication.app; path = SkylarkApplication.app; sourceTree = BUILT_PRODUCTS_DIR; };
		43D68C28CC080D0200000000 /* StickerExtension-Info-binary.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = "StickerExtension-Info-binary.plist"; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/StickerExtension-Info-binary.plist"; sourceTree = "<group>"; };
		43D68C28CFB68C6700000000 /* memleaks.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = memleaks.m; path = tools/objc/memleaks/memleaks.m; sourceTree = "<group>"; };
		43D68C28D035C16900000000 /* XCTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = XCTests.mm; path = "tulsi-workspace/tulsi_e2e_simple_skylark/XCTest/srcs/XCTests.mm"; sourceTree = "<group>"; };
		43D68C28F44F077B00000000 /* file.java */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.java; name = file.java; path = "tulsi-workspace/tulsi_e2e_simple_skylark/file.java"; sourceTree = "<group>"; };
		43D68C28FB7A74E700000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_simple_skylark/BUILD; sourceTree = "<group>"; };
		43D68C28FE4B1B7D00000000 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text; name = Base; path = "tulsi-workspace/tulsi_e2e_simple_skylark/App/Base.lproj/One.storyboard"; sourceTree = "<group>"; };
		43D68C28FEECDEEC00000000 /* lib_idx_MainLibrary_E33E600C_ios_min8.0.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_MainLibrary_E33E600C_ios_min8.0.a; path = lib_idx_MainLibrary_E33E600C_ios_min8.0.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		966FB6DE0562C2F700000000 /* Indexer */ = {
			isa = PBXGroup;
			children = (
				43D68C283786664A00000000 /* _idx_XCTestCodeSwift_2FB5517B_ios_min8.0.framework */,
				43D68C28360062FC00000000 /* lib_idx_JavaLibrary_C16E964B_ios_min8.0.a */,
				43D68C285F948D5E00000000 /* lib_idx_Library_22D3B3D5_ios_min8.0.a */,
				43D68C28FEECDEEC00000000 /* lib_idx_MainLibrary_E33E600C_ios_min8.0.a */,
				43D68C2814E234EC00000000 /* lib_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0.a */,
			);
			name = Indexer;
			sourceTree = "<group>";
		};
		966FB6DE05BF9AE300000000 /* objc */ = {
			isa = PBXGroup;
			children = (
				966FB6DE9336EC7600000000 /* memleaks */,
			);
			name = objc;
			sourceTree = "<group>";
		};
		966FB6DE07201E0200000000 /* _tulsi-includes */ = {
			isa = PBXGroup;
			children = (
				966FB6DE88DDC84A00000000 /* x */,
			);
			name = "_tulsi-includes";
			sourceTree = "<group>";
		};
		966FB6DE2BD1037D00000000 /* Products */ = {
			isa = PBXGroup;
			children = (
				966FB6DE0562C2F700000000 /* Indexer */,
				43D68C28B9C699F600000000 /* SkylarkApplication.app */,
				43D68C286DAAC6CC00000000 /* SkylarkTargetApplication.app */,
				43D68C2826D093AA00000000 /* StickerExtension.appex */,
				43D68C285E266A6000000000 /* XCTest.xctest */,
				43D68C28AB52552000000000 /* XCUITest.xctest */,
				966FB6DE07201E0200000000 /* _tulsi-includes */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		966FB6DE3377C20200000000 /* textual_hdrs */ = {
			isa = PBXGroup;
			children = (
				43D68C28395860BE00000000 /* TextualHdrsHeader.h */,
			);
			name = textual_hdrs;
			sourceTree = "<group>";
		};
		966FB6DE5B9D018E00000000 /* srcs */ = {
			isa = PBXGroup;
			children = (
				43D68C280363E91A00000000 /* main.m */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		966FB6DE5B9D018E00000001 /* srcs */ = {
			isa = PBXGroup;
			children = (
				43D68C2875414ABA00000000 /* SrcsHeader.h */,
				43D68C285AC5B07A00000000 /* src1.m */,
				43D68C286C872CB800000000 /* src2.m */,
				43D68C287C84C8BE00000000 /* src3.m */,
				43D68C288C4244FC00000000 /* src4.m */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		966FB6DE5B9D018E00000002 /* srcs */ = {
			isa = PBXGroup;
			children = (
				43D68C2807AD023D00000000 /* Tests.swift */,
				43D68C28D035C16900000000 /* XCTests.mm */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		966FB6DE5B9D018E00000003 /* srcs */ = {
			isa = PBXGroup;
			children = (
				43D68C2844067B5100000000 /* XCUITests.mm */,
			);
			name = srcs;
			sourceTree = "<group>";
		};
		966FB6DE6C1A2E9100000000 /* mainGroup */ = {
			isa = PBXGroup;
			children = (
				966FB6DE2BD1037D00000000 /* Products */,
				966FB6DEA22704D700000000 /* tools */,
				966FB6DEF58E46CC00000001 /* tulsi_e2e_simple_skylark */,
			);
			name = mainGroup;
			path = ..;
			sourceTree = SOURCE_ROOT;
		};
		966FB6DE77973FA000000000 /* XCTest */ = {
			isa = PBXGroup;
			children = (
				966FB6DE5B9D018E00000002 /* srcs */,
			);
			name = XCTest;
			sourceTree = "<group>";
		};
		966FB6DE88DDC84A00000000 /* x */ = {
			isa = PBXGroup;
			children = (
				966FB6DE88DDC84A00000001 /* x */,
			);
			name = x;
			sourceTree = "<group>";
		};
		966FB6DE88DDC84A00000001 /* x */ = {
			isa = PBXGroup;
			children = (
				966FB6DEF58E46CC00000000 /* tulsi_e2e_simple_skylark */,
			);
			name = x;
			sourceTree = "<group>";
		};
		966FB6DE9336EC7600000000 /* memleaks */ = {
			isa = PBXGroup;
			children = (
				43D68C28CFB68C6700000000 /* memleaks.m */,
			);
			name = memleaks;
			sourceTree = "<group>";
		};
		966FB6DE94E444FD00000000 /* Library */ = {
			isa = PBXGroup;
			children = (
				966FB6DE9DC3732400000000 /* hdrs */,
				966FB6DE97917B0F00000000 /* pch */,
				966FB6DE5B9D018E00000001 /* srcs */,
				966FB6DE3377C20200000000 /* textual_hdrs */,
				966FB6DEA07B457B00000000 /* xibs */,
			);
			name = Library;
			sourceTree = "<group>";
		};
		966FB6DE957F116500000000 /* App */ = {
			isa = PBXGroup;
			children = (
				8CBD86FAC9CA518600000000 /* One.storyboard */,
				966FB6DE5B9D018E00000000 /* srcs */,
			);
			name = App;
			sourceTree = "<group>";
		};
		966FB6DE97917B0F00000000 /* pch */ = {
			isa = PBXGroup;
			children = (
				43D68C28A96EB07300000000 /* PCHFile.pch */,
			);
			name = pch;
			sourceTree = "<group>";
		};
		966FB6DE9DC3732400000000 /* hdrs */ = {
			isa = PBXGroup;
			children = (
				43D68C283943564C00000000 /* HdrsHeader.h */,
			);
			name = hdrs;
			sourceTree = "<group>";
		};
		966FB6DEA07B457B00000000 /* xibs */ = {
			isa = PBXGroup;
			children = (
				43D68C28A669C03500000000 /* xib.xib */,
			);
			name = xibs;
			sourceTree = "<group>";
		};
		966FB6DEA22704D700000000 /* tools */ = {
			isa = PBXGroup;
			children = (
				966FB6DE05BF9AE300000000 /* objc */,
			);
			name = tools;
			sourceTree = "<group>";
		};
		966FB6DEB58A255E00000000 /* Application */ = {
			isa = PBXGroup;
			children = (
				43D68C283CBFF4DA00000000 /* Info.plist */,
				43D68C28259988BC00000000 /* Launch.storyboard */,
			);
			name = Application;
			sourceTree = "<group>";
		};
		966FB6DEDF67EFC000000000 /* XCUITest */ = {
			isa = PBXGroup;
			children = (
				966FB6DE5B9D018E00000003 /* srcs */,
			);
			name = XCUITest;
			sourceTree = "<group>";
		};
		966FB6DEF58E46CC00000000 /* tulsi_e2e_simple_skylark */ = {
			isa = PBXGroup;
			children = (
				43D68C282D20496000000000 /* SkylarkApplication-Info-binary.plist */,
				43D68C285681479300000000 /* SkylarkTargetApplication-Info-binary.plist */,
				43D68C28CC080D0200000000 /* StickerExtension-Info-binary.plist */,
				43D68C2803858A8B00000000 /* XCTest_test_bundle-Info-binary.plist */,
				43D68C2837A63D3D00000000 /* XCUITest_test_bundle-Info-binary.plist */,
			);
			name = tulsi_e2e_simple_skylark;
			sourceTree = "<group>";
		};
		966FB6DEF58E46CC00000001 /* tulsi_e2e_simple_skylark */ = {
			isa = PBXGroup;
			children = (
				966FB6DE957F116500000000 /* App */,
				966FB6DEB58A255E00000000 /* Application */,
				43D68C28FB7A74E700000000 /* BUILD */,
				43D68C288EA0254100000000 /* Ext-Info.plist */,
				966FB6DE94E444FD00000000 /* Library */,
				43D68C28594086D300000000 /* ProtoFile.proto */,
				43D68C281CB1D2D900000000 /* Settings.bundle */,
				C517CBBDBA33721800000000 /* SimpleTest.xcdatamodeld */,
				43D68C283A0868B500000000 /* Stickers.xcstickers */,
				966FB6DE77973FA000000000 /* XCTest */,
				966FB6DEDF67EFC000000000 /* XCUITest */,
				43D68C28F44F077B00000000 /* file.java */,
			);
			name = tulsi_e2e_simple_skylark;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXLegacyTarget section */
		ECCC95946921D83400000000 /* _bazel_clean_ */ = {
			isa = PBXLegacyTarget;
			buildArgumentsString = "\"/fake/tulsi_test_bazel\" \"bazel-bin\"";
			buildConfigurationList = DE475583CA83BF7E00000000 /* 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 */
		3D31C5E616CDD44E00000000 /* _idx_Library_22D3B3D5_ios_min8.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE4755835181881800000000 /* Build configuration list for PBXNativeTarget "_idx_Library_22D3B3D5_ios_min8.0" */;
			buildPhases = (
				605793E20000000000000003 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = _idx_Library_22D3B3D5_ios_min8.0;
			productName = _idx_Library_22D3B3D5_ios_min8.0;
			productReference = 43D68C285F948D5E00000000 /* lib_idx_Library_22D3B3D5_ios_min8.0.a */;
			productType = "com.apple.product-type.library.static";
		};
		3D31C5E626CA755A00000000 /* _idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE475583BB1B1CE300000000 /* Build configuration list for PBXNativeTarget "_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0" */;
			buildPhases = (
				605793E20000000000000006 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
				4DAD0B4216CDD44F00000000 /* PBXTargetDependency */,
			);
			name = _idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0;
			productName = _idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0;
			productReference = 43D68C2814E234EC00000000 /* lib_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0.a */;
			productType = "com.apple.product-type.library.static";
		};
		3D31C5E65C6B61BE00000000 /* _idx_XCTestCodeSwift_2FB5517B_ios_min8.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE475583077C771500000000 /* Build configuration list for PBXNativeTarget "_idx_XCTestCodeSwift_2FB5517B_ios_min8.0" */;
			buildPhases = (
				605793E20000000000000005 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = _idx_XCTestCodeSwift_2FB5517B_ios_min8.0;
			productName = _idx_XCTestCodeSwift_2FB5517B_ios_min8.0;
			productReference = 43D68C283786664A00000000 /* _idx_XCTestCodeSwift_2FB5517B_ios_min8.0.framework */;
			productType = "com.apple.product-type.framework";
		};
		3D31C5E666B361EA00000000 /* _idx_JavaLibrary_C16E964B_ios_min8.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE4755835905C1EB00000000 /* Build configuration list for PBXNativeTarget "_idx_JavaLibrary_C16E964B_ios_min8.0" */;
			buildPhases = (
				605793E20000000000000002 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = _idx_JavaLibrary_C16E964B_ios_min8.0;
			productName = _idx_JavaLibrary_C16E964B_ios_min8.0;
			productReference = 43D68C28360062FC00000000 /* lib_idx_JavaLibrary_C16E964B_ios_min8.0.a */;
			productType = "com.apple.product-type.library.static";
		};
		3D31C5E681C6DCDA00000000 /* _idx_MainLibrary_E33E600C_ios_min8.0 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE47558336E607E300000000 /* Build configuration list for PBXNativeTarget "_idx_MainLibrary_E33E600C_ios_min8.0" */;
			buildPhases = (
				605793E20000000000000004 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
				4DAD0B4216CDD44F00000000 /* PBXTargetDependency */,
			);
			name = _idx_MainLibrary_E33E600C_ios_min8.0;
			productName = _idx_MainLibrary_E33E600C_ios_min8.0;
			productReference = 43D68C28FEECDEEC00000000 /* lib_idx_MainLibrary_E33E600C_ios_min8.0.a */;
			productType = "com.apple.product-type.library.static";
		};
		3D31C5E6BB03F10600000000 /* StickerExtension */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE475583903428F900000000 /* Build configuration list for PBXNativeTarget "StickerExtension" */;
			buildPhases = (
				84B4227188CD951200000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = StickerExtension;
			productName = StickerExtension;
			productReference = 43D68C2826D093AA00000000 /* StickerExtension.appex */;
			productType = "com.apple.product-type.app-extension.messages-sticker-pack";
		};
		3D31C5E6BECFDF8000000000 /* XCUITest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE4755837696EE3600000000 /* Build configuration list for PBXNativeTarget "XCUITest" */;
			buildPhases = (
				84B42271CEE7712000000000 /* ShellScript */,
				605793E20000000000000000 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
				4DAD0B42C3E8068D00000000 /* PBXTargetDependency */,
			);
			name = XCUITest;
			productName = XCUITest;
			productReference = 43D68C28AB52552000000000 /* XCUITest.xctest */;
			productType = "com.apple.product-type.bundle.ui-testing";
		};
		3D31C5E6C3E8068C00000000 /* SkylarkApplication */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE475583218595F600000000 /* Build configuration list for PBXNativeTarget "SkylarkApplication" */;
			buildPhases = (
				84B42271CC32BF6800000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = SkylarkApplication;
			productName = SkylarkApplication;
			productReference = 43D68C28B9C699F600000000 /* SkylarkApplication.app */;
			productType = "com.apple.product-type.application";
		};
		3D31C5E6EF2E7F4000000000 /* XCTest */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE475583B2A6125600000000 /* Build configuration list for PBXNativeTarget "XCTest" */;
			buildPhases = (
				84B422715611829000000000 /* ShellScript */,
				84B42271B548D02D00000000 /* ShellScript */,
				605793E20000000000000001 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
				4DAD0B42C3E8068D00000000 /* PBXTargetDependency */,
			);
			name = XCTest;
			productName = XCTest;
			productReference = 43D68C285E266A6000000000 /* XCTest.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		3D31C5E6F353FBEA00000000 /* SkylarkTargetApplication */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = DE4755835CC0E52B00000000 /* Build configuration list for PBXNativeTarget "SkylarkTargetApplication" */;
			buildPhases = (
				84B422717B92420A00000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				4DAD0B426921D83500000000 /* PBXTargetDependency */,
			);
			name = SkylarkTargetApplication;
			productName = SkylarkTargetApplication;
			productReference = 43D68C286DAAC6CC00000000 /* SkylarkTargetApplication.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		7E7BD0EA5EAFCB1700000000 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0710;
				LastUpgradeCheck = 0900;
				TargetAttributes = {
					3D31C5E6BECFDF8000000000 = {
						TestTargetID = 3D31C5E6C3E8068C00000000;
					};
					3D31C5E6EF2E7F4000000000 = {
						TestTargetID = 3D31C5E6C3E8068C00000000;
					};
				};
			};
			buildConfigurationList = DE47558369AD265100000000 /* Build configuration list for PBXProject "SimpleSkylarkProject" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 966FB6DE6C1A2E9100000000 /* mainGroup */;
			targets = (
				3D31C5E6C3E8068C00000000 /* SkylarkApplication */,
				3D31C5E6F353FBEA00000000 /* SkylarkTargetApplication */,
				3D31C5E6BB03F10600000000 /* StickerExtension */,
				3D31C5E6EF2E7F4000000000 /* XCTest */,
				3D31C5E6BECFDF8000000000 /* XCUITest */,
				ECCC95946921D83400000000 /* _bazel_clean_ */,
				3D31C5E666B361EA00000000 /* _idx_JavaLibrary_C16E964B_ios_min8.0 */,
				3D31C5E616CDD44E00000000 /* _idx_Library_22D3B3D5_ios_min8.0 */,
				3D31C5E681C6DCDA00000000 /* _idx_MainLibrary_E33E600C_ios_min8.0 */,
				3D31C5E65C6B61BE00000000 /* _idx_XCTestCodeSwift_2FB5517B_ios_min8.0 */,
				3D31C5E626CA755A00000000 /* _idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0 */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		84B422715611829000000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple_skylark:XCTest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_options[Release] --define=TULSI_TEST=rel --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
			showEnvVarsInLog = 1;
		};
		84B422717B92420A00000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple_skylark:SkylarkTargetApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_options[Release] --define=TULSI_TEST=rel --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
			showEnvVarsInLog = 1;
		};
		84B4227188CD951200000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple_skylark:StickerExtension --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_options[Release] --define=TULSI_TEST=rel --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
			showEnvVarsInLog = 1;
		};
		84B42271B548D02D00000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate specific Swift files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nSUFFIXES=(swiftdoc swiftmodule)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  touch \"$OBJECT_FILE_DIR_normal/$ARCH/$SWIFT_OBJC_INTERFACE_HEADER_NAME\"\n  for SUFFIX in \"${SUFFIXES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$PRODUCT_MODULE_NAME.$SUFFIX\"\n  done\ndone\n";
			showEnvVarsInLog = 1;
		};
		84B42271CC32BF6800000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple_skylark:SkylarkApplication --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_options[Release] --define=TULSI_TEST=rel --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
			showEnvVarsInLog = 1;
		};
		84B42271CEE7712000000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_simple_skylark:XCUITest --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose --bazel_options[Debug] --define=TULSI_TEST=dbg --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_options[Release] --define=TULSI_TEST=rel --ios_minimum_os=7.0 --macos_minimum_os=10.10 --tvos_minimum_os=10.0 --watchos_minimum_os=3.0 --xcode_version=9.2 --keep_going -- --bazel_startup_options[Debug] --bazelrc=/dev/null -- ";
			showEnvVarsInLog = 1;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		605793E20000000000000000 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF494744067B5100000000 /* XCUITests.mm in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		605793E20000000000000001 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF4947CFB68C6700000000 /* memleaks.m in memleaks */,
				E6AF494707AD023D00000000 /* Tests.swift in srcs */,
				E6AF4947D035C16900000000 /* XCTests.mm in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		605793E20000000000000002 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF4947F44F077B00000000 /* file.java in tulsi_e2e_simple_skylark */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		605793E20000000000000003 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF49475AC5B07A00000000 /* src1.m in srcs */,
				E6AF49476C872CB800000000 /* src2.m in srcs */,
				E6AF49477C84C8BE00000000 /* src3.m in srcs */,
				E6AF49478C4244FC00000000 /* src4.m in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		605793E20000000000000004 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF4947BA33721800000000 /* SimpleTest.xcdatamodeld in tulsi_e2e_simple_skylark */,
				E6AF49470363E91A00000000 /* main.m in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		605793E20000000000000005 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF494707AD023D00000001 /* Tests.swift in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		605793E20000000000000006 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				E6AF494744067B5100000001 /* XCUITests.mm in srcs */,
				E6AF4947D035C16900000001 /* XCTests.mm in srcs */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
		8CBD86FAC9CA518600000000 /* One.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				43D68C28FE4B1B7D00000000 /* Base */,
			);
			name = One.storyboard;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin PBXTargetDependency section */
		4DAD0B4216CDD44F00000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 8193667216CDD44F00000000 /* PBXContainerItemProxy */;
		};
		4DAD0B426921D83500000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 819366726921D83500000000 /* PBXContainerItemProxy */;
		};
		4DAD0B42C3E8068D00000000 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			targetProxy = 81936672C3E8068D00000000 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		44936BD67EED3C4D00000000 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:XCUITest";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.ApplicationTests;
				PRODUCT_NAME = XCUITest;
				SDKROOT = iphoneos;
				TEST_TARGET_NAME = SkylarkApplication;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = NO;
				TULSI_TEST_RUNNER_ONLY = YES;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000001 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:SkylarkApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.Application;
				PRODUCT_NAME = SkylarkApp;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000002 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift.modulemaps";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift.modulemaps/module.modulemap";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.ApplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift/_objs";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SkylarkApplication.app/SkylarkApplication";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = YES;
				TULSI_TEST_RUNNER_ONLY = YES;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000003 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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 = "";
				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)/_tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_VERSION = 4.0;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_NORMALIZED_DEBUG_INFO = YES;
				TULSI_PRESERVE_TULSI_INCLUDES = YES;
				TULSI_PROJECT = SimpleSkylarkProject;
				TULSI_UPDATE_DSYM_CACHE = YES;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Debug;
		};
		44936BD67EED3C4D00000004 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:SkylarkTargetApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TargetApplication;
				PRODUCT_NAME = SkylarkTargetApplication;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000005 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:StickerExtension";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_simple_skylark-StickerExtension.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TargetApplication.extension;
				PRODUCT_NAME = StickerExtension;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = Debug;
		};
		44936BD67EED3C4D00000006 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_NAME = _idx_JavaLibrary_C16E964B_ios_min8.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Debug;
		};
		44936BD67EED3C4D00000007 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_simple_skylark/Library/pch/PCHFile.pch";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec /Library/absolute/include/path $(TULSI_BWRS)/relative/Library/include/path $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				OTHER_CFLAGS = "-DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1";
				PRODUCT_NAME = _idx_Library_22D3B3D5_ios_min8.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Debug;
		};
		44936BD67EED3C4D00000008 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple_skylark/App/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/App/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/tulsi_e2e_simple_skylark/App/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/App/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				OTHER_CFLAGS = "-DBINARY_ADDITIONAL_DEFINE -DBINARY_ANOTHER_DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1";
				PRODUCT_NAME = _idx_MainLibrary_E33E600C_ios_min8.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Debug;
		};
		44936BD67EED3C4D00000009 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_NAME = _idx_XCTestCodeSwift_2FB5517B_ios_min8.0;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift/_objs";
			};
			name = Debug;
		};
		44936BD67EED3C4D0000000A /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1";
				PRODUCT_NAME = _idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Debug;
		};
		44936BD6A3D45CE900000000 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:XCUITest";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.ApplicationTests;
				PRODUCT_NAME = XCUITest;
				SDKROOT = iphoneos;
				TEST_TARGET_NAME = SkylarkApplication;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = NO;
				TULSI_TEST_RUNNER_ONLY = YES;
			};
			name = Release;
		};
		44936BD6A3D45CE900000001 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:SkylarkApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.Application;
				PRODUCT_NAME = SkylarkApp;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = Release;
		};
		44936BD6A3D45CE900000002 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:XCTest";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift.modulemaps";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				OTHER_SWIFT_FLAGS = "$(inherited) -Xcc -fmodule-map-file=$(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift.modulemaps/module.modulemap";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.ApplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift/_objs";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SkylarkApplication.app/SkylarkApplication";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = YES;
				TULSI_TEST_RUNNER_ONLY = YES;
			};
			name = Release;
		};
		44936BD6A3D45CE900000003 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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 = "";
				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)/_tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_VERSION = 4.0;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_MUST_USE_DSYM = YES;
				TULSI_NORMALIZED_DEBUG_INFO = YES;
				TULSI_PRESERVE_TULSI_INCLUDES = YES;
				TULSI_PROJECT = SimpleSkylarkProject;
				TULSI_UPDATE_DSYM_CACHE = YES;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Release;
		};
		44936BD6A3D45CE900000004 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:SkylarkTargetApplication";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TargetApplication;
				PRODUCT_NAME = SkylarkTargetApplication;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = Release;
		};
		44936BD6A3D45CE900000005 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:StickerExtension";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_simple_skylark-StickerExtension.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TargetApplication.extension;
				PRODUCT_NAME = StickerExtension;
				SDKROOT = iphoneos;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = Release;
		};
		44936BD6A3D45CE900000006 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_NAME = _idx_JavaLibrary_C16E964B_ios_min8.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Release;
		};
		44936BD6A3D45CE900000007 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREFIX_HEADER = "$(TULSI_BWRS)/tulsi_e2e_simple_skylark/Library/pch/PCHFile.pch";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_generated_protos/ObjcProtos $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec /Library/absolute/include/path $(TULSI_BWRS)/relative/Library/include/path $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				OTHER_CFLAGS = "-DLIBRARY_COPT_DEFINE -DLIBRARY_DEFINES_DEFINE=1";
				PRODUCT_NAME = _idx_Library_22D3B3D5_ios_min8.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Release;
		};
		44936BD6A3D45CE900000008 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/tulsi_e2e_simple_skylark/App/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/App/includes $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/tulsi_e2e_simple_skylark/App/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/App/includes $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				OTHER_CFLAGS = "-DBINARY_ADDITIONAL_DEFINE -DBINARY_ANOTHER_DEFINE=2 -DLIBRARY_DEFINES_DEFINE=1";
				PRODUCT_NAME = _idx_MainLibrary_E33E600C_ios_min8.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Release;
		};
		44936BD6A3D45CE900000009 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				PRODUCT_NAME = _idx_XCTestCodeSwift_2FB5517B_ios_min8.0;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift/_objs";
			};
			name = Release;
		};
		44936BD6A3D45CE90000000A /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_WR)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_WR)/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_WR)/third_party/protobuf/objectivec $(TULSI_WR)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/_j2objc/JavaLibrary $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/Classes $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/libcore/luni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/android/platform/libcore/ojluni/src/main/native $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul/apple_apsl $(TULSI_BWRS)/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/java_src/j2objc/jre_emul $(TULSI_BWRS)/third_party/protobuf/objectivec $(TULSI_BWRS)/_tulsi-includes/x/x/third_party/protobuf/objectivec $(TULSI_BWRS)/tools/cpp/gcc3 ";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				OTHER_CFLAGS = "-DLIBRARY_DEFINES_DEFINE=1";
				PRODUCT_NAME = _idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0;
				SDKROOT = iphoneos;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Release;
		};
		44936BD6C928366700000000 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:XCUITest";
				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 = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.ApplicationTests;
				PRODUCT_NAME = XCUITest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_TARGET_NAME = SkylarkApplication;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = NO;
				TULSI_TEST_RUNNER_ONLY = YES;
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6C928366700000001 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:SkylarkApplication";
				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 = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.Application;
				PRODUCT_NAME = SkylarkApp;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6C928366700000002 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:XCTest";
				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 = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.ApplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift/_objs";
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SkylarkApplication.app/SkylarkApplication";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = YES;
				TULSI_TEST_RUNNER_ONLY = YES;
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6C928366700000003 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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 = "";
				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 = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				SWIFT_VERSION = 4.0;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_NORMALIZED_DEBUG_INFO = YES;
				TULSI_PRESERVE_TULSI_INCLUDES = YES;
				TULSI_PROJECT = SimpleSkylarkProject;
				TULSI_UPDATE_DSYM_CACHE = YES;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6C928366700000004 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:SkylarkTargetApplication";
				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 = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TargetApplication;
				PRODUCT_NAME = SkylarkTargetApplication;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6C928366700000005 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:StickerExtension";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_simple_skylark-StickerExtension.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TargetApplication.extension;
				PRODUCT_NAME = StickerExtension;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = __TulsiTestRunner_Debug;
		};
		44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:XCUITest";
				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 = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.ApplicationTests;
				PRODUCT_NAME = XCUITest;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_TARGET_NAME = SkylarkApplication;
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = NO;
				TULSI_TEST_RUNNER_ONLY = YES;
			};
			name = __TulsiTestRunner_Release;
		};
		44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:SkylarkApplication";
				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 = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.Application;
				PRODUCT_NAME = SkylarkApp;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = __TulsiTestRunner_Release;
		};
		44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:XCTest";
				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 = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.ApplicationTests;
				PRODUCT_NAME = XCTest;
				SDKROOT = iphoneos;
				SWIFT_INCLUDE_PATHS = "$(inherited) $(TULSI_BWRS)/_tulsi-includes/x/x/tulsi_e2e_simple_skylark/XCTestCodeSwift/_objs";
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SkylarkApplication.app/SkylarkApplication";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = YES;
				TULSI_TEST_RUNNER_ONLY = YES;
			};
			name = __TulsiTestRunner_Release;
		};
		44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				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 = "";
				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 = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PYTHONIOENCODING = utf8;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				SWIFT_VERSION = 4.0;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_MUST_USE_DSYM = YES;
				TULSI_NORMALIZED_DEBUG_INFO = YES;
				TULSI_PRESERVE_TULSI_INCLUDES = YES;
				TULSI_PROJECT = SimpleSkylarkProject;
				TULSI_UPDATE_DSYM_CACHE = YES;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Release;
		};
		44936BD6FCBCA00300000004 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:SkylarkTargetApplication";
				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 = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TargetApplication;
				PRODUCT_NAME = SkylarkTargetApplication;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = __TulsiTestRunner_Release;
		};
		44936BD6FCBCA00300000005 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_simple_skylark:StickerExtension";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/Stub_tulsi_e2e_simple_skylark-StickerExtension.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "-help";
				OTHER_LDFLAGS = "-help";
				OTHER_SWIFT_FLAGS = "-help";
				PRODUCT_BUNDLE_IDENTIFIER = com.google.Tulsi.TargetApplication.extension;
				PRODUCT_NAME = StickerExtension;
				SDKROOT = iphoneos;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_simple_skylark;
				TULSI_MUST_USE_DSYM = YES;
				TULSI_SWIFT_DEPENDENCY = NO;
			};
			name = __TulsiTestRunner_Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		DE475583077C771500000000 /* Build configuration list for PBXNativeTarget "_idx_XCTestCodeSwift_2FB5517B_ios_min8.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000009 /* Debug */,
				44936BD6A3D45CE900000009 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE475583218595F600000000 /* Build configuration list for PBXNativeTarget "SkylarkApplication" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000001 /* Debug */,
				44936BD6A3D45CE900000001 /* Release */,
				44936BD6C928366700000001 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000001 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE47558336E607E300000000 /* Build configuration list for PBXNativeTarget "_idx_MainLibrary_E33E600C_ios_min8.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000008 /* Debug */,
				44936BD6A3D45CE900000008 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE4755835181881800000000 /* Build configuration list for PBXNativeTarget "_idx_Library_22D3B3D5_ios_min8.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000007 /* Debug */,
				44936BD6A3D45CE900000007 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE4755835905C1EB00000000 /* Build configuration list for PBXNativeTarget "_idx_JavaLibrary_C16E964B_ios_min8.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000006 /* Debug */,
				44936BD6A3D45CE900000006 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE4755835CC0E52B00000000 /* Build configuration list for PBXNativeTarget "SkylarkTargetApplication" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000004 /* Debug */,
				44936BD6A3D45CE900000004 /* Release */,
				44936BD6C928366700000004 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000004 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE47558369AD265100000000 /* Build configuration list for PBXProject "SimpleSkylarkProject" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000003 /* Debug */,
				44936BD6A3D45CE900000003 /* Release */,
				44936BD6C928366700000003 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000003 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE4755837696EE3600000000 /* Build configuration list for PBXNativeTarget "XCUITest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000000 /* Debug */,
				44936BD6A3D45CE900000000 /* Release */,
				44936BD6C928366700000000 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000000 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE475583903428F900000000 /* Build configuration list for PBXNativeTarget "StickerExtension" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000005 /* Debug */,
				44936BD6A3D45CE900000005 /* Release */,
				44936BD6C928366700000005 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000005 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE475583B2A6125600000000 /* Build configuration list for PBXNativeTarget "XCTest" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D00000002 /* Debug */,
				44936BD6A3D45CE900000002 /* Release */,
				44936BD6C928366700000002 /* __TulsiTestRunner_Debug */,
				44936BD6FCBCA00300000002 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE475583BB1B1CE300000000 /* Build configuration list for PBXNativeTarget "_idx_XCUITestCode_XCTestCode_1D881332_ios_min8.0" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				44936BD67EED3C4D0000000A /* Debug */,
				44936BD6A3D45CE90000000A /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		DE475583CA83BF7E00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
			);
			defaultConfigurationIsVisible = 0;
		};
/* End XCConfigurationList section */

/* Begin XCVersionGroup section */
		C517CBBDBA33721800000000 /* SimpleTest.xcdatamodeld */ = {
			isa = XCVersionGroup;
			children = (
				43D68C28016874A200000000 /* SimpleDataModelsTestv1.xcdatamodel */,
				43D68C288BD42CAC00000000 /* SimpleDataModelsTestv2.xcdatamodel */,
			);
			currentVersion = 43D68C28016874A200000000 /* SimpleDataModelsTestv1.xcdatamodel */;
			name = SimpleTest.xcdatamodeld;
			sourceTree = "<group>";
			versionGroupType = wrapper.xcdatamodel;
		};
/* End XCVersionGroup section */
	};
	rootObject = 7E7BD0EA5EAFCB1700000000 /* Project object */;
}