9/* Begin PBXBuildFile section */
10 940331732A336B5100200C5D /* DeferredRendering.swift in Sources */ = {isa = PBXBuildFile; fileRef = 940331722A336B5100200C5D /* DeferredRendering.swift */; };
11 9404B57D2A3EEBBA00068FA8 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9404B57C2A3EEBBA00068FA8 /* SettingsView.swift */; };
12 941E18FA2A35362600A2EA98 /* Info.swift in Sources */ = {isa = PBXBuildFile; fileRef = 941E18F92A35362600A2EA98 /* Info.swift */; };
13 945F17B02A33D167004FC479 /* ThumbnailImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945F17AF2A33D167004FC479 /* ThumbnailImage.swift */; };
14 945F17B22A33D69B004FC479 /* FavoriteOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945F17B12A33D69B004FC479 /* FavoriteOverlay.swift */; };
15 945F17B42A33D726004FC479 /* ReviewStateIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945F17B32A33D726004FC479 /* ReviewStateIcon.swift */; };
16 945F17B62A33D7AA004FC479 /* ReviewStateBorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945F17B52A33D7AA004FC479 /* ReviewStateBorder.swift */; };
17 945F17B82A33DAC7004FC479 /* ReviewStateSaturation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945F17B72A33DAC7004FC479 /* ReviewStateSaturation.swift */; };
18 9492C9702A3C3803002E44EC /* Timer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9492C96F2A3C3803002E44EC /* Timer.swift */; };
19 94A0835E2A33E49E00238964 /* FocusedImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A0835D2A33E49E00238964 /* FocusedImage.swift */; };
20 94A083612A33E98000238964 /* AlbumInfoOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083602A33E98000238964 /* AlbumInfoOverlay.swift */; };
21 94A083632A33F30300238964 /* LoadingIndicatorOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083622A33F30300238964 /* LoadingIndicatorOverlay.swift */; };
22 94A083662A33F50900238964 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083652A33F50900238964 /* Debug.swift */; };
23 94A083682A33F6E900238964 /* ThumbnailList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083672A33F6E900238964 /* ThumbnailList.swift */; };
24 94C5FFF22A33ADD4004ADDF5 /* PHFetchResultCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94C5FFF12A33ADD4004ADDF5 /* PHFetchResultCollection.swift */; };
25 94C5FFF62A33B698004ADDF5 /* PHAssetHStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94C5FFF52A33B698004ADDF5 /* PHAssetHStack.swift */; };
26 94D2C8B92A320E6F00BEE15B /* ReviewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D2C8B82A320E6F00BEE15B /* ReviewState.swift */; };
27 94D2C8BD2A32796500BEE15B /* AlbumHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D2C8BC2A32796500BEE15B /* AlbumHelpers.swift */; };
28 94D2C8BF2A3299BD00BEE15B /* PhotosLibrary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D2C8BE2A3299BD00BEE15B /* PhotosLibrary.swift */; };
29 94D2C8C12A32FCE300BEE15B /* PHAssetImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D2C8C02A32FCE300BEE15B /* PHAssetImage.swift */; };
30 94D750F02A31A796005859E7 /* BlinkApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D750EF2A31A796005859E7 /* BlinkApp.swift */; };
31 94D750F42A31A797005859E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 94D750F32A31A797005859E7 /* Assets.xcassets */; };
32 94D750F72A31A797005859E7 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 94D750F62A31A797005859E7 /* Preview Assets.xcassets */; };
33 94D751022A31A798005859E7 /* BlinkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D751012A31A798005859E7 /* BlinkTests.swift */; };
34 94D7510C2A31A798005859E7 /* BlinkUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7510B2A31A798005859E7 /* BlinkUITests.swift */; };
35 94D7510E2A31A798005859E7 /* BlinkUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7510D2A31A798005859E7 /* BlinkUITestsLaunchTests.swift */; };
36 94D751222A31BD8E005859E7 /* PhotoReviewer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D751212A31BD8E005859E7 /* PhotoReviewer.swift */; };
37 94D7512B2A31D6AC005859E7 /* AssetHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7512A2A31D6AC005859E7 /* AssetHelpers.swift */; };
38 94F7E39E2A331A9E00763DB9 /* Statistics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94F7E39D2A331A9E00763DB9 /* Statistics.swift */; };
39 94FCD4F42A3A62A800D884A1 /* OrderedCollections in Frameworks */ = {isa = PBXBuildFile; productRef = 94FCD4F32A3A62A800D884A1 /* OrderedCollections */; };
40 94FCD4F62A3A64F800D884A1 /* LRUCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94FCD4F52A3A64F800D884A1 /* LRUCache.swift */; };
41/* End PBXBuildFile section */
43/* Begin PBXContainerItemProxy section */
44 94D750FE2A31A798005859E7 /* PBXContainerItemProxy */ = {
45 isa = PBXContainerItemProxy;
46 containerPortal = 94D750E42A31A796005859E7 /* Project object */;
48 remoteGlobalIDString = 94D750EB2A31A796005859E7;
49 remoteInfo = BlinkReviewer;
51 94D751082A31A798005859E7 /* PBXContainerItemProxy */ = {
52 isa = PBXContainerItemProxy;
53 containerPortal = 94D750E42A31A796005859E7 /* Project object */;
55 remoteGlobalIDString = 94D750EB2A31A796005859E7;
56 remoteInfo = BlinkReviewer;
58/* End PBXContainerItemProxy section */
60/* Begin PBXFileReference section */
61 940331722A336B5100200C5D /* DeferredRendering.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeferredRendering.swift; sourceTree = "<group>"; };
62 9404B57C2A3EEBBA00068FA8 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
63 941E18F92A35362600A2EA98 /* Info.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Info.swift; sourceTree = "<group>"; };
64 945F17AF2A33D167004FC479 /* ThumbnailImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThumbnailImage.swift; sourceTree = "<group>"; };
65 945F17B12A33D69B004FC479 /* FavoriteOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoriteOverlay.swift; sourceTree = "<group>"; };
66 945F17B32A33D726004FC479 /* ReviewStateIcon.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewStateIcon.swift; sourceTree = "<group>"; };
67 945F17B52A33D7AA004FC479 /* ReviewStateBorder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewStateBorder.swift; sourceTree = "<group>"; };
68 945F17B72A33DAC7004FC479 /* ReviewStateSaturation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewStateSaturation.swift; sourceTree = "<group>"; };
69 9492C96F2A3C3803002E44EC /* Timer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Timer.swift; sourceTree = "<group>"; };
70 94A0835D2A33E49E00238964 /* FocusedImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FocusedImage.swift; sourceTree = "<group>"; };
71 94A083602A33E98000238964 /* AlbumInfoOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumInfoOverlay.swift; sourceTree = "<group>"; };
72 94A083622A33F30300238964 /* LoadingIndicatorOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingIndicatorOverlay.swift; sourceTree = "<group>"; };
73 94A083652A33F50900238964 /* Debug.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debug.swift; sourceTree = "<group>"; };
74 94A083672A33F6E900238964 /* ThumbnailList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThumbnailList.swift; sourceTree = "<group>"; };
75 94C5FFF12A33ADD4004ADDF5 /* PHFetchResultCollection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PHFetchResultCollection.swift; sourceTree = "<group>"; };
76 94C5FFF52A33B698004ADDF5 /* PHAssetHStack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PHAssetHStack.swift; sourceTree = "<group>"; };
77 94D2C8B82A320E6F00BEE15B /* ReviewState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewState.swift; sourceTree = "<group>"; };
78 94D2C8BC2A32796500BEE15B /* AlbumHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumHelpers.swift; sourceTree = "<group>"; };
79 94D2C8BE2A3299BD00BEE15B /* PhotosLibrary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotosLibrary.swift; sourceTree = "<group>"; };
80 94D2C8C02A32FCE300BEE15B /* PHAssetImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PHAssetImage.swift; sourceTree = "<group>"; };
81 94D750EC2A31A796005859E7 /* Blink.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Blink.app; sourceTree = BUILT_PRODUCTS_DIR; };
82 94D750EF2A31A796005859E7 /* BlinkApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlinkApp.swift; sourceTree = "<group>"; };
83 94D750F32A31A797005859E7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
84 94D750F62A31A797005859E7 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
85 94D750F82A31A797005859E7 /* Blink.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Blink.entitlements; sourceTree = "<group>"; };
86 94D750FD2A31A798005859E7 /* BlinkTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BlinkTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
87 94D751012A31A798005859E7 /* BlinkTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlinkTests.swift; sourceTree = "<group>"; };
88 94D751072A31A798005859E7 /* BlinkUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BlinkUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
89 94D7510B2A31A798005859E7 /* BlinkUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlinkUITests.swift; sourceTree = "<group>"; };
90 94D7510D2A31A798005859E7 /* BlinkUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlinkUITestsLaunchTests.swift; sourceTree = "<group>"; };
91 94D751212A31BD8E005859E7 /* PhotoReviewer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoReviewer.swift; sourceTree = "<group>"; };
92 94D7512A2A31D6AC005859E7 /* AssetHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AssetHelpers.swift; sourceTree = "<group>"; };
93 94F7E39D2A331A9E00763DB9 /* Statistics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Statistics.swift; sourceTree = "<group>"; };
94 94FCD4F52A3A64F800D884A1 /* LRUCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LRUCache.swift; sourceTree = "<group>"; };
95/* End PBXFileReference section */
97/* Begin PBXFrameworksBuildPhase section */
98 94D750E92A31A796005859E7 /* Frameworks */ = {
99 isa = PBXFrameworksBuildPhase;
100 buildActionMask = 2147483647;
102 94FCD4F42A3A62A800D884A1 /* OrderedCollections in Frameworks */,
104 runOnlyForDeploymentPostprocessing = 0;
106 94D750FA2A31A798005859E7 /* Frameworks */ = {
107 isa = PBXFrameworksBuildPhase;
108 buildActionMask = 2147483647;
111 runOnlyForDeploymentPostprocessing = 0;
113 94D751042A31A798005859E7 /* Frameworks */ = {
114 isa = PBXFrameworksBuildPhase;
115 buildActionMask = 2147483647;
118 runOnlyForDeploymentPostprocessing = 0;
120/* End PBXFrameworksBuildPhase section */
122/* Begin PBXGroup section */
123 940331742A336BEB00200C5D /* Helpers */ = {
126 940331722A336B5100200C5D /* DeferredRendering.swift */,
127 94C5FFF52A33B698004ADDF5 /* PHAssetHStack.swift */,
130 sourceTree = "<group>";
132 945F17AE2A33D15D004FC479 /* Thumbnails */ = {
135 945F17AF2A33D167004FC479 /* ThumbnailImage.swift */,
136 945F17B12A33D69B004FC479 /* FavoriteOverlay.swift */,
137 945F17B32A33D726004FC479 /* ReviewStateIcon.swift */,
138 945F17B52A33D7AA004FC479 /* ReviewStateBorder.swift */,
139 945F17B72A33DAC7004FC479 /* ReviewStateSaturation.swift */,
140 94A083672A33F6E900238964 /* ThumbnailList.swift */,
143 sourceTree = "<group>";
145 9492C96E2A3C37FA002E44EC /* Helpers */ = {
148 9492C96F2A3C3803002E44EC /* Timer.swift */,
151 sourceTree = "<group>";
153 94A0835F2A33E7E900238964 /* FocusedImage */ = {
156 94A0835D2A33E49E00238964 /* FocusedImage.swift */,
157 94A083602A33E98000238964 /* AlbumInfoOverlay.swift */,
158 94A083622A33F30300238964 /* LoadingIndicatorOverlay.swift */,
161 sourceTree = "<group>";
163 94A083642A33F48E00238964 /* Info */ = {
166 94F7E39D2A331A9E00763DB9 /* Statistics.swift */,
167 94A083652A33F50900238964 /* Debug.swift */,
168 941E18F92A35362600A2EA98 /* Info.swift */,
171 sourceTree = "<group>";
173 94D2C8B72A320E6600BEE15B /* Model */ = {
176 94D2C8B82A320E6F00BEE15B /* ReviewState.swift */,
177 94C5FFF12A33ADD4004ADDF5 /* PHFetchResultCollection.swift */,
178 94FCD4F52A3A64F800D884A1 /* LRUCache.swift */,
181 sourceTree = "<group>";
183 94D750E32A31A796005859E7 = {
186 94D750EE2A31A796005859E7 /* Blink */,
187 94D751002A31A798005859E7 /* BlinkTests */,
188 94D7510A2A31A798005859E7 /* BlinkUITests */,
189 94D750ED2A31A796005859E7 /* Products */,
191 sourceTree = "<group>";
193 94D750ED2A31A796005859E7 /* Products */ = {
196 94D750EC2A31A796005859E7 /* Blink.app */,
197 94D750FD2A31A798005859E7 /* BlinkTests.xctest */,
198 94D751072A31A798005859E7 /* BlinkUITests.xctest */,
201 sourceTree = "<group>";
203 94D750EE2A31A796005859E7 /* Blink */ = {
206 9492C96E2A3C37FA002E44EC /* Helpers */,
207 94D2C8B72A320E6600BEE15B /* Model */,
208 94D751272A31D61D005859E7 /* Photos */,
209 94D7511A2A31A7A6005859E7 /* Views */,
210 94D750EF2A31A796005859E7 /* BlinkApp.swift */,
211 94D750F32A31A797005859E7 /* Assets.xcassets */,
212 94D750F82A31A797005859E7 /* Blink.entitlements */,
213 94D750F52A31A797005859E7 /* Preview Content */,
216 sourceTree = "<group>";
218 94D750F52A31A797005859E7 /* Preview Content */ = {
221 94D750F62A31A797005859E7 /* Preview Assets.xcassets */,
223 path = "Preview Content";
224 sourceTree = "<group>";
226 94D751002A31A798005859E7 /* BlinkTests */ = {
229 94D751012A31A798005859E7 /* BlinkTests.swift */,
232 sourceTree = "<group>";
234 94D7510A2A31A798005859E7 /* BlinkUITests */ = {
237 94D7510B2A31A798005859E7 /* BlinkUITests.swift */,
238 94D7510D2A31A798005859E7 /* BlinkUITestsLaunchTests.swift */,
241 sourceTree = "<group>";
243 94D7511A2A31A7A6005859E7 /* Views */ = {
246 94A083642A33F48E00238964 /* Info */,
247 94A0835F2A33E7E900238964 /* FocusedImage */,
248 945F17AE2A33D15D004FC479 /* Thumbnails */,
249 940331742A336BEB00200C5D /* Helpers */,
250 94D751212A31BD8E005859E7 /* PhotoReviewer.swift */,
251 94D2C8C02A32FCE300BEE15B /* PHAssetImage.swift */,
252 9404B57C2A3EEBBA00068FA8 /* SettingsView.swift */,
255 sourceTree = "<group>";
257 94D751272A31D61D005859E7 /* Photos */ = {
260 94D7512A2A31D6AC005859E7 /* AssetHelpers.swift */,
261 94D2C8BC2A32796500BEE15B /* AlbumHelpers.swift */,
262 94D2C8BE2A3299BD00BEE15B /* PhotosLibrary.swift */,
265 sourceTree = "<group>";
267/* End PBXGroup section */
269/* Begin PBXNativeTarget section */
270 94D750EB2A31A796005859E7 /* Blink */ = {
271 isa = PBXNativeTarget;
272 buildConfigurationList = 94D751112A31A798005859E7 /* Build configuration list for PBXNativeTarget "Blink" */;
274 94D750E82A31A796005859E7 /* Sources */,
275 94D750E92A31A796005859E7 /* Frameworks */,
276 94D750EA2A31A796005859E7 /* Resources */,
277 94FCD4F72A3A6E4600D884A1 /* ShellScript */,
284 packageProductDependencies = (
285 94FCD4F32A3A62A800D884A1 /* OrderedCollections */,
287 productName = BlinkReviewer;
288 productReference = 94D750EC2A31A796005859E7 /* Blink.app */;
289 productType = "com.apple.product-type.application";
291 94D750FC2A31A798005859E7 /* BlinkTests */ = {
292 isa = PBXNativeTarget;
293 buildConfigurationList = 94D751142A31A798005859E7 /* Build configuration list for PBXNativeTarget "BlinkTests" */;
295 94D750F92A31A798005859E7 /* Sources */,
296 94D750FA2A31A798005859E7 /* Frameworks */,
297 94D750FB2A31A798005859E7 /* Resources */,
302 94D750FF2A31A798005859E7 /* PBXTargetDependency */,
305 productName = BlinkReviewerTests;
306 productReference = 94D750FD2A31A798005859E7 /* BlinkTests.xctest */;
307 productType = "com.apple.product-type.bundle.unit-test";
309 94D751062A31A798005859E7 /* BlinkUITests */ = {
310 isa = PBXNativeTarget;
311 buildConfigurationList = 94D751172A31A798005859E7 /* Build configuration list for PBXNativeTarget "BlinkUITests" */;
313 94D751032A31A798005859E7 /* Sources */,
314 94D751042A31A798005859E7 /* Frameworks */,
315 94D751052A31A798005859E7 /* Resources */,
320 94D751092A31A798005859E7 /* PBXTargetDependency */,
323 productName = BlinkReviewerUITests;
324 productReference = 94D751072A31A798005859E7 /* BlinkUITests.xctest */;
325 productType = "com.apple.product-type.bundle.ui-testing";
327/* End PBXNativeTarget section */
329/* Begin PBXProject section */
330 94D750E42A31A796005859E7 /* Project object */ = {
333 BuildIndependentTargetsInParallel = 1;
334 LastSwiftUpdateCheck = 1430;
335 LastUpgradeCheck = 1430;
337 94D750EB2A31A796005859E7 = {
338 CreatedOnToolsVersion = 14.3.1;
340 94D750FC2A31A798005859E7 = {
341 CreatedOnToolsVersion = 14.3.1;
342 TestTargetID = 94D750EB2A31A796005859E7;
344 94D751062A31A798005859E7 = {
345 CreatedOnToolsVersion = 14.3.1;
346 TestTargetID = 94D750EB2A31A796005859E7;
350 buildConfigurationList = 94D750E72A31A796005859E7 /* Build configuration list for PBXProject "Blink" */;
351 compatibilityVersion = "Xcode 14.0";
352 developmentRegion = en;
353 hasScannedForEncodings = 0;
358 mainGroup = 94D750E32A31A796005859E7;
359 packageReferences = (
360 94FCD4F22A3A62A800D884A1 /* XCRemoteSwiftPackageReference "swift-collections" */,
362 productRefGroup = 94D750ED2A31A796005859E7 /* Products */;
366 94D750EB2A31A796005859E7 /* Blink */,
367 94D750FC2A31A798005859E7 /* BlinkTests */,
368 94D751062A31A798005859E7 /* BlinkUITests */,
371/* End PBXProject section */
373/* Begin PBXResourcesBuildPhase section */
374 94D750EA2A31A796005859E7 /* Resources */ = {
375 isa = PBXResourcesBuildPhase;
376 buildActionMask = 2147483647;
378 94D750F72A31A797005859E7 /* Preview Assets.xcassets in Resources */,
379 94D750F42A31A797005859E7 /* Assets.xcassets in Resources */,
381 runOnlyForDeploymentPostprocessing = 0;
383 94D750FB2A31A798005859E7 /* Resources */ = {
384 isa = PBXResourcesBuildPhase;
385 buildActionMask = 2147483647;
388 runOnlyForDeploymentPostprocessing = 0;
390 94D751052A31A798005859E7 /* Resources */ = {
391 isa = PBXResourcesBuildPhase;
392 buildActionMask = 2147483647;
395 runOnlyForDeploymentPostprocessing = 0;
397/* End PBXResourcesBuildPhase section */
399/* Begin PBXShellScriptBuildPhase section */
400 94FCD4F72A3A6E4600D884A1 /* ShellScript */ = {
401 isa = PBXShellScriptBuildPhase;
403 buildActionMask = 2147483647;
406 inputFileListPaths = (
410 outputFileListPaths = (
414 runOnlyForDeploymentPostprocessing = 0;
416 shellScript = "xcrun agvtool next-version -all\n";
418/* End PBXShellScriptBuildPhase section */
420/* Begin PBXSourcesBuildPhase section */
421 94D750E82A31A796005859E7 /* Sources */ = {
422 isa = PBXSourcesBuildPhase;
423 buildActionMask = 2147483647;
425 94D7512B2A31D6AC005859E7 /* AssetHelpers.swift in Sources */,
426 94D2C8BD2A32796500BEE15B /* AlbumHelpers.swift in Sources */,
427 945F17B02A33D167004FC479 /* ThumbnailImage.swift in Sources */,
428 94D2C8BF2A3299BD00BEE15B /* PhotosLibrary.swift in Sources */,
429 94C5FFF62A33B698004ADDF5 /* PHAssetHStack.swift in Sources */,
430 945F17B22A33D69B004FC479 /* FavoriteOverlay.swift in Sources */,
431 94A083632A33F30300238964 /* LoadingIndicatorOverlay.swift in Sources */,
432 945F17B42A33D726004FC479 /* ReviewStateIcon.swift in Sources */,
433 945F17B62A33D7AA004FC479 /* ReviewStateBorder.swift in Sources */,
434 94A083612A33E98000238964 /* AlbumInfoOverlay.swift in Sources */,
435 94C5FFF22A33ADD4004ADDF5 /* PHFetchResultCollection.swift in Sources */,
436 94A083662A33F50900238964 /* Debug.swift in Sources */,
437 94A083682A33F6E900238964 /* ThumbnailList.swift in Sources */,
438 94D750F02A31A796005859E7 /* BlinkApp.swift in Sources */,
439 940331732A336B5100200C5D /* DeferredRendering.swift in Sources */,
440 9404B57D2A3EEBBA00068FA8 /* SettingsView.swift in Sources */,
441 9492C9702A3C3803002E44EC /* Timer.swift in Sources */,
442 94A0835E2A33E49E00238964 /* FocusedImage.swift in Sources */,
443 945F17B82A33DAC7004FC479 /* ReviewStateSaturation.swift in Sources */,
444 94D751222A31BD8E005859E7 /* PhotoReviewer.swift in Sources */,
445 94D2C8B92A320E6F00BEE15B /* ReviewState.swift in Sources */,
446 94FCD4F62A3A64F800D884A1 /* LRUCache.swift in Sources */,
447 94F7E39E2A331A9E00763DB9 /* Statistics.swift in Sources */,
448 94D2C8C12A32FCE300BEE15B /* PHAssetImage.swift in Sources */,
449 941E18FA2A35362600A2EA98 /* Info.swift in Sources */,
451 runOnlyForDeploymentPostprocessing = 0;
453 94D750F92A31A798005859E7 /* Sources */ = {
454 isa = PBXSourcesBuildPhase;
455 buildActionMask = 2147483647;
457 94D751022A31A798005859E7 /* BlinkTests.swift in Sources */,
459 runOnlyForDeploymentPostprocessing = 0;
461 94D751032A31A798005859E7 /* Sources */ = {
462 isa = PBXSourcesBuildPhase;
463 buildActionMask = 2147483647;
465 94D7510E2A31A798005859E7 /* BlinkUITestsLaunchTests.swift in Sources */,
466 94D7510C2A31A798005859E7 /* BlinkUITests.swift in Sources */,
468 runOnlyForDeploymentPostprocessing = 0;
470/* End PBXSourcesBuildPhase section */
472/* Begin PBXTargetDependency section */
473 94D750FF2A31A798005859E7 /* PBXTargetDependency */ = {
474 isa = PBXTargetDependency;
475 target = 94D750EB2A31A796005859E7 /* Blink */;
476 targetProxy = 94D750FE2A31A798005859E7 /* PBXContainerItemProxy */;
478 94D751092A31A798005859E7 /* PBXTargetDependency */ = {
479 isa = PBXTargetDependency;
480 target = 94D750EB2A31A796005859E7 /* Blink */;
481 targetProxy = 94D751082A31A798005859E7 /* PBXContainerItemProxy */;
483/* End PBXTargetDependency section */
485/* Begin XCBuildConfiguration section */
486 94D7510F2A31A798005859E7 /* Debug */ = {
487 isa = XCBuildConfiguration;
489 ALWAYS_SEARCH_USER_PATHS = NO;
490 CLANG_ANALYZER_NONNULL = YES;
491 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
492 CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
493 CLANG_ENABLE_MODULES = YES;
494 CLANG_ENABLE_OBJC_ARC = YES;
495 CLANG_ENABLE_OBJC_WEAK = YES;
496 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
497 CLANG_WARN_BOOL_CONVERSION = YES;
498 CLANG_WARN_COMMA = YES;
499 CLANG_WARN_CONSTANT_CONVERSION = YES;
500 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
501 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
502 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
503 CLANG_WARN_EMPTY_BODY = YES;
504 CLANG_WARN_ENUM_CONVERSION = YES;
505 CLANG_WARN_INFINITE_RECURSION = YES;
506 CLANG_WARN_INT_CONVERSION = YES;
507 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
508 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
509 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
510 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
511 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
512 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
513 CLANG_WARN_STRICT_PROTOTYPES = YES;
514 CLANG_WARN_SUSPICIOUS_MOVE = YES;
515 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
516 CLANG_WARN_UNREACHABLE_CODE = YES;
517 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
518 COPY_PHASE_STRIP = NO;
519 DEBUG_INFORMATION_FORMAT = dwarf;
520 ENABLE_STRICT_OBJC_MSGSEND = YES;
521 ENABLE_TESTABILITY = YES;
522 GCC_C_LANGUAGE_STANDARD = gnu11;
523 GCC_DYNAMIC_NO_PIC = NO;
524 GCC_NO_COMMON_BLOCKS = YES;
525 GCC_OPTIMIZATION_LEVEL = 0;
526 GCC_PREPROCESSOR_DEFINITIONS = (
530 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
531 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
532 GCC_WARN_UNDECLARED_SELECTOR = YES;
533 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
534 GCC_WARN_UNUSED_FUNCTION = YES;
535 GCC_WARN_UNUSED_VARIABLE = YES;
536 MACOSX_DEPLOYMENT_TARGET = 13.3;
537 MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
539 ONLY_ACTIVE_ARCH = YES;
541 SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
542 SWIFT_OPTIMIZATION_LEVEL = "-Onone";
546 94D751102A31A798005859E7 /* Release */ = {
547 isa = XCBuildConfiguration;
549 ALWAYS_SEARCH_USER_PATHS = NO;
550 CLANG_ANALYZER_NONNULL = YES;
551 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
552 CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
553 CLANG_ENABLE_MODULES = YES;
554 CLANG_ENABLE_OBJC_ARC = YES;
555 CLANG_ENABLE_OBJC_WEAK = YES;
556 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
557 CLANG_WARN_BOOL_CONVERSION = YES;
558 CLANG_WARN_COMMA = YES;
559 CLANG_WARN_CONSTANT_CONVERSION = YES;
560 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
561 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
562 CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
563 CLANG_WARN_EMPTY_BODY = YES;
564 CLANG_WARN_ENUM_CONVERSION = YES;
565 CLANG_WARN_INFINITE_RECURSION = YES;
566 CLANG_WARN_INT_CONVERSION = YES;
567 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
568 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
569 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
570 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
571 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
572 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
573 CLANG_WARN_STRICT_PROTOTYPES = YES;
574 CLANG_WARN_SUSPICIOUS_MOVE = YES;
575 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
576 CLANG_WARN_UNREACHABLE_CODE = YES;
577 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
578 COPY_PHASE_STRIP = NO;
579 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
580 ENABLE_NS_ASSERTIONS = NO;
581 ENABLE_STRICT_OBJC_MSGSEND = YES;
582 GCC_C_LANGUAGE_STANDARD = gnu11;
583 GCC_NO_COMMON_BLOCKS = YES;
584 GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
585 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
586 GCC_WARN_UNDECLARED_SELECTOR = YES;
587 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
588 GCC_WARN_UNUSED_FUNCTION = YES;
589 GCC_WARN_UNUSED_VARIABLE = YES;
590 MACOSX_DEPLOYMENT_TARGET = 13.3;
591 MTL_ENABLE_DEBUG_INFO = NO;
594 SWIFT_COMPILATION_MODE = wholemodule;
595 SWIFT_OPTIMIZATION_LEVEL = "-O";
599 94D751122A31A798005859E7 /* Debug */ = {
600 isa = XCBuildConfiguration;
602 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
603 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
604 CODE_SIGN_ENTITLEMENTS = Blink/Blink.entitlements;
605 CODE_SIGN_STYLE = Automatic;
606 COMBINE_HIDPI_IMAGES = YES;
607 CURRENT_PROJECT_VERSION = 130;
608 DEVELOPMENT_ASSET_PATHS = "\"Blink/Preview Content\"";
609 ENABLE_HARDENED_RUNTIME = YES;
610 ENABLE_PREVIEWS = YES;
611 GENERATE_INFOPLIST_FILE = YES;
612 INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.photography";
613 INFOPLIST_KEY_NSHumanReadableCopyright = "Made by Alex Chan <alex@alexwlchan.net>";
614 INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "This app needs full Photo Library permissions.";
615 LD_RUNPATH_SEARCH_PATHS = (
617 "@executable_path/../Frameworks",
619 MARKETING_VERSION = 1.0;
620 PRODUCT_BUNDLE_IDENTIFIER = net.alexwlchan.Blink;
621 PRODUCT_NAME = "$(TARGET_NAME)";
622 SWIFT_EMIT_LOC_STRINGS = YES;
624 VERSIONING_SYSTEM = "apple-generic";
628 94D751132A31A798005859E7 /* Release */ = {
629 isa = XCBuildConfiguration;
631 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
632 ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
633 CODE_SIGN_ENTITLEMENTS = Blink/Blink.entitlements;
634 CODE_SIGN_STYLE = Automatic;
635 COMBINE_HIDPI_IMAGES = YES;
636 CURRENT_PROJECT_VERSION = 130;
637 DEVELOPMENT_ASSET_PATHS = "\"Blink/Preview Content\"";
638 ENABLE_HARDENED_RUNTIME = YES;
639 ENABLE_PREVIEWS = YES;
640 GENERATE_INFOPLIST_FILE = YES;
641 INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.photography";
642 INFOPLIST_KEY_NSHumanReadableCopyright = "Made by Alex Chan <alex@alexwlchan.net>";
643 INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "This app needs full Photo Library permissions.";
644 LD_RUNPATH_SEARCH_PATHS = (
646 "@executable_path/../Frameworks",
648 MARKETING_VERSION = 1.0;
649 PRODUCT_BUNDLE_IDENTIFIER = net.alexwlchan.Blink;
650 PRODUCT_NAME = "$(TARGET_NAME)";
651 SWIFT_EMIT_LOC_STRINGS = YES;
653 VERSIONING_SYSTEM = "apple-generic";
657 94D751152A31A798005859E7 /* Debug */ = {
658 isa = XCBuildConfiguration;
660 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
661 BUNDLE_LOADER = "$(TEST_HOST)";
662 CODE_SIGN_STYLE = Automatic;
663 CURRENT_PROJECT_VERSION = 130;
664 GENERATE_INFOPLIST_FILE = YES;
665 MACOSX_DEPLOYMENT_TARGET = 13.3;
666 MARKETING_VERSION = 1.0;
667 PRODUCT_BUNDLE_IDENTIFIER = net.alexwlchan.BlinkReviewerTests;
668 PRODUCT_NAME = "$(TARGET_NAME)";
669 SWIFT_EMIT_LOC_STRINGS = NO;
671 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/BlinkReviewer.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/BlinkReviewer";
675 94D751162A31A798005859E7 /* Release */ = {
676 isa = XCBuildConfiguration;
678 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
679 BUNDLE_LOADER = "$(TEST_HOST)";
680 CODE_SIGN_STYLE = Automatic;
681 CURRENT_PROJECT_VERSION = 130;
682 GENERATE_INFOPLIST_FILE = YES;
683 MACOSX_DEPLOYMENT_TARGET = 13.3;
684 MARKETING_VERSION = 1.0;
685 PRODUCT_BUNDLE_IDENTIFIER = net.alexwlchan.BlinkReviewerTests;
686 PRODUCT_NAME = "$(TARGET_NAME)";
687 SWIFT_EMIT_LOC_STRINGS = NO;
689 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/BlinkReviewer.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/BlinkReviewer";
693 94D751182A31A798005859E7 /* Debug */ = {
694 isa = XCBuildConfiguration;
696 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
697 CODE_SIGN_STYLE = Automatic;
698 CURRENT_PROJECT_VERSION = 130;
699 GENERATE_INFOPLIST_FILE = YES;
700 MARKETING_VERSION = 1.0;
701 PRODUCT_BUNDLE_IDENTIFIER = net.alexwlchan.BlinkReviewerUITests;
702 PRODUCT_NAME = "$(TARGET_NAME)";
703 SWIFT_EMIT_LOC_STRINGS = NO;
705 TEST_TARGET_NAME = BlinkReviewer;
709 94D751192A31A798005859E7 /* Release */ = {
710 isa = XCBuildConfiguration;
712 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
713 CODE_SIGN_STYLE = Automatic;
714 CURRENT_PROJECT_VERSION = 130;
715 GENERATE_INFOPLIST_FILE = YES;
716 MARKETING_VERSION = 1.0;
717 PRODUCT_BUNDLE_IDENTIFIER = net.alexwlchan.BlinkReviewerUITests;
718 PRODUCT_NAME = "$(TARGET_NAME)";
719 SWIFT_EMIT_LOC_STRINGS = NO;
721 TEST_TARGET_NAME = BlinkReviewer;
725/* End XCBuildConfiguration section */
727/* Begin XCConfigurationList section */
728 94D750E72A31A796005859E7 /* Build configuration list for PBXProject "Blink" */ = {
729 isa = XCConfigurationList;
730 buildConfigurations = (
731 94D7510F2A31A798005859E7 /* Debug */,
732 94D751102A31A798005859E7 /* Release */,
734 defaultConfigurationIsVisible = 0;
735 defaultConfigurationName = Release;
737 94D751112A31A798005859E7 /* Build configuration list for PBXNativeTarget "Blink" */ = {
738 isa = XCConfigurationList;
739 buildConfigurations = (
740 94D751122A31A798005859E7 /* Debug */,
741 94D751132A31A798005859E7 /* Release */,
743 defaultConfigurationIsVisible = 0;
744 defaultConfigurationName = Release;
746 94D751142A31A798005859E7 /* Build configuration list for PBXNativeTarget "BlinkTests" */ = {
747 isa = XCConfigurationList;
748 buildConfigurations = (
749 94D751152A31A798005859E7 /* Debug */,
750 94D751162A31A798005859E7 /* Release */,
752 defaultConfigurationIsVisible = 0;
753 defaultConfigurationName = Release;
755 94D751172A31A798005859E7 /* Build configuration list for PBXNativeTarget "BlinkUITests" */ = {
756 isa = XCConfigurationList;
757 buildConfigurations = (
758 94D751182A31A798005859E7 /* Debug */,
759 94D751192A31A798005859E7 /* Release */,
761 defaultConfigurationIsVisible = 0;
762 defaultConfigurationName = Release;
764/* End XCConfigurationList section */
766/* Begin XCRemoteSwiftPackageReference section */
767 94FCD4F22A3A62A800D884A1 /* XCRemoteSwiftPackageReference "swift-collections" */ = {
768 isa = XCRemoteSwiftPackageReference;
769 repositoryURL = "https://github.com/apple/swift-collections.git";
771 kind = upToNextMajorVersion;
772 minimumVersion = 1.0.0;
775/* End XCRemoteSwiftPackageReference section */
777/* Begin XCSwiftPackageProductDependency section */
778 94FCD4F32A3A62A800D884A1 /* OrderedCollections */ = {
779 isa = XCSwiftPackageProductDependency;
780 package = 94FCD4F22A3A62A800D884A1 /* XCRemoteSwiftPackageReference "swift-collections" */;
781 productName = OrderedCollections;
783/* End XCSwiftPackageProductDependency section */
785 rootObject = 94D750E42A31A796005859E7 /* Project object */;