Repository: Serchinastico/Kin (language: python)

Issue:
Slashes between variables cause extraneous input error 
Consider the following code excerpt:
```
/* Begin PBXShellScriptBuildPhase section */
B346FC962179468800C49108 /* Run gen68k */ = {
  isa = PBXShellScriptBuildPhase;
  inputPaths = (
    $BUILD_DIR/$CONFIGURATION/gen68k,
  );
};
```
Removing the dollar signs or the slash (`/`) before the dollar sign (`$`) resolves the issue.
Add support for PBXLegacyTarget object
This pull request adds support for the `PBXLegacyTarget` object.


Discussion / hints:

Fix patch:
diff --git a/kin/grammar/PBXProj.g4 b/kin/grammar/PBXProj.g4
index 2e344d8..ef03275 100644
--- a/kin/grammar/PBXProj.g4
+++ b/kin/grammar/PBXProj.g4
@@ -199,6 +199,7 @@ pbx_copy_files_build_phase
 pbx_file_reference
     : REFERENCE '=' '{'
         isa_pbx_file_reference
+        comments?
         explicit_file_type?
         file_encoding?
         include_in_index?
@@ -229,6 +230,7 @@ pbx_group
         isa_pbx_group
         children
         indent_width?
+        include_in_index?
         name?
         path?
         source_tree
@@ -529,6 +531,10 @@ file_encoding
     : 'fileEncoding' '=' NUMBER ';'
     ;
 
+comments
+    : 'comments' '=' any_string ';'
+    ;
+
 explicit_file_type
     : 'explicitFileType' '=' any_string ';'
     ;
@@ -964,7 +970,7 @@ QUOTED_STRING
 
 NON_QUOTED_STRING: (ALPHA_NUMERIC|UNDERSCORE|DASH|SLASH|DOT)+;
 
-VARIABLE: '$' NON_QUOTED_STRING;
+VARIABLE: ('$' NON_QUOTED_STRING) + SLASH?;
 
 fragment HEX
     : [0-9a-fA-F]


Test patch:
diff --git a/tests/ok/sparkle.a79aa16.project.pbxproj b/tests/ok/sparkle.a79aa16.project.pbxproj
new file mode 100644
index 0000000..769d821
--- /dev/null
+++ b/tests/ok/sparkle.a79aa16.project.pbxproj
@@ -0,0 +1,3354 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 47;
+	objects = {
+
+/* Begin PBXAggregateTarget section */
+		1495005F195FB89400BC5B5B /* All */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 14950060195FB89500BC5B5B /* Build configuration list for PBXAggregateTarget "All" */;
+			buildPhases = (
+			);
+			dependencies = (
+				5A5ADEF0214EE67100DF0099 /* PBXTargetDependency */,
+				5A5ADEEE214EE66E00DF0099 /* PBXTargetDependency */,
+				5AE13FAA1E0D7E2F000D2C2C /* PBXTargetDependency */,
+				14950064195FB8A600BC5B5B /* PBXTargetDependency */,
+				14950066195FB8A600BC5B5B /* PBXTargetDependency */,
+				14950068195FB8A600BC5B5B /* PBXTargetDependency */,
+				1495006A195FB8A600BC5B5B /* PBXTargetDependency */,
+				1495006C195FB8A600BC5B5B /* PBXTargetDependency */,
+			);
+			name = All;
+			productName = All;
+		};
+		895C5DB924D75F370058A82D /* XCFramework */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 895C5DBC24D75F370058A82D /* Build configuration list for PBXAggregateTarget "XCFramework" */;
+			buildPhases = (
+				895C5DBD24D75F590058A82D /* ShellScript */,
+			);
+			dependencies = (
+			);
+			name = XCFramework;
+			productName = Sparkle.xcframework;
+		};
+/* End PBXAggregateTarget section */
+
+/* Begin PBXBuildFile section */
+		1420DF50196247F900203BB0 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1420DF4F196247F900203BB0 /* Images.xcassets */; };
+		142E0E0019A6954400E4312B /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+		142E0E0219A6A14700E4312B /* Sparkle.framework in Copy Files */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+		142E0E0419A6A26F00E4312B /* Autoupdate.app in CopyFiles */ = {isa = PBXBuildFile; fileRef = 55C14BB7136EEF1500649790 /* Autoupdate.app */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+		142E0E0919A83AAC00E4312B /* SUBinaryDeltaTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 142E0E0819A83AAC00E4312B /* SUBinaryDeltaTest.m */; };
+		14652F7C19A9725300959E44 /* SUBinaryDeltaCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E8E20FD68CC7005AE3F6 /* SUBinaryDeltaCommon.m */; };
+		14652F7D19A9726700959E44 /* SUBinaryDeltaApply.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E8E00FD68CC7005AE3F6 /* SUBinaryDeltaApply.m */; };
+		14652F8019A9740F00959E44 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61B5F8F609C4CEB300B25A18 /* Security.framework */; };
+		14652F8219A9746000959E44 /* SULog.m in Sources */ = {isa = PBXBuildFile; fileRef = 55C14F05136EF6DB00649790 /* SULog.m */; };
+		14652F8419A978C200959E44 /* SUExport.h in Headers */ = {isa = PBXBuildFile; fileRef = 14652F8319A9759F00959E44 /* SUExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		14732BD019610A0D00593899 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
+		14732BD119610A1200593899 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
+		14732BD319610A1800593899 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 14732BD219610A1800593899 /* XCTest.framework */; };
+		1495006E195FCE1100BC5B5B /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
+		1495006F195FCE1800BC5B5B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
+		14950070195FCE3A00BC5B5B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
+		14950071195FCE3D00BC5B5B /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
+		14950072195FCE4B00BC5B5B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
+		14950073195FCE4E00BC5B5B /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
+		14958C6E19AEBC950061B14F /* signed-test-file.txt in Resources */ = {isa = PBXBuildFile; fileRef = 14958C6B19AEBC530061B14F /* signed-test-file.txt */; };
+		14958C6F19AEBC980061B14F /* test-pubkey.pem in Resources */ = {isa = PBXBuildFile; fileRef = 14958C6C19AEBC610061B14F /* test-pubkey.pem */; };
+		34074B901FEABD08001CB3A5 /* SPUDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 34074B8C1FEABD08001CB3A5 /* SPUDownloader.m */; };
+		34074B911FEABD08001CB3A5 /* SPUDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 34074B8D1FEABD08001CB3A5 /* SPUDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		34074B921FEABD08001CB3A5 /* SPUDownloaderDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 34074B8E1FEABD08001CB3A5 /* SPUDownloaderDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		34074B931FEABD08001CB3A5 /* SPUDownloaderProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 34074B8F1FEABD08001CB3A5 /* SPUDownloaderProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		34074B961FEABD24001CB3A5 /* SPULocalCacheDirectory.h in Headers */ = {isa = PBXBuildFile; fileRef = 34074B941FEABD23001CB3A5 /* SPULocalCacheDirectory.h */; };
+		34074B971FEABD24001CB3A5 /* SPULocalCacheDirectory.m in Sources */ = {isa = PBXBuildFile; fileRef = 34074B951FEABD23001CB3A5 /* SPULocalCacheDirectory.m */; };
+		34074B9A1FEABD49001CB3A5 /* SPUURLRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34074B981FEABD48001CB3A5 /* SPUURLRequest.m */; };
+		34074B9B1FEABD49001CB3A5 /* SPUURLRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 34074B991FEABD49001CB3A5 /* SPUURLRequest.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		34074B9E1FEABD5A001CB3A5 /* SPUDownloadData.m in Sources */ = {isa = PBXBuildFile; fileRef = 34074B9C1FEABD5A001CB3A5 /* SPUDownloadData.m */; };
+		34074B9F1FEABD5A001CB3A5 /* SPUDownloadData.h in Headers */ = {isa = PBXBuildFile; fileRef = 34074B9D1FEABD5A001CB3A5 /* SPUDownloadData.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		34074BA21FEABFD2001CB3A5 /* SPUDownloaderSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 34074BA01FEABFD2001CB3A5 /* SPUDownloaderSession.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		34074BA31FEABFD2001CB3A5 /* SPUDownloaderSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 34074BA11FEABFD2001CB3A5 /* SPUDownloaderSession.m */; };
+		342731481FF58E5B00285FBD /* SPUDownloaderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 342731461FF58E4F00285FBD /* SPUDownloaderTest.swift */; };
+		3772FEA913DE0B6B00F79537 /* SUVersionDisplayProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 3772FEA813DE0B6B00F79537 /* SUVersionDisplayProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		4444E790237B057900CBB3CF /* testlocalizedreleasenotesappcast.xml in Resources */ = {isa = PBXBuildFile; fileRef = 4444E78E237B047B00CBB3CF /* testlocalizedreleasenotesappcast.xml */; };
+		55C14BD4136EEFCE00649790 /* Autoupdate.m in Sources */ = {isa = PBXBuildFile; fileRef = 55C14BD3136EEFCE00649790 /* Autoupdate.m */; };
+		55C14BD9136EF00C00649790 /* SUStatus.xib in Resources */ = {isa = PBXBuildFile; fileRef = 55C14BD8136EF00C00649790 /* SUStatus.xib */; };
+		55C14BEF136EF21700649790 /* SUStatus.xib in Resources */ = {isa = PBXBuildFile; fileRef = 55C14BD8136EF00C00649790 /* SUStatus.xib */; };
+		55C14F00136EF6B700649790 /* SUConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 61299A5F09CA6EB100B7442F /* SUConstants.m */; };
+		55C14F06136EF6DB00649790 /* SULog.h in Headers */ = {isa = PBXBuildFile; fileRef = 55C14F04136EF6DB00649790 /* SULog.h */; };
+		55C14F07136EF6DB00649790 /* SULog.m in Sources */ = {isa = PBXBuildFile; fileRef = 55C14F05136EF6DB00649790 /* SULog.m */; };
+		55C14F08136EF6DB00649790 /* SULog.m in Sources */ = {isa = PBXBuildFile; fileRef = 55C14F05136EF6DB00649790 /* SULog.m */; };
+		55C14F0C136EF6EA00649790 /* SUHost.m in Sources */ = {isa = PBXBuildFile; fileRef = 61EF67550E25B58D00F754E0 /* SUHost.m */; };
+		55C14F0D136EF6F200649790 /* SUInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 618FA5000DAE88B40026945C /* SUInstaller.m */; };
+		55C14F20136EF84300649790 /* SUStatusController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6196CFE409C71ADE000DC222 /* SUStatusController.m */; };
+		55C14F21136EF84D00649790 /* SUPlainInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 618FA5040DAE8AB80026945C /* SUPlainInstaller.m */; };
+		55C14F22136EF86000649790 /* SUStandardVersionComparator.m in Sources */ = {isa = PBXBuildFile; fileRef = 61A225A30D1C4AC000430CCD /* SUStandardVersionComparator.m */; };
+		55C14F23136EF86700649790 /* SUSystemProfiler.m in Sources */ = {isa = PBXBuildFile; fileRef = 61A2279B0D1CEE7600430CCD /* SUSystemProfiler.m */; };
+		55C14F24136EF86F00649790 /* SUPackageInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 618FA5210DAE8E8A0026945C /* SUPackageInstaller.m */; };
+		55C14F32136EFC2400649790 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 55C14F31136EFC2400649790 /* SystemConfiguration.framework */; };
+		55C14F9A136F045400649790 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61B5F8F609C4CEB300B25A18 /* Security.framework */; };
+		55C14FC7136F05E100649790 /* Sparkle.strings in Resources */ = {isa = PBXBuildFile; fileRef = 61AAE8220A321A7F00D8810D /* Sparkle.strings */; };
+		55E6F33319EC9F6C00005E76 /* SUErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 55E6F33219EC9F6C00005E76 /* SUErrors.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		5A4094481C74EA5200983BE0 /* SUAppcastTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AA4DCD01C73E5510078F128 /* SUAppcastTest.swift */; };
+		5A5AC5361E0C6CA300998119 /* Unarchive.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A5AC5351E0C6CA300998119 /* Unarchive.swift */; };
+		5A5AC5381E0C6D3000998119 /* FeedXML.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A5AC5371E0C6D3000998119 /* FeedXML.swift */; };
+		5A5ADEDA214EDE4900DF0099 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A5ADED9214EDE4900DF0099 /* main.swift */; };
+		5A6D31EE1BF53245009C5157 /* SUFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7275F9C01B5F1F2900B1D19E /* SUFileManager.m */; };
+		5A6D31EF1BF5325F009C5157 /* SUOperatingSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 726F2CE41BC9C33D001971A4 /* SUOperatingSystem.m */; };
+		5AA96C581E0AE0DB00CA4346 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AA96C571E0AE0DB00CA4346 /* main.swift */; };
+		5AAD00521E0BE6BE00AF411E /* ArchiveItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AAD00511E0BE6BE00AF411E /* ArchiveItem.swift */; };
+		5AAD00661E0C2D9B00AF411E /* SUBinaryDeltaCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E8E20FD68CC7005AE3F6 /* SUBinaryDeltaCommon.m */; };
+		5AAD00671E0C2D9B00AF411E /* SUBinaryDeltaCreate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7268AC621AD634C200C3E0C1 /* SUBinaryDeltaCreate.m */; };
+		5AAD006C1E0C2DBF00AF411E /* libxar.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5AAD006B1E0C2DBF00AF411E /* libxar.tbd */; };
+		5AB8F169214D4AE300A1187F /* SUSignatures.m in Sources */ = {isa = PBXBuildFile; fileRef = 5AF04876214D2E5F00B5789F /* SUSignatures.m */; };
+		5AB8F181214D564C00A1187F /* sha512.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F170214D564A00A1187F /* sha512.h */; };
+		5AB8F184214D564C00A1187F /* fe.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F173214D564B00A1187F /* fe.h */; };
+		5AB8F185214D564C00A1187F /* ed25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F174214D564B00A1187F /* ed25519.h */; };
+		5AB8F187214D564C00A1187F /* precomp_data.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F176214D564B00A1187F /* precomp_data.h */; };
+		5AB8F18A214D564C00A1187F /* fixedint.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F179214D564B00A1187F /* fixedint.h */; };
+		5AB8F18B214D564C00A1187F /* ge.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F17A214D564B00A1187F /* ge.h */; };
+		5AB8F18F214D564C00A1187F /* sc.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F17E214D564B00A1187F /* sc.h */; };
+		5AB8F1A2214DA72000A1187F /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F1A1214DA72000A1187F /* main.swift */; };
+		5AD0FA7F1C73F2E2004BCEFF /* testappcast.xml in Resources */ = {isa = PBXBuildFile; fileRef = 5AD0FA7E1C73F2E2004BCEFF /* testappcast.xml */; };
+		5AE13F781E0C9B12000D2C2C /* Signatures.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AE13F771E0C9B12000D2C2C /* Signatures.swift */; };
+		5AE13FA01E0D4F65000D2C2C /* Appcast.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5AE13F9F1E0D4F65000D2C2C /* Appcast.swift */; };
+		5AE13FA11E0D7168000D2C2C /* SUUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 61299A8C09CA790200B7442F /* SUUnarchiver.m */; };
+		5AE13FA21E0D716F000D2C2C /* SUFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7275F9C01B5F1F2900B1D19E /* SUFileManager.m */; };
+		5AE13FA41E0D71D1000D2C2C /* SUFileOperationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 722954C31D04E66F00ECF9CA /* SUFileOperationConstants.m */; };
+		5AE13FA51E0D71F5000D2C2C /* SUConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 61299A5F09CA6EB100B7442F /* SUConstants.m */; };
+		5AE13FA61E0D7275000D2C2C /* SUStandardVersionComparator.m in Sources */ = {isa = PBXBuildFile; fileRef = 61A225A30D1C4AC000430CCD /* SUStandardVersionComparator.m */; };
+		5AE13FB51E0D9F32000D2C2C /* SUDiskImageUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 6102FE490E07803800F85D09 /* SUDiskImageUnarchiver.m */; };
+		5AE13FB61E0D9F39000D2C2C /* SUPipedUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 6129C0B90E0B79810062CE76 /* SUPipedUnarchiver.m */; };
+		5AE13FB71E0D9F42000D2C2C /* SUUnarchiverNotifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 722589D91E0B19F4005EA0B9 /* SUUnarchiverNotifier.m */; };
+		5AE13FB81E0D9F8E000D2C2C /* SULog.m in Sources */ = {isa = PBXBuildFile; fileRef = 55C14F05136EF6DB00649790 /* SULog.m */; };
+		5AE13FB91E0DA384000D2C2C /* SUBinaryDeltaUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E9380FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.m */; };
+		5AE13FBA1E0DA389000D2C2C /* SUBinaryDeltaApply.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E8E00FD68CC7005AE3F6 /* SUBinaryDeltaApply.m */; };
+		5AE13FBD1E0DA39B000D2C2C /* libbz2.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5AE13FBC1E0DA39B000D2C2C /* libbz2.tbd */; };
+		5AE459001C34118500E3BB47 /* SUUpdaterTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 14950074195FDF5900BC5B5B /* SUUpdaterTest.m */; };
+		5AE459021C34118500E3BB47 /* SUVersionComparisonTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 61227A150DB548B800AB99EA /* SUVersionComparisonTest.m */; };
+		5AE7E1111DC81AD3009C2C12 /* AppIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 5AE7E10E1DC81ACA009C2C12 /* AppIcon.icns */; };
+		5AF04877214D2E5F00B5789F /* SUSignatures.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AF04875214D2E5F00B5789F /* SUSignatures.h */; };
+		5AF04878214D2E5F00B5789F /* SUSignatures.m in Sources */ = {isa = PBXBuildFile; fileRef = 5AF04876214D2E5F00B5789F /* SUSignatures.m */; };
+		5AF6C74F1AEA46D10014A3AB /* test.pkg in Resources */ = {isa = PBXBuildFile; fileRef = 5AF6C74E1AEA46D10014A3AB /* test.pkg */; };
+		5AF6C7541AEA49840014A3AB /* SUInstallerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5AF6C74C1AEA40760014A3AB /* SUInstallerTest.m */; };
+		5AF9DC3C1981DBEE001EA135 /* SUDSAVerifierTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 5AF9DC3B1981DBEE001EA135 /* SUDSAVerifierTest.m */; };
+		5D06E8EA0FD68CDB005AE3F6 /* SUBinaryDeltaTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E8E30FD68CC7005AE3F6 /* SUBinaryDeltaTool.m */; };
+		5D06E8EC0FD68CE4005AE3F6 /* SUBinaryDeltaApply.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E8E00FD68CC7005AE3F6 /* SUBinaryDeltaApply.m */; };
+		5D06E8ED0FD68CE4005AE3F6 /* SUBinaryDeltaCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E8E20FD68CC7005AE3F6 /* SUBinaryDeltaCommon.m */; };
+		5D06E8FD0FD68D6B005AE3F6 /* libbz2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D06E8FB0FD68D61005AE3F6 /* libbz2.dylib */; };
+		5D06E8FF0FD68D6D005AE3F6 /* libbz2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D06E8FB0FD68D61005AE3F6 /* libbz2.dylib */; };
+		5D06E9050FD68D7D005AE3F6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
+		5D06E9390FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D06E9370FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.h */; };
+		5D06E93A0FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E9380FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.m */; };
+		5D1AF58A0FD7678C0065DB48 /* libxar.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D1AF5890FD7678C0065DB48 /* libxar.1.dylib */; };
+		5D1AF58B0FD7678C0065DB48 /* libxar.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D1AF5890FD7678C0065DB48 /* libxar.1.dylib */; };
+		5D1AF5900FD767AD0065DB48 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D1AF58F0FD767AD0065DB48 /* libxml2.dylib */; };
+		5D1AF59A0FD767E50065DB48 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D1AF5990FD767E50065DB48 /* libz.dylib */; };
+		5D1AF82B0FD768180065DB48 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D1AF5990FD767E50065DB48 /* libz.dylib */; };
+		5F1510A21C96E591006E1629 /* testnamespaces.xml in Resources */ = {isa = PBXBuildFile; fileRef = 5F1510A11C96E591006E1629 /* testnamespaces.xml */; };
+		610134730DD250470049ACDF /* SUUpdateDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 610134710DD250470049ACDF /* SUUpdateDriver.h */; settings = {ATTRIBUTES = (); }; };
+		610134740DD250470049ACDF /* SUUpdateDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 610134720DD250470049ACDF /* SUUpdateDriver.m */; };
+		6101347B0DD2541A0049ACDF /* SUProbingUpdateDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 610134790DD2541A0049ACDF /* SUProbingUpdateDriver.h */; settings = {ATTRIBUTES = (); }; };
+		6101347C0DD2541A0049ACDF /* SUProbingUpdateDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 6101347A0DD2541A0049ACDF /* SUProbingUpdateDriver.m */; };
+		6102FE460E077FCE00F85D09 /* SUPipedUnarchiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 6102FE440E077FCE00F85D09 /* SUPipedUnarchiver.h */; settings = {ATTRIBUTES = (); }; };
+		6102FE4A0E07803800F85D09 /* SUDiskImageUnarchiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 6102FE480E07803800F85D09 /* SUDiskImageUnarchiver.h */; settings = {ATTRIBUTES = (); }; };
+		6102FE4B0E07803800F85D09 /* SUDiskImageUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 6102FE490E07803800F85D09 /* SUDiskImageUnarchiver.m */; };
+		611142E910FB1BE5009810AA /* bspatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 611142E810FB1BE5009810AA /* bspatch.h */; };
+		61177A1F0D1112E900749C97 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6117796E0D1112E000749C97 /* IOKit.framework */; };
+		6120721209CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.h in Headers */ = {isa = PBXBuildFile; fileRef = 6120721009CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.h */; settings = {ATTRIBUTES = (); }; };
+		6120721309CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = 6120721109CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.m */; };
+		61299A2F09CA2DAB00B7442F /* SUSignatureVerifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 61299A2D09CA2DAB00B7442F /* SUSignatureVerifier.h */; settings = {ATTRIBUTES = (); }; };
+		61299A3009CA2DAB00B7442F /* SUSignatureVerifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 61299A2E09CA2DAB00B7442F /* SUSignatureVerifier.m */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; };
+		61299A5C09CA6D4500B7442F /* SUConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 61299A5B09CA6D4500B7442F /* SUConstants.h */; settings = {ATTRIBUTES = (); }; };
+		61299A6009CA6EB100B7442F /* SUConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 61299A5F09CA6EB100B7442F /* SUConstants.m */; };
+		61299A8D09CA790200B7442F /* SUUnarchiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 61299A8B09CA790200B7442F /* SUUnarchiver.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		61299A8E09CA790200B7442F /* SUUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 61299A8C09CA790200B7442F /* SUUnarchiver.m */; };
+		61299B3609CB04E000B7442F /* Sparkle.h in Headers */ = {isa = PBXBuildFile; fileRef = 61299B3509CB04E000B7442F /* Sparkle.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		612DCBAF0D488BC60015DBEA /* SUUpdatePermissionPrompt.h in Headers */ = {isa = PBXBuildFile; fileRef = 612DCBAD0D488BC60015DBEA /* SUUpdatePermissionPrompt.h */; settings = {ATTRIBUTES = (); }; };
+		612DCBB00D488BC60015DBEA /* SUUpdatePermissionPrompt.m in Sources */ = {isa = PBXBuildFile; fileRef = 612DCBAE0D488BC60015DBEA /* SUUpdatePermissionPrompt.m */; };
+		6158A1C5137904B300487EC1 /* SUUpdaterPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6158A1C4137904B300487EC1 /* SUUpdaterPrivate.h */; };
+		615AE3D00D64DC40001CA7BD /* SUModelTranslation.plist in Resources */ = {isa = PBXBuildFile; fileRef = 615AE3CF0D64DC40001CA7BD /* SUModelTranslation.plist */; };
+		618FA5010DAE88B40026945C /* SUInstaller.h in Headers */ = {isa = PBXBuildFile; fileRef = 618FA4FF0DAE88B40026945C /* SUInstaller.h */; settings = {ATTRIBUTES = (); }; };
+		618FA5020DAE88B40026945C /* SUInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 618FA5000DAE88B40026945C /* SUInstaller.m */; };
+		618FA5050DAE8AB80026945C /* SUPlainInstaller.h in Headers */ = {isa = PBXBuildFile; fileRef = 618FA5030DAE8AB80026945C /* SUPlainInstaller.h */; settings = {ATTRIBUTES = (); }; };
+		618FA5060DAE8AB80026945C /* SUPlainInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 618FA5040DAE8AB80026945C /* SUPlainInstaller.m */; };
+		618FA5220DAE8E8A0026945C /* SUPackageInstaller.h in Headers */ = {isa = PBXBuildFile; fileRef = 618FA5200DAE8E8A0026945C /* SUPackageInstaller.h */; settings = {ATTRIBUTES = (); }; };
+		618FA5230DAE8E8A0026945C /* SUPackageInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 618FA5210DAE8E8A0026945C /* SUPackageInstaller.m */; };
+		6196CFF909C72148000DC222 /* SUStatusController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6196CFE309C71ADE000DC222 /* SUStatusController.h */; settings = {ATTRIBUTES = (); }; };
+		6196CFFA09C72149000DC222 /* SUStatusController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6196CFE409C71ADE000DC222 /* SUStatusController.m */; };
+		61A2259E0D1C495D00430CCD /* SUVersionComparisonProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 61A2259C0D1C495D00430CCD /* SUVersionComparisonProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		61A225A40D1C4AC000430CCD /* SUStandardVersionComparator.h in Headers */ = {isa = PBXBuildFile; fileRef = 61A225A20D1C4AC000430CCD /* SUStandardVersionComparator.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		61A225A50D1C4AC000430CCD /* SUStandardVersionComparator.m in Sources */ = {isa = PBXBuildFile; fileRef = 61A225A30D1C4AC000430CCD /* SUStandardVersionComparator.m */; };
+		61A2279C0D1CEE7600430CCD /* SUSystemProfiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 61A2279A0D1CEE7600430CCD /* SUSystemProfiler.h */; settings = {ATTRIBUTES = (); }; };
+		61A2279D0D1CEE7600430CCD /* SUSystemProfiler.m in Sources */ = {isa = PBXBuildFile; fileRef = 61A2279B0D1CEE7600430CCD /* SUSystemProfiler.m */; };
+		61A354550DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 61A354530DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.h */; settings = {ATTRIBUTES = (); }; };
+		61A354560DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 61A354540DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.m */; };
+		61AAE8280A321A7F00D8810D /* Sparkle.strings in Resources */ = {isa = PBXBuildFile; fileRef = 61AAE8220A321A7F00D8810D /* Sparkle.strings */; };
+		61B078CE15A5FB6100600039 /* SUCodeSigningVerifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B078CC15A5FB6100600039 /* SUCodeSigningVerifier.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		61B078CF15A5FB6100600039 /* SUCodeSigningVerifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B078CD15A5FB6100600039 /* SUCodeSigningVerifier.m */; };
+		61B5F8ED09C4CE3C00B25A18 /* SUUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B5F8E309C4CE3C00B25A18 /* SUUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		61B5F8EE09C4CE3C00B25A18 /* SUUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B5F8E409C4CE3C00B25A18 /* SUUpdater.m */; };
+		61B5F8F709C4CEB300B25A18 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61B5F8F609C4CEB300B25A18 /* Security.framework */; };
+		61B5F90F09C4CF3A00B25A18 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Sparkle.framework */; };
+		61B5F92F09C4CFD800B25A18 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 61B5F92C09C4CFD800B25A18 /* MainMenu.xib */; };
+		61B5F93009C4CFDC00B25A18 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B5F92409C4CFC900B25A18 /* main.m */; };
+		61B5FBB709C4FAFF00B25A18 /* SUAppcast.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B5FB9509C4F04600B25A18 /* SUAppcast.m */; };
+		61B5FC0D09C4FC8200B25A18 /* SUAppcast.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B5FB9409C4F04600B25A18 /* SUAppcast.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		61B5FC4C09C4FD5E00B25A18 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61B5FC3F09C4FD4000B25A18 /* WebKit.framework */; };
+		61B5FC6F09C51F4900B25A18 /* SUAppcastItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B5FC5409C5182000B25A18 /* SUAppcastItem.m */; };
+		61B5FC7009C51F4A00B25A18 /* SUAppcastItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B5FC5309C5182000B25A18 /* SUAppcastItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		61B5FCDE09C52A9F00B25A18 /* SUUpdateAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B5FCA109C5228F00B25A18 /* SUUpdateAlert.m */; };
+		61B5FCDF09C52A9F00B25A18 /* SUUpdateAlert.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B5FCA009C5228F00B25A18 /* SUUpdateAlert.h */; settings = {ATTRIBUTES = (); }; };
+		61B93A3C0DD02D7000DCD2F8 /* SUUIBasedUpdateDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B93A390DD02D6400DCD2F8 /* SUUIBasedUpdateDriver.h */; settings = {ATTRIBUTES = (); }; };
+		61B93A3D0DD02D7000DCD2F8 /* SUUIBasedUpdateDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B93A3A0DD02D6400DCD2F8 /* SUUIBasedUpdateDriver.m */; };
+		61B93B270DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B93B250DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.h */; settings = {ATTRIBUTES = (); }; };
+		61B93B280DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B93B260DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.m */; };
+		61B93C090DD112FF00DCD2F8 /* SUScheduledUpdateDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 61B93C070DD112FF00DCD2F8 /* SUScheduledUpdateDriver.h */; settings = {ATTRIBUTES = (); }; };
+		61B93C0A0DD112FF00DCD2F8 /* SUScheduledUpdateDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B93C080DD112FF00DCD2F8 /* SUScheduledUpdateDriver.m */; };
+		61D85D6D0E10B2ED00F9B4A9 /* SUPipedUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 6129C0B90E0B79810062CE76 /* SUPipedUnarchiver.m */; };
+		61EF67560E25B58D00F754E0 /* SUHost.m in Sources */ = {isa = PBXBuildFile; fileRef = 61EF67550E25B58D00F754E0 /* SUHost.m */; };
+		61EF67590E25C5B400F754E0 /* SUHost.h in Headers */ = {isa = PBXBuildFile; fileRef = 61EF67580E25C5B400F754E0 /* SUHost.h */; };
+		61F83F720DBFE140006FDD30 /* SUBasicUpdateDriver.m in Sources */ = {isa = PBXBuildFile; fileRef = 61F83F700DBFE137006FDD30 /* SUBasicUpdateDriver.m */; };
+		61F83F740DBFE141006FDD30 /* SUBasicUpdateDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 61F83F6F0DBFE137006FDD30 /* SUBasicUpdateDriver.h */; settings = {ATTRIBUTES = (); }; };
+		61FA52880E2D9EA400EF58AD /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Sparkle.framework */; settings = {ATTRIBUTES = (Required, ); }; };
+		7205C4311E1215AD00E370AE /* SUUpdatePermissionResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7205C42F1E1215AD00E370AE /* SUUpdatePermissionResponse.h */; };
+		7205C4321E1215AD00E370AE /* SUUpdatePermissionResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 7205C4301E1215AD00E370AE /* SUUpdatePermissionResponse.m */; };
+		720767CF1E2DC37400F9A850 /* TerminationListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 720767CE1E2DC37400F9A850 /* TerminationListener.m */; };
+		720B16451C66433D006985FB /* SUTestApplicationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 720B16431C66433D006985FB /* SUTestApplicationTest.swift */; };
+		7210C7681B9A9A1500EB90AC /* SUUnarchiverTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7210C7671B9A9A1500EB90AC /* SUUnarchiverTest.swift */; };
+		721BC2111D1DFF05002BC71E /* SUFileOperationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 722954C31D04E66F00ECF9CA /* SUFileOperationConstants.m */; };
+		721CF1AA1AD7647000D9AC09 /* libxar.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D1AF5890FD7678C0065DB48 /* libxar.1.dylib */; };
+		721CF1AB1AD764EB00D9AC09 /* libbz2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D06E8FB0FD68D61005AE3F6 /* libbz2.dylib */; };
+		721D5B5A25C6940400D23BEA /* SUFlatPackageUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 721D5B5825C6940400D23BEA /* SUFlatPackageUnarchiver.m */; };
+		721D5B5B25C6940400D23BEA /* SUFlatPackageUnarchiver.h in Headers */ = {isa = PBXBuildFile; fileRef = 721D5B5925C6940400D23BEA /* SUFlatPackageUnarchiver.h */; };
+		721D5B6925C69A6900D23BEA /* test.sparkle_interactive.pkg in Resources */ = {isa = PBXBuildFile; fileRef = 721D5B6825C69A6900D23BEA /* test.sparkle_interactive.pkg */; };
+		721D5B8625C69F4A00D23BEA /* SUFlatPackageUnarchiver.m in Sources */ = {isa = PBXBuildFile; fileRef = 721D5B5825C6940400D23BEA /* SUFlatPackageUnarchiver.m */; };
+		722589D71E0AD86B005EA0B9 /* SUUnarchiverProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 722589D61E0AD86B005EA0B9 /* SUUnarchiverProtocol.h */; };
+		722589DA1E0B19F4005EA0B9 /* SUUnarchiverNotifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 722589D81E0B19F4005EA0B9 /* SUUnarchiverNotifier.h */; };
+		722589DB1E0B19F4005EA0B9 /* SUUnarchiverNotifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 722589D91E0B19F4005EA0B9 /* SUUnarchiverNotifier.m */; };
+		722954B71D04ADAF00ECF9CA /* fileop.m in Sources */ = {isa = PBXBuildFile; fileRef = 722954B61D04ADAF00ECF9CA /* fileop.m */; };
+		722954BC1D04AE1100ECF9CA /* SUFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7275F9C01B5F1F2900B1D19E /* SUFileManager.m */; };
+		722954BD1D04AE3800ECF9CA /* SUConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 61299A5F09CA6EB100B7442F /* SUConstants.m */; };
+		722954C11D04D9ED00ECF9CA /* fileop in Copy fileop */ = {isa = PBXBuildFile; fileRef = 722954B41D04ADAF00ECF9CA /* fileop */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
+		722954C41D04E66F00ECF9CA /* SUFileOperationConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 722954C21D04E66F00ECF9CA /* SUFileOperationConstants.h */; };
+		722954C51D04E66F00ECF9CA /* SUFileOperationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 722954C31D04E66F00ECF9CA /* SUFileOperationConstants.m */; };
+		722954C61D04E66F00ECF9CA /* SUFileOperationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 722954C31D04E66F00ECF9CA /* SUFileOperationConstants.m */; };
+		722954C71D04E66F00ECF9CA /* SUFileOperationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 722954C31D04E66F00ECF9CA /* SUFileOperationConstants.m */; };
+		722954C91D04EA5C00ECF9CA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
+		722954CA1D04EA6000ECF9CA /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
+		722954CB1D04EA6900ECF9CA /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61B5F8F609C4CEB300B25A18 /* Security.framework */; };
+		722954CC1D04EA7000ECF9CA /* SUOperatingSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 726F2CE41BC9C33D001971A4 /* SUOperatingSystem.m */; };
+		72316BD61E0DBF730039EFD9 /* SULocalizations.h in Headers */ = {isa = PBXBuildFile; fileRef = 72316BD51E0DBF730039EFD9 /* SULocalizations.h */; };
+		72316BD91E0E17180039EFD9 /* SUBundleIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 72316BD71E0E17180039EFD9 /* SUBundleIcon.h */; };
+		72316BDA1E0E17180039EFD9 /* SUBundleIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 72316BD81E0E17180039EFD9 /* SUBundleIcon.m */; };
+		72316BDB1E0E17180039EFD9 /* SUBundleIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 72316BD81E0E17180039EFD9 /* SUBundleIcon.m */; };
+		72316BDE1E0E17910039EFD9 /* SUApplicationInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 72316BDC1E0E17910039EFD9 /* SUApplicationInfo.h */; };
+		72316BDF1E0E17910039EFD9 /* SUApplicationInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 72316BDD1E0E17910039EFD9 /* SUApplicationInfo.m */; };
+		72316BE01E0E17910039EFD9 /* SUApplicationInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 72316BDD1E0E17910039EFD9 /* SUApplicationInfo.m */; };
+		72316BE31E0E1C7F0039EFD9 /* SUSystemUpdateInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 72316BE11E0E1C7F0039EFD9 /* SUSystemUpdateInfo.h */; };
+		72316BE41E0E1C7F0039EFD9 /* SUSystemUpdateInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 72316BE21E0E1C7F0039EFD9 /* SUSystemUpdateInfo.m */; };
+		72316BE61E1087060039EFD9 /* SUUpdaterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 72316BE51E1087060039EFD9 /* SUUpdaterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		723A920E1D722438004A9DED /* SUSpotlightImporterTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 723A920D1D722438004A9DED /* SUSpotlightImporterTest.swift */; };
+		723ABA4F259A579D00BDB4FA /* SUUpdateAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = 723ABA51259A579D00BDB4FA /* SUUpdateAlert.xib */; };
+		723ABA8A259A593900BDB4FA /* SUAutomaticUpdateAlert.xib in Resources */ = {isa = PBXBuildFile; fileRef = 723ABA8C259A593900BDB4FA /* SUAutomaticUpdateAlert.xib */; };
+		723ABAC5259A5A2300BDB4FA /* SUUpdatePermissionPrompt.xib in Resources */ = {isa = PBXBuildFile; fileRef = 723ABAC7259A5A2300BDB4FA /* SUUpdatePermissionPrompt.xib */; };
+		723ABB89259A5FFC00BDB4FA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 723ABB87259A5FFC00BDB4FA /* InfoPlist.strings */; };
+		723ABE90259AA3B100BDB4FA /* SUAdHocCodeSigning.m in Sources */ = {isa = PBXBuildFile; fileRef = 723ABE8E259AA3B100BDB4FA /* SUAdHocCodeSigning.m */; };
+		723ABE91259AA3B100BDB4FA /* SUAdHocCodeSigning.m in Sources */ = {isa = PBXBuildFile; fileRef = 723ABE8E259AA3B100BDB4FA /* SUAdHocCodeSigning.m */; };
+		723B25301CEAB3A600909873 /* bscommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 723B252C1CEAB3A600909873 /* bscommon.h */; };
+		72464F7D1E213ED400FB341C /* SUOperatingSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 726F2CE41BC9C33D001971A4 /* SUOperatingSystem.m */; };
+		72544FFC1D0991A4000CFB2C /* SUFileOperationConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 722954C31D04E66F00ECF9CA /* SUFileOperationConstants.m */; };
+		7268AC631AD634C200C3E0C1 /* SUBinaryDeltaCreate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7268AC621AD634C200C3E0C1 /* SUBinaryDeltaCreate.m */; };
+		726F2CDE1BC9BE5B001971A4 /* SUFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7275F9C01B5F1F2900B1D19E /* SUFileManager.m */; };
+		726F2CE51BC9C33D001971A4 /* SUOperatingSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 726F2CE31BC9C33D001971A4 /* SUOperatingSystem.h */; };
+		726F2CE61BC9C33D001971A4 /* SUOperatingSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 726F2CE41BC9C33D001971A4 /* SUOperatingSystem.m */; };
+		726F2CE71BC9C3E2001971A4 /* SUOperatingSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 726F2CE41BC9C33D001971A4 /* SUOperatingSystem.m */; };
+		726F2CE81BC9C48F001971A4 /* SUConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 61299A5F09CA6EB100B7442F /* SUConstants.m */; };
+		726F2CE91BC9C499001971A4 /* SUOperatingSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 726F2CE41BC9C33D001971A4 /* SUOperatingSystem.m */; };
+		726F2CEB1BC9C733001971A4 /* SUConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 61299A5F09CA6EB100B7442F /* SUConstants.m */; };
+		7275F9C11B5F1F2900B1D19E /* SUFileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 7275F9BF1B5F1F2900B1D19E /* SUFileManager.h */; };
+		7275F9C21B5F1F2900B1D19E /* SUFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7275F9C01B5F1F2900B1D19E /* SUFileManager.m */; };
+		7275F9C31B5F1F2900B1D19E /* SUFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7275F9C01B5F1F2900B1D19E /* SUFileManager.m */; };
+		729924731DF3478A00DBCDF5 /* SUUpdateValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 729924711DF3478A00DBCDF5 /* SUUpdateValidator.h */; };
+		729924741DF3478A00DBCDF5 /* SUUpdateValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 729924721DF3478A00DBCDF5 /* SUUpdateValidator.m */; };
+		72A4A2401BB6567D00E7820D /* SUFileManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72A4A23F1BB6567D00E7820D /* SUFileManagerTest.swift */; };
+		72AC6B261B9AAC8800F62325 /* SparkleTestCodeSignApp.tar.gz in Resources */ = {isa = PBXBuildFile; fileRef = 72AC6B251B9AAC8800F62325 /* SparkleTestCodeSignApp.tar.gz */; };
+		72AC6B281B9AAD6700F62325 /* SparkleTestCodeSignApp.tar in Resources */ = {isa = PBXBuildFile; fileRef = 72AC6B271B9AAD6700F62325 /* SparkleTestCodeSignApp.tar */; };
+		72AC6B2A1B9AAF3A00F62325 /* SparkleTestCodeSignApp.tar.bz2 in Resources */ = {isa = PBXBuildFile; fileRef = 72AC6B291B9AAF3A00F62325 /* SparkleTestCodeSignApp.tar.bz2 */; };
+		72AC6B2C1B9AB0EE00F62325 /* SparkleTestCodeSignApp.tar.xz in Resources */ = {isa = PBXBuildFile; fileRef = 72AC6B2B1B9AB0EE00F62325 /* SparkleTestCodeSignApp.tar.xz */; };
+		72AC6B2E1B9B218C00F62325 /* SparkleTestCodeSignApp.dmg in Resources */ = {isa = PBXBuildFile; fileRef = 72AC6B2D1B9B218C00F62325 /* SparkleTestCodeSignApp.dmg */; };
+		72B3DC8225E3232400131B67 /* SULog.m in Sources */ = {isa = PBXBuildFile; fileRef = 55C14F05136EF6DB00649790 /* SULog.m */; };
+		72C4AB7A25E0B4C500D14562 /* SULog.m in Sources */ = {isa = PBXBuildFile; fileRef = 55C14F05136EF6DB00649790 /* SULog.m */; };
+		72C4ABAB25E0BF1900D14562 /* SULog.m in Sources */ = {isa = PBXBuildFile; fileRef = 55C14F05136EF6DB00649790 /* SULog.m */; };
+		72D4DAA11AD7632900B211E2 /* SUBinaryDeltaCreate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7268AC621AD634C200C3E0C1 /* SUBinaryDeltaCreate.m */; };
+		72E1D7DD25A3E3AD0001BA6D /* SUWebViewCommon.m in Sources */ = {isa = PBXBuildFile; fileRef = 72E1D7D625A3E3AC0001BA6D /* SUWebViewCommon.m */; };
+		72E1D7DE25A3E3AD0001BA6D /* SUWebViewCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 72E1D7D725A3E3AC0001BA6D /* SUWebViewCommon.h */; };
+		72E1D7DF25A3E3AD0001BA6D /* SUWKWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 72E1D7D825A3E3AC0001BA6D /* SUWKWebView.h */; };
+		72E1D7E025A3E3AD0001BA6D /* SUWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 72E1D7D925A3E3AC0001BA6D /* SUWebView.h */; };
+		72E1D7E125A3E3AD0001BA6D /* SULegacyWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 72E1D7DA25A3E3AC0001BA6D /* SULegacyWebView.m */; };
+		72E1D7E225A3E3AD0001BA6D /* SUWKWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 72E1D7DB25A3E3AD0001BA6D /* SUWKWebView.m */; };
+		72E1D7E325A3E3AD0001BA6D /* SULegacyWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 72E1D7DC25A3E3AD0001BA6D /* SULegacyWebView.h */; };
+		72E1D82225A3E40F0001BA6D /* ReleaseNotesColorStyle.css in Resources */ = {isa = PBXBuildFile; fileRef = 72E1D82125A3E40F0001BA6D /* ReleaseNotesColorStyle.css */; };
+		72E45CF31B640CDD005C701A /* SUTestApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 72E45CF21B640CDD005C701A /* SUTestApplicationDelegate.m */; };
+		72E45CF71B640DAE005C701A /* SUUpdateSettingsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72E45CF51B640DAE005C701A /* SUUpdateSettingsWindowController.m */; };
+		72E45CF81B640DAE005C701A /* SUUpdateSettingsWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 72E45CF61B640DAE005C701A /* SUUpdateSettingsWindowController.xib */; };
+		72E45CFC1B641961005C701A /* sparkletestcast.xml in Resources */ = {isa = PBXBuildFile; fileRef = 72E45CFB1B641961005C701A /* sparkletestcast.xml */; };
+		72E641801D08D754000404CA /* fileop in Resources */ = {isa = PBXBuildFile; fileRef = 722954B41D04ADAF00ECF9CA /* fileop */; };
+		767B61AC1972D488004E0C3C /* SUGuidedPackageInstaller.h in Headers */ = {isa = PBXBuildFile; fileRef = 767B61AA1972D488004E0C3C /* SUGuidedPackageInstaller.h */; };
+		767B61AD1972D488004E0C3C /* SUGuidedPackageInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 767B61AB1972D488004E0C3C /* SUGuidedPackageInstaller.m */; };
+		767B61AE1972D488004E0C3C /* SUGuidedPackageInstaller.m in Sources */ = {isa = PBXBuildFile; fileRef = 767B61AB1972D488004E0C3C /* SUGuidedPackageInstaller.m */; };
+		A3AD648C24D283F400058938 /* SUGlobalUpdateLock.m in Sources */ = {isa = PBXBuildFile; fileRef = A3AD648A24D283F400058938 /* SUGlobalUpdateLock.m */; };
+		A3AD648D24D283F400058938 /* SUGlobalUpdateLock.h in Headers */ = {isa = PBXBuildFile; fileRef = A3AD648B24D283F400058938 /* SUGlobalUpdateLock.h */; };
+		A5BF4F1D1BC7668B007A052A /* SUTestWebServer.m in Sources */ = {isa = PBXBuildFile; fileRef = A5BF4F1C1BC7668B007A052A /* SUTestWebServer.m */; };
+		B2D3F865245CEA24009BA78C /* URL+Hashing.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2D3F864245CEA24009BA78C /* URL+Hashing.swift */; };
+		C23E885B1BE7B24F0050BB73 /* SparkleTestCodeSignApp.enc.dmg in Resources */ = {isa = PBXBuildFile; fileRef = C23E88591BE7AF890050BB73 /* SparkleTestCodeSignApp.enc.dmg */; };
+		E1545EC51E1D7E0200FAECE8 /* SUTouchBarButtonGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = E1545EC31E1D7E0200FAECE8 /* SUTouchBarButtonGroup.h */; };
+		E1545EC61E1D7E0200FAECE8 /* SUTouchBarButtonGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = E1545EC41E1D7E0200FAECE8 /* SUTouchBarButtonGroup.m */; };
+		E1EC2A301E21667000245715 /* SUTouchBarButtonGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = E1545EC41E1D7E0200FAECE8 /* SUTouchBarButtonGroup.m */; };
+		EA1E27F722B60B25004AA304 /* bscommon.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 723B252C1CEAB3A600909873 /* bscommon.h */; };
+		EA1E27F822B60B25004AA304 /* bspatch.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 611142E810FB1BE5009810AA /* bspatch.h */; };
+		EA1E27F922B60B25004AA304 /* sais.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 7223E7621AD1AEFF008E3161 /* sais.h */; };
+		EA1E27FB22B60B72004AA304 /* ed25519.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F174214D564B00A1187F /* ed25519.h */; };
+		EA1E27FC22B60B72004AA304 /* fe.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F173214D564B00A1187F /* fe.h */; };
+		EA1E27FD22B60B72004AA304 /* fixedint.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F179214D564B00A1187F /* fixedint.h */; };
+		EA1E27FE22B60B72004AA304 /* ge.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F17A214D564B00A1187F /* ge.h */; };
+		EA1E27FF22B60B72004AA304 /* precomp_data.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F176214D564B00A1187F /* precomp_data.h */; };
+		EA1E280022B60B72004AA304 /* sc.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F17E214D564B00A1187F /* sc.h */; };
+		EA1E280122B60B72004AA304 /* sha512.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 5AB8F170214D564A00A1187F /* sha512.h */; };
+		EA4311A5229D5FC600A5503D /* add_scalar.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F171214D564A00A1187F /* add_scalar.c */; };
+		EA4311A7229D5FC600A5503D /* fe.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F17C214D564B00A1187F /* fe.c */; };
+		EA4311AA229D5FC600A5503D /* ge.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F175214D564B00A1187F /* ge.c */; };
+		EA4311AC229D5FC600A5503D /* key_exchange.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F178214D564B00A1187F /* key_exchange.c */; };
+		EA4311AD229D5FC600A5503D /* keypair.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F17F214D564C00A1187F /* keypair.c */; };
+		EA4311AF229D5FC600A5503D /* sc.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F16F214D564A00A1187F /* sc.c */; };
+		EA4311B1229D5FC600A5503D /* seed.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F17B214D564B00A1187F /* seed.c */; };
+		EA4311B2229D5FC600A5503D /* sha512.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F172214D564B00A1187F /* sha512.c */; };
+		EA4311B4229D5FC600A5503D /* sign.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F17D214D564B00A1187F /* sign.c */; };
+		EA4311B5229D5FC600A5503D /* verify.c in Sources */ = {isa = PBXBuildFile; fileRef = 5AB8F177214D564B00A1187F /* verify.c */; };
+		EA4311BD229D5FF000A5503D /* libed25519.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4311A0229D5FBC00A5503D /* libed25519.a */; };
+		EA4311E2229D640400A5503D /* libed25519.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4311A0229D5FBC00A5503D /* libed25519.a */; };
+		EA4311E3229D641400A5503D /* libed25519.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4311A0229D5FBC00A5503D /* libed25519.a */; };
+		EA4311E4229D643300A5503D /* libed25519.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4311A0229D5FBC00A5503D /* libed25519.a */; };
+		EA4311E5229D644700A5503D /* libed25519.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4311A0229D5FBC00A5503D /* libed25519.a */; };
+		EA4311EF229D651F00A5503D /* bscommon.c in Sources */ = {isa = PBXBuildFile; fileRef = 723B252B1CEAB3A600909873 /* bscommon.c */; };
+		EA4311F1229D651F00A5503D /* bsdiff.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E8DB0FD68CB9005AE3F6 /* bsdiff.c */; };
+		EA4311F2229D651F00A5503D /* bspatch.c in Sources */ = {isa = PBXBuildFile; fileRef = 5D06E8DC0FD68CB9005AE3F6 /* bspatch.c */; };
+		EA4311F4229D651F00A5503D /* sais.c in Sources */ = {isa = PBXBuildFile; fileRef = 7223E7611AD1AEFF008E3161 /* sais.c */; };
+		EA4311FC229D65E400A5503D /* libbsdiff.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4311EA229D651300A5503D /* libbsdiff.a */; };
+		EA4311FD229D65FC00A5503D /* libbsdiff.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4311EA229D651300A5503D /* libbsdiff.a */; };
+		EA4311FE229D660B00A5503D /* libbsdiff.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4311EA229D651300A5503D /* libbsdiff.a */; };
+		EA4311FF229D662600A5503D /* libbsdiff.a in Frameworks */ = {isa = PBXBuildFile; fileRef = EA4311EA229D651300A5503D /* libbsdiff.a */; };
+		F8761EB11ADC5068000C9034 /* SUCodeSigningVerifierTest.m in Sources */ = {isa = PBXBuildFile; fileRef = F8761EB01ADC5068000C9034 /* SUCodeSigningVerifierTest.m */; };
+		F8761EB31ADC50EB000C9034 /* SparkleTestCodeSignApp.zip in Resources */ = {isa = PBXBuildFile; fileRef = F8761EB21ADC50EB000C9034 /* SparkleTestCodeSignApp.zip */; };
+		F8761EB61ADC5E7A000C9034 /* SUCodeSigningVerifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 61B078CD15A5FB6100600039 /* SUCodeSigningVerifier.m */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+		1454BA1519637EDB00344E57 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 61B5F90109C4CEE200B25A18;
+			remoteInfo = "Sparkle Test App";
+		};
+		1454BA1719637EE900344E57 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 1420DF491962329200203BB0;
+			remoteInfo = Documentation;
+		};
+		14732BCA1960F73500593899 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
+			remoteInfo = Sparkle;
+		};
+		14732BCE1960F73500593899 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 5D06E8CF0FD68C7C005AE3F6;
+			remoteInfo = BinaryDelta;
+		};
+		14950063195FB8A600BC5B5B /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
+			remoteInfo = Sparkle;
+		};
+		14950065195FB8A600BC5B5B /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 61B5F90109C4CEE200B25A18;
+			remoteInfo = "Sparkle Test App";
+		};
+		14950067195FB8A600BC5B5B /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 612279D80DB5470200AB99EA;
+			remoteInfo = "Sparkle Unit Tests";
+		};
+		14950069195FB8A600BC5B5B /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 5D06E8CF0FD68C7C005AE3F6;
+			remoteInfo = BinaryDelta;
+		};
+		1495006B195FB8A600BC5B5B /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 55C14BB6136EEF1500649790;
+			remoteInfo = Autoupdate;
+		};
+		55C14F96136F044100649790 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 55C14BB6136EEF1500649790;
+			remoteInfo = Autoupdate;
+		};
+		5A5ADEE9214EE65A00DF0099 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 5AB8F19E214DA72000A1187F;
+			remoteInfo = generate_keys;
+		};
+		5A5ADEEB214EE65C00DF0099 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 5A5ADED6214EDE4900DF0099;
+			remoteInfo = sign_update;
+		};
+		5A5ADEED214EE66E00DF0099 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 5AB8F19E214DA72000A1187F;
+			remoteInfo = generate_keys;
+		};
+		5A5ADEEF214EE67100DF0099 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 5A5ADED6214EDE4900DF0099;
+			remoteInfo = sign_update;
+		};
+		5AE13FA71E0D7E1C000D2C2C /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 5AA96C541E0AE0DB00CA4346;
+			remoteInfo = Appcast;
+		};
+		5AE13FA91E0D7E2F000D2C2C /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 5AA96C541E0AE0DB00CA4346;
+			remoteInfo = Appcast;
+		};
+		5D06E8D50FD68C86005AE3F6 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
+			remoteInfo = Sparkle;
+		};
+		5F349B5F25683CB800B015B0 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = EA4311E9229D651300A5503D;
+			remoteInfo = bsdiff;
+		};
+		5F349B6125683CBA00B015B0 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = EA43119F229D5FBC00A5503D;
+			remoteInfo = ed25519;
+		};
+		5F349B6325683CC300B015B0 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = EA4311E9229D651300A5503D;
+			remoteInfo = bsdiff;
+		};
+		5F349B6525683CCA00B015B0 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = EA43119F229D5FBC00A5503D;
+			remoteInfo = ed25519;
+		};
+		5F349B6725683CCC00B015B0 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = EA4311E9229D651300A5503D;
+			remoteInfo = bsdiff;
+		};
+		5F349B6925683CD000B015B0 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = EA43119F229D5FBC00A5503D;
+			remoteInfo = ed25519;
+		};
+		5F349B6B25683CD300B015B0 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = EA43119F229D5FBC00A5503D;
+			remoteInfo = ed25519;
+		};
+		61B5F91B09C4CF7200B25A18 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
+			remoteInfo = Sparkle;
+		};
+		61FA528C0E2D9EB200EF58AD /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
+			remoteInfo = Sparkle;
+		};
+		722954BE1D04D9CB00ECF9CA /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 722954B31D04ADAF00ECF9CA;
+			remoteInfo = fileop;
+		};
+		726B2B621C645FC900388755 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 61B5F90109C4CEE200B25A18;
+			remoteInfo = "Sparkle Test App";
+		};
+		895C5DBE24D764DD0058A82D /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+			proxyType = 1;
+			remoteGlobalIDString = 895C5DB924D75F370058A82D;
+			remoteInfo = Sparkle.xcframework;
+		};
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+		142E0E0119A6A13300E4312B /* Copy Files */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 10;
+			files = (
+				142E0E0219A6A14700E4312B /* Sparkle.framework in Copy Files */,
+			);
+			name = "Copy Files";
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		142E0E0319A6A24100E4312B /* CopyFiles */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 12;
+			files = (
+				142E0E0419A6A26F00E4312B /* Autoupdate.app in CopyFiles */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		61B5FB4D09C4E9FA00B25A18 /* Copy Frameworks */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 10;
+			files = (
+				142E0E0019A6954400E4312B /* Sparkle.framework in Copy Frameworks */,
+			);
+			name = "Copy Frameworks";
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		722954C01D04D9D600ECF9CA /* Copy fileop */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "";
+			dstSubfolderSpec = 6;
+			files = (
+				722954C11D04D9ED00ECF9CA /* fileop in Copy fileop */,
+			);
+			name = "Copy fileop";
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		EA1E27F622B60AFA004AA304 /* Copy Headers */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "include/$(PRODUCT_NAME)";
+			dstSubfolderSpec = 16;
+			files = (
+				EA1E27F722B60B25004AA304 /* bscommon.h in Copy Headers */,
+				EA1E27F822B60B25004AA304 /* bspatch.h in Copy Headers */,
+				EA1E27F922B60B25004AA304 /* sais.h in Copy Headers */,
+			);
+			name = "Copy Headers";
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		EA1E27FA22B60B54004AA304 /* Copy Headers */ = {
+			isa = PBXCopyFilesBuildPhase;
+			buildActionMask = 2147483647;
+			dstPath = "include/$(PRODUCT_NAME)";
+			dstSubfolderSpec = 16;
+			files = (
+				EA1E27FB22B60B72004AA304 /* ed25519.h in Copy Headers */,
+				EA1E27FC22B60B72004AA304 /* fe.h in Copy Headers */,
+				EA1E27FD22B60B72004AA304 /* fixedint.h in Copy Headers */,
+				EA1E27FE22B60B72004AA304 /* ge.h in Copy Headers */,
+				EA1E27FF22B60B72004AA304 /* precomp_data.h in Copy Headers */,
+				EA1E280022B60B72004AA304 /* sc.h in Copy Headers */,
+				EA1E280122B60B72004AA304 /* sha512.h in Copy Headers */,
+			);
+			name = "Copy Headers";
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+		004A8652192A492B00C9730D /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		0263187214FEBB31005EBF43 /* uk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+		0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
+		0A8DAD73207FA6F300FFD934 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		1420DF4D196247B500203BB0 /* build-docs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "build-docs.sh"; sourceTree = "<group>"; };
+		1420DF4E196247B500203BB0 /* Doxyfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Doxyfile; sourceTree = "<group>"; };
+		1420DF4F196247F900203BB0 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
+		142E0E0819A83AAC00E4312B /* SUBinaryDeltaTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUBinaryDeltaTest.m; sourceTree = "<group>"; };
+		14652F7919A93E5F00959E44 /* set-git-version-info.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "set-git-version-info.sh"; sourceTree = "<group>"; };
+		14652F8319A9759F00959E44 /* SUExport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SUExport.h; sourceTree = "<group>"; };
+		146EC84E19A68CF8004A50C5 /* Sparkle.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = Sparkle.podspec; sourceTree = SOURCE_ROOT; };
+		14732BB1195FF6B700593899 /* .clang-format */ = {isa = PBXFileReference; lastKnownFileType = text; path = ".clang-format"; sourceTree = SOURCE_ROOT; };
+		14732BB91960EEEE00593899 /* SampleAppcast.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = SampleAppcast.xml; sourceTree = "<group>"; };
+		14732BBA1960EF7100593899 /* CHANGELOG */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGELOG; sourceTree = SOURCE_ROOT; };
+		14732BBC1960EFB500593899 /* README.markdown */ = {isa = PBXFileReference; lastKnownFileType = text; path = README.markdown; sourceTree = SOURCE_ROOT; };
+		14732BC11960F3B200593899 /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = SOURCE_ROOT; usesTabs = 1; };
+		14732BC91960F70A00593899 /* make-release-package.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "make-release-package.sh"; sourceTree = "<group>"; };
+		14732BD219610A1800593899 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
+		147D6D9E1B66DC3C006607AB /* CheckLocalizations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CheckLocalizations.swift; path = Sparkle/CheckLocalizations.swift; sourceTree = SOURCE_ROOT; };
+		147D6DA71B66EC1C006607AB /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		147D6DA91B66EC22006607AB /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		147D6DAA1B66EC25006607AB /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		14950074195FDF5900BC5B5B /* SUUpdaterTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdaterTest.m; sourceTree = "<group>"; usesTabs = 0; };
+		14958C6B19AEBC530061B14F /* signed-test-file.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "signed-test-file.txt"; sourceTree = "<group>"; };
+		14958C6C19AEBC610061B14F /* test-pubkey.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "test-pubkey.pem"; sourceTree = "<group>"; };
+		26B1A4652195FFE900B09783 /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		34074B8C1FEABD08001CB3A5 /* SPUDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPUDownloader.m; sourceTree = "<group>"; };
+		34074B8D1FEABD08001CB3A5 /* SPUDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPUDownloader.h; sourceTree = "<group>"; };
+		34074B8E1FEABD08001CB3A5 /* SPUDownloaderDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPUDownloaderDelegate.h; sourceTree = "<group>"; };
+		34074B8F1FEABD08001CB3A5 /* SPUDownloaderProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPUDownloaderProtocol.h; sourceTree = "<group>"; };
+		34074B941FEABD23001CB3A5 /* SPULocalCacheDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPULocalCacheDirectory.h; sourceTree = "<group>"; };
+		34074B951FEABD23001CB3A5 /* SPULocalCacheDirectory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPULocalCacheDirectory.m; sourceTree = "<group>"; };
+		34074B981FEABD48001CB3A5 /* SPUURLRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPUURLRequest.m; sourceTree = "<group>"; };
+		34074B991FEABD49001CB3A5 /* SPUURLRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPUURLRequest.h; sourceTree = "<group>"; };
+		34074B9C1FEABD5A001CB3A5 /* SPUDownloadData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SPUDownloadData.m; sourceTree = "<group>"; };
+		34074B9D1FEABD5A001CB3A5 /* SPUDownloadData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPUDownloadData.h; sourceTree = "<group>"; };
+		34074BA01FEABFD2001CB3A5 /* SPUDownloaderSession.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SPUDownloaderSession.h; sourceTree = "<group>"; };
+		34074BA11FEABFD2001CB3A5 /* SPUDownloaderSession.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SPUDownloaderSession.m; sourceTree = "<group>"; };
+		34074BA41FEAC0BC001CB3A5 /* SPUDownloader_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SPUDownloader_Private.h; sourceTree = "<group>"; };
+		342731461FF58E4F00285FBD /* SPUDownloaderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SPUDownloaderTest.swift; sourceTree = "<group>"; };
+		3772FEA813DE0B6B00F79537 /* SUVersionDisplayProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUVersionDisplayProtocol.h; sourceTree = "<group>"; };
+		4444E78E237B047B00CBB3CF /* testlocalizedreleasenotesappcast.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = testlocalizedreleasenotesappcast.xml; sourceTree = "<group>"; };
+		4607BEA21948443800EF8DA4 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		525A278F133D6AE900FD8D70 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+		555CF29A196C52330000B31E /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		55C14BB7136EEF1500649790 /* Autoupdate.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Autoupdate.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		55C14BB9136EEF1500649790 /* Autoupdate-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Autoupdate-Info.plist"; sourceTree = "<group>"; };
+		55C14BD3136EEFCE00649790 /* Autoupdate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Autoupdate.m; sourceTree = "<group>"; };
+		55C14BD8136EF00C00649790 /* SUStatus.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SUStatus.xib; sourceTree = "<group>"; };
+		55C14F04136EF6DB00649790 /* SULog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SULog.h; sourceTree = "<group>"; };
+		55C14F05136EF6DB00649790 /* SULog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SULog.m; sourceTree = "<group>"; };
+		55C14F31136EFC2400649790 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
+		55E6F33219EC9F6C00005E76 /* SUErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUErrors.h; sourceTree = "<group>"; };
+		5A5AC5351E0C6CA300998119 /* Unarchive.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Unarchive.swift; sourceTree = "<group>"; };
+		5A5AC5371E0C6D3000998119 /* FeedXML.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedXML.swift; sourceTree = "<group>"; };
+		5A5ADED7214EDE4900DF0099 /* sign_update */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = sign_update; sourceTree = BUILT_PRODUCTS_DIR; };
+		5A5ADED9214EDE4900DF0099 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
+		5AA4DCD01C73E5510078F128 /* SUAppcastTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SUAppcastTest.swift; sourceTree = "<group>"; };
+		5AA96C571E0AE0DB00CA4346 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
+		5AA96C5D1E0AE0F900CA4346 /* Appcast-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Appcast-Bridging-Header.h"; sourceTree = "<group>"; };
+		5AAD00511E0BE6BE00AF411E /* ArchiveItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ArchiveItem.swift; sourceTree = "<group>"; };
+		5AAD006B1E0C2DBF00AF411E /* libxar.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libxar.tbd; path = usr/lib/libxar.tbd; sourceTree = SDKROOT; };
+		5AB8F16F214D564A00A1187F /* sc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sc.c; path = Vendor/ed25519/src/sc.c; sourceTree = SOURCE_ROOT; };
+		5AB8F170214D564A00A1187F /* sha512.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sha512.h; path = Vendor/ed25519/src/sha512.h; sourceTree = SOURCE_ROOT; };
+		5AB8F171214D564A00A1187F /* add_scalar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = add_scalar.c; path = Vendor/ed25519/src/add_scalar.c; sourceTree = SOURCE_ROOT; };
+		5AB8F172214D564B00A1187F /* sha512.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sha512.c; path = Vendor/ed25519/src/sha512.c; sourceTree = SOURCE_ROOT; };
+		5AB8F173214D564B00A1187F /* fe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fe.h; path = Vendor/ed25519/src/fe.h; sourceTree = SOURCE_ROOT; };
+		5AB8F174214D564B00A1187F /* ed25519.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ed25519.h; path = Vendor/ed25519/src/ed25519.h; sourceTree = SOURCE_ROOT; };
+		5AB8F175214D564B00A1187F /* ge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ge.c; path = Vendor/ed25519/src/ge.c; sourceTree = SOURCE_ROOT; };
+		5AB8F176214D564B00A1187F /* precomp_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = precomp_data.h; path = Vendor/ed25519/src/precomp_data.h; sourceTree = SOURCE_ROOT; };
+		5AB8F177214D564B00A1187F /* verify.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = verify.c; path = Vendor/ed25519/src/verify.c; sourceTree = SOURCE_ROOT; };
+		5AB8F178214D564B00A1187F /* key_exchange.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = key_exchange.c; path = Vendor/ed25519/src/key_exchange.c; sourceTree = SOURCE_ROOT; };
+		5AB8F179214D564B00A1187F /* fixedint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = fixedint.h; path = Vendor/ed25519/src/fixedint.h; sourceTree = SOURCE_ROOT; };
+		5AB8F17A214D564B00A1187F /* ge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ge.h; path = Vendor/ed25519/src/ge.h; sourceTree = SOURCE_ROOT; };
+		5AB8F17B214D564B00A1187F /* seed.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = seed.c; path = Vendor/ed25519/src/seed.c; sourceTree = SOURCE_ROOT; };
+		5AB8F17C214D564B00A1187F /* fe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fe.c; path = Vendor/ed25519/src/fe.c; sourceTree = SOURCE_ROOT; };
+		5AB8F17D214D564B00A1187F /* sign.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sign.c; path = Vendor/ed25519/src/sign.c; sourceTree = SOURCE_ROOT; };
+		5AB8F17E214D564B00A1187F /* sc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sc.h; path = Vendor/ed25519/src/sc.h; sourceTree = SOURCE_ROOT; };
+		5AB8F17F214D564C00A1187F /* keypair.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = keypair.c; path = Vendor/ed25519/src/keypair.c; sourceTree = SOURCE_ROOT; };
+		5AB8F19F214DA72000A1187F /* generate_keys */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = generate_keys; sourceTree = BUILT_PRODUCTS_DIR; };
+		5AB8F1A1214DA72000A1187F /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
+		5AB8F1A8214DA85900A1187F /* ConfigGenerateKeys.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigGenerateKeys.xcconfig; sourceTree = "<group>"; };
+		5AB8F1A9214DA85900A1187F /* ConfigGenerateKeysRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigGenerateKeysRelease.xcconfig; sourceTree = "<group>"; };
+		5AB8F1AA214DA85900A1187F /* ConfigGenerateKeysDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigGenerateKeysDebug.xcconfig; sourceTree = "<group>"; };
+		5AB8F1AB214DA8F200A1187F /* Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bridging-Header.h"; sourceTree = "<group>"; };
+		5AD0FA7E1C73F2E2004BCEFF /* testappcast.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = testappcast.xml; sourceTree = "<group>"; };
+		5AE13F771E0C9B12000D2C2C /* Signatures.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Signatures.swift; sourceTree = "<group>"; };
+		5AE13F9F1E0D4F65000D2C2C /* Appcast.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Appcast.swift; sourceTree = "<group>"; };
+		5AE13FB31E0D9E07000D2C2C /* generate_appcast */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = generate_appcast; sourceTree = BUILT_PRODUCTS_DIR; };
+		5AE13FBC1E0DA39B000D2C2C /* libbz2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libbz2.tbd; path = usr/lib/libbz2.tbd; sourceTree = SDKROOT; };
+		5AE7E10E1DC81ACA009C2C12 /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = AppIcon.icns; sourceTree = "<group>"; };
+		5AEF45D9189D1CC90030D7DC /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		5AF04875214D2E5F00B5789F /* SUSignatures.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SUSignatures.h; sourceTree = "<group>"; };
+		5AF04876214D2E5F00B5789F /* SUSignatures.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SUSignatures.m; sourceTree = "<group>"; };
+		5AF6C74C1AEA40760014A3AB /* SUInstallerTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUInstallerTest.m; sourceTree = "<group>"; };
+		5AF6C74E1AEA46D10014A3AB /* test.pkg */ = {isa = PBXFileReference; lastKnownFileType = file; path = test.pkg; sourceTree = "<group>"; };
+		5AF9DC3B1981DBEE001EA135 /* SUDSAVerifierTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUDSAVerifierTest.m; sourceTree = "<group>"; };
+		5D06E8D00FD68C7C005AE3F6 /* BinaryDelta */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = BinaryDelta; sourceTree = BUILT_PRODUCTS_DIR; };
+		5D06E8DB0FD68CB9005AE3F6 /* bsdiff.c */ = {isa = PBXFileReference; comments = "-Wno-shorten-64-to-32"; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bsdiff.c; sourceTree = "<group>"; };
+		5D06E8DC0FD68CB9005AE3F6 /* bspatch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bspatch.c; sourceTree = "<group>"; };
+		5D06E8DF0FD68CC7005AE3F6 /* SUBinaryDeltaApply.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUBinaryDeltaApply.h; sourceTree = "<group>"; };
+		5D06E8E00FD68CC7005AE3F6 /* SUBinaryDeltaApply.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUBinaryDeltaApply.m; sourceTree = "<group>"; };
+		5D06E8E10FD68CC7005AE3F6 /* SUBinaryDeltaCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUBinaryDeltaCommon.h; sourceTree = "<group>"; };
+		5D06E8E20FD68CC7005AE3F6 /* SUBinaryDeltaCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUBinaryDeltaCommon.m; sourceTree = "<group>"; };
+		5D06E8E30FD68CC7005AE3F6 /* SUBinaryDeltaTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUBinaryDeltaTool.m; sourceTree = "<group>"; usesTabs = 0; };
+		5D06E8F10FD68D21005AE3F6 /* ConfigBinaryDelta.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigBinaryDelta.xcconfig; sourceTree = "<group>"; };
+		5D06E8F20FD68D21005AE3F6 /* ConfigBinaryDeltaDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigBinaryDeltaDebug.xcconfig; sourceTree = "<group>"; };
+		5D06E8F30FD68D21005AE3F6 /* ConfigBinaryDeltaRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigBinaryDeltaRelease.xcconfig; sourceTree = "<group>"; };
+		5D06E8FB0FD68D61005AE3F6 /* libbz2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libbz2.dylib; path = usr/lib/libbz2.dylib; sourceTree = SDKROOT; };
+		5D06E9370FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUBinaryDeltaUnarchiver.h; sourceTree = "<group>"; };
+		5D06E9380FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUBinaryDeltaUnarchiver.m; sourceTree = "<group>"; };
+		5D1AF5890FD7678C0065DB48 /* libxar.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxar.1.dylib; path = usr/lib/libxar.1.dylib; sourceTree = SDKROOT; };
+		5D1AF58F0FD767AD0065DB48 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; };
+		5D1AF5990FD767E50065DB48 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
+		5F1510A11C96E591006E1629 /* testnamespaces.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = testnamespaces.xml; sourceTree = "<group>"; };
+		610134710DD250470049ACDF /* SUUpdateDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdateDriver.h; sourceTree = "<group>"; };
+		610134720DD250470049ACDF /* SUUpdateDriver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdateDriver.m; sourceTree = "<group>"; };
+		610134790DD2541A0049ACDF /* SUProbingUpdateDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUProbingUpdateDriver.h; sourceTree = "<group>"; };
+		6101347A0DD2541A0049ACDF /* SUProbingUpdateDriver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUProbingUpdateDriver.m; sourceTree = "<group>"; };
+		6102FE440E077FCE00F85D09 /* SUPipedUnarchiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUPipedUnarchiver.h; sourceTree = "<group>"; };
+		6102FE480E07803800F85D09 /* SUDiskImageUnarchiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUDiskImageUnarchiver.h; sourceTree = "<group>"; };
+		6102FE490E07803800F85D09 /* SUDiskImageUnarchiver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUDiskImageUnarchiver.m; sourceTree = "<group>"; };
+		611142E810FB1BE5009810AA /* bspatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bspatch.h; sourceTree = "<group>"; };
+		61131A050F846CE600E97AF6 /* da */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61131A090F846D0A00E97AF6 /* zh_CN */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61131A0A0F846D1100E97AF6 /* zh_TW */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = zh_TW; path = zh_TW.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		6117796E0D1112E000749C97 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
+		611A904210240DD300CC659E /* pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		611A904610240DF700CC659E /* ja */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		6120721009CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUAutomaticUpdateAlert.h; sourceTree = "<group>"; };
+		6120721109CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUAutomaticUpdateAlert.m; sourceTree = "<group>"; };
+		612279D90DB5470200AB99EA /* Sparkle Unit Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Sparkle Unit Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+		612279DA0DB5470200AB99EA /* SparkleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "SparkleTests-Info.plist"; sourceTree = "<group>"; };
+		61227A150DB548B800AB99EA /* SUVersionComparisonTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUVersionComparisonTest.m; sourceTree = "<group>"; };
+		61299A2D09CA2DAB00B7442F /* SUSignatureVerifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUSignatureVerifier.h; sourceTree = "<group>"; };
+		61299A2E09CA2DAB00B7442F /* SUSignatureVerifier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUSignatureVerifier.m; sourceTree = "<group>"; };
+		61299A5B09CA6D4500B7442F /* SUConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUConstants.h; sourceTree = "<group>"; };
+		61299A5F09CA6EB100B7442F /* SUConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUConstants.m; sourceTree = "<group>"; };
+		61299A8B09CA790200B7442F /* SUUnarchiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUnarchiver.h; sourceTree = "<group>"; };
+		61299A8C09CA790200B7442F /* SUUnarchiver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUnarchiver.m; sourceTree = "<group>"; };
+		61299B3509CB04E000B7442F /* Sparkle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sparkle.h; sourceTree = "<group>"; };
+		6129C0B90E0B79810062CE76 /* SUPipedUnarchiver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUPipedUnarchiver.m; sourceTree = "<group>"; };
+		612DCBAD0D488BC60015DBEA /* SUUpdatePermissionPrompt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdatePermissionPrompt.h; sourceTree = "<group>"; };
+		612DCBAE0D488BC60015DBEA /* SUUpdatePermissionPrompt.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdatePermissionPrompt.m; sourceTree = "<group>"; };
+		613151B20FB4946A000DCD59 /* is */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = is; path = is.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		6149E6EA1601ABAC008A351E /* ar */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		615409C4103BBC4000125AF1 /* cs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		6158A1C4137904B300487EC1 /* SUUpdaterPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdaterPrivate.h; sourceTree = "<group>"; };
+		615AE3CF0D64DC40001CA7BD /* SUModelTranslation.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = SUModelTranslation.plist; sourceTree = "<group>"; };
+		6186554310D7484E00B1E074 /* pt_PT */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = pt_PT; path = pt_PT.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		618915730E35937600B5E981 /* sv */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		618FA4FF0DAE88B40026945C /* SUInstaller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUInstaller.h; sourceTree = "<group>"; };
+		618FA5000DAE88B40026945C /* SUInstaller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUInstaller.m; sourceTree = "<group>"; };
+		618FA5030DAE8AB80026945C /* SUPlainInstaller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUPlainInstaller.h; sourceTree = "<group>"; };
+		618FA5040DAE8AB80026945C /* SUPlainInstaller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUPlainInstaller.m; sourceTree = "<group>"; };
+		618FA5200DAE8E8A0026945C /* SUPackageInstaller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUPackageInstaller.h; sourceTree = "<group>"; };
+		618FA5210DAE8E8A0026945C /* SUPackageInstaller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUPackageInstaller.m; sourceTree = "<group>"; };
+		6195D4920E404AD700D41A50 /* ru */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		6196CFE309C71ADE000DC222 /* SUStatusController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUStatusController.h; sourceTree = "<group>"; };
+		6196CFE409C71ADE000DC222 /* SUStatusController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUStatusController.m; sourceTree = "<group>"; };
+		619B17200E1E9D0800E72754 /* de */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61A2259C0D1C495D00430CCD /* SUVersionComparisonProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUVersionComparisonProtocol.h; sourceTree = "<group>"; };
+		61A225A20D1C4AC000430CCD /* SUStandardVersionComparator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUStandardVersionComparator.h; sourceTree = "<group>"; };
+		61A225A30D1C4AC000430CCD /* SUStandardVersionComparator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUStandardVersionComparator.m; sourceTree = "<group>"; };
+		61A2279A0D1CEE7600430CCD /* SUSystemProfiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUSystemProfiler.h; sourceTree = "<group>"; };
+		61A2279B0D1CEE7600430CCD /* SUSystemProfiler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUSystemProfiler.m; sourceTree = "<group>"; };
+		61A354530DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUserInitiatedUpdateDriver.h; sourceTree = "<group>"; };
+		61A354540DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUserInitiatedUpdateDriver.m; sourceTree = "<group>"; };
+		61AAE84F0A321AF700D8810D /* es */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61AAE8590A321B0400D8810D /* fr */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61AAE8710A321F7700D8810D /* nl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61B078CC15A5FB6100600039 /* SUCodeSigningVerifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUCodeSigningVerifier.h; sourceTree = "<group>"; };
+		61B078CD15A5FB6100600039 /* SUCodeSigningVerifier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUCodeSigningVerifier.m; sourceTree = "<group>"; };
+		61B5F8E309C4CE3C00B25A18 /* SUUpdater.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SUUpdater.h; sourceTree = "<group>"; };
+		61B5F8E409C4CE3C00B25A18 /* SUUpdater.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = SUUpdater.m; sourceTree = "<group>"; };
+		61B5F8F609C4CEB300B25A18 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
+		61B5F90209C4CEE200B25A18 /* Sparkle Test App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Sparkle Test App.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+		61B5F90409C4CEE200B25A18 /* TestApplication-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TestApplication-Info.plist"; sourceTree = "<group>"; };
+		61B5F92409C4CFC900B25A18 /* main.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+		61B5FB9409C4F04600B25A18 /* SUAppcast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUAppcast.h; sourceTree = "<group>"; };
+		61B5FB9509C4F04600B25A18 /* SUAppcast.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUAppcast.m; sourceTree = "<group>"; };
+		61B5FC3F09C4FD4000B25A18 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
+		61B5FC5309C5182000B25A18 /* SUAppcastItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUAppcastItem.h; sourceTree = "<group>"; };
+		61B5FC5409C5182000B25A18 /* SUAppcastItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUAppcastItem.m; sourceTree = "<group>"; };
+		61B5FCA009C5228F00B25A18 /* SUUpdateAlert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdateAlert.h; sourceTree = "<group>"; };
+		61B5FCA109C5228F00B25A18 /* SUUpdateAlert.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdateAlert.m; sourceTree = "<group>"; };
+		61B93A390DD02D6400DCD2F8 /* SUUIBasedUpdateDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUIBasedUpdateDriver.h; sourceTree = "<group>"; };
+		61B93A3A0DD02D6400DCD2F8 /* SUUIBasedUpdateDriver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUIBasedUpdateDriver.m; sourceTree = "<group>"; };
+		61B93B250DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUAutomaticUpdateDriver.h; sourceTree = "<group>"; };
+		61B93B260DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUAutomaticUpdateDriver.m; sourceTree = "<group>"; };
+		61B93C070DD112FF00DCD2F8 /* SUScheduledUpdateDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUScheduledUpdateDriver.h; sourceTree = "<group>"; };
+		61B93C080DD112FF00DCD2F8 /* SUScheduledUpdateDriver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUScheduledUpdateDriver.m; sourceTree = "<group>"; };
+		61BA66CC14BDFA0400D02D86 /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61C268090E2DB5D000175E6C /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = SOURCE_ROOT; };
+		61E31A80103299500051D188 /* pt_BR */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = pt_BR; path = pt_BR.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61EF67550E25B58D00F754E0 /* SUHost.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUHost.m; sourceTree = "<group>"; };
+		61EF67580E25C5B400F754E0 /* SUHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUHost.h; sourceTree = "<group>"; };
+		61F3AC1215C22D4A00260CA2 /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61F614540E24A12D009F47E7 /* it */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		61F83F6F0DBFE137006FDD30 /* SUBasicUpdateDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUBasicUpdateDriver.h; sourceTree = "<group>"; };
+		61F83F700DBFE137006FDD30 /* SUBasicUpdateDriver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUBasicUpdateDriver.m; sourceTree = "<group>"; };
+		7205C42E1E11A6DA00E370AE /* SUInstallerProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUInstallerProtocol.h; sourceTree = "<group>"; };
+		7205C42F1E1215AD00E370AE /* SUUpdatePermissionResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdatePermissionResponse.h; sourceTree = "<group>"; };
+		7205C4301E1215AD00E370AE /* SUUpdatePermissionResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdatePermissionResponse.m; sourceTree = "<group>"; };
+		7205C4331E12C23C00E370AE /* ConfigGenerateAppcast.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigGenerateAppcast.xcconfig; sourceTree = "<group>"; };
+		7205C4341E12C66D00E370AE /* ConfigGenerateAppcastRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigGenerateAppcastRelease.xcconfig; sourceTree = "<group>"; };
+		7205C4351E12CA7000E370AE /* ConfigGenerateAppcastDebug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigGenerateAppcastDebug.xcconfig; sourceTree = "<group>"; };
+		720767CD1E2DC37400F9A850 /* TerminationListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TerminationListener.h; sourceTree = "<group>"; };
+		720767CE1E2DC37400F9A850 /* TerminationListener.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TerminationListener.m; sourceTree = "<group>"; };
+		720767D01E2E3DD300F9A850 /* AppKitPrevention.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppKitPrevention.h; sourceTree = "<group>"; };
+		720B16421C66433D006985FB /* UITests-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "UITests-Info.plist"; path = "UITests/UITests-Info.plist"; sourceTree = SOURCE_ROOT; };
+		720B16431C66433D006985FB /* SUTestApplicationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SUTestApplicationTest.swift; path = UITests/SUTestApplicationTest.swift; sourceTree = SOURCE_ROOT; };
+		7210C7671B9A9A1500EB90AC /* SUUnarchiverTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SUUnarchiverTest.swift; sourceTree = "<group>"; };
+		721D5B5825C6940400D23BEA /* SUFlatPackageUnarchiver.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUFlatPackageUnarchiver.m; sourceTree = "<group>"; };
+		721D5B5925C6940400D23BEA /* SUFlatPackageUnarchiver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUFlatPackageUnarchiver.h; sourceTree = "<group>"; };
+		721D5B6825C69A6900D23BEA /* test.sparkle_interactive.pkg */ = {isa = PBXFileReference; lastKnownFileType = file; path = test.sparkle_interactive.pkg; sourceTree = "<group>"; };
+		7223E7611AD1AEFF008E3161 /* sais.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sais.c; sourceTree = "<group>"; };
+		7223E7621AD1AEFF008E3161 /* sais.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sais.h; sourceTree = "<group>"; };
+		722589D61E0AD86B005EA0B9 /* SUUnarchiverProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUnarchiverProtocol.h; sourceTree = "<group>"; };
+		722589D81E0B19F4005EA0B9 /* SUUnarchiverNotifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUnarchiverNotifier.h; sourceTree = "<group>"; };
+		722589D91E0B19F4005EA0B9 /* SUUnarchiverNotifier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUnarchiverNotifier.m; sourceTree = "<group>"; };
+		722954B41D04ADAF00ECF9CA /* fileop */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = fileop; sourceTree = BUILT_PRODUCTS_DIR; };
+		722954B61D04ADAF00ECF9CA /* fileop.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = fileop.m; sourceTree = "<group>"; };
+		722954C21D04E66F00ECF9CA /* SUFileOperationConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUFileOperationConstants.h; sourceTree = "<group>"; };
+		722954C31D04E66F00ECF9CA /* SUFileOperationConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUFileOperationConstants.m; sourceTree = "<group>"; };
+		722954C81D04E89500ECF9CA /* ConfigFileop.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigFileop.xcconfig; sourceTree = "<group>"; };
+		722FB7471DD51331001D40CE /* ConfigSwift.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigSwift.xcconfig; sourceTree = "<group>"; };
+		722FB7481DD51350001D40CE /* ConfigSwiftDebug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigSwiftDebug.xcconfig; sourceTree = "<group>"; };
+		722FB7491DD51350001D40CE /* ConfigSwiftRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigSwiftRelease.xcconfig; sourceTree = "<group>"; };
+		72316BD51E0DBF730039EFD9 /* SULocalizations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SULocalizations.h; sourceTree = "<group>"; };
+		72316BD71E0E17180039EFD9 /* SUBundleIcon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUBundleIcon.h; sourceTree = "<group>"; };
+		72316BD81E0E17180039EFD9 /* SUBundleIcon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUBundleIcon.m; sourceTree = "<group>"; };
+		72316BDC1E0E17910039EFD9 /* SUApplicationInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUApplicationInfo.h; sourceTree = "<group>"; };
+		72316BDD1E0E17910039EFD9 /* SUApplicationInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUApplicationInfo.m; sourceTree = "<group>"; };
+		72316BE11E0E1C7F0039EFD9 /* SUSystemUpdateInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUSystemUpdateInfo.h; sourceTree = "<group>"; };
+		72316BE21E0E1C7F0039EFD9 /* SUSystemUpdateInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUSystemUpdateInfo.m; sourceTree = "<group>"; };
+		72316BE51E1087060039EFD9 /* SUUpdaterDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdaterDelegate.h; sourceTree = "<group>"; };
+		723A920D1D722438004A9DED /* SUSpotlightImporterTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SUSpotlightImporterTest.swift; sourceTree = "<group>"; };
+		723AB9CB2599BF1200BDB4FA /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		723ABA50259A579D00BDB4FA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SUUpdateAlert.xib; sourceTree = "<group>"; };
+		723ABA5E259A57DA00BDB4FA /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA5F259A57DE00BDB4FA /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA60259A57EE00BDB4FA /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA61259A57F300BDB4FA /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA62259A57FA00BDB4FA /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA63259A57FF00BDB4FA /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA64259A580600BDB4FA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA65259A580C00BDB4FA /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA66259A581000BDB4FA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA67259A581400BDB4FA /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA68259A581B00BDB4FA /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA69259A582200BDB4FA /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA6A259A582600BDB4FA /* is */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = is; path = is.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA6B259A582900BDB4FA /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA6C259A582C00BDB4FA /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA6D259A582F00BDB4FA /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA6E259A583F00BDB4FA /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA6F259A584500BDB4FA /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA70259A584800BDB4FA /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA71259A584D00BDB4FA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_BR; path = pt_BR.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA72259A585500BDB4FA /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA73259A585F00BDB4FA /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA74259A586200BDB4FA /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA75259A586400BDB4FA /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA76259A586700BDB4FA /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA77259A586900BDB4FA /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA78259A586C00BDB4FA /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA79259A586F00BDB4FA /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA7A259A587600BDB4FA /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA7B259A587800BDB4FA /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_TW; path = zh_TW.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA7D259A58E800BDB4FA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/SUUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA8B259A593900BDB4FA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SUAutomaticUpdateAlert.xib; sourceTree = "<group>"; };
+		723ABA9A259A594300BDB4FA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA9B259A597600BDB4FA /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA9C259A597900BDB4FA /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA9D259A597C00BDB4FA /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA9E259A597F00BDB4FA /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABA9F259A598300BDB4FA /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA0259A598600BDB4FA /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA1259A598D00BDB4FA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA2259A599500BDB4FA /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA3259A599800BDB4FA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA4259A599D00BDB4FA /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA5259A59A500BDB4FA /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA6259A59AA00BDB4FA /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA7259A59AF00BDB4FA /* is */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = is; path = is.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA8259A59B500BDB4FA /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAA9259A59B900BDB4FA /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAAA259A59BB00BDB4FA /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAAB259A59BF00BDB4FA /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAAC259A59C400BDB4FA /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAAD259A59C700BDB4FA /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAAE259A59CD00BDB4FA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_BR; path = pt_BR.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAAF259A59D000BDB4FA /* pt_PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_PT; path = pt_PT.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAB0259A59D300BDB4FA /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAB1259A59D700BDB4FA /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAB2259A59DA00BDB4FA /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAB3259A59DE00BDB4FA /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAB4259A59E500BDB4FA /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAB5259A59E700BDB4FA /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAB6259A59ED00BDB4FA /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAB7259A59F300BDB4FA /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAB8259A59F600BDB4FA /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_TW; path = zh_TW.lproj/SUAutomaticUpdateAlert.strings; sourceTree = "<group>"; };
+		723ABAC6259A5A2300BDB4FA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SUUpdatePermissionPrompt.xib; sourceTree = "<group>"; };
+		723ABAC9259A5A3F00BDB4FA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABACA259A5A5D00BDB4FA /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABACB259A5A6000BDB4FA /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABACC259A5A6400BDB4FA /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABACD259A5A6800BDB4FA /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABACE259A5A6B00BDB4FA /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABACF259A5A7300BDB4FA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD0259A5A7C00BDB4FA /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD1259A5A8000BDB4FA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD2259A5A8600BDB4FA /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD3259A5A8A00BDB4FA /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD4259A5A8F00BDB4FA /* is */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = is; path = is.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD5259A5A9300BDB4FA /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD6259A5A9600BDB4FA /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD7259A5A9A00BDB4FA /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD8259A5A9E00BDB4FA /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAD9259A5AA500BDB4FA /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABADA259A5AA900BDB4FA /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABADB259A5AB300BDB4FA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_BR; path = pt_BR.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABADC259A5AB800BDB4FA /* pt_PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_PT; path = pt_PT.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABADD259A5ABB00BDB4FA /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABADE259A5ABD00BDB4FA /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABADF259A5AC200BDB4FA /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAE0259A5AC500BDB4FA /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAE1259A5AC900BDB4FA /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAE2259A5ACD00BDB4FA /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAE3259A5AD100BDB4FA /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAE4259A5AD300BDB4FA /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAE5259A5AD900BDB4FA /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABAE6259A5ADC00BDB4FA /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_TW; path = zh_TW.lproj/SUUpdatePermissionPrompt.strings; sourceTree = "<group>"; };
+		723ABB78259A5F7400BDB4FA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
+		723ABB7A259A5FA500BDB4FA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABB88259A5FFC00BDB4FA /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+		723ABBD4259A61C800BDB4FA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABBE2259A620000BDB4FA /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABBFC259A628600BDB4FA /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABBFE259A628600BDB4FA /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC00259A628F00BDB4FA /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC02259A62A800BDB4FA /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_TW; path = zh_TW.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC04259A62AB00BDB4FA /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC06259A62AE00BDB4FA /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC08259A62B100BDB4FA /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC0A259A62B600BDB4FA /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC0C259A62BA00BDB4FA /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = fi.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC0E259A62BF00BDB4FA /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC10259A62C400BDB4FA /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC12259A62C800BDB4FA /* el */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el; path = el.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC14259A62CD00BDB4FA /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC16259A62D200BDB4FA /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC18259A62D500BDB4FA /* is */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = is; path = is.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC1A259A62D900BDB4FA /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC1C259A62E000BDB4FA /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC1E259A62E500BDB4FA /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC20259A62E900BDB4FA /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC22259A62EE00BDB4FA /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC24259A630900BDB4FA /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_BR; path = pt_BR.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC26259A630A00BDB4FA /* pt_PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_PT; path = pt_PT.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC28259A630F00BDB4FA /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC2A259A631300BDB4FA /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC2C259A631700BDB4FA /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = sl.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC2E259A631D00BDB4FA /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC30259A632100BDB4FA /* sv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC32259A632200BDB4FA /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABC34259A632600BDB4FA /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/MainMenu.strings; sourceTree = "<group>"; };
+		723ABE8E259AA3B100BDB4FA /* SUAdHocCodeSigning.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUAdHocCodeSigning.m; sourceTree = "<group>"; };
+		723ABE8F259AA3B100BDB4FA /* SUAdHocCodeSigning.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUAdHocCodeSigning.h; sourceTree = "<group>"; };
+		723B252B1CEAB3A600909873 /* bscommon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bscommon.c; sourceTree = "<group>"; };
+		723B252C1CEAB3A600909873 /* bscommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bscommon.h; sourceTree = "<group>"; };
+		7268AC621AD634C200C3E0C1 /* SUBinaryDeltaCreate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUBinaryDeltaCreate.m; sourceTree = "<group>"; };
+		7268AC641AD634E400C3E0C1 /* SUBinaryDeltaCreate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUBinaryDeltaCreate.h; sourceTree = "<group>"; };
+		726B2B5D1C645FC900388755 /* UI Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "UI Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+		726F2CE31BC9C33D001971A4 /* SUOperatingSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUOperatingSystem.h; sourceTree = "<group>"; };
+		726F2CE41BC9C33D001971A4 /* SUOperatingSystem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUOperatingSystem.m; sourceTree = "<group>"; };
+		7275F9BF1B5F1F2900B1D19E /* SUFileManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUFileManager.h; sourceTree = "<group>"; };
+		7275F9C01B5F1F2900B1D19E /* SUFileManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUFileManager.m; sourceTree = "<group>"; };
+		729924711DF3478A00DBCDF5 /* SUUpdateValidator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdateValidator.h; sourceTree = "<group>"; };
+		729924721DF3478A00DBCDF5 /* SUUpdateValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdateValidator.m; sourceTree = "<group>"; };
+		729F10FD1C65A9B500DFCCC5 /* ConfigUITest.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigUITest.xcconfig; sourceTree = "<group>"; };
+		729F10FF1C65A9B500DFCCC5 /* ConfigUITestDebug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigUITestDebug.xcconfig; sourceTree = "<group>"; };
+		729F11001C65A9B500DFCCC5 /* ConfigUITestRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = ConfigUITestRelease.xcconfig; sourceTree = "<group>"; };
+		72A4A23F1BB6567D00E7820D /* SUFileManagerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SUFileManagerTest.swift; sourceTree = "<group>"; };
+		72AC6B251B9AAC8800F62325 /* SparkleTestCodeSignApp.tar.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = SparkleTestCodeSignApp.tar.gz; sourceTree = "<group>"; };
+		72AC6B271B9AAD6700F62325 /* SparkleTestCodeSignApp.tar */ = {isa = PBXFileReference; lastKnownFileType = archive.tar; path = SparkleTestCodeSignApp.tar; sourceTree = "<group>"; };
+		72AC6B291B9AAF3A00F62325 /* SparkleTestCodeSignApp.tar.bz2 */ = {isa = PBXFileReference; lastKnownFileType = file; path = SparkleTestCodeSignApp.tar.bz2; sourceTree = "<group>"; };
+		72AC6B2B1B9AB0EE00F62325 /* SparkleTestCodeSignApp.tar.xz */ = {isa = PBXFileReference; lastKnownFileType = file; path = SparkleTestCodeSignApp.tar.xz; sourceTree = "<group>"; };
+		72AC6B2D1B9B218C00F62325 /* SparkleTestCodeSignApp.dmg */ = {isa = PBXFileReference; lastKnownFileType = file; path = SparkleTestCodeSignApp.dmg; sourceTree = "<group>"; };
+		72AFC6121B9A944200F6B565 /* Sparkle Unit Tests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Sparkle Unit Tests-Bridging-Header.h"; sourceTree = "<group>"; };
+		72E1D7D625A3E3AC0001BA6D /* SUWebViewCommon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUWebViewCommon.m; sourceTree = "<group>"; };
+		72E1D7D725A3E3AC0001BA6D /* SUWebViewCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUWebViewCommon.h; sourceTree = "<group>"; };
+		72E1D7D825A3E3AC0001BA6D /* SUWKWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUWKWebView.h; sourceTree = "<group>"; };
+		72E1D7D925A3E3AC0001BA6D /* SUWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUWebView.h; sourceTree = "<group>"; };
+		72E1D7DA25A3E3AC0001BA6D /* SULegacyWebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SULegacyWebView.m; sourceTree = "<group>"; };
+		72E1D7DB25A3E3AD0001BA6D /* SUWKWebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUWKWebView.m; sourceTree = "<group>"; };
+		72E1D7DC25A3E3AD0001BA6D /* SULegacyWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SULegacyWebView.h; sourceTree = "<group>"; };
+		72E1D82125A3E40F0001BA6D /* ReleaseNotesColorStyle.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; name = ReleaseNotesColorStyle.css; path = Resources/ReleaseNotesColorStyle.css; sourceTree = SOURCE_ROOT; };
+		72E45CF11B640CDD005C701A /* SUTestApplicationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUTestApplicationDelegate.h; sourceTree = "<group>"; };
+		72E45CF21B640CDD005C701A /* SUTestApplicationDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUTestApplicationDelegate.m; sourceTree = "<group>"; };
+		72E45CF41B640DAE005C701A /* SUUpdateSettingsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUUpdateSettingsWindowController.h; sourceTree = "<group>"; };
+		72E45CF51B640DAE005C701A /* SUUpdateSettingsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUUpdateSettingsWindowController.m; sourceTree = "<group>"; };
+		72E45CF61B640DAE005C701A /* SUUpdateSettingsWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SUUpdateSettingsWindowController.xib; sourceTree = "<group>"; };
+		72E45CFB1B641961005C701A /* sparkletestcast.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = sparkletestcast.xml; sourceTree = "<group>"; };
+		767B61AA1972D488004E0C3C /* SUGuidedPackageInstaller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUGuidedPackageInstaller.h; sourceTree = "<group>"; };
+		767B61AB1972D488004E0C3C /* SUGuidedPackageInstaller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUGuidedPackageInstaller.m; sourceTree = "<group>"; };
+		8DC2EF5A0486A6940098B216 /* Sparkle-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Sparkle-Info.plist"; sourceTree = "<group>"; };
+		8DC2EF5B0486A6940098B216 /* Sparkle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sparkle.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+		A3AD648A24D283F400058938 /* SUGlobalUpdateLock.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUGlobalUpdateLock.m; sourceTree = "<group>"; };
+		A3AD648B24D283F400058938 /* SUGlobalUpdateLock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUGlobalUpdateLock.h; sourceTree = "<group>"; };
+		A5BF4F1B1BC7668B007A052A /* SUTestWebServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUTestWebServer.h; sourceTree = "<group>"; };
+		A5BF4F1C1BC7668B007A052A /* SUTestWebServer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUTestWebServer.m; sourceTree = "<group>"; };
+		B2D3F864245CEA24009BA78C /* URL+Hashing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "URL+Hashing.swift"; sourceTree = "<group>"; };
+		C23E88591BE7AF890050BB73 /* SparkleTestCodeSignApp.enc.dmg */ = {isa = PBXFileReference; lastKnownFileType = file; path = SparkleTestCodeSignApp.enc.dmg; sourceTree = "<group>"; };
+		E1545EC31E1D7E0200FAECE8 /* SUTouchBarButtonGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SUTouchBarButtonGroup.h; sourceTree = "<group>"; };
+		E1545EC41E1D7E0200FAECE8 /* SUTouchBarButtonGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUTouchBarButtonGroup.m; sourceTree = "<group>"; };
+		E19CA4901E2E7E4D009D4D18 /* SUTouchBarForwardDeclarations.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SUTouchBarForwardDeclarations.h; sourceTree = "<group>"; };
+		EA4311A0229D5FBC00A5503D /* libed25519.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libed25519.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		EA4311C7229D612A00A5503D /* ed25519-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "ed25519-Shared.xcconfig"; sourceTree = "<group>"; };
+		EA4311C8229D613B00A5503D /* ed25519-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "ed25519-Release.xcconfig"; sourceTree = "<group>"; };
+		EA4311C9229D614300A5503D /* ed25519-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "ed25519-Debug.xcconfig"; sourceTree = "<group>"; };
+		EA4311EA229D651300A5503D /* libbsdiff.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libbsdiff.a; sourceTree = BUILT_PRODUCTS_DIR; };
+		EA4311F9229D655E00A5503D /* bsdiff-Shared.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "bsdiff-Shared.xcconfig"; sourceTree = "<group>"; };
+		EA4311FA229D656700A5503D /* bsdiff-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "bsdiff-Debug.xcconfig"; sourceTree = "<group>"; };
+		EA4311FB229D657A00A5503D /* bsdiff-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "bsdiff-Release.xcconfig"; sourceTree = "<group>"; };
+		F8761EB01ADC5068000C9034 /* SUCodeSigningVerifierTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SUCodeSigningVerifierTest.m; sourceTree = "<group>"; };
+		F8761EB21ADC50EB000C9034 /* SparkleTestCodeSignApp.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = SparkleTestCodeSignApp.zip; sourceTree = "<group>"; };
+		FA1941CA0D94A70100DD942E /* ConfigFrameworkDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigFrameworkDebug.xcconfig; sourceTree = "<group>"; };
+		FA1941CB0D94A70100DD942E /* ConfigTestAppDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigTestAppDebug.xcconfig; sourceTree = "<group>"; };
+		FA1941CC0D94A70100DD942E /* ConfigCommonRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigCommonRelease.xcconfig; sourceTree = "<group>"; };
+		FA1941CD0D94A70100DD942E /* ConfigTestApp.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigTestApp.xcconfig; sourceTree = "<group>"; };
+		FA1941CE0D94A70100DD942E /* ConfigRelaunch.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigRelaunch.xcconfig; sourceTree = "<group>"; };
+		FA1941CF0D94A70100DD942E /* ConfigCommonDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigCommonDebug.xcconfig; sourceTree = "<group>"; };
+		FA1941D00D94A70100DD942E /* ConfigCommon.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigCommon.xcconfig; sourceTree = "<group>"; };
+		FA1941D10D94A70100DD942E /* ConfigFramework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigFramework.xcconfig; sourceTree = "<group>"; };
+		FA1941D20D94A70100DD942E /* ConfigTestAppRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigTestAppRelease.xcconfig; sourceTree = "<group>"; };
+		FA1941D30D94A70100DD942E /* ConfigRelaunchDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigRelaunchDebug.xcconfig; sourceTree = "<group>"; };
+		FA1941D40D94A70100DD942E /* ConfigRelaunchRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigRelaunchRelease.xcconfig; sourceTree = "<group>"; };
+		FA1941D50D94A70100DD942E /* ConfigFrameworkRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigFrameworkRelease.xcconfig; sourceTree = "<group>"; };
+		FA3AAF391050B273004B3130 /* ConfigUnitTestRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigUnitTestRelease.xcconfig; sourceTree = "<group>"; };
+		FA3AAF3A1050B273004B3130 /* ConfigUnitTestDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigUnitTestDebug.xcconfig; sourceTree = "<group>"; };
+		FA3AAF3B1050B273004B3130 /* ConfigUnitTest.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ConfigUnitTest.xcconfig; sourceTree = "<group>"; };
+		FE5536F517A2C6A7007CB333 /* ko */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ko; path = ko.lproj/Sparkle.strings; sourceTree = "<group>"; };
+		FE5536F617A2C6AB007CB333 /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Sparkle.strings; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		55C14BB5136EEF1500649790 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				14950071195FCE3D00BC5B5B /* AppKit.framework in Frameworks */,
+				14950070195FCE3A00BC5B5B /* Foundation.framework in Frameworks */,
+				55C14F9A136F045400649790 /* Security.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		5A5ADED4214EDE4900DF0099 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				EA4311E3229D641400A5503D /* libed25519.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		5AA96C521E0AE0DB00CA4346 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				EA4311FC229D65E400A5503D /* libbsdiff.a in Frameworks */,
+				5AE13FBD1E0DA39B000D2C2C /* libbz2.tbd in Frameworks */,
+				EA4311BD229D5FF000A5503D /* libed25519.a in Frameworks */,
+				5AAD006C1E0C2DBF00AF411E /* libxar.tbd in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		5AB8F19C214DA72000A1187F /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				EA4311E2229D640400A5503D /* libed25519.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		5D06E8CE0FD68C7C005AE3F6 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5D06E9050FD68D7D005AE3F6 /* Foundation.framework in Frameworks */,
+				EA4311FD229D65FC00A5503D /* libbsdiff.a in Frameworks */,
+				5D06E8FF0FD68D6D005AE3F6 /* libbz2.dylib in Frameworks */,
+				5D1AF58B0FD7678C0065DB48 /* libxar.1.dylib in Frameworks */,
+				5D1AF5900FD767AD0065DB48 /* libxml2.dylib in Frameworks */,
+				5D1AF59A0FD767E50065DB48 /* libz.dylib in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		612279D60DB5470200AB99EA /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				14732BD119610A1200593899 /* AppKit.framework in Frameworks */,
+				14732BD019610A0D00593899 /* Foundation.framework in Frameworks */,
+				EA4311FE229D660B00A5503D /* libbsdiff.a in Frameworks */,
+				721CF1AB1AD764EB00D9AC09 /* libbz2.dylib in Frameworks */,
+				721CF1AA1AD7647000D9AC09 /* libxar.1.dylib in Frameworks */,
+				14652F8019A9740F00959E44 /* Security.framework in Frameworks */,
+				61FA52880E2D9EA400EF58AD /* Sparkle.framework in Frameworks */,
+				14732BD319610A1800593899 /* XCTest.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		61B5F90009C4CEE200B25A18 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				14950073195FCE4E00BC5B5B /* AppKit.framework in Frameworks */,
+				14950072195FCE4B00BC5B5B /* Foundation.framework in Frameworks */,
+				EA4311E5229D644700A5503D /* libed25519.a in Frameworks */,
+				61B5F90F09C4CF3A00B25A18 /* Sparkle.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		722954B11D04ADAF00ECF9CA /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				722954CA1D04EA6000ECF9CA /* AppKit.framework in Frameworks */,
+				722954C91D04EA5C00ECF9CA /* Foundation.framework in Frameworks */,
+				722954CB1D04EA6900ECF9CA /* Security.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		726B2B5A1C645FC900388755 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		8DC2EF560486A6940098B216 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				1495006E195FCE1100BC5B5B /* AppKit.framework in Frameworks */,
+				1495006F195FCE1800BC5B5B /* Foundation.framework in Frameworks */,
+				61177A1F0D1112E900749C97 /* IOKit.framework in Frameworks */,
+				EA4311FF229D662600A5503D /* libbsdiff.a in Frameworks */,
+				5D06E8FD0FD68D6B005AE3F6 /* libbz2.dylib in Frameworks */,
+				EA4311E4229D643300A5503D /* libed25519.a in Frameworks */,
+				5D1AF58A0FD7678C0065DB48 /* libxar.1.dylib in Frameworks */,
+				5D1AF82B0FD768180065DB48 /* libz.dylib in Frameworks */,
+				61B5F8F709C4CEB300B25A18 /* Security.framework in Frameworks */,
+				55C14F32136EFC2400649790 /* SystemConfiguration.framework in Frameworks */,
+				61B5FC4C09C4FD5E00B25A18 /* WebKit.framework in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		EA43119E229D5FBC00A5503D /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		EA4311E8229D651300A5503D /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		034768DFFF38A50411DB9C8B /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				5D06E8D00FD68C7C005AE3F6 /* BinaryDelta */,
+				722954B41D04ADAF00ECF9CA /* fileop */,
+				5AE13FB31E0D9E07000D2C2C /* generate_appcast */,
+				5AB8F19F214DA72000A1187F /* generate_keys */,
+				5A5ADED7214EDE4900DF0099 /* sign_update */,
+				55C14BB7136EEF1500649790 /* Autoupdate.app */,
+				EA4311EA229D651300A5503D /* libbsdiff.a */,
+				EA4311A0229D5FBC00A5503D /* libed25519.a */,
+				61B5F90209C4CEE200B25A18 /* Sparkle Test App.app */,
+				612279D90DB5470200AB99EA /* Sparkle Unit Tests.xctest */,
+				8DC2EF5B0486A6940098B216 /* Sparkle.framework */,
+				726B2B5D1C645FC900388755 /* UI Tests.xctest */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		0867D691FE84028FC02AAC07 /* Sparkle */ = {
+			isa = PBXGroup;
+			children = (
+				5AA96C561E0AE0DB00CA4346 /* generate_appcast */,
+				1495006D195FBBBD00BC5B5B /* Sparkle */,
+				14732BB81960EEB600593899 /* Resources */,
+				61227A100DB5484000AB99EA /* Tests */,
+				61B5F91D09C4CF7F00B25A18 /* Test Application */,
+				14732BB51960ECBA00593899 /* Vendor */,
+				1420DE391962322200203BB0 /* Documentation */,
+				FA1941C40D94A6EA00DD942E /* Configurations */,
+				726B2B5E1C645FC900388755 /* UITests */,
+				5AB8F1A0214DA72000A1187F /* generate_keys */,
+				5A5ADED8214EDE4900DF0099 /* sign_update */,
+				0867D69AFE84028FC02AAC07 /* Frameworks */,
+				034768DFFF38A50411DB9C8B /* Products */,
+			);
+			name = Sparkle;
+			sourceTree = "<group>";
+			usesTabs = 0;
+		};
+		0867D69AFE84028FC02AAC07 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				0867D6A5FE840307C02AAC07 /* AppKit.framework */,
+				525A278F133D6AE900FD8D70 /* Cocoa.framework */,
+				0867D69BFE84028FC02AAC07 /* Foundation.framework */,
+				6117796E0D1112E000749C97 /* IOKit.framework */,
+				5D06E8FB0FD68D61005AE3F6 /* libbz2.dylib */,
+				5AE13FBC1E0DA39B000D2C2C /* libbz2.tbd */,
+				5D1AF5890FD7678C0065DB48 /* libxar.1.dylib */,
+				5AAD006B1E0C2DBF00AF411E /* libxar.tbd */,
+				5D1AF58F0FD767AD0065DB48 /* libxml2.dylib */,
+				5D1AF5990FD767E50065DB48 /* libz.dylib */,
+				61B5F8F609C4CEB300B25A18 /* Security.framework */,
+				55C14F31136EFC2400649790 /* SystemConfiguration.framework */,
+				61B5FC3F09C4FD4000B25A18 /* WebKit.framework */,
+				14732BD219610A1800593899 /* XCTest.framework */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		089C1665FE841158C02AAC07 /* Framework Resources */ = {
+			isa = PBXGroup;
+			children = (
+				72E1D82125A3E40F0001BA6D /* ReleaseNotesColorStyle.css */,
+				8DC2EF5A0486A6940098B216 /* Sparkle-Info.plist */,
+				61AAE8220A321A7F00D8810D /* Sparkle.strings */,
+				55C14BD8136EF00C00649790 /* SUStatus.xib */,
+				723ABA8C259A593900BDB4FA /* SUAutomaticUpdateAlert.xib */,
+				723ABA51259A579D00BDB4FA /* SUUpdateAlert.xib */,
+				723ABAC7259A5A2300BDB4FA /* SUUpdatePermissionPrompt.xib */,
+			);
+			name = "Framework Resources";
+			sourceTree = "<group>";
+		};
+		1420DE391962322200203BB0 /* Documentation */ = {
+			isa = PBXGroup;
+			children = (
+				1420DF4E196247B500203BB0 /* Doxyfile */,
+				1420DF4D196247B500203BB0 /* build-docs.sh */,
+			);
+			path = Documentation;
+			sourceTree = "<group>";
+		};
+		14732BB51960ECBA00593899 /* Vendor */ = {
+			isa = PBXGroup;
+			children = (
+				14732BB61960ECE800593899 /* bsdiff */,
+				5AB8F16E214D560700A1187F /* ed25519 */,
+			);
+			path = Vendor;
+			sourceTree = "<group>";
+		};
+		14732BB61960ECE800593899 /* bsdiff */ = {
+			isa = PBXGroup;
+			children = (
+				723B252B1CEAB3A600909873 /* bscommon.c */,
+				723B252C1CEAB3A600909873 /* bscommon.h */,
+				5D06E8DB0FD68CB9005AE3F6 /* bsdiff.c */,
+				5D06E8DC0FD68CB9005AE3F6 /* bspatch.c */,
+				611142E810FB1BE5009810AA /* bspatch.h */,
+				7223E7611AD1AEFF008E3161 /* sais.c */,
+				7223E7621AD1AEFF008E3161 /* sais.h */,
+			);
+			path = bsdiff;
+			sourceTree = "<group>";
+		};
+		14732BB81960EEB600593899 /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				14732BBA1960EF7100593899 /* CHANGELOG */,
+				61C268090E2DB5D000175E6C /* LICENSE */,
+				14732BC11960F3B200593899 /* Makefile */,
+				5AE7E10E1DC81ACA009C2C12 /* AppIcon.icns */,
+				147D6D9E1B66DC3C006607AB /* CheckLocalizations.swift */,
+				1420DF4F196247F900203BB0 /* Images.xcassets */,
+				14732BBC1960EFB500593899 /* README.markdown */,
+				14732BB91960EEEE00593899 /* SampleAppcast.xml */,
+				615AE3CF0D64DC40001CA7BD /* SUModelTranslation.plist */,
+			);
+			path = Resources;
+			sourceTree = "<group>";
+		};
+		1495006D195FBBBD00BC5B5B /* Sparkle */ = {
+			isa = PBXGroup;
+			children = (
+				61299B3909CB055000B7442F /* Appcast Support */,
+				55C14BD5136EEFD000649790 /* Autoupdate */,
+				34074B8B1FEABCE7001CB3A5 /* Downloader */,
+				089C1665FE841158C02AAC07 /* Framework Resources */,
+				618FA6DB0DB485440026945C /* Installation */,
+				61B5F8F309C4CE5900B25A18 /* Other Sources */,
+				5AF04874214D2E2800B5789F /* Signatures */,
+				6101354A0DD25B7F0049ACDF /* Unarchiving */,
+				61F83F6E0DBFE07A006FDD30 /* Update Control */,
+				61299B3A09CB056100B7442F /* User Interface */,
+				720767D01E2E3DD300F9A850 /* AppKitPrevention.h */,
+			);
+			path = Sparkle;
+			sourceTree = "<group>";
+		};
+		14958C7019AEBE350061B14F /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				14958C6B19AEBC530061B14F /* signed-test-file.txt */,
+				72AC6B2D1B9B218C00F62325 /* SparkleTestCodeSignApp.dmg */,
+				C23E88591BE7AF890050BB73 /* SparkleTestCodeSignApp.enc.dmg */,
+				72AC6B271B9AAD6700F62325 /* SparkleTestCodeSignApp.tar */,
+				72AC6B291B9AAF3A00F62325 /* SparkleTestCodeSignApp.tar.bz2 */,
+				72AC6B251B9AAC8800F62325 /* SparkleTestCodeSignApp.tar.gz */,
+				72AC6B2B1B9AB0EE00F62325 /* SparkleTestCodeSignApp.tar.xz */,
+				F8761EB21ADC50EB000C9034 /* SparkleTestCodeSignApp.zip */,
+				14958C6C19AEBC610061B14F /* test-pubkey.pem */,
+				5AF6C74E1AEA46D10014A3AB /* test.pkg */,
+				721D5B6825C69A6900D23BEA /* test.sparkle_interactive.pkg */,
+				5AD0FA7E1C73F2E2004BCEFF /* testappcast.xml */,
+				5F1510A11C96E591006E1629 /* testnamespaces.xml */,
+				4444E78E237B047B00CBB3CF /* testlocalizedreleasenotesappcast.xml */,
+			);
+			path = Resources;
+			sourceTree = "<group>";
+		};
+		34074B8B1FEABCE7001CB3A5 /* Downloader */ = {
+			isa = PBXGroup;
+			children = (
+				34074B9D1FEABD5A001CB3A5 /* SPUDownloadData.h */,
+				34074B9C1FEABD5A001CB3A5 /* SPUDownloadData.m */,
+				34074B8D1FEABD08001CB3A5 /* SPUDownloader.h */,
+				34074B8C1FEABD08001CB3A5 /* SPUDownloader.m */,
+				34074BA41FEAC0BC001CB3A5 /* SPUDownloader_Private.h */,
+				34074B8E1FEABD08001CB3A5 /* SPUDownloaderDelegate.h */,
+				34074B8F1FEABD08001CB3A5 /* SPUDownloaderProtocol.h */,
+				34074BA01FEABFD2001CB3A5 /* SPUDownloaderSession.h */,
+				34074BA11FEABFD2001CB3A5 /* SPUDownloaderSession.m */,
+				34074B941FEABD23001CB3A5 /* SPULocalCacheDirectory.h */,
+				34074B951FEABD23001CB3A5 /* SPULocalCacheDirectory.m */,
+				34074B991FEABD49001CB3A5 /* SPUURLRequest.h */,
+				34074B981FEABD48001CB3A5 /* SPUURLRequest.m */,
+			);
+			name = Downloader;
+			sourceTree = "<group>";
+		};
+		55C14BD5136EEFD000649790 /* Autoupdate */ = {
+			isa = PBXGroup;
+			children = (
+				722954B51D04ADAF00ECF9CA /* fileop */,
+				55C14BB9136EEF1500649790 /* Autoupdate-Info.plist */,
+				55C14BD3136EEFCE00649790 /* Autoupdate.m */,
+				720767CD1E2DC37400F9A850 /* TerminationListener.h */,
+				720767CE1E2DC37400F9A850 /* TerminationListener.m */,
+			);
+			path = Autoupdate;
+			sourceTree = "<group>";
+		};
+		5A5ADED8214EDE4900DF0099 /* sign_update */ = {
+			isa = PBXGroup;
+			children = (
+				5A5ADED9214EDE4900DF0099 /* main.swift */,
+			);
+			path = sign_update;
+			sourceTree = "<group>";
+		};
+		5AA96C561E0AE0DB00CA4346 /* generate_appcast */ = {
+			isa = PBXGroup;
+			children = (
+				5AA96C5D1E0AE0F900CA4346 /* Appcast-Bridging-Header.h */,
+				5AE13F9F1E0D4F65000D2C2C /* Appcast.swift */,
+				5AAD00511E0BE6BE00AF411E /* ArchiveItem.swift */,
+				5A5AC5371E0C6D3000998119 /* FeedXML.swift */,
+				5AA96C571E0AE0DB00CA4346 /* main.swift */,
+				5AE13F771E0C9B12000D2C2C /* Signatures.swift */,
+				5A5AC5351E0C6CA300998119 /* Unarchive.swift */,
+				B2D3F864245CEA24009BA78C /* URL+Hashing.swift */,
+			);
+			path = generate_appcast;
+			sourceTree = "<group>";
+		};
+		5AB8F16E214D560700A1187F /* ed25519 */ = {
+			isa = PBXGroup;
+			children = (
+				5AB8F171214D564A00A1187F /* add_scalar.c */,
+				5AB8F174214D564B00A1187F /* ed25519.h */,
+				5AB8F17C214D564B00A1187F /* fe.c */,
+				5AB8F173214D564B00A1187F /* fe.h */,
+				5AB8F179214D564B00A1187F /* fixedint.h */,
+				5AB8F175214D564B00A1187F /* ge.c */,
+				5AB8F17A214D564B00A1187F /* ge.h */,
+				5AB8F178214D564B00A1187F /* key_exchange.c */,
+				5AB8F17F214D564C00A1187F /* keypair.c */,
+				5AB8F176214D564B00A1187F /* precomp_data.h */,
+				5AB8F16F214D564A00A1187F /* sc.c */,
+				5AB8F17E214D564B00A1187F /* sc.h */,
+				5AB8F17B214D564B00A1187F /* seed.c */,
+				5AB8F172214D564B00A1187F /* sha512.c */,
+				5AB8F170214D564A00A1187F /* sha512.h */,
+				5AB8F17D214D564B00A1187F /* sign.c */,
+				5AB8F177214D564B00A1187F /* verify.c */,
+			);
+			name = ed25519;
+			path = ed25519/src;
+			sourceTree = "<group>";
+		};
+		5AB8F1A0214DA72000A1187F /* generate_keys */ = {
+			isa = PBXGroup;
+			children = (
+				5AB8F1AB214DA8F200A1187F /* Bridging-Header.h */,
+				5AB8F1A1214DA72000A1187F /* main.swift */,
+			);
+			path = generate_keys;
+			sourceTree = "<group>";
+		};
+		5AF04874214D2E2800B5789F /* Signatures */ = {
+			isa = PBXGroup;
+			children = (
+				5AF04875214D2E5F00B5789F /* SUSignatures.h */,
+				5AF04876214D2E5F00B5789F /* SUSignatures.m */,
+			);
+			name = Signatures;
+			sourceTree = "<group>";
+		};
+		5D06E8D90FD68C95005AE3F6 /* Binary Delta */ = {
+			isa = PBXGroup;
+			children = (
+				5D06E8DF0FD68CC7005AE3F6 /* SUBinaryDeltaApply.h */,
+				5D06E8E00FD68CC7005AE3F6 /* SUBinaryDeltaApply.m */,
+				5D06E8E10FD68CC7005AE3F6 /* SUBinaryDeltaCommon.h */,
+				5D06E8E20FD68CC7005AE3F6 /* SUBinaryDeltaCommon.m */,
+				7268AC641AD634E400C3E0C1 /* SUBinaryDeltaCreate.h */,
+				7268AC621AD634C200C3E0C1 /* SUBinaryDeltaCreate.m */,
+				5D06E8E30FD68CC7005AE3F6 /* SUBinaryDeltaTool.m */,
+				5D06E9370FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.h */,
+				5D06E9380FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.m */,
+			);
+			name = "Binary Delta";
+			sourceTree = "<group>";
+		};
+		6101354A0DD25B7F0049ACDF /* Unarchiving */ = {
+			isa = PBXGroup;
+			children = (
+				5D06E8D90FD68C95005AE3F6 /* Binary Delta */,
+				6102FE480E07803800F85D09 /* SUDiskImageUnarchiver.h */,
+				6102FE490E07803800F85D09 /* SUDiskImageUnarchiver.m */,
+				6102FE440E077FCE00F85D09 /* SUPipedUnarchiver.h */,
+				6129C0B90E0B79810062CE76 /* SUPipedUnarchiver.m */,
+				721D5B5925C6940400D23BEA /* SUFlatPackageUnarchiver.h */,
+				721D5B5825C6940400D23BEA /* SUFlatPackageUnarchiver.m */,
+				61299A8B09CA790200B7442F /* SUUnarchiver.h */,
+				61299A8C09CA790200B7442F /* SUUnarchiver.m */,
+				722589D81E0B19F4005EA0B9 /* SUUnarchiverNotifier.h */,
+				722589D91E0B19F4005EA0B9 /* SUUnarchiverNotifier.m */,
+				722589D61E0AD86B005EA0B9 /* SUUnarchiverProtocol.h */,
+			);
+			name = Unarchiving;
+			sourceTree = "<group>";
+		};
+		61227A100DB5484000AB99EA /* Tests */ = {
+			isa = PBXGroup;
+			children = (
+				14958C7019AEBE350061B14F /* Resources */,
+				72AFC6121B9A944200F6B565 /* Sparkle Unit Tests-Bridging-Header.h */,
+				612279DA0DB5470200AB99EA /* SparkleTests-Info.plist */,
+				342731461FF58E4F00285FBD /* SPUDownloaderTest.swift */,
+				5AA4DCD01C73E5510078F128 /* SUAppcastTest.swift */,
+				142E0E0819A83AAC00E4312B /* SUBinaryDeltaTest.m */,
+				F8761EB01ADC5068000C9034 /* SUCodeSigningVerifierTest.m */,
+				5AF9DC3B1981DBEE001EA135 /* SUDSAVerifierTest.m */,
+				72A4A23F1BB6567D00E7820D /* SUFileManagerTest.swift */,
+				5AF6C74C1AEA40760014A3AB /* SUInstallerTest.m */,
+				723A920D1D722438004A9DED /* SUSpotlightImporterTest.swift */,
+				7210C7671B9A9A1500EB90AC /* SUUnarchiverTest.swift */,
+				14950074195FDF5900BC5B5B /* SUUpdaterTest.m */,
+				61227A150DB548B800AB99EA /* SUVersionComparisonTest.m */,
+			);
+			path = Tests;
+			sourceTree = "<group>";
+		};
+		61299B3909CB055000B7442F /* Appcast Support */ = {
+			isa = PBXGroup;
+			children = (
+				61B5FB9409C4F04600B25A18 /* SUAppcast.h */,
+				61B5FB9509C4F04600B25A18 /* SUAppcast.m */,
+				61B5FC5309C5182000B25A18 /* SUAppcastItem.h */,
+				61B5FC5409C5182000B25A18 /* SUAppcastItem.m */,
+				61A225A20D1C4AC000430CCD /* SUStandardVersionComparator.h */,
+				61A225A30D1C4AC000430CCD /* SUStandardVersionComparator.m */,
+				61A2279A0D1CEE7600430CCD /* SUSystemProfiler.h */,
+				61A2279B0D1CEE7600430CCD /* SUSystemProfiler.m */,
+				61A2259C0D1C495D00430CCD /* SUVersionComparisonProtocol.h */,
+				3772FEA813DE0B6B00F79537 /* SUVersionDisplayProtocol.h */,
+			);
+			name = "Appcast Support";
+			sourceTree = "<group>";
+		};
+		61299B3A09CB056100B7442F /* User Interface */ = {
+			isa = PBXGroup;
+			children = (
+				6120721009CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.h */,
+				6120721109CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.m */,
+				6196CFE309C71ADE000DC222 /* SUStatusController.h */,
+				6196CFE409C71ADE000DC222 /* SUStatusController.m */,
+				E1545EC31E1D7E0200FAECE8 /* SUTouchBarButtonGroup.h */,
+				E1545EC41E1D7E0200FAECE8 /* SUTouchBarButtonGroup.m */,
+				E19CA4901E2E7E4D009D4D18 /* SUTouchBarForwardDeclarations.h */,
+				61B5FCA009C5228F00B25A18 /* SUUpdateAlert.h */,
+				61B5FCA109C5228F00B25A18 /* SUUpdateAlert.m */,
+				72E1D7F025A3E3B50001BA6D /* Web View */,
+				612DCBAD0D488BC60015DBEA /* SUUpdatePermissionPrompt.h */,
+				612DCBAE0D488BC60015DBEA /* SUUpdatePermissionPrompt.m */,
+				7205C42F1E1215AD00E370AE /* SUUpdatePermissionResponse.h */,
+				7205C4301E1215AD00E370AE /* SUUpdatePermissionResponse.m */,
+			);
+			name = "User Interface";
+			sourceTree = "<group>";
+		};
+		618FA6DB0DB485440026945C /* Installation */ = {
+			isa = PBXGroup;
+			children = (
+				7275F9BF1B5F1F2900B1D19E /* SUFileManager.h */,
+				7275F9C01B5F1F2900B1D19E /* SUFileManager.m */,
+				767B61AA1972D488004E0C3C /* SUGuidedPackageInstaller.h */,
+				767B61AB1972D488004E0C3C /* SUGuidedPackageInstaller.m */,
+				618FA4FF0DAE88B40026945C /* SUInstaller.h */,
+				618FA5000DAE88B40026945C /* SUInstaller.m */,
+				7205C42E1E11A6DA00E370AE /* SUInstallerProtocol.h */,
+				618FA5200DAE8E8A0026945C /* SUPackageInstaller.h */,
+				618FA5210DAE8E8A0026945C /* SUPackageInstaller.m */,
+				618FA5030DAE8AB80026945C /* SUPlainInstaller.h */,
+				618FA5040DAE8AB80026945C /* SUPlainInstaller.m */,
+			);
+			name = Installation;
+			sourceTree = "<group>";
+		};
+		61B5F8F309C4CE5900B25A18 /* Other Sources */ = {
+			isa = PBXGroup;
+			children = (
+				61299B3509CB04E000B7442F /* Sparkle.h */,
+				72316BDC1E0E17910039EFD9 /* SUApplicationInfo.h */,
+				72316BDD1E0E17910039EFD9 /* SUApplicationInfo.m */,
+				72316BD71E0E17180039EFD9 /* SUBundleIcon.h */,
+				72316BD81E0E17180039EFD9 /* SUBundleIcon.m */,
+				61299A5B09CA6D4500B7442F /* SUConstants.h */,
+				61299A5F09CA6EB100B7442F /* SUConstants.m */,
+				55E6F33219EC9F6C00005E76 /* SUErrors.h */,
+				14652F8319A9759F00959E44 /* SUExport.h */,
+				61EF67580E25C5B400F754E0 /* SUHost.h */,
+				61EF67550E25B58D00F754E0 /* SUHost.m */,
+				72316BD51E0DBF730039EFD9 /* SULocalizations.h */,
+				55C14F04136EF6DB00649790 /* SULog.h */,
+				55C14F05136EF6DB00649790 /* SULog.m */,
+				726F2CE31BC9C33D001971A4 /* SUOperatingSystem.h */,
+				726F2CE41BC9C33D001971A4 /* SUOperatingSystem.m */,
+				72316BE11E0E1C7F0039EFD9 /* SUSystemUpdateInfo.h */,
+				72316BE21E0E1C7F0039EFD9 /* SUSystemUpdateInfo.m */,
+			);
+			includeInIndex = 1;
+			name = "Other Sources";
+			sourceTree = "<group>";
+		};
+		61B5F91D09C4CF7F00B25A18 /* Test Application */ = {
+			isa = PBXGroup;
+			children = (
+				61B5F92409C4CFC900B25A18 /* main.m */,
+				723ABB87259A5FFC00BDB4FA /* InfoPlist.strings */,
+				61B5F92C09C4CFD800B25A18 /* MainMenu.xib */,
+				72E45CFB1B641961005C701A /* sparkletestcast.xml */,
+				72E45CF11B640CDD005C701A /* SUTestApplicationDelegate.h */,
+				72E45CF21B640CDD005C701A /* SUTestApplicationDelegate.m */,
+				A5BF4F1B1BC7668B007A052A /* SUTestWebServer.h */,
+				A5BF4F1C1BC7668B007A052A /* SUTestWebServer.m */,
+				723ABE8F259AA3B100BDB4FA /* SUAdHocCodeSigning.h */,
+				723ABE8E259AA3B100BDB4FA /* SUAdHocCodeSigning.m */,
+				72E45CF41B640DAE005C701A /* SUUpdateSettingsWindowController.h */,
+				72E45CF51B640DAE005C701A /* SUUpdateSettingsWindowController.m */,
+				72E45CF61B640DAE005C701A /* SUUpdateSettingsWindowController.xib */,
+				61B5F90409C4CEE200B25A18 /* TestApplication-Info.plist */,
+			);
+			name = "Test Application";
+			path = TestApplication;
+			sourceTree = "<group>";
+		};
+		61CFB2C10E384958007A1735 /* Support */ = {
+			isa = PBXGroup;
+			children = (
+				61B078CC15A5FB6100600039 /* SUCodeSigningVerifier.h */,
+				61B078CD15A5FB6100600039 /* SUCodeSigningVerifier.m */,
+				61299A2D09CA2DAB00B7442F /* SUSignatureVerifier.h */,
+				61299A2E09CA2DAB00B7442F /* SUSignatureVerifier.m */,
+				729924711DF3478A00DBCDF5 /* SUUpdateValidator.h */,
+				729924721DF3478A00DBCDF5 /* SUUpdateValidator.m */,
+				A3AD648B24D283F400058938 /* SUGlobalUpdateLock.h */,
+				A3AD648A24D283F400058938 /* SUGlobalUpdateLock.m */,
+			);
+			name = Support;
+			sourceTree = "<group>";
+		};
+		61CFB2C20E38496B007A1735 /* Drivers */ = {
+			isa = PBXGroup;
+			children = (
+				61B93B250DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.h */,
+				61B93B260DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.m */,
+				61F83F6F0DBFE137006FDD30 /* SUBasicUpdateDriver.h */,
+				61F83F700DBFE137006FDD30 /* SUBasicUpdateDriver.m */,
+				610134790DD2541A0049ACDF /* SUProbingUpdateDriver.h */,
+				6101347A0DD2541A0049ACDF /* SUProbingUpdateDriver.m */,
+				61B93C070DD112FF00DCD2F8 /* SUScheduledUpdateDriver.h */,
+				61B93C080DD112FF00DCD2F8 /* SUScheduledUpdateDriver.m */,
+				61B93A390DD02D6400DCD2F8 /* SUUIBasedUpdateDriver.h */,
+				61B93A3A0DD02D6400DCD2F8 /* SUUIBasedUpdateDriver.m */,
+				610134710DD250470049ACDF /* SUUpdateDriver.h */,
+				610134720DD250470049ACDF /* SUUpdateDriver.m */,
+				61A354530DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.h */,
+				61A354540DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.m */,
+			);
+			name = Drivers;
+			sourceTree = "<group>";
+		};
+		61F83F6E0DBFE07A006FDD30 /* Update Control */ = {
+			isa = PBXGroup;
+			children = (
+				61CFB2C20E38496B007A1735 /* Drivers */,
+				61CFB2C10E384958007A1735 /* Support */,
+				61B5F8E309C4CE3C00B25A18 /* SUUpdater.h */,
+				61B5F8E409C4CE3C00B25A18 /* SUUpdater.m */,
+				72316BE51E1087060039EFD9 /* SUUpdaterDelegate.h */,
+				6158A1C4137904B300487EC1 /* SUUpdaterPrivate.h */,
+			);
+			name = "Update Control";
+			sourceTree = "<group>";
+		};
+		722954B51D04ADAF00ECF9CA /* fileop */ = {
+			isa = PBXGroup;
+			children = (
+				722954B61D04ADAF00ECF9CA /* fileop.m */,
+				722954C21D04E66F00ECF9CA /* SUFileOperationConstants.h */,
+				722954C31D04E66F00ECF9CA /* SUFileOperationConstants.m */,
+			);
+			name = fileop;
+			path = ../../fileop;
+			sourceTree = "<group>";
+		};
+		726B2B5E1C645FC900388755 /* UITests */ = {
+			isa = PBXGroup;
+			children = (
+				720B16431C66433D006985FB /* SUTestApplicationTest.swift */,
+				720B16421C66433D006985FB /* UITests-Info.plist */,
+			);
+			path = UITests;
+			sourceTree = "<group>";
+		};
+		72E1D7F025A3E3B50001BA6D /* Web View */ = {
+			isa = PBXGroup;
+			children = (
+				72E1D7D925A3E3AC0001BA6D /* SUWebView.h */,
+				72E1D7D725A3E3AC0001BA6D /* SUWebViewCommon.h */,
+				72E1D7D625A3E3AC0001BA6D /* SUWebViewCommon.m */,
+				72E1D7D825A3E3AC0001BA6D /* SUWKWebView.h */,
+				72E1D7DB25A3E3AD0001BA6D /* SUWKWebView.m */,
+				72E1D7DC25A3E3AD0001BA6D /* SULegacyWebView.h */,
+				72E1D7DA25A3E3AC0001BA6D /* SULegacyWebView.m */,
+			);
+			name = "Web View";
+			sourceTree = "<group>";
+		};
+		FA1941C40D94A6EA00DD942E /* Configurations */ = {
+			isa = PBXGroup;
+			children = (
+				14732BB1195FF6B700593899 /* .clang-format */,
+				EA4311FA229D656700A5503D /* bsdiff-Debug.xcconfig */,
+				EA4311FB229D657A00A5503D /* bsdiff-Release.xcconfig */,
+				EA4311F9229D655E00A5503D /* bsdiff-Shared.xcconfig */,
+				5D06E8F10FD68D21005AE3F6 /* ConfigBinaryDelta.xcconfig */,
+				5D06E8F20FD68D21005AE3F6 /* ConfigBinaryDeltaDebug.xcconfig */,
+				5D06E8F30FD68D21005AE3F6 /* ConfigBinaryDeltaRelease.xcconfig */,
+				FA1941D00D94A70100DD942E /* ConfigCommon.xcconfig */,
+				FA1941CF0D94A70100DD942E /* ConfigCommonDebug.xcconfig */,
+				FA1941CC0D94A70100DD942E /* ConfigCommonRelease.xcconfig */,
+				722954C81D04E89500ECF9CA /* ConfigFileop.xcconfig */,
+				FA1941D10D94A70100DD942E /* ConfigFramework.xcconfig */,
+				FA1941CA0D94A70100DD942E /* ConfigFrameworkDebug.xcconfig */,
+				FA1941D50D94A70100DD942E /* ConfigFrameworkRelease.xcconfig */,
+				7205C4331E12C23C00E370AE /* ConfigGenerateAppcast.xcconfig */,
+				7205C4351E12CA7000E370AE /* ConfigGenerateAppcastDebug.xcconfig */,
+				7205C4341E12C66D00E370AE /* ConfigGenerateAppcastRelease.xcconfig */,
+				5AB8F1A8214DA85900A1187F /* ConfigGenerateKeys.xcconfig */,
+				5AB8F1AA214DA85900A1187F /* ConfigGenerateKeysDebug.xcconfig */,
+				5AB8F1A9214DA85900A1187F /* ConfigGenerateKeysRelease.xcconfig */,
+				FA1941CE0D94A70100DD942E /* ConfigRelaunch.xcconfig */,
+				FA1941D30D94A70100DD942E /* ConfigRelaunchDebug.xcconfig */,
+				FA1941D40D94A70100DD942E /* ConfigRelaunchRelease.xcconfig */,
+				722FB7471DD51331001D40CE /* ConfigSwift.xcconfig */,
+				722FB7481DD51350001D40CE /* ConfigSwiftDebug.xcconfig */,
+				722FB7491DD51350001D40CE /* ConfigSwiftRelease.xcconfig */,
+				FA1941CD0D94A70100DD942E /* ConfigTestApp.xcconfig */,
+				FA1941CB0D94A70100DD942E /* ConfigTestAppDebug.xcconfig */,
+				FA1941D20D94A70100DD942E /* ConfigTestAppRelease.xcconfig */,
+				729F10FD1C65A9B500DFCCC5 /* ConfigUITest.xcconfig */,
+				729F10FF1C65A9B500DFCCC5 /* ConfigUITestDebug.xcconfig */,
+				729F11001C65A9B500DFCCC5 /* ConfigUITestRelease.xcconfig */,
+				FA3AAF3B1050B273004B3130 /* ConfigUnitTest.xcconfig */,
+				FA3AAF3A1050B273004B3130 /* ConfigUnitTestDebug.xcconfig */,
+				FA3AAF391050B273004B3130 /* ConfigUnitTestRelease.xcconfig */,
+				EA4311C9229D614300A5503D /* ed25519-Debug.xcconfig */,
+				EA4311C8229D613B00A5503D /* ed25519-Release.xcconfig */,
+				EA4311C7229D612A00A5503D /* ed25519-Shared.xcconfig */,
+				14732BC91960F70A00593899 /* make-release-package.sh */,
+				14652F7919A93E5F00959E44 /* set-git-version-info.sh */,
+				146EC84E19A68CF8004A50C5 /* Sparkle.podspec */,
+			);
+			path = Configurations;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+		8DC2EF500486A6940098B216 /* Headers */ = {
+			isa = PBXHeadersBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				723B25301CEAB3A600909873 /* bscommon.h in Headers */,
+				611142E910FB1BE5009810AA /* bspatch.h in Headers */,
+				5AB8F185214D564C00A1187F /* ed25519.h in Headers */,
+				5AB8F184214D564C00A1187F /* fe.h in Headers */,
+				A3AD648D24D283F400058938 /* SUGlobalUpdateLock.h in Headers */,
+				72E1D7E325A3E3AD0001BA6D /* SULegacyWebView.h in Headers */,
+				5AB8F18A214D564C00A1187F /* fixedint.h in Headers */,
+				5AB8F18B214D564C00A1187F /* ge.h in Headers */,
+				72E1D7DE25A3E3AD0001BA6D /* SUWebViewCommon.h in Headers */,
+				5AB8F187214D564C00A1187F /* precomp_data.h in Headers */,
+				5AB8F18F214D564C00A1187F /* sc.h in Headers */,
+				721D5B5B25C6940400D23BEA /* SUFlatPackageUnarchiver.h in Headers */,
+				5AB8F181214D564C00A1187F /* sha512.h in Headers */,
+				61299B3609CB04E000B7442F /* Sparkle.h in Headers */,
+				34074B9F1FEABD5A001CB3A5 /* SPUDownloadData.h in Headers */,
+				34074B911FEABD08001CB3A5 /* SPUDownloader.h in Headers */,
+				34074B921FEABD08001CB3A5 /* SPUDownloaderDelegate.h in Headers */,
+				34074B931FEABD08001CB3A5 /* SPUDownloaderProtocol.h in Headers */,
+				34074BA21FEABFD2001CB3A5 /* SPUDownloaderSession.h in Headers */,
+				34074B961FEABD24001CB3A5 /* SPULocalCacheDirectory.h in Headers */,
+				34074B9B1FEABD49001CB3A5 /* SPUURLRequest.h in Headers */,
+				61B5FC0D09C4FC8200B25A18 /* SUAppcast.h in Headers */,
+				72E1D7E025A3E3AD0001BA6D /* SUWebView.h in Headers */,
+				61B5FC7009C51F4A00B25A18 /* SUAppcastItem.h in Headers */,
+				72316BDE1E0E17910039EFD9 /* SUApplicationInfo.h in Headers */,
+				6120721209CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.h in Headers */,
+				61B93B270DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.h in Headers */,
+				61F83F740DBFE141006FDD30 /* SUBasicUpdateDriver.h in Headers */,
+				5D06E9390FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.h in Headers */,
+				72316BD91E0E17180039EFD9 /* SUBundleIcon.h in Headers */,
+				61B078CE15A5FB6100600039 /* SUCodeSigningVerifier.h in Headers */,
+				61299A5C09CA6D4500B7442F /* SUConstants.h in Headers */,
+				6102FE4A0E07803800F85D09 /* SUDiskImageUnarchiver.h in Headers */,
+				55E6F33319EC9F6C00005E76 /* SUErrors.h in Headers */,
+				14652F8419A978C200959E44 /* SUExport.h in Headers */,
+				7275F9C11B5F1F2900B1D19E /* SUFileManager.h in Headers */,
+				722954C41D04E66F00ECF9CA /* SUFileOperationConstants.h in Headers */,
+				72E1D7DF25A3E3AD0001BA6D /* SUWKWebView.h in Headers */,
+				767B61AC1972D488004E0C3C /* SUGuidedPackageInstaller.h in Headers */,
+				61EF67590E25C5B400F754E0 /* SUHost.h in Headers */,
+				618FA5010DAE88B40026945C /* SUInstaller.h in Headers */,
+				72316BD61E0DBF730039EFD9 /* SULocalizations.h in Headers */,
+				55C14F06136EF6DB00649790 /* SULog.h in Headers */,
+				726F2CE51BC9C33D001971A4 /* SUOperatingSystem.h in Headers */,
+				618FA5220DAE8E8A0026945C /* SUPackageInstaller.h in Headers */,
+				6102FE460E077FCE00F85D09 /* SUPipedUnarchiver.h in Headers */,
+				618FA5050DAE8AB80026945C /* SUPlainInstaller.h in Headers */,
+				6101347B0DD2541A0049ACDF /* SUProbingUpdateDriver.h in Headers */,
+				61B93C090DD112FF00DCD2F8 /* SUScheduledUpdateDriver.h in Headers */,
+				5AF04877214D2E5F00B5789F /* SUSignatures.h in Headers */,
+				61299A2F09CA2DAB00B7442F /* SUSignatureVerifier.h in Headers */,
+				61A225A40D1C4AC000430CCD /* SUStandardVersionComparator.h in Headers */,
+				6196CFF909C72148000DC222 /* SUStatusController.h in Headers */,
+				61A2279C0D1CEE7600430CCD /* SUSystemProfiler.h in Headers */,
+				72316BE31E0E1C7F0039EFD9 /* SUSystemUpdateInfo.h in Headers */,
+				E1545EC51E1D7E0200FAECE8 /* SUTouchBarButtonGroup.h in Headers */,
+				61B93A3C0DD02D7000DCD2F8 /* SUUIBasedUpdateDriver.h in Headers */,
+				61299A8D09CA790200B7442F /* SUUnarchiver.h in Headers */,
+				722589DA1E0B19F4005EA0B9 /* SUUnarchiverNotifier.h in Headers */,
+				722589D71E0AD86B005EA0B9 /* SUUnarchiverProtocol.h in Headers */,
+				61B5FCDF09C52A9F00B25A18 /* SUUpdateAlert.h in Headers */,
+				610134730DD250470049ACDF /* SUUpdateDriver.h in Headers */,
+				612DCBAF0D488BC60015DBEA /* SUUpdatePermissionPrompt.h in Headers */,
+				7205C4311E1215AD00E370AE /* SUUpdatePermissionResponse.h in Headers */,
+				61B5F8ED09C4CE3C00B25A18 /* SUUpdater.h in Headers */,
+				72316BE61E1087060039EFD9 /* SUUpdaterDelegate.h in Headers */,
+				6158A1C5137904B300487EC1 /* SUUpdaterPrivate.h in Headers */,
+				729924731DF3478A00DBCDF5 /* SUUpdateValidator.h in Headers */,
+				61A354550DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.h in Headers */,
+				61A2259E0D1C495D00430CCD /* SUVersionComparisonProtocol.h in Headers */,
+				3772FEA913DE0B6B00F79537 /* SUVersionDisplayProtocol.h in Headers */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXLegacyTarget section */
+		1420DF491962329200203BB0 /* Documentation */ = {
+			isa = PBXLegacyTarget;
+			buildArgumentsString = "\"$(SRCROOT)/Documentation/build-docs.sh\" $(ACTION)";
+			buildConfigurationList = 1420DF4A1962329200203BB0 /* Build configuration list for PBXLegacyTarget "Documentation" */;
+			buildPhases = (
+			);
+			buildToolPath = bash;
+			buildWorkingDirectory = "";
+			dependencies = (
+			);
+			name = Documentation;
+			passBuildSettingsInEnvironment = 1;
+			productName = Documentation;
+		};
+		14732BC51960F69300593899 /* Distribution */ = {
+			isa = PBXLegacyTarget;
+			buildArgumentsString = "$(SRCROOT)/Configurations/make-release-package.sh $(ACTION)";
+			buildConfigurationList = 14732BC61960F69300593899 /* Build configuration list for PBXLegacyTarget "Distribution" */;
+			buildPhases = (
+			);
+			buildToolPath = bash;
+			buildWorkingDirectory = "";
+			dependencies = (
+				5A5ADEEC214EE65C00DF0099 /* PBXTargetDependency */,
+				5A5ADEEA214EE65A00DF0099 /* PBXTargetDependency */,
+				5AE13FA81E0D7E1C000D2C2C /* PBXTargetDependency */,
+				14732BCB1960F73500593899 /* PBXTargetDependency */,
+				1454BA1619637EDB00344E57 /* PBXTargetDependency */,
+				14732BCF1960F73500593899 /* PBXTargetDependency */,
+				895C5DBF24D764DD0058A82D /* PBXTargetDependency */,
+				1454BA1819637EE900344E57 /* PBXTargetDependency */,
+			);
+			name = Distribution;
+			passBuildSettingsInEnvironment = 1;
+			productName = Distribution;
+		};
+/* End PBXLegacyTarget section */
+
+/* Begin PBXNativeTarget section */
+		55C14BB6136EEF1500649790 /* Autoupdate */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 55C14BBE136EEF1500649790 /* Build configuration list for PBXNativeTarget "Autoupdate" */;
+			buildPhases = (
+				55C14BB3136EEF1500649790 /* Resources */,
+				55C14BB4136EEF1500649790 /* Sources */,
+				55C14BB5136EEF1500649790 /* Frameworks */,
+				14652F7B19A945D600959E44 /* Run Script: Set Git Version Info */,
+				722954C01D04D9D600ECF9CA /* Copy fileop */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				722954BF1D04D9CB00ECF9CA /* PBXTargetDependency */,
+			);
+			name = Autoupdate;
+			productName = Autoupdate;
+			productReference = 55C14BB7136EEF1500649790 /* Autoupdate.app */;
+			productType = "com.apple.product-type.application";
+		};
+		5A5ADED6214EDE4900DF0099 /* sign_update */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 5A5ADEDB214EDE4900DF0099 /* Build configuration list for PBXNativeTarget "sign_update" */;
+			buildPhases = (
+				5A5ADED3214EDE4900DF0099 /* Sources */,
+				5A5ADED4214EDE4900DF0099 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				5F349B6C25683CD300B015B0 /* PBXTargetDependency */,
+			);
+			name = sign_update;
+			productName = sign_update;
+			productReference = 5A5ADED7214EDE4900DF0099 /* sign_update */;
+			productType = "com.apple.product-type.tool";
+		};
+		5AA96C541E0AE0DB00CA4346 /* generate_appcast */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 5AA96C5C1E0AE0DC00CA4346 /* Build configuration list for PBXNativeTarget "generate_appcast" */;
+			buildPhases = (
+				5AA96C511E0AE0DB00CA4346 /* Sources */,
+				5AA96C521E0AE0DB00CA4346 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				5F349B6825683CCC00B015B0 /* PBXTargetDependency */,
+				5F349B6625683CCA00B015B0 /* PBXTargetDependency */,
+			);
+			name = generate_appcast;
+			productName = Appcast;
+			productReference = 5AE13FB31E0D9E07000D2C2C /* generate_appcast */;
+			productType = "com.apple.product-type.tool";
+		};
+		5AB8F19E214DA72000A1187F /* generate_keys */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 5AB8F1A3214DA72000A1187F /* Build configuration list for PBXNativeTarget "generate_keys" */;
+			buildPhases = (
+				5AB8F19B214DA72000A1187F /* Sources */,
+				5AB8F19C214DA72000A1187F /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				5F349B6A25683CD000B015B0 /* PBXTargetDependency */,
+			);
+			name = generate_keys;
+			productName = generate_keys;
+			productReference = 5AB8F19F214DA72000A1187F /* generate_keys */;
+			productType = "com.apple.product-type.tool";
+		};
+		5D06E8CF0FD68C7C005AE3F6 /* BinaryDelta */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 5D06E8DA0FD68C95005AE3F6 /* Build configuration list for PBXNativeTarget "BinaryDelta" */;
+			buildPhases = (
+				5D06E8CD0FD68C7C005AE3F6 /* Sources */,
+				5D06E8CE0FD68C7C005AE3F6 /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				5D06E8D60FD68C86005AE3F6 /* PBXTargetDependency */,
+			);
+			name = BinaryDelta;
+			productName = BinaryDelta;
+			productReference = 5D06E8D00FD68C7C005AE3F6 /* BinaryDelta */;
+			productType = "com.apple.product-type.tool";
+		};
+		612279D80DB5470200AB99EA /* Sparkle Unit Tests */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 612279DD0DB5470300AB99EA /* Build configuration list for PBXNativeTarget "Sparkle Unit Tests" */;
+			buildPhases = (
+				612279D50DB5470200AB99EA /* Sources */,
+				612279D60DB5470200AB99EA /* Frameworks */,
+				14958C6D19AEBC890061B14F /* Resources */,
+				142E0E0119A6A13300E4312B /* Copy Files */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				5F349B6425683CC300B015B0 /* PBXTargetDependency */,
+				61FA528D0E2D9EB200EF58AD /* PBXTargetDependency */,
+			);
+			name = "Sparkle Unit Tests";
+			productName = "Sparkle Unit Tests";
+			productReference = 612279D90DB5470200AB99EA /* Sparkle Unit Tests.xctest */;
+			productType = "com.apple.product-type.bundle.unit-test";
+		};
+		61B5F90109C4CEE200B25A18 /* Sparkle Test App */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 61B5F90509C4CEE300B25A18 /* Build configuration list for PBXNativeTarget "Sparkle Test App" */;
+			buildPhases = (
+				61B5F8FE09C4CEE200B25A18 /* Resources */,
+				61B5F8FF09C4CEE200B25A18 /* Sources */,
+				61B5F90009C4CEE200B25A18 /* Frameworks */,
+				61B5FB4D09C4E9FA00B25A18 /* Copy Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				61B5F91C09C4CF7200B25A18 /* PBXTargetDependency */,
+			);
+			name = "Sparkle Test App";
+			productName = "Test Application";
+			productReference = 61B5F90209C4CEE200B25A18 /* Sparkle Test App.app */;
+			productType = "com.apple.product-type.application";
+		};
+		722954B31D04ADAF00ECF9CA /* fileop */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 722954BB1D04ADAF00ECF9CA /* Build configuration list for PBXNativeTarget "fileop" */;
+			buildPhases = (
+				722954B01D04ADAF00ECF9CA /* Sources */,
+				722954B11D04ADAF00ECF9CA /* Frameworks */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = fileop;
+			productName = fileop;
+			productReference = 722954B41D04ADAF00ECF9CA /* fileop */;
+			productType = "com.apple.product-type.tool";
+		};
+		726B2B5C1C645FC900388755 /* UI Tests */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 726B2B671C645FC900388755 /* Build configuration list for PBXNativeTarget "UI Tests" */;
+			buildPhases = (
+				726B2B591C645FC900388755 /* Sources */,
+				726B2B5A1C645FC900388755 /* Frameworks */,
+				726B2B5B1C645FC900388755 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				726B2B631C645FC900388755 /* PBXTargetDependency */,
+			);
+			name = "UI Tests";
+			productName = "UI Tests";
+			productReference = 726B2B5D1C645FC900388755 /* UI Tests.xctest */;
+			productType = "com.apple.product-type.bundle.ui-testing";
+		};
+		8DC2EF4F0486A6940098B216 /* Sparkle */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Sparkle" */;
+			buildPhases = (
+				8DC2EF500486A6940098B216 /* Headers */,
+				8DC2EF520486A6940098B216 /* Resources */,
+				142E0E0319A6A24100E4312B /* CopyFiles */,
+				8DC2EF540486A6940098B216 /* Sources */,
+				8DC2EF560486A6940098B216 /* Frameworks */,
+				6131B1910DDCDE32005215F0 /* Run Script: Set Git Version Info */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+				5F349B6225683CBA00B015B0 /* PBXTargetDependency */,
+				5F349B6025683CB800B015B0 /* PBXTargetDependency */,
+				55C14F97136F044100649790 /* PBXTargetDependency */,
+			);
+			name = Sparkle;
+			productInstallPath = "$(HOME)/Library/Frameworks";
+			productName = Sparkle;
+			productReference = 8DC2EF5B0486A6940098B216 /* Sparkle.framework */;
+			productType = "com.apple.product-type.framework";
+		};
+		EA43119F229D5FBC00A5503D /* ed25519 */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = EA4311A1229D5FBC00A5503D /* Build configuration list for PBXNativeTarget "ed25519" */;
+			buildPhases = (
+				EA43119D229D5FBC00A5503D /* Sources */,
+				EA43119E229D5FBC00A5503D /* Frameworks */,
+				EA1E27FA22B60B54004AA304 /* Copy Headers */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = ed25519;
+			productName = ed25519;
+			productReference = EA4311A0229D5FBC00A5503D /* libed25519.a */;
+			productType = "com.apple.product-type.library.static";
+		};
+		EA4311E9229D651300A5503D /* bsdiff */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = EA4311EB229D651300A5503D /* Build configuration list for PBXNativeTarget "bsdiff" */;
+			buildPhases = (
+				EA4311E7229D651300A5503D /* Sources */,
+				EA4311E8229D651300A5503D /* Frameworks */,
+				EA1E27F622B60AFA004AA304 /* Copy Headers */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = bsdiff;
+			productName = bsdiff;
+			productReference = EA4311EA229D651300A5503D /* libbsdiff.a */;
+			productType = "com.apple.product-type.library.static";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		0867D690FE84028FC02AAC07 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				CLASSPREFIX = SU;
+				LastSwiftUpdateCheck = 1000;
+				LastUpgradeCheck = 1230;
+				ORGANIZATIONNAME = "Sparkle Project";
+				TargetAttributes = {
+					5A5ADED6214EDE4900DF0099 = {
+						CreatedOnToolsVersion = 10.0;
+						ProvisioningStyle = Automatic;
+					};
+					5AA96C541E0AE0DB00CA4346 = {
+						CreatedOnToolsVersion = 8.0;
+						LastSwiftMigration = 0900;
+						ProvisioningStyle = Automatic;
+					};
+					5AB8F19E214DA72000A1187F = {
+						ProvisioningStyle = Automatic;
+					};
+					612279D80DB5470200AB99EA = {
+						LastSwiftMigration = 0900;
+						TestTargetID = 8DC2EF4F0486A6940098B216;
+					};
+					722954B31D04ADAF00ECF9CA = {
+						CreatedOnToolsVersion = 7.3.1;
+					};
+					726B2B5C1C645FC900388755 = {
+						CreatedOnToolsVersion = 7.2.1;
+						LastSwiftMigration = 0800;
+						TestTargetID = 61B5F90109C4CEE200B25A18;
+					};
+					895C5DB924D75F370058A82D = {
+						CreatedOnToolsVersion = 12.0;
+					};
+					8DC2EF4F0486A6940098B216 = {
+						LastSwiftMigration = 0920;
+					};
+					EA43119F229D5FBC00A5503D = {
+						CreatedOnToolsVersion = 10.2.1;
+					};
+					EA4311E9229D651300A5503D = {
+						CreatedOnToolsVersion = 10.2.1;
+					};
+				};
+			};
+			buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Sparkle" */;
+			compatibilityVersion = "Xcode 6.3";
+			developmentRegion = en;
+			hasScannedForEncodings = 1;
+			knownRegions = (
+				zh_TW,
+				en,
+				ca,
+				cs,
+				cy,
+				da,
+				de,
+				es,
+				fi,
+				fr,
+				he,
+				hu,
+				id,
+				is,
+				it,
+				ja,
+				ko,
+				nl,
+				no,
+				pl,
+				ru,
+				sk,
+				sv,
+				th,
+				tr,
+				zh_CN,
+				pt_BR,
+				pt_PT,
+				pt,
+				ro,
+				sl,
+				uk,
+				ar,
+				nb,
+				el,
+				"zh-Hans",
+				"zh-Hant",
+				"fr-CA",
+				"pt-PT",
+				"pt-BR",
+				hr,
+				Base,
+			);
+			mainGroup = 0867D691FE84028FC02AAC07 /* Sparkle */;
+			productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				8DC2EF4F0486A6940098B216 /* Sparkle */,
+				61B5F90109C4CEE200B25A18 /* Sparkle Test App */,
+				612279D80DB5470200AB99EA /* Sparkle Unit Tests */,
+				5D06E8CF0FD68C7C005AE3F6 /* BinaryDelta */,
+				55C14BB6136EEF1500649790 /* Autoupdate */,
+				14732BC51960F69300593899 /* Distribution */,
+				1420DF491962329200203BB0 /* Documentation */,
+				1495005F195FB89400BC5B5B /* All */,
+				895C5DB924D75F370058A82D /* XCFramework */,
+				726B2B5C1C645FC900388755 /* UI Tests */,
+				722954B31D04ADAF00ECF9CA /* fileop */,
+				5AA96C541E0AE0DB00CA4346 /* generate_appcast */,
+				5AB8F19E214DA72000A1187F /* generate_keys */,
+				5A5ADED6214EDE4900DF0099 /* sign_update */,
+				EA4311E9229D651300A5503D /* bsdiff */,
+				EA43119F229D5FBC00A5503D /* ed25519 */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		14958C6D19AEBC890061B14F /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				72E641801D08D754000404CA /* fileop in Resources */,
+				14958C6E19AEBC950061B14F /* signed-test-file.txt in Resources */,
+				72AC6B2E1B9B218C00F62325 /* SparkleTestCodeSignApp.dmg in Resources */,
+				C23E885B1BE7B24F0050BB73 /* SparkleTestCodeSignApp.enc.dmg in Resources */,
+				4444E790237B057900CBB3CF /* testlocalizedreleasenotesappcast.xml in Resources */,
+				72AC6B281B9AAD6700F62325 /* SparkleTestCodeSignApp.tar in Resources */,
+				721D5B6925C69A6900D23BEA /* test.sparkle_interactive.pkg in Resources */,
+				72AC6B2A1B9AAF3A00F62325 /* SparkleTestCodeSignApp.tar.bz2 in Resources */,
+				72AC6B261B9AAC8800F62325 /* SparkleTestCodeSignApp.tar.gz in Resources */,
+				72AC6B2C1B9AB0EE00F62325 /* SparkleTestCodeSignApp.tar.xz in Resources */,
+				F8761EB31ADC50EB000C9034 /* SparkleTestCodeSignApp.zip in Resources */,
+				14958C6F19AEBC980061B14F /* test-pubkey.pem in Resources */,
+				5AF6C74F1AEA46D10014A3AB /* test.pkg in Resources */,
+				5AD0FA7F1C73F2E2004BCEFF /* testappcast.xml in Resources */,
+				5F1510A21C96E591006E1629 /* testnamespaces.xml in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		55C14BB3136EEF1500649790 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5AE7E1111DC81AD3009C2C12 /* AppIcon.icns in Resources */,
+				55C14FC7136F05E100649790 /* Sparkle.strings in Resources */,
+				55C14BD9136EF00C00649790 /* SUStatus.xib in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		61B5F8FE09C4CEE200B25A18 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				1420DF50196247F900203BB0 /* Images.xcassets in Resources */,
+				61B5F92F09C4CFD800B25A18 /* MainMenu.xib in Resources */,
+				72E45CFC1B641961005C701A /* sparkletestcast.xml in Resources */,
+				72E45CF81B640DAE005C701A /* SUUpdateSettingsWindowController.xib in Resources */,
+				723ABB89259A5FFC00BDB4FA /* InfoPlist.strings in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		726B2B5B1C645FC900388755 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		8DC2EF520486A6940098B216 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				723ABAC5259A5A2300BDB4FA /* SUUpdatePermissionPrompt.xib in Resources */,
+				723ABA8A259A593900BDB4FA /* SUAutomaticUpdateAlert.xib in Resources */,
+				61AAE8280A321A7F00D8810D /* Sparkle.strings in Resources */,
+				615AE3D00D64DC40001CA7BD /* SUModelTranslation.plist in Resources */,
+				55C14BEF136EF21700649790 /* SUStatus.xib in Resources */,
+				723ABA4F259A579D00BDB4FA /* SUUpdateAlert.xib in Resources */,
+				72E1D82225A3E40F0001BA6D /* ReleaseNotesColorStyle.css in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+		14652F7B19A945D600959E44 /* Run Script: Set Git Version Info */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+				$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH,
+			);
+			name = "Run Script: Set Git Version Info";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"$SRCROOT/Configurations/set-git-version-info.sh\"";
+			showEnvVarsInLog = 0;
+		};
+		6131B1910DDCDE32005215F0 /* Run Script: Set Git Version Info */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 12;
+			files = (
+			);
+			inputPaths = (
+				$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH,
+			);
+			name = "Run Script: Set Git Version Info";
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"$SRCROOT/Configurations/set-git-version-info.sh\"";
+			showEnvVarsInLog = 0;
+		};
+		895C5DBD24D75F590058A82D /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "# Deleting old products\nrm -rd \"$BUILT_PRODUCTS_DIR/Sparkle.xcarchive\"\nrm -rd \"$BUILT_PRODUCTS_DIR/Sparkle.xcframework\"\n\nxcodebuild archive -scheme Sparkle -archivePath \"$BUILT_PRODUCTS_DIR/Sparkle.xcarchive\" BUILD_LIBRARY_FOR_DISTRIBUTION=YES SKIP_INSTALL=NO\n\nif [ $XCODE_VERSION_MAJOR -ge \"1200\" ]; then\nxcodebuild -create-xcframework -framework \"$BUILT_PRODUCTS_DIR/Sparkle.xcarchive/Products/Library/Frameworks/Sparkle.framework\" -debug-symbols \"$BUILT_PRODUCTS_DIR/Sparkle.xcarchive/dSYMs/Sparkle.framework.dSYM\" -output \"$BUILT_PRODUCTS_DIR/Sparkle.xcframework\"\nelse\necho \"warning: Your Xcode version does not support bundling dSYMs in XCFrameworks directly. You should copy them manually into the XCFramework.\"\necho \"note: cp '$BUILT_PRODUCTS_DIR/Sparkle.xcarchive/dSYMs/Sparkle.framework.dSYM' '$BUILT_PRODUCTS_DIR/Sparkle.xcframework/your_architecture/dSYMs'\"\nxcodebuild -create-xcframework -framework \"$BUILT_PRODUCTS_DIR/Sparkle.xcarchive/Products/Library/Frameworks/Sparkle.framework\" -output \"$BUILT_PRODUCTS_DIR/Sparkle.xcframework\"\nfi\n";
+		};
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		55C14BB4136EEF1500649790 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				55C14BD4136EEFCE00649790 /* Autoupdate.m in Sources */,
+				72316BE01E0E17910039EFD9 /* SUApplicationInfo.m in Sources */,
+				72316BDB1E0E17180039EFD9 /* SUBundleIcon.m in Sources */,
+				F8761EB61ADC5E7A000C9034 /* SUCodeSigningVerifier.m in Sources */,
+				55C14F00136EF6B700649790 /* SUConstants.m in Sources */,
+				7275F9C31B5F1F2900B1D19E /* SUFileManager.m in Sources */,
+				722954C61D04E66F00ECF9CA /* SUFileOperationConstants.m in Sources */,
+				767B61AE1972D488004E0C3C /* SUGuidedPackageInstaller.m in Sources */,
+				55C14F0C136EF6EA00649790 /* SUHost.m in Sources */,
+				55C14F0D136EF6F200649790 /* SUInstaller.m in Sources */,
+				55C14F08136EF6DB00649790 /* SULog.m in Sources */,
+				726F2CE71BC9C3E2001971A4 /* SUOperatingSystem.m in Sources */,
+				55C14F24136EF86F00649790 /* SUPackageInstaller.m in Sources */,
+				55C14F21136EF84D00649790 /* SUPlainInstaller.m in Sources */,
+				5AB8F169214D4AE300A1187F /* SUSignatures.m in Sources */,
+				55C14F22136EF86000649790 /* SUStandardVersionComparator.m in Sources */,
+				55C14F20136EF84300649790 /* SUStatusController.m in Sources */,
+				55C14F23136EF86700649790 /* SUSystemProfiler.m in Sources */,
+				E1EC2A301E21667000245715 /* SUTouchBarButtonGroup.m in Sources */,
+				720767CF1E2DC37400F9A850 /* TerminationListener.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		5A5ADED3214EDE4900DF0099 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5A5ADEDA214EDE4900DF0099 /* main.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		5AA96C511E0AE0DB00CA4346 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				721D5B8625C69F4A00D23BEA /* SUFlatPackageUnarchiver.m in Sources */,
+				5AE13FA01E0D4F65000D2C2C /* Appcast.swift in Sources */,
+				5AAD00521E0BE6BE00AF411E /* ArchiveItem.swift in Sources */,
+				5A5AC5381E0C6D3000998119 /* FeedXML.swift in Sources */,
+				5AA96C581E0AE0DB00CA4346 /* main.swift in Sources */,
+				5AE13F781E0C9B12000D2C2C /* Signatures.swift in Sources */,
+				B2D3F865245CEA24009BA78C /* URL+Hashing.swift in Sources */,
+				5AE13FBA1E0DA389000D2C2C /* SUBinaryDeltaApply.m in Sources */,
+				5AAD00661E0C2D9B00AF411E /* SUBinaryDeltaCommon.m in Sources */,
+				5AAD00671E0C2D9B00AF411E /* SUBinaryDeltaCreate.m in Sources */,
+				5AE13FB91E0DA384000D2C2C /* SUBinaryDeltaUnarchiver.m in Sources */,
+				5AE13FA51E0D71F5000D2C2C /* SUConstants.m in Sources */,
+				5AE13FB51E0D9F32000D2C2C /* SUDiskImageUnarchiver.m in Sources */,
+				5AE13FA21E0D716F000D2C2C /* SUFileManager.m in Sources */,
+				5AE13FA41E0D71D1000D2C2C /* SUFileOperationConstants.m in Sources */,
+				5AE13FB81E0D9F8E000D2C2C /* SULog.m in Sources */,
+				72464F7D1E213ED400FB341C /* SUOperatingSystem.m in Sources */,
+				5AE13FB61E0D9F39000D2C2C /* SUPipedUnarchiver.m in Sources */,
+				5AE13FA61E0D7275000D2C2C /* SUStandardVersionComparator.m in Sources */,
+				5AE13FA11E0D7168000D2C2C /* SUUnarchiver.m in Sources */,
+				5AE13FB71E0D9F42000D2C2C /* SUUnarchiverNotifier.m in Sources */,
+				5A5AC5361E0C6CA300998119 /* Unarchive.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		5AB8F19B214DA72000A1187F /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				5AB8F1A2214DA72000A1187F /* main.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		5D06E8CD0FD68C7C005AE3F6 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				72C4ABAB25E0BF1900D14562 /* SULog.m in Sources */,
+				14652F7D19A9726700959E44 /* SUBinaryDeltaApply.m in Sources */,
+				14652F7C19A9725300959E44 /* SUBinaryDeltaCommon.m in Sources */,
+				7268AC631AD634C200C3E0C1 /* SUBinaryDeltaCreate.m in Sources */,
+				5D06E8EA0FD68CDB005AE3F6 /* SUBinaryDeltaTool.m in Sources */,
+				726F2CE81BC9C48F001971A4 /* SUConstants.m in Sources */,
+				726F2CDE1BC9BE5B001971A4 /* SUFileManager.m in Sources */,
+				72544FFC1D0991A4000CFB2C /* SUFileOperationConstants.m in Sources */,
+				726F2CE91BC9C499001971A4 /* SUOperatingSystem.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		612279D50DB5470200AB99EA /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				342731481FF58E5B00285FBD /* SPUDownloaderTest.swift in Sources */,
+				5A4094481C74EA5200983BE0 /* SUAppcastTest.swift in Sources */,
+				72D4DAA11AD7632900B211E2 /* SUBinaryDeltaCreate.m in Sources */,
+				142E0E0919A83AAC00E4312B /* SUBinaryDeltaTest.m in Sources */,
+				F8761EB11ADC5068000C9034 /* SUCodeSigningVerifierTest.m in Sources */,
+				5AF9DC3C1981DBEE001EA135 /* SUDSAVerifierTest.m in Sources */,
+				72A4A2401BB6567D00E7820D /* SUFileManagerTest.swift in Sources */,
+				5AF6C7541AEA49840014A3AB /* SUInstallerTest.m in Sources */,
+				723ABE91259AA3B100BDB4FA /* SUAdHocCodeSigning.m in Sources */,
+				14652F8219A9746000959E44 /* SULog.m in Sources */,
+				723A920E1D722438004A9DED /* SUSpotlightImporterTest.swift in Sources */,
+				7210C7681B9A9A1500EB90AC /* SUUnarchiverTest.swift in Sources */,
+				5AE459001C34118500E3BB47 /* SUUpdaterTest.m in Sources */,
+				5AE459021C34118500E3BB47 /* SUVersionComparisonTest.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		61B5F8FF09C4CEE200B25A18 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				72B3DC8225E3232400131B67 /* SULog.m in Sources */,
+				61B5F93009C4CFDC00B25A18 /* main.m in Sources */,
+				726F2CEB1BC9C733001971A4 /* SUConstants.m in Sources */,
+				5A6D31EE1BF53245009C5157 /* SUFileManager.m in Sources */,
+				721BC2111D1DFF05002BC71E /* SUFileOperationConstants.m in Sources */,
+				5A6D31EF1BF5325F009C5157 /* SUOperatingSystem.m in Sources */,
+				72E45CF31B640CDD005C701A /* SUTestApplicationDelegate.m in Sources */,
+				A5BF4F1D1BC7668B007A052A /* SUTestWebServer.m in Sources */,
+				723ABE90259AA3B100BDB4FA /* SUAdHocCodeSigning.m in Sources */,
+				72E45CF71B640DAE005C701A /* SUUpdateSettingsWindowController.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		722954B01D04ADAF00ECF9CA /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				72C4AB7A25E0B4C500D14562 /* SULog.m in Sources */,
+				722954B71D04ADAF00ECF9CA /* fileop.m in Sources */,
+				722954BD1D04AE3800ECF9CA /* SUConstants.m in Sources */,
+				722954BC1D04AE1100ECF9CA /* SUFileManager.m in Sources */,
+				722954C71D04E66F00ECF9CA /* SUFileOperationConstants.m in Sources */,
+				722954CC1D04EA7000ECF9CA /* SUOperatingSystem.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		726B2B591C645FC900388755 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				720B16451C66433D006985FB /* SUTestApplicationTest.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		8DC2EF540486A6940098B216 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				34074B9E1FEABD5A001CB3A5 /* SPUDownloadData.m in Sources */,
+				34074B901FEABD08001CB3A5 /* SPUDownloader.m in Sources */,
+				72E1D7DD25A3E3AD0001BA6D /* SUWebViewCommon.m in Sources */,
+				34074BA31FEABFD2001CB3A5 /* SPUDownloaderSession.m in Sources */,
+				34074B971FEABD24001CB3A5 /* SPULocalCacheDirectory.m in Sources */,
+				34074B9A1FEABD49001CB3A5 /* SPUURLRequest.m in Sources */,
+				61B5FBB709C4FAFF00B25A18 /* SUAppcast.m in Sources */,
+				61B5FC6F09C51F4900B25A18 /* SUAppcastItem.m in Sources */,
+				72316BDF1E0E17910039EFD9 /* SUApplicationInfo.m in Sources */,
+				6120721309CC5C4B007FE0F6 /* SUAutomaticUpdateAlert.m in Sources */,
+				61B93B280DD0FDD300DCD2F8 /* SUAutomaticUpdateDriver.m in Sources */,
+				61F83F720DBFE140006FDD30 /* SUBasicUpdateDriver.m in Sources */,
+				5D06E8EC0FD68CE4005AE3F6 /* SUBinaryDeltaApply.m in Sources */,
+				5D06E8ED0FD68CE4005AE3F6 /* SUBinaryDeltaCommon.m in Sources */,
+				5D06E93A0FD69271005AE3F6 /* SUBinaryDeltaUnarchiver.m in Sources */,
+				72316BDA1E0E17180039EFD9 /* SUBundleIcon.m in Sources */,
+				61B078CF15A5FB6100600039 /* SUCodeSigningVerifier.m in Sources */,
+				61299A6009CA6EB100B7442F /* SUConstants.m in Sources */,
+				6102FE4B0E07803800F85D09 /* SUDiskImageUnarchiver.m in Sources */,
+				7275F9C21B5F1F2900B1D19E /* SUFileManager.m in Sources */,
+				722954C51D04E66F00ECF9CA /* SUFileOperationConstants.m in Sources */,
+				767B61AD1972D488004E0C3C /* SUGuidedPackageInstaller.m in Sources */,
+				61EF67560E25B58D00F754E0 /* SUHost.m in Sources */,
+				618FA5020DAE88B40026945C /* SUInstaller.m in Sources */,
+				55C14F07136EF6DB00649790 /* SULog.m in Sources */,
+				726F2CE61BC9C33D001971A4 /* SUOperatingSystem.m in Sources */,
+				618FA5230DAE8E8A0026945C /* SUPackageInstaller.m in Sources */,
+				61D85D6D0E10B2ED00F9B4A9 /* SUPipedUnarchiver.m in Sources */,
+				618FA5060DAE8AB80026945C /* SUPlainInstaller.m in Sources */,
+				72E1D7E225A3E3AD0001BA6D /* SUWKWebView.m in Sources */,
+				6101347C0DD2541A0049ACDF /* SUProbingUpdateDriver.m in Sources */,
+				61B93C0A0DD112FF00DCD2F8 /* SUScheduledUpdateDriver.m in Sources */,
+				5AF04878214D2E5F00B5789F /* SUSignatures.m in Sources */,
+				61299A3009CA2DAB00B7442F /* SUSignatureVerifier.m in Sources */,
+				61A225A50D1C4AC000430CCD /* SUStandardVersionComparator.m in Sources */,
+				6196CFFA09C72149000DC222 /* SUStatusController.m in Sources */,
+				61A2279D0D1CEE7600430CCD /* SUSystemProfiler.m in Sources */,
+				72316BE41E0E1C7F0039EFD9 /* SUSystemUpdateInfo.m in Sources */,
+				721D5B5A25C6940400D23BEA /* SUFlatPackageUnarchiver.m in Sources */,
+				A3AD648C24D283F400058938 /* SUGlobalUpdateLock.m in Sources */,
+				E1545EC61E1D7E0200FAECE8 /* SUTouchBarButtonGroup.m in Sources */,
+				61B93A3D0DD02D7000DCD2F8 /* SUUIBasedUpdateDriver.m in Sources */,
+				72E1D7E125A3E3AD0001BA6D /* SULegacyWebView.m in Sources */,
+				61299A8E09CA790200B7442F /* SUUnarchiver.m in Sources */,
+				722589DB1E0B19F4005EA0B9 /* SUUnarchiverNotifier.m in Sources */,
+				61B5FCDE09C52A9F00B25A18 /* SUUpdateAlert.m in Sources */,
+				610134740DD250470049ACDF /* SUUpdateDriver.m in Sources */,
+				612DCBB00D488BC60015DBEA /* SUUpdatePermissionPrompt.m in Sources */,
+				7205C4321E1215AD00E370AE /* SUUpdatePermissionResponse.m in Sources */,
+				61B5F8EE09C4CE3C00B25A18 /* SUUpdater.m in Sources */,
+				729924741DF3478A00DBCDF5 /* SUUpdateValidator.m in Sources */,
+				61A354560DF113C70076ECB1 /* SUUserInitiatedUpdateDriver.m in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		EA43119D229D5FBC00A5503D /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				EA4311A5229D5FC600A5503D /* add_scalar.c in Sources */,
+				EA4311A7229D5FC600A5503D /* fe.c in Sources */,
+				EA4311AA229D5FC600A5503D /* ge.c in Sources */,
+				EA4311AC229D5FC600A5503D /* key_exchange.c in Sources */,
+				EA4311AD229D5FC600A5503D /* keypair.c in Sources */,
+				EA4311AF229D5FC600A5503D /* sc.c in Sources */,
+				EA4311B1229D5FC600A5503D /* seed.c in Sources */,
+				EA4311B2229D5FC600A5503D /* sha512.c in Sources */,
+				EA4311B4229D5FC600A5503D /* sign.c in Sources */,
+				EA4311B5229D5FC600A5503D /* verify.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+		EA4311E7229D651300A5503D /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				EA4311EF229D651F00A5503D /* bscommon.c in Sources */,
+				EA4311F1229D651F00A5503D /* bsdiff.c in Sources */,
+				EA4311F2229D651F00A5503D /* bspatch.c in Sources */,
+				EA4311F4229D651F00A5503D /* sais.c in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+		1454BA1619637EDB00344E57 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 61B5F90109C4CEE200B25A18 /* Sparkle Test App */;
+			targetProxy = 1454BA1519637EDB00344E57 /* PBXContainerItemProxy */;
+		};
+		1454BA1819637EE900344E57 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 1420DF491962329200203BB0 /* Documentation */;
+			targetProxy = 1454BA1719637EE900344E57 /* PBXContainerItemProxy */;
+		};
+		14732BCB1960F73500593899 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 8DC2EF4F0486A6940098B216 /* Sparkle */;
+			targetProxy = 14732BCA1960F73500593899 /* PBXContainerItemProxy */;
+		};
+		14732BCF1960F73500593899 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 5D06E8CF0FD68C7C005AE3F6 /* BinaryDelta */;
+			targetProxy = 14732BCE1960F73500593899 /* PBXContainerItemProxy */;
+		};
+		14950064195FB8A600BC5B5B /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 8DC2EF4F0486A6940098B216 /* Sparkle */;
+			targetProxy = 14950063195FB8A600BC5B5B /* PBXContainerItemProxy */;
+		};
+		14950066195FB8A600BC5B5B /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 61B5F90109C4CEE200B25A18 /* Sparkle Test App */;
+			targetProxy = 14950065195FB8A600BC5B5B /* PBXContainerItemProxy */;
+		};
+		14950068195FB8A600BC5B5B /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 612279D80DB5470200AB99EA /* Sparkle Unit Tests */;
+			targetProxy = 14950067195FB8A600BC5B5B /* PBXContainerItemProxy */;
+		};
+		1495006A195FB8A600BC5B5B /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 5D06E8CF0FD68C7C005AE3F6 /* BinaryDelta */;
+			targetProxy = 14950069195FB8A600BC5B5B /* PBXContainerItemProxy */;
+		};
+		1495006C195FB8A600BC5B5B /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 55C14BB6136EEF1500649790 /* Autoupdate */;
+			targetProxy = 1495006B195FB8A600BC5B5B /* PBXContainerItemProxy */;
+		};
+		55C14F97136F044100649790 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 55C14BB6136EEF1500649790 /* Autoupdate */;
+			targetProxy = 55C14F96136F044100649790 /* PBXContainerItemProxy */;
+		};
+		5A5ADEEA214EE65A00DF0099 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 5AB8F19E214DA72000A1187F /* generate_keys */;
+			targetProxy = 5A5ADEE9214EE65A00DF0099 /* PBXContainerItemProxy */;
+		};
+		5A5ADEEC214EE65C00DF0099 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 5A5ADED6214EDE4900DF0099 /* sign_update */;
+			targetProxy = 5A5ADEEB214EE65C00DF0099 /* PBXContainerItemProxy */;
+		};
+		5A5ADEEE214EE66E00DF0099 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 5AB8F19E214DA72000A1187F /* generate_keys */;
+			targetProxy = 5A5ADEED214EE66E00DF0099 /* PBXContainerItemProxy */;
+		};
+		5A5ADEF0214EE67100DF0099 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 5A5ADED6214EDE4900DF0099 /* sign_update */;
+			targetProxy = 5A5ADEEF214EE67100DF0099 /* PBXContainerItemProxy */;
+		};
+		5AE13FA81E0D7E1C000D2C2C /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 5AA96C541E0AE0DB00CA4346 /* generate_appcast */;
+			targetProxy = 5AE13FA71E0D7E1C000D2C2C /* PBXContainerItemProxy */;
+		};
+		5AE13FAA1E0D7E2F000D2C2C /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 5AA96C541E0AE0DB00CA4346 /* generate_appcast */;
+			targetProxy = 5AE13FA91E0D7E2F000D2C2C /* PBXContainerItemProxy */;
+		};
+		5D06E8D60FD68C86005AE3F6 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 8DC2EF4F0486A6940098B216 /* Sparkle */;
+			targetProxy = 5D06E8D50FD68C86005AE3F6 /* PBXContainerItemProxy */;
+		};
+		5F349B6025683CB800B015B0 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = EA4311E9229D651300A5503D /* bsdiff */;
+			targetProxy = 5F349B5F25683CB800B015B0 /* PBXContainerItemProxy */;
+		};
+		5F349B6225683CBA00B015B0 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = EA43119F229D5FBC00A5503D /* ed25519 */;
+			targetProxy = 5F349B6125683CBA00B015B0 /* PBXContainerItemProxy */;
+		};
+		5F349B6425683CC300B015B0 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = EA4311E9229D651300A5503D /* bsdiff */;
+			targetProxy = 5F349B6325683CC300B015B0 /* PBXContainerItemProxy */;
+		};
+		5F349B6625683CCA00B015B0 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = EA43119F229D5FBC00A5503D /* ed25519 */;
+			targetProxy = 5F349B6525683CCA00B015B0 /* PBXContainerItemProxy */;
+		};
+		5F349B6825683CCC00B015B0 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = EA4311E9229D651300A5503D /* bsdiff */;
+			targetProxy = 5F349B6725683CCC00B015B0 /* PBXContainerItemProxy */;
+		};
+		5F349B6A25683CD000B015B0 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = EA43119F229D5FBC00A5503D /* ed25519 */;
+			targetProxy = 5F349B6925683CD000B015B0 /* PBXContainerItemProxy */;
+		};
+		5F349B6C25683CD300B015B0 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = EA43119F229D5FBC00A5503D /* ed25519 */;
+			targetProxy = 5F349B6B25683CD300B015B0 /* PBXContainerItemProxy */;
+		};
+		61B5F91C09C4CF7200B25A18 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 8DC2EF4F0486A6940098B216 /* Sparkle */;
+			targetProxy = 61B5F91B09C4CF7200B25A18 /* PBXContainerItemProxy */;
+		};
+		61FA528D0E2D9EB200EF58AD /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 8DC2EF4F0486A6940098B216 /* Sparkle */;
+			targetProxy = 61FA528C0E2D9EB200EF58AD /* PBXContainerItemProxy */;
+		};
+		722954BF1D04D9CB00ECF9CA /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 722954B31D04ADAF00ECF9CA /* fileop */;
+			targetProxy = 722954BE1D04D9CB00ECF9CA /* PBXContainerItemProxy */;
+		};
+		726B2B631C645FC900388755 /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 61B5F90109C4CEE200B25A18 /* Sparkle Test App */;
+			targetProxy = 726B2B621C645FC900388755 /* PBXContainerItemProxy */;
+		};
+		895C5DBF24D764DD0058A82D /* PBXTargetDependency */ = {
+			isa = PBXTargetDependency;
+			target = 895C5DB924D75F370058A82D /* XCFramework */;
+			targetProxy = 895C5DBE24D764DD0058A82D /* PBXContainerItemProxy */;
+		};
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+		61AAE8220A321A7F00D8810D /* Sparkle.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				6149E6EA1601ABAC008A351E /* ar */,
+				147D6DA71B66EC1C006607AB /* ca */,
+				615409C4103BBC4000125AF1 /* cs */,
+				61131A050F846CE600E97AF6 /* da */,
+				619B17200E1E9D0800E72754 /* de */,
+				555CF29A196C52330000B31E /* el */,
+				61AAE84F0A321AF700D8810D /* es */,
+				147D6DA91B66EC22006607AB /* fi */,
+				61AAE8590A321B0400D8810D /* fr */,
+				147D6DAA1B66EC25006607AB /* he */,
+				26B1A4652195FFE900B09783 /* hr */,
+				0A8DAD73207FA6F300FFD934 /* hu */,
+				613151B20FB4946A000DCD59 /* is */,
+				61F614540E24A12D009F47E7 /* it */,
+				611A904610240DF700CC659E /* ja */,
+				FE5536F517A2C6A7007CB333 /* ko */,
+				4607BEA21948443800EF8DA4 /* nb */,
+				61AAE8710A321F7700D8810D /* nl */,
+				611A904210240DD300CC659E /* pl */,
+				61E31A80103299500051D188 /* pt_BR */,
+				6186554310D7484E00B1E074 /* pt_PT */,
+				004A8652192A492B00C9730D /* ro */,
+				6195D4920E404AD700D41A50 /* ru */,
+				FE5536F617A2C6AB007CB333 /* sk */,
+				61BA66CC14BDFA0400D02D86 /* sl */,
+				618915730E35937600B5E981 /* sv */,
+				61F3AC1215C22D4A00260CA2 /* th */,
+				5AEF45D9189D1CC90030D7DC /* tr */,
+				0263187214FEBB31005EBF43 /* uk */,
+				61131A090F846D0A00E97AF6 /* zh_CN */,
+				61131A0A0F846D1100E97AF6 /* zh_TW */,
+				723AB9CB2599BF1200BDB4FA /* Base */,
+			);
+			name = Sparkle.strings;
+			sourceTree = "<group>";
+		};
+		61B5F92C09C4CFD800B25A18 /* MainMenu.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				723ABB78259A5F7400BDB4FA /* Base */,
+				723ABB7A259A5FA500BDB4FA /* en */,
+				723ABBD4259A61C800BDB4FA /* es */,
+				723ABBE2259A620000BDB4FA /* ru */,
+				723ABBFC259A628600BDB4FA /* ar */,
+				723ABBFE259A628600BDB4FA /* ca */,
+				723ABC00259A628F00BDB4FA /* zh_CN */,
+				723ABC02259A62A800BDB4FA /* zh_TW */,
+				723ABC04259A62AB00BDB4FA /* hr */,
+				723ABC06259A62AE00BDB4FA /* cs */,
+				723ABC08259A62B100BDB4FA /* da */,
+				723ABC0A259A62B600BDB4FA /* nl */,
+				723ABC0C259A62BA00BDB4FA /* fi */,
+				723ABC0E259A62BF00BDB4FA /* fr */,
+				723ABC10259A62C400BDB4FA /* de */,
+				723ABC12259A62C800BDB4FA /* el */,
+				723ABC14259A62CD00BDB4FA /* he */,
+				723ABC16259A62D200BDB4FA /* hu */,
+				723ABC18259A62D500BDB4FA /* is */,
+				723ABC1A259A62D900BDB4FA /* it */,
+				723ABC1C259A62E000BDB4FA /* ja */,
+				723ABC1E259A62E500BDB4FA /* ko */,
+				723ABC20259A62E900BDB4FA /* nb */,
+				723ABC22259A62EE00BDB4FA /* pl */,
+				723ABC24259A630900BDB4FA /* pt_BR */,
+				723ABC26259A630A00BDB4FA /* pt_PT */,
+				723ABC28259A630F00BDB4FA /* ro */,
+				723ABC2A259A631300BDB4FA /* sk */,
+				723ABC2C259A631700BDB4FA /* sl */,
+				723ABC2E259A631D00BDB4FA /* th */,
+				723ABC30259A632100BDB4FA /* sv */,
+				723ABC32259A632200BDB4FA /* tr */,
+				723ABC34259A632600BDB4FA /* uk */,
+			);
+			name = MainMenu.xib;
+			sourceTree = "<group>";
+		};
+		723ABA51259A579D00BDB4FA /* SUUpdateAlert.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				723ABA50259A579D00BDB4FA /* Base */,
+				723ABA5E259A57DA00BDB4FA /* ar */,
+				723ABA5F259A57DE00BDB4FA /* ca */,
+				723ABA60259A57EE00BDB4FA /* cs */,
+				723ABA61259A57F300BDB4FA /* da */,
+				723ABA62259A57FA00BDB4FA /* de */,
+				723ABA63259A57FF00BDB4FA /* el */,
+				723ABA64259A580600BDB4FA /* es */,
+				723ABA65259A580C00BDB4FA /* fi */,
+				723ABA66259A581000BDB4FA /* fr */,
+				723ABA67259A581400BDB4FA /* he */,
+				723ABA68259A581B00BDB4FA /* hr */,
+				723ABA69259A582200BDB4FA /* hu */,
+				723ABA6A259A582600BDB4FA /* is */,
+				723ABA6B259A582900BDB4FA /* it */,
+				723ABA6C259A582C00BDB4FA /* ja */,
+				723ABA6D259A582F00BDB4FA /* ko */,
+				723ABA6E259A583F00BDB4FA /* nb */,
+				723ABA6F259A584500BDB4FA /* nl */,
+				723ABA70259A584800BDB4FA /* pl */,
+				723ABA71259A584D00BDB4FA /* pt_BR */,
+				723ABA72259A585500BDB4FA /* ro */,
+				723ABA73259A585F00BDB4FA /* ru */,
+				723ABA74259A586200BDB4FA /* sk */,
+				723ABA75259A586400BDB4FA /* sl */,
+				723ABA76259A586700BDB4FA /* sv */,
+				723ABA77259A586900BDB4FA /* th */,
+				723ABA78259A586C00BDB4FA /* tr */,
+				723ABA79259A586F00BDB4FA /* uk */,
+				723ABA7A259A587600BDB4FA /* zh_CN */,
+				723ABA7B259A587800BDB4FA /* zh_TW */,
+				723ABA7D259A58E800BDB4FA /* en */,
+			);
+			name = SUUpdateAlert.xib;
+			sourceTree = "<group>";
+		};
+		723ABA8C259A593900BDB4FA /* SUAutomaticUpdateAlert.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				723ABA8B259A593900BDB4FA /* Base */,
+				723ABA9A259A594300BDB4FA /* en */,
+				723ABA9B259A597600BDB4FA /* ar */,
+				723ABA9C259A597900BDB4FA /* ca */,
+				723ABA9D259A597C00BDB4FA /* cs */,
+				723ABA9E259A597F00BDB4FA /* da */,
+				723ABA9F259A598300BDB4FA /* de */,
+				723ABAA0259A598600BDB4FA /* el */,
+				723ABAA1259A598D00BDB4FA /* es */,
+				723ABAA2259A599500BDB4FA /* fi */,
+				723ABAA3259A599800BDB4FA /* fr */,
+				723ABAA4259A599D00BDB4FA /* he */,
+				723ABAA5259A59A500BDB4FA /* hr */,
+				723ABAA6259A59AA00BDB4FA /* hu */,
+				723ABAA7259A59AF00BDB4FA /* is */,
+				723ABAA8259A59B500BDB4FA /* it */,
+				723ABAA9259A59B900BDB4FA /* ja */,
+				723ABAAA259A59BB00BDB4FA /* ko */,
+				723ABAAB259A59BF00BDB4FA /* nb */,
+				723ABAAC259A59C400BDB4FA /* nl */,
+				723ABAAD259A59C700BDB4FA /* pl */,
+				723ABAAE259A59CD00BDB4FA /* pt_BR */,
+				723ABAAF259A59D000BDB4FA /* pt_PT */,
+				723ABAB0259A59D300BDB4FA /* ro */,
+				723ABAB1259A59D700BDB4FA /* ru */,
+				723ABAB2259A59DA00BDB4FA /* sk */,
+				723ABAB3259A59DE00BDB4FA /* sl */,
+				723ABAB4259A59E500BDB4FA /* th */,
+				723ABAB5259A59E700BDB4FA /* sv */,
+				723ABAB6259A59ED00BDB4FA /* tr */,
+				723ABAB7259A59F300BDB4FA /* zh_CN */,
+				723ABAB8259A59F600BDB4FA /* zh_TW */,
+			);
+			name = SUAutomaticUpdateAlert.xib;
+			sourceTree = "<group>";
+		};
+		723ABAC7259A5A2300BDB4FA /* SUUpdatePermissionPrompt.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				723ABAC6259A5A2300BDB4FA /* Base */,
+				723ABAC9259A5A3F00BDB4FA /* en */,
+				723ABACA259A5A5D00BDB4FA /* ar */,
+				723ABACB259A5A6000BDB4FA /* cs */,
+				723ABACC259A5A6400BDB4FA /* da */,
+				723ABACD259A5A6800BDB4FA /* de */,
+				723ABACE259A5A6B00BDB4FA /* el */,
+				723ABACF259A5A7300BDB4FA /* es */,
+				723ABAD0259A5A7C00BDB4FA /* fi */,
+				723ABAD1259A5A8000BDB4FA /* fr */,
+				723ABAD2259A5A8600BDB4FA /* hr */,
+				723ABAD3259A5A8A00BDB4FA /* hu */,
+				723ABAD4259A5A8F00BDB4FA /* is */,
+				723ABAD5259A5A9300BDB4FA /* it */,
+				723ABAD6259A5A9600BDB4FA /* ja */,
+				723ABAD7259A5A9A00BDB4FA /* ko */,
+				723ABAD8259A5A9E00BDB4FA /* nb */,
+				723ABAD9259A5AA500BDB4FA /* nl */,
+				723ABADA259A5AA900BDB4FA /* pl */,
+				723ABADB259A5AB300BDB4FA /* pt_BR */,
+				723ABADC259A5AB800BDB4FA /* pt_PT */,
+				723ABADD259A5ABB00BDB4FA /* ro */,
+				723ABADE259A5ABD00BDB4FA /* ru */,
+				723ABADF259A5AC200BDB4FA /* sk */,
+				723ABAE0259A5AC500BDB4FA /* sl */,
+				723ABAE1259A5AC900BDB4FA /* sv */,
+				723ABAE2259A5ACD00BDB4FA /* th */,
+				723ABAE3259A5AD100BDB4FA /* tr */,
+				723ABAE4259A5AD300BDB4FA /* uk */,
+				723ABAE5259A5AD900BDB4FA /* zh_CN */,
+				723ABAE6259A5ADC00BDB4FA /* zh_TW */,
+			);
+			name = SUUpdatePermissionPrompt.xib;
+			sourceTree = "<group>";
+		};
+		723ABB87259A5FFC00BDB4FA /* InfoPlist.strings */ = {
+			isa = PBXVariantGroup;
+			children = (
+				723ABB88259A5FFC00BDB4FA /* Base */,
+			);
+			name = InfoPlist.strings;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		1420DF4B1962329200203BB0 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		1420DF4C1962329200203BB0 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		14732BC71960F69300593899 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		14732BC81960F69300593899 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		14950061195FB89500BC5B5B /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		14950062195FB89500BC5B5B /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		1DEB91AE08733DA50010E9CD /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA1941CA0D94A70100DD942E /* ConfigFrameworkDebug.xcconfig */;
+			buildSettings = {
+				CLANG_ENABLE_MODULES = YES;
+				DEFINES_MODULE = YES;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+			};
+			name = Debug;
+		};
+		1DEB91AF08733DA50010E9CD /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA1941D50D94A70100DD942E /* ConfigFrameworkRelease.xcconfig */;
+			buildSettings = {
+				CLANG_ENABLE_MODULES = YES;
+				DEFINES_MODULE = YES;
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
+			};
+			name = Release;
+		};
+		1DEB91B208733DA50010E9CD /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA1941CF0D94A70100DD942E /* ConfigCommonDebug.xcconfig */;
+			buildSettings = {
+				SWIFT_VERSION = 4.2;
+			};
+			name = Debug;
+		};
+		1DEB91B308733DA50010E9CD /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA1941CC0D94A70100DD942E /* ConfigCommonRelease.xcconfig */;
+			buildSettings = {
+				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
+				SWIFT_VERSION = 4.2;
+			};
+			name = Release;
+		};
+		55C14BBB136EEF1500649790 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA1941D30D94A70100DD942E /* ConfigRelaunchDebug.xcconfig */;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		55C14BBC136EEF1500649790 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA1941D40D94A70100DD942E /* ConfigRelaunchRelease.xcconfig */;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		5A5ADEDC214EDE4900DF0099 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 5AB8F1AA214DA85900A1187F /* ConfigGenerateKeysDebug.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+			};
+			name = Debug;
+		};
+		5A5ADEDE214EDE4900DF0099 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 5AB8F1A9214DA85900A1187F /* ConfigGenerateKeysRelease.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+		5AA96C591E0AE0DC00CA4346 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 7205C4351E12CA7000E370AE /* ConfigGenerateAppcastDebug.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+			};
+			name = Debug;
+		};
+		5AA96C5B1E0AE0DC00CA4346 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 7205C4341E12C66D00E370AE /* ConfigGenerateAppcastRelease.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+			};
+			name = Release;
+		};
+		5AB8F1A4214DA72000A1187F /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 5AB8F1AA214DA85900A1187F /* ConfigGenerateKeysDebug.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx;
+			};
+			name = Debug;
+		};
+		5AB8F1A6214DA72000A1187F /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 5AB8F1A9214DA85900A1187F /* ConfigGenerateKeysRelease.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SDKROOT = macosx;
+			};
+			name = Release;
+		};
+		5D06E8D20FD68C7D005AE3F6 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 5D06E8F20FD68D21005AE3F6 /* ConfigBinaryDeltaDebug.xcconfig */;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		5D06E8D30FD68C7D005AE3F6 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 5D06E8F30FD68D21005AE3F6 /* ConfigBinaryDeltaRelease.xcconfig */;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		612279DB0DB5470300AB99EA /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA3AAF3A1050B273004B3130 /* ConfigUnitTestDebug.xcconfig */;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		612279DC0DB5470300AB99EA /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA3AAF391050B273004B3130 /* ConfigUnitTestRelease.xcconfig */;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		61B5F90609C4CEE300B25A18 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA1941CB0D94A70100DD942E /* ConfigTestAppDebug.xcconfig */;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		61B5F90709C4CEE300B25A18 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = FA1941D20D94A70100DD942E /* ConfigTestAppRelease.xcconfig */;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		722954B81D04ADAF00ECF9CA /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 722954C81D04E89500ECF9CA /* ConfigFileop.xcconfig */;
+			buildSettings = {
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		722954BA1D04ADAF00ECF9CA /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 722954C81D04E89500ECF9CA /* ConfigFileop.xcconfig */;
+			buildSettings = {
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+		726B2B641C645FC900388755 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 729F10FF1C65A9B500DFCCC5 /* ConfigUITestDebug.xcconfig */;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		726B2B661C645FC900388755 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 729F11001C65A9B500DFCCC5 /* ConfigUITestRelease.xcconfig */;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		895C5DBA24D75F370058A82D /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		895C5DBB24D75F370058A82D /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		EA4311A2229D5FBC00A5503D /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = EA4311C9229D614300A5503D /* ed25519-Debug.xcconfig */;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		EA4311A4229D5FBC00A5503D /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = EA4311C8229D613B00A5503D /* ed25519-Release.xcconfig */;
+			buildSettings = {
+			};
+			name = Release;
+		};
+		EA4311EC229D651300A5503D /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = EA4311FA229D656700A5503D /* bsdiff-Debug.xcconfig */;
+			buildSettings = {
+			};
+			name = Debug;
+		};
+		EA4311EE229D651300A5503D /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = EA4311FB229D657A00A5503D /* bsdiff-Release.xcconfig */;
+			buildSettings = {
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		1420DF4A1962329200203BB0 /* Build configuration list for PBXLegacyTarget "Documentation" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1420DF4B1962329200203BB0 /* Debug */,
+				1420DF4C1962329200203BB0 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		14732BC61960F69300593899 /* Build configuration list for PBXLegacyTarget "Distribution" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				14732BC71960F69300593899 /* Debug */,
+				14732BC81960F69300593899 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		14950060195FB89500BC5B5B /* Build configuration list for PBXAggregateTarget "All" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				14950061195FB89500BC5B5B /* Debug */,
+				14950062195FB89500BC5B5B /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Sparkle" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1DEB91AE08733DA50010E9CD /* Debug */,
+				1DEB91AF08733DA50010E9CD /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Sparkle" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				1DEB91B208733DA50010E9CD /* Debug */,
+				1DEB91B308733DA50010E9CD /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		55C14BBE136EEF1500649790 /* Build configuration list for PBXNativeTarget "Autoupdate" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				55C14BBB136EEF1500649790 /* Debug */,
+				55C14BBC136EEF1500649790 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		5A5ADEDB214EDE4900DF0099 /* Build configuration list for PBXNativeTarget "sign_update" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5A5ADEDC214EDE4900DF0099 /* Debug */,
+				5A5ADEDE214EDE4900DF0099 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		5AA96C5C1E0AE0DC00CA4346 /* Build configuration list for PBXNativeTarget "generate_appcast" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5AA96C591E0AE0DC00CA4346 /* Debug */,
+				5AA96C5B1E0AE0DC00CA4346 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		5AB8F1A3214DA72000A1187F /* Build configuration list for PBXNativeTarget "generate_keys" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5AB8F1A4214DA72000A1187F /* Debug */,
+				5AB8F1A6214DA72000A1187F /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		5D06E8DA0FD68C95005AE3F6 /* Build configuration list for PBXNativeTarget "BinaryDelta" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5D06E8D20FD68C7D005AE3F6 /* Debug */,
+				5D06E8D30FD68C7D005AE3F6 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		612279DD0DB5470300AB99EA /* Build configuration list for PBXNativeTarget "Sparkle Unit Tests" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				612279DB0DB5470300AB99EA /* Debug */,
+				612279DC0DB5470300AB99EA /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		61B5F90509C4CEE300B25A18 /* Build configuration list for PBXNativeTarget "Sparkle Test App" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				61B5F90609C4CEE300B25A18 /* Debug */,
+				61B5F90709C4CEE300B25A18 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		722954BB1D04ADAF00ECF9CA /* Build configuration list for PBXNativeTarget "fileop" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				722954B81D04ADAF00ECF9CA /* Debug */,
+				722954BA1D04ADAF00ECF9CA /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		726B2B671C645FC900388755 /* Build configuration list for PBXNativeTarget "UI Tests" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				726B2B641C645FC900388755 /* Debug */,
+				726B2B661C645FC900388755 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		895C5DBC24D75F370058A82D /* Build configuration list for PBXAggregateTarget "XCFramework" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				895C5DBA24D75F370058A82D /* Debug */,
+				895C5DBB24D75F370058A82D /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		EA4311A1229D5FBC00A5503D /* Build configuration list for PBXNativeTarget "ed25519" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				EA4311A2229D5FBC00A5503D /* Debug */,
+				EA4311A4229D5FBC00A5503D /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		EA4311EB229D651300A5503D /* Build configuration list for PBXNativeTarget "bsdiff" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				EA4311EC229D651300A5503D /* Debug */,
+				EA4311EE229D651300A5503D /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
+}