project.pbxproj (119494B)
1 // !$*UTF8*$! 2 { 3 archiveVersion = 1; 4 classes = { 5 }; 6 objectVersion = 77; 7 objects = { 8 9 /* Begin PBXBuildFile section */ 10 0063A5FC9F39E37A67F137FF /* GameListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED2D830B9EFAD753C233BEB4 /* GameListView.swift */; }; 11 00A25F5D8DFF62EFA0C4D1D7 /* FriendEntity+DisplayName.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F8D856707B4D76FDBF4AE69 /* FriendEntity+DisplayName.swift */; }; 12 00F2108848ADC7B4BF3AA0AE /* PlayerSessionNavigationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46801B570FC0B2C791ECDED3 /* PlayerSessionNavigationTests.swift */; }; 13 014134FB81566B5D41168260 /* PerGameZoneTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 283C5C97180C805B6C5BF622 /* PerGameZoneTests.swift */; }; 14 0158184A413AE177F75B4150 /* JournalReplayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89B1FFD2F90141EA949A8540 /* JournalReplayTests.swift */; }; 15 01D1B4C7303F1CA52438FF86 /* HardwareKeyboardInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6940546CFA1E87EF814AA6BB /* HardwareKeyboardInputView.swift */; }; 16 0241DC498C645FE1BDA00FB0 /* NYTPuzzleFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0938B0ACB40772EE522D77C /* NYTPuzzleFetcher.swift */; }; 17 025377AF80D45967CE910423 /* SyncMonitorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C190EA5717C291B3F2AE46C /* SyncMonitorTests.swift */; }; 18 02943BA53D2130B910E6DC00 /* EnsureGameEntityTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94CEBA27A8AC4FCC92ADE1B4 /* EnsureGameEntityTests.swift */; }; 19 036EC1EDDEFD17DCDD9B5F1A /* ClueList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B8B65482CA1739A3863A99E /* ClueList.swift */; }; 20 04062BCD473ED244159B1066 /* PlayerRosterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1813630FA05C194AFF43855C /* PlayerRosterTests.swift */; }; 21 06AE6DF7AA3274480C591E47 /* EngagementStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B09D52DB46731E92C3E9297C /* EngagementStore.swift */; }; 22 07A46496EE0B12FD526F36FB /* SessionPushPlannerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C040D5EBC73B1ED47C2C9D4 /* SessionPushPlannerTests.swift */; }; 23 082B9BAADE3AFA54EFE30E19 /* PuzzleModifiers.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5DF04E70017065DFA95B396 /* PuzzleModifiers.swift */; }; 24 085B70680087464B8A7BA3EE /* GridSilhouetteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF7062403AC9CFB4FF04BBF3 /* GridSilhouetteTests.swift */; }; 25 0A7AEB93A473AFCCD9217F49 /* PuzzleSessionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 362E3A93102B6C9AECD4133A /* PuzzleSessionTests.swift */; }; 26 0C39CA21BE50E49F9F06C5F2 /* PlayerRoster.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3292748EAE27B608C769D393 /* PlayerRoster.swift */; }; 27 0F2992C16A3A658DEA0F707E /* DiagnosticsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCACEED6A9235EC6221F4F66 /* DiagnosticsView.swift */; }; 28 1016604FBD4D63A0B9AAE503 /* CloudQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16AAC1E8D2CB3B5117159934 /* CloudQuery.swift */; }; 29 128915DB37018EE4CC16C856 /* GameCursorStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D2AD5021F1AF0DB44FA4540 /* GameCursorStore.swift */; }; 30 13C0F34520828020AD825D07 /* JoiningPuzzleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E18FF14E0D73B0D2DB427F08 /* JoiningPuzzleView.swift */; }; 31 14749A042380925B7CA902F2 /* XDMarkup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF18C52558DBD58ECAD4964 /* XDMarkup.swift */; }; 32 15768439C1783A1780FBB824 /* SessionCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A7BD8DFDB41BFBA694A0933 /* SessionCoordinator.swift */; }; 33 16D7328AE0BB1F7ED46235C8 /* GameEntity+ContentKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24A4B5C8EC4A46906C07F819 /* GameEntity+ContentKey.swift */; }; 34 17A754692F05B97DBDD645F2 /* PlayerSelection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F0B4F65D017C1FBAC3B23DF /* PlayerSelection.swift */; }; 35 18D5BB584DBF92A2EC580AEA /* NotificationNavigationBrokerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEDD63AD5E33E2B0399780EF /* NotificationNavigationBrokerTests.swift */; }; 36 197DDF45C36B9570BB9AE4B5 /* AuthorIdentity.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1F1471BE4D6D84361DD692B /* AuthorIdentity.swift */; }; 37 1A19D13D9B820E276C60819E /* InputMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6BDD06460A76D4AF31077732 /* InputMonitor.swift */; }; 38 1A1A8A9AB36D02E2A5A9ED28 /* GameViewedStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9AE0F26E602A9246F5C6ABF /* GameViewedStore.swift */; }; 39 1AAFF86B40CBBFF1EC9ADF9F /* GridThumbnailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B1F07B5DDE2A8B49B28392A /* GridThumbnailView.swift */; }; 40 1D08DDEDEF5433912CC6D4DB /* GameViewedStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9406C27662147CD3C0783644 /* GameViewedStoreTests.swift */; }; 41 1F4E5473F78A5CEDBA9719CE /* NYTAuthService.swift in Sources */ = {isa = PBXBuildFile; fileRef = A253416F4FEA271A80B22A73 /* NYTAuthService.swift */; }; 42 24F7ED458A1C09F8CF309B35 /* PuzzleNotificationText+GameEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DF9C2FEF0D3584864DFC967 /* PuzzleNotificationText+GameEntity.swift */; }; 43 2571BA6482B3E896A80FF393 /* CompactSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = B024B2FFB11E51E9724BBE23 /* CompactSlider.swift */; }; 44 262A9CE8C3CB93869190CFF1 /* GameStoreMergedAuthorCellsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 122BC1863D12DE06388D5DA7 /* GameStoreMergedAuthorCellsTests.swift */; }; 45 2641299DE1F2E84E8C21E037 /* LogScrubberTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C06E2CC3A77CB306BD2DF867 /* LogScrubberTests.swift */; }; 46 267ED5B329F05A30430B73A0 /* EngagementHost.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18C701DAE36000DE19F7CC95 /* EngagementHost.swift */; }; 47 26DC22F88FA10C47BC06975E /* PersistenceRecoveryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A467BC00116EEC8500BE6A1 /* PersistenceRecoveryTests.swift */; }; 48 2A273C98FE3AC5E4C9BE1D88 /* PushPayloadCipherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C793B5B9684D49328E42129 /* PushPayloadCipherTests.swift */; }; 49 2AF2550B08CE79F8615B3076 /* FriendZone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A4AFF292381C9B33C0F2CD6 /* FriendZone.swift */; }; 50 2C0DFC182240A2519ED1FA6A /* GameMutatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFC1C59A30FB2571598273E4 /* GameMutatorTests.swift */; }; 51 2C5A15054CCCBF9FD626AFBB /* GameStorePushAddressTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A56778AF8190F0D7EB2E27E /* GameStorePushAddressTests.swift */; }; 52 2DD78CA0CD587AA4E5C4B178 /* PuzzleScoreboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3A251D89028B3CA065DE053 /* PuzzleScoreboard.swift */; }; 53 30703DDF575DCDA53227DA66 /* GamePushCredentialsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B5A8118AC2FE60D877F1D29 /* GamePushCredentialsTests.swift */; }; 54 309457EC2DFEC476253D54D2 /* PlayerSelectionPublisherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FF159746D076E051C2CB590C /* PlayerSelectionPublisherTests.swift */; }; 55 31F2B6A61ED352C7D800149F /* XDAcceptTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F4EBC0F07FF815274C028CA /* XDAcceptTests.swift */; }; 56 328309D8CC72CCB5623FB2A1 /* EngagementCoordinatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CFF96D54D2DE9C44EB120A /* EngagementCoordinatorTests.swift */; }; 57 350722635E9A17324148CACC /* PuzzleCatalog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DC7784917397BCD6B8D679D /* PuzzleCatalog.swift */; }; 58 351CB23C537BAB61863D95F6 /* PuzzleNotificationText.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE7CEB8980A9664BAAA5D196 /* PuzzleNotificationText.swift */; }; 59 35777D908A7D062730A18EF9 /* RecordEditorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3EF436B410916399336AC106 /* RecordEditorView.swift */; }; 60 35D97436772257DAD3936ECB /* TipStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D4A76B233E16B7C5A248EB7 /* TipStore.swift */; }; 61 36E2AAF1EE1314E13477EE85 /* NicknameDirectory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111803C8FFFB0C839217482 /* NicknameDirectory.swift */; }; 62 38C913D00ED762BD9E355A2D /* KeychainHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33878A29B09A6154C7A63C82 /* KeychainHelper.swift */; }; 63 3A5483EF2893AE325DF27EE8 /* GameMutator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DC132D49361C56DE79C13E /* GameMutator.swift */; }; 64 3C54AE4AA04342CCF5705B20 /* PlayerNamePublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71DFD035381B6252DCD873C9 /* PlayerNamePublisher.swift */; }; 65 3C54B672A9FCA98C0A304470 /* TipsArchive.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9DC6394CB0F5B85C083FAC7 /* TipsArchive.swift */; }; 66 41290C86E72D6567C43C31B7 /* ShareLinkShortenerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 057F2B8B8A894D08BB801219 /* ShareLinkShortenerTests.swift */; }; 67 43E311FBD68B7D35A4D29743 /* PushPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2C9D3E7FCE2D42C5B7E3856 /* PushPayload.swift */; }; 68 449B0A09A36B276C93CFB9A4 /* GameStoreUnreadMovesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31C534911020BE4ED2E5065D /* GameStoreUnreadMovesTests.swift */; }; 69 44FF4A5334A4086DEA7D8A7B /* GameShareItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 663934F0B7CA8BDD462DFAA4 /* GameShareItem.swift */; }; 70 47584CBEF819C2F507D06DFF /* PlayerColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB55FC337CF72C650373210A /* PlayerColor.swift */; }; 71 4819D7FBB407C9D76510EA2A /* TestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = F97B399E89BBB37730F2F1E9 /* TestHelpers.swift */; }; 72 4A89595E3F6AB50E1D9E6BA8 /* ImportService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 462CE0FD356F6137C9BFD30F /* ImportService.swift */; }; 73 4B8CA45845618D75A3313816 /* GridSilhouette.swift in Sources */ = {isa = PBXBuildFile; fileRef = D16AC7215D0269195FEA8BA8 /* GridSilhouette.swift */; }; 74 4D7BF839BA71E1BF0AE9BCE9 /* GameStoreContributingDevicesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09EA25E2AE98ACD029EC0129 /* GameStoreContributingDevicesTests.swift */; }; 75 4D90B39AD2F79959FB8089EE /* MovesUpdater.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7DD270E16E00145EF2807EA9 /* MovesUpdater.swift */; }; 76 4D9E2C35893E68E47F790994 /* BundledBrowseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7023E506D777DB80B18A7DB5 /* BundledBrowseView.swift */; }; 77 4E14BB5D6F96D178373ED55A /* PeerChangeLedger.swift in Sources */ = {isa = PBXBuildFile; fileRef = B427285F8D6BE35025591BFA /* PeerChangeLedger.swift */; }; 78 4F1A93404828EDBDBBF86716 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C6AB016CA4E2FC69A0E6A4F /* SettingsView.swift */; }; 79 503229FF89FF7C29CEF4C16D /* Puzzle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C8064F04FC6177D987ACA2 /* Puzzle.swift */; }; 80 50C02D37A41D55CFA5D307E2 /* NYTPuzzleUpgraderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34489D0864DF76AF436E391 /* NYTPuzzleUpgraderTests.swift */; }; 81 51E6F7F2FC52C2AA87B9DB45 /* PeerPresenceGraceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08E8592B1CB1336E63498706 /* PeerPresenceGraceTests.swift */; }; 82 59230713D85AE6895852B06A /* InviteCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10064D171DB7C48D3DE1E769 /* InviteCoordinator.swift */; }; 83 5992AD4A06D7C6440825E9C6 /* GameArchiver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B7539E0AD285C5A3AC3DDA2 /* GameArchiver.swift */; }; 84 5E89D1F8FDFE56395997281A /* NewGameSheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09C81EFA0B7776CB9713CD63 /* NewGameSheet.swift */; }; 85 5ECF5B80D08E5E999A540782 /* SessionMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0EB332831AB173ACF6BFEC59 /* SessionMonitor.swift */; }; 86 5EFCD28B3B682DCCF38068D6 /* AnnouncementCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D3ECD0DE71BE567BCEE15F6 /* AnnouncementCenter.swift */; }; 87 5FB26F40F5DB52111E3D1BDC /* CheckResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FD9A43789D0ED123F7A99B0 /* CheckResult.swift */; }; 88 609364CB79E0C7517298B404 /* ContentKeyDirectory.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAFA466405AABA1C06272795 /* ContentKeyDirectory.swift */; }; 89 61F8B38587EE49D376B53544 /* ReplayCacheTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 603E6FC55F1BD944592379D2 /* ReplayCacheTests.swift */; }; 90 6850EAE474E589CE1EA2DF68 /* NicknameDirectoryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92168360625ECDD36FF50EE8 /* NicknameDirectoryTests.swift */; }; 91 689DAEC70934027E76E8116E /* KeyboardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FDE73AD7C543B29C8E493F8 /* KeyboardView.swift */; }; 92 6A1CA96FF48CBEEE78EA6D34 /* FriendModelTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B766E872B12DC79ECCD80941 /* FriendModelTests.swift */; }; 93 6AE88D9E1918508DBF2A91E1 /* NotificationState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D2FD896D75863554E31654C /* NotificationState.swift */; }; 94 6BE7E91158F4DF1F71247C6D /* CellMark.swift in Sources */ = {isa = PBXBuildFile; fileRef = B135C285570F91181595B405 /* CellMark.swift */; }; 95 6C091D30AAC9F63B7CE6FB58 /* AnnouncementCenterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 978A96CC6F550ED7A73F8D96 /* AnnouncementCenterTests.swift */; }; 96 6D2AF361587E43D807BA212F /* NYTLoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1747D4DCB4BCC831069BBE07 /* NYTLoginView.swift */; }; 97 6E36ED34ACF047BABB3E2D69 /* RecentChangesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 80B377D237AC14B9856579E1 /* RecentChangesTests.swift */; }; 98 6E67C0DCB0416F382EA065B7 /* JournalUploadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD9C72266D1BAC43C8976C0 /* JournalUploadTests.swift */; }; 99 712A2764596A2D17A0BBBF3B /* FriendZoneTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 800CCFBE90554F287E765755 /* FriendZoneTests.swift */; }; 100 7714B1C2FBCBBAD9BE8FEAF8 /* GameSummaryThumbnailTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5EEBF169823C172000FC45B /* GameSummaryThumbnailTests.swift */; }; 101 77556FD9473A3F10FADF5E4E /* PersistenceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACC295195602B3DDF7BB3895 /* PersistenceController.swift */; }; 102 779D1955F350B507A47B1E5B /* ShareLinkShortener.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52B50A841D92D1F2B173E7DF /* ShareLinkShortener.swift */; }; 103 786813F3418C32EFBF296220 /* XDMarkupTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9FE0A9624DB87758F3D1768 /* XDMarkupTests.swift */; }; 104 78802AFDF6273231781CC0DC /* AppServices.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBDC81CA6A9C80EB31E7F493 /* AppServices.swift */; }; 105 7BD1A9F69953F9C3288969AF /* PlayerRecordPresenceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C838C184A0C7B1B0A9821CE /* PlayerRecordPresenceTests.swift */; }; 106 7D4A56FBB1C5D5F89271B77F /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 507B4DC893CE8AC4778CBACE /* NotificationService.swift */; }; 107 7D9337A19747C79070AB3D59 /* InviteEntity+DisplayName.swift in Sources */ = {isa = PBXBuildFile; fileRef = E25A040EA4DC9672C895A7AC /* InviteEntity+DisplayName.swift */; }; 108 7FCD3F582B5ADC235E1F88A0 /* PuzzleNotificationTextTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C90E94A01FEA77A5C9A2BC94 /* PuzzleNotificationTextTests.swift */; }; 109 7FFEACFC672925A0968ACC1C /* XD.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9031A1574C21866940F6A2C /* XD.swift */; }; 110 8225918652DCC822CA1C862F /* PendingEditFlagTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D491B7232333AA8957732387 /* PendingEditFlagTests.swift */; }; 111 82918A74836E5076CBFA1592 /* SyncEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73DDDED719CFFDD6035C3B48 /* SyncEngine.swift */; }; 112 85A798525FE1DC98210A9E82 /* GameCursorStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60E818B0F4689BAD57660B7C /* GameCursorStoreTests.swift */; }; 113 85B9BAC5ED404FE4496250CB /* NYTPuzzleUpgrader.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE54EF557E8D808BAA20EA54 /* NYTPuzzleUpgrader.swift */; }; 114 884BC090D4E2D416AA52D6FD /* FriendPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E78C275F8A90E3E3EEF190CC /* FriendPickerView.swift */; }; 115 88A34C8857B2B3D45A6FBCB2 /* PuzzleSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 710BCB6A647A820B106CE666 /* PuzzleSession.swift */; }; 116 88BACA1689459AC9AED20D43 /* NotificationState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D2FD896D75863554E31654C /* NotificationState.swift */; }; 117 89CEDB8864F61E42AC04F9D6 /* RecordSerializerMovesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 443BF6DF77C8226313EE9564 /* RecordSerializerMovesTests.swift */; }; 118 8AE376C0726116082B15241D /* ShareLinkRouteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5990D989AD745211A18848E4 /* ShareLinkRouteTests.swift */; }; 119 8B356C953DA0FAF149C3391A /* Puzzles in Resources */ = {isa = PBXBuildFile; fileRef = BA67C509B467132D1B7510A4 /* Puzzles */; }; 120 8D8A9F70731C98DD00BE1DA5 /* Layouts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 836B8D4B351C9225162A82C0 /* Layouts.swift */; }; 121 8F5CB2F94E083D06D7E04280 /* PlayerSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20B331CC55827FEF3420ABCE /* PlayerSession.swift */; }; 122 8FEE38B2B540F0E91560747F /* PushPayloadCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33DE10D2A5AFBAC73469BD33 /* PushPayloadCipher.swift */; }; 123 903681985C17FCB5F97773A9 /* OpenPuzzleBannerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8CA0FC750259EB1D762B0EE /* OpenPuzzleBannerTests.swift */; }; 124 91703E54DB4679C1911BF994 /* Moves.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86470163BFF956F3DE438506 /* Moves.swift */; }; 125 924B29C1EEB29F849A6824C3 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C8886A66F0877858A67D62 /* AboutView.swift */; }; 126 931431F8052FC58768C9BC26 /* FriendControllerNicknameReplayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E2702C74378FD2F14D1CE33 /* FriendControllerNicknameReplayTests.swift */; }; 127 93DB3DD9A8EE994B92E7C084 /* GridView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED48AD9C3A7A113D101BBD21 /* GridView.swift */; }; 128 9502840161DB88BB6BB409D5 /* Journal.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF3D29B227D2B0E699423C48 /* Journal.swift */; }; 129 95170ECF07E94E7581C2B66F /* ContentKeyDirectory.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAFA466405AABA1C06272795 /* ContentKeyDirectory.swift */; }; 130 9582AA583F5EA008FFC82B64 /* ZoneOrphaningTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9A01534A21796A4EC7113A9 /* ZoneOrphaningTests.swift */; }; 131 95B4083F8BC2CA465077A662 /* PlayerColorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23FCFFF1C2C7E909DFD8FC43 /* PlayerColorTests.swift */; }; 132 9789150602A3321D2E1E7E81 /* Media.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0BF60C84D92A9024AC1A53FC /* Media.xcassets */; }; 133 978F91DBAE94BC5DA1D94705 /* DriveMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70AD1A006E6D03E4429E3BF0 /* DriveMonitor.swift */; }; 134 98F8FBF324ED00D53FEBB1DB /* Game.swift in Sources */ = {isa = PBXBuildFile; fileRef = 465F2BB469EFE84CF3733398 /* Game.swift */; }; 135 9AACF424992AE45FD7937064 /* GameStoreCompletionLockTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E230B327585E1E3A2921C92 /* GameStoreCompletionLockTests.swift */; }; 136 9AD5700398B1C1F29A3A75F6 /* TipStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8D6991C1EBAB2C64D9DF669 /* TipStoreTests.swift */; }; 137 9AD8936D94FD676B23DFBB77 /* RecentChanges.swift in Sources */ = {isa = PBXBuildFile; fileRef = 605CA0FC7AF069CE3A3B38C1 /* RecentChanges.swift */; }; 138 9C52C48DB4996D5C83DEC144 /* PuzzleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57B1734CF731C2E405A39159 /* PuzzleView.swift */; }; 139 9CB8808193A4A106D721D767 /* XDFileType.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAC61E2582D94B1E6EC67136 /* XDFileType.swift */; }; 140 9FFD01CF6767220EEA20C0E4 /* GamePushCredentials.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78919F44C3035C48410FC894 /* GamePushCredentials.swift */; }; 141 A0977C7B0B0D928DA569C326 /* NicknameDirectory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111803C8FFFB0C839217482 /* NicknameDirectory.swift */; }; 142 A133A4B4A0C95AF8708BD7E6 /* PushClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A9F9E7ED4E1AF02F0C71051 /* PushClient.swift */; }; 143 A22113A51213068FBF708A56 /* CellView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D25D12FF374F83BF4DB83DD /* CellView.swift */; }; 144 A458AF9CA8579AB51B695B08 /* PendingChangeReapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAEDA3C3765CD8D8897FE5D5 /* PendingChangeReapTests.swift */; }; 145 A65F99414F8CF6704567BB07 /* Archive.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8C18E9B47668E008BE4CF86 /* Archive.swift */; }; 146 A78FF09708EDED7ED50BB55B /* PushPayloadTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E87E28DC9402A4369647DE50 /* PushPayloadTests.swift */; }; 147 A7FA870D794CA00F7F3F05D2 /* EngagementHostEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 400B3C87248F3FCA3F76400B /* EngagementHostEnvironment.swift */; }; 148 A87E5E615559B6461B1C3F94 /* AnnouncementBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD68E9CA9D3057FE07E985E1 /* AnnouncementBanner.swift */; }; 149 A98382E7659991FAF0F4ED0A /* AuthorIdentityTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 457B06DBFDC358D213A7CE54 /* AuthorIdentityTests.swift */; }; 150 AA38A51862FC0AB8F7D34899 /* NYTToXDConverterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C54223FED97577A593B7964E /* NYTToXDConverterTests.swift */; }; 151 AACC9F70AEEDCB3360FFDEFF /* GridStateMergerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C7F3A9BD7FAF81CB77032A6 /* GridStateMergerTests.swift */; }; 152 AB6D98C7A78D91D7BEFB4A4C /* MarketingPuzzleScreenshotView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AEFE2C7623A899BAABD85F4 /* MarketingPuzzleScreenshotView.swift */; }; 153 ADBEAD1C0139BCF864CA8A1D /* PuzzleCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89528AF69DE06C61FA8E91A1 /* PuzzleCommands.swift */; }; 154 AE5D8C531F89F05B7201B3AC /* SessionMonitorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F64DAE64C9AA042B330C526F /* SessionMonitorTests.swift */; }; 155 AF4F1AE2A1F94E92C785C524 /* Square.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB851649DE78AAAC5A928C52 /* Square.swift */; }; 156 B00743DAF8F46F14CE13E909 /* FriendsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 298A9C54A1CC753E860E174E /* FriendsView.swift */; }; 157 B0170C8927EDD2E43F849204 /* TimeLog.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFFB5B2EFBB62B7021AC2FC2 /* TimeLog.swift */; }; 158 B48DE7079BE2F31D2367C5F7 /* SessionPushPlanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA49DA9E0ADEB11A920787FA /* SessionPushPlanner.swift */; }; 159 B5F78A55C9BCCD24E44D865F /* JournalReplay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 27ECEA51DE42D07495744EF8 /* JournalReplay.swift */; }; 160 B6AB531F4E0C4031B627C539 /* PlayerSelectionPublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11BF168D5C1CD85DAE5CAF9E /* PlayerSelectionPublisher.swift */; }; 161 B762200F54C52E8377A80D15 /* NYTToXDConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF6F111BE8750697C4BC7A17 /* NYTToXDConverter.swift */; }; 162 BAB41DBF7D099B1EE46B4ACB /* ClueBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = E935CE4384F3B67CC22EEBAC /* ClueBar.swift */; }; 163 BCB9A4D5E06EE5006186465D /* ShareController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C74683332956B0D1CA37589 /* ShareController.swift */; }; 164 BD317ECC09C9099AC29B8C5D /* FriendAvatarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 065CD67A1D9F7B63AE6B42D6 /* FriendAvatarView.swift */; }; 165 BE57957589423497338EBD37 /* ShareRoutingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68072F4F3EB5D5A78E03D408 /* ShareRoutingTests.swift */; }; 166 C1930083671621AC79CF95DD /* MovesUpdaterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AF6157D97271205626E207C /* MovesUpdaterTests.swift */; }; 167 C1D97A4CD02BC9C22C4208BB /* NYTAuthServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED8154F949E1D94252F70765 /* NYTAuthServiceTests.swift */; }; 168 C30C0C4E54E4209A22843872 /* CrossmateModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = F93AC31640C40FCC039570A3 /* CrossmateModel.xcdatamodeld */; }; 169 C472EF02D8C7B0AC1D2284B8 /* CustomButtons.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9B757D86362CD6F0500E9CB /* CustomButtons.swift */; }; 170 C511387D9FFBCC2E2F5EF699 /* NotificationService.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 51318FC5DAE02D35CB005729 /* NotificationService.appex */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 171 C58F15CBEADA72032B54009D /* ReplayControlsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847415468DBB1C566D18BC17 /* ReplayControlsTests.swift */; }; 172 C843CADAA263CED503528A4E /* NYTBrowseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3413F8755236FC0578AF8109 /* NYTBrowseView.swift */; }; 173 C89A15D812E372FE1C56039B /* PUZToXDConverterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDE193CAB325C991952D7CE5 /* PUZToXDConverterTests.swift */; }; 174 C8ACF431021E7BEE61A99153 /* FriendController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E655698481325C92EF5C348B /* FriendController.swift */; }; 175 C9864C9940C9DAAD0A788094 /* ReplayLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FFD574AC2D0A910053E2A73 /* ReplayLoader.swift */; }; 176 CABF8BFAA30B9F26C482FAB9 /* EngagementCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FDE03B4A77A8095ED2C23AB /* EngagementCoordinator.swift */; }; 177 CC250D6BA9B41CB722D8A62E /* CloudService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56BC76178319D0D669CD50FF /* CloudService.swift */; }; 178 CCF3867C32C3F36E4F69A59E /* DebuggingMonitors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16E1DA8C1B4E73AFB779CC06 /* DebuggingMonitors.swift */; }; 179 CEDF853009D0C367035F1F76 /* PlayerNamePublisherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DE04D53EC3BC7D2DA0093C3 /* PlayerNamePublisherTests.swift */; }; 180 CF0CA17ABE211DAE4DD35AFD /* RecordSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0A7348E1283E7CD2486E2A /* RecordSerializer.swift */; }; 181 CF1DC343A5D3110EDFA703AB /* LastUpdatedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF3B7E191D571FD800A4D719 /* LastUpdatedView.swift */; }; 182 CF56BBB90855367CB85FEB43 /* PUZToXDConverter.swift in Sources */ = {isa = PBXBuildFile; fileRef = B369788E0FEA0DCE1B125816 /* PUZToXDConverter.swift */; }; 183 D13ECFAE05DB508577D2FF66 /* RecordBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5267DDA1A330DCBD07303D44 /* RecordBuilder.swift */; }; 184 D240BF6498A9148855DB7734 /* EngagementLifecycle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DB0580C9B7C778F34BE6AC2 /* EngagementLifecycle.swift */; }; 185 D2AC1D9BD7E387B06B9B8A0E /* PuzzleHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADBA3FB1334DB816E62B7D9B /* PuzzleHeader.swift */; }; 186 D4EDC0D426688B295DA77C08 /* ShareLinkRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2ED0D601BB574618C15B5EF /* ShareLinkRoute.swift */; }; 187 D5022BFB2F8F2E5904EDF5C8 /* GameCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F34401948BC53DA9C93D64B /* GameCardView.swift */; }; 188 D519F54F8CE0BD53D9C6144C /* AppServicesAnnouncementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9998739ED0875A17271B7899 /* AppServicesAnnouncementTests.swift */; }; 189 D58980B92C99122C368D4216 /* GameStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93EE5BA78566EDED68D846AB /* GameStore.swift */; }; 190 D94FF5DFB9412D2DC24F6574 /* RecordApplier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD63A9B20168F3B81AF4348F /* RecordApplier.swift */; }; 191 DAD7EA11DA7330773A485473 /* PeerChangeLedgerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D243575E32A8663B1AAF492A /* PeerChangeLedgerTests.swift */; }; 192 DB098F40C6950E29B4BF10A7 /* ArchiveTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9EA9CF96312BFF5340CE2A7 /* ArchiveTests.swift */; }; 193 DDC7994B951A3A7B836B36F6 /* SuccessPanel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41A62DA6F7138876CA5A27EF /* SuccessPanel.swift */; }; 194 DE90CC8BE23A0EFC4A32FFA5 /* MovesInboundTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF1254FE7BE3672AEC1607B1 /* MovesInboundTests.swift */; }; 195 DE9E4FAB098731A650F2D306 /* CrossmateApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14F2AC5C3B50F4178859E9AC /* CrossmateApp.swift */; }; 196 E15A40AA623B60279E8DDF43 /* CloudDiagnostics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07E5E4B165E374FEE732068B /* CloudDiagnostics.swift */; }; 197 E16A8FE849A8E8BCC0F32280 /* CloudZones.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44F86F0F1883A93F9622FB67 /* CloudZones.swift */; }; 198 E1FBC33E3348547D4DF946C4 /* ReplayControls.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50EE8A159CC553623F6F7DE4 /* ReplayControls.swift */; }; 199 E354A588DBA74627A9CD5591 /* Presence.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFC4FF046BF772646B5CA73F /* Presence.swift */; }; 200 E454051BA4797000C8AD2B48 /* MovesCodecLegacyDecodeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4B33C21324E1474BCC126AA0 /* MovesCodecLegacyDecodeTests.swift */; }; 201 E632562D090D8BE907F28C53 /* NotificationStateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 47532AED239AEF476D8E9206 /* NotificationStateTests.swift */; }; 202 E6A13F8736ABF41F6346E301 /* ParticipantSummaries.swift in Sources */ = {isa = PBXBuildFile; fileRef = FED7C2528355BC007E48B7EF /* ParticipantSummaries.swift */; }; 203 E81F92AAB2968997C3D68809 /* PuzzleNotificationText.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE7CEB8980A9664BAAA5D196 /* PuzzleNotificationText.swift */; }; 204 E91FB8101E1927CA567DE825 /* PuzzleSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7AFD37B03A1C2E23E5766E6 /* PuzzleSource.swift */; }; 205 EA0AA522F6C383034C4572F4 /* AccountPushCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03D59EA74A4BA084AD97478D /* AccountPushCoordinator.swift */; }; 206 EB6E99226D5EE27668787008 /* BadgeCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D5B1E8E12B86DF6CA478F65 /* BadgeCoordinator.swift */; }; 207 ECC1A5C3623F50B67185CFFB /* RecordSerializerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E4DEAF9F7887CBB46A99E8E /* RecordSerializerTests.swift */; }; 208 ED6C21CD9F5AB286B69A02E4 /* GridStateMerger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14B05C19BD4705876B3DF0EC /* GridStateMerger.swift */; }; 209 F15591B48E4155CB19C1F084 /* TimeLogTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7F35A7BFE52279BC24677F5 /* TimeLogTests.swift */; }; 210 F2F7CB23DA62BF714632B097 /* PushRequestAuthenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = FAF6E3F3558E128E7A482A61 /* PushRequestAuthenticator.swift */; }; 211 F34EDFD45E2F5006807DDAC7 /* PuzzleCatalogTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8560440C548752EE93E0ED9 /* PuzzleCatalogTests.swift */; }; 212 F46733AB3C72749A4A992667 /* SyncState+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A49C3C31F49A85764B84A15 /* SyncState+Helpers.swift */; }; 213 F5F333B36654AEAF69A3C220 /* MovesJournalTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78C92190C4A344EC319A0F88 /* MovesJournalTests.swift */; }; 214 F627D68B521FEA85EB80A850 /* CalendarDayCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF20BDF7FF6423BA4FD911D5 /* CalendarDayCell.swift */; }; 215 F8A4B3A1F9601654C60550B3 /* PushPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2C9D3E7FCE2D42C5B7E3856 /* PushPayload.swift */; }; 216 F8D37DBE75D7B3F039A8FAC8 /* ImportedBrowseView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A832061C19BA0F073617CA2 /* ImportedBrowseView.swift */; }; 217 F8DDA34AC1A6B6499C5D222E /* PlayerPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46148CF0F4D719692F81A6EC /* PlayerPreferences.swift */; }; 218 FC480FE2930EAE406F5BBBDA /* GameRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBD2570A5A3573D66B3C4A52 /* GameRowView.swift */; }; 219 FC4853B4261B06945D0D1470 /* PushPayloadCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33DE10D2A5AFBAC73469BD33 /* PushPayloadCipher.swift */; }; 220 /* End PBXBuildFile section */ 221 222 /* Begin PBXContainerItemProxy section */ 223 0751E0359C340223ADBA2B05 /* PBXContainerItemProxy */ = { 224 isa = PBXContainerItemProxy; 225 containerPortal = 9167165F088B7698D1319D3C /* Project object */; 226 proxyType = 1; 227 remoteGlobalIDString = 350366A68B75DC4BDA91F8E5; 228 remoteInfo = NotificationService; 229 }; 230 F0122CF3E216720C4437CE6A /* PBXContainerItemProxy */ = { 231 isa = PBXContainerItemProxy; 232 containerPortal = 9167165F088B7698D1319D3C /* Project object */; 233 proxyType = 1; 234 remoteGlobalIDString = 7708D1C8A0145D43BD15DEB7; 235 remoteInfo = Crossmate; 236 }; 237 /* End PBXContainerItemProxy section */ 238 239 /* Begin PBXCopyFilesBuildPhase section */ 240 2768812850886EB633B6C27C /* Embed Foundation Extensions */ = { 241 isa = PBXCopyFilesBuildPhase; 242 buildActionMask = 2147483647; 243 dstPath = ""; 244 dstSubfolderSpec = 13; 245 files = ( 246 C511387D9FFBCC2E2F5EF699 /* NotificationService.appex in Embed Foundation Extensions */, 247 ); 248 name = "Embed Foundation Extensions"; 249 runOnlyForDeploymentPostprocessing = 0; 250 }; 251 /* End PBXCopyFilesBuildPhase section */ 252 253 /* Begin PBXFileReference section */ 254 03D59EA74A4BA084AD97478D /* AccountPushCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountPushCoordinator.swift; sourceTree = "<group>"; }; 255 057F2B8B8A894D08BB801219 /* ShareLinkShortenerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareLinkShortenerTests.swift; sourceTree = "<group>"; }; 256 065CD67A1D9F7B63AE6B42D6 /* FriendAvatarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendAvatarView.swift; sourceTree = "<group>"; }; 257 07E5E4B165E374FEE732068B /* CloudDiagnostics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudDiagnostics.swift; sourceTree = "<group>"; }; 258 08E8592B1CB1336E63498706 /* PeerPresenceGraceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PeerPresenceGraceTests.swift; sourceTree = "<group>"; }; 259 09C81EFA0B7776CB9713CD63 /* NewGameSheet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewGameSheet.swift; sourceTree = "<group>"; }; 260 09EA25E2AE98ACD029EC0129 /* GameStoreContributingDevicesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameStoreContributingDevicesTests.swift; sourceTree = "<group>"; }; 261 0BDC16DA7F762F4C5F4BED14 /* Config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = "<group>"; }; 262 0BF60C84D92A9024AC1A53FC /* Media.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Media.xcassets; sourceTree = "<group>"; }; 263 0C0A7348E1283E7CD2486E2A /* RecordSerializer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordSerializer.swift; sourceTree = "<group>"; }; 264 0C190EA5717C291B3F2AE46C /* SyncMonitorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncMonitorTests.swift; sourceTree = "<group>"; }; 265 0DF9C2FEF0D3584864DFC967 /* PuzzleNotificationText+GameEntity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PuzzleNotificationText+GameEntity.swift"; sourceTree = "<group>"; }; 266 0E230B327585E1E3A2921C92 /* GameStoreCompletionLockTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameStoreCompletionLockTests.swift; sourceTree = "<group>"; }; 267 0EB332831AB173ACF6BFEC59 /* SessionMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionMonitor.swift; sourceTree = "<group>"; }; 268 0FD9A43789D0ED123F7A99B0 /* CheckResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckResult.swift; sourceTree = "<group>"; }; 269 10064D171DB7C48D3DE1E769 /* InviteCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InviteCoordinator.swift; sourceTree = "<group>"; }; 270 11BF168D5C1CD85DAE5CAF9E /* PlayerSelectionPublisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerSelectionPublisher.swift; sourceTree = "<group>"; }; 271 122BC1863D12DE06388D5DA7 /* GameStoreMergedAuthorCellsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameStoreMergedAuthorCellsTests.swift; sourceTree = "<group>"; }; 272 14B05C19BD4705876B3DF0EC /* GridStateMerger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridStateMerger.swift; sourceTree = "<group>"; }; 273 14F2AC5C3B50F4178859E9AC /* CrossmateApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CrossmateApp.swift; sourceTree = "<group>"; }; 274 16AAC1E8D2CB3B5117159934 /* CloudQuery.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudQuery.swift; sourceTree = "<group>"; }; 275 16E1DA8C1B4E73AFB779CC06 /* DebuggingMonitors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebuggingMonitors.swift; sourceTree = "<group>"; }; 276 1747D4DCB4BCC831069BBE07 /* NYTLoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTLoginView.swift; sourceTree = "<group>"; }; 277 1813630FA05C194AFF43855C /* PlayerRosterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerRosterTests.swift; sourceTree = "<group>"; }; 278 18C701DAE36000DE19F7CC95 /* EngagementHost.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EngagementHost.swift; sourceTree = "<group>"; }; 279 1B7539E0AD285C5A3AC3DDA2 /* GameArchiver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameArchiver.swift; sourceTree = "<group>"; }; 280 1D3ECD0DE71BE567BCEE15F6 /* AnnouncementCenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnnouncementCenter.swift; sourceTree = "<group>"; }; 281 20B331CC55827FEF3420ABCE /* PlayerSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerSession.swift; sourceTree = "<group>"; }; 282 23FCFFF1C2C7E909DFD8FC43 /* PlayerColorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerColorTests.swift; sourceTree = "<group>"; }; 283 24A4B5C8EC4A46906C07F819 /* GameEntity+ContentKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "GameEntity+ContentKey.swift"; sourceTree = "<group>"; }; 284 27ECEA51DE42D07495744EF8 /* JournalReplay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JournalReplay.swift; sourceTree = "<group>"; }; 285 283C5C97180C805B6C5BF622 /* PerGameZoneTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PerGameZoneTests.swift; sourceTree = "<group>"; }; 286 298A9C54A1CC753E860E174E /* FriendsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendsView.swift; sourceTree = "<group>"; }; 287 2A832061C19BA0F073617CA2 /* ImportedBrowseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImportedBrowseView.swift; sourceTree = "<group>"; }; 288 2D2FD896D75863554E31654C /* NotificationState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationState.swift; sourceTree = "<group>"; }; 289 2D5B1E8E12B86DF6CA478F65 /* BadgeCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgeCoordinator.swift; sourceTree = "<group>"; }; 290 2DD9C72266D1BAC43C8976C0 /* JournalUploadTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JournalUploadTests.swift; sourceTree = "<group>"; }; 291 2E2702C74378FD2F14D1CE33 /* FriendControllerNicknameReplayTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendControllerNicknameReplayTests.swift; sourceTree = "<group>"; }; 292 3111803C8FFFB0C839217482 /* NicknameDirectory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NicknameDirectory.swift; sourceTree = "<group>"; }; 293 31C534911020BE4ED2E5065D /* GameStoreUnreadMovesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameStoreUnreadMovesTests.swift; sourceTree = "<group>"; }; 294 3292748EAE27B608C769D393 /* PlayerRoster.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerRoster.swift; sourceTree = "<group>"; }; 295 33878A29B09A6154C7A63C82 /* KeychainHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainHelper.swift; sourceTree = "<group>"; }; 296 33DE10D2A5AFBAC73469BD33 /* PushPayloadCipher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushPayloadCipher.swift; sourceTree = "<group>"; }; 297 3413F8755236FC0578AF8109 /* NYTBrowseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTBrowseView.swift; sourceTree = "<group>"; }; 298 362E3A93102B6C9AECD4133A /* PuzzleSessionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleSessionTests.swift; sourceTree = "<group>"; }; 299 3EF436B410916399336AC106 /* RecordEditorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordEditorView.swift; sourceTree = "<group>"; }; 300 3FDE73AD7C543B29C8E493F8 /* KeyboardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardView.swift; sourceTree = "<group>"; }; 301 3FFD574AC2D0A910053E2A73 /* ReplayLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplayLoader.swift; sourceTree = "<group>"; }; 302 400B3C87248F3FCA3F76400B /* EngagementHostEnvironment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EngagementHostEnvironment.swift; sourceTree = "<group>"; }; 303 41A62DA6F7138876CA5A27EF /* SuccessPanel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuccessPanel.swift; sourceTree = "<group>"; }; 304 43DC132D49361C56DE79C13E /* GameMutator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameMutator.swift; sourceTree = "<group>"; }; 305 443BF6DF77C8226313EE9564 /* RecordSerializerMovesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordSerializerMovesTests.swift; sourceTree = "<group>"; }; 306 44F86F0F1883A93F9622FB67 /* CloudZones.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudZones.swift; sourceTree = "<group>"; }; 307 457B06DBFDC358D213A7CE54 /* AuthorIdentityTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthorIdentityTests.swift; sourceTree = "<group>"; }; 308 46148CF0F4D719692F81A6EC /* PlayerPreferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerPreferences.swift; sourceTree = "<group>"; }; 309 462CE0FD356F6137C9BFD30F /* ImportService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImportService.swift; sourceTree = "<group>"; }; 310 465F2BB469EFE84CF3733398 /* Game.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Game.swift; sourceTree = "<group>"; }; 311 46801B570FC0B2C791ECDED3 /* PlayerSessionNavigationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerSessionNavigationTests.swift; sourceTree = "<group>"; }; 312 47532AED239AEF476D8E9206 /* NotificationStateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationStateTests.swift; sourceTree = "<group>"; }; 313 4A467BC00116EEC8500BE6A1 /* PersistenceRecoveryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersistenceRecoveryTests.swift; sourceTree = "<group>"; }; 314 4B33C21324E1474BCC126AA0 /* MovesCodecLegacyDecodeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovesCodecLegacyDecodeTests.swift; sourceTree = "<group>"; }; 315 4DB0580C9B7C778F34BE6AC2 /* EngagementLifecycle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EngagementLifecycle.swift; sourceTree = "<group>"; }; 316 4DC7784917397BCD6B8D679D /* PuzzleCatalog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleCatalog.swift; sourceTree = "<group>"; }; 317 4F4EBC0F07FF815274C028CA /* XDAcceptTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XDAcceptTests.swift; sourceTree = "<group>"; }; 318 507B4DC893CE8AC4778CBACE /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = "<group>"; }; 319 50EE8A159CC553623F6F7DE4 /* ReplayControls.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplayControls.swift; sourceTree = "<group>"; }; 320 51318FC5DAE02D35CB005729 /* NotificationService.appex */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = "wrapper.app-extension"; path = NotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 321 5267DDA1A330DCBD07303D44 /* RecordBuilder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordBuilder.swift; sourceTree = "<group>"; }; 322 52B50A841D92D1F2B173E7DF /* ShareLinkShortener.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareLinkShortener.swift; sourceTree = "<group>"; }; 323 56BC76178319D0D669CD50FF /* CloudService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudService.swift; sourceTree = "<group>"; }; 324 57B1734CF731C2E405A39159 /* PuzzleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleView.swift; sourceTree = "<group>"; }; 325 5990D989AD745211A18848E4 /* ShareLinkRouteTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareLinkRouteTests.swift; sourceTree = "<group>"; }; 326 5C74683332956B0D1CA37589 /* ShareController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareController.swift; sourceTree = "<group>"; }; 327 5C838C184A0C7B1B0A9821CE /* PlayerRecordPresenceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerRecordPresenceTests.swift; sourceTree = "<group>"; }; 328 5DE04D53EC3BC7D2DA0093C3 /* PlayerNamePublisherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerNamePublisherTests.swift; sourceTree = "<group>"; }; 329 603E6FC55F1BD944592379D2 /* ReplayCacheTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplayCacheTests.swift; sourceTree = "<group>"; }; 330 605CA0FC7AF069CE3A3B38C1 /* RecentChanges.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecentChanges.swift; sourceTree = "<group>"; }; 331 60E818B0F4689BAD57660B7C /* GameCursorStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameCursorStoreTests.swift; sourceTree = "<group>"; }; 332 64C8064F04FC6177D987ACA2 /* Puzzle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Puzzle.swift; sourceTree = "<group>"; }; 333 663934F0B7CA8BDD462DFAA4 /* GameShareItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameShareItem.swift; sourceTree = "<group>"; }; 334 67CFF96D54D2DE9C44EB120A /* EngagementCoordinatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EngagementCoordinatorTests.swift; sourceTree = "<group>"; }; 335 68072F4F3EB5D5A78E03D408 /* ShareRoutingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareRoutingTests.swift; sourceTree = "<group>"; }; 336 6940546CFA1E87EF814AA6BB /* HardwareKeyboardInputView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HardwareKeyboardInputView.swift; sourceTree = "<group>"; }; 337 6B1F07B5DDE2A8B49B28392A /* GridThumbnailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridThumbnailView.swift; sourceTree = "<group>"; }; 338 6BDD06460A76D4AF31077732 /* InputMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InputMonitor.swift; sourceTree = "<group>"; }; 339 6C793B5B9684D49328E42129 /* PushPayloadCipherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushPayloadCipherTests.swift; sourceTree = "<group>"; }; 340 6C7F3A9BD7FAF81CB77032A6 /* GridStateMergerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridStateMergerTests.swift; sourceTree = "<group>"; }; 341 6F0B4F65D017C1FBAC3B23DF /* PlayerSelection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerSelection.swift; sourceTree = "<group>"; }; 342 6F34401948BC53DA9C93D64B /* GameCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameCardView.swift; sourceTree = "<group>"; }; 343 7023E506D777DB80B18A7DB5 /* BundledBrowseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BundledBrowseView.swift; sourceTree = "<group>"; }; 344 70AD1A006E6D03E4429E3BF0 /* DriveMonitor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DriveMonitor.swift; sourceTree = "<group>"; }; 345 710BCB6A647A820B106CE666 /* PuzzleSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleSession.swift; sourceTree = "<group>"; }; 346 71DFD035381B6252DCD873C9 /* PlayerNamePublisher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerNamePublisher.swift; sourceTree = "<group>"; }; 347 73DDDED719CFFDD6035C3B48 /* SyncEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncEngine.swift; sourceTree = "<group>"; }; 348 74C8886A66F0877858A67D62 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; }; 349 78919F44C3035C48410FC894 /* GamePushCredentials.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GamePushCredentials.swift; sourceTree = "<group>"; }; 350 78C92190C4A344EC319A0F88 /* MovesJournalTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovesJournalTests.swift; sourceTree = "<group>"; }; 351 7A4AFF292381C9B33C0F2CD6 /* FriendZone.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendZone.swift; sourceTree = "<group>"; }; 352 7A7BD8DFDB41BFBA694A0933 /* SessionCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCoordinator.swift; sourceTree = "<group>"; }; 353 7B3E1A382B24A7803701D947 /* Crossmate.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Crossmate.entitlements; sourceTree = "<group>"; }; 354 7B5A8118AC2FE60D877F1D29 /* GamePushCredentialsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GamePushCredentialsTests.swift; sourceTree = "<group>"; }; 355 7B8B65482CA1739A3863A99E /* ClueList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClueList.swift; sourceTree = "<group>"; }; 356 7C6AB016CA4E2FC69A0E6A4F /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; }; 357 7DD270E16E00145EF2807EA9 /* MovesUpdater.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovesUpdater.swift; sourceTree = "<group>"; }; 358 7E4DEAF9F7887CBB46A99E8E /* RecordSerializerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordSerializerTests.swift; sourceTree = "<group>"; }; 359 800CCFBE90554F287E765755 /* FriendZoneTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendZoneTests.swift; sourceTree = "<group>"; }; 360 80B377D237AC14B9856579E1 /* RecentChangesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecentChangesTests.swift; sourceTree = "<group>"; }; 361 836B8D4B351C9225162A82C0 /* Layouts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Layouts.swift; sourceTree = "<group>"; }; 362 847415468DBB1C566D18BC17 /* ReplayControlsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReplayControlsTests.swift; sourceTree = "<group>"; }; 363 86470163BFF956F3DE438506 /* Moves.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Moves.swift; sourceTree = "<group>"; }; 364 88E8AACB638FE5724B534B41 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 365 89528AF69DE06C61FA8E91A1 /* PuzzleCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleCommands.swift; sourceTree = "<group>"; }; 366 89B1FFD2F90141EA949A8540 /* JournalReplayTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JournalReplayTests.swift; sourceTree = "<group>"; }; 367 8A9F9E7ED4E1AF02F0C71051 /* PushClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushClient.swift; sourceTree = "<group>"; }; 368 8AEFE2C7623A899BAABD85F4 /* MarketingPuzzleScreenshotView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarketingPuzzleScreenshotView.swift; sourceTree = "<group>"; }; 369 8C040D5EBC73B1ED47C2C9D4 /* SessionPushPlannerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionPushPlannerTests.swift; sourceTree = "<group>"; }; 370 8D2AD5021F1AF0DB44FA4540 /* GameCursorStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameCursorStore.swift; sourceTree = "<group>"; }; 371 8D4A76B233E16B7C5A248EB7 /* TipStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TipStore.swift; sourceTree = "<group>"; }; 372 8FDE03B4A77A8095ED2C23AB /* EngagementCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EngagementCoordinator.swift; sourceTree = "<group>"; }; 373 92168360625ECDD36FF50EE8 /* NicknameDirectoryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NicknameDirectoryTests.swift; sourceTree = "<group>"; }; 374 927186458ED03FD0C5660765 /* CrossmateModel.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = CrossmateModel.xcdatamodel; sourceTree = "<group>"; }; 375 93EE5BA78566EDED68D846AB /* GameStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameStore.swift; sourceTree = "<group>"; }; 376 9406C27662147CD3C0783644 /* GameViewedStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameViewedStoreTests.swift; sourceTree = "<group>"; }; 377 9447F0FE34C63810C6F1D8BE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; }; 378 94CEBA27A8AC4FCC92ADE1B4 /* EnsureGameEntityTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnsureGameEntityTests.swift; sourceTree = "<group>"; }; 379 978A96CC6F550ED7A73F8D96 /* AnnouncementCenterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnnouncementCenterTests.swift; sourceTree = "<group>"; }; 380 9998739ED0875A17271B7899 /* AppServicesAnnouncementTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppServicesAnnouncementTests.swift; sourceTree = "<group>"; }; 381 9A49C3C31F49A85764B84A15 /* SyncState+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SyncState+Helpers.swift"; sourceTree = "<group>"; }; 382 9A56778AF8190F0D7EB2E27E /* GameStorePushAddressTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameStorePushAddressTests.swift; sourceTree = "<group>"; }; 383 9AF6157D97271205626E207C /* MovesUpdaterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovesUpdaterTests.swift; sourceTree = "<group>"; }; 384 9D25D12FF374F83BF4DB83DD /* CellView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CellView.swift; sourceTree = "<group>"; }; 385 9F8D856707B4D76FDBF4AE69 /* FriendEntity+DisplayName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "FriendEntity+DisplayName.swift"; sourceTree = "<group>"; }; 386 A253416F4FEA271A80B22A73 /* NYTAuthService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTAuthService.swift; sourceTree = "<group>"; }; 387 A3A251D89028B3CA065DE053 /* PuzzleScoreboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleScoreboard.swift; sourceTree = "<group>"; }; 388 A8C18E9B47668E008BE4CF86 /* Archive.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Archive.swift; sourceTree = "<group>"; }; 389 A8CA0FC750259EB1D762B0EE /* OpenPuzzleBannerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OpenPuzzleBannerTests.swift; sourceTree = "<group>"; }; 390 A9A01534A21796A4EC7113A9 /* ZoneOrphaningTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZoneOrphaningTests.swift; sourceTree = "<group>"; }; 391 A9DC6394CB0F5B85C083FAC7 /* TipsArchive.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TipsArchive.swift; sourceTree = "<group>"; }; 392 ACC295195602B3DDF7BB3895 /* PersistenceController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PersistenceController.swift; sourceTree = "<group>"; }; 393 ADBA3FB1334DB816E62B7D9B /* PuzzleHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleHeader.swift; sourceTree = "<group>"; }; 394 AF3B7E191D571FD800A4D719 /* LastUpdatedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LastUpdatedView.swift; sourceTree = "<group>"; }; 395 AFFB5B2EFBB62B7021AC2FC2 /* TimeLog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeLog.swift; sourceTree = "<group>"; }; 396 B024B2FFB11E51E9724BBE23 /* CompactSlider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompactSlider.swift; sourceTree = "<group>"; }; 397 B0938B0ACB40772EE522D77C /* NYTPuzzleFetcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTPuzzleFetcher.swift; sourceTree = "<group>"; }; 398 B09D52DB46731E92C3E9297C /* EngagementStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EngagementStore.swift; sourceTree = "<group>"; }; 399 B135C285570F91181595B405 /* CellMark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CellMark.swift; sourceTree = "<group>"; }; 400 B1F1471BE4D6D84361DD692B /* AuthorIdentity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthorIdentity.swift; sourceTree = "<group>"; }; 401 B34489D0864DF76AF436E391 /* NYTPuzzleUpgraderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTPuzzleUpgraderTests.swift; sourceTree = "<group>"; }; 402 B369788E0FEA0DCE1B125816 /* PUZToXDConverter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PUZToXDConverter.swift; sourceTree = "<group>"; }; 403 B3D873ABDF871E14794A2845 /* NotificationService.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = NotificationService.entitlements; sourceTree = "<group>"; }; 404 B427285F8D6BE35025591BFA /* PeerChangeLedger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PeerChangeLedger.swift; sourceTree = "<group>"; }; 405 B689A7138429641E61E9E558 /* Crossmate.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = Crossmate.app; sourceTree = BUILT_PRODUCTS_DIR; }; 406 B766E872B12DC79ECCD80941 /* FriendModelTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendModelTests.swift; sourceTree = "<group>"; }; 407 B8560440C548752EE93E0ED9 /* PuzzleCatalogTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleCatalogTests.swift; sourceTree = "<group>"; }; 408 B9031A1574C21866940F6A2C /* XD.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XD.swift; sourceTree = "<group>"; }; 409 B9AE0F26E602A9246F5C6ABF /* GameViewedStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameViewedStore.swift; sourceTree = "<group>"; }; 410 B9EA9CF96312BFF5340CE2A7 /* ArchiveTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArchiveTests.swift; sourceTree = "<group>"; }; 411 BA67C509B467132D1B7510A4 /* Puzzles */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Puzzles; sourceTree = SOURCE_ROOT; }; 412 BAEDA3C3765CD8D8897FE5D5 /* PendingChangeReapTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PendingChangeReapTests.swift; sourceTree = "<group>"; }; 413 BCACEED6A9235EC6221F4F66 /* DiagnosticsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiagnosticsView.swift; sourceTree = "<group>"; }; 414 BD63A9B20168F3B81AF4348F /* RecordApplier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecordApplier.swift; sourceTree = "<group>"; }; 415 BF6F111BE8750697C4BC7A17 /* NYTToXDConverter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTToXDConverter.swift; sourceTree = "<group>"; }; 416 BF7062403AC9CFB4FF04BBF3 /* GridSilhouetteTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridSilhouetteTests.swift; sourceTree = "<group>"; }; 417 BFC1C59A30FB2571598273E4 /* GameMutatorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameMutatorTests.swift; sourceTree = "<group>"; }; 418 C06E2CC3A77CB306BD2DF867 /* LogScrubberTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogScrubberTests.swift; sourceTree = "<group>"; }; 419 C2C9D3E7FCE2D42C5B7E3856 /* PushPayload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushPayload.swift; sourceTree = "<group>"; }; 420 C54223FED97577A593B7964E /* NYTToXDConverterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTToXDConverterTests.swift; sourceTree = "<group>"; }; 421 C7F35A7BFE52279BC24677F5 /* TimeLogTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TimeLogTests.swift; sourceTree = "<group>"; }; 422 C8D6991C1EBAB2C64D9DF669 /* TipStoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TipStoreTests.swift; sourceTree = "<group>"; }; 423 C90E94A01FEA77A5C9A2BC94 /* PuzzleNotificationTextTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleNotificationTextTests.swift; sourceTree = "<group>"; }; 424 CA49DA9E0ADEB11A920787FA /* SessionPushPlanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionPushPlanner.swift; sourceTree = "<group>"; }; 425 CBDC81CA6A9C80EB31E7F493 /* AppServices.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppServices.swift; sourceTree = "<group>"; }; 426 CD68E9CA9D3057FE07E985E1 /* AnnouncementBanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnnouncementBanner.swift; sourceTree = "<group>"; }; 427 CE54EF557E8D808BAA20EA54 /* NYTPuzzleUpgrader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTPuzzleUpgrader.swift; sourceTree = "<group>"; }; 428 CE7CEB8980A9664BAAA5D196 /* PuzzleNotificationText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleNotificationText.swift; sourceTree = "<group>"; }; 429 CF20BDF7FF6423BA4FD911D5 /* CalendarDayCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarDayCell.swift; sourceTree = "<group>"; }; 430 CF3D29B227D2B0E699423C48 /* Journal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Journal.swift; sourceTree = "<group>"; }; 431 CFC4FF046BF772646B5CA73F /* Presence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Presence.swift; sourceTree = "<group>"; }; 432 D16AC7215D0269195FEA8BA8 /* GridSilhouette.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridSilhouette.swift; sourceTree = "<group>"; }; 433 D243575E32A8663B1AAF492A /* PeerChangeLedgerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PeerChangeLedgerTests.swift; sourceTree = "<group>"; }; 434 D491B7232333AA8957732387 /* PendingEditFlagTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PendingEditFlagTests.swift; sourceTree = "<group>"; }; 435 D97CBA409832A24D64DF0F5C /* Crossmate Unit Tests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = "Crossmate Unit Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 436 DB55FC337CF72C650373210A /* PlayerColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerColor.swift; sourceTree = "<group>"; }; 437 DB851649DE78AAAC5A928C52 /* Square.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Square.swift; sourceTree = "<group>"; }; 438 DBD2570A5A3573D66B3C4A52 /* GameRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameRowView.swift; sourceTree = "<group>"; }; 439 E18FF14E0D73B0D2DB427F08 /* JoiningPuzzleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoiningPuzzleView.swift; sourceTree = "<group>"; }; 440 E25A040EA4DC9672C895A7AC /* InviteEntity+DisplayName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "InviteEntity+DisplayName.swift"; sourceTree = "<group>"; }; 441 E2ED0D601BB574618C15B5EF /* ShareLinkRoute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareLinkRoute.swift; sourceTree = "<group>"; }; 442 E5EEBF169823C172000FC45B /* GameSummaryThumbnailTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameSummaryThumbnailTests.swift; sourceTree = "<group>"; }; 443 E655698481325C92EF5C348B /* FriendController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendController.swift; sourceTree = "<group>"; }; 444 E78C275F8A90E3E3EEF190CC /* FriendPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FriendPickerView.swift; sourceTree = "<group>"; }; 445 E7AFD37B03A1C2E23E5766E6 /* PuzzleSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleSource.swift; sourceTree = "<group>"; }; 446 E87E28DC9402A4369647DE50 /* PushPayloadTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushPayloadTests.swift; sourceTree = "<group>"; }; 447 E935CE4384F3B67CC22EEBAC /* ClueBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClueBar.swift; sourceTree = "<group>"; }; 448 EAC61E2582D94B1E6EC67136 /* XDFileType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XDFileType.swift; sourceTree = "<group>"; }; 449 EAF18C52558DBD58ECAD4964 /* XDMarkup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XDMarkup.swift; sourceTree = "<group>"; }; 450 EAFA466405AABA1C06272795 /* ContentKeyDirectory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentKeyDirectory.swift; sourceTree = "<group>"; }; 451 ED2D830B9EFAD753C233BEB4 /* GameListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GameListView.swift; sourceTree = "<group>"; }; 452 ED48AD9C3A7A113D101BBD21 /* GridView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GridView.swift; sourceTree = "<group>"; }; 453 ED8154F949E1D94252F70765 /* NYTAuthServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NYTAuthServiceTests.swift; sourceTree = "<group>"; }; 454 EF1254FE7BE3672AEC1607B1 /* MovesInboundTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MovesInboundTests.swift; sourceTree = "<group>"; }; 455 F5DF04E70017065DFA95B396 /* PuzzleModifiers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PuzzleModifiers.swift; sourceTree = "<group>"; }; 456 F64DAE64C9AA042B330C526F /* SessionMonitorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionMonitorTests.swift; sourceTree = "<group>"; }; 457 F97B399E89BBB37730F2F1E9 /* TestHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestHelpers.swift; sourceTree = "<group>"; }; 458 F9B757D86362CD6F0500E9CB /* CustomButtons.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomButtons.swift; sourceTree = "<group>"; }; 459 F9FE0A9624DB87758F3D1768 /* XDMarkupTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XDMarkupTests.swift; sourceTree = "<group>"; }; 460 FAF6E3F3558E128E7A482A61 /* PushRequestAuthenticator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushRequestAuthenticator.swift; sourceTree = "<group>"; }; 461 FDE193CAB325C991952D7CE5 /* PUZToXDConverterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PUZToXDConverterTests.swift; sourceTree = "<group>"; }; 462 FED7C2528355BC007E48B7EF /* ParticipantSummaries.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParticipantSummaries.swift; sourceTree = "<group>"; }; 463 FEDD63AD5E33E2B0399780EF /* NotificationNavigationBrokerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationNavigationBrokerTests.swift; sourceTree = "<group>"; }; 464 FF159746D076E051C2CB590C /* PlayerSelectionPublisherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerSelectionPublisherTests.swift; sourceTree = "<group>"; }; 465 /* End PBXFileReference section */ 466 467 /* Begin PBXGroup section */ 468 01B07D8724DEA04C3E74558E /* Support */ = { 469 isa = PBXGroup; 470 children = ( 471 F97B399E89BBB37730F2F1E9 /* TestHelpers.swift */, 472 ); 473 name = Support; 474 path = Tests/Support; 475 sourceTree = "<group>"; 476 }; 477 074C2962E79CAE6C0EA6431A /* Sync */ = { 478 isa = PBXGroup; 479 children = ( 480 A8C18E9B47668E008BE4CF86 /* Archive.swift */, 481 B1F1471BE4D6D84361DD692B /* AuthorIdentity.swift */, 482 07E5E4B165E374FEE732068B /* CloudDiagnostics.swift */, 483 16AAC1E8D2CB3B5117159934 /* CloudQuery.swift */, 484 44F86F0F1883A93F9622FB67 /* CloudZones.swift */, 485 8FDE03B4A77A8095ED2C23AB /* EngagementCoordinator.swift */, 486 E655698481325C92EF5C348B /* FriendController.swift */, 487 7A4AFF292381C9B33C0F2CD6 /* FriendZone.swift */, 488 1B7539E0AD285C5A3AC3DDA2 /* GameArchiver.swift */, 489 78919F44C3035C48410FC894 /* GamePushCredentials.swift */, 490 14B05C19BD4705876B3DF0EC /* GridStateMerger.swift */, 491 86470163BFF956F3DE438506 /* Moves.swift */, 492 7DD270E16E00145EF2807EA9 /* MovesUpdater.swift */, 493 B427285F8D6BE35025591BFA /* PeerChangeLedger.swift */, 494 11BF168D5C1CD85DAE5CAF9E /* PlayerSelectionPublisher.swift */, 495 CFC4FF046BF772646B5CA73F /* Presence.swift */, 496 605CA0FC7AF069CE3A3B38C1 /* RecentChanges.swift */, 497 BD63A9B20168F3B81AF4348F /* RecordApplier.swift */, 498 5267DDA1A330DCBD07303D44 /* RecordBuilder.swift */, 499 0C0A7348E1283E7CD2486E2A /* RecordSerializer.swift */, 500 0EB332831AB173ACF6BFEC59 /* SessionMonitor.swift */, 501 5C74683332956B0D1CA37589 /* ShareController.swift */, 502 73DDDED719CFFDD6035C3B48 /* SyncEngine.swift */, 503 9A49C3C31F49A85764B84A15 /* SyncState+Helpers.swift */, 504 ); 505 path = Sync; 506 sourceTree = "<group>"; 507 }; 508 08204641416EEBE67C3EF5F6 /* GameList */ = { 509 isa = PBXGroup; 510 children = ( 511 6F34401948BC53DA9C93D64B /* GameCardView.swift */, 512 ED2D830B9EFAD753C233BEB4 /* GameListView.swift */, 513 DBD2570A5A3573D66B3C4A52 /* GameRowView.swift */, 514 663934F0B7CA8BDD462DFAA4 /* GameShareItem.swift */, 515 AF3B7E191D571FD800A4D719 /* LastUpdatedView.swift */, 516 ); 517 path = GameList; 518 sourceTree = "<group>"; 519 }; 520 12BCF7948BC2C200C647C279 /* Products */ = { 521 isa = PBXGroup; 522 children = ( 523 D97CBA409832A24D64DF0F5C /* Crossmate Unit Tests.xctest */, 524 B689A7138429641E61E9E558 /* Crossmate.app */, 525 51318FC5DAE02D35CB005729 /* NotificationService.appex */, 526 ); 527 name = Products; 528 sourceTree = "<group>"; 529 }; 530 1FB709FE7325CD51300A22F0 /* Settings */ = { 531 isa = PBXGroup; 532 children = ( 533 74C8886A66F0877858A67D62 /* AboutView.swift */, 534 BCACEED6A9235EC6221F4F66 /* DiagnosticsView.swift */, 535 3EF436B410916399336AC106 /* RecordEditorView.swift */, 536 7C6AB016CA4E2FC69A0E6A4F /* SettingsView.swift */, 537 A9DC6394CB0F5B85C083FAC7 /* TipsArchive.swift */, 538 ); 539 path = Settings; 540 sourceTree = "<group>"; 541 }; 542 212DB6FCF46C41F81C41D232 /* Unit */ = { 543 isa = PBXGroup; 544 children = ( 545 978A96CC6F550ED7A73F8D96 /* AnnouncementCenterTests.swift */, 546 B9EA9CF96312BFF5340CE2A7 /* ArchiveTests.swift */, 547 60E818B0F4689BAD57660B7C /* GameCursorStoreTests.swift */, 548 BFC1C59A30FB2571598273E4 /* GameMutatorTests.swift */, 549 0E230B327585E1E3A2921C92 /* GameStoreCompletionLockTests.swift */, 550 09EA25E2AE98ACD029EC0129 /* GameStoreContributingDevicesTests.swift */, 551 122BC1863D12DE06388D5DA7 /* GameStoreMergedAuthorCellsTests.swift */, 552 9A56778AF8190F0D7EB2E27E /* GameStorePushAddressTests.swift */, 553 31C534911020BE4ED2E5065D /* GameStoreUnreadMovesTests.swift */, 554 E5EEBF169823C172000FC45B /* GameSummaryThumbnailTests.swift */, 555 9406C27662147CD3C0783644 /* GameViewedStoreTests.swift */, 556 BF7062403AC9CFB4FF04BBF3 /* GridSilhouetteTests.swift */, 557 6C7F3A9BD7FAF81CB77032A6 /* GridStateMergerTests.swift */, 558 89B1FFD2F90141EA949A8540 /* JournalReplayTests.swift */, 559 2DD9C72266D1BAC43C8976C0 /* JournalUploadTests.swift */, 560 C06E2CC3A77CB306BD2DF867 /* LogScrubberTests.swift */, 561 78C92190C4A344EC319A0F88 /* MovesJournalTests.swift */, 562 9AF6157D97271205626E207C /* MovesUpdaterTests.swift */, 563 92168360625ECDD36FF50EE8 /* NicknameDirectoryTests.swift */, 564 FEDD63AD5E33E2B0399780EF /* NotificationNavigationBrokerTests.swift */, 565 47532AED239AEF476D8E9206 /* NotificationStateTests.swift */, 566 ED8154F949E1D94252F70765 /* NYTAuthServiceTests.swift */, 567 B34489D0864DF76AF436E391 /* NYTPuzzleUpgraderTests.swift */, 568 C54223FED97577A593B7964E /* NYTToXDConverterTests.swift */, 569 A8CA0FC750259EB1D762B0EE /* OpenPuzzleBannerTests.swift */, 570 D243575E32A8663B1AAF492A /* PeerChangeLedgerTests.swift */, 571 D491B7232333AA8957732387 /* PendingEditFlagTests.swift */, 572 4A467BC00116EEC8500BE6A1 /* PersistenceRecoveryTests.swift */, 573 23FCFFF1C2C7E909DFD8FC43 /* PlayerColorTests.swift */, 574 5DE04D53EC3BC7D2DA0093C3 /* PlayerNamePublisherTests.swift */, 575 1813630FA05C194AFF43855C /* PlayerRosterTests.swift */, 576 FF159746D076E051C2CB590C /* PlayerSelectionPublisherTests.swift */, 577 46801B570FC0B2C791ECDED3 /* PlayerSessionNavigationTests.swift */, 578 6C793B5B9684D49328E42129 /* PushPayloadCipherTests.swift */, 579 E87E28DC9402A4369647DE50 /* PushPayloadTests.swift */, 580 FDE193CAB325C991952D7CE5 /* PUZToXDConverterTests.swift */, 581 B8560440C548752EE93E0ED9 /* PuzzleCatalogTests.swift */, 582 C90E94A01FEA77A5C9A2BC94 /* PuzzleNotificationTextTests.swift */, 583 362E3A93102B6C9AECD4133A /* PuzzleSessionTests.swift */, 584 80B377D237AC14B9856579E1 /* RecentChangesTests.swift */, 585 443BF6DF77C8226313EE9564 /* RecordSerializerMovesTests.swift */, 586 7E4DEAF9F7887CBB46A99E8E /* RecordSerializerTests.swift */, 587 603E6FC55F1BD944592379D2 /* ReplayCacheTests.swift */, 588 847415468DBB1C566D18BC17 /* ReplayControlsTests.swift */, 589 8C040D5EBC73B1ED47C2C9D4 /* SessionPushPlannerTests.swift */, 590 5990D989AD745211A18848E4 /* ShareLinkRouteTests.swift */, 591 057F2B8B8A894D08BB801219 /* ShareLinkShortenerTests.swift */, 592 0C190EA5717C291B3F2AE46C /* SyncMonitorTests.swift */, 593 C7F35A7BFE52279BC24677F5 /* TimeLogTests.swift */, 594 C8D6991C1EBAB2C64D9DF669 /* TipStoreTests.swift */, 595 4F4EBC0F07FF815274C028CA /* XDAcceptTests.swift */, 596 F9FE0A9624DB87758F3D1768 /* XDMarkupTests.swift */, 597 ABB371EF2574E95782CB05FD /* Sync */, 598 ); 599 name = Unit; 600 path = Tests/Unit; 601 sourceTree = "<group>"; 602 }; 603 41DB2417FF67A47FE6890256 /* Models */ = { 604 isa = PBXGroup; 605 children = ( 606 B135C285570F91181595B405 /* CellMark.swift */, 607 0FD9A43789D0ED123F7A99B0 /* CheckResult.swift */, 608 B09D52DB46731E92C3E9297C /* EngagementStore.swift */, 609 9F8D856707B4D76FDBF4AE69 /* FriendEntity+DisplayName.swift */, 610 465F2BB469EFE84CF3733398 /* Game.swift */, 611 8D2AD5021F1AF0DB44FA4540 /* GameCursorStore.swift */, 612 24A4B5C8EC4A46906C07F819 /* GameEntity+ContentKey.swift */, 613 B9AE0F26E602A9246F5C6ABF /* GameViewedStore.swift */, 614 E25A040EA4DC9672C895A7AC /* InviteEntity+DisplayName.swift */, 615 FED7C2528355BC007E48B7EF /* ParticipantSummaries.swift */, 616 DB55FC337CF72C650373210A /* PlayerColor.swift */, 617 46148CF0F4D719692F81A6EC /* PlayerPreferences.swift */, 618 3292748EAE27B608C769D393 /* PlayerRoster.swift */, 619 6F0B4F65D017C1FBAC3B23DF /* PlayerSelection.swift */, 620 20B331CC55827FEF3420ABCE /* PlayerSession.swift */, 621 64C8064F04FC6177D987ACA2 /* Puzzle.swift */, 622 4DC7784917397BCD6B8D679D /* PuzzleCatalog.swift */, 623 0DF9C2FEF0D3584864DFC967 /* PuzzleNotificationText+GameEntity.swift */, 624 E7AFD37B03A1C2E23E5766E6 /* PuzzleSource.swift */, 625 50EE8A159CC553623F6F7DE4 /* ReplayControls.swift */, 626 DB851649DE78AAAC5A928C52 /* Square.swift */, 627 AFFB5B2EFBB62B7021AC2FC2 /* TimeLog.swift */, 628 8D4A76B233E16B7C5A248EB7 /* TipStore.swift */, 629 B9031A1574C21866940F6A2C /* XD.swift */, 630 EAC61E2582D94B1E6EC67136 /* XDFileType.swift */, 631 EAF18C52558DBD58ECAD4964 /* XDMarkup.swift */, 632 F93AC31640C40FCC039570A3 /* CrossmateModel.xcdatamodeld */, 633 ); 634 path = Models; 635 sourceTree = "<group>"; 636 }; 637 486B6F0E3B86BC2765CCEC33 /* Friends */ = { 638 isa = PBXGroup; 639 children = ( 640 E78C275F8A90E3E3EEF190CC /* FriendPickerView.swift */, 641 298A9C54A1CC753E860E174E /* FriendsView.swift */, 642 ); 643 path = Friends; 644 sourceTree = "<group>"; 645 }; 646 565DBAFC8DB2589B3F0AF90E /* Persistence */ = { 647 isa = PBXGroup; 648 children = ( 649 43DC132D49361C56DE79C13E /* GameMutator.swift */, 650 93EE5BA78566EDED68D846AB /* GameStore.swift */, 651 CF3D29B227D2B0E699423C48 /* Journal.swift */, 652 27ECEA51DE42D07495744EF8 /* JournalReplay.swift */, 653 ACC295195602B3DDF7BB3895 /* PersistenceController.swift */, 654 ); 655 path = Persistence; 656 sourceTree = "<group>"; 657 }; 658 5770CE69DB2B0B7462FACE53 /* Crossmate */ = { 659 isa = PBXGroup; 660 children = ( 661 7B3E1A382B24A7803701D947 /* Crossmate.entitlements */, 662 14F2AC5C3B50F4178859E9AC /* CrossmateApp.swift */, 663 9447F0FE34C63810C6F1D8BE /* Info.plist */, 664 8AEFE2C7623A899BAABD85F4 /* MarketingPuzzleScreenshotView.swift */, 665 0BF60C84D92A9024AC1A53FC /* Media.xcassets */, 666 41DB2417FF67A47FE6890256 /* Models */, 667 565DBAFC8DB2589B3F0AF90E /* Persistence */, 668 D8F0E3376B2616B4E917129C /* Services */, 669 074C2962E79CAE6C0EA6431A /* Sync */, 670 84445EA9CACB6AAAEDE6965F /* Views */, 671 ); 672 path = Crossmate; 673 sourceTree = "<group>"; 674 }; 675 6F470E54D9E6E99FCEA893D1 /* Generated */ = { 676 isa = PBXGroup; 677 children = ( 678 0BDC16DA7F762F4C5F4BED14 /* Config.xcconfig */, 679 ); 680 path = Generated; 681 sourceTree = "<group>"; 682 }; 683 84445EA9CACB6AAAEDE6965F /* Views */ = { 684 isa = PBXGroup; 685 children = ( 686 AB1863007AA59F4769675599 /* Browse */, 687 99CEFF0AB23C2B9329A9F8B2 /* Components */, 688 486B6F0E3B86BC2765CCEC33 /* Friends */, 689 08204641416EEBE67C3EF5F6 /* GameList */, 690 895088B5D0214046158C6D24 /* Puzzle */, 691 1FB709FE7325CD51300A22F0 /* Settings */, 692 ); 693 path = Views; 694 sourceTree = "<group>"; 695 }; 696 895088B5D0214046158C6D24 /* Puzzle */ = { 697 isa = PBXGroup; 698 children = ( 699 9D25D12FF374F83BF4DB83DD /* CellView.swift */, 700 E935CE4384F3B67CC22EEBAC /* ClueBar.swift */, 701 7B8B65482CA1739A3863A99E /* ClueList.swift */, 702 ED48AD9C3A7A113D101BBD21 /* GridView.swift */, 703 6940546CFA1E87EF814AA6BB /* HardwareKeyboardInputView.swift */, 704 E18FF14E0D73B0D2DB427F08 /* JoiningPuzzleView.swift */, 705 3FDE73AD7C543B29C8E493F8 /* KeyboardView.swift */, 706 89528AF69DE06C61FA8E91A1 /* PuzzleCommands.swift */, 707 ADBA3FB1334DB816E62B7D9B /* PuzzleHeader.swift */, 708 F5DF04E70017065DFA95B396 /* PuzzleModifiers.swift */, 709 A3A251D89028B3CA065DE053 /* PuzzleScoreboard.swift */, 710 57B1734CF731C2E405A39159 /* PuzzleView.swift */, 711 41A62DA6F7138876CA5A27EF /* SuccessPanel.swift */, 712 ); 713 path = Puzzle; 714 sourceTree = "<group>"; 715 }; 716 99CEFF0AB23C2B9329A9F8B2 /* Components */ = { 717 isa = PBXGroup; 718 children = ( 719 CD68E9CA9D3057FE07E985E1 /* AnnouncementBanner.swift */, 720 B024B2FFB11E51E9724BBE23 /* CompactSlider.swift */, 721 F9B757D86362CD6F0500E9CB /* CustomButtons.swift */, 722 065CD67A1D9F7B63AE6B42D6 /* FriendAvatarView.swift */, 723 6B1F07B5DDE2A8B49B28392A /* GridThumbnailView.swift */, 724 836B8D4B351C9225162A82C0 /* Layouts.swift */, 725 ); 726 path = Components; 727 sourceTree = "<group>"; 728 }; 729 9BF7383FE2AB07F12434C013 /* Shared */ = { 730 isa = PBXGroup; 731 children = ( 732 EAFA466405AABA1C06272795 /* ContentKeyDirectory.swift */, 733 3111803C8FFFB0C839217482 /* NicknameDirectory.swift */, 734 2D2FD896D75863554E31654C /* NotificationState.swift */, 735 C2C9D3E7FCE2D42C5B7E3856 /* PushPayload.swift */, 736 33DE10D2A5AFBAC73469BD33 /* PushPayloadCipher.swift */, 737 CE7CEB8980A9664BAAA5D196 /* PuzzleNotificationText.swift */, 738 ); 739 path = Shared; 740 sourceTree = "<group>"; 741 }; 742 AB1863007AA59F4769675599 /* Browse */ = { 743 isa = PBXGroup; 744 children = ( 745 7023E506D777DB80B18A7DB5 /* BundledBrowseView.swift */, 746 CF20BDF7FF6423BA4FD911D5 /* CalendarDayCell.swift */, 747 2A832061C19BA0F073617CA2 /* ImportedBrowseView.swift */, 748 09C81EFA0B7776CB9713CD63 /* NewGameSheet.swift */, 749 3413F8755236FC0578AF8109 /* NYTBrowseView.swift */, 750 1747D4DCB4BCC831069BBE07 /* NYTLoginView.swift */, 751 ); 752 path = Browse; 753 sourceTree = "<group>"; 754 }; 755 ABB371EF2574E95782CB05FD /* Sync */ = { 756 isa = PBXGroup; 757 children = ( 758 9998739ED0875A17271B7899 /* AppServicesAnnouncementTests.swift */, 759 457B06DBFDC358D213A7CE54 /* AuthorIdentityTests.swift */, 760 67CFF96D54D2DE9C44EB120A /* EngagementCoordinatorTests.swift */, 761 94CEBA27A8AC4FCC92ADE1B4 /* EnsureGameEntityTests.swift */, 762 2E2702C74378FD2F14D1CE33 /* FriendControllerNicknameReplayTests.swift */, 763 B766E872B12DC79ECCD80941 /* FriendModelTests.swift */, 764 800CCFBE90554F287E765755 /* FriendZoneTests.swift */, 765 7B5A8118AC2FE60D877F1D29 /* GamePushCredentialsTests.swift */, 766 4B33C21324E1474BCC126AA0 /* MovesCodecLegacyDecodeTests.swift */, 767 EF1254FE7BE3672AEC1607B1 /* MovesInboundTests.swift */, 768 08E8592B1CB1336E63498706 /* PeerPresenceGraceTests.swift */, 769 BAEDA3C3765CD8D8897FE5D5 /* PendingChangeReapTests.swift */, 770 283C5C97180C805B6C5BF622 /* PerGameZoneTests.swift */, 771 5C838C184A0C7B1B0A9821CE /* PlayerRecordPresenceTests.swift */, 772 F64DAE64C9AA042B330C526F /* SessionMonitorTests.swift */, 773 68072F4F3EB5D5A78E03D408 /* ShareRoutingTests.swift */, 774 A9A01534A21796A4EC7113A9 /* ZoneOrphaningTests.swift */, 775 ); 776 path = Sync; 777 sourceTree = "<group>"; 778 }; 779 C5342A31D253372339517EEE = { 780 isa = PBXGroup; 781 children = ( 782 BA67C509B467132D1B7510A4 /* Puzzles */, 783 5770CE69DB2B0B7462FACE53 /* Crossmate */, 784 6F470E54D9E6E99FCEA893D1 /* Generated */, 785 D7910EDB740AFF963BDCA6CE /* NotificationService */, 786 9BF7383FE2AB07F12434C013 /* Shared */, 787 01B07D8724DEA04C3E74558E /* Support */, 788 212DB6FCF46C41F81C41D232 /* Unit */, 789 12BCF7948BC2C200C647C279 /* Products */, 790 ); 791 sourceTree = "<group>"; 792 }; 793 D7910EDB740AFF963BDCA6CE /* NotificationService */ = { 794 isa = PBXGroup; 795 children = ( 796 88E8AACB638FE5724B534B41 /* Info.plist */, 797 B3D873ABDF871E14794A2845 /* NotificationService.entitlements */, 798 507B4DC893CE8AC4778CBACE /* NotificationService.swift */, 799 ); 800 path = NotificationService; 801 sourceTree = "<group>"; 802 }; 803 D8F0E3376B2616B4E917129C /* Services */ = { 804 isa = PBXGroup; 805 children = ( 806 03D59EA74A4BA084AD97478D /* AccountPushCoordinator.swift */, 807 1D3ECD0DE71BE567BCEE15F6 /* AnnouncementCenter.swift */, 808 CBDC81CA6A9C80EB31E7F493 /* AppServices.swift */, 809 2D5B1E8E12B86DF6CA478F65 /* BadgeCoordinator.swift */, 810 56BC76178319D0D669CD50FF /* CloudService.swift */, 811 16E1DA8C1B4E73AFB779CC06 /* DebuggingMonitors.swift */, 812 70AD1A006E6D03E4429E3BF0 /* DriveMonitor.swift */, 813 18C701DAE36000DE19F7CC95 /* EngagementHost.swift */, 814 400B3C87248F3FCA3F76400B /* EngagementHostEnvironment.swift */, 815 4DB0580C9B7C778F34BE6AC2 /* EngagementLifecycle.swift */, 816 D16AC7215D0269195FEA8BA8 /* GridSilhouette.swift */, 817 462CE0FD356F6137C9BFD30F /* ImportService.swift */, 818 6BDD06460A76D4AF31077732 /* InputMonitor.swift */, 819 10064D171DB7C48D3DE1E769 /* InviteCoordinator.swift */, 820 33878A29B09A6154C7A63C82 /* KeychainHelper.swift */, 821 A253416F4FEA271A80B22A73 /* NYTAuthService.swift */, 822 B0938B0ACB40772EE522D77C /* NYTPuzzleFetcher.swift */, 823 CE54EF557E8D808BAA20EA54 /* NYTPuzzleUpgrader.swift */, 824 BF6F111BE8750697C4BC7A17 /* NYTToXDConverter.swift */, 825 71DFD035381B6252DCD873C9 /* PlayerNamePublisher.swift */, 826 8A9F9E7ED4E1AF02F0C71051 /* PushClient.swift */, 827 FAF6E3F3558E128E7A482A61 /* PushRequestAuthenticator.swift */, 828 B369788E0FEA0DCE1B125816 /* PUZToXDConverter.swift */, 829 710BCB6A647A820B106CE666 /* PuzzleSession.swift */, 830 3FFD574AC2D0A910053E2A73 /* ReplayLoader.swift */, 831 7A7BD8DFDB41BFBA694A0933 /* SessionCoordinator.swift */, 832 CA49DA9E0ADEB11A920787FA /* SessionPushPlanner.swift */, 833 E2ED0D601BB574618C15B5EF /* ShareLinkRoute.swift */, 834 52B50A841D92D1F2B173E7DF /* ShareLinkShortener.swift */, 835 ); 836 path = Services; 837 sourceTree = "<group>"; 838 }; 839 /* End PBXGroup section */ 840 841 /* Begin PBXNativeTarget section */ 842 350366A68B75DC4BDA91F8E5 /* NotificationService */ = { 843 isa = PBXNativeTarget; 844 buildConfigurationList = 97D15A585690B87E7C17FF8A /* Build configuration list for PBXNativeTarget "NotificationService" */; 845 buildPhases = ( 846 6D4D7955C5F70F9F18D7C1F0 /* Sources */, 847 ); 848 buildRules = ( 849 ); 850 dependencies = ( 851 ); 852 name = NotificationService; 853 packageProductDependencies = ( 854 ); 855 productName = NotificationService; 856 productReference = 51318FC5DAE02D35CB005729 /* NotificationService.appex */; 857 productType = "com.apple.product-type.app-extension"; 858 }; 859 7708D1C8A0145D43BD15DEB7 /* Crossmate */ = { 860 isa = PBXNativeTarget; 861 buildConfigurationList = AB7D49875A042FD78EDD157A /* Build configuration list for PBXNativeTarget "Crossmate" */; 862 buildPhases = ( 863 C17B62906BBF281D006D8DC2 /* Sources */, 864 C475EFB2B47245175F9B415C /* Resources */, 865 2768812850886EB633B6C27C /* Embed Foundation Extensions */, 866 ); 867 buildRules = ( 868 ); 869 dependencies = ( 870 0638C125467274AA03088E07 /* PBXTargetDependency */, 871 ); 872 name = Crossmate; 873 packageProductDependencies = ( 874 ); 875 productName = Crossmate; 876 productReference = B689A7138429641E61E9E558 /* Crossmate.app */; 877 productType = "com.apple.product-type.application"; 878 }; 879 C38EBD1A6B9D37EF81FF3511 /* Crossmate Unit Tests */ = { 880 isa = PBXNativeTarget; 881 buildConfigurationList = 0C7AF110B3697D116B91817A /* Build configuration list for PBXNativeTarget "Crossmate Unit Tests" */; 882 buildPhases = ( 883 931E2DAAD4EC47B06F7AB60A /* Sources */, 884 ); 885 buildRules = ( 886 ); 887 dependencies = ( 888 42035D5EEE61A5D459E1D46D /* PBXTargetDependency */, 889 ); 890 name = "Crossmate Unit Tests"; 891 packageProductDependencies = ( 892 ); 893 productName = "Crossmate Unit Tests"; 894 productReference = D97CBA409832A24D64DF0F5C /* Crossmate Unit Tests.xctest */; 895 productType = "com.apple.product-type.bundle.unit-test"; 896 }; 897 /* End PBXNativeTarget section */ 898 899 /* Begin PBXProject section */ 900 9167165F088B7698D1319D3C /* Project object */ = { 901 isa = PBXProject; 902 attributes = { 903 BuildIndependentTargetsInParallel = YES; 904 LastUpgradeCheck = 1430; 905 TargetAttributes = { 906 350366A68B75DC4BDA91F8E5 = { 907 DevelopmentTeam = 7TD7PZBNXP; 908 ProvisioningStyle = Automatic; 909 }; 910 7708D1C8A0145D43BD15DEB7 = { 911 DevelopmentTeam = 7TD7PZBNXP; 912 ProvisioningStyle = Automatic; 913 }; 914 C38EBD1A6B9D37EF81FF3511 = { 915 DevelopmentTeam = 7TD7PZBNXP; 916 ProvisioningStyle = Automatic; 917 }; 918 }; 919 }; 920 buildConfigurationList = 9A436EF03A8593C66A18A832 /* Build configuration list for PBXProject "Crossmate" */; 921 developmentRegion = en; 922 hasScannedForEncodings = 0; 923 knownRegions = ( 924 Base, 925 en, 926 ); 927 mainGroup = C5342A31D253372339517EEE; 928 minimizedProjectReferenceProxies = 1; 929 preferredProjectObjectVersion = 77; 930 productRefGroup = 12BCF7948BC2C200C647C279 /* Products */; 931 projectDirPath = ""; 932 projectRoot = ""; 933 targets = ( 934 7708D1C8A0145D43BD15DEB7 /* Crossmate */, 935 C38EBD1A6B9D37EF81FF3511 /* Crossmate Unit Tests */, 936 350366A68B75DC4BDA91F8E5 /* NotificationService */, 937 ); 938 }; 939 /* End PBXProject section */ 940 941 /* Begin PBXResourcesBuildPhase section */ 942 C475EFB2B47245175F9B415C /* Resources */ = { 943 isa = PBXResourcesBuildPhase; 944 buildActionMask = 2147483647; 945 files = ( 946 9789150602A3321D2E1E7E81 /* Media.xcassets in Resources */, 947 8B356C953DA0FAF149C3391A /* Puzzles in Resources */, 948 ); 949 runOnlyForDeploymentPostprocessing = 0; 950 }; 951 /* End PBXResourcesBuildPhase section */ 952 953 /* Begin PBXSourcesBuildPhase section */ 954 6D4D7955C5F70F9F18D7C1F0 /* Sources */ = { 955 isa = PBXSourcesBuildPhase; 956 buildActionMask = 2147483647; 957 files = ( 958 95170ECF07E94E7581C2B66F /* ContentKeyDirectory.swift in Sources */, 959 A0977C7B0B0D928DA569C326 /* NicknameDirectory.swift in Sources */, 960 7D4A56FBB1C5D5F89271B77F /* NotificationService.swift in Sources */, 961 88BACA1689459AC9AED20D43 /* NotificationState.swift in Sources */, 962 F8A4B3A1F9601654C60550B3 /* PushPayload.swift in Sources */, 963 FC4853B4261B06945D0D1470 /* PushPayloadCipher.swift in Sources */, 964 351CB23C537BAB61863D95F6 /* PuzzleNotificationText.swift in Sources */, 965 ); 966 runOnlyForDeploymentPostprocessing = 0; 967 }; 968 931E2DAAD4EC47B06F7AB60A /* Sources */ = { 969 isa = PBXSourcesBuildPhase; 970 buildActionMask = 2147483647; 971 files = ( 972 6C091D30AAC9F63B7CE6FB58 /* AnnouncementCenterTests.swift in Sources */, 973 D519F54F8CE0BD53D9C6144C /* AppServicesAnnouncementTests.swift in Sources */, 974 DB098F40C6950E29B4BF10A7 /* ArchiveTests.swift in Sources */, 975 A98382E7659991FAF0F4ED0A /* AuthorIdentityTests.swift in Sources */, 976 328309D8CC72CCB5623FB2A1 /* EngagementCoordinatorTests.swift in Sources */, 977 02943BA53D2130B910E6DC00 /* EnsureGameEntityTests.swift in Sources */, 978 931431F8052FC58768C9BC26 /* FriendControllerNicknameReplayTests.swift in Sources */, 979 6A1CA96FF48CBEEE78EA6D34 /* FriendModelTests.swift in Sources */, 980 712A2764596A2D17A0BBBF3B /* FriendZoneTests.swift in Sources */, 981 85A798525FE1DC98210A9E82 /* GameCursorStoreTests.swift in Sources */, 982 2C0DFC182240A2519ED1FA6A /* GameMutatorTests.swift in Sources */, 983 30703DDF575DCDA53227DA66 /* GamePushCredentialsTests.swift in Sources */, 984 9AACF424992AE45FD7937064 /* GameStoreCompletionLockTests.swift in Sources */, 985 4D7BF839BA71E1BF0AE9BCE9 /* GameStoreContributingDevicesTests.swift in Sources */, 986 262A9CE8C3CB93869190CFF1 /* GameStoreMergedAuthorCellsTests.swift in Sources */, 987 2C5A15054CCCBF9FD626AFBB /* GameStorePushAddressTests.swift in Sources */, 988 449B0A09A36B276C93CFB9A4 /* GameStoreUnreadMovesTests.swift in Sources */, 989 7714B1C2FBCBBAD9BE8FEAF8 /* GameSummaryThumbnailTests.swift in Sources */, 990 1D08DDEDEF5433912CC6D4DB /* GameViewedStoreTests.swift in Sources */, 991 085B70680087464B8A7BA3EE /* GridSilhouetteTests.swift in Sources */, 992 AACC9F70AEEDCB3360FFDEFF /* GridStateMergerTests.swift in Sources */, 993 0158184A413AE177F75B4150 /* JournalReplayTests.swift in Sources */, 994 6E67C0DCB0416F382EA065B7 /* JournalUploadTests.swift in Sources */, 995 2641299DE1F2E84E8C21E037 /* LogScrubberTests.swift in Sources */, 996 E454051BA4797000C8AD2B48 /* MovesCodecLegacyDecodeTests.swift in Sources */, 997 DE90CC8BE23A0EFC4A32FFA5 /* MovesInboundTests.swift in Sources */, 998 F5F333B36654AEAF69A3C220 /* MovesJournalTests.swift in Sources */, 999 C1930083671621AC79CF95DD /* MovesUpdaterTests.swift in Sources */, 1000 C1D97A4CD02BC9C22C4208BB /* NYTAuthServiceTests.swift in Sources */, 1001 50C02D37A41D55CFA5D307E2 /* NYTPuzzleUpgraderTests.swift in Sources */, 1002 AA38A51862FC0AB8F7D34899 /* NYTToXDConverterTests.swift in Sources */, 1003 6850EAE474E589CE1EA2DF68 /* NicknameDirectoryTests.swift in Sources */, 1004 18D5BB584DBF92A2EC580AEA /* NotificationNavigationBrokerTests.swift in Sources */, 1005 E632562D090D8BE907F28C53 /* NotificationStateTests.swift in Sources */, 1006 903681985C17FCB5F97773A9 /* OpenPuzzleBannerTests.swift in Sources */, 1007 C89A15D812E372FE1C56039B /* PUZToXDConverterTests.swift in Sources */, 1008 DAD7EA11DA7330773A485473 /* PeerChangeLedgerTests.swift in Sources */, 1009 51E6F7F2FC52C2AA87B9DB45 /* PeerPresenceGraceTests.swift in Sources */, 1010 A458AF9CA8579AB51B695B08 /* PendingChangeReapTests.swift in Sources */, 1011 8225918652DCC822CA1C862F /* PendingEditFlagTests.swift in Sources */, 1012 014134FB81566B5D41168260 /* PerGameZoneTests.swift in Sources */, 1013 26DC22F88FA10C47BC06975E /* PersistenceRecoveryTests.swift in Sources */, 1014 95B4083F8BC2CA465077A662 /* PlayerColorTests.swift in Sources */, 1015 CEDF853009D0C367035F1F76 /* PlayerNamePublisherTests.swift in Sources */, 1016 7BD1A9F69953F9C3288969AF /* PlayerRecordPresenceTests.swift in Sources */, 1017 04062BCD473ED244159B1066 /* PlayerRosterTests.swift in Sources */, 1018 309457EC2DFEC476253D54D2 /* PlayerSelectionPublisherTests.swift in Sources */, 1019 00F2108848ADC7B4BF3AA0AE /* PlayerSessionNavigationTests.swift in Sources */, 1020 2A273C98FE3AC5E4C9BE1D88 /* PushPayloadCipherTests.swift in Sources */, 1021 A78FF09708EDED7ED50BB55B /* PushPayloadTests.swift in Sources */, 1022 F34EDFD45E2F5006807DDAC7 /* PuzzleCatalogTests.swift in Sources */, 1023 7FCD3F582B5ADC235E1F88A0 /* PuzzleNotificationTextTests.swift in Sources */, 1024 0A7AEB93A473AFCCD9217F49 /* PuzzleSessionTests.swift in Sources */, 1025 6E36ED34ACF047BABB3E2D69 /* RecentChangesTests.swift in Sources */, 1026 89CEDB8864F61E42AC04F9D6 /* RecordSerializerMovesTests.swift in Sources */, 1027 ECC1A5C3623F50B67185CFFB /* RecordSerializerTests.swift in Sources */, 1028 61F8B38587EE49D376B53544 /* ReplayCacheTests.swift in Sources */, 1029 C58F15CBEADA72032B54009D /* ReplayControlsTests.swift in Sources */, 1030 AE5D8C531F89F05B7201B3AC /* SessionMonitorTests.swift in Sources */, 1031 07A46496EE0B12FD526F36FB /* SessionPushPlannerTests.swift in Sources */, 1032 8AE376C0726116082B15241D /* ShareLinkRouteTests.swift in Sources */, 1033 41290C86E72D6567C43C31B7 /* ShareLinkShortenerTests.swift in Sources */, 1034 BE57957589423497338EBD37 /* ShareRoutingTests.swift in Sources */, 1035 025377AF80D45967CE910423 /* SyncMonitorTests.swift in Sources */, 1036 4819D7FBB407C9D76510EA2A /* TestHelpers.swift in Sources */, 1037 F15591B48E4155CB19C1F084 /* TimeLogTests.swift in Sources */, 1038 9AD5700398B1C1F29A3A75F6 /* TipStoreTests.swift in Sources */, 1039 31F2B6A61ED352C7D800149F /* XDAcceptTests.swift in Sources */, 1040 786813F3418C32EFBF296220 /* XDMarkupTests.swift in Sources */, 1041 9582AA583F5EA008FFC82B64 /* ZoneOrphaningTests.swift in Sources */, 1042 ); 1043 runOnlyForDeploymentPostprocessing = 0; 1044 }; 1045 C17B62906BBF281D006D8DC2 /* Sources */ = { 1046 isa = PBXSourcesBuildPhase; 1047 buildActionMask = 2147483647; 1048 files = ( 1049 924B29C1EEB29F849A6824C3 /* AboutView.swift in Sources */, 1050 EA0AA522F6C383034C4572F4 /* AccountPushCoordinator.swift in Sources */, 1051 A87E5E615559B6461B1C3F94 /* AnnouncementBanner.swift in Sources */, 1052 5EFCD28B3B682DCCF38068D6 /* AnnouncementCenter.swift in Sources */, 1053 78802AFDF6273231781CC0DC /* AppServices.swift in Sources */, 1054 A65F99414F8CF6704567BB07 /* Archive.swift in Sources */, 1055 197DDF45C36B9570BB9AE4B5 /* AuthorIdentity.swift in Sources */, 1056 EB6E99226D5EE27668787008 /* BadgeCoordinator.swift in Sources */, 1057 4D9E2C35893E68E47F790994 /* BundledBrowseView.swift in Sources */, 1058 F627D68B521FEA85EB80A850 /* CalendarDayCell.swift in Sources */, 1059 6BE7E91158F4DF1F71247C6D /* CellMark.swift in Sources */, 1060 A22113A51213068FBF708A56 /* CellView.swift in Sources */, 1061 5FB26F40F5DB52111E3D1BDC /* CheckResult.swift in Sources */, 1062 E15A40AA623B60279E8DDF43 /* CloudDiagnostics.swift in Sources */, 1063 1016604FBD4D63A0B9AAE503 /* CloudQuery.swift in Sources */, 1064 CC250D6BA9B41CB722D8A62E /* CloudService.swift in Sources */, 1065 E16A8FE849A8E8BCC0F32280 /* CloudZones.swift in Sources */, 1066 BAB41DBF7D099B1EE46B4ACB /* ClueBar.swift in Sources */, 1067 036EC1EDDEFD17DCDD9B5F1A /* ClueList.swift in Sources */, 1068 2571BA6482B3E896A80FF393 /* CompactSlider.swift in Sources */, 1069 609364CB79E0C7517298B404 /* ContentKeyDirectory.swift in Sources */, 1070 DE9E4FAB098731A650F2D306 /* CrossmateApp.swift in Sources */, 1071 C30C0C4E54E4209A22843872 /* CrossmateModel.xcdatamodeld in Sources */, 1072 C472EF02D8C7B0AC1D2284B8 /* CustomButtons.swift in Sources */, 1073 CCF3867C32C3F36E4F69A59E /* DebuggingMonitors.swift in Sources */, 1074 0F2992C16A3A658DEA0F707E /* DiagnosticsView.swift in Sources */, 1075 978F91DBAE94BC5DA1D94705 /* DriveMonitor.swift in Sources */, 1076 CABF8BFAA30B9F26C482FAB9 /* EngagementCoordinator.swift in Sources */, 1077 267ED5B329F05A30430B73A0 /* EngagementHost.swift in Sources */, 1078 A7FA870D794CA00F7F3F05D2 /* EngagementHostEnvironment.swift in Sources */, 1079 D240BF6498A9148855DB7734 /* EngagementLifecycle.swift in Sources */, 1080 06AE6DF7AA3274480C591E47 /* EngagementStore.swift in Sources */, 1081 BD317ECC09C9099AC29B8C5D /* FriendAvatarView.swift in Sources */, 1082 C8ACF431021E7BEE61A99153 /* FriendController.swift in Sources */, 1083 00A25F5D8DFF62EFA0C4D1D7 /* FriendEntity+DisplayName.swift in Sources */, 1084 884BC090D4E2D416AA52D6FD /* FriendPickerView.swift in Sources */, 1085 2AF2550B08CE79F8615B3076 /* FriendZone.swift in Sources */, 1086 B00743DAF8F46F14CE13E909 /* FriendsView.swift in Sources */, 1087 98F8FBF324ED00D53FEBB1DB /* Game.swift in Sources */, 1088 5992AD4A06D7C6440825E9C6 /* GameArchiver.swift in Sources */, 1089 D5022BFB2F8F2E5904EDF5C8 /* GameCardView.swift in Sources */, 1090 128915DB37018EE4CC16C856 /* GameCursorStore.swift in Sources */, 1091 16D7328AE0BB1F7ED46235C8 /* GameEntity+ContentKey.swift in Sources */, 1092 0063A5FC9F39E37A67F137FF /* GameListView.swift in Sources */, 1093 3A5483EF2893AE325DF27EE8 /* GameMutator.swift in Sources */, 1094 9FFD01CF6767220EEA20C0E4 /* GamePushCredentials.swift in Sources */, 1095 FC480FE2930EAE406F5BBBDA /* GameRowView.swift in Sources */, 1096 44FF4A5334A4086DEA7D8A7B /* GameShareItem.swift in Sources */, 1097 D58980B92C99122C368D4216 /* GameStore.swift in Sources */, 1098 1A1A8A9AB36D02E2A5A9ED28 /* GameViewedStore.swift in Sources */, 1099 4B8CA45845618D75A3313816 /* GridSilhouette.swift in Sources */, 1100 ED6C21CD9F5AB286B69A02E4 /* GridStateMerger.swift in Sources */, 1101 1AAFF86B40CBBFF1EC9ADF9F /* GridThumbnailView.swift in Sources */, 1102 93DB3DD9A8EE994B92E7C084 /* GridView.swift in Sources */, 1103 01D1B4C7303F1CA52438FF86 /* HardwareKeyboardInputView.swift in Sources */, 1104 4A89595E3F6AB50E1D9E6BA8 /* ImportService.swift in Sources */, 1105 F8D37DBE75D7B3F039A8FAC8 /* ImportedBrowseView.swift in Sources */, 1106 1A19D13D9B820E276C60819E /* InputMonitor.swift in Sources */, 1107 59230713D85AE6895852B06A /* InviteCoordinator.swift in Sources */, 1108 7D9337A19747C79070AB3D59 /* InviteEntity+DisplayName.swift in Sources */, 1109 13C0F34520828020AD825D07 /* JoiningPuzzleView.swift in Sources */, 1110 9502840161DB88BB6BB409D5 /* Journal.swift in Sources */, 1111 B5F78A55C9BCCD24E44D865F /* JournalReplay.swift in Sources */, 1112 689DAEC70934027E76E8116E /* KeyboardView.swift in Sources */, 1113 38C913D00ED762BD9E355A2D /* KeychainHelper.swift in Sources */, 1114 CF1DC343A5D3110EDFA703AB /* LastUpdatedView.swift in Sources */, 1115 8D8A9F70731C98DD00BE1DA5 /* Layouts.swift in Sources */, 1116 AB6D98C7A78D91D7BEFB4A4C /* MarketingPuzzleScreenshotView.swift in Sources */, 1117 91703E54DB4679C1911BF994 /* Moves.swift in Sources */, 1118 4D90B39AD2F79959FB8089EE /* MovesUpdater.swift in Sources */, 1119 1F4E5473F78A5CEDBA9719CE /* NYTAuthService.swift in Sources */, 1120 C843CADAA263CED503528A4E /* NYTBrowseView.swift in Sources */, 1121 6D2AF361587E43D807BA212F /* NYTLoginView.swift in Sources */, 1122 0241DC498C645FE1BDA00FB0 /* NYTPuzzleFetcher.swift in Sources */, 1123 85B9BAC5ED404FE4496250CB /* NYTPuzzleUpgrader.swift in Sources */, 1124 B762200F54C52E8377A80D15 /* NYTToXDConverter.swift in Sources */, 1125 5E89D1F8FDFE56395997281A /* NewGameSheet.swift in Sources */, 1126 36E2AAF1EE1314E13477EE85 /* NicknameDirectory.swift in Sources */, 1127 6AE88D9E1918508DBF2A91E1 /* NotificationState.swift in Sources */, 1128 CF56BBB90855367CB85FEB43 /* PUZToXDConverter.swift in Sources */, 1129 E6A13F8736ABF41F6346E301 /* ParticipantSummaries.swift in Sources */, 1130 4E14BB5D6F96D178373ED55A /* PeerChangeLedger.swift in Sources */, 1131 77556FD9473A3F10FADF5E4E /* PersistenceController.swift in Sources */, 1132 47584CBEF819C2F507D06DFF /* PlayerColor.swift in Sources */, 1133 3C54AE4AA04342CCF5705B20 /* PlayerNamePublisher.swift in Sources */, 1134 F8DDA34AC1A6B6499C5D222E /* PlayerPreferences.swift in Sources */, 1135 0C39CA21BE50E49F9F06C5F2 /* PlayerRoster.swift in Sources */, 1136 17A754692F05B97DBDD645F2 /* PlayerSelection.swift in Sources */, 1137 B6AB531F4E0C4031B627C539 /* PlayerSelectionPublisher.swift in Sources */, 1138 8F5CB2F94E083D06D7E04280 /* PlayerSession.swift in Sources */, 1139 E354A588DBA74627A9CD5591 /* Presence.swift in Sources */, 1140 A133A4B4A0C95AF8708BD7E6 /* PushClient.swift in Sources */, 1141 43E311FBD68B7D35A4D29743 /* PushPayload.swift in Sources */, 1142 8FEE38B2B540F0E91560747F /* PushPayloadCipher.swift in Sources */, 1143 F2F7CB23DA62BF714632B097 /* PushRequestAuthenticator.swift in Sources */, 1144 503229FF89FF7C29CEF4C16D /* Puzzle.swift in Sources */, 1145 350722635E9A17324148CACC /* PuzzleCatalog.swift in Sources */, 1146 ADBEAD1C0139BCF864CA8A1D /* PuzzleCommands.swift in Sources */, 1147 D2AC1D9BD7E387B06B9B8A0E /* PuzzleHeader.swift in Sources */, 1148 082B9BAADE3AFA54EFE30E19 /* PuzzleModifiers.swift in Sources */, 1149 24F7ED458A1C09F8CF309B35 /* PuzzleNotificationText+GameEntity.swift in Sources */, 1150 E81F92AAB2968997C3D68809 /* PuzzleNotificationText.swift in Sources */, 1151 2DD78CA0CD587AA4E5C4B178 /* PuzzleScoreboard.swift in Sources */, 1152 88A34C8857B2B3D45A6FBCB2 /* PuzzleSession.swift in Sources */, 1153 E91FB8101E1927CA567DE825 /* PuzzleSource.swift in Sources */, 1154 9C52C48DB4996D5C83DEC144 /* PuzzleView.swift in Sources */, 1155 9AD8936D94FD676B23DFBB77 /* RecentChanges.swift in Sources */, 1156 D94FF5DFB9412D2DC24F6574 /* RecordApplier.swift in Sources */, 1157 D13ECFAE05DB508577D2FF66 /* RecordBuilder.swift in Sources */, 1158 35777D908A7D062730A18EF9 /* RecordEditorView.swift in Sources */, 1159 CF0CA17ABE211DAE4DD35AFD /* RecordSerializer.swift in Sources */, 1160 E1FBC33E3348547D4DF946C4 /* ReplayControls.swift in Sources */, 1161 C9864C9940C9DAAD0A788094 /* ReplayLoader.swift in Sources */, 1162 15768439C1783A1780FBB824 /* SessionCoordinator.swift in Sources */, 1163 5ECF5B80D08E5E999A540782 /* SessionMonitor.swift in Sources */, 1164 B48DE7079BE2F31D2367C5F7 /* SessionPushPlanner.swift in Sources */, 1165 4F1A93404828EDBDBBF86716 /* SettingsView.swift in Sources */, 1166 BCB9A4D5E06EE5006186465D /* ShareController.swift in Sources */, 1167 D4EDC0D426688B295DA77C08 /* ShareLinkRoute.swift in Sources */, 1168 779D1955F350B507A47B1E5B /* ShareLinkShortener.swift in Sources */, 1169 AF4F1AE2A1F94E92C785C524 /* Square.swift in Sources */, 1170 DDC7994B951A3A7B836B36F6 /* SuccessPanel.swift in Sources */, 1171 82918A74836E5076CBFA1592 /* SyncEngine.swift in Sources */, 1172 F46733AB3C72749A4A992667 /* SyncState+Helpers.swift in Sources */, 1173 B0170C8927EDD2E43F849204 /* TimeLog.swift in Sources */, 1174 35D97436772257DAD3936ECB /* TipStore.swift in Sources */, 1175 3C54B672A9FCA98C0A304470 /* TipsArchive.swift in Sources */, 1176 7FFEACFC672925A0968ACC1C /* XD.swift in Sources */, 1177 9CB8808193A4A106D721D767 /* XDFileType.swift in Sources */, 1178 14749A042380925B7CA902F2 /* XDMarkup.swift in Sources */, 1179 ); 1180 runOnlyForDeploymentPostprocessing = 0; 1181 }; 1182 /* End PBXSourcesBuildPhase section */ 1183 1184 /* Begin PBXTargetDependency section */ 1185 0638C125467274AA03088E07 /* PBXTargetDependency */ = { 1186 isa = PBXTargetDependency; 1187 target = 350366A68B75DC4BDA91F8E5 /* NotificationService */; 1188 targetProxy = 0751E0359C340223ADBA2B05 /* PBXContainerItemProxy */; 1189 }; 1190 42035D5EEE61A5D459E1D46D /* PBXTargetDependency */ = { 1191 isa = PBXTargetDependency; 1192 target = 7708D1C8A0145D43BD15DEB7 /* Crossmate */; 1193 targetProxy = F0122CF3E216720C4437CE6A /* PBXContainerItemProxy */; 1194 }; 1195 /* End PBXTargetDependency section */ 1196 1197 /* Begin XCBuildConfiguration section */ 1198 209C1E6D178C7EF962FC85A5 /* Release */ = { 1199 isa = XCBuildConfiguration; 1200 baseConfigurationReference = 0BDC16DA7F762F4C5F4BED14 /* Config.xcconfig */; 1201 buildSettings = { 1202 ALWAYS_SEARCH_USER_PATHS = NO; 1203 ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOL_EXTENSIONS = YES; 1204 ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; 1205 CLANG_ANALYZER_NONNULL = YES; 1206 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 1207 CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 1208 CLANG_CXX_LIBRARY = "libc++"; 1209 CLANG_ENABLE_MODULES = YES; 1210 CLANG_ENABLE_OBJC_ARC = YES; 1211 CLANG_ENABLE_OBJC_WEAK = YES; 1212 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 1213 CLANG_WARN_BOOL_CONVERSION = YES; 1214 CLANG_WARN_COMMA = YES; 1215 CLANG_WARN_CONSTANT_CONVERSION = YES; 1216 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 1217 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 1218 CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1219 CLANG_WARN_EMPTY_BODY = YES; 1220 CLANG_WARN_ENUM_CONVERSION = YES; 1221 CLANG_WARN_INFINITE_RECURSION = YES; 1222 CLANG_WARN_INT_CONVERSION = YES; 1223 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 1224 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 1225 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 1226 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 1227 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 1228 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 1229 CLANG_WARN_STRICT_PROTOTYPES = YES; 1230 CLANG_WARN_SUSPICIOUS_MOVE = YES; 1231 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 1232 CLANG_WARN_UNREACHABLE_CODE = YES; 1233 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 1234 COPY_PHASE_STRIP = NO; 1235 DEAD_CODE_STRIPPING = YES; 1236 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 1237 DEVELOPMENT_TEAM = 7TD7PZBNXP; 1238 ENABLE_NS_ASSERTIONS = NO; 1239 ENABLE_STRICT_OBJC_MSGSEND = YES; 1240 ENABLE_USER_SCRIPT_SANDBOXING = YES; 1241 GCC_C_LANGUAGE_STANDARD = gnu11; 1242 GCC_NO_COMMON_BLOCKS = YES; 1243 GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 1244 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 1245 GCC_WARN_UNDECLARED_SELECTOR = YES; 1246 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 1247 GCC_WARN_UNUSED_FUNCTION = YES; 1248 GCC_WARN_UNUSED_VARIABLE = YES; 1249 IPHONEOS_DEPLOYMENT_TARGET = 17.5; 1250 MTL_ENABLE_DEBUG_INFO = NO; 1251 MTL_FAST_MATH = YES; 1252 PRODUCT_NAME = "$(TARGET_NAME)"; 1253 SDKROOT = iphoneos; 1254 STRING_CATALOG_GENERATE_SYMBOLS = YES; 1255 SWIFT_COMPILATION_MODE = wholemodule; 1256 SWIFT_EMIT_LOC_STRINGS = YES; 1257 SWIFT_OPTIMIZATION_LEVEL = "-O"; 1258 SWIFT_VERSION = 6; 1259 }; 1260 name = Release; 1261 }; 1262 42CA2E441989D32BE123F48A /* Debug */ = { 1263 isa = XCBuildConfiguration; 1264 buildSettings = { 1265 BUNDLE_LOADER = "$(TEST_HOST)"; 1266 CODE_SIGN_STYLE = Automatic; 1267 GENERATE_INFOPLIST_FILE = YES; 1268 LD_RUNPATH_SEARCH_PATHS = ( 1269 "$(inherited)", 1270 "@executable_path/Frameworks", 1271 "@loader_path/Frameworks", 1272 ); 1273 PRODUCT_BUNDLE_IDENTIFIER = net.inqk.crossmate.unittests; 1274 SDKROOT = iphoneos; 1275 TARGETED_DEVICE_FAMILY = "1,2"; 1276 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Crossmate.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Crossmate"; 1277 }; 1278 name = Debug; 1279 }; 1280 642190659D822637293D1645 /* Release */ = { 1281 isa = XCBuildConfiguration; 1282 buildSettings = { 1283 BUNDLE_LOADER = "$(TEST_HOST)"; 1284 CODE_SIGN_STYLE = Automatic; 1285 GENERATE_INFOPLIST_FILE = YES; 1286 LD_RUNPATH_SEARCH_PATHS = ( 1287 "$(inherited)", 1288 "@executable_path/Frameworks", 1289 "@loader_path/Frameworks", 1290 ); 1291 PRODUCT_BUNDLE_IDENTIFIER = net.inqk.crossmate.unittests; 1292 SDKROOT = iphoneos; 1293 TARGETED_DEVICE_FAMILY = "1,2"; 1294 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Crossmate.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Crossmate"; 1295 }; 1296 name = Release; 1297 }; 1298 68A4416DD8D2ADB28F35E46C /* Release */ = { 1299 isa = XCBuildConfiguration; 1300 buildSettings = { 1301 CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; 1302 CODE_SIGN_STYLE = Automatic; 1303 INFOPLIST_FILE = NotificationService/Info.plist; 1304 LD_RUNPATH_SEARCH_PATHS = ( 1305 "$(inherited)", 1306 "@executable_path/Frameworks", 1307 "@executable_path/../../Frameworks", 1308 ); 1309 PRODUCT_BUNDLE_IDENTIFIER = net.inqk.crossmate.notificationservice; 1310 SDKROOT = iphoneos; 1311 TARGETED_DEVICE_FAMILY = "1,2"; 1312 }; 1313 name = Release; 1314 }; 1315 8BC97916898B0BF1E6951C48 /* Release */ = { 1316 isa = XCBuildConfiguration; 1317 buildSettings = { 1318 APP_ATTEST_ENVIRONMENT = production; 1319 APS_ENVIRONMENT = production; 1320 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 1321 CODE_SIGN_ENTITLEMENTS = Crossmate/Crossmate.entitlements; 1322 CODE_SIGN_IDENTITY = "iPhone Developer"; 1323 CODE_SIGN_STYLE = Automatic; 1324 CROSSMATE_ENGAGEMENT_SOCKET_URL = "$(inherited)"; 1325 CROSSMATE_PUSH_BASE_URL = "$(inherited)"; 1326 CROSSMATE_SHARE_LINK_BASE_URL = "$(inherited)"; 1327 CROSSMATE_SHARE_LINK_HOST = "$(inherited)"; 1328 INFOPLIST_FILE = Crossmate/Info.plist; 1329 LD_RUNPATH_SEARCH_PATHS = ( 1330 "$(inherited)", 1331 "@executable_path/Frameworks", 1332 ); 1333 OTHER_LDFLAGS = "$(inherited) -Wl,-no_deduplicate"; 1334 PRODUCT_BUNDLE_IDENTIFIER = net.inqk.crossmate; 1335 SDKROOT = iphoneos; 1336 TARGETED_DEVICE_FAMILY = "1,2"; 1337 }; 1338 name = Release; 1339 }; 1340 AF49D30A1B81631106E05429 /* Debug */ = { 1341 isa = XCBuildConfiguration; 1342 buildSettings = { 1343 APP_ATTEST_ENVIRONMENT = production; 1344 APS_ENVIRONMENT = development; 1345 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 1346 CODE_SIGN_ENTITLEMENTS = Crossmate/Crossmate.entitlements; 1347 CODE_SIGN_IDENTITY = "iPhone Developer"; 1348 CODE_SIGN_STYLE = Automatic; 1349 CROSSMATE_ENGAGEMENT_SOCKET_URL = "$(inherited)"; 1350 CROSSMATE_PUSH_BASE_URL = "$(inherited)"; 1351 CROSSMATE_SHARE_LINK_BASE_URL = "$(inherited)"; 1352 CROSSMATE_SHARE_LINK_HOST = "$(inherited)"; 1353 INFOPLIST_FILE = Crossmate/Info.plist; 1354 LD_RUNPATH_SEARCH_PATHS = ( 1355 "$(inherited)", 1356 "@executable_path/Frameworks", 1357 ); 1358 PRODUCT_BUNDLE_IDENTIFIER = net.inqk.crossmate; 1359 SDKROOT = iphoneos; 1360 TARGETED_DEVICE_FAMILY = "1,2"; 1361 }; 1362 name = Debug; 1363 }; 1364 C32934743A6313F80D8A4C76 /* Debug */ = { 1365 isa = XCBuildConfiguration; 1366 buildSettings = { 1367 CODE_SIGN_ENTITLEMENTS = NotificationService/NotificationService.entitlements; 1368 CODE_SIGN_STYLE = Automatic; 1369 INFOPLIST_FILE = NotificationService/Info.plist; 1370 LD_RUNPATH_SEARCH_PATHS = ( 1371 "$(inherited)", 1372 "@executable_path/Frameworks", 1373 "@executable_path/../../Frameworks", 1374 ); 1375 PRODUCT_BUNDLE_IDENTIFIER = net.inqk.crossmate.notificationservice; 1376 SDKROOT = iphoneos; 1377 TARGETED_DEVICE_FAMILY = "1,2"; 1378 }; 1379 name = Debug; 1380 }; 1381 E7B092DD549FA4FFED8BC20E /* Debug */ = { 1382 isa = XCBuildConfiguration; 1383 baseConfigurationReference = 0BDC16DA7F762F4C5F4BED14 /* Config.xcconfig */; 1384 buildSettings = { 1385 ALWAYS_SEARCH_USER_PATHS = NO; 1386 ASSETCATALOG_COMPILER_GENERATE_ASSET_SYMBOL_EXTENSIONS = YES; 1387 ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; 1388 CLANG_ANALYZER_NONNULL = YES; 1389 CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 1390 CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 1391 CLANG_CXX_LIBRARY = "libc++"; 1392 CLANG_ENABLE_MODULES = YES; 1393 CLANG_ENABLE_OBJC_ARC = YES; 1394 CLANG_ENABLE_OBJC_WEAK = YES; 1395 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 1396 CLANG_WARN_BOOL_CONVERSION = YES; 1397 CLANG_WARN_COMMA = YES; 1398 CLANG_WARN_CONSTANT_CONVERSION = YES; 1399 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 1400 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 1401 CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1402 CLANG_WARN_EMPTY_BODY = YES; 1403 CLANG_WARN_ENUM_CONVERSION = YES; 1404 CLANG_WARN_INFINITE_RECURSION = YES; 1405 CLANG_WARN_INT_CONVERSION = YES; 1406 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 1407 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 1408 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 1409 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 1410 CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 1411 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 1412 CLANG_WARN_STRICT_PROTOTYPES = YES; 1413 CLANG_WARN_SUSPICIOUS_MOVE = YES; 1414 CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 1415 CLANG_WARN_UNREACHABLE_CODE = YES; 1416 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 1417 COPY_PHASE_STRIP = NO; 1418 DEAD_CODE_STRIPPING = YES; 1419 DEBUG_INFORMATION_FORMAT = dwarf; 1420 DEVELOPMENT_TEAM = 7TD7PZBNXP; 1421 ENABLE_STRICT_OBJC_MSGSEND = YES; 1422 ENABLE_TESTABILITY = YES; 1423 ENABLE_USER_SCRIPT_SANDBOXING = YES; 1424 GCC_C_LANGUAGE_STANDARD = gnu11; 1425 GCC_DYNAMIC_NO_PIC = NO; 1426 GCC_NO_COMMON_BLOCKS = YES; 1427 GCC_OPTIMIZATION_LEVEL = 0; 1428 GCC_PREPROCESSOR_DEFINITIONS = ( 1429 "$(inherited)", 1430 "DEBUG=1", 1431 ); 1432 GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 1433 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 1434 GCC_WARN_UNDECLARED_SELECTOR = YES; 1435 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 1436 GCC_WARN_UNUSED_FUNCTION = YES; 1437 GCC_WARN_UNUSED_VARIABLE = YES; 1438 IPHONEOS_DEPLOYMENT_TARGET = 17.5; 1439 MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 1440 MTL_FAST_MATH = YES; 1441 ONLY_ACTIVE_ARCH = YES; 1442 PRODUCT_NAME = "$(TARGET_NAME)"; 1443 SDKROOT = iphoneos; 1444 STRING_CATALOG_GENERATE_SYMBOLS = YES; 1445 SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 1446 SWIFT_EMIT_LOC_STRINGS = YES; 1447 SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 1448 SWIFT_VERSION = 6; 1449 }; 1450 name = Debug; 1451 }; 1452 /* End XCBuildConfiguration section */ 1453 1454 /* Begin XCConfigurationList section */ 1455 0C7AF110B3697D116B91817A /* Build configuration list for PBXNativeTarget "Crossmate Unit Tests" */ = { 1456 isa = XCConfigurationList; 1457 buildConfigurations = ( 1458 42CA2E441989D32BE123F48A /* Debug */, 1459 642190659D822637293D1645 /* Release */, 1460 ); 1461 defaultConfigurationIsVisible = 0; 1462 defaultConfigurationName = Debug; 1463 }; 1464 97D15A585690B87E7C17FF8A /* Build configuration list for PBXNativeTarget "NotificationService" */ = { 1465 isa = XCConfigurationList; 1466 buildConfigurations = ( 1467 C32934743A6313F80D8A4C76 /* Debug */, 1468 68A4416DD8D2ADB28F35E46C /* Release */, 1469 ); 1470 defaultConfigurationIsVisible = 0; 1471 defaultConfigurationName = Debug; 1472 }; 1473 9A436EF03A8593C66A18A832 /* Build configuration list for PBXProject "Crossmate" */ = { 1474 isa = XCConfigurationList; 1475 buildConfigurations = ( 1476 E7B092DD549FA4FFED8BC20E /* Debug */, 1477 209C1E6D178C7EF962FC85A5 /* Release */, 1478 ); 1479 defaultConfigurationIsVisible = 0; 1480 defaultConfigurationName = Debug; 1481 }; 1482 AB7D49875A042FD78EDD157A /* Build configuration list for PBXNativeTarget "Crossmate" */ = { 1483 isa = XCConfigurationList; 1484 buildConfigurations = ( 1485 AF49D30A1B81631106E05429 /* Debug */, 1486 8BC97916898B0BF1E6951C48 /* Release */, 1487 ); 1488 defaultConfigurationIsVisible = 0; 1489 defaultConfigurationName = Debug; 1490 }; 1491 /* End XCConfigurationList section */ 1492 1493 /* Begin XCVersionGroup section */ 1494 F93AC31640C40FCC039570A3 /* CrossmateModel.xcdatamodeld */ = { 1495 isa = XCVersionGroup; 1496 children = ( 1497 927186458ED03FD0C5660765 /* CrossmateModel.xcdatamodel */, 1498 ); 1499 currentVersion = 927186458ED03FD0C5660765 /* CrossmateModel.xcdatamodel */; 1500 path = CrossmateModel.xcdatamodeld; 1501 sourceTree = "<group>"; 1502 versionGroupType = wrapper.xcdatamodel; 1503 }; 1504 /* End XCVersionGroup section */ 1505 }; 1506 rootObject = 9167165F088B7698D1319D3C /* Project object */; 1507 }