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

/* Begin PBXBuildFile section */
		1A624E590DCBC7F6006898C8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A624E580DCBC7F6006898C8 /* main.m */; };
		1A6250420DCBC81B006898C8 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A6250410DCBC81B006898C8 /* Cocoa.framework */; };
		1AAD6A090DD0DC52003985DA /* MenuHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AAD6A080DD0DC52003985DA /* MenuHandler.m */; };
		52E2CAF119F856E9001EEB4F /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52E2CAF019F856E9001EEB4F /* AVFoundation.framework */; };
		52E2CAF419F85A47001EEB4F /* AudioPlayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52E2CAF319F85A47001EEB4F /* AudioPlayer.mm */; };
		8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		1A624E580DCBC7F6006898C8 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		1A6250410DCBC81B006898C8 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
		1AAD6A070DD0DC52003985DA /* MenuHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MenuHandler.h; sourceTree = "<group>"; };
		1AAD6A080DD0DC52003985DA /* MenuHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MenuHandler.m; sourceTree = "<group>"; };
		52E2CAF019F856E9001EEB4F /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = ../../../../../../../../System/Library/Frameworks/AVFoundation.framework; sourceTree = "<group>"; };
		52E2CAF219F85A47001EEB4F /* AudioPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioPlayer.h; sourceTree = "<group>"; };
		52E2CAF319F85A47001EEB4F /* AudioPlayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AudioPlayer.mm; sourceTree = "<group>"; };
		8D576316048677EA00EA77CD /* NetscapeMuteAPIPlugin.plugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NetscapeMuteAPIPlugin.plugin; sourceTree = BUILT_PRODUCTS_DIR; };
		8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		8D576313048677EA00EA77CD /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				52E2CAF119F856E9001EEB4F /* AVFoundation.framework in Frameworks */,
				1A6250420DCBC81B006898C8 /* Cocoa.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		089C166AFE841209C02AAC07 /* NetscapeMuteAPIPlugin */ = {
			isa = PBXGroup;
			children = (
				52E2CAF019F856E9001EEB4F /* AVFoundation.framework */,
				08FB77AFFE84173DC02AAC07 /* Source */,
				089C167CFE841241C02AAC07 /* Resources */,
				089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
				19C28FB6FE9D52B211CA2CBB /* Products */,
			);
			name = NetscapeMuteAPIPlugin;
			sourceTree = "<group>";
		};
		089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
			isa = PBXGroup;
			children = (
				1A6250410DCBC81B006898C8 /* Cocoa.framework */,
			);
			name = "External Frameworks and Libraries";
			sourceTree = "<group>";
		};
		089C167CFE841241C02AAC07 /* Resources */ = {
			isa = PBXGroup;
			children = (
				8D576317048677EA00EA77CD /* Info.plist */,
				8D5B49A704867FD3000E48DA /* InfoPlist.strings */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		08FB77AFFE84173DC02AAC07 /* Source */ = {
			isa = PBXGroup;
			children = (
				1A624E580DCBC7F6006898C8 /* main.m */,
				1AAD6A070DD0DC52003985DA /* MenuHandler.h */,
				1AAD6A080DD0DC52003985DA /* MenuHandler.m */,
				52E2CAF219F85A47001EEB4F /* AudioPlayer.h */,
				52E2CAF319F85A47001EEB4F /* AudioPlayer.mm */,
			);
			name = Source;
			sourceTree = "<group>";
		};
		19C28FB6FE9D52B211CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				8D576316048677EA00EA77CD /* NetscapeMuteAPIPlugin.plugin */,
			);
			name = Products;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		8D57630D048677EA00EA77CD /* NetscapeMuteAPIPlugin */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 149C298308902C53008A9EFC /* Build configuration list for PBXNativeTarget "NetscapeMuteAPIPlugin" */;
			buildPhases = (
				8D576311048677EA00EA77CD /* Sources */,
				8D57630F048677EA00EA77CD /* Resources */,
				8D576313048677EA00EA77CD /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = NetscapeMuteAPIPlugin;
			productInstallPath = "$(HOME)/Library/Bundles";
			productName = NetscapeMuteAPIPlugin;
			productReference = 8D576316048677EA00EA77CD /* NetscapeMuteAPIPlugin.plugin */;
			productType = "com.apple.product-type.bundle";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		089C1669FE841209C02AAC07 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0600;
			};
			buildConfigurationList = 149C298708902C53008A9EFC /* Build configuration list for PBXProject "NetscapeMuteAPIPlugin" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,
			);
			mainGroup = 089C166AFE841209C02AAC07 /* NetscapeMuteAPIPlugin */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				8D57630D048677EA00EA77CD /* NetscapeMuteAPIPlugin */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		8D57630F048677EA00EA77CD /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		8D576311048677EA00EA77CD /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				1A624E590DCBC7F6006898C8 /* main.m in Sources */,
				52E2CAF419F85A47001EEB4F /* AudioPlayer.mm in Sources */,
				1AAD6A090DD0DC52003985DA /* MenuHandler.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
		8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				089C167EFE841241C02AAC07 /* English */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		149C298408902C53008A9EFC /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COMBINE_HIDPI_IMAGES = YES;
				COPY_PHASE_STRIP = NO;
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks",
				);
				GCC_DEBUGGING_SYMBOLS = full;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_ENABLE_FIX_AND_CONTINUE = YES;
				GCC_MODEL_TUNING = G5;
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = Info.plist;
				INSTALL_PATH = "$(HOME)/Library/Bundles";
				PRODUCT_NAME = NetscapeMuteAPIPlugin;
				WRAPPER_EXTENSION = plugin;
				ZERO_LINK = YES;
			};
			name = Debug;
		};
		149C298508902C53008A9EFC /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				COMBINE_HIDPI_IMAGES = YES;
				FRAMEWORK_SEARCH_PATHS = (
					"$(inherited)",
					"$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks",
				);
				GCC_DEBUGGING_SYMBOLS = full;
				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
				GCC_MODEL_TUNING = G5;
				GCC_OPTIMIZATION_LEVEL = 0;
				INFOPLIST_FILE = Info.plist;
				INSTALL_PATH = "$(HOME)/Library/Bundles";
				PRODUCT_NAME = NetscapeMuteAPIPlugin;
				WRAPPER_EXTENSION = plugin;
			};
			name = Release;
		};
		149C298808902C53008A9EFC /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64";
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				ONLY_ACTIVE_ARCH = YES;
				PREBINDING = NO;
			};
			name = Debug;
		};
		149C298908902C53008A9EFC /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "ppc i386 ppc64 x86_64";
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				PREBINDING = NO;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		149C298308902C53008A9EFC /* Build configuration list for PBXNativeTarget "NetscapeMuteAPIPlugin" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				149C298408902C53008A9EFC /* Debug */,
				149C298508902C53008A9EFC /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		149C298708902C53008A9EFC /* Build configuration list for PBXProject "NetscapeMuteAPIPlugin" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				149C298808902C53008A9EFC /* Debug */,
				149C298908902C53008A9EFC /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}
