Aggiunge E2E simulatore iOS e API_BASE_URL configurabile in build.

Permette build Debug verso localhost, script smoke per close_set/resume session e rigenerazione progetto con setting API di default produzione.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Emiliano Frascaro
2026-06-14 21:43:51 +02:00
parent 585332e32e
commit 5de3a1a1cf
5 changed files with 273 additions and 166 deletions

View File

@@ -4,151 +4,151 @@
classes = {};
objectVersion = 60;
objects = {
5B23ED0F23434BC3A23B142F /* MatchLiveTvApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveTvApp.swift; path = MatchLiveTv/App/MatchLiveTvApp.swift; sourceTree = "<group>"; };
D7A94757D18C46C9821833B7 /* ApiInstant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiInstant.swift; path = MatchLiveTv/Core/ApiInstant.swift; sourceTree = "<group>"; };
1443F18A02BB4890A01A56F9 /* AppConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppConfig.swift; path = MatchLiveTv/Core/AppConfig.swift; sourceTree = "<group>"; };
E717B8A6A51E499490C0334B /* ColorHex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ColorHex.swift; path = MatchLiveTv/Core/ColorHex.swift; sourceTree = "<group>"; };
6E6A356C81724C51BF41C25D /* DeviceTelemetry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DeviceTelemetry.swift; path = MatchLiveTv/Core/DeviceTelemetry.swift; sourceTree = "<group>"; };
DC18E1BC596E42DBB8BBBBFD /* MediaUrl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MediaUrl.swift; path = MatchLiveTv/Core/MediaUrl.swift; sourceTree = "<group>"; };
C3DCAD32C3F24439A75920C1 /* TokenStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TokenStore.swift; path = MatchLiveTv/Core/TokenStore.swift; sourceTree = "<group>"; };
B4B5CF0BD5534CF7BE51E3CB /* UserFacingError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UserFacingError.swift; path = MatchLiveTv/Core/UserFacingError.swift; sourceTree = "<group>"; };
E14CA2E05DE7400C852121AD /* ApiDtos.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiDtos.swift; path = MatchLiveTv/Data/API/ApiDtos.swift; sourceTree = "<group>"; };
BD1CEFBFF4D54361A4C3B4D2 /* MatchLiveAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveAPI.swift; path = MatchLiveTv/Data/API/MatchLiveAPI.swift; sourceTree = "<group>"; };
66C7207107804520B8B87462 /* AppContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppContainer.swift; path = MatchLiveTv/Data/AppContainer.swift; sourceTree = "<group>"; };
BE6E2D81675945268458DEE8 /* ActionCableClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ActionCableClient.swift; path = MatchLiveTv/Data/Cable/ActionCableClient.swift; sourceTree = "<group>"; };
E902041CF4A04479B72760FE /* SessionCableService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SessionCableService.swift; path = MatchLiveTv/Data/Cable/SessionCableService.swift; sourceTree = "<group>"; };
4AE94D0FE137473D8821B0E3 /* AuthRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AuthRepository.swift; path = MatchLiveTv/Data/Repository/AuthRepository.swift; sourceTree = "<group>"; };
8D20E18A8913489FABFBFFB5 /* MatchRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchRepository.swift; path = MatchLiveTv/Data/Repository/MatchRepository.swift; sourceTree = "<group>"; };
BDDCAF6027D24CB2B273A3D6 /* MatchSessionLauncher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchSessionLauncher.swift; path = MatchLiveTv/Data/Repository/MatchSessionLauncher.swift; sourceTree = "<group>"; };
2A5CCF3B585A4095941A6B21 /* ScoreRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreRepository.swift; path = MatchLiveTv/Data/Repository/ScoreRepository.swift; sourceTree = "<group>"; };
4436BE62A6004577BE8356C1 /* SessionRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SessionRepository.swift; path = MatchLiveTv/Data/Repository/SessionRepository.swift; sourceTree = "<group>"; };
CF167DF2CBC14C2A97D49C1D /* ScoreController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreController.swift; path = MatchLiveTv/Data/Scoring/ScoreController.swift; sourceTree = "<group>"; };
0BE371ACB29A48DF928B90DD /* WizardSessionHolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardSessionHolder.swift; path = MatchLiveTv/Data/WizardSessionHolder.swift; sourceTree = "<group>"; };
73A8C9597075432FB3DFCFFA /* MatchHubFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchHubFilter.swift; path = MatchLiveTv/Domain/MatchHubFilter.swift; sourceTree = "<group>"; };
116561D032ED4DF8A4174E59 /* MatchScoringRules.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScoringRules.swift; path = MatchLiveTv/Domain/MatchScoringRules.swift; sourceTree = "<group>"; };
AC559FEC305D475CA3F1DB21 /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Models.swift; path = MatchLiveTv/Domain/Models.swift; sourceTree = "<group>"; };
3247EDBBC6114F269C89736C /* ScoreState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreState.swift; path = MatchLiveTv/Domain/ScoreState.swift; sourceTree = "<group>"; };
15B20863445A4EC28321DBFF /* BroadcastModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastModels.swift; path = MatchLiveTv/Streaming/BroadcastModels.swift; sourceTree = "<group>"; };
51B7115C3000422A8DCA41ED /* LiveBroadcastCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastCoordinator.swift; path = MatchLiveTv/Streaming/LiveBroadcastCoordinator.swift; sourceTree = "<group>"; };
7A433A01B5BB4FE0B8E51234 /* LiveBroadcastEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastEngine.swift; path = MatchLiveTv/Streaming/LiveBroadcastEngine.swift; sourceTree = "<group>"; };
C296D6280BCD4DC0BB467CC1 /* CompactScoreboardElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CompactScoreboardElement.swift; path = MatchLiveTv/Streaming/Overlay/CompactScoreboardElement.swift; sourceTree = "<group>"; };
3F851B63647B4122A2753EBD /* OverlayCanvasRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayCanvasRenderer.swift; path = MatchLiveTv/Streaming/Overlay/OverlayCanvasRenderer.swift; sourceTree = "<group>"; };
420794A1247149B7B931DAEA /* OverlayLogoCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayLogoCache.swift; path = MatchLiveTv/Streaming/Overlay/OverlayLogoCache.swift; sourceTree = "<group>"; };
48C5D1CE81864C2FBB3188EA /* OverlayMappings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayMappings.swift; path = MatchLiveTv/Streaming/Overlay/OverlayMappings.swift; sourceTree = "<group>"; };
228DEA0D7B0D48D6BED86141 /* OverlayRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayRenderer.swift; path = MatchLiveTv/Streaming/Overlay/OverlayRenderer.swift; sourceTree = "<group>"; };
0F9F57E16B374D3AB379C1FF /* OverlayState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayState.swift; path = MatchLiveTv/Streaming/Overlay/OverlayState.swift; sourceTree = "<group>"; };
0ED2AA45ECFA4193ACC31063 /* ScoreboardElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreboardElement.swift; path = MatchLiveTv/Streaming/Overlay/ScoreboardElement.swift; sourceTree = "<group>"; };
1F2B2A3AC4C948038C03E8BB /* SponsorElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SponsorElement.swift; path = MatchLiveTv/Streaming/Overlay/SponsorElement.swift; sourceTree = "<group>"; };
3465550280DE4F5E8D485F69 /* WatermarkElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WatermarkElement.swift; path = MatchLiveTv/Streaming/Overlay/WatermarkElement.swift; sourceTree = "<group>"; };
42A4881EE59B42FEB7749122 /* LivePreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LivePreviewView.swift; path = MatchLiveTv/Streaming/Preview/LivePreviewView.swift; sourceTree = "<group>"; };
2B7C7A905479455F98F00DC3 /* BroadcastControlsOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastControlsOverlay.swift; path = MatchLiveTv/UI/Broadcast/BroadcastControlsOverlay.swift; sourceTree = "<group>"; };
8EBF7DD17E77419A83DC0496 /* BroadcastScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastScreen.swift; path = MatchLiveTv/UI/Broadcast/BroadcastScreen.swift; sourceTree = "<group>"; };
2F0BE30BA75440D5B0A0F9A6 /* LiveScoreActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveScoreActions.swift; path = MatchLiveTv/UI/Broadcast/LiveScoreActions.swift; sourceTree = "<group>"; };
1EDDB8ABF0ED4F24A5932D18 /* MatchLiveWordmark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveWordmark.swift; path = MatchLiveTv/UI/Components/MatchLiveWordmark.swift; sourceTree = "<group>"; };
F2D8C0FDD5EB4A3792E4D32E /* MatchPrimaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchPrimaryButton.swift; path = MatchLiveTv/UI/Components/MatchPrimaryButton.swift; sourceTree = "<group>"; };
BDCE69667BE74DB9AF3E29E8 /* MatchScreenScaffold.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScreenScaffold.swift; path = MatchLiveTv/UI/Components/MatchScreenScaffold.swift; sourceTree = "<group>"; };
6E72DCB8E06D42038B6E8B69 /* MatchSecondaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchSecondaryButton.swift; path = MatchLiveTv/UI/Components/MatchSecondaryButton.swift; sourceTree = "<group>"; };
DC49A86D45D745E297107891 /* MatchStatusBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchStatusBadge.swift; path = MatchLiveTv/UI/Components/MatchStatusBadge.swift; sourceTree = "<group>"; };
456228041D2F44E99258698B /* LoginScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginScreen.swift; path = MatchLiveTv/UI/Login/LoginScreen.swift; sourceTree = "<group>"; };
6C792176D0544EED87B303C0 /* MatchesScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchesScreen.swift; path = MatchLiveTv/UI/Matches/MatchesScreen.swift; sourceTree = "<group>"; };
ED410204E5694627AEA787DD /* AppNavHost.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppNavHost.swift; path = MatchLiveTv/UI/Navigation/AppNavHost.swift; sourceTree = "<group>"; };
EFF711C0619445C3944D3442 /* ModalRoutes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ModalRoutes.swift; path = MatchLiveTv/UI/Navigation/ModalRoutes.swift; sourceTree = "<group>"; };
98EA33F31CE34BC88EC99E64 /* Routes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Routes.swift; path = MatchLiveTv/UI/Navigation/Routes.swift; sourceTree = "<group>"; };
097406CB65A24473B7F8A915 /* BroadcastPermissions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastPermissions.swift; path = MatchLiveTv/UI/Permissions/BroadcastPermissions.swift; sourceTree = "<group>"; };
F18D3BA8A2604783AFA7BADC /* SplashScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SplashScreen.swift; path = MatchLiveTv/UI/Splash/SplashScreen.swift; sourceTree = "<group>"; };
8CF22D513753479E96E37546 /* KeepScreenOn.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = KeepScreenOn.swift; path = MatchLiveTv/UI/System/KeepScreenOn.swift; sourceTree = "<group>"; };
3C42C3E8D4D24A6EBC8A140F /* ScreenOrientation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScreenOrientation.swift; path = MatchLiveTv/UI/System/ScreenOrientation.swift; sourceTree = "<group>"; };
AED45F6291AC4F7FB7B31393 /* MatchColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchColors.swift; path = MatchLiveTv/UI/Theme/MatchColors.swift; sourceTree = "<group>"; };
E4A2CDEC380147D89E36B359 /* StepMatchScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepMatchScreen.swift; path = MatchLiveTv/UI/Wizard/StepMatchScreen.swift; sourceTree = "<group>"; };
4E0B262FA3774D72901529E8 /* StepNetworkTestScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepNetworkTestScreen.swift; path = MatchLiveTv/UI/Wizard/StepNetworkTestScreen.swift; sourceTree = "<group>"; };
00F0EEBEE0C642FAB6298D79 /* StepTransmissionScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepTransmissionScreen.swift; path = MatchLiveTv/UI/Wizard/StepTransmissionScreen.swift; sourceTree = "<group>"; };
64C5CD27F7354DDB9A7FCC5F /* TeamBrandingEditor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TeamBrandingEditor.swift; path = MatchLiveTv/UI/Wizard/TeamBrandingEditor.swift; sourceTree = "<group>"; };
EC0F495A7A484769ADA89E96 /* TeamColorPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TeamColorPicker.swift; path = MatchLiveTv/UI/Wizard/TeamColorPicker.swift; sourceTree = "<group>"; };
A768FA73B328428EAC69BF16 /* WizardComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardComponents.swift; path = MatchLiveTv/UI/Wizard/WizardComponents.swift; sourceTree = "<group>"; };
5B9EE57FDB9148A4B541B8CF /* WizardShellScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardShellScreen.swift; path = MatchLiveTv/UI/Wizard/WizardShellScreen.swift; sourceTree = "<group>"; };
2540D3CA40CC4181B3D4AFF3 /* ApiInstantTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiInstantTests.swift; path = MatchLiveTvTests/ApiInstantTests.swift; sourceTree = "<group>"; };
CD155C0D547D4495B9E6308A /* MatchScoringRulesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScoringRulesTests.swift; path = MatchLiveTvTests/MatchScoringRulesTests.swift; sourceTree = "<group>"; };
42D318A6B43D4D4A898DBBE0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = MatchLiveTv/Resources/Assets.xcassets; sourceTree = "<group>"; };
82B310B2B49243A296C9C581 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = MatchLiveTv/Resources/Info.plist; sourceTree = "<group>"; };
A42C110EE8DB4ECC893951AD /* MatchLiveTv.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MatchLiveTv.app; sourceTree = BUILT_PRODUCTS_DIR; };
CA19230D3F7D4C6A95406F87 /* MatchLiveTvTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MatchLiveTvTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
0B182AE2B64440FBAD820078 /* HaishinKit */ = {isa = XCSwiftPackageProductDependency; package = F80AB1FECA6A40798C87634A; productName = HaishinKit; };
F0E1D34F0B3545A99C3EF141 /* RTMPHaishinKit */ = {isa = XCSwiftPackageProductDependency; package = F80AB1FECA6A40798C87634A; productName = RTMPHaishinKit; };
C43733BB396340269131C87F /* MatchLiveTvApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B23ED0F23434BC3A23B142F /* MatchLiveTvApp.swift */; };
3879FE4999AD42D29DD88BC9 /* ApiInstant.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7A94757D18C46C9821833B7 /* ApiInstant.swift */; };
F9B0B951CC0E45F3AD9E17AE /* AppConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1443F18A02BB4890A01A56F9 /* AppConfig.swift */; };
FDC36E1F2673422E9F09A84D /* ColorHex.swift in Sources */ = {isa = PBXBuildFile; fileRef = E717B8A6A51E499490C0334B /* ColorHex.swift */; };
9BF13DD9192942E8A69CD50B /* DeviceTelemetry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6A356C81724C51BF41C25D /* DeviceTelemetry.swift */; };
82F9B0A9BD714835A41E20CE /* MediaUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC18E1BC596E42DBB8BBBBFD /* MediaUrl.swift */; };
6A6460E2BBBA44C6964B2281 /* TokenStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3DCAD32C3F24439A75920C1 /* TokenStore.swift */; };
09C3F7CBE03C479FB3E4D484 /* UserFacingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4B5CF0BD5534CF7BE51E3CB /* UserFacingError.swift */; };
882F9D01445F454BBBF95AAE /* ApiDtos.swift in Sources */ = {isa = PBXBuildFile; fileRef = E14CA2E05DE7400C852121AD /* ApiDtos.swift */; };
A9C47B24D37C48D59221AB15 /* MatchLiveAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD1CEFBFF4D54361A4C3B4D2 /* MatchLiveAPI.swift */; };
E45FC9EC93854268B13B2814 /* AppContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66C7207107804520B8B87462 /* AppContainer.swift */; };
035C3532E9224C11A63DE8D0 /* ActionCableClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE6E2D81675945268458DEE8 /* ActionCableClient.swift */; };
BD0F196EE104494FA4959E43 /* SessionCableService.swift in Sources */ = {isa = PBXBuildFile; fileRef = E902041CF4A04479B72760FE /* SessionCableService.swift */; };
E16AD6EDD2E34A1BB16942CC /* AuthRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AE94D0FE137473D8821B0E3 /* AuthRepository.swift */; };
4D58338481074C47B177E866 /* MatchRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D20E18A8913489FABFBFFB5 /* MatchRepository.swift */; };
5B0F3899F7B14F84AEF5CADA /* MatchSessionLauncher.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDDCAF6027D24CB2B273A3D6 /* MatchSessionLauncher.swift */; };
535A5DC767124965A7E6ED4D /* ScoreRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A5CCF3B585A4095941A6B21 /* ScoreRepository.swift */; };
1C27C8DFDE544D75B1D49507 /* SessionRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4436BE62A6004577BE8356C1 /* SessionRepository.swift */; };
8F6BCEEF9168476FBA147FD3 /* ScoreController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF167DF2CBC14C2A97D49C1D /* ScoreController.swift */; };
A2BFF50DA9294532A2F6D52B /* WizardSessionHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BE371ACB29A48DF928B90DD /* WizardSessionHolder.swift */; };
A5EA10DEDBB34A4A95243C8A /* MatchHubFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73A8C9597075432FB3DFCFFA /* MatchHubFilter.swift */; };
71857E5125D14E0BAC132C3B /* MatchScoringRules.swift in Sources */ = {isa = PBXBuildFile; fileRef = 116561D032ED4DF8A4174E59 /* MatchScoringRules.swift */; };
965F2CEB66984469BD3BB2F6 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = AC559FEC305D475CA3F1DB21 /* Models.swift */; };
6247A346FC674616A8833D87 /* ScoreState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3247EDBBC6114F269C89736C /* ScoreState.swift */; };
21F2A3C208DA4D9A8D8A2AD0 /* BroadcastModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15B20863445A4EC28321DBFF /* BroadcastModels.swift */; };
C1967324B50641B1AAA7153D /* LiveBroadcastCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51B7115C3000422A8DCA41ED /* LiveBroadcastCoordinator.swift */; };
6A39E943F02842819BA0F11D /* LiveBroadcastEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A433A01B5BB4FE0B8E51234 /* LiveBroadcastEngine.swift */; };
456274BB9DFA482EB52A77FF /* CompactScoreboardElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = C296D6280BCD4DC0BB467CC1 /* CompactScoreboardElement.swift */; };
FFF0200A28BD4C55BF288A04 /* OverlayCanvasRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F851B63647B4122A2753EBD /* OverlayCanvasRenderer.swift */; };
EED95CFC9C044C46B8C748E8 /* OverlayLogoCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 420794A1247149B7B931DAEA /* OverlayLogoCache.swift */; };
196A4353FEBF48FB8086B6C3 /* OverlayMappings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48C5D1CE81864C2FBB3188EA /* OverlayMappings.swift */; };
73067AA8AEFA446C898CBB36 /* OverlayRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 228DEA0D7B0D48D6BED86141 /* OverlayRenderer.swift */; };
AD747FCF7E8A40FB8FB0C09D /* OverlayState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F9F57E16B374D3AB379C1FF /* OverlayState.swift */; };
4A2583194D364768910F0A2E /* ScoreboardElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ED2AA45ECFA4193ACC31063 /* ScoreboardElement.swift */; };
63FB60603C30400A9412B97A /* SponsorElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F2B2A3AC4C948038C03E8BB /* SponsorElement.swift */; };
476CEF2BD80A4F5ABAF4BF8F /* WatermarkElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3465550280DE4F5E8D485F69 /* WatermarkElement.swift */; };
E2B229D77E7B4B0EB3E20F3A /* LivePreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42A4881EE59B42FEB7749122 /* LivePreviewView.swift */; };
455B81C72AAC40269A4B4EDE /* BroadcastControlsOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B7C7A905479455F98F00DC3 /* BroadcastControlsOverlay.swift */; };
2E49953E828A4F1A87AF47AF /* BroadcastScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EBF7DD17E77419A83DC0496 /* BroadcastScreen.swift */; };
87870520F2C5472DBEF4FAA0 /* LiveScoreActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F0BE30BA75440D5B0A0F9A6 /* LiveScoreActions.swift */; };
7F20ADEFF13D42EB969FA227 /* MatchLiveWordmark.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDDB8ABF0ED4F24A5932D18 /* MatchLiveWordmark.swift */; };
F05637D278B04B9E9F914685 /* MatchPrimaryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2D8C0FDD5EB4A3792E4D32E /* MatchPrimaryButton.swift */; };
05E7701D345F47A48EB3B1A8 /* MatchScreenScaffold.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDCE69667BE74DB9AF3E29E8 /* MatchScreenScaffold.swift */; };
D0CA4D05E24D44B48662A467 /* MatchSecondaryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E72DCB8E06D42038B6E8B69 /* MatchSecondaryButton.swift */; };
093B423F42B840AC8DC4BBFE /* MatchStatusBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC49A86D45D745E297107891 /* MatchStatusBadge.swift */; };
6478C806699D4AF3AB895AC6 /* LoginScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 456228041D2F44E99258698B /* LoginScreen.swift */; };
E981731C73724090B93301FC /* MatchesScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C792176D0544EED87B303C0 /* MatchesScreen.swift */; };
D7EF5FD3160546A18B1F3268 /* AppNavHost.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED410204E5694627AEA787DD /* AppNavHost.swift */; };
DE2C6A8E89FF4C019599320F /* ModalRoutes.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFF711C0619445C3944D3442 /* ModalRoutes.swift */; };
FC4AD7E92B4248BF8D440AB5 /* Routes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98EA33F31CE34BC88EC99E64 /* Routes.swift */; };
08FB4930AAC1443B8A6AA17A /* BroadcastPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 097406CB65A24473B7F8A915 /* BroadcastPermissions.swift */; };
AA896C55DB9741B78A173671 /* SplashScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = F18D3BA8A2604783AFA7BADC /* SplashScreen.swift */; };
F2C1D718393C4A7695FE56CD /* KeepScreenOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CF22D513753479E96E37546 /* KeepScreenOn.swift */; };
C06B35642D68409788DAC85F /* ScreenOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C42C3E8D4D24A6EBC8A140F /* ScreenOrientation.swift */; };
CA27CA0592C1459AA5895B03 /* MatchColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = AED45F6291AC4F7FB7B31393 /* MatchColors.swift */; };
0D790785EC384F4F999DF393 /* StepMatchScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4A2CDEC380147D89E36B359 /* StepMatchScreen.swift */; };
33D5A9835E1C476FA513CD7B /* StepNetworkTestScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E0B262FA3774D72901529E8 /* StepNetworkTestScreen.swift */; };
16773703D9B34B4D99E37DAB /* StepTransmissionScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00F0EEBEE0C642FAB6298D79 /* StepTransmissionScreen.swift */; };
439C3F3C9E8E4512AAE9A6F9 /* TeamBrandingEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C5CD27F7354DDB9A7FCC5F /* TeamBrandingEditor.swift */; };
1895A7F0D8A04AB086C8B0E0 /* TeamColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0F495A7A484769ADA89E96 /* TeamColorPicker.swift */; };
E606392321674632B0B5A9C3 /* WizardComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = A768FA73B328428EAC69BF16 /* WizardComponents.swift */; };
437D99BC2B8446CA87766221 /* WizardShellScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B9EE57FDB9148A4B541B8CF /* WizardShellScreen.swift */; };
76DE047F93C0417FB8D60984 /* ApiInstantTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2540D3CA40CC4181B3D4AFF3 /* ApiInstantTests.swift */; };
AB9147175A564C9B848A5E43 /* MatchScoringRulesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD155C0D547D4495B9E6308A /* MatchScoringRulesTests.swift */; };
9392A07F3B5343F4BE8538C9 /* Assets in Resources */ = {isa = PBXBuildFile; fileRef = 42D318A6B43D4D4A898DBBE0; };
7AE60FABDB154D8286A2902F = {isa = PBXGroup; children = (25BA0F6BCD6248C8B1090B10, 9CDEE1193E594846AF90F5A3, CECA644368B34BD1AF81B7D4); sourceTree = "<group>"; };
25BA0F6BCD6248C8B1090B10 = {isa = PBXGroup; children = (5B23ED0F23434BC3A23B142F, D7A94757D18C46C9821833B7, 1443F18A02BB4890A01A56F9, E717B8A6A51E499490C0334B, 6E6A356C81724C51BF41C25D, DC18E1BC596E42DBB8BBBBFD, C3DCAD32C3F24439A75920C1, B4B5CF0BD5534CF7BE51E3CB, E14CA2E05DE7400C852121AD, BD1CEFBFF4D54361A4C3B4D2, 66C7207107804520B8B87462, BE6E2D81675945268458DEE8, E902041CF4A04479B72760FE, 4AE94D0FE137473D8821B0E3, 8D20E18A8913489FABFBFFB5, BDDCAF6027D24CB2B273A3D6, 2A5CCF3B585A4095941A6B21, 4436BE62A6004577BE8356C1, CF167DF2CBC14C2A97D49C1D, 0BE371ACB29A48DF928B90DD, 73A8C9597075432FB3DFCFFA, 116561D032ED4DF8A4174E59, AC559FEC305D475CA3F1DB21, 3247EDBBC6114F269C89736C, 15B20863445A4EC28321DBFF, 51B7115C3000422A8DCA41ED, 7A433A01B5BB4FE0B8E51234, C296D6280BCD4DC0BB467CC1, 3F851B63647B4122A2753EBD, 420794A1247149B7B931DAEA, 48C5D1CE81864C2FBB3188EA, 228DEA0D7B0D48D6BED86141, 0F9F57E16B374D3AB379C1FF, 0ED2AA45ECFA4193ACC31063, 1F2B2A3AC4C948038C03E8BB, 3465550280DE4F5E8D485F69, 42A4881EE59B42FEB7749122, 2B7C7A905479455F98F00DC3, 8EBF7DD17E77419A83DC0496, 2F0BE30BA75440D5B0A0F9A6, 1EDDB8ABF0ED4F24A5932D18, F2D8C0FDD5EB4A3792E4D32E, BDCE69667BE74DB9AF3E29E8, 6E72DCB8E06D42038B6E8B69, DC49A86D45D745E297107891, 456228041D2F44E99258698B, 6C792176D0544EED87B303C0, ED410204E5694627AEA787DD, EFF711C0619445C3944D3442, 98EA33F31CE34BC88EC99E64, 097406CB65A24473B7F8A915, F18D3BA8A2604783AFA7BADC, 8CF22D513753479E96E37546, 3C42C3E8D4D24A6EBC8A140F, AED45F6291AC4F7FB7B31393, E4A2CDEC380147D89E36B359, 4E0B262FA3774D72901529E8, 00F0EEBEE0C642FAB6298D79, 64C5CD27F7354DDB9A7FCC5F, EC0F495A7A484769ADA89E96, A768FA73B328428EAC69BF16, 5B9EE57FDB9148A4B541B8CF, 42D318A6B43D4D4A898DBBE0, 82B310B2B49243A296C9C581); name = MatchLiveTv; sourceTree = "<group>"; };
9CDEE1193E594846AF90F5A3 = {isa = PBXGroup; children = (2540D3CA40CC4181B3D4AFF3, CD155C0D547D4495B9E6308A); name = MatchLiveTvTests; sourceTree = "<group>"; };
CECA644368B34BD1AF81B7D4 = {isa = PBXGroup; children = (A42C110EE8DB4ECC893951AD, CA19230D3F7D4C6A95406F87); name = Products; sourceTree = "<group>"; };
75685F0D94844D25990466AB = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (C43733BB396340269131C87F, 3879FE4999AD42D29DD88BC9, F9B0B951CC0E45F3AD9E17AE, FDC36E1F2673422E9F09A84D, 9BF13DD9192942E8A69CD50B, 82F9B0A9BD714835A41E20CE, 6A6460E2BBBA44C6964B2281, 09C3F7CBE03C479FB3E4D484, 882F9D01445F454BBBF95AAE, A9C47B24D37C48D59221AB15, E45FC9EC93854268B13B2814, 035C3532E9224C11A63DE8D0, BD0F196EE104494FA4959E43, E16AD6EDD2E34A1BB16942CC, 4D58338481074C47B177E866, 5B0F3899F7B14F84AEF5CADA, 535A5DC767124965A7E6ED4D, 1C27C8DFDE544D75B1D49507, 8F6BCEEF9168476FBA147FD3, A2BFF50DA9294532A2F6D52B, A5EA10DEDBB34A4A95243C8A, 71857E5125D14E0BAC132C3B, 965F2CEB66984469BD3BB2F6, 6247A346FC674616A8833D87, 21F2A3C208DA4D9A8D8A2AD0, C1967324B50641B1AAA7153D, 6A39E943F02842819BA0F11D, 456274BB9DFA482EB52A77FF, FFF0200A28BD4C55BF288A04, EED95CFC9C044C46B8C748E8, 196A4353FEBF48FB8086B6C3, 73067AA8AEFA446C898CBB36, AD747FCF7E8A40FB8FB0C09D, 4A2583194D364768910F0A2E, 63FB60603C30400A9412B97A, 476CEF2BD80A4F5ABAF4BF8F, E2B229D77E7B4B0EB3E20F3A, 455B81C72AAC40269A4B4EDE, 2E49953E828A4F1A87AF47AF, 87870520F2C5472DBEF4FAA0, 7F20ADEFF13D42EB969FA227, F05637D278B04B9E9F914685, 05E7701D345F47A48EB3B1A8, D0CA4D05E24D44B48662A467, 093B423F42B840AC8DC4BBFE, 6478C806699D4AF3AB895AC6, E981731C73724090B93301FC, D7EF5FD3160546A18B1F3268, DE2C6A8E89FF4C019599320F, FC4AD7E92B4248BF8D440AB5, 08FB4930AAC1443B8A6AA17A, AA896C55DB9741B78A173671, F2C1D718393C4A7695FE56CD, C06B35642D68409788DAC85F, CA27CA0592C1459AA5895B03, 0D790785EC384F4F999DF393, 33D5A9835E1C476FA513CD7B, 16773703D9B34B4D99E37DAB, 439C3F3C9E8E4512AAE9A6F9, 1895A7F0D8A04AB086C8B0E0, E606392321674632B0B5A9C3, 437D99BC2B8446CA87766221); runOnlyForDeploymentPostprocessing = 0; };
BC137E765FCA41FB85A944F8 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (76DE047F93C0417FB8D60984, AB9147175A564C9B848A5E43); runOnlyForDeploymentPostprocessing = 0; };
E2036A7DDA8F4F7491399F71 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (9392A07F3B5343F4BE8538C9); runOnlyForDeploymentPostprocessing = 0; };
ECE339972AA84978AE88BB46 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; };
1C9A61B330DB4A6AA59CFEF4 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; };
9773A4B6329B4CD2AA4CA51D = {isa = XCBuildConfiguration; buildSettings = {
7D502D6BFF584BE097F441D3 /* MatchLiveTvApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveTvApp.swift; path = MatchLiveTv/App/MatchLiveTvApp.swift; sourceTree = "<group>"; };
E4D928872F8A45FAAFFF9F98 /* ApiInstant.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiInstant.swift; path = MatchLiveTv/Core/ApiInstant.swift; sourceTree = "<group>"; };
6FD1683477F947CB9C4B32A1 /* AppConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppConfig.swift; path = MatchLiveTv/Core/AppConfig.swift; sourceTree = "<group>"; };
EE19BA76641848B8A6BD66BC /* ColorHex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ColorHex.swift; path = MatchLiveTv/Core/ColorHex.swift; sourceTree = "<group>"; };
674D4E0891724CCC9A530996 /* DeviceTelemetry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = DeviceTelemetry.swift; path = MatchLiveTv/Core/DeviceTelemetry.swift; sourceTree = "<group>"; };
F11E75C58605479AB24D6BAB /* MediaUrl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MediaUrl.swift; path = MatchLiveTv/Core/MediaUrl.swift; sourceTree = "<group>"; };
DF7B53044B9B40D5A23F7077 /* TokenStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TokenStore.swift; path = MatchLiveTv/Core/TokenStore.swift; sourceTree = "<group>"; };
0FCD7AFD6FBA45B78CEC748E /* UserFacingError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UserFacingError.swift; path = MatchLiveTv/Core/UserFacingError.swift; sourceTree = "<group>"; };
72E47488A16B4FA49C74FFA6 /* ApiDtos.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiDtos.swift; path = MatchLiveTv/Data/API/ApiDtos.swift; sourceTree = "<group>"; };
0E4851454F9C4D6C9A2BD946 /* MatchLiveAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveAPI.swift; path = MatchLiveTv/Data/API/MatchLiveAPI.swift; sourceTree = "<group>"; };
13CFC4001F3641138379CF77 /* AppContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppContainer.swift; path = MatchLiveTv/Data/AppContainer.swift; sourceTree = "<group>"; };
416D9D0EE1414F0BA98EBC33 /* ActionCableClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ActionCableClient.swift; path = MatchLiveTv/Data/Cable/ActionCableClient.swift; sourceTree = "<group>"; };
C2342D3CB2C146799098D05F /* SessionCableService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SessionCableService.swift; path = MatchLiveTv/Data/Cable/SessionCableService.swift; sourceTree = "<group>"; };
1C23153FA47E4274AA87A136 /* AuthRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AuthRepository.swift; path = MatchLiveTv/Data/Repository/AuthRepository.swift; sourceTree = "<group>"; };
EC76170D739A414EA1F7261B /* MatchRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchRepository.swift; path = MatchLiveTv/Data/Repository/MatchRepository.swift; sourceTree = "<group>"; };
100C4F0504D8457D94089ED8 /* MatchSessionLauncher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchSessionLauncher.swift; path = MatchLiveTv/Data/Repository/MatchSessionLauncher.swift; sourceTree = "<group>"; };
C649A4EC60774AA7829C6AC4 /* ScoreRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreRepository.swift; path = MatchLiveTv/Data/Repository/ScoreRepository.swift; sourceTree = "<group>"; };
616A0E114FE44B5782179A50 /* SessionRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SessionRepository.swift; path = MatchLiveTv/Data/Repository/SessionRepository.swift; sourceTree = "<group>"; };
F2DD2DA40C21451287827C77 /* ScoreController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreController.swift; path = MatchLiveTv/Data/Scoring/ScoreController.swift; sourceTree = "<group>"; };
DB66A0A42AD54E48929F5A9E /* WizardSessionHolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardSessionHolder.swift; path = MatchLiveTv/Data/WizardSessionHolder.swift; sourceTree = "<group>"; };
C991BA285472411FA0819BA6 /* MatchHubFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchHubFilter.swift; path = MatchLiveTv/Domain/MatchHubFilter.swift; sourceTree = "<group>"; };
F2F260C1D8C44A7DBF26C88C /* MatchScoringRules.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScoringRules.swift; path = MatchLiveTv/Domain/MatchScoringRules.swift; sourceTree = "<group>"; };
B91FAB0CE884433BAF90CB87 /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Models.swift; path = MatchLiveTv/Domain/Models.swift; sourceTree = "<group>"; };
C981A70741504FED997BF8A2 /* ScoreState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreState.swift; path = MatchLiveTv/Domain/ScoreState.swift; sourceTree = "<group>"; };
E9990A92AB0546B3B77B9A8B /* BroadcastModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastModels.swift; path = MatchLiveTv/Streaming/BroadcastModels.swift; sourceTree = "<group>"; };
A23145A497C4494AB5901FB4 /* LiveBroadcastCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastCoordinator.swift; path = MatchLiveTv/Streaming/LiveBroadcastCoordinator.swift; sourceTree = "<group>"; };
BF15F363ED4D4466B543226D /* LiveBroadcastEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveBroadcastEngine.swift; path = MatchLiveTv/Streaming/LiveBroadcastEngine.swift; sourceTree = "<group>"; };
423A409037C7408088DADC76 /* CompactScoreboardElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = CompactScoreboardElement.swift; path = MatchLiveTv/Streaming/Overlay/CompactScoreboardElement.swift; sourceTree = "<group>"; };
82B588D9B7844FDFB600D9DF /* OverlayCanvasRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayCanvasRenderer.swift; path = MatchLiveTv/Streaming/Overlay/OverlayCanvasRenderer.swift; sourceTree = "<group>"; };
DD63A5AFF02A4D32902606FA /* OverlayLogoCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayLogoCache.swift; path = MatchLiveTv/Streaming/Overlay/OverlayLogoCache.swift; sourceTree = "<group>"; };
50DD7B3855C74DA291286184 /* OverlayMappings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayMappings.swift; path = MatchLiveTv/Streaming/Overlay/OverlayMappings.swift; sourceTree = "<group>"; };
CCB366E93584429F8EB8151D /* OverlayRenderer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayRenderer.swift; path = MatchLiveTv/Streaming/Overlay/OverlayRenderer.swift; sourceTree = "<group>"; };
E2F9E7C71E4844498BA95A56 /* OverlayState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = OverlayState.swift; path = MatchLiveTv/Streaming/Overlay/OverlayState.swift; sourceTree = "<group>"; };
024982C1D4A84A5389A7BCF6 /* ScoreboardElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScoreboardElement.swift; path = MatchLiveTv/Streaming/Overlay/ScoreboardElement.swift; sourceTree = "<group>"; };
DAE19ACACBBA424AB844674E /* SponsorElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SponsorElement.swift; path = MatchLiveTv/Streaming/Overlay/SponsorElement.swift; sourceTree = "<group>"; };
5342C88D12634E0894FD16E9 /* WatermarkElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WatermarkElement.swift; path = MatchLiveTv/Streaming/Overlay/WatermarkElement.swift; sourceTree = "<group>"; };
691D1DF008404C29AC5925BC /* LivePreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LivePreviewView.swift; path = MatchLiveTv/Streaming/Preview/LivePreviewView.swift; sourceTree = "<group>"; };
B56AB91CBBA842A183DD04C9 /* BroadcastControlsOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastControlsOverlay.swift; path = MatchLiveTv/UI/Broadcast/BroadcastControlsOverlay.swift; sourceTree = "<group>"; };
2801B8D684B440858B32ABB0 /* BroadcastScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastScreen.swift; path = MatchLiveTv/UI/Broadcast/BroadcastScreen.swift; sourceTree = "<group>"; };
3C2797E56C8B4857A7FA2880 /* LiveScoreActions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LiveScoreActions.swift; path = MatchLiveTv/UI/Broadcast/LiveScoreActions.swift; sourceTree = "<group>"; };
1D23B0386B9F487F8AA597D3 /* MatchLiveWordmark.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchLiveWordmark.swift; path = MatchLiveTv/UI/Components/MatchLiveWordmark.swift; sourceTree = "<group>"; };
03F2473246C84F41BCD355C2 /* MatchPrimaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchPrimaryButton.swift; path = MatchLiveTv/UI/Components/MatchPrimaryButton.swift; sourceTree = "<group>"; };
8CA4423F75F74FBFAE533080 /* MatchScreenScaffold.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScreenScaffold.swift; path = MatchLiveTv/UI/Components/MatchScreenScaffold.swift; sourceTree = "<group>"; };
854ABA49A0D547B9AEB910B4 /* MatchSecondaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchSecondaryButton.swift; path = MatchLiveTv/UI/Components/MatchSecondaryButton.swift; sourceTree = "<group>"; };
3C3A2E7E20EB4F2DB5712369 /* MatchStatusBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchStatusBadge.swift; path = MatchLiveTv/UI/Components/MatchStatusBadge.swift; sourceTree = "<group>"; };
42AD3B662EC5485082D5741F /* LoginScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LoginScreen.swift; path = MatchLiveTv/UI/Login/LoginScreen.swift; sourceTree = "<group>"; };
EFB4B3068F404B3EB5A0FF1F /* MatchesScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchesScreen.swift; path = MatchLiveTv/UI/Matches/MatchesScreen.swift; sourceTree = "<group>"; };
5014F0820E6B40F6B34DC51A /* AppNavHost.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppNavHost.swift; path = MatchLiveTv/UI/Navigation/AppNavHost.swift; sourceTree = "<group>"; };
CEE1BFA4FF76445790FF6560 /* ModalRoutes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ModalRoutes.swift; path = MatchLiveTv/UI/Navigation/ModalRoutes.swift; sourceTree = "<group>"; };
3ECB25032A93474288F2FBA7 /* Routes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Routes.swift; path = MatchLiveTv/UI/Navigation/Routes.swift; sourceTree = "<group>"; };
2337F10A7DDA4E619DB37E82 /* BroadcastPermissions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = BroadcastPermissions.swift; path = MatchLiveTv/UI/Permissions/BroadcastPermissions.swift; sourceTree = "<group>"; };
833350AF23F6419A90E317F8 /* SplashScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SplashScreen.swift; path = MatchLiveTv/UI/Splash/SplashScreen.swift; sourceTree = "<group>"; };
316F29E465194CACB8947EAF /* KeepScreenOn.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = KeepScreenOn.swift; path = MatchLiveTv/UI/System/KeepScreenOn.swift; sourceTree = "<group>"; };
1ADC984335A743A0ACDB409F /* ScreenOrientation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ScreenOrientation.swift; path = MatchLiveTv/UI/System/ScreenOrientation.swift; sourceTree = "<group>"; };
116E4DA20AC043D9B6A9CE6D /* MatchColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchColors.swift; path = MatchLiveTv/UI/Theme/MatchColors.swift; sourceTree = "<group>"; };
8E0E99517ABF4F99B08F3705 /* StepMatchScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepMatchScreen.swift; path = MatchLiveTv/UI/Wizard/StepMatchScreen.swift; sourceTree = "<group>"; };
D2A79ECE8FCA4DF88EC6DE4F /* StepNetworkTestScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepNetworkTestScreen.swift; path = MatchLiveTv/UI/Wizard/StepNetworkTestScreen.swift; sourceTree = "<group>"; };
D1A38D2697E34F55B9240A8A /* StepTransmissionScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = StepTransmissionScreen.swift; path = MatchLiveTv/UI/Wizard/StepTransmissionScreen.swift; sourceTree = "<group>"; };
0BEC22E0D4E242828468572E /* TeamBrandingEditor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TeamBrandingEditor.swift; path = MatchLiveTv/UI/Wizard/TeamBrandingEditor.swift; sourceTree = "<group>"; };
EF2B79415AC6441CB2735D4D /* TeamColorPicker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TeamColorPicker.swift; path = MatchLiveTv/UI/Wizard/TeamColorPicker.swift; sourceTree = "<group>"; };
94E4E688B3154A7C9791E72C /* WizardComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardComponents.swift; path = MatchLiveTv/UI/Wizard/WizardComponents.swift; sourceTree = "<group>"; };
E8B92AF2FADC4DE7B2A6D000 /* WizardShellScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WizardShellScreen.swift; path = MatchLiveTv/UI/Wizard/WizardShellScreen.swift; sourceTree = "<group>"; };
F390918CBBD54AAEB0647D47 /* ApiInstantTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = ApiInstantTests.swift; path = MatchLiveTvTests/ApiInstantTests.swift; sourceTree = "<group>"; };
F4D6CD1E29934B5D97D2F02E /* MatchScoringRulesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MatchScoringRulesTests.swift; path = MatchLiveTvTests/MatchScoringRulesTests.swift; sourceTree = "<group>"; };
402D4D4F22DB49678F3E6FE7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = MatchLiveTv/Resources/Assets.xcassets; sourceTree = "<group>"; };
044C9EE056CF444E9E98D3A6 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = MatchLiveTv/Resources/Info.plist; sourceTree = "<group>"; };
D28494E6896F4E25A06AE11E /* MatchLiveTv.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MatchLiveTv.app; sourceTree = BUILT_PRODUCTS_DIR; };
1D8E2905DD6E42479BC4C10E /* MatchLiveTvTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MatchLiveTvTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
DFA66CC46F824DCF9A20211C /* HaishinKit */ = {isa = XCSwiftPackageProductDependency; package = 80244AADE65A4F05B29ECFB5; productName = HaishinKit; };
7CD46223721F489E8F2981D8 /* RTMPHaishinKit */ = {isa = XCSwiftPackageProductDependency; package = 80244AADE65A4F05B29ECFB5; productName = RTMPHaishinKit; };
EC02F9C46D3E4C1088D88F8A /* MatchLiveTvApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D502D6BFF584BE097F441D3 /* MatchLiveTvApp.swift */; };
8BDFE8DE8206441A8D094C2E /* ApiInstant.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4D928872F8A45FAAFFF9F98 /* ApiInstant.swift */; };
7B8856F51ECA47EDAC0D0F9E /* AppConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FD1683477F947CB9C4B32A1 /* AppConfig.swift */; };
AD61B798C741478E86CF0F21 /* ColorHex.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE19BA76641848B8A6BD66BC /* ColorHex.swift */; };
BC44270E1DB54A9EA94AF25C /* DeviceTelemetry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 674D4E0891724CCC9A530996 /* DeviceTelemetry.swift */; };
13268DA8F54B4835BD433426 /* MediaUrl.swift in Sources */ = {isa = PBXBuildFile; fileRef = F11E75C58605479AB24D6BAB /* MediaUrl.swift */; };
32D039D1037C4D4E826C5967 /* TokenStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF7B53044B9B40D5A23F7077 /* TokenStore.swift */; };
0713AAA3C14B4D76BCDFD2E0 /* UserFacingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FCD7AFD6FBA45B78CEC748E /* UserFacingError.swift */; };
54951F21D9EE48719961E4D2 /* ApiDtos.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72E47488A16B4FA49C74FFA6 /* ApiDtos.swift */; };
139F79D283B1472E9DBA09A0 /* MatchLiveAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E4851454F9C4D6C9A2BD946 /* MatchLiveAPI.swift */; };
308C38EE4912489495844906 /* AppContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13CFC4001F3641138379CF77 /* AppContainer.swift */; };
51D03DC2F67F47E1ACE13C62 /* ActionCableClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 416D9D0EE1414F0BA98EBC33 /* ActionCableClient.swift */; };
06BCCCDE5EEE4420965A8AD9 /* SessionCableService.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2342D3CB2C146799098D05F /* SessionCableService.swift */; };
F6AD6F9866FD401CB3183B65 /* AuthRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C23153FA47E4274AA87A136 /* AuthRepository.swift */; };
53F020EB95F248EAB7B4F160 /* MatchRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC76170D739A414EA1F7261B /* MatchRepository.swift */; };
D3683FB90FFF4F6BACDC48AA /* MatchSessionLauncher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 100C4F0504D8457D94089ED8 /* MatchSessionLauncher.swift */; };
7BFD2334AFE748B6A1E41904 /* ScoreRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = C649A4EC60774AA7829C6AC4 /* ScoreRepository.swift */; };
243992F8BACE403D8901BC2D /* SessionRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 616A0E114FE44B5782179A50 /* SessionRepository.swift */; };
85768720CAA94956A4DAD2D1 /* ScoreController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2DD2DA40C21451287827C77 /* ScoreController.swift */; };
C92AA21B3A384DC6AD6D6C3A /* WizardSessionHolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB66A0A42AD54E48929F5A9E /* WizardSessionHolder.swift */; };
D11A107F06F749F8909C2513 /* MatchHubFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C991BA285472411FA0819BA6 /* MatchHubFilter.swift */; };
9316E3BE6C394B90AC4C33BE /* MatchScoringRules.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2F260C1D8C44A7DBF26C88C /* MatchScoringRules.swift */; };
53B9E9BC594B4E5BB6FA7C86 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = B91FAB0CE884433BAF90CB87 /* Models.swift */; };
1C9EB4524E2D466A877785CA /* ScoreState.swift in Sources */ = {isa = PBXBuildFile; fileRef = C981A70741504FED997BF8A2 /* ScoreState.swift */; };
5D2EFF9E1A444394AE8C4325 /* BroadcastModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9990A92AB0546B3B77B9A8B /* BroadcastModels.swift */; };
F40F95B9AF0846CBA1D1E1D3 /* LiveBroadcastCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = A23145A497C4494AB5901FB4 /* LiveBroadcastCoordinator.swift */; };
9BCFF862205B4275A845EDB1 /* LiveBroadcastEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF15F363ED4D4466B543226D /* LiveBroadcastEngine.swift */; };
125330B419C94948942351D7 /* CompactScoreboardElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 423A409037C7408088DADC76 /* CompactScoreboardElement.swift */; };
534D7ACB2128436CA844E53B /* OverlayCanvasRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82B588D9B7844FDFB600D9DF /* OverlayCanvasRenderer.swift */; };
24EABF4A150546E4BC7F6C32 /* OverlayLogoCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD63A5AFF02A4D32902606FA /* OverlayLogoCache.swift */; };
B4FC8CF476D44C32912FAD70 /* OverlayMappings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50DD7B3855C74DA291286184 /* OverlayMappings.swift */; };
83D733D7DBEE4374B1374074 /* OverlayRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCB366E93584429F8EB8151D /* OverlayRenderer.swift */; };
7D60112C22DA49C1B57A6AED /* OverlayState.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2F9E7C71E4844498BA95A56 /* OverlayState.swift */; };
DDC4E6E4080040D595B53D94 /* ScoreboardElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 024982C1D4A84A5389A7BCF6 /* ScoreboardElement.swift */; };
5D696DC51A334778BA8044A8 /* SponsorElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAE19ACACBBA424AB844674E /* SponsorElement.swift */; };
0C1792555BFD40EC84E093F5 /* WatermarkElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5342C88D12634E0894FD16E9 /* WatermarkElement.swift */; };
F52ED96B71C3448E9E6A93F6 /* LivePreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 691D1DF008404C29AC5925BC /* LivePreviewView.swift */; };
76BC7C34AB3E4B2DAEACFB89 /* BroadcastControlsOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = B56AB91CBBA842A183DD04C9 /* BroadcastControlsOverlay.swift */; };
75E1FAC00E944A789974476C /* BroadcastScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2801B8D684B440858B32ABB0 /* BroadcastScreen.swift */; };
88CD8E2D7D684BE6BBC9EF7D /* LiveScoreActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C2797E56C8B4857A7FA2880 /* LiveScoreActions.swift */; };
10085C82FD204FA1A6727CE5 /* MatchLiveWordmark.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D23B0386B9F487F8AA597D3 /* MatchLiveWordmark.swift */; };
CFB328FB535446608F6AA4B7 /* MatchPrimaryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03F2473246C84F41BCD355C2 /* MatchPrimaryButton.swift */; };
5A2D0215E89F4D0692B60FA8 /* MatchScreenScaffold.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CA4423F75F74FBFAE533080 /* MatchScreenScaffold.swift */; };
4B8C519BF65F435C9AF58902 /* MatchSecondaryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 854ABA49A0D547B9AEB910B4 /* MatchSecondaryButton.swift */; };
41DD9BBB13FB4CFD87C940F8 /* MatchStatusBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C3A2E7E20EB4F2DB5712369 /* MatchStatusBadge.swift */; };
4DBBB1020F2A4CD090740ECA /* LoginScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42AD3B662EC5485082D5741F /* LoginScreen.swift */; };
25DB8C2F0DCD40A6BF38E7D3 /* MatchesScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFB4B3068F404B3EB5A0FF1F /* MatchesScreen.swift */; };
DCEF4209679541628926D50D /* AppNavHost.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5014F0820E6B40F6B34DC51A /* AppNavHost.swift */; };
B5F397173C1D437DB12CA85B /* ModalRoutes.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE1BFA4FF76445790FF6560 /* ModalRoutes.swift */; };
8CEE2254C44F49B48FE4E3CE /* Routes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ECB25032A93474288F2FBA7 /* Routes.swift */; };
8801885DF5CE4620BBFA1CBB /* BroadcastPermissions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2337F10A7DDA4E619DB37E82 /* BroadcastPermissions.swift */; };
06DEA551887C423C834E39ED /* SplashScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 833350AF23F6419A90E317F8 /* SplashScreen.swift */; };
5F75111D35E84C22A6CB8C31 /* KeepScreenOn.swift in Sources */ = {isa = PBXBuildFile; fileRef = 316F29E465194CACB8947EAF /* KeepScreenOn.swift */; };
18A549FCA1AE4507B65A4BDD /* ScreenOrientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ADC984335A743A0ACDB409F /* ScreenOrientation.swift */; };
1535B18F8FEF446CB1FEAF74 /* MatchColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 116E4DA20AC043D9B6A9CE6D /* MatchColors.swift */; };
9493516ED98F487E9D70CABF /* StepMatchScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E0E99517ABF4F99B08F3705 /* StepMatchScreen.swift */; };
BDC66B9F5AD34CA0BFDECE2C /* StepNetworkTestScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2A79ECE8FCA4DF88EC6DE4F /* StepNetworkTestScreen.swift */; };
0F35C68364F242929EB0C7A8 /* StepTransmissionScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A38D2697E34F55B9240A8A /* StepTransmissionScreen.swift */; };
D1659689E30C484BB31B93C4 /* TeamBrandingEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BEC22E0D4E242828468572E /* TeamBrandingEditor.swift */; };
AA6C0D7D59AA46CFB3F362EC /* TeamColorPicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF2B79415AC6441CB2735D4D /* TeamColorPicker.swift */; };
D1304F69E9E7458980E7A5AE /* WizardComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94E4E688B3154A7C9791E72C /* WizardComponents.swift */; };
CA3858060106420BBD5AA150 /* WizardShellScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8B92AF2FADC4DE7B2A6D000 /* WizardShellScreen.swift */; };
3B9B059CA0A9476EBA98FF2F /* ApiInstantTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F390918CBBD54AAEB0647D47 /* ApiInstantTests.swift */; };
D3B351AAB75F4996BC381BB6 /* MatchScoringRulesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D6CD1E29934B5D97D2F02E /* MatchScoringRulesTests.swift */; };
AC6319A132F34CD4AE4D0460 /* Assets in Resources */ = {isa = PBXBuildFile; fileRef = 402D4D4F22DB49678F3E6FE7; };
CBBB3E15BBAD4B658EA9D569 = {isa = PBXGroup; children = (458DC3A81348480A8BFF1C2F, 413A6469A5994B779B5D9CE9, 1B1C9B9F983C4571AD8488D4); sourceTree = "<group>"; };
458DC3A81348480A8BFF1C2F = {isa = PBXGroup; children = (7D502D6BFF584BE097F441D3, E4D928872F8A45FAAFFF9F98, 6FD1683477F947CB9C4B32A1, EE19BA76641848B8A6BD66BC, 674D4E0891724CCC9A530996, F11E75C58605479AB24D6BAB, DF7B53044B9B40D5A23F7077, 0FCD7AFD6FBA45B78CEC748E, 72E47488A16B4FA49C74FFA6, 0E4851454F9C4D6C9A2BD946, 13CFC4001F3641138379CF77, 416D9D0EE1414F0BA98EBC33, C2342D3CB2C146799098D05F, 1C23153FA47E4274AA87A136, EC76170D739A414EA1F7261B, 100C4F0504D8457D94089ED8, C649A4EC60774AA7829C6AC4, 616A0E114FE44B5782179A50, F2DD2DA40C21451287827C77, DB66A0A42AD54E48929F5A9E, C991BA285472411FA0819BA6, F2F260C1D8C44A7DBF26C88C, B91FAB0CE884433BAF90CB87, C981A70741504FED997BF8A2, E9990A92AB0546B3B77B9A8B, A23145A497C4494AB5901FB4, BF15F363ED4D4466B543226D, 423A409037C7408088DADC76, 82B588D9B7844FDFB600D9DF, DD63A5AFF02A4D32902606FA, 50DD7B3855C74DA291286184, CCB366E93584429F8EB8151D, E2F9E7C71E4844498BA95A56, 024982C1D4A84A5389A7BCF6, DAE19ACACBBA424AB844674E, 5342C88D12634E0894FD16E9, 691D1DF008404C29AC5925BC, B56AB91CBBA842A183DD04C9, 2801B8D684B440858B32ABB0, 3C2797E56C8B4857A7FA2880, 1D23B0386B9F487F8AA597D3, 03F2473246C84F41BCD355C2, 8CA4423F75F74FBFAE533080, 854ABA49A0D547B9AEB910B4, 3C3A2E7E20EB4F2DB5712369, 42AD3B662EC5485082D5741F, EFB4B3068F404B3EB5A0FF1F, 5014F0820E6B40F6B34DC51A, CEE1BFA4FF76445790FF6560, 3ECB25032A93474288F2FBA7, 2337F10A7DDA4E619DB37E82, 833350AF23F6419A90E317F8, 316F29E465194CACB8947EAF, 1ADC984335A743A0ACDB409F, 116E4DA20AC043D9B6A9CE6D, 8E0E99517ABF4F99B08F3705, D2A79ECE8FCA4DF88EC6DE4F, D1A38D2697E34F55B9240A8A, 0BEC22E0D4E242828468572E, EF2B79415AC6441CB2735D4D, 94E4E688B3154A7C9791E72C, E8B92AF2FADC4DE7B2A6D000, 402D4D4F22DB49678F3E6FE7, 044C9EE056CF444E9E98D3A6); name = MatchLiveTv; sourceTree = "<group>"; };
413A6469A5994B779B5D9CE9 = {isa = PBXGroup; children = (F390918CBBD54AAEB0647D47, F4D6CD1E29934B5D97D2F02E); name = MatchLiveTvTests; sourceTree = "<group>"; };
1B1C9B9F983C4571AD8488D4 = {isa = PBXGroup; children = (D28494E6896F4E25A06AE11E, 1D8E2905DD6E42479BC4C10E); name = Products; sourceTree = "<group>"; };
F7A341AD112F40069CF86FD6 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (EC02F9C46D3E4C1088D88F8A, 8BDFE8DE8206441A8D094C2E, 7B8856F51ECA47EDAC0D0F9E, AD61B798C741478E86CF0F21, BC44270E1DB54A9EA94AF25C, 13268DA8F54B4835BD433426, 32D039D1037C4D4E826C5967, 0713AAA3C14B4D76BCDFD2E0, 54951F21D9EE48719961E4D2, 139F79D283B1472E9DBA09A0, 308C38EE4912489495844906, 51D03DC2F67F47E1ACE13C62, 06BCCCDE5EEE4420965A8AD9, F6AD6F9866FD401CB3183B65, 53F020EB95F248EAB7B4F160, D3683FB90FFF4F6BACDC48AA, 7BFD2334AFE748B6A1E41904, 243992F8BACE403D8901BC2D, 85768720CAA94956A4DAD2D1, C92AA21B3A384DC6AD6D6C3A, D11A107F06F749F8909C2513, 9316E3BE6C394B90AC4C33BE, 53B9E9BC594B4E5BB6FA7C86, 1C9EB4524E2D466A877785CA, 5D2EFF9E1A444394AE8C4325, F40F95B9AF0846CBA1D1E1D3, 9BCFF862205B4275A845EDB1, 125330B419C94948942351D7, 534D7ACB2128436CA844E53B, 24EABF4A150546E4BC7F6C32, B4FC8CF476D44C32912FAD70, 83D733D7DBEE4374B1374074, 7D60112C22DA49C1B57A6AED, DDC4E6E4080040D595B53D94, 5D696DC51A334778BA8044A8, 0C1792555BFD40EC84E093F5, F52ED96B71C3448E9E6A93F6, 76BC7C34AB3E4B2DAEACFB89, 75E1FAC00E944A789974476C, 88CD8E2D7D684BE6BBC9EF7D, 10085C82FD204FA1A6727CE5, CFB328FB535446608F6AA4B7, 5A2D0215E89F4D0692B60FA8, 4B8C519BF65F435C9AF58902, 41DD9BBB13FB4CFD87C940F8, 4DBBB1020F2A4CD090740ECA, 25DB8C2F0DCD40A6BF38E7D3, DCEF4209679541628926D50D, B5F397173C1D437DB12CA85B, 8CEE2254C44F49B48FE4E3CE, 8801885DF5CE4620BBFA1CBB, 06DEA551887C423C834E39ED, 5F75111D35E84C22A6CB8C31, 18A549FCA1AE4507B65A4BDD, 1535B18F8FEF446CB1FEAF74, 9493516ED98F487E9D70CABF, BDC66B9F5AD34CA0BFDECE2C, 0F35C68364F242929EB0C7A8, D1659689E30C484BB31B93C4, AA6C0D7D59AA46CFB3F362EC, D1304F69E9E7458980E7A5AE, CA3858060106420BBD5AA150); runOnlyForDeploymentPostprocessing = 0; };
80C627F33BA84D3CA773051A = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (3B9B059CA0A9476EBA98FF2F, D3B351AAB75F4996BC381BB6); runOnlyForDeploymentPostprocessing = 0; };
6D5FE4DF497646A4AE97C6BF = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (AC6319A132F34CD4AE4D0460); runOnlyForDeploymentPostprocessing = 0; };
8DA7499F824E4935BDED6CBC = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; };
E9B2E37AC12D4AB087998F8D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (); runOnlyForDeploymentPostprocessing = 0; };
DA38CD9FFE6747869F6CDDC2 = {isa = XCBuildConfiguration; buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 21;
@@ -165,12 +165,13 @@
MARKETING_VERSION = 2.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.matchlivetv.match-live-tv;
PRODUCT_NAME = "$(TARGET_NAME)";
API_BASE_URL = "https://www.matchlivetv.it";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
ENABLE_TESTABILITY = YES;
}; name = Debug; };
C101F6805BCD491CBA3F987D = {isa = XCBuildConfiguration; buildSettings = {
9E05E72AB8714F77936FEE82 = {isa = XCBuildConfiguration; buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 21;
@@ -187,10 +188,11 @@
MARKETING_VERSION = 2.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.matchlivetv.match-live-tv;
PRODUCT_NAME = "$(TARGET_NAME)";
API_BASE_URL = "https://www.matchlivetv.it";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
}; name = Release; };
D8F8880914704BA9B087EE7B = {isa = XCBuildConfiguration; buildSettings = {
7805CB3AE2314A48A5A5CC9D = {isa = XCBuildConfiguration; buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 21;
@@ -204,7 +206,7 @@
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MatchLiveTv.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MatchLiveTv";
}; name = Debug; };
2627164A4CA343B2A4C15A2E = {isa = XCBuildConfiguration; buildSettings = {
9869C88802314492A8E9FFFF = {isa = XCBuildConfiguration; buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 21;
@@ -218,17 +220,17 @@
SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MatchLiveTv.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MatchLiveTv";
}; name = Release; };
7BD2F8EE33E8434AB17CE373 = {isa = XCBuildConfiguration; buildSettings = {IPHONEOS_DEPLOYMENT_TARGET = 16.0; SWIFT_VERSION = 5.0; }; name = Debug; };
68B5EA19B4E24E5D968BF94C = {isa = XCBuildConfiguration; buildSettings = {IPHONEOS_DEPLOYMENT_TARGET = 16.0; SWIFT_VERSION = 5.0; }; name = Release; };
6ED2FEB21E7E44408B6A0677 = {isa = XCConfigurationList; buildConfigurations = (9773A4B6329B4CD2AA4CA51D, C101F6805BCD491CBA3F987D); defaultConfigurationName = Release; };
EB832D1A0EA94AE69A6F2B98 = {isa = XCConfigurationList; buildConfigurations = (D8F8880914704BA9B087EE7B, 2627164A4CA343B2A4C15A2E); defaultConfigurationName = Release; };
8683854CF3914406BD918C9D = {isa = XCConfigurationList; buildConfigurations = (7BD2F8EE33E8434AB17CE373, 68B5EA19B4E24E5D968BF94C); defaultConfigurationName = Release; };
ACA5F32E253C473B9AD5D069 = {isa = PBXNativeTarget; buildConfigurationList = 6ED2FEB21E7E44408B6A0677; buildPhases = (75685F0D94844D25990466AB, ECE339972AA84978AE88BB46, E2036A7DDA8F4F7491399F71); buildRules = (); dependencies = (); name = MatchLiveTv; packageProductDependencies = (0B182AE2B64440FBAD820078, F0E1D34F0B3545A99C3EF141); productName = MatchLiveTv; productReference = A42C110EE8DB4ECC893951AD; productType = "com.apple.product-type.application"; };
8BE99E481DB24808AD87CDAA = {isa = PBXContainerItemProxy; containerPortal = 715925D32BC14CF8A5A9128B /* Project object */; proxyType = 1; remoteGlobalIDString = ACA5F32E253C473B9AD5D069; remoteInfo = MatchLiveTv; };
056ABE5A2CDA4D3E88485D37 = {isa = PBXTargetDependency; target = ACA5F32E253C473B9AD5D069 /* MatchLiveTv */; targetProxy = 8BE99E481DB24808AD87CDAA /* PBXContainerItemProxy */; };
A5EE823E98D34E7CB20F3F9E = {isa = PBXNativeTarget; buildConfigurationList = EB832D1A0EA94AE69A6F2B98; buildPhases = (BC137E765FCA41FB85A944F8, 1C9A61B330DB4A6AA59CFEF4); buildRules = (); dependencies = (056ABE5A2CDA4D3E88485D37); name = MatchLiveTvTests; productName = MatchLiveTvTests; productReference = CA19230D3F7D4C6A95406F87; productType = "com.apple.product-type.bundle.unit-test"; };
F80AB1FECA6A40798C87634A = {isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/shogo4405/HaishinKit.swift"; requirement = {kind = upToNextMajorVersion; minimumVersion = 2.0.0;}; };
715925D32BC14CF8A5A9128B = {isa = PBXProject; attributes = {BuildIndependentTargetsInParallel = 0; LastSwiftUpdateCheck = 1600;}; buildConfigurationList = 8683854CF3914406BD918C9D; compatibilityVersion = "Xcode 15.0"; developmentRegion = it; mainGroup = 7AE60FABDB154D8286A2902F; packageReferences = (F80AB1FECA6A40798C87634A); productRefGroup = CECA644368B34BD1AF81B7D4; targets = (ACA5F32E253C473B9AD5D069, A5EE823E98D34E7CB20F3F9E); };
33F5448B1E1349E2BAA5E3AE = {isa = XCBuildConfiguration; buildSettings = {IPHONEOS_DEPLOYMENT_TARGET = 16.0; SWIFT_VERSION = 5.0; }; name = Debug; };
D72B6CA2A24E4AC09A0B782D = {isa = XCBuildConfiguration; buildSettings = {IPHONEOS_DEPLOYMENT_TARGET = 16.0; SWIFT_VERSION = 5.0; }; name = Release; };
75B30A2BA25E4139B5005285 = {isa = XCConfigurationList; buildConfigurations = (DA38CD9FFE6747869F6CDDC2, 9E05E72AB8714F77936FEE82); defaultConfigurationName = Release; };
01C6C81B18A7474DBD247E7A = {isa = XCConfigurationList; buildConfigurations = (7805CB3AE2314A48A5A5CC9D, 9869C88802314492A8E9FFFF); defaultConfigurationName = Release; };
A30B7C4ACC1F47769F89A326 = {isa = XCConfigurationList; buildConfigurations = (33F5448B1E1349E2BAA5E3AE, D72B6CA2A24E4AC09A0B782D); defaultConfigurationName = Release; };
DC6F777098DA4A41A83135DA = {isa = PBXNativeTarget; buildConfigurationList = 75B30A2BA25E4139B5005285; buildPhases = (F7A341AD112F40069CF86FD6, 8DA7499F824E4935BDED6CBC, 6D5FE4DF497646A4AE97C6BF); buildRules = (); dependencies = (); name = MatchLiveTv; packageProductDependencies = (DFA66CC46F824DCF9A20211C, 7CD46223721F489E8F2981D8); productName = MatchLiveTv; productReference = D28494E6896F4E25A06AE11E; productType = "com.apple.product-type.application"; };
C445B2BC555541D7B69EB55F = {isa = PBXContainerItemProxy; containerPortal = 6E081DDA594D416BB8A07BE6 /* Project object */; proxyType = 1; remoteGlobalIDString = DC6F777098DA4A41A83135DA; remoteInfo = MatchLiveTv; };
F804FB6411E24621B8A73A8F = {isa = PBXTargetDependency; target = DC6F777098DA4A41A83135DA /* MatchLiveTv */; targetProxy = C445B2BC555541D7B69EB55F /* PBXContainerItemProxy */; };
4BD1D70CB43840E58D45DF29 = {isa = PBXNativeTarget; buildConfigurationList = 01C6C81B18A7474DBD247E7A; buildPhases = (80C627F33BA84D3CA773051A, E9B2E37AC12D4AB087998F8D); buildRules = (); dependencies = (F804FB6411E24621B8A73A8F); name = MatchLiveTvTests; productName = MatchLiveTvTests; productReference = 1D8E2905DD6E42479BC4C10E; productType = "com.apple.product-type.bundle.unit-test"; };
80244AADE65A4F05B29ECFB5 = {isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/shogo4405/HaishinKit.swift"; requirement = {kind = upToNextMajorVersion; minimumVersion = 2.0.0;}; };
6E081DDA594D416BB8A07BE6 = {isa = PBXProject; attributes = {BuildIndependentTargetsInParallel = 0; LastSwiftUpdateCheck = 1600;}; buildConfigurationList = A30B7C4ACC1F47769F89A326; compatibilityVersion = "Xcode 15.0"; developmentRegion = it; mainGroup = CBBB3E15BBAD4B658EA9D569; packageReferences = (80244AADE65A4F05B29ECFB5); productRefGroup = 1B1C9B9F983C4571AD8488D4; targets = (DC6F777098DA4A41A83135DA, 4BD1D70CB43840E58D45DF29); };
};
rootObject = 715925D32BC14CF8A5A9128B /* Project object */;
rootObject = 6E081DDA594D416BB8A07BE6 /* Project object */;
}

View File

@@ -3,28 +3,28 @@
<BuildAction parallelizeBuildables="YES" buildImplicitDependencies="YES">
<BuildActionEntries>
<BuildActionEntry buildForTesting="YES" buildForRunning="YES" buildForProfiling="YES" buildForArchiving="YES" buildForAnalyzing="YES">
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="ACA5F32E253C473B9AD5D069" BuildableName="MatchLiveTv.app" BlueprintName="MatchLiveTv" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="DC6F777098DA4A41A83135DA" BuildableName="MatchLiveTv.app" BlueprintName="MatchLiveTv" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
</BuildActionEntry>
<BuildActionEntry buildForTesting="YES" buildForRunning="NO" buildForProfiling="NO" buildForArchiving="NO" buildForAnalyzing="NO">
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="A5EE823E98D34E7CB20F3F9E" BuildableName="MatchLiveTvTests.xctest" BlueprintName="MatchLiveTvTests" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="4BD1D70CB43840E58D45DF29" BuildableName="MatchLiveTvTests.xctest" BlueprintName="MatchLiveTvTests" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction buildConfiguration="Debug" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv="YES">
<Testables>
<TestableReference skipped="NO">
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="A5EE823E98D34E7CB20F3F9E" BuildableName="MatchLiveTvTests.xctest" BlueprintName="MatchLiveTvTests" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="4BD1D70CB43840E58D45DF29" BuildableName="MatchLiveTvTests.xctest" BlueprintName="MatchLiveTvTests" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction buildConfiguration="Debug" selectedDebuggerIdentifier="Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier="Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle="0" useCustomWorkingDirectory="NO" ignoresPersistentStateOnLaunch="NO" debugDocumentVersioning="YES" debugServiceExtension="internal" allowLocationSimulation="YES">
<BuildableProductRunnable runnableDebuggingMode="0">
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="ACA5F32E253C473B9AD5D069" BuildableName="MatchLiveTv.app" BlueprintName="MatchLiveTv" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="DC6F777098DA4A41A83135DA" BuildableName="MatchLiveTv.app" BlueprintName="MatchLiveTv" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction buildConfiguration="Release" shouldUseLaunchSchemeArgsEnv="YES" savedToolIdentifier="" useCustomWorkingDirectory="NO" debugDocumentVersioning="YES">
<BuildableProductRunnable runnableDebuggingMode="0">
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="ACA5F32E253C473B9AD5D069" BuildableName="MatchLiveTv.app" BlueprintName="MatchLiveTv" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
<BuildableReference BuildableIdentifier="primary" BlueprintIdentifier="DC6F777098DA4A41A83135DA" BuildableName="MatchLiveTv.app" BlueprintName="MatchLiveTv" ReferencedContainer="container:MatchLiveTv.xcodeproj"/>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction buildConfiguration="Debug"/>

View File

@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>API_BASE_URL</key>
<string>https://www.matchlivetv.it</string>
<string>$(API_BASE_URL)</string>
<key>CFBundleDevelopmentRegion</key>
<string>it</string>
<key>CFBundleDisplayName</key>

View File

@@ -95,6 +95,7 @@ app_settings = """
MARKETING_VERSION = 2.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.matchlivetv.match-live-tv;
PRODUCT_NAME = "$(TARGET_NAME)";
API_BASE_URL = "https://www.matchlivetv.it";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
"""