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

/* Begin PBXBuildFile section */
		1C60FF1614E6E3F7006CD77D /* localizedStrings.js in Resources */ = {isa = PBXBuildFile; fileRef = 1C60FF1314E6E35D006CD77D /* localizedStrings.js */; };
		1C78EE1717611340002F6AA5 /* WebInspectorUI.c in Sources */ = {isa = PBXBuildFile; fileRef = 1C78EE1617611340002F6AA5 /* WebInspectorUI.c */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		1C60FE2F14E5F3CD006CD77D /* Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
		1C60FE3114E5F3CD006CD77D /* DebugRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
		1C60FE3214E5F3CD006CD77D /* Version.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = "<group>"; };
		1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebInspectorUIFramework.xcconfig; sourceTree = "<group>"; };
		1C60FF1014E6D992006CD77D /* UserInterface */ = {isa = PBXFileReference; lastKnownFileType = folder; path = UserInterface; sourceTree = "<group>"; };
		1C60FF1414E6E35D006CD77D /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = en; path = Localizations/en.lproj/localizedStrings.js; sourceTree = "<group>"; };
		1C60FF1914E73C64006CD77D /* combine-resources.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = "combine-resources.pl"; sourceTree = "<group>"; };
		1C60FF1A14E73DCA006CD77D /* remove-console-asserts.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = "remove-console-asserts.pl"; sourceTree = "<group>"; };
		1C60FFE114E79B0F006CD77D /* copy-user-interface-resources.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = "copy-user-interface-resources.pl"; sourceTree = "<group>"; };
		1C78EE131760E115002F6AA5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		1C78EE1617611340002F6AA5 /* WebInspectorUI.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = WebInspectorUI.c; sourceTree = "<group>"; };
		A1B89B8F221E021000EB4CEA /* SDKVariant.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = SDKVariant.xcconfig; sourceTree = "<group>"; };
		A54C2257148B23DF00373FA3 /* WebInspectorUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WebInspectorUI.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXGroup section */
		1C60FE2E14E5F3CD006CD77D /* Configurations */ = {
			isa = PBXGroup;
			children = (
				1C60FE2F14E5F3CD006CD77D /* Base.xcconfig */,
				1C60FE3114E5F3CD006CD77D /* DebugRelease.xcconfig */,
				A1B89B8F221E021000EB4CEA /* SDKVariant.xcconfig */,
				1C60FE3214E5F3CD006CD77D /* Version.xcconfig */,
				1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */,
			);
			path = Configurations;
			sourceTree = "<group>";
		};
		1C60FF1514E6E39B006CD77D /* Resources */ = {
			isa = PBXGroup;
			children = (
				1C78EE131760E115002F6AA5 /* Info.plist */,
				1C60FF1314E6E35D006CD77D /* localizedStrings.js */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		1C60FFE014E79B0F006CD77D /* Scripts */ = {
			isa = PBXGroup;
			children = (
				1C60FF1914E73C64006CD77D /* combine-resources.pl */,
				1C60FFE114E79B0F006CD77D /* copy-user-interface-resources.pl */,
				1C60FF1A14E73DCA006CD77D /* remove-console-asserts.pl */,
			);
			path = Scripts;
			sourceTree = "<group>";
		};
		A54C224B148B23DE00373FA3 = {
			isa = PBXGroup;
			children = (
				1C60FE2E14E5F3CD006CD77D /* Configurations */,
				A54C2258148B23DF00373FA3 /* Products */,
				1C60FF1514E6E39B006CD77D /* Resources */,
				1C60FFE014E79B0F006CD77D /* Scripts */,
				1C60FF1014E6D992006CD77D /* UserInterface */,
				1C78EE1617611340002F6AA5 /* WebInspectorUI.c */,
			);
			sourceTree = "<group>";
		};
		A54C2258148B23DF00373FA3 /* Products */ = {
			isa = PBXGroup;
			children = (
				A54C2257148B23DF00373FA3 /* WebInspectorUI.framework */,
			);
			name = Products;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		A54C2256148B23DF00373FA3 /* WebInspectorUI */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A54C226C148B23DF00373FA3 /* Build configuration list for PBXNativeTarget "WebInspectorUI" */;
			buildPhases = (
				A54C2255148B23DF00373FA3 /* Resources */,
				1C60FF1214E6D9AF006CD77D /* Copy User Interface Resources */,
				1C78EE1417611302002F6AA5 /* Sources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = WebInspectorUI;
			productName = WebInspector;
			productReference = A54C2257148B23DF00373FA3 /* WebInspectorUI.framework */;
			productType = "com.apple.product-type.framework";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		A54C224D148B23DE00373FA3 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 1140;
				ORGANIZATIONNAME = Apple;
			};
			buildConfigurationList = A54C2250148B23DE00373FA3 /* Build configuration list for PBXProject "WebInspectorUI" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = A54C224B148B23DE00373FA3;
			productRefGroup = A54C2258148B23DF00373FA3 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A54C2256148B23DF00373FA3 /* WebInspectorUI */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		A54C2255148B23DF00373FA3 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1C60FF1614E6E3F7006CD77D /* localizedStrings.js in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		1C60FF1214E6D9AF006CD77D /* Copy User Interface Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			name = "Copy User Interface Resources";
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "/usr/bin/perl \"${SRCROOT}/Scripts/copy-user-interface-resources.pl\"";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		1C78EE1417611302002F6AA5 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1C78EE1717611340002F6AA5 /* WebInspectorUI.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
		1C60FF1314E6E35D006CD77D /* localizedStrings.js */ = {
			isa = PBXVariantGroup;
			children = (
				1C60FF1414E6E35D006CD77D /* en */,
			);
			name = localizedStrings.js;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		1C60FE3514E5F47E006CD77D /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE2F14E5F3CD006CD77D /* Base.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		1C60FE3614E5F47E006CD77D /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		A54C226A148B23DF00373FA3 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3114E5F3CD006CD77D /* DebugRelease.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		A54C226B148B23DF00373FA3 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3114E5F3CD006CD77D /* DebugRelease.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		A54C226D148B23DF00373FA3 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		A54C226E148B23DF00373FA3 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1C60FE3314E5F3CD006CD77D /* WebInspectorUIFramework.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		A54C2250148B23DE00373FA3 /* Build configuration list for PBXProject "WebInspectorUI" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A54C226A148B23DF00373FA3 /* Debug */,
				A54C226B148B23DF00373FA3 /* Release */,
				1C60FE3514E5F47E006CD77D /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		A54C226C148B23DF00373FA3 /* Build configuration list for PBXNativeTarget "WebInspectorUI" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A54C226D148B23DF00373FA3 /* Debug */,
				A54C226E148B23DF00373FA3 /* Release */,
				1C60FE3614E5F47E006CD77D /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
/* End XCConfigurationList section */
	};
	rootObject = A54C224D148B23DE00373FA3 /* Project object */;
}
