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

/* Begin PBXBuildFile section */
		29F3A15D17B98AE1005D8E07 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29F3A15C17B98AE1005D8E07 /* CoreTelephony.framework */; };
		29F3A15E17B98B3C005D8E07 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29F3A15C17B98AE1005D8E07 /* CoreTelephony.framework */; };
		8F04BE90176F062500076CB4 /* NBAsYouTypeFormatterTest.m in Sources */ = {isa = PBXBuildFile; fileRef = FD57B66C16E5B71F000772AF /* NBAsYouTypeFormatterTest.m */; };
		8FE047B5174389F300CCA610 /* NBAsYouTypeFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = FD4C786916DB62AC00473849 /* NBAsYouTypeFormatter.m */; };
		D39D45BE17D7AA020051A471 /* NBAsYouTypeFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = FD4C786916DB62AC00473849 /* NBAsYouTypeFormatter.m */; };
		FD0BD7781679DDA700B19065 /* NBPhoneNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = FD0BD7771679DDA600B19065 /* NBPhoneNumber.m */; };
		FD7A0621167715A0004BBEB6 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD7A0620167715A0004BBEB6 /* UIKit.framework */; };
		FD7A0623167715A0004BBEB6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD7A0622167715A0004BBEB6 /* Foundation.framework */; };
		FD7A0625167715A0004BBEB6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD7A0624167715A0004BBEB6 /* CoreGraphics.framework */; };
		FD7A062B167715A0004BBEB6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = FD7A0629167715A0004BBEB6 /* InfoPlist.strings */; };
		FD7A062D167715A0004BBEB6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A062C167715A0004BBEB6 /* main.m */; };
		FD7A0633167715A0004BBEB6 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = FD7A0632167715A0004BBEB6 /* Default.png */; };
		FD7A0635167715A0004BBEB6 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FD7A0634167715A0004BBEB6 /* Default@2x.png */; };
		FD7A0637167715A0004BBEB6 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FD7A0636167715A0004BBEB6 /* Default-568h@2x.png */; };
		FD7A063F167715A1004BBEB6 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD7A063E167715A1004BBEB6 /* SenTestingKit.framework */; };
		FD7A0640167715A1004BBEB6 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD7A0620167715A0004BBEB6 /* UIKit.framework */; };
		FD7A0641167715A1004BBEB6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD7A0622167715A0004BBEB6 /* Foundation.framework */; };
		FD7A0649167715A1004BBEB6 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = FD7A0647167715A1004BBEB6 /* InfoPlist.strings */; };
		FD7A064C167715A1004BBEB6 /* NBPhoneNumberUtilTests.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A064B167715A1004BBEB6 /* NBPhoneNumberUtilTests.m */; };
		FD7A0657167715B2004BBEB6 /* NBPhoneNumberUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A0656167715B2004BBEB6 /* NBPhoneNumberUtil.m */; };
		FD7A0658167715B2004BBEB6 /* NBPhoneNumberUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A0656167715B2004BBEB6 /* NBPhoneNumberUtil.m */; };
		FD7A065F167715FD004BBEB6 /* NBNumberFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A065E167715FD004BBEB6 /* NBNumberFormat.m */; };
		FD7A0660167715FD004BBEB6 /* NBNumberFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A065E167715FD004BBEB6 /* NBNumberFormat.m */; };
		FD7A066316771A54004BBEB6 /* NBPhoneNumberDesc.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A066216771A54004BBEB6 /* NBPhoneNumberDesc.m */; };
		FD7A066416771A54004BBEB6 /* NBPhoneNumberDesc.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A066216771A54004BBEB6 /* NBPhoneNumberDesc.m */; };
		FD7A066716771AFD004BBEB6 /* NBPhoneMetaData.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A066616771AFD004BBEB6 /* NBPhoneMetaData.m */; };
		FD7A066816771AFD004BBEB6 /* NBPhoneMetaData.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A066616771AFD004BBEB6 /* NBPhoneMetaData.m */; };
		FD9E3ADC169E5176007E06CC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD7A0622167715A0004BBEB6 /* Foundation.framework */; };
		FD9E3AE7169E51A2007E06CC /* NBNumberFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A065E167715FD004BBEB6 /* NBNumberFormat.m */; };
		FD9E3AE8169E51A2007E06CC /* NBPhoneMetaData.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A066616771AFD004BBEB6 /* NBPhoneMetaData.m */; };
		FD9E3AE9169E51A2007E06CC /* NBPhoneNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = FD0BD7771679DDA600B19065 /* NBPhoneNumber.m */; };
		FD9E3AEA169E51A2007E06CC /* NBPhoneNumberDesc.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A066216771A54004BBEB6 /* NBPhoneNumberDesc.m */; };
		FD9E3AEB169E51A2007E06CC /* NBPhoneNumberUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A0656167715B2004BBEB6 /* NBPhoneNumberUtil.m */; };
		FD9E3AEE169E51D1007E06CC /* NBNumberFormat.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FD7A065D167715FD004BBEB6 /* NBNumberFormat.h */; };
		FD9E3AEF169E51D1007E06CC /* NBPhoneMetaData.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FD7A066516771AFD004BBEB6 /* NBPhoneMetaData.h */; };
		FD9E3AF0169E51D1007E06CC /* NBPhoneNumber.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FD0BD7761679DDA600B19065 /* NBPhoneNumber.h */; };
		FD9E3AF1169E51D1007E06CC /* NBPhoneNumberDefines.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FDBCAD2016954FE4005E0334 /* NBPhoneNumberDefines.h */; };
		FD9E3AF2169E51D1007E06CC /* NBPhoneNumberDesc.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FD7A066116771A54004BBEB6 /* NBPhoneNumberDesc.h */; };
		FD9E3AF3169E51D1007E06CC /* NBPhoneNumberUtil.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = FD7A0655167715B2004BBEB6 /* NBPhoneNumberUtil.h */; };
		FD9E3AF6169E62B6007E06CC /* NBPhoneMetaDataGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = FD7A066E167736BD004BBEB6 /* NBPhoneMetaDataGenerator.m */; };
		FDAACB55167F3F11002DB4D4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD7A0624167715A0004BBEB6 /* CoreGraphics.framework */; };
		FDAE1B3016CE2C1C007EB0ED /* PhoneNumberMetaData.json in Resources */ = {isa = PBXBuildFile; fileRef = FDAE1B2E16CE2C1C007EB0ED /* PhoneNumberMetaData.json */; };
		FDAE1B3116CE2C1C007EB0ED /* PhoneNumberMetaData.json in Resources */ = {isa = PBXBuildFile; fileRef = FDAE1B2E16CE2C1C007EB0ED /* PhoneNumberMetaData.json */; };
		FDAE1B3216CE2C1C007EB0ED /* PhoneNumberMetaDataForTesting.json in Resources */ = {isa = PBXBuildFile; fileRef = FDAE1B2F16CE2C1C007EB0ED /* PhoneNumberMetaDataForTesting.json */; };
		FDAE1B3316CE2C1C007EB0ED /* PhoneNumberMetaDataForTesting.json in Resources */ = {isa = PBXBuildFile; fileRef = FDAE1B2F16CE2C1C007EB0ED /* PhoneNumberMetaDataForTesting.json */; };
		FDAE1B3616CE2C92007EB0ED /* NBPhoneNumberMetadata.plist in Resources */ = {isa = PBXBuildFile; fileRef = FDAE1B3416CE2C92007EB0ED /* NBPhoneNumberMetadata.plist */; };
		FDAE1B3716CE2C92007EB0ED /* NBPhoneNumberMetadata.plist in Resources */ = {isa = PBXBuildFile; fileRef = FDAE1B3416CE2C92007EB0ED /* NBPhoneNumberMetadata.plist */; };
		FDAE1B3816CE2C92007EB0ED /* NBPhoneNumberMetadataForTesting.plist in Resources */ = {isa = PBXBuildFile; fileRef = FDAE1B3516CE2C92007EB0ED /* NBPhoneNumberMetadataForTesting.plist */; };
		FDAE1B3916CE2C92007EB0ED /* NBPhoneNumberMetadataForTesting.plist in Resources */ = {isa = PBXBuildFile; fileRef = FDAE1B3516CE2C92007EB0ED /* NBPhoneNumberMetadataForTesting.plist */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		FD7A0642167715A1004BBEB6 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = FD7A0613167715A0004BBEB6 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = FD7A061B167715A0004BBEB6;
			remoteInfo = libPhoneNumber;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		FD9E3AD9169E5176007E06CC /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "include/${PRODUCT_NAME}";
			dstSubfolderSpec = 16;
			files = (
				FD9E3AEE169E51D1007E06CC /* NBNumberFormat.h in CopyFiles */,
				FD9E3AEF169E51D1007E06CC /* NBPhoneMetaData.h in CopyFiles */,
				FD9E3AF0169E51D1007E06CC /* NBPhoneNumber.h in CopyFiles */,
				FD9E3AF1169E51D1007E06CC /* NBPhoneNumberDefines.h in CopyFiles */,
				FD9E3AF2169E51D1007E06CC /* NBPhoneNumberDesc.h in CopyFiles */,
				FD9E3AF3169E51D1007E06CC /* NBPhoneNumberUtil.h in CopyFiles */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		29F3A15C17B98AE1005D8E07 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
		4D43EF831740825100C24FF3 /* libPhoneNumber-iOS.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = "libPhoneNumber-iOS.podspec"; sourceTree = SOURCE_ROOT; };
		FD0BD7761679DDA600B19065 /* NBPhoneNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NBPhoneNumber.h; sourceTree = "<group>"; };
		FD0BD7771679DDA600B19065 /* NBPhoneNumber.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NBPhoneNumber.m; sourceTree = "<group>"; };
		FD2014DC169A8A82003491D9 /* index.php */ = {isa = PBXFileReference; lastKnownFileType = text.script.php; path = index.php; sourceTree = "<group>"; };
		FD2014DD169A8A82003491D9 /* libPhoneNumberGenerator.php */ = {isa = PBXFileReference; lastKnownFileType = text.script.php; path = libPhoneNumberGenerator.php; sourceTree = "<group>"; };
		FD4C786816DB62AC00473849 /* NBAsYouTypeFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NBAsYouTypeFormatter.h; sourceTree = "<group>"; };
		FD4C786916DB62AC00473849 /* NBAsYouTypeFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NBAsYouTypeFormatter.m; sourceTree = "<group>"; };
		FD57B66B16E5B71F000772AF /* NBAsYouTypeFormatterTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NBAsYouTypeFormatterTest.h; sourceTree = "<group>"; };
		FD57B66C16E5B71F000772AF /* NBAsYouTypeFormatterTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NBAsYouTypeFormatterTest.m; sourceTree = "<group>"; };
		FD7A061C167715A0004BBEB6 /* libPhoneNumber.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = libPhoneNumber.app; sourceTree = BUILT_PRODUCTS_DIR; };
		FD7A0620167715A0004BBEB6 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
		FD7A0622167715A0004BBEB6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		FD7A0624167715A0004BBEB6 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
		FD7A0628167715A0004BBEB6 /* libPhoneNumber-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "libPhoneNumber-Info.plist"; sourceTree = "<group>"; };
		FD7A062A167715A0004BBEB6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		FD7A062C167715A0004BBEB6 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
		FD7A062E167715A0004BBEB6 /* libPhoneNumber-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "libPhoneNumber-Prefix.pch"; sourceTree = "<group>"; };
		FD7A0632167715A0004BBEB6 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = "<group>"; };
		FD7A0634167715A0004BBEB6 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = "<group>"; };
		FD7A0636167715A0004BBEB6 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = "<group>"; };
		FD7A063D167715A1004BBEB6 /* libPhoneNumberTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = libPhoneNumberTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
		FD7A063E167715A1004BBEB6 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; };
		FD7A0646167715A1004BBEB6 /* libPhoneNumberTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "libPhoneNumberTests-Info.plist"; sourceTree = "<group>"; };
		FD7A0648167715A1004BBEB6 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
		FD7A064A167715A1004BBEB6 /* NBPhoneNumberUtilTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NBPhoneNumberUtilTests.h; sourceTree = "<group>"; };
		FD7A064B167715A1004BBEB6 /* NBPhoneNumberUtilTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NBPhoneNumberUtilTests.m; sourceTree = "<group>"; };
		FD7A0655167715B2004BBEB6 /* NBPhoneNumberUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NBPhoneNumberUtil.h; sourceTree = "<group>"; };
		FD7A0656167715B2004BBEB6 /* NBPhoneNumberUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NBPhoneNumberUtil.m; sourceTree = "<group>"; };
		FD7A065D167715FD004BBEB6 /* NBNumberFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NBNumberFormat.h; sourceTree = "<group>"; };
		FD7A065E167715FD004BBEB6 /* NBNumberFormat.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NBNumberFormat.m; sourceTree = "<group>"; };
		FD7A066116771A54004BBEB6 /* NBPhoneNumberDesc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NBPhoneNumberDesc.h; sourceTree = "<group>"; };
		FD7A066216771A54004BBEB6 /* NBPhoneNumberDesc.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NBPhoneNumberDesc.m; sourceTree = "<group>"; };
		FD7A066516771AFD004BBEB6 /* NBPhoneMetaData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NBPhoneMetaData.h; sourceTree = "<group>"; };
		FD7A066616771AFD004BBEB6 /* NBPhoneMetaData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NBPhoneMetaData.m; sourceTree = "<group>"; };
		FD7A066D167736BD004BBEB6 /* NBPhoneMetaDataGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NBPhoneMetaDataGenerator.h; sourceTree = "<group>"; };
		FD7A066E167736BD004BBEB6 /* NBPhoneMetaDataGenerator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NBPhoneMetaDataGenerator.m; sourceTree = "<group>"; };
		FD9E3ADB169E5176007E06CC /* liblibPhoneNumberiOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liblibPhoneNumberiOS.a; sourceTree = BUILT_PRODUCTS_DIR; };
		FD9E3ADF169E5176007E06CC /* libPhoneNumberiOS-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "libPhoneNumberiOS-Prefix.pch"; sourceTree = "<group>"; };
		FDAE1B2E16CE2C1C007EB0ED /* PhoneNumberMetaData.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = PhoneNumberMetaData.json; sourceTree = "<group>"; };
		FDAE1B2F16CE2C1C007EB0ED /* PhoneNumberMetaDataForTesting.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = PhoneNumberMetaDataForTesting.json; sourceTree = "<group>"; };
		FDAE1B3416CE2C92007EB0ED /* NBPhoneNumberMetadata.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = NBPhoneNumberMetadata.plist; sourceTree = "<group>"; };
		FDAE1B3516CE2C92007EB0ED /* NBPhoneNumberMetadataForTesting.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; path = NBPhoneNumberMetadataForTesting.plist; sourceTree = "<group>"; };
		FDBCAD2016954FE4005E0334 /* NBPhoneNumberDefines.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NBPhoneNumberDefines.h; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		FD7A0619167715A0004BBEB6 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				29F3A15D17B98AE1005D8E07 /* CoreTelephony.framework in Frameworks */,
				FD7A0621167715A0004BBEB6 /* UIKit.framework in Frameworks */,
				FD7A0623167715A0004BBEB6 /* Foundation.framework in Frameworks */,
				FD7A0625167715A0004BBEB6 /* CoreGraphics.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD7A0639167715A1004BBEB6 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FDAACB55167F3F11002DB4D4 /* CoreGraphics.framework in Frameworks */,
				FD7A063F167715A1004BBEB6 /* SenTestingKit.framework in Frameworks */,
				FD7A0640167715A1004BBEB6 /* UIKit.framework in Frameworks */,
				FD7A0641167715A1004BBEB6 /* Foundation.framework in Frameworks */,
				29F3A15E17B98B3C005D8E07 /* CoreTelephony.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD9E3AD8169E5176007E06CC /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FD9E3ADC169E5176007E06CC /* Foundation.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		FD0F11AD169AC2AB008DF508 /* Classes */ = {
			isa = PBXGroup;
			children = (
				FD4C786816DB62AC00473849 /* NBAsYouTypeFormatter.h */,
				FD4C786916DB62AC00473849 /* NBAsYouTypeFormatter.m */,
				FD7A065D167715FD004BBEB6 /* NBNumberFormat.h */,
				FD7A065E167715FD004BBEB6 /* NBNumberFormat.m */,
				FD7A066516771AFD004BBEB6 /* NBPhoneMetaData.h */,
				FD7A066616771AFD004BBEB6 /* NBPhoneMetaData.m */,
				FD0BD7761679DDA600B19065 /* NBPhoneNumber.h */,
				FD0BD7771679DDA600B19065 /* NBPhoneNumber.m */,
				FDBCAD2016954FE4005E0334 /* NBPhoneNumberDefines.h */,
				FD7A066116771A54004BBEB6 /* NBPhoneNumberDesc.h */,
				FD7A066216771A54004BBEB6 /* NBPhoneNumberDesc.m */,
				FD7A0655167715B2004BBEB6 /* NBPhoneNumberUtil.h */,
				FD7A0656167715B2004BBEB6 /* NBPhoneNumberUtil.m */,
			);
			name = Classes;
			sourceTree = "<group>";
		};
		FD2014DF169A8A88003491D9 /* Javascript Object to JSON Converter (PHP) */ = {
			isa = PBXGroup;
			children = (
				FD2014DC169A8A82003491D9 /* index.php */,
				FD2014DD169A8A82003491D9 /* libPhoneNumberGenerator.php */,
			);
			name = "Javascript Object to JSON Converter (PHP)";
			path = libPhoneNumberTests;
			sourceTree = SOURCE_ROOT;
		};
		FD7A0611167715A0004BBEB6 = {
			isa = PBXGroup;
			children = (
				FD7A061F167715A0004BBEB6 /* Frameworks */,
				FD7A0626167715A0004BBEB6 /* libPhoneNumber */,
				FD7A0644167715A1004BBEB6 /* libPhoneNumber UnitTest */,
				FD9E3ADD169E5176007E06CC /* libPhoneNumberiOS */,
				FD7A061D167715A0004BBEB6 /* Products */,
			);
			sourceTree = "<group>";
		};
		FD7A061D167715A0004BBEB6 /* Products */ = {
			isa = PBXGroup;
			children = (
				FD7A061C167715A0004BBEB6 /* libPhoneNumber.app */,
				FD7A063D167715A1004BBEB6 /* libPhoneNumberTests.octest */,
				FD9E3ADB169E5176007E06CC /* liblibPhoneNumberiOS.a */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		FD7A061F167715A0004BBEB6 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				FD7A0624167715A0004BBEB6 /* CoreGraphics.framework */,
				FD7A0622167715A0004BBEB6 /* Foundation.framework */,
				FD7A063E167715A1004BBEB6 /* SenTestingKit.framework */,
				FD7A0620167715A0004BBEB6 /* UIKit.framework */,
				29F3A15C17B98AE1005D8E07 /* CoreTelephony.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		FD7A0626167715A0004BBEB6 /* libPhoneNumber */ = {
			isa = PBXGroup;
			children = (
				4D43EF831740825100C24FF3 /* libPhoneNumber-iOS.podspec */,
				FD0F11AD169AC2AB008DF508 /* Classes */,
				FDB5E108169BE40C00AB88AE /* Metadata */,
				FD7A0627167715A0004BBEB6 /* Supporting Files */,
			);
			path = libPhoneNumber;
			sourceTree = "<group>";
		};
		FD7A0627167715A0004BBEB6 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				FD2014DF169A8A88003491D9 /* Javascript Object to JSON Converter (PHP) */,
				FD7A066D167736BD004BBEB6 /* NBPhoneMetaDataGenerator.h */,
				FD7A066E167736BD004BBEB6 /* NBPhoneMetaDataGenerator.m */,
				FD7A062C167715A0004BBEB6 /* main.m */,
				FD7A062E167715A0004BBEB6 /* libPhoneNumber-Prefix.pch */,
				FD7A0628167715A0004BBEB6 /* libPhoneNumber-Info.plist */,
				FD7A0636167715A0004BBEB6 /* Default-568h@2x.png */,
				FD7A0632167715A0004BBEB6 /* Default.png */,
				FD7A0634167715A0004BBEB6 /* Default@2x.png */,
				FD7A0629167715A0004BBEB6 /* InfoPlist.strings */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		FD7A0644167715A1004BBEB6 /* libPhoneNumber UnitTest */ = {
			isa = PBXGroup;
			children = (
				FD7A064A167715A1004BBEB6 /* NBPhoneNumberUtilTests.h */,
				FD7A064B167715A1004BBEB6 /* NBPhoneNumberUtilTests.m */,
				FD57B66B16E5B71F000772AF /* NBAsYouTypeFormatterTest.h */,
				FD57B66C16E5B71F000772AF /* NBAsYouTypeFormatterTest.m */,
				FD7A0645167715A1004BBEB6 /* Supporting Files */,
			);
			name = "libPhoneNumber UnitTest";
			path = libPhoneNumberTests;
			sourceTree = SOURCE_ROOT;
		};
		FD7A0645167715A1004BBEB6 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				FD7A0647167715A1004BBEB6 /* InfoPlist.strings */,
				FD7A0646167715A1004BBEB6 /* libPhoneNumberTests-Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		FD9E3ADD169E5176007E06CC /* libPhoneNumberiOS */ = {
			isa = PBXGroup;
			children = (
				FD9E3ADE169E5176007E06CC /* Supporting Files */,
			);
			path = libPhoneNumberiOS;
			sourceTree = "<group>";
		};
		FD9E3ADE169E5176007E06CC /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				FD9E3ADF169E5176007E06CC /* libPhoneNumberiOS-Prefix.pch */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		FDB5E108169BE40C00AB88AE /* Metadata */ = {
			isa = PBXGroup;
			children = (
				FDAE1B2E16CE2C1C007EB0ED /* PhoneNumberMetaData.json */,
				FDAE1B2F16CE2C1C007EB0ED /* PhoneNumberMetaDataForTesting.json */,
				FDAE1B3416CE2C92007EB0ED /* NBPhoneNumberMetadata.plist */,
				FDAE1B3516CE2C92007EB0ED /* NBPhoneNumberMetadataForTesting.plist */,
			);
			name = Metadata;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		FD7A061B167715A0004BBEB6 /* libPhoneNumber */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FD7A064F167715A1004BBEB6 /* Build configuration list for PBXNativeTarget "libPhoneNumber" */;
			buildPhases = (
				FD7A0618167715A0004BBEB6 /* Sources */,
				FD7A0619167715A0004BBEB6 /* Frameworks */,
				FD7A061A167715A0004BBEB6 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = libPhoneNumber;
			productName = libPhoneNumber;
			productReference = FD7A061C167715A0004BBEB6 /* libPhoneNumber.app */;
			productType = "com.apple.product-type.application";
		};
		FD7A063C167715A1004BBEB6 /* libPhoneNumberTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FD7A0652167715A1004BBEB6 /* Build configuration list for PBXNativeTarget "libPhoneNumberTests" */;
			buildPhases = (
				FD7A0638167715A1004BBEB6 /* Sources */,
				FD7A0639167715A1004BBEB6 /* Frameworks */,
				FD7A063A167715A1004BBEB6 /* Resources */,
				FD7A063B167715A1004BBEB6 /* ShellScript */,
			);
			buildRules = (
			);
			dependencies = (
				FD7A0643167715A1004BBEB6 /* PBXTargetDependency */,
			);
			name = libPhoneNumberTests;
			productName = libPhoneNumberTests;
			productReference = FD7A063D167715A1004BBEB6 /* libPhoneNumberTests.octest */;
			productType = "com.apple.product-type.bundle.ocunit-test";
		};
		FD9E3ADA169E5176007E06CC /* libPhoneNumberiOS */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = FD9E3AE4169E5176007E06CC /* Build configuration list for PBXNativeTarget "libPhoneNumberiOS" */;
			buildPhases = (
				FD9E3AD7169E5176007E06CC /* Sources */,
				FD9E3AD8169E5176007E06CC /* Frameworks */,
				FD9E3AD9169E5176007E06CC /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = libPhoneNumberiOS;
			productName = libPhoneNumberiOS;
			productReference = FD9E3ADB169E5176007E06CC /* liblibPhoneNumberiOS.a */;
			productType = "com.apple.product-type.library.static";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		FD7A0613167715A0004BBEB6 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastTestingUpgradeCheck = 0510;
				LastUpgradeCheck = 0510;
				ORGANIZATIONNAME = NHN;
			};
			buildConfigurationList = FD7A0616167715A0004BBEB6 /* Build configuration list for PBXProject "libPhoneNumber" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
			);
			mainGroup = FD7A0611167715A0004BBEB6;
			productRefGroup = FD7A061D167715A0004BBEB6 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				FD7A061B167715A0004BBEB6 /* libPhoneNumber */,
				FD7A063C167715A1004BBEB6 /* libPhoneNumberTests */,
				FD9E3ADA169E5176007E06CC /* libPhoneNumberiOS */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		FD7A061A167715A0004BBEB6 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FD7A062B167715A0004BBEB6 /* InfoPlist.strings in Resources */,
				FD7A0633167715A0004BBEB6 /* Default.png in Resources */,
				FD7A0635167715A0004BBEB6 /* Default@2x.png in Resources */,
				FD7A0637167715A0004BBEB6 /* Default-568h@2x.png in Resources */,
				FDAE1B3016CE2C1C007EB0ED /* PhoneNumberMetaData.json in Resources */,
				FDAE1B3216CE2C1C007EB0ED /* PhoneNumberMetaDataForTesting.json in Resources */,
				FDAE1B3616CE2C92007EB0ED /* NBPhoneNumberMetadata.plist in Resources */,
				FDAE1B3816CE2C92007EB0ED /* NBPhoneNumberMetadataForTesting.plist in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD7A063A167715A1004BBEB6 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FD7A0649167715A1004BBEB6 /* InfoPlist.strings in Resources */,
				FDAE1B3116CE2C1C007EB0ED /* PhoneNumberMetaData.json in Resources */,
				FDAE1B3316CE2C1C007EB0ED /* PhoneNumberMetaDataForTesting.json in Resources */,
				FDAE1B3716CE2C92007EB0ED /* NBPhoneNumberMetadata.plist in Resources */,
				FDAE1B3916CE2C92007EB0ED /* NBPhoneNumberMetadataForTesting.plist in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		FD7A063B167715A1004BBEB6 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		FD7A0618167715A0004BBEB6 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				FD9E3AF6169E62B6007E06CC /* NBPhoneMetaDataGenerator.m in Sources */,
				FD7A062D167715A0004BBEB6 /* main.m in Sources */,
				FD7A0657167715B2004BBEB6 /* NBPhoneNumberUtil.m in Sources */,
				FD7A065F167715FD004BBEB6 /* NBNumberFormat.m in Sources */,
				FD7A066316771A54004BBEB6 /* NBPhoneNumberDesc.m in Sources */,
				FD7A066716771AFD004BBEB6 /* NBPhoneMetaData.m in Sources */,
				FD0BD7781679DDA700B19065 /* NBPhoneNumber.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD7A0638167715A1004BBEB6 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8F04BE90176F062500076CB4 /* NBAsYouTypeFormatterTest.m in Sources */,
				8FE047B5174389F300CCA610 /* NBAsYouTypeFormatter.m in Sources */,
				FD7A064C167715A1004BBEB6 /* NBPhoneNumberUtilTests.m in Sources */,
				FD7A0658167715B2004BBEB6 /* NBPhoneNumberUtil.m in Sources */,
				FD7A0660167715FD004BBEB6 /* NBNumberFormat.m in Sources */,
				FD7A066416771A54004BBEB6 /* NBPhoneNumberDesc.m in Sources */,
				FD7A066816771AFD004BBEB6 /* NBPhoneMetaData.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		FD9E3AD7169E5176007E06CC /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D39D45BE17D7AA020051A471 /* NBAsYouTypeFormatter.m in Sources */,
				FD9E3AE7169E51A2007E06CC /* NBNumberFormat.m in Sources */,
				FD9E3AE8169E51A2007E06CC /* NBPhoneMetaData.m in Sources */,
				FD9E3AE9169E51A2007E06CC /* NBPhoneNumber.m in Sources */,
				FD9E3AEA169E51A2007E06CC /* NBPhoneNumberDesc.m in Sources */,
				FD9E3AEB169E51A2007E06CC /* NBPhoneNumberUtil.m in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		FD7A0643167715A1004BBEB6 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = FD7A061B167715A0004BBEB6 /* libPhoneNumber */;
			targetProxy = FD7A0642167715A1004BBEB6 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		FD7A0629167715A0004BBEB6 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				FD7A062A167715A0004BBEB6 /* en */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
		FD7A0647167715A1004BBEB6 /* InfoPlist.strings */ = {
			isa = PBXVariantGroup;
			children = (
				FD7A0648167715A1004BBEB6 /* en */,
			);
			name = InfoPlist.strings;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		FD7A064D167715A1004BBEB6 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2";
				IPHONEOS_DEPLOYMENT_TARGET = 6.0;
				OTHER_CFLAGS = "-lxml2";
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		FD7A064E167715A1004BBEB6 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_WARN_ABOUT_RETURN_TYPE = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = "$(SDKROOT)/usr/include/libxml2";
				IPHONEOS_DEPLOYMENT_TARGET = 6.0;
				OTHER_CFLAGS = "-lxml2";
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		FD7A0650167715A1004BBEB6 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "libPhoneNumber/libPhoneNumber-Prefix.pch";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "libPhoneNumber/libPhoneNumber-Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				ONLY_ACTIVE_ARCH = NO;
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Debug;
		};
		FD7A0651167715A1004BBEB6 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "libPhoneNumber/libPhoneNumber-Prefix.pch";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "libPhoneNumber/libPhoneNumber-Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Release;
		};
		FD7A0653167715A1004BBEB6 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/libPhoneNumber.app/libPhoneNumber";
				FRAMEWORK_SEARCH_PATHS = (
					"\"$(SDKROOT)/Developer/Library/Frameworks\"",
					"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
				);
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "libPhoneNumber/libPhoneNumber-Prefix.pch";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "libPhoneNumberTests/libPhoneNumberTests-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				TEST_HOST = "$(BUNDLE_LOADER)";
				WRAPPER_EXTENSION = octest;
			};
			name = Debug;
		};
		FD7A0654167715A1004BBEB6 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/libPhoneNumber.app/libPhoneNumber";
				FRAMEWORK_SEARCH_PATHS = (
					"\"$(SDKROOT)/Developer/Library/Frameworks\"",
					"\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"",
				);
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "libPhoneNumber/libPhoneNumber-Prefix.pch";
				HEADER_SEARCH_PATHS = "";
				INFOPLIST_FILE = "libPhoneNumberTests/libPhoneNumberTests-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				TEST_HOST = "$(BUNDLE_LOADER)";
				WRAPPER_EXTENSION = octest;
			};
			name = Release;
		};
		FD9E3AE5169E5176007E06CC /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DSTROOT = /tmp/libPhoneNumberiOS.dst;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "libPhoneNumberiOS/libPhoneNumberiOS-Prefix.pch";
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
			};
			name = Debug;
		};
		FD9E3AE6169E5176007E06CC /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				DSTROOT = /tmp/libPhoneNumberiOS.dst;
				GCC_PRECOMPILE_PREFIX_HEADER = YES;
				GCC_PREFIX_HEADER = "libPhoneNumberiOS/libPhoneNumberiOS-Prefix.pch";
				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
				OTHER_LDFLAGS = "-ObjC";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SKIP_INSTALL = YES;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		FD7A0616167715A0004BBEB6 /* Build configuration list for PBXProject "libPhoneNumber" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FD7A064D167715A1004BBEB6 /* Debug */,
				FD7A064E167715A1004BBEB6 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FD7A064F167715A1004BBEB6 /* Build configuration list for PBXNativeTarget "libPhoneNumber" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FD7A0650167715A1004BBEB6 /* Debug */,
				FD7A0651167715A1004BBEB6 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FD7A0652167715A1004BBEB6 /* Build configuration list for PBXNativeTarget "libPhoneNumberTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FD7A0653167715A1004BBEB6 /* Debug */,
				FD7A0654167715A1004BBEB6 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		FD9E3AE4169E5176007E06CC /* Build configuration list for PBXNativeTarget "libPhoneNumberiOS" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				FD9E3AE5169E5176007E06CC /* Debug */,
				FD9E3AE6169E5176007E06CC /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = FD7A0613167715A0004BBEB6 /* Project object */;
}
