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

/* Begin PBXBuildFile section */
		952C886D0B8893FD00000000 /* AppDelegate.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7C0B8893FD00000000 /* AppDelegate.m */; };
		952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */ = {isa = PBXBuildFile; fileRef = 25889F7C1D215DBF00000000 /* TodayViewController.m */; };
		952C886D2FDF604B00000000 /* UnitTests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C2FDF604B00000000 /* UnitTests.m */; };
		952C886D2FDF604B00000001 /* UnitTests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C2FDF604B00000000 /* UnitTests.m */; };
		952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */ = {isa = PBXBuildFile; fileRef = 25889F7C88BF1D8A00000000 /* PluginViewController.m */; };
		952C886D8BF96B6600000000 /* UITests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C8BF96B6600000000 /* UITests.m */; };
		952C886D8BF96B6600000001 /* UITests.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7C8BF96B6600000000 /* UITests.m */; };
		952C886DBE1ACDB100000000 /* main.m in src */ = {isa = PBXBuildFile; fileRef = 25889F7CBE1ACDB100000000 /* main.m */; };
		952C886DCDA86EAB00000000 /* UnitTestsNoHost.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */; };
		952C886DCDA86EAB00000001 /* UnitTestsNoHost.m in test */ = {isa = PBXBuildFile; fileRef = 25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */; };
/* End PBXBuildFile section */

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

/* Begin PBXFileReference section */
		25889F7C0B8893FD00000000 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.m"; sourceTree = "<group>"; };
		25889F7C13A3ADB400000000 /* UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UITests.xctest; path = UITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = "MyTodayExtension-Info.plist"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Info.plist"; sourceTree = "<group>"; };
		25889F7C1D215DBF00000000 /* TodayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TodayViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/ExtSources/TodayViewController.m"; sourceTree = "<group>"; };
		25889F7C1DF2978800000000 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/Info.plist"; sourceTree = "<group>"; };
		25889F7C2659003900000000 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = "tulsi-workspace/tulsi_e2e_mac/src/AppDelegate.h"; sourceTree = "<group>"; };
		25889F7C2FDF604B00000000 /* UnitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTests.m"; sourceTree = "<group>"; };
		25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */ = {isa = PBXFileReference; lastKnownFileType = "com.apple.xcode.entitlements-property-list"; name = "MyTodayExtension-Entitlements.entitlements"; path = "tulsi-workspace/tulsi_e2e_mac/MyTodayExtension-Entitlements.entitlements"; sourceTree = "<group>"; };
		25889F7C4CA0295900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/MyMacOSApp-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7C59FF2E4A00000000 /* PluginViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.h"; sourceTree = "<group>"; };
		25889F7C5ADEA42500000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UnitTests-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7C733E1DFE00000000 /* lib_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = lib_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13.a; path = lib_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13.a; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C7CBFB06500000000 /* TodayViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = TodayViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/extensions/today/TodayViewController.xib"; sourceTree = "<group>"; };
		25889F7C8363577600000000 /* PluginViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = PluginViewController.xib; path = "tulsi-workspace/tulsi_e2e_mac/Resources/plugin/PluginViewController.xib"; sourceTree = "<group>"; };
		25889F7C86B467CC00000000 /* UnitTestsNoHost.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UnitTestsNoHost.xctest; path = UnitTestsNoHost.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7C88BF1D8A00000000 /* PluginViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PluginViewController.m; path = "tulsi-workspace/tulsi_e2e_mac/src/plugin/PluginViewController.m"; sourceTree = "<group>"; };
		25889F7C89A6486800000000 /* MyPlugin_Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; name = MyPlugin_Info.plist; path = "tulsi-workspace/tulsi_e2e_mac/MyPlugin_Info.plist"; sourceTree = "<group>"; };
		25889F7C8BF96B6600000000 /* UITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UITests.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UITests.m"; sourceTree = "<group>"; };
		25889F7CB053494A00000000 /* MyMacOSApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; name = MyMacOSApp.app; path = MyMacOSApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
		25889F7CBE1ACDB100000000 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = main.m; path = "tulsi-workspace/tulsi_e2e_mac/src/main.m"; sourceTree = "<group>"; };
		25889F7CC867E1F300000000 /* TodayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TodayViewController.h; path = "tulsi-workspace/tulsi_e2e_mac/src/extensions/today/TodayViewController.h"; sourceTree = "<group>"; };
		25889F7CC906726900000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UITests-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7CCD5B2C9400000000 /* Info.plist */ = {isa = PBXFileReference; explicitFileType = text.plist; name = Info.plist; path = "tulsi-workspace/_tulsi-includes/x/x/tulsi_e2e_mac/UnitTestsNoHost-intermediates/Info.plist"; sourceTree = "<group>"; };
		25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = UnitTestsNoHost.m; path = "tulsi-workspace/tulsi_e2e_mac/test/UnitTestsNoHost.m"; sourceTree = "<group>"; };
		25889F7CEAD580F400000000 /* BUILD */ = {isa = PBXFileReference; lastKnownFileType = text; name = BUILD; path = tulsi_e2e_mac/BUILD; sourceTree = "<group>"; };
		25889F7CEF58351100000000 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Main.storyboard; path = "tulsi-workspace/tulsi_e2e_mac/Resources/Main.storyboard"; sourceTree = "<group>"; };
		25889F7CF8E2406C00000000 /* UnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; name = UnitTests.xctest; path = UnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		45D056291BF813BD00000000 /* Products */ = {
			isa = PBXGroup;
			children = (
				45D05629C0087DBE00000000 /* Indexer */,
				25889F7CB053494A00000000 /* MyMacOSApp.app */,
				25889F7C13A3ADB400000000 /* UITests.xctest */,
				25889F7CF8E2406C00000000 /* UnitTests.xctest */,
				25889F7C86B467CC00000000 /* UnitTestsNoHost.xctest */,
				45D05629EAC0EC1600000000 /* _tulsi-includes */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		45D0562932083AD600000000 /* plugin */ = {
			isa = PBXGroup;
			children = (
				25889F7C8363577600000000 /* PluginViewController.xib */,
			);
			name = plugin;
			sourceTree = "<group>";
		};
		45D0562932083AD600000001 /* plugin */ = {
			isa = PBXGroup;
			children = (
				25889F7C59FF2E4A00000000 /* PluginViewController.h */,
				25889F7C88BF1D8A00000000 /* PluginViewController.m */,
			);
			name = plugin;
			sourceTree = "<group>";
		};
		45D0562932EEC24C00000000 /* test */ = {
			isa = PBXGroup;
			children = (
				25889F7C8BF96B6600000000 /* UITests.m */,
				25889F7C2FDF604B00000000 /* UnitTests.m */,
				25889F7CCDA86EAB00000000 /* UnitTestsNoHost.m */,
			);
			name = test;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000000 /* x */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000001 /* x */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D0562934CDA62100000001 /* x */ = {
			isa = PBXGroup;
			children = (
				45D05629C93B838500000000 /* tulsi_e2e_mac */,
			);
			name = x;
			sourceTree = "<group>";
		};
		45D056293C017A9100000000 /* UnitTestsNoHost-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7CCD5B2C9400000000 /* Info.plist */,
			);
			name = "UnitTestsNoHost-intermediates";
			sourceTree = "<group>";
		};
		45D056293D848C8300000000 /* today */ = {
			isa = PBXGroup;
			children = (
				25889F7C7CBFB06500000000 /* TodayViewController.xib */,
			);
			name = today;
			sourceTree = "<group>";
		};
		45D056293D848C8300000001 /* today */ = {
			isa = PBXGroup;
			children = (
				45D056296506C89700000000 /* ExtSources */,
				25889F7CC867E1F300000000 /* TodayViewController.h */,
			);
			name = today;
			sourceTree = "<group>";
		};
		45D0562942EDABC600000000 /* extensions */ = {
			isa = PBXGroup;
			children = (
				45D056293D848C8300000000 /* today */,
			);
			name = extensions;
			sourceTree = "<group>";
		};
		45D0562942EDABC600000001 /* extensions */ = {
			isa = PBXGroup;
			children = (
				45D056293D848C8300000001 /* today */,
			);
			name = extensions;
			sourceTree = "<group>";
		};
		45D056295E29771300000000 /* Resources */ = {
			isa = PBXGroup;
			children = (
				25889F7CEF58351100000000 /* Main.storyboard */,
				45D0562942EDABC600000000 /* extensions */,
				45D0562932083AD600000000 /* plugin */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		45D056296506C89700000000 /* ExtSources */ = {
			isa = PBXGroup;
			children = (
				25889F7C1D215DBF00000000 /* TodayViewController.m */,
			);
			name = ExtSources;
			sourceTree = "<group>";
		};
		45D056296ADC2BDB00000000 /* MyMacOSApp-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7C4CA0295900000000 /* Info.plist */,
			);
			name = "MyMacOSApp-intermediates";
			sourceTree = "<group>";
		};
		45D05629A370188800000000 /* UnitTests-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7C5ADEA42500000000 /* Info.plist */,
			);
			name = "UnitTests-intermediates";
			sourceTree = "<group>";
		};
		45D05629B56AD7F200000000 /* mainGroup */ = {
			isa = PBXGroup;
			children = (
				45D056291BF813BD00000000 /* Products */,
				45D05629C93B838500000001 /* tulsi_e2e_mac */,
			);
			name = mainGroup;
			path = ..;
			sourceTree = SOURCE_ROOT;
		};
		45D05629C0087DBE00000000 /* Indexer */ = {
			isa = PBXGroup;
			children = (
				25889F7C733E1DFE00000000 /* lib_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13.a */,
			);
			name = Indexer;
			sourceTree = "<group>";
		};
		45D05629C93B838500000000 /* tulsi_e2e_mac */ = {
			isa = PBXGroup;
			children = (
				45D056296ADC2BDB00000000 /* MyMacOSApp-intermediates */,
				45D05629E02415E500000000 /* UITests-intermediates */,
				45D05629A370188800000000 /* UnitTests-intermediates */,
				45D056293C017A9100000000 /* UnitTestsNoHost-intermediates */,
			);
			name = tulsi_e2e_mac;
			sourceTree = "<group>";
		};
		45D05629C93B838500000001 /* tulsi_e2e_mac */ = {
			isa = PBXGroup;
			children = (
				25889F7CEAD580F400000000 /* BUILD */,
				25889F7C1DF2978800000000 /* Info.plist */,
				25889F7C89A6486800000000 /* MyPlugin_Info.plist */,
				25889F7C434F672400000000 /* MyTodayExtension-Entitlements.entitlements */,
				25889F7C14A0CF5B00000000 /* MyTodayExtension-Info.plist */,
				45D056295E29771300000000 /* Resources */,
				45D05629C9D3842C00000000 /* src */,
				45D0562932EEC24C00000000 /* test */,
			);
			name = tulsi_e2e_mac;
			sourceTree = "<group>";
		};
		45D05629C9D3842C00000000 /* src */ = {
			isa = PBXGroup;
			children = (
				25889F7C2659003900000000 /* AppDelegate.h */,
				25889F7C0B8893FD00000000 /* AppDelegate.m */,
				45D0562942EDABC600000001 /* extensions */,
				25889F7CBE1ACDB100000000 /* main.m */,
				45D0562932083AD600000001 /* plugin */,
			);
			name = src;
			sourceTree = "<group>";
		};
		45D05629E02415E500000000 /* UITests-intermediates */ = {
			isa = PBXGroup;
			children = (
				25889F7CC906726900000000 /* Info.plist */,
			);
			name = "UITests-intermediates";
			sourceTree = "<group>";
		};
		45D05629EAC0EC1600000000 /* _tulsi-includes */ = {
			isa = PBXGroup;
			children = (
				45D0562934CDA62100000000 /* x */,
			);
			name = "_tulsi-includes";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

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

/* Begin PBXNativeTarget section */
		7E9AFE62028EBCFE00000000 /* MyMacOSApp */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDD87197C000000000 /* Build configuration list for PBXNativeTarget "MyMacOSApp" */;
			buildPhases = (
				978262AB36CF34B400000000 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = MyMacOSApp;
			productName = MyMacOSApp;
			productReference = 25889F7CB053494A00000000 /* MyMacOSApp.app */;
			productType = "com.apple.product-type.application";
		};
		7E9AFE6239A5FC4200000000 /* UnitTestsNoHost */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDEC67875D00000000 /* Build configuration list for PBXNativeTarget "UnitTestsNoHost" */;
			buildPhases = (
				978262AB7494A9B700000000 /* ShellScript */,
				978262AB3C07559600000000 /* ShellScript */,
				04BFD5160000000000000002 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = UnitTestsNoHost;
			productName = UnitTestsNoHost;
			productReference = 25889F7C86B467CC00000000 /* UnitTestsNoHost.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E9AFE6256F24F5400000000 /* UnitTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDE993F33E00000000 /* Build configuration list for PBXNativeTarget "UnitTests" */;
			buildPhases = (
				978262AB8536FCD700000000 /* ShellScript */,
				978262AB849093BB00000000 /* ShellScript */,
				04BFD5160000000000000001 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
				89B1AEB3028EBCFF00000000 /* PBXTargetDependency */,
			);
			name = UnitTests;
			productName = UnitTests;
			productReference = 25889F7CF8E2406C00000000 /* UnitTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		7E9AFE628549A53C00000000 /* UITests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DED1478E90F00000000 /* Build configuration list for PBXNativeTarget "UITests" */;
			buildPhases = (
				978262AB6D7A83AC00000000 /* ShellScript */,
				978262AB6890D86300000000 /* ShellScript */,
				04BFD5160000000000000000 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
				89B1AEB3028EBCFF00000000 /* PBXTargetDependency */,
			);
			name = UITests;
			productName = UITests;
			productReference = 25889F7C13A3ADB400000000 /* UITests.xctest */;
			productType = "com.apple.product-type.bundle.ui-testing";
		};
		7E9AFE62E563646400000000 /* _idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13 */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = F4222DEDAE2728B100000000 /* Build configuration list for PBXNativeTarget "_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13" */;
			buildPhases = (
				04BFD5160000000000000003 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
				89B1AEB39734745D00000000 /* PBXTargetDependency */,
			);
			name = _idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13;
			productName = _idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13;
			productReference = 25889F7C733E1DFE00000000 /* lib_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		9034464BAC6636A100000000 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0710;
				LastUpgradeCheck = 1000;
				TargetAttributes = {
					7E9AFE6256F24F5400000000 = {
						TestTargetID = 7E9AFE62028EBCFE00000000;
					};
					7E9AFE628549A53C00000000 = {
						TestTargetID = 7E9AFE62028EBCFE00000000;
					};
				};
			};
			buildConfigurationList = F4222DED23711B1100000000 /* Build configuration list for PBXProject "MacOSTestsProject" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = 45D05629B56AD7F200000000 /* mainGroup */;
			targets = (
				7E9AFE62028EBCFE00000000 /* MyMacOSApp */,
				7E9AFE628549A53C00000000 /* UITests */,
				7E9AFE6256F24F5400000000 /* UnitTests */,
				7E9AFE6239A5FC4200000000 /* UnitTestsNoHost */,
				01F2CBCF9734745C00000000 /* _bazel_clean_ */,
				7E9AFE62E563646400000000 /* _idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13 */,
			);
		};
/* End PBXProject section */

/* Begin PBXShellScriptBuildPhase section */
		978262AB36CF34B400000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:MyMacOSApp --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262AB3C07559600000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(UnitTestsNoHost)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
		978262AB6890D86300000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(UITests)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
		978262AB6D7A83AC00000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:UITests --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262AB7494A9B700000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:UnitTestsNoHost --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
		978262AB849093BB00000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "# Script to generate dependency files Xcode expects when running tests.\nset -eu\nARCH_ARRAY=($ARCHS)\nFILES=(UnitTests)\nfor ARCH in \"${ARCH_ARRAY[@]}\"\ndo\n  mkdir -p \"$OBJECT_FILE_DIR_normal/$ARCH/\"\n  rm -f \"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  printf '\\x00\\x31\\x00' >\"$OBJECT_FILE_DIR_normal/$ARCH/${PRODUCT_NAME}_dependency_info.dat\"\n  for FILE in \"${FILES[@]}\"\n  do\n    touch \"$OBJECT_FILE_DIR_normal/$ARCH/$FILE.d\"\n  done\ndone";
			showEnvVarsInLog = 1;
		};
		978262AB8536FCD700000000 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 0;
			files = (
			);
			inputPaths = (
				"$(TARGET_BUILD_DIR)/$(INFOPLIST_PATH)",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/bash;
			shellScript = "set -e\ncd \"${SRCROOT}/..\"\nexec \"${PROJECT_FILE_PATH}/.tulsi/Scripts/bazel_build.py\" //tulsi_e2e_mac:UnitTests --bazel \"/fake/tulsi_test_bazel\" --bazel_bin_path \"bazel-bin\" --verbose ";
			showEnvVarsInLog = 1;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		04BFD5160000000000000000 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D8BF96B6600000000 /* UITests.m in test */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000001 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886D2FDF604B00000000 /* UnitTests.m in test */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000002 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886DCDA86EAB00000000 /* UnitTestsNoHost.m in test */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		04BFD5160000000000000003 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 0;
			files = (
				952C886DCDA86EAB00000001 /* UnitTestsNoHost.m in test */,
				952C886D0B8893FD00000000 /* AppDelegate.m in src */,
				952C886DBE1ACDB100000000 /* main.m in src */,
				952C886D88BF1D8A00000000 /* PluginViewController.m in plugin */,
				952C886D1D215DBF00000000 /* TodayViewController.m in ExtSources */,
				952C886D8BF96B6600000001 /* UITests.m in test */,
				952C886D2FDF604B00000001 /* UnitTests.m in test */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

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

/* Begin XCBuildConfiguration section */
		0207AA281FC531E700000000 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
				PRODUCT_NAME = UITests;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_TARGET_NAME = MyMacOSApp;
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000001 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
				PRODUCT_NAME = MyMacOSApp;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000002 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
				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";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
				PRODUCT_NAME = UnitTests;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000003 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "c++11";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PYTHONIOENCODING = utf8;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = MacOSTestsProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA281FC531E700000004 /* __TulsiTestRunner_Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests;
				PRODUCT_NAME = UnitTestsNoHost;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Release;
		};
		0207AA2838C3D90E00000000 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
				PRODUCT_NAME = UITests;
				SDKROOT = macosx;
				TEST_TARGET_NAME = MyMacOSApp;
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000001 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
				PRODUCT_NAME = MyMacOSApp;
				SDKROOT = macosx;
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000002 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
				PRODUCT_NAME = UnitTests;
				SDKROOT = macosx;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000003 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "c++11";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = macosx;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = MacOSTestsProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Debug;
		};
		0207AA2838C3D90E00000004 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests;
				PRODUCT_NAME = UnitTestsNoHost;
				SDKROOT = macosx;
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Debug;
		};
		0207AA2838C3D90E00000005 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/_tulsi-includes/x/x/ $(TULSI_BWRS)/_tulsi-includes/x/x/ ";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_NAME = _idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13;
				SDKROOT = macosx;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Debug;
		};
		0207AA28616216BF00000000 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
				PRODUCT_NAME = UITests;
				SDKROOT = macosx;
				TEST_TARGET_NAME = MyMacOSApp;
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Release;
		};
		0207AA28616216BF00000001 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
				PRODUCT_NAME = MyMacOSApp;
				SDKROOT = macosx;
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Release;
		};
		0207AA28616216BF00000002 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
				BUNDLE_LOADER = "$(TEST_HOST)";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
				PRODUCT_NAME = UnitTests;
				SDKROOT = macosx;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Release;
		};
		0207AA28616216BF00000003 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "c++11";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGNING_REQUIRED = NO;
				CODE_SIGN_IDENTITY = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "$(PLATFORM_DIR)/Developer/Library/Frameworks";
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(TULSI_BWRS) $(TULSI_WR)/bazel-bin $(TULSI_WR)/bazel-genfiles $(TULSI_BWRS)/_tulsi-includes/x/x";
				ONLY_ACTIVE_ARCH = YES;
				PYTHONIOENCODING = utf8;
				SDKROOT = macosx;
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = MacOSTestsProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = Release;
		};
		0207AA28616216BF00000004 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost";
				DEBUG_INFORMATION_FORMAT = dwarf;
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests;
				PRODUCT_NAME = UnitTestsNoHost;
				SDKROOT = macosx;
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = Release;
		};
		0207AA28616216BF00000005 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
				HEADER_SEARCH_PATHS = "$(inherited) $(TULSI_WR)/_tulsi-includes/x/x/ $(TULSI_BWRS)/_tulsi-includes/x/x/ ";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				PRODUCT_NAME = _idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13;
				SDKROOT = macosx;
				USER_HEADER_SEARCH_PATHS = "$(TULSI_WR)";
			};
			name = Release;
		};
		0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UITests";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
				PRODUCT_NAME = UITests;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_TARGET_NAME = MyMacOSApp;
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:MyMacOSApp";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-app";
				PRODUCT_NAME = MyMacOSApp;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTests";
				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";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = "com.example.mac-appTests";
				PRODUCT_NAME = UnitTests;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MyMacOSApp.app/Contents/MacOS/MyMacOSApp";
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000003 /* __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 = "";
				DONT_RUN_SWIFT_STDLIB_TOOL = YES;
				ENABLE_TESTABILITY = YES;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "";
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PYTHONIOENCODING = utf8;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BWRS = "${TULSI_WR}/tulsi-workspace";
				TULSI_PROJECT = MacOSTestsProject;
				TULSI_VERSION = 9.99.999.9999;
				TULSI_WR = "${SRCROOT}/..";
			};
			name = __TulsiTestRunner_Debug;
		};
		0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "Stub Launch Image";
				BAZEL_TARGET = "//tulsi_e2e_mac:UnitTestsNoHost";
				DEBUG_INFORMATION_FORMAT = dwarf;
				FRAMEWORK_SEARCH_PATHS = "";
				GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "${PROJECT_FILE_PATH}/.tulsi/Resources/StubInfoPlist.plist";
				MACOSX_DEPLOYMENT_TARGET = 10.13;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_CFLAGS = "--version";
				OTHER_LDFLAGS = "--version";
				OTHER_SWIFT_FLAGS = "--version";
				PRODUCT_BUNDLE_IDENTIFIER = com.tulsi.tests;
				PRODUCT_NAME = UnitTestsNoHost;
				SDKROOT = macosx;
				SWIFT_INSTALL_OBJC_HEADER = NO;
				SWIFT_OBJC_INTERFACE_HEADER_NAME = "$(PRODUCT_NAME).h";
				TULSI_BUILD_PATH = tulsi_e2e_mac;
				TULSI_TEST_RUNNER_ONLY = YES;
				TULSI_XCODE_VERSION = 10.1.0.10B61;
			};
			name = __TulsiTestRunner_Debug;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		F4222DED1478E90F00000000 /* Build configuration list for PBXNativeTarget "UITests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000000 /* Debug */,
				0207AA28616216BF00000000 /* Release */,
				0207AA28F23A778400000000 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000000 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED23711B1100000000 /* Build configuration list for PBXProject "MacOSTestsProject" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000003 /* Debug */,
				0207AA28616216BF00000003 /* Release */,
				0207AA28F23A778400000003 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000003 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DED29203B0D00000000 /* Build configuration list for PBXLegacyTarget "_bazel_clean_" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDAE2728B100000000 /* Build configuration list for PBXNativeTarget "_idx_UnitTestsNoHostLib_MyMacAppSources_MyPluginSources_MyTodayExtensionSources_UITestsLib_UnitTestsLib_3C589067_macos_min10.13" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000005 /* Debug */,
				0207AA28616216BF00000005 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDD87197C000000000 /* Build configuration list for PBXNativeTarget "MyMacOSApp" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000001 /* Debug */,
				0207AA28616216BF00000001 /* Release */,
				0207AA28F23A778400000001 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000001 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDE993F33E00000000 /* Build configuration list for PBXNativeTarget "UnitTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000002 /* Debug */,
				0207AA28616216BF00000002 /* Release */,
				0207AA28F23A778400000002 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000002 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
		F4222DEDEC67875D00000000 /* Build configuration list for PBXNativeTarget "UnitTestsNoHost" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0207AA2838C3D90E00000004 /* Debug */,
				0207AA28616216BF00000004 /* Release */,
				0207AA28F23A778400000004 /* __TulsiTestRunner_Debug */,
				0207AA281FC531E700000004 /* __TulsiTestRunner_Release */,
			);
			defaultConfigurationIsVisible = 0;
		};
/* End XCConfigurationList section */
	};
	rootObject = 9034464BAC6636A100000000 /* Project object */;
}