diff --git a/PennMobile.xcodeproj/project.pbxproj b/PennMobile.xcodeproj/project.pbxproj index 54105b512..ac61753f4 100644 --- a/PennMobile.xcodeproj/project.pbxproj +++ b/PennMobile.xcodeproj/project.pbxproj @@ -3,10 +3,368 @@ archiveVersion = 1; classes = { }; - objectVersion = 70; + objectVersion = 77; objects = { /* Begin PBXBuildFile section */ + 42632C8F2CB9C77B0028CC31 /* ScannerDuplicate.ahap in Resources */ = {isa = PBXBuildFile; fileRef = 42632B0E2CB9C77B0028CC31 /* ScannerDuplicate.ahap */; }; + 42632C902CB9C77B0028CC31 /* ScannerError.ahap in Resources */ = {isa = PBXBuildFile; fileRef = 42632B0F2CB9C77B0028CC31 /* ScannerError.ahap */; }; + 42632C912CB9C77B0028CC31 /* ScannerInvalid.ahap in Resources */ = {isa = PBXBuildFile; fileRef = 42632B102CB9C77B0028CC31 /* ScannerInvalid.ahap */; }; + 42632C922CB9C77B0028CC31 /* ScannerValid.ahap in Resources */ = {isa = PBXBuildFile; fileRef = 42632B122CB9C77B0028CC31 /* ScannerValid.ahap */; }; + 42632C932CB9C77B0028CC31 /* mock_menu.json in Resources */ = {isa = PBXBuildFile; fileRef = 42632B4F2CB9C77B0028CC31 /* mock_menu.json */; }; + 42632C942CB9C77B0028CC31 /* sample-dining-venue.json in Resources */ = {isa = PBXBuildFile; fileRef = 42632B522CB9C77B0028CC31 /* sample-dining-venue.json */; }; + 42632C952CB9C77B0028CC31 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 42632C872CB9C77B0028CC31 /* GoogleService-Info.plist */; }; + 42632C972CB9C77B0028CC31 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 42632C8C2CB9C77B0028CC31 /* Assets.xcassets */; }; + 42632C982CB9C77B0028CC31 /* OAuth2NetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632AF92CB9C77B0028CC31 /* OAuth2NetworkManager.swift */; }; + 42632C992CB9C77B0028CC31 /* PennAuthRequestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632AFA2CB9C77B0028CC31 /* PennAuthRequestable.swift */; }; + 42632C9A2CB9C77B0028CC31 /* PennLoginController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632AFB2CB9C77B0028CC31 /* PennLoginController.swift */; }; + 42632C9B2CB9C77B0028CC31 /* BannerDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632AFD2CB9C77B0028CC31 /* BannerDescription.swift */; }; + 42632C9C2CB9C77B0028CC31 /* BannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632AFE2CB9C77B0028CC31 /* BannerView.swift */; }; + 42632C9D2CB9C77B0028CC31 /* BannerViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632AFF2CB9C77B0028CC31 /* BannerViewModel.swift */; }; + 42632C9E2CB9C77B0028CC31 /* UserEngagementPopupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B002CB9C77B0028CC31 /* UserEngagementPopupView.swift */; }; + 42632C9F2CB9C77B0028CC31 /* BuildingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B022CB9C77B0028CC31 /* BuildingCell.swift */; }; + 42632CA02CB9C77B0028CC31 /* BuildingFoodMenuCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B032CB9C77B0028CC31 /* BuildingFoodMenuCell.swift */; }; + 42632CA12CB9C77B0028CC31 /* BuildingHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B042CB9C77B0028CC31 /* BuildingHeaderCell.swift */; }; + 42632CA22CB9C77B0028CC31 /* BuildingHoursCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B052CB9C77B0028CC31 /* BuildingHoursCell.swift */; }; + 42632CA32CB9C77B0028CC31 /* BuildingImageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B062CB9C77B0028CC31 /* BuildingImageCell.swift */; }; + 42632CA42CB9C77B0028CC31 /* BuildingMapCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B072CB9C77B0028CC31 /* BuildingMapCell.swift */; }; + 42632CA52CB9C77B0028CC31 /* BuildingSectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B082CB9C77B0028CC31 /* BuildingSectionHeader.swift */; }; + 42632CA62CB9C77B0028CC31 /* MenuTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B092CB9C77B0028CC31 /* MenuTableView.swift */; }; + 42632CA72CB9C77B0028CC31 /* BuildingProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B0B2CB9C77B0028CC31 /* BuildingProtocol.swift */; }; + 42632CA82CB9C77B0028CC31 /* ScannerState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B112CB9C77B0028CC31 /* ScannerState.swift */; }; + 42632CA92CB9C77B0028CC31 /* ScannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B132CB9C77B0028CC31 /* ScannerView.swift */; }; + 42632CAA2CB9C77B0028CC31 /* ScannerViewfinder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B142CB9C77B0028CC31 /* ScannerViewfinder.swift */; }; + 42632CAB2CB9C77B0028CC31 /* ScannerViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B152CB9C77B0028CC31 /* ScannerViewModel.swift */; }; + 42632CAC2CB9C77B0028CC31 /* TicketingAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B172CB9C77B0028CC31 /* TicketingAPI.swift */; }; + 42632CAD2CB9C77B0028CC31 /* ContactCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B192CB9C77B0028CC31 /* ContactCell.swift */; }; + 42632CAE2CB9C77B0028CC31 /* ContactManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B1A2CB9C77B0028CC31 /* ContactManager.swift */; }; + 42632CAF2CB9C77B0028CC31 /* ContactsTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B1B2CB9C77B0028CC31 /* ContactsTableViewController.swift */; }; + 42632CB02CB9C77B0028CC31 /* SupportItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 42632B1D2CB9C77B0028CC31 /* SupportItem.m */; }; + 42632CB12CB9C77B0028CC31 /* CourseAlertController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B1F2CB9C77B0028CC31 /* CourseAlertController.swift */; }; + 42632CB22CB9C77B0028CC31 /* CourseAlertCreateController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B202CB9C77B0028CC31 /* CourseAlertCreateController.swift */; }; + 42632CB32CB9C77B0028CC31 /* CourseAlertSettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B212CB9C77B0028CC31 /* CourseAlertSettingsController.swift */; }; + 42632CB42CB9C77B0028CC31 /* CourseAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B232CB9C77B0028CC31 /* CourseAlert.swift */; }; + 42632CB52CB9C77B0028CC31 /* CourseAlertSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B242CB9C77B0028CC31 /* CourseAlertSettings.swift */; }; + 42632CB62CB9C77B0028CC31 /* CourseAlertSettingsOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B252CB9C77B0028CC31 /* CourseAlertSettingsOptions.swift */; }; + 42632CB72CB9C77B0028CC31 /* CourseSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B262CB9C77B0028CC31 /* CourseSection.swift */; }; + 42632CB82CB9C77B0028CC31 /* CourseAlertNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B282CB9C77B0028CC31 /* CourseAlertNetworkManager.swift */; }; + 42632CB92CB9C77B0028CC31 /* CourseAlertCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B2A2CB9C77B0028CC31 /* CourseAlertCell.swift */; }; + 42632CBA2CB9C77B0028CC31 /* CourseAlertCreateCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B2B2CB9C77B0028CC31 /* CourseAlertCreateCell.swift */; }; + 42632CBB2CB9C77B0028CC31 /* CourseAlertSettingsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B2C2CB9C77B0028CC31 /* CourseAlertSettingsCell.swift */; }; + 42632CBC2CB9C77B0028CC31 /* SearchResultsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B2D2CB9C77B0028CC31 /* SearchResultsCell.swift */; }; + 42632CBD2CB9C77B0028CC31 /* ZeroCourseAlertsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B2E2CB9C77B0028CC31 /* ZeroCourseAlertsCell.swift */; }; + 42632CBE2CB9C77B0028CC31 /* CoursesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B312CB9C77B0028CC31 /* CoursesViewModel.swift */; }; + 42632CBF2CB9C77B0028CC31 /* CoursesDayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B332CB9C77B0028CC31 /* CoursesDayView.swift */; }; + 42632CC02CB9C77B0028CC31 /* CoursesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B342CB9C77B0028CC31 /* CoursesView.swift */; }; + 42632CC12CB9C77B0028CC31 /* CoursesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B352CB9C77B0028CC31 /* CoursesViewController.swift */; }; + 42632CC22CB9C77B0028CC31 /* DiningLoginController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B382CB9C77B0028CC31 /* DiningLoginController.swift */; }; + 42632CC32CB9C77B0028CC31 /* CardHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B3A2CB9C77B0028CC31 /* CardHeaderView.swift */; }; + 42632CC42CB9C77B0028CC31 /* CardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B3B2CB9C77B0028CC31 /* CardView.swift */; }; + 42632CC52CB9C77B0028CC31 /* DiningAnalyticsGraph.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B3D2CB9C77B0028CC31 /* DiningAnalyticsGraph.swift */; }; + 42632CC62CB9C77B0028CC31 /* DiningAnalyticsGraphBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B3E2CB9C77B0028CC31 /* DiningAnalyticsGraphBox.swift */; }; + 42632CC72CB9C77B0028CC31 /* PredictionsGraphView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B3F2CB9C77B0028CC31 /* PredictionsGraphView.swift */; }; + 42632CC82CB9C77B0028CC31 /* PredictionsGraphView+AxisLabels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B402CB9C77B0028CC31 /* PredictionsGraphView+AxisLabels.swift */; }; + 42632CC92CB9C77B0028CC31 /* PredictionsGraphView+SmoothedData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B412CB9C77B0028CC31 /* PredictionsGraphView+SmoothedData.swift */; }; + 42632CCA2CB9C77B0028CC31 /* VariableStepLineGraphView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B422CB9C77B0028CC31 /* VariableStepLineGraphView.swift */; }; + 42632CCB2CB9C77B0028CC31 /* VariableStepLineGraphView+GraphEndpointPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B432CB9C77B0028CC31 /* VariableStepLineGraphView+GraphEndpointPath.swift */; }; + 42632CCC2CB9C77B0028CC31 /* VariableStepLineGraphView+PredictionSlopePath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B442CB9C77B0028CC31 /* VariableStepLineGraphView+PredictionSlopePath.swift */; }; + 42632CCD2CB9C77B0028CC31 /* VariableStepLineGraphView+VariableStepGraphPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B452CB9C77B0028CC31 /* VariableStepLineGraphView+VariableStepGraphPath.swift */; }; + 42632CCE2CB9C77B0028CC31 /* AnalyticsCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B472CB9C77B0028CC31 /* AnalyticsCardView.swift */; }; + 42632CCF2CB9C77B0028CC31 /* DiningBalanceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B482CB9C77B0028CC31 /* DiningBalanceView.swift */; }; + 42632CD02CB9C77B0028CC31 /* DiningVenueDetailHoursView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B4A2CB9C77B0028CC31 /* DiningVenueDetailHoursView.swift */; }; + 42632CD12CB9C77B0028CC31 /* DiningVenueDetailLocationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B4B2CB9C77B0028CC31 /* DiningVenueDetailLocationView.swift */; }; + 42632CD22CB9C77B0028CC31 /* DiningVenueDetailMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B4C2CB9C77B0028CC31 /* DiningVenueDetailMenuView.swift */; }; + 42632CD32CB9C77B0028CC31 /* DiningVenueDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B4D2CB9C77B0028CC31 /* DiningVenueDetailView.swift */; }; + 42632CD42CB9C77B0028CC31 /* MenuDisclosureGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B4E2CB9C77B0028CC31 /* MenuDisclosureGroup.swift */; }; + 42632CD52CB9C77B0028CC31 /* DiningVenueView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B512CB9C77B0028CC31 /* DiningVenueView.swift */; }; + 42632CD62CB9C77B0028CC31 /* DiningView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B542CB9C77B0028CC31 /* DiningView.swift */; }; + 42632CD72CB9C77B0028CC31 /* DiningViewHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B552CB9C77B0028CC31 /* DiningViewHeader.swift */; }; + 42632CD82CB9C77B0028CC31 /* DiningAnalyticsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B572CB9C77B0028CC31 /* DiningAnalyticsView.swift */; }; + 42632CD92CB9C77B0028CC31 /* DiningLoginNavigationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B582CB9C77B0028CC31 /* DiningLoginNavigationView.swift */; }; + 42632CDA2CB9C77B0028CC31 /* DiningLoginViewSwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B592CB9C77B0028CC31 /* DiningLoginViewSwiftUI.swift */; }; + 42632CDB2CB9C77B0028CC31 /* DiningSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B5A2CB9C77B0028CC31 /* DiningSettingsView.swift */; }; + 42632CDC2CB9C77B0028CC31 /* DiningViewControllerSwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B5B2CB9C77B0028CC31 /* DiningViewControllerSwiftUI.swift */; }; + 42632CDD2CB9C77B0028CC31 /* DiningViewModelSwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B5C2CB9C77B0028CC31 /* DiningViewModelSwiftUI.swift */; }; + 42632CDE2CB9C77B0028CC31 /* DiningCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B5E2CB9C77B0028CC31 /* DiningCell.swift */; }; + 42632CDF2CB9C77B0028CC31 /* EventsAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B612CB9C77B0028CC31 /* EventsAPI.swift */; }; + 42632CE02CB9C77B0028CC31 /* PennEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B622CB9C77B0028CC31 /* PennEvents.swift */; }; + 42632CE12CB9C77B0028CC31 /* PennEventsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B632CB9C77B0028CC31 /* PennEventsTableViewCell.swift */; }; + 42632CE22CB9C77B0028CC31 /* PennEventsTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B642CB9C77B0028CC31 /* PennEventsTableViewController.swift */; }; + 42632CE32CB9C77B0028CC31 /* FitnessRoomRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B662CB9C77B0028CC31 /* FitnessRoomRow.swift */; }; + 42632CE42CB9C77B0028CC31 /* FitnessSettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B672CB9C77B0028CC31 /* FitnessSettingsView.swift */; }; + 42632CE52CB9C77B0028CC31 /* FitnessView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B682CB9C77B0028CC31 /* FitnessView.swift */; }; + 42632CE62CB9C77B0028CC31 /* FitnessViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B692CB9C77B0028CC31 /* FitnessViewController.swift */; }; + 42632CE72CB9C77B0028CC31 /* AnnouncementHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B6B2CB9C77B0028CC31 /* AnnouncementHeaderView.swift */; }; + 42632CE82CB9C77B0028CC31 /* GenericControllers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B6C2CB9C77B0028CC31 /* GenericControllers.swift */; }; + 42632CE92CB9C77B0028CC31 /* MoveableTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B6D2CB9C77B0028CC31 /* MoveableTableViewController.swift */; }; + 42632CEA2CB9C77B0028CC31 /* ModularTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B6F2CB9C77B0028CC31 /* ModularTableView.swift */; }; + 42632CEB2CB9C77B0028CC31 /* ModularTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B702CB9C77B0028CC31 /* ModularTableViewCell.swift */; }; + 42632CEC2CB9C77B0028CC31 /* ModularTableViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B712CB9C77B0028CC31 /* ModularTableViewItem.swift */; }; + 42632CED2CB9C77B0028CC31 /* ModularTableViewItemTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B722CB9C77B0028CC31 /* ModularTableViewItemTypes.swift */; }; + 42632CEE2CB9C77B0028CC31 /* ModularTableViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B732CB9C77B0028CC31 /* ModularTableViewModel.swift */; }; + 42632CEF2CB9C77B0028CC31 /* FeedAnalyticsEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B752CB9C77B0028CC31 /* FeedAnalyticsEngine.swift */; }; + 42632CF02CB9C77B0028CC31 /* FirebaseAnalyticsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B762CB9C77B0028CC31 /* FirebaseAnalyticsManager.swift */; }; + 42632CF12CB9C77B0028CC31 /* ImageNetworkingManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B772CB9C77B0028CC31 /* ImageNetworkingManager.swift */; }; + 42632CF22CB9C77B0028CC31 /* Networking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B782CB9C77B0028CC31 /* Networking.swift */; }; + 42632CF32CB9C77B0028CC31 /* UserDBManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B792CB9C77B0028CC31 /* UserDBManager.swift */; }; + 42632CF42CB9C77B0028CC31 /* AlertModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B7B2CB9C77B0028CC31 /* AlertModifier.swift */; }; + 42632CF52CB9C77B0028CC31 /* BetaBadge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B7C2CB9C77B0028CC31 /* BetaBadge.swift */; }; + 42632CF62CB9C77B0028CC31 /* CustomPopupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B7D2CB9C77B0028CC31 /* CustomPopupView.swift */; }; + 42632CF72CB9C77B0028CC31 /* FadingScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B7E2CB9C77B0028CC31 /* FadingScrollView.swift */; }; + 42632CF82CB9C77B0028CC31 /* SafariView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B7F2CB9C77B0028CC31 /* SafariView.swift */; }; + 42632CF92CB9C77B0028CC31 /* UIKit Views.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B802CB9C77B0028CC31 /* UIKit Views.swift */; }; + 42632CFA2CB9C77B0028CC31 /* KeychainAccessible+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B822CB9C77B0028CC31 /* KeychainAccessible+Extensions.swift */; }; + 42632CFB2CB9C77B0028CC31 /* Protocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B832CB9C77B0028CC31 /* Protocols.swift */; }; + 42632CFC2CB9C77B0028CC31 /* UserDefaults + Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B842CB9C77B0028CC31 /* UserDefaults + Helpers.swift */; }; + 42632CFD2CB9C77B0028CC31 /* GSRGroupConfirmBookingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B862CB9C77B0028CC31 /* GSRGroupConfirmBookingController.swift */; }; + 42632CFE2CB9C77B0028CC31 /* GSRGroupController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B872CB9C77B0028CC31 /* GSRGroupController.swift */; }; + 42632CFF2CB9C77B0028CC31 /* GSRGroupInviteViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B882CB9C77B0028CC31 /* GSRGroupInviteViewController.swift */; }; + 42632D002CB9C77B0028CC31 /* GSRGroupNewIntialController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B892CB9C77B0028CC31 /* GSRGroupNewIntialController.swift */; }; + 42632D012CB9C77B0028CC31 /* GSRManageGroupController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B8A2CB9C77B0028CC31 /* GSRManageGroupController.swift */; }; + 42632D022CB9C77B0028CC31 /* GSRBookable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B8C2CB9C77B0028CC31 /* GSRBookable.swift */; }; + 42632D032CB9C77B0028CC31 /* GSRController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B8D2CB9C77B0028CC31 /* GSRController.swift */; }; + 42632D042CB9C77B0028CC31 /* GSRDeletable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B8E2CB9C77B0028CC31 /* GSRDeletable.swift */; }; + 42632D052CB9C77B0028CC31 /* GSRLocationsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B8F2CB9C77B0028CC31 /* GSRLocationsController.swift */; }; + 42632D062CB9C77B0028CC31 /* GSRReservationsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B902CB9C77B0028CC31 /* GSRReservationsController.swift */; }; + 42632D072CB9C77B0028CC31 /* GSRTabController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B912CB9C77B0028CC31 /* GSRTabController.swift */; }; + 42632D082CB9C77B0028CC31 /* GSRAPIResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B932CB9C77B0028CC31 /* GSRAPIResponse.swift */; }; + 42632D092CB9C77B0028CC31 /* GSRBooking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B942CB9C77B0028CC31 /* GSRBooking.swift */; }; + 42632D0A2CB9C77B0028CC31 /* GSRDateHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B952CB9C77B0028CC31 /* GSRDateHandler.swift */; }; + 42632D0B2CB9C77B0028CC31 /* GSRGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B962CB9C77B0028CC31 /* GSRGroup.swift */; }; + 42632D0C2CB9C77B0028CC31 /* GSRGroupUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B972CB9C77B0028CC31 /* GSRGroupUser.swift */; }; + 42632D0D2CB9C77B0028CC31 /* GSRLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B982CB9C77B0028CC31 /* GSRLocation.swift */; }; + 42632D0E2CB9C77B0028CC31 /* GSRLocationModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B992CB9C77B0028CC31 /* GSRLocationModel.swift */; }; + 42632D0F2CB9C77B0028CC31 /* GSRReservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B9A2CB9C77B0028CC31 /* GSRReservation.swift */; }; + 42632D102CB9C77B0028CC31 /* GSRRoom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B9B2CB9C77B0028CC31 /* GSRRoom.swift */; }; + 42632D112CB9C77B0028CC31 /* GSRTimeSlot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B9C2CB9C77B0028CC31 /* GSRTimeSlot.swift */; }; + 42632D122CB9C77B0028CC31 /* GSRGroupNetworkManager..swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B9E2CB9C77B0028CC31 /* GSRGroupNetworkManager..swift */; }; + 42632D132CB9C77B0028CC31 /* GSRNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632B9F2CB9C77B0028CC31 /* GSRNetworkManager.swift */; }; + 42632D142CB9C77B0028CC31 /* GSRManageGroupViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BA12CB9C77B0028CC31 /* GSRManageGroupViewModel.swift */; }; + 42632D152CB9C77B0028CC31 /* GSRViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BA22CB9C77B0028CC31 /* GSRViewModel.swift */; }; + 42632D162CB9C77B0028CC31 /* CreateGroupCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BA42CB9C77B0028CC31 /* CreateGroupCell.swift */; }; + 42632D172CB9C77B0028CC31 /* GroupCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BA52CB9C77B0028CC31 /* GroupCell.swift */; }; + 42632D182CB9C77B0028CC31 /* GroupHeaderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BA62CB9C77B0028CC31 /* GroupHeaderCell.swift */; }; + 42632D192CB9C77B0028CC31 /* GroupIndividualSettingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BA72CB9C77B0028CC31 /* GroupIndividualSettingView.swift */; }; + 42632D1A2CB9C77B0028CC31 /* GroupInviteUserCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BA82CB9C77B0028CC31 /* GroupInviteUserCell.swift */; }; + 42632D1B2CB9C77B0028CC31 /* GroupManageButtonCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BA92CB9C77B0028CC31 /* GroupManageButtonCell.swift */; }; + 42632D1C2CB9C77B0028CC31 /* GroupMemberCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BAA2CB9C77B0028CC31 /* GroupMemberCell.swift */; }; + 42632D1D2CB9C77B0028CC31 /* GroupSettingsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BAB2CB9C77B0028CC31 /* GroupSettingsCell.swift */; }; + 42632D1E2CB9C77B0028CC31 /* GSRColorCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BAC2CB9C77B0028CC31 /* GSRColorCell.swift */; }; + 42632D1F2CB9C77B0028CC31 /* GSRGroupIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BAD2CB9C77B0028CC31 /* GSRGroupIconView.swift */; }; + 42632D202CB9C77B0028CC31 /* EmptyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BAF2CB9C77B0028CC31 /* EmptyView.swift */; }; + 42632D212CB9C77B0028CC31 /* GSRClosedView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BB02CB9C77B0028CC31 /* GSRClosedView.swift */; }; + 42632D222CB9C77B0028CC31 /* GSRLocationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BB12CB9C77B0028CC31 /* GSRLocationCell.swift */; }; + 42632D232CB9C77B0028CC31 /* GSRRangeSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BB22CB9C77B0028CC31 /* GSRRangeSlider.swift */; }; + 42632D242CB9C77B0028CC31 /* GSRTimeCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BB32CB9C77B0028CC31 /* GSRTimeCell.swift */; }; + 42632D252CB9C77B0028CC31 /* NoReservationsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BB42CB9C77B0028CC31 /* NoReservationsCell.swift */; }; + 42632D262CB9C77B0028CC31 /* ReservationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BB52CB9C77B0028CC31 /* ReservationCell.swift */; }; + 42632D272CB9C77B0028CC31 /* RoomCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BB62CB9C77B0028CC31 /* RoomCell.swift */; }; + 42632D282CB9C77B0028CC31 /* RangeSlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BB82CB9C77B0028CC31 /* RangeSlider.swift */; }; + 42632D292CB9C77B0028CC31 /* TextLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BB92CB9C77B0028CC31 /* TextLayer.swift */; }; + 42632D2A2CB9C77B0028CC31 /* ThumbLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BBA2CB9C77B0028CC31 /* ThumbLayer.swift */; }; + 42632D2B2CB9C77B0028CC31 /* TrackLayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BBB2CB9C77B0028CC31 /* TrackLayer.swift */; }; + 42632D2C2CB9C77B0028CC31 /* CalendarAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BBE2CB9C77B0028CC31 /* CalendarAPI.swift */; }; + 42632D2D2CB9C77B0028CC31 /* CalendarEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BBF2CB9C77B0028CC31 /* CalendarEvent.swift */; }; + 42632D2E2CB9C77B0028CC31 /* HomeCalendarCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BC02CB9C77B0028CC31 /* HomeCalendarCell.swift */; }; + 42632D2F2CB9C77B0028CC31 /* HomeCalendarCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BC12CB9C77B0028CC31 /* HomeCalendarCellItem.swift */; }; + 42632D302CB9C77B0028CC31 /* UniversityNotificationCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BC22CB9C77B0028CC31 /* UniversityNotificationCell.swift */; }; + 42632D312CB9C77B0028CC31 /* HomeDiningCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BC42CB9C77B0028CC31 /* HomeDiningCell.swift */; }; + 42632D322CB9C77B0028CC31 /* HomeDiningCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BC52CB9C77B0028CC31 /* HomeDiningCellItem.swift */; }; + 42632D332CB9C77B0028CC31 /* FeatureAnnouncement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BC72CB9C77B0028CC31 /* FeatureAnnouncement.swift */; }; + 42632D342CB9C77B0028CC31 /* HomeFeatureCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BC82CB9C77B0028CC31 /* HomeFeatureCell.swift */; }; + 42632D352CB9C77B0028CC31 /* HomeFeatureCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BC92CB9C77B0028CC31 /* HomeFeatureCellItem.swift */; }; + 42632D362CB9C77B0028CC31 /* GSRGroupInviteCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BCB2CB9C77B0028CC31 /* GSRGroupInviteCell.swift */; }; + 42632D372CB9C77B0028CC31 /* HomeGroupInvitesCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BCC2CB9C77B0028CC31 /* HomeGroupInvitesCell.swift */; }; + 42632D382CB9C77B0028CC31 /* HomeGroupInvitesCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BCD2CB9C77B0028CC31 /* HomeGroupInvitesCellItem.swift */; }; + 42632D392CB9C77B0028CC31 /* BookingRowCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BCF2CB9C77B0028CC31 /* BookingRowCell.swift */; }; + 42632D3A2CB9C77B0028CC31 /* HomeGSRBookingButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BD12CB9C77B0028CC31 /* HomeGSRBookingButton.swift */; }; + 42632D3B2CB9C77B0028CC31 /* HomeGSRCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BD22CB9C77B0028CC31 /* HomeGSRCellItem.swift */; }; + 42632D3C2CB9C77B0028CC31 /* HomeStudyRoomCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BD32CB9C77B0028CC31 /* HomeStudyRoomCell.swift */; }; + 42632D3D2CB9C77B0028CC31 /* HomeGSRLocationsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BD52CB9C77B0028CC31 /* HomeGSRLocationsCell.swift */; }; + 42632D3E2CB9C77B0028CC31 /* HomeGSRLocationsCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BD62CB9C77B0028CC31 /* HomeGSRLocationsCellItem.swift */; }; + 42632D3F2CB9C77B0028CC31 /* HomeReservationsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BD82CB9C77B0028CC31 /* HomeReservationsCell.swift */; }; + 42632D402CB9C77B0028CC31 /* HomeReservationsCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BD92CB9C77B0028CC31 /* HomeReservationsCellItem.swift */; }; + 42632D412CB9C77B0028CC31 /* HomeLaundryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BDB2CB9C77B0028CC31 /* HomeLaundryCell.swift */; }; + 42632D422CB9C77B0028CC31 /* HomeLaundryCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BDC2CB9C77B0028CC31 /* HomeLaundryCellItem.swift */; }; + 42632D432CB9C77B0028CC31 /* HomeNewsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BDE2CB9C77B0028CC31 /* HomeNewsCell.swift */; }; + 42632D442CB9C77B0028CC31 /* HomeNewsCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BDF2CB9C77B0028CC31 /* HomeNewsCellItem.swift */; }; + 42632D452CB9C77B0028CC31 /* NativeNewsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BE02CB9C77B0028CC31 /* NativeNewsViewController.swift */; }; + 42632D462CB9C77B0028CC31 /* NewsArticle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BE12CB9C77B0028CC31 /* NewsArticle.swift */; }; + 42632D472CB9C77B0028CC31 /* HomePollsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BE32CB9C77B0028CC31 /* HomePollsCell.swift */; }; + 42632D482CB9C77B0028CC31 /* HomePollsCellFooter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BE42CB9C77B0028CC31 /* HomePollsCellFooter.swift */; }; + 42632D492CB9C77B0028CC31 /* HomePollsCellHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BE52CB9C77B0028CC31 /* HomePollsCellHeader.swift */; }; + 42632D4A2CB9C77B0028CC31 /* HomePollsCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BE62CB9C77B0028CC31 /* HomePollsCellItem.swift */; }; + 42632D4B2CB9C77B0028CC31 /* PollOptionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BE72CB9C77B0028CC31 /* PollOptionCell.swift */; }; + 42632D4C2CB9C77B0028CC31 /* HomePostCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BE92CB9C77B0028CC31 /* HomePostCell.swift */; }; + 42632D4D2CB9C77B0028CC31 /* HomePostCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BEA2CB9C77B0028CC31 /* HomePostCellItem.swift */; }; + 42632D4E2CB9C77B0028CC31 /* Post.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BEB2CB9C77B0028CC31 /* Post.swift */; }; + 42632D4F2CB9C77B0028CC31 /* HomeFlingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BED2CB9C77B0028CC31 /* HomeFlingCell.swift */; }; + 42632D502CB9C77B0028CC31 /* HomeFlingCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BEE2CB9C77B0028CC31 /* HomeFlingCellItem.swift */; }; + 42632D512CB9C77B0028CC31 /* HomeUpdateCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BF02CB9C77B0028CC31 /* HomeUpdateCellItem.swift */; }; + 42632D522CB9C77B0028CC31 /* HomeCellConformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BF22CB9C77B0028CC31 /* HomeCellConformable.swift */; }; + 42632D532CB9C77B0028CC31 /* HomeCellHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BF32CB9C77B0028CC31 /* HomeCellHeader.swift */; }; + 42632D542CB9C77B0028CC31 /* HomeCellProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BF42CB9C77B0028CC31 /* HomeCellProtocols.swift */; }; + 42632D552CB9C77B0028CC31 /* HomeCellSafeArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BF52CB9C77B0028CC31 /* HomeCellSafeArea.swift */; }; + 42632D562CB9C77B0028CC31 /* BuildingMapWebviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BF72CB9C77B0028CC31 /* BuildingMapWebviewController.swift */; }; + 42632D572CB9C77B0028CC31 /* DiningCellSettingsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BF82CB9C77B0028CC31 /* DiningCellSettingsController.swift */; }; + 42632D582CB9C77B0028CC31 /* HomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BF92CB9C77B0028CC31 /* HomeViewController.swift */; }; + 42632D592CB9C77B0028CC31 /* HomeViewController + Delegates.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BFA2CB9C77B0028CC31 /* HomeViewController + Delegates.swift */; }; + 42632D5A2CB9C77B0028CC31 /* HomeCellItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BFC2CB9C77B0028CC31 /* HomeCellItem.swift */; }; + 42632D5B2CB9C77B0028CC31 /* HomeItemTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BFD2CB9C77B0028CC31 /* HomeItemTypes.swift */; }; + 42632D5C2CB9C77B0028CC31 /* HomeTableViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632BFE2CB9C77B0028CC31 /* HomeTableViewModel.swift */; }; + 42632D5D2CB9C77B0028CC31 /* HomeAPIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C002CB9C77B0028CC31 /* HomeAPIService.swift */; }; + 42632D5E2CB9C77B0028CC31 /* CalendarCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C022CB9C77B0028CC31 /* CalendarCardView.swift */; }; + 42632D5F2CB9C77B0028CC31 /* HomeCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C032CB9C77B0028CC31 /* HomeCardView.swift */; }; + 42632D602CB9C77B0028CC31 /* HomeSublettingBanner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C042CB9C77B0028CC31 /* HomeSublettingBanner.swift */; }; + 42632D612CB9C77B0028CC31 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C052CB9C77B0028CC31 /* HomeView.swift */; }; + 42632D622CB9C77B0028CC31 /* HomeViewData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C062CB9C77B0028CC31 /* HomeViewData.swift */; }; + 42632D632CB9C77B0028CC31 /* HomeViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C072CB9C77B0028CC31 /* HomeViewModel.swift */; }; + 42632D642CB9C77B0028CC31 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C092CB9C77B0028CC31 /* Model.swift */; }; + 42632D652CB9C77B0028CC31 /* AddLaundryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C0B2CB9C77B0028CC31 /* AddLaundryCell.swift */; }; + 42632D662CB9C77B0028CC31 /* LaundryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C0C2CB9C77B0028CC31 /* LaundryCell.swift */; }; + 42632D672CB9C77B0028CC31 /* LaundryCell + Graph.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C0D2CB9C77B0028CC31 /* LaundryCell + Graph.swift */; }; + 42632D682CB9C77B0028CC31 /* LaundryGraphView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C0E2CB9C77B0028CC31 /* LaundryGraphView.swift */; }; + 42632D692CB9C77B0028CC31 /* LaundryMachineCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C0F2CB9C77B0028CC31 /* LaundryMachineCell.swift */; }; + 42632D6A2CB9C77B0028CC31 /* LaundryMachinesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C102CB9C77B0028CC31 /* LaundryMachinesView.swift */; }; + 42632D6B2CB9C77B0028CC31 /* LaundryMachineCellTappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C122CB9C77B0028CC31 /* LaundryMachineCellTappable.swift */; }; + 42632D6C2CB9C77B0028CC31 /* LaundryTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C132CB9C77B0028CC31 /* LaundryTableViewController.swift */; }; + 42632D6D2CB9C77B0028CC31 /* RoomSelectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C142CB9C77B0028CC31 /* RoomSelectionViewController.swift */; }; + 42632D6E2CB9C77B0028CC31 /* LaundryNotificationCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C162CB9C77B0028CC31 /* LaundryNotificationCenter.swift */; }; + 42632D6F2CB9C77B0028CC31 /* LaundryRoom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C172CB9C77B0028CC31 /* LaundryRoom.swift */; }; + 42632D702CB9C77B0028CC31 /* LaundryAPIService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C192CB9C77B0028CC31 /* LaundryAPIService.swift */; }; + 42632D712CB9C77B0028CC31 /* RoomSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C1B2CB9C77B0028CC31 /* RoomSelectionView.swift */; }; + 42632D722CB9C77B0028CC31 /* Account.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C1E2CB9C77B0028CC31 /* Account.swift */; }; + 42632D732CB9C77B0028CC31 /* AuthManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C1F2CB9C77B0028CC31 /* AuthManager.swift */; }; + 42632D742CB9C77B0028CC31 /* CampusExpressLoginController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C202CB9C77B0028CC31 /* CampusExpressLoginController.swift */; }; + 42632D752CB9C77B0028CC31 /* CampusExpressNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C212CB9C77B0028CC31 /* CampusExpressNetworkManager.swift */; }; + 42632D762CB9C77B0028CC31 /* Degree.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C222CB9C77B0028CC31 /* Degree.swift */; }; + 42632D772CB9C77B0028CC31 /* LabsLoginController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C232CB9C77B0028CC31 /* LabsLoginController.swift */; }; + 42632D782CB9C77B0028CC31 /* LabsLoginSwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C242CB9C77B0028CC31 /* LabsLoginSwiftUI.swift */; }; + 42632D792CB9C77B0028CC31 /* LoggedOutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C252CB9C77B0028CC31 /* LoggedOutView.swift */; }; + 42632D7A2CB9C77B0028CC31 /* PathAtPennNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C262CB9C77B0028CC31 /* PathAtPennNetworkManager.swift */; }; + 42632D7B2CB9C77B0028CC31 /* PennCashNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C272CB9C77B0028CC31 /* PennCashNetworkManager.swift */; }; + 42632D7C2CB9C77B0028CC31 /* PennInTouchNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C282CB9C77B0028CC31 /* PennInTouchNetworkManager.swift */; }; + 42632D7D2CB9C77B0028CC31 /* AddressMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C2A2CB9C77B0028CC31 /* AddressMapView.swift */; }; + 42632D7E2CB9C77B0028CC31 /* MapViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C2B2CB9C77B0028CC31 /* MapViewController.swift */; }; + 42632D7F2CB9C77B0028CC31 /* PennCoordinate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C2C2CB9C77B0028CC31 /* PennCoordinate.swift */; }; + 42632D802CB9C77B0028CC31 /* PacCodeNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C2E2CB9C77B0028CC31 /* PacCodeNetworkManager.swift */; }; + 42632D812CB9C77B0028CC31 /* PacCodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C2F2CB9C77B0028CC31 /* PacCodeViewController.swift */; }; + 42632D822CB9C77B0028CC31 /* ProfilePageNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C312CB9C77B0028CC31 /* ProfilePageNetworkManager.swift */; }; + 42632D832CB9C77B0028CC31 /* InfoTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C332CB9C77B0028CC31 /* InfoTableViewController.swift */; }; + 42632D842CB9C77B0028CC31 /* InfoTableViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C342CB9C77B0028CC31 /* InfoTableViewModel.swift */; }; + 42632D852CB9C77B0028CC31 /* ProfilePageTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C352CB9C77B0028CC31 /* ProfilePageTableViewCell.swift */; }; + 42632D862CB9C77B0028CC31 /* ProfilePageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C362CB9C77B0028CC31 /* ProfilePageViewController.swift */; }; + 42632D872CB9C77B0028CC31 /* ProfilePageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C372CB9C77B0028CC31 /* ProfilePageViewModel.swift */; }; + 42632D882CB9C77B0028CC31 /* ProfilePictureTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C382CB9C77B0028CC31 /* ProfilePictureTableViewCell.swift */; }; + 42632D892CB9C77B0028CC31 /* AboutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C3A2CB9C77B0028CC31 /* AboutViewController.swift */; }; + 42632D8A2CB9C77B0028CC31 /* HeaderViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C3B2CB9C77B0028CC31 /* HeaderViewCell.swift */; }; + 42632D8B2CB9C77B0028CC31 /* MoreCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C3C2CB9C77B0028CC31 /* MoreCell.swift */; }; + 42632D8C2CB9C77B0028CC31 /* MoreHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C3D2CB9C77B0028CC31 /* MoreHeaderView.swift */; }; + 42632D8D2CB9C77B0028CC31 /* MoreView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C3E2CB9C77B0028CC31 /* MoreView.swift */; }; + 42632D8E2CB9C77B0028CC31 /* MoreViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C3F2CB9C77B0028CC31 /* MoreViewController.swift */; }; + 42632D8F2CB9C77B0028CC31 /* ProfileRowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C402CB9C77B0028CC31 /* ProfileRowView.swift */; }; + 42632D902CB9C77B0028CC31 /* NewsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C422CB9C77B0028CC31 /* NewsViewController.swift */; }; + 42632D912CB9C77B0028CC31 /* NotificationAPIModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C442CB9C77B0028CC31 /* NotificationAPIModel.swift */; }; + 42632D922CB9C77B0028CC31 /* NotificationsSetting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C452CB9C77B0028CC31 /* NotificationsSetting.swift */; }; + 42632D932CB9C77B0028CC31 /* NotificationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C472CB9C77B0028CC31 /* NotificationsView.swift */; }; + 42632D942CB9C77B0028CC31 /* NotificationsViewControllerSwiftUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C482CB9C77B0028CC31 /* NotificationsViewControllerSwiftUI.swift */; }; + 42632D952CB9C77B0028CC31 /* NotificationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C492CB9C77B0028CC31 /* NotificationViewModel.swift */; }; + 42632D962CB9C77B0028CC31 /* NotificationPreference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C4B2CB9C77B0028CC31 /* NotificationPreference.swift */; }; + 42632D972CB9C77B0028CC31 /* NotificationRequestable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C4C2CB9C77B0028CC31 /* NotificationRequestable.swift */; }; + 42632D982CB9C77B0028CC31 /* NotificationsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C4D2CB9C77B0028CC31 /* NotificationsTableViewCell.swift */; }; + 42632D992CB9C77B0028CC31 /* NotificationsTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C4E2CB9C77B0028CC31 /* NotificationsTableViewController.swift */; }; + 42632D9A2CB9C77B0028CC31 /* OnboardingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C502CB9C77B0028CC31 /* OnboardingController.swift */; }; + 42632D9B2CB9C77B0028CC31 /* Page.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C512CB9C77B0028CC31 /* Page.swift */; }; + 42632D9C2CB9C77B0028CC31 /* PageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C522CB9C77B0028CC31 /* PageCell.swift */; }; + 42632D9D2CB9C77B0028CC31 /* SAConfettiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C532CB9C77B0028CC31 /* SAConfettiView.swift */; }; + 42632D9E2CB9C77B0028CC31 /* SelectionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C542CB9C77B0028CC31 /* SelectionCell.swift */; }; + 42632D9F2CB9C77B0028CC31 /* AIChatModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C562CB9C77B0028CC31 /* AIChatModel.swift */; }; + 42632DA02CB9C77B0028CC31 /* AIChatView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C572CB9C77B0028CC31 /* AIChatView.swift */; }; + 42632DA12CB9C77B0028CC31 /* AIChatViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C582CB9C77B0028CC31 /* AIChatViewModel.swift */; }; + 42632DA22CB9C77B0028CC31 /* ChatMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C592CB9C77B0028CC31 /* ChatMessage.swift */; }; + 42632DA32CB9C77B0028CC31 /* ChatMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C5A2CB9C77B0028CC31 /* ChatMessageView.swift */; }; + 42632DA42CB9C77B0028CC31 /* PollQuestion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C5C2CB9C77B0028CC31 /* PollQuestion.swift */; }; + 42632DA52CB9C77B0028CC31 /* PollsNetworkManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C5E2CB9C77B0028CC31 /* PollsNetworkManager.swift */; }; + 42632DA62CB9C77B0028CC31 /* PollsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C602CB9C77B0028CC31 /* PollsView.swift */; }; + 42632DA72CB9C77B0028CC31 /* PollsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C612CB9C77B0028CC31 /* PollsViewController.swift */; }; + 42632DA82CB9C77B0028CC31 /* PollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C622CB9C77B0028CC31 /* PollView.swift */; }; + 42632DA92CB9C77B0028CC31 /* PreferencesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C642CB9C77B0028CC31 /* PreferencesView.swift */; }; + 42632DAA2CB9C77B0028CC31 /* PreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C652CB9C77B0028CC31 /* PreferencesViewController.swift */; }; + 42632DAB2CB9C77B0028CC31 /* PermissionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C672CB9C77B0028CC31 /* PermissionView.swift */; }; + 42632DAC2CB9C77B0028CC31 /* PrivacyPermissionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C682CB9C77B0028CC31 /* PrivacyPermissionDelegate.swift */; }; + 42632DAD2CB9C77B0028CC31 /* PrivacyPreference.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C692CB9C77B0028CC31 /* PrivacyPreference.swift */; }; + 42632DAE2CB9C77B0028CC31 /* PrivacyTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C6A2CB9C77B0028CC31 /* PrivacyTableViewCell.swift */; }; + 42632DAF2CB9C77B0028CC31 /* PrivacyTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C6B2CB9C77B0028CC31 /* PrivacyTableViewController.swift */; }; + 42632DB02CB9C77B0028CC31 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C6D2CB9C77B0028CC31 /* AppDelegate.swift */; }; + 42632DB12CB9C77B0028CC31 /* AppDelegate+NotificationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C6E2CB9C77B0028CC31 /* AppDelegate+NotificationExtension.swift */; }; + 42632DB22CB9C77B0028CC31 /* ControllerModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C6F2CB9C77B0028CC31 /* ControllerModel.swift */; }; + 42632DB32CB9C77B0028CC31 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C702CB9C77B0028CC31 /* Environment.swift */; }; + 42632DB42CB9C77B0028CC31 /* Features.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C712CB9C77B0028CC31 /* Features.swift */; }; + 42632DB52CB9C77B0028CC31 /* MainTabView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C722CB9C77B0028CC31 /* MainTabView.swift */; }; + 42632DB62CB9C77B0028CC31 /* PennMobile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C732CB9C77B0028CC31 /* PennMobile.swift */; }; + 42632DB72CB9C77B0028CC31 /* RootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C742CB9C77B0028CC31 /* RootView.swift */; }; + 42632DB82CB9C77B0028CC31 /* RootViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C752CB9C77B0028CC31 /* RootViewController.swift */; }; + 42632DB92CB9C77B0028CC31 /* SplashViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C762CB9C77B0028CC31 /* SplashViewController.swift */; }; + 42632DBA2CB9C77B0028CC31 /* TabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C772CB9C77B0028CC31 /* TabBarController.swift */; }; + 42632DBB2CB9C77B0028CC31 /* Toasts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C782CB9C77B0028CC31 /* Toasts.swift */; }; + 42632DBC2CB9C77B0028CC31 /* MyListingsActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C7A2CB9C77B0028CC31 /* MyListingsActivity.swift */; }; + 42632DBD2CB9C77B0028CC31 /* NewListingForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C7B2CB9C77B0028CC31 /* NewListingForm.swift */; }; + 42632DBE2CB9C77B0028CC31 /* MarketplaceFilterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C7D2CB9C77B0028CC31 /* MarketplaceFilterView.swift */; }; + 42632DBF2CB9C77B0028CC31 /* MarketplaceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C7E2CB9C77B0028CC31 /* MarketplaceView.swift */; }; + 42632DC02CB9C77B0028CC31 /* SubletCandidatesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C7F2CB9C77B0028CC31 /* SubletCandidatesView.swift */; }; + 42632DC12CB9C77B0028CC31 /* SubletDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C802CB9C77B0028CC31 /* SubletDetailView.swift */; }; + 42632DC22CB9C77B0028CC31 /* SubletDisplayRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C812CB9C77B0028CC31 /* SubletDisplayRow.swift */; }; + 42632DC32CB9C77B0028CC31 /* SubletInterestForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C822CB9C77B0028CC31 /* SubletInterestForm.swift */; }; + 42632DC42CB9C77B0028CC31 /* SubletMapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C832CB9C77B0028CC31 /* SubletMapView.swift */; }; + 42632DC52CB9C77B0028CC31 /* SublettingAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C842CB9C77B0028CC31 /* SublettingAPI.swift */; }; + 42632DC62CB9C77B0028CC31 /* SublettingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632C852CB9C77B0028CC31 /* SublettingViewModel.swift */; }; + 42632DE02CB9C77B0028CC31 /* CoursesDayWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DCB2CB9C77B0028CC31 /* CoursesDayWidget.swift */; }; + 42632DE12CB9C77B0028CC31 /* CoursesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DCC2CB9C77B0028CC31 /* CoursesProvider.swift */; }; + 42632DE22CB9C77B0028CC31 /* DiningAnalyticsHomeWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DCE2CB9C77B0028CC31 /* DiningAnalyticsHomeWidget.swift */; }; + 42632DE32CB9C77B0028CC31 /* DiningAnalyticsProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DCF2CB9C77B0028CC31 /* DiningAnalyticsProvider.swift */; }; + 42632DE42CB9C77B0028CC31 /* DiningHoursProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DD12CB9C77B0028CC31 /* DiningHoursProvider.swift */; }; + 42632DE52CB9C77B0028CC31 /* DiningHoursWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DD22CB9C77B0028CC31 /* DiningHoursWidget.swift */; }; + 42632DE62CB9C77B0028CC31 /* FitnessProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DD42CB9C77B0028CC31 /* FitnessProvider.swift */; }; + 42632DE72CB9C77B0028CC31 /* FitnessWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DD52CB9C77B0028CC31 /* FitnessWidget.swift */; }; + 42632DE82CB9C77B0028CC31 /* ConfigurationRepresenting.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DD82CB9C77B0028CC31 /* ConfigurationRepresenting.swift */; }; + 42632DE92CB9C77B0028CC31 /* LaundryLiveActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DDA2CB9C77B0028CC31 /* LaundryLiveActivity.swift */; }; + 42632DEA2CB9C77B0028CC31 /* ViewExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DDB2CB9C77B0028CC31 /* ViewExtensions.swift */; }; + 42632DEB2CB9C77B0028CC31 /* WidgetBackgroundTypeExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DDC2CB9C77B0028CC31 /* WidgetBackgroundTypeExtensions.swift */; }; + 42632DEC2CB9C77B0028CC31 /* WidgetBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DDD2CB9C77B0028CC31 /* WidgetBundle.swift */; }; + 42632DED2CB9C77B0028CC31 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 42632DD72CB9C77B0028CC31 /* Assets.xcassets */; }; + 42632E272CB9C77B0028CC31 /* PennMobileShared.h in Headers */ = {isa = PBXBuildFile; fileRef = 42632E252CB9C77B0028CC31 /* PennMobileShared.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 42632E282CB9C77B0028CC31 /* Course.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DFD2CB9C77B0028CC31 /* Course.swift */; }; + 42632E292CB9C77B0028CC31 /* ScheduleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632DFE2CB9C77B0028CC31 /* ScheduleView.swift */; }; + 42632E2A2CB9C77B0028CC31 /* DiningBalance.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E002CB9C77B0028CC31 /* DiningBalance.swift */; }; + 42632E2B2CB9C77B0028CC31 /* DiningMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E012CB9C77B0028CC31 /* DiningMenu.swift */; }; + 42632E2C2CB9C77B0028CC31 /* DiningPlan.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E022CB9C77B0028CC31 /* DiningPlan.swift */; }; + 42632E2D2CB9C77B0028CC31 /* DiningToken.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E032CB9C77B0028CC31 /* DiningToken.swift */; }; + 42632E2E2CB9C77B0028CC31 /* DiningVenue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E042CB9C77B0028CC31 /* DiningVenue.swift */; }; + 42632E2F2CB9C77B0028CC31 /* DiningVenue+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E052CB9C77B0028CC31 /* DiningVenue+Extensions.swift */; }; + 42632E302CB9C77B0028CC31 /* PastDiningBalances.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E062CB9C77B0028CC31 /* PastDiningBalances.swift */; }; + 42632E312CB9C77B0028CC31 /* DiningAnalyticsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E082CB9C77B0028CC31 /* DiningAnalyticsViewModel.swift */; }; + 42632E322CB9C77B0028CC31 /* DiningAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E092CB9C77B0028CC31 /* DiningAPI.swift */; }; + 42632E332CB9C77B0028CC31 /* DiningVenueRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E0A2CB9C77B0028CC31 /* DiningVenueRow.swift */; }; + 42632E342CB9C77B0028CC31 /* FitnessAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E0C2CB9C77B0028CC31 /* FitnessAPI.swift */; }; + 42632E352CB9C77B0028CC31 /* FitnessGraph.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E0D2CB9C77B0028CC31 /* FitnessGraph.swift */; }; + 42632E362CB9C77B0028CC31 /* FitnessModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E0E2CB9C77B0028CC31 /* FitnessModel.swift */; }; + 42632E372CB9C77B0028CC31 /* BadgeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E102CB9C77B0028CC31 /* BadgeView.swift */; }; + 42632E382CB9C77B0028CC31 /* Colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E112CB9C77B0028CC31 /* Colors.swift */; }; + 42632E392CB9C77B0028CC31 /* Day.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E122CB9C77B0028CC31 /* Day.swift */; }; + 42632E3A2CB9C77B0028CC31 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E132CB9C77B0028CC31 /* Extensions.swift */; }; + 42632E3B2CB9C77B0028CC31 /* KeychainAccessible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E142CB9C77B0028CC31 /* KeychainAccessible.swift */; }; + 42632E3C2CB9C77B0028CC31 /* MeterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E152CB9C77B0028CC31 /* MeterView.swift */; }; + 42632E3D2CB9C77B0028CC31 /* PhoneNumberFormat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E162CB9C77B0028CC31 /* PhoneNumberFormat.swift */; }; + 42632E3E2CB9C77B0028CC31 /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E172CB9C77B0028CC31 /* SearchBar.swift */; }; + 42632E3F2CB9C77B0028CC31 /* SecureStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E182CB9C77B0028CC31 /* SecureStore.swift */; }; + 42632E402CB9C77B0028CC31 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E192CB9C77B0028CC31 /* Storage.swift */; }; + 42632E412CB9C77B0028CC31 /* WidgetKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E1A2CB9C77B0028CC31 /* WidgetKind.swift */; }; + 42632E422CB9C77B0028CC31 /* LaundryAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E1C2CB9C77B0028CC31 /* LaundryAttributes.swift */; }; + 42632E432CB9C77B0028CC31 /* LaundryMachine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E1D2CB9C77B0028CC31 /* LaundryMachine.swift */; }; + 42632E442CB9C77B0028CC31 /* Multipart.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E1F2CB9C77B0028CC31 /* Multipart.swift */; }; + 42632E452CB9C77B0028CC31 /* NetworkingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E202CB9C77B0028CC31 /* NetworkingError.swift */; }; + 42632E462CB9C77B0028CC31 /* SubletDisplayBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E222CB9C77B0028CC31 /* SubletDisplayBox.swift */; }; + 42632E472CB9C77B0028CC31 /* SublettingModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42632E232CB9C77B0028CC31 /* SublettingModels.swift */; }; 4273BCFF2BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 4273BCFE2BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy */; }; 4273BD012BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 4273BCFE2BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy */; }; 4273BD022BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 4273BCFE2BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy */; }; @@ -87,6 +445,384 @@ /* Begin PBXFileReference section */ 216640601EBADADA00746B8E /* PennMobile.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = PennMobile.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 42632AF92CB9C77B0028CC31 /* OAuth2NetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OAuth2NetworkManager.swift; sourceTree = ""; }; + 42632AFA2CB9C77B0028CC31 /* PennAuthRequestable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PennAuthRequestable.swift; sourceTree = ""; }; + 42632AFB2CB9C77B0028CC31 /* PennLoginController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PennLoginController.swift; sourceTree = ""; }; + 42632AFD2CB9C77B0028CC31 /* BannerDescription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BannerDescription.swift; sourceTree = ""; }; + 42632AFE2CB9C77B0028CC31 /* BannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BannerView.swift; sourceTree = ""; }; + 42632AFF2CB9C77B0028CC31 /* BannerViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BannerViewModel.swift; sourceTree = ""; }; + 42632B002CB9C77B0028CC31 /* UserEngagementPopupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserEngagementPopupView.swift; sourceTree = ""; }; + 42632B022CB9C77B0028CC31 /* BuildingCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildingCell.swift; sourceTree = ""; }; + 42632B032CB9C77B0028CC31 /* BuildingFoodMenuCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildingFoodMenuCell.swift; sourceTree = ""; }; + 42632B042CB9C77B0028CC31 /* BuildingHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildingHeaderCell.swift; sourceTree = ""; }; + 42632B052CB9C77B0028CC31 /* BuildingHoursCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildingHoursCell.swift; sourceTree = ""; }; + 42632B062CB9C77B0028CC31 /* BuildingImageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildingImageCell.swift; sourceTree = ""; }; + 42632B072CB9C77B0028CC31 /* BuildingMapCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildingMapCell.swift; sourceTree = ""; }; + 42632B082CB9C77B0028CC31 /* BuildingSectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildingSectionHeader.swift; sourceTree = ""; }; + 42632B092CB9C77B0028CC31 /* MenuTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuTableView.swift; sourceTree = ""; }; + 42632B0B2CB9C77B0028CC31 /* BuildingProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildingProtocol.swift; sourceTree = ""; }; + 42632B0E2CB9C77B0028CC31 /* ScannerDuplicate.ahap */ = {isa = PBXFileReference; lastKnownFileType = text; path = ScannerDuplicate.ahap; sourceTree = ""; }; + 42632B0F2CB9C77B0028CC31 /* ScannerError.ahap */ = {isa = PBXFileReference; lastKnownFileType = text; path = ScannerError.ahap; sourceTree = ""; }; + 42632B102CB9C77B0028CC31 /* ScannerInvalid.ahap */ = {isa = PBXFileReference; lastKnownFileType = text; path = ScannerInvalid.ahap; sourceTree = ""; }; + 42632B112CB9C77B0028CC31 /* ScannerState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScannerState.swift; sourceTree = ""; }; + 42632B122CB9C77B0028CC31 /* ScannerValid.ahap */ = {isa = PBXFileReference; lastKnownFileType = text; path = ScannerValid.ahap; sourceTree = ""; }; + 42632B132CB9C77B0028CC31 /* ScannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScannerView.swift; sourceTree = ""; }; + 42632B142CB9C77B0028CC31 /* ScannerViewfinder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScannerViewfinder.swift; sourceTree = ""; }; + 42632B152CB9C77B0028CC31 /* ScannerViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScannerViewModel.swift; sourceTree = ""; }; + 42632B172CB9C77B0028CC31 /* TicketingAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TicketingAPI.swift; sourceTree = ""; }; + 42632B192CB9C77B0028CC31 /* ContactCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactCell.swift; sourceTree = ""; }; + 42632B1A2CB9C77B0028CC31 /* ContactManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactManager.swift; sourceTree = ""; }; + 42632B1B2CB9C77B0028CC31 /* ContactsTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContactsTableViewController.swift; sourceTree = ""; }; + 42632B1C2CB9C77B0028CC31 /* SupportItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SupportItem.h; sourceTree = ""; }; + 42632B1D2CB9C77B0028CC31 /* SupportItem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SupportItem.m; sourceTree = ""; }; + 42632B1F2CB9C77B0028CC31 /* CourseAlertController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlertController.swift; sourceTree = ""; }; + 42632B202CB9C77B0028CC31 /* CourseAlertCreateController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlertCreateController.swift; sourceTree = ""; }; + 42632B212CB9C77B0028CC31 /* CourseAlertSettingsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlertSettingsController.swift; sourceTree = ""; }; + 42632B232CB9C77B0028CC31 /* CourseAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlert.swift; sourceTree = ""; }; + 42632B242CB9C77B0028CC31 /* CourseAlertSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlertSettings.swift; sourceTree = ""; }; + 42632B252CB9C77B0028CC31 /* CourseAlertSettingsOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlertSettingsOptions.swift; sourceTree = ""; }; + 42632B262CB9C77B0028CC31 /* CourseSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseSection.swift; sourceTree = ""; }; + 42632B282CB9C77B0028CC31 /* CourseAlertNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlertNetworkManager.swift; sourceTree = ""; }; + 42632B2A2CB9C77B0028CC31 /* CourseAlertCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlertCell.swift; sourceTree = ""; }; + 42632B2B2CB9C77B0028CC31 /* CourseAlertCreateCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlertCreateCell.swift; sourceTree = ""; }; + 42632B2C2CB9C77B0028CC31 /* CourseAlertSettingsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CourseAlertSettingsCell.swift; sourceTree = ""; }; + 42632B2D2CB9C77B0028CC31 /* SearchResultsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultsCell.swift; sourceTree = ""; }; + 42632B2E2CB9C77B0028CC31 /* ZeroCourseAlertsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZeroCourseAlertsCell.swift; sourceTree = ""; }; + 42632B312CB9C77B0028CC31 /* CoursesViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoursesViewModel.swift; sourceTree = ""; }; + 42632B332CB9C77B0028CC31 /* CoursesDayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoursesDayView.swift; sourceTree = ""; }; + 42632B342CB9C77B0028CC31 /* CoursesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoursesView.swift; sourceTree = ""; }; + 42632B352CB9C77B0028CC31 /* CoursesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoursesViewController.swift; sourceTree = ""; }; + 42632B382CB9C77B0028CC31 /* DiningLoginController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningLoginController.swift; sourceTree = ""; }; + 42632B3A2CB9C77B0028CC31 /* CardHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardHeaderView.swift; sourceTree = ""; }; + 42632B3B2CB9C77B0028CC31 /* CardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardView.swift; sourceTree = ""; }; + 42632B3D2CB9C77B0028CC31 /* DiningAnalyticsGraph.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningAnalyticsGraph.swift; sourceTree = ""; }; + 42632B3E2CB9C77B0028CC31 /* DiningAnalyticsGraphBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningAnalyticsGraphBox.swift; sourceTree = ""; }; + 42632B3F2CB9C77B0028CC31 /* PredictionsGraphView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PredictionsGraphView.swift; sourceTree = ""; }; + 42632B402CB9C77B0028CC31 /* PredictionsGraphView+AxisLabels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PredictionsGraphView+AxisLabels.swift"; sourceTree = ""; }; + 42632B412CB9C77B0028CC31 /* PredictionsGraphView+SmoothedData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PredictionsGraphView+SmoothedData.swift"; sourceTree = ""; }; + 42632B422CB9C77B0028CC31 /* VariableStepLineGraphView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VariableStepLineGraphView.swift; sourceTree = ""; }; + 42632B432CB9C77B0028CC31 /* VariableStepLineGraphView+GraphEndpointPath.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VariableStepLineGraphView+GraphEndpointPath.swift"; sourceTree = ""; }; + 42632B442CB9C77B0028CC31 /* VariableStepLineGraphView+PredictionSlopePath.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VariableStepLineGraphView+PredictionSlopePath.swift"; sourceTree = ""; }; + 42632B452CB9C77B0028CC31 /* VariableStepLineGraphView+VariableStepGraphPath.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "VariableStepLineGraphView+VariableStepGraphPath.swift"; sourceTree = ""; }; + 42632B472CB9C77B0028CC31 /* AnalyticsCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsCardView.swift; sourceTree = ""; }; + 42632B482CB9C77B0028CC31 /* DiningBalanceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningBalanceView.swift; sourceTree = ""; }; + 42632B4A2CB9C77B0028CC31 /* DiningVenueDetailHoursView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningVenueDetailHoursView.swift; sourceTree = ""; }; + 42632B4B2CB9C77B0028CC31 /* DiningVenueDetailLocationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningVenueDetailLocationView.swift; sourceTree = ""; }; + 42632B4C2CB9C77B0028CC31 /* DiningVenueDetailMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningVenueDetailMenuView.swift; sourceTree = ""; }; + 42632B4D2CB9C77B0028CC31 /* DiningVenueDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningVenueDetailView.swift; sourceTree = ""; }; + 42632B4E2CB9C77B0028CC31 /* MenuDisclosureGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MenuDisclosureGroup.swift; sourceTree = ""; }; + 42632B4F2CB9C77B0028CC31 /* mock_menu.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = mock_menu.json; sourceTree = ""; }; + 42632B512CB9C77B0028CC31 /* DiningVenueView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningVenueView.swift; sourceTree = ""; }; + 42632B522CB9C77B0028CC31 /* sample-dining-venue.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "sample-dining-venue.json"; sourceTree = ""; }; + 42632B542CB9C77B0028CC31 /* DiningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningView.swift; sourceTree = ""; }; + 42632B552CB9C77B0028CC31 /* DiningViewHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningViewHeader.swift; sourceTree = ""; }; + 42632B572CB9C77B0028CC31 /* DiningAnalyticsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningAnalyticsView.swift; sourceTree = ""; }; + 42632B582CB9C77B0028CC31 /* DiningLoginNavigationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningLoginNavigationView.swift; sourceTree = ""; }; + 42632B592CB9C77B0028CC31 /* DiningLoginViewSwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningLoginViewSwiftUI.swift; sourceTree = ""; }; + 42632B5A2CB9C77B0028CC31 /* DiningSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningSettingsView.swift; sourceTree = ""; }; + 42632B5B2CB9C77B0028CC31 /* DiningViewControllerSwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningViewControllerSwiftUI.swift; sourceTree = ""; }; + 42632B5C2CB9C77B0028CC31 /* DiningViewModelSwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningViewModelSwiftUI.swift; sourceTree = ""; }; + 42632B5E2CB9C77B0028CC31 /* DiningCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningCell.swift; sourceTree = ""; }; + 42632B612CB9C77B0028CC31 /* EventsAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventsAPI.swift; sourceTree = ""; }; + 42632B622CB9C77B0028CC31 /* PennEvents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PennEvents.swift; sourceTree = ""; }; + 42632B632CB9C77B0028CC31 /* PennEventsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PennEventsTableViewCell.swift; sourceTree = ""; }; + 42632B642CB9C77B0028CC31 /* PennEventsTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PennEventsTableViewController.swift; sourceTree = ""; }; + 42632B662CB9C77B0028CC31 /* FitnessRoomRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FitnessRoomRow.swift; sourceTree = ""; }; + 42632B672CB9C77B0028CC31 /* FitnessSettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FitnessSettingsView.swift; sourceTree = ""; }; + 42632B682CB9C77B0028CC31 /* FitnessView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FitnessView.swift; sourceTree = ""; }; + 42632B692CB9C77B0028CC31 /* FitnessViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FitnessViewController.swift; sourceTree = ""; }; + 42632B6B2CB9C77B0028CC31 /* AnnouncementHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnnouncementHeaderView.swift; sourceTree = ""; }; + 42632B6C2CB9C77B0028CC31 /* GenericControllers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GenericControllers.swift; sourceTree = ""; }; + 42632B6D2CB9C77B0028CC31 /* MoveableTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoveableTableViewController.swift; sourceTree = ""; }; + 42632B6F2CB9C77B0028CC31 /* ModularTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModularTableView.swift; sourceTree = ""; }; + 42632B702CB9C77B0028CC31 /* ModularTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModularTableViewCell.swift; sourceTree = ""; }; + 42632B712CB9C77B0028CC31 /* ModularTableViewItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModularTableViewItem.swift; sourceTree = ""; }; + 42632B722CB9C77B0028CC31 /* ModularTableViewItemTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModularTableViewItemTypes.swift; sourceTree = ""; }; + 42632B732CB9C77B0028CC31 /* ModularTableViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModularTableViewModel.swift; sourceTree = ""; }; + 42632B752CB9C77B0028CC31 /* FeedAnalyticsEngine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedAnalyticsEngine.swift; sourceTree = ""; }; + 42632B762CB9C77B0028CC31 /* FirebaseAnalyticsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirebaseAnalyticsManager.swift; sourceTree = ""; }; + 42632B772CB9C77B0028CC31 /* ImageNetworkingManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageNetworkingManager.swift; sourceTree = ""; }; + 42632B782CB9C77B0028CC31 /* Networking.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Networking.swift; sourceTree = ""; }; + 42632B792CB9C77B0028CC31 /* UserDBManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDBManager.swift; sourceTree = ""; }; + 42632B7B2CB9C77B0028CC31 /* AlertModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlertModifier.swift; sourceTree = ""; }; + 42632B7C2CB9C77B0028CC31 /* BetaBadge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BetaBadge.swift; sourceTree = ""; }; + 42632B7D2CB9C77B0028CC31 /* CustomPopupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomPopupView.swift; sourceTree = ""; }; + 42632B7E2CB9C77B0028CC31 /* FadingScrollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FadingScrollView.swift; sourceTree = ""; }; + 42632B7F2CB9C77B0028CC31 /* SafariView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SafariView.swift; sourceTree = ""; }; + 42632B802CB9C77B0028CC31 /* UIKit Views.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIKit Views.swift"; sourceTree = ""; }; + 42632B822CB9C77B0028CC31 /* KeychainAccessible+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KeychainAccessible+Extensions.swift"; sourceTree = ""; }; + 42632B832CB9C77B0028CC31 /* Protocols.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Protocols.swift; sourceTree = ""; }; + 42632B842CB9C77B0028CC31 /* UserDefaults + Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults + Helpers.swift"; sourceTree = ""; }; + 42632B862CB9C77B0028CC31 /* GSRGroupConfirmBookingController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRGroupConfirmBookingController.swift; sourceTree = ""; }; + 42632B872CB9C77B0028CC31 /* GSRGroupController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRGroupController.swift; sourceTree = ""; }; + 42632B882CB9C77B0028CC31 /* GSRGroupInviteViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRGroupInviteViewController.swift; sourceTree = ""; }; + 42632B892CB9C77B0028CC31 /* GSRGroupNewIntialController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRGroupNewIntialController.swift; sourceTree = ""; }; + 42632B8A2CB9C77B0028CC31 /* GSRManageGroupController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRManageGroupController.swift; sourceTree = ""; }; + 42632B8C2CB9C77B0028CC31 /* GSRBookable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRBookable.swift; sourceTree = ""; }; + 42632B8D2CB9C77B0028CC31 /* GSRController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRController.swift; sourceTree = ""; }; + 42632B8E2CB9C77B0028CC31 /* GSRDeletable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRDeletable.swift; sourceTree = ""; }; + 42632B8F2CB9C77B0028CC31 /* GSRLocationsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRLocationsController.swift; sourceTree = ""; }; + 42632B902CB9C77B0028CC31 /* GSRReservationsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRReservationsController.swift; sourceTree = ""; }; + 42632B912CB9C77B0028CC31 /* GSRTabController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRTabController.swift; sourceTree = ""; }; + 42632B932CB9C77B0028CC31 /* GSRAPIResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRAPIResponse.swift; sourceTree = ""; }; + 42632B942CB9C77B0028CC31 /* GSRBooking.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRBooking.swift; sourceTree = ""; }; + 42632B952CB9C77B0028CC31 /* GSRDateHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRDateHandler.swift; sourceTree = ""; }; + 42632B962CB9C77B0028CC31 /* GSRGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRGroup.swift; sourceTree = ""; }; + 42632B972CB9C77B0028CC31 /* GSRGroupUser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRGroupUser.swift; sourceTree = ""; }; + 42632B982CB9C77B0028CC31 /* GSRLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRLocation.swift; sourceTree = ""; }; + 42632B992CB9C77B0028CC31 /* GSRLocationModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRLocationModel.swift; sourceTree = ""; }; + 42632B9A2CB9C77B0028CC31 /* GSRReservation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRReservation.swift; sourceTree = ""; }; + 42632B9B2CB9C77B0028CC31 /* GSRRoom.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRRoom.swift; sourceTree = ""; }; + 42632B9C2CB9C77B0028CC31 /* GSRTimeSlot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRTimeSlot.swift; sourceTree = ""; }; + 42632B9E2CB9C77B0028CC31 /* GSRGroupNetworkManager..swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRGroupNetworkManager..swift; sourceTree = ""; }; + 42632B9F2CB9C77B0028CC31 /* GSRNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRNetworkManager.swift; sourceTree = ""; }; + 42632BA12CB9C77B0028CC31 /* GSRManageGroupViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRManageGroupViewModel.swift; sourceTree = ""; }; + 42632BA22CB9C77B0028CC31 /* GSRViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRViewModel.swift; sourceTree = ""; }; + 42632BA42CB9C77B0028CC31 /* CreateGroupCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateGroupCell.swift; sourceTree = ""; }; + 42632BA52CB9C77B0028CC31 /* GroupCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupCell.swift; sourceTree = ""; }; + 42632BA62CB9C77B0028CC31 /* GroupHeaderCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupHeaderCell.swift; sourceTree = ""; }; + 42632BA72CB9C77B0028CC31 /* GroupIndividualSettingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupIndividualSettingView.swift; sourceTree = ""; }; + 42632BA82CB9C77B0028CC31 /* GroupInviteUserCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupInviteUserCell.swift; sourceTree = ""; }; + 42632BA92CB9C77B0028CC31 /* GroupManageButtonCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupManageButtonCell.swift; sourceTree = ""; }; + 42632BAA2CB9C77B0028CC31 /* GroupMemberCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupMemberCell.swift; sourceTree = ""; }; + 42632BAB2CB9C77B0028CC31 /* GroupSettingsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GroupSettingsCell.swift; sourceTree = ""; }; + 42632BAC2CB9C77B0028CC31 /* GSRColorCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRColorCell.swift; sourceTree = ""; }; + 42632BAD2CB9C77B0028CC31 /* GSRGroupIconView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRGroupIconView.swift; sourceTree = ""; }; + 42632BAF2CB9C77B0028CC31 /* EmptyView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyView.swift; sourceTree = ""; }; + 42632BB02CB9C77B0028CC31 /* GSRClosedView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRClosedView.swift; sourceTree = ""; }; + 42632BB12CB9C77B0028CC31 /* GSRLocationCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRLocationCell.swift; sourceTree = ""; }; + 42632BB22CB9C77B0028CC31 /* GSRRangeSlider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRRangeSlider.swift; sourceTree = ""; }; + 42632BB32CB9C77B0028CC31 /* GSRTimeCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRTimeCell.swift; sourceTree = ""; }; + 42632BB42CB9C77B0028CC31 /* NoReservationsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoReservationsCell.swift; sourceTree = ""; }; + 42632BB52CB9C77B0028CC31 /* ReservationCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReservationCell.swift; sourceTree = ""; }; + 42632BB62CB9C77B0028CC31 /* RoomCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomCell.swift; sourceTree = ""; }; + 42632BB82CB9C77B0028CC31 /* RangeSlider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RangeSlider.swift; sourceTree = ""; }; + 42632BB92CB9C77B0028CC31 /* TextLayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextLayer.swift; sourceTree = ""; }; + 42632BBA2CB9C77B0028CC31 /* ThumbLayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThumbLayer.swift; sourceTree = ""; }; + 42632BBB2CB9C77B0028CC31 /* TrackLayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrackLayer.swift; sourceTree = ""; }; + 42632BBE2CB9C77B0028CC31 /* CalendarAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarAPI.swift; sourceTree = ""; }; + 42632BBF2CB9C77B0028CC31 /* CalendarEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarEvent.swift; sourceTree = ""; }; + 42632BC02CB9C77B0028CC31 /* HomeCalendarCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCalendarCell.swift; sourceTree = ""; }; + 42632BC12CB9C77B0028CC31 /* HomeCalendarCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCalendarCellItem.swift; sourceTree = ""; }; + 42632BC22CB9C77B0028CC31 /* UniversityNotificationCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UniversityNotificationCell.swift; sourceTree = ""; }; + 42632BC42CB9C77B0028CC31 /* HomeDiningCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeDiningCell.swift; sourceTree = ""; }; + 42632BC52CB9C77B0028CC31 /* HomeDiningCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeDiningCellItem.swift; sourceTree = ""; }; + 42632BC72CB9C77B0028CC31 /* FeatureAnnouncement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeatureAnnouncement.swift; sourceTree = ""; }; + 42632BC82CB9C77B0028CC31 /* HomeFeatureCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeFeatureCell.swift; sourceTree = ""; }; + 42632BC92CB9C77B0028CC31 /* HomeFeatureCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeFeatureCellItem.swift; sourceTree = ""; }; + 42632BCB2CB9C77B0028CC31 /* GSRGroupInviteCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GSRGroupInviteCell.swift; sourceTree = ""; }; + 42632BCC2CB9C77B0028CC31 /* HomeGroupInvitesCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeGroupInvitesCell.swift; sourceTree = ""; }; + 42632BCD2CB9C77B0028CC31 /* HomeGroupInvitesCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeGroupInvitesCellItem.swift; sourceTree = ""; }; + 42632BCF2CB9C77B0028CC31 /* BookingRowCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookingRowCell.swift; sourceTree = ""; }; + 42632BD12CB9C77B0028CC31 /* HomeGSRBookingButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeGSRBookingButton.swift; sourceTree = ""; }; + 42632BD22CB9C77B0028CC31 /* HomeGSRCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeGSRCellItem.swift; sourceTree = ""; }; + 42632BD32CB9C77B0028CC31 /* HomeStudyRoomCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeStudyRoomCell.swift; sourceTree = ""; }; + 42632BD52CB9C77B0028CC31 /* HomeGSRLocationsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeGSRLocationsCell.swift; sourceTree = ""; }; + 42632BD62CB9C77B0028CC31 /* HomeGSRLocationsCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeGSRLocationsCellItem.swift; sourceTree = ""; }; + 42632BD82CB9C77B0028CC31 /* HomeReservationsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeReservationsCell.swift; sourceTree = ""; }; + 42632BD92CB9C77B0028CC31 /* HomeReservationsCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeReservationsCellItem.swift; sourceTree = ""; }; + 42632BDB2CB9C77B0028CC31 /* HomeLaundryCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeLaundryCell.swift; sourceTree = ""; }; + 42632BDC2CB9C77B0028CC31 /* HomeLaundryCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeLaundryCellItem.swift; sourceTree = ""; }; + 42632BDE2CB9C77B0028CC31 /* HomeNewsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeNewsCell.swift; sourceTree = ""; }; + 42632BDF2CB9C77B0028CC31 /* HomeNewsCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeNewsCellItem.swift; sourceTree = ""; }; + 42632BE02CB9C77B0028CC31 /* NativeNewsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeNewsViewController.swift; sourceTree = ""; }; + 42632BE12CB9C77B0028CC31 /* NewsArticle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsArticle.swift; sourceTree = ""; }; + 42632BE32CB9C77B0028CC31 /* HomePollsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePollsCell.swift; sourceTree = ""; }; + 42632BE42CB9C77B0028CC31 /* HomePollsCellFooter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePollsCellFooter.swift; sourceTree = ""; }; + 42632BE52CB9C77B0028CC31 /* HomePollsCellHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePollsCellHeader.swift; sourceTree = ""; }; + 42632BE62CB9C77B0028CC31 /* HomePollsCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePollsCellItem.swift; sourceTree = ""; }; + 42632BE72CB9C77B0028CC31 /* PollOptionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollOptionCell.swift; sourceTree = ""; }; + 42632BE92CB9C77B0028CC31 /* HomePostCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePostCell.swift; sourceTree = ""; }; + 42632BEA2CB9C77B0028CC31 /* HomePostCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomePostCellItem.swift; sourceTree = ""; }; + 42632BEB2CB9C77B0028CC31 /* Post.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Post.swift; sourceTree = ""; }; + 42632BED2CB9C77B0028CC31 /* HomeFlingCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeFlingCell.swift; sourceTree = ""; }; + 42632BEE2CB9C77B0028CC31 /* HomeFlingCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeFlingCellItem.swift; sourceTree = ""; }; + 42632BF02CB9C77B0028CC31 /* HomeUpdateCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeUpdateCellItem.swift; sourceTree = ""; }; + 42632BF22CB9C77B0028CC31 /* HomeCellConformable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCellConformable.swift; sourceTree = ""; }; + 42632BF32CB9C77B0028CC31 /* HomeCellHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCellHeader.swift; sourceTree = ""; }; + 42632BF42CB9C77B0028CC31 /* HomeCellProtocols.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCellProtocols.swift; sourceTree = ""; }; + 42632BF52CB9C77B0028CC31 /* HomeCellSafeArea.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCellSafeArea.swift; sourceTree = ""; }; + 42632BF72CB9C77B0028CC31 /* BuildingMapWebviewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BuildingMapWebviewController.swift; sourceTree = ""; }; + 42632BF82CB9C77B0028CC31 /* DiningCellSettingsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningCellSettingsController.swift; sourceTree = ""; }; + 42632BF92CB9C77B0028CC31 /* HomeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewController.swift; sourceTree = ""; }; + 42632BFA2CB9C77B0028CC31 /* HomeViewController + Delegates.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "HomeViewController + Delegates.swift"; sourceTree = ""; }; + 42632BFC2CB9C77B0028CC31 /* HomeCellItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCellItem.swift; sourceTree = ""; }; + 42632BFD2CB9C77B0028CC31 /* HomeItemTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeItemTypes.swift; sourceTree = ""; }; + 42632BFE2CB9C77B0028CC31 /* HomeTableViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeTableViewModel.swift; sourceTree = ""; }; + 42632C002CB9C77B0028CC31 /* HomeAPIService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeAPIService.swift; sourceTree = ""; }; + 42632C022CB9C77B0028CC31 /* CalendarCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarCardView.swift; sourceTree = ""; }; + 42632C032CB9C77B0028CC31 /* HomeCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeCardView.swift; sourceTree = ""; }; + 42632C042CB9C77B0028CC31 /* HomeSublettingBanner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeSublettingBanner.swift; sourceTree = ""; }; + 42632C052CB9C77B0028CC31 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = ""; }; + 42632C062CB9C77B0028CC31 /* HomeViewData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewData.swift; sourceTree = ""; }; + 42632C072CB9C77B0028CC31 /* HomeViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeViewModel.swift; sourceTree = ""; }; + 42632C092CB9C77B0028CC31 /* Model.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = ""; }; + 42632C0B2CB9C77B0028CC31 /* AddLaundryCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddLaundryCell.swift; sourceTree = ""; }; + 42632C0C2CB9C77B0028CC31 /* LaundryCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryCell.swift; sourceTree = ""; }; + 42632C0D2CB9C77B0028CC31 /* LaundryCell + Graph.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LaundryCell + Graph.swift"; sourceTree = ""; }; + 42632C0E2CB9C77B0028CC31 /* LaundryGraphView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryGraphView.swift; sourceTree = ""; }; + 42632C0F2CB9C77B0028CC31 /* LaundryMachineCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryMachineCell.swift; sourceTree = ""; }; + 42632C102CB9C77B0028CC31 /* LaundryMachinesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryMachinesView.swift; sourceTree = ""; }; + 42632C122CB9C77B0028CC31 /* LaundryMachineCellTappable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryMachineCellTappable.swift; sourceTree = ""; }; + 42632C132CB9C77B0028CC31 /* LaundryTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryTableViewController.swift; sourceTree = ""; }; + 42632C142CB9C77B0028CC31 /* RoomSelectionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomSelectionViewController.swift; sourceTree = ""; }; + 42632C162CB9C77B0028CC31 /* LaundryNotificationCenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryNotificationCenter.swift; sourceTree = ""; }; + 42632C172CB9C77B0028CC31 /* LaundryRoom.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryRoom.swift; sourceTree = ""; }; + 42632C192CB9C77B0028CC31 /* LaundryAPIService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryAPIService.swift; sourceTree = ""; }; + 42632C1B2CB9C77B0028CC31 /* RoomSelectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomSelectionView.swift; sourceTree = ""; }; + 42632C1E2CB9C77B0028CC31 /* Account.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Account.swift; sourceTree = ""; }; + 42632C1F2CB9C77B0028CC31 /* AuthManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthManager.swift; sourceTree = ""; }; + 42632C202CB9C77B0028CC31 /* CampusExpressLoginController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CampusExpressLoginController.swift; sourceTree = ""; }; + 42632C212CB9C77B0028CC31 /* CampusExpressNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CampusExpressNetworkManager.swift; sourceTree = ""; }; + 42632C222CB9C77B0028CC31 /* Degree.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Degree.swift; sourceTree = ""; }; + 42632C232CB9C77B0028CC31 /* LabsLoginController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabsLoginController.swift; sourceTree = ""; }; + 42632C242CB9C77B0028CC31 /* LabsLoginSwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabsLoginSwiftUI.swift; sourceTree = ""; }; + 42632C252CB9C77B0028CC31 /* LoggedOutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoggedOutView.swift; sourceTree = ""; }; + 42632C262CB9C77B0028CC31 /* PathAtPennNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PathAtPennNetworkManager.swift; sourceTree = ""; }; + 42632C272CB9C77B0028CC31 /* PennCashNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PennCashNetworkManager.swift; sourceTree = ""; }; + 42632C282CB9C77B0028CC31 /* PennInTouchNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PennInTouchNetworkManager.swift; sourceTree = ""; }; + 42632C2A2CB9C77B0028CC31 /* AddressMapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddressMapView.swift; sourceTree = ""; }; + 42632C2B2CB9C77B0028CC31 /* MapViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapViewController.swift; sourceTree = ""; }; + 42632C2C2CB9C77B0028CC31 /* PennCoordinate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PennCoordinate.swift; sourceTree = ""; }; + 42632C2E2CB9C77B0028CC31 /* PacCodeNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PacCodeNetworkManager.swift; sourceTree = ""; }; + 42632C2F2CB9C77B0028CC31 /* PacCodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PacCodeViewController.swift; sourceTree = ""; }; + 42632C312CB9C77B0028CC31 /* ProfilePageNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePageNetworkManager.swift; sourceTree = ""; }; + 42632C332CB9C77B0028CC31 /* InfoTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoTableViewController.swift; sourceTree = ""; }; + 42632C342CB9C77B0028CC31 /* InfoTableViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InfoTableViewModel.swift; sourceTree = ""; }; + 42632C352CB9C77B0028CC31 /* ProfilePageTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePageTableViewCell.swift; sourceTree = ""; }; + 42632C362CB9C77B0028CC31 /* ProfilePageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePageViewController.swift; sourceTree = ""; }; + 42632C372CB9C77B0028CC31 /* ProfilePageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePageViewModel.swift; sourceTree = ""; }; + 42632C382CB9C77B0028CC31 /* ProfilePictureTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfilePictureTableViewCell.swift; sourceTree = ""; }; + 42632C3A2CB9C77B0028CC31 /* AboutViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutViewController.swift; sourceTree = ""; }; + 42632C3B2CB9C77B0028CC31 /* HeaderViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderViewCell.swift; sourceTree = ""; }; + 42632C3C2CB9C77B0028CC31 /* MoreCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreCell.swift; sourceTree = ""; }; + 42632C3D2CB9C77B0028CC31 /* MoreHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreHeaderView.swift; sourceTree = ""; }; + 42632C3E2CB9C77B0028CC31 /* MoreView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreView.swift; sourceTree = ""; }; + 42632C3F2CB9C77B0028CC31 /* MoreViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoreViewController.swift; sourceTree = ""; }; + 42632C402CB9C77B0028CC31 /* ProfileRowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileRowView.swift; sourceTree = ""; }; + 42632C422CB9C77B0028CC31 /* NewsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewsViewController.swift; sourceTree = ""; }; + 42632C442CB9C77B0028CC31 /* NotificationAPIModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationAPIModel.swift; sourceTree = ""; }; + 42632C452CB9C77B0028CC31 /* NotificationsSetting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsSetting.swift; sourceTree = ""; }; + 42632C472CB9C77B0028CC31 /* NotificationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsView.swift; sourceTree = ""; }; + 42632C482CB9C77B0028CC31 /* NotificationsViewControllerSwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsViewControllerSwiftUI.swift; sourceTree = ""; }; + 42632C492CB9C77B0028CC31 /* NotificationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationViewModel.swift; sourceTree = ""; }; + 42632C4B2CB9C77B0028CC31 /* NotificationPreference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationPreference.swift; sourceTree = ""; }; + 42632C4C2CB9C77B0028CC31 /* NotificationRequestable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationRequestable.swift; sourceTree = ""; }; + 42632C4D2CB9C77B0028CC31 /* NotificationsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsTableViewCell.swift; sourceTree = ""; }; + 42632C4E2CB9C77B0028CC31 /* NotificationsTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsTableViewController.swift; sourceTree = ""; }; + 42632C502CB9C77B0028CC31 /* OnboardingController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingController.swift; sourceTree = ""; }; + 42632C512CB9C77B0028CC31 /* Page.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Page.swift; sourceTree = ""; }; + 42632C522CB9C77B0028CC31 /* PageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageCell.swift; sourceTree = ""; }; + 42632C532CB9C77B0028CC31 /* SAConfettiView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SAConfettiView.swift; sourceTree = ""; }; + 42632C542CB9C77B0028CC31 /* SelectionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectionCell.swift; sourceTree = ""; }; + 42632C562CB9C77B0028CC31 /* AIChatModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AIChatModel.swift; sourceTree = ""; }; + 42632C572CB9C77B0028CC31 /* AIChatView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AIChatView.swift; sourceTree = ""; }; + 42632C582CB9C77B0028CC31 /* AIChatViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AIChatViewModel.swift; sourceTree = ""; }; + 42632C592CB9C77B0028CC31 /* ChatMessage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessage.swift; sourceTree = ""; }; + 42632C5A2CB9C77B0028CC31 /* ChatMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageView.swift; sourceTree = ""; }; + 42632C5C2CB9C77B0028CC31 /* PollQuestion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollQuestion.swift; sourceTree = ""; }; + 42632C5E2CB9C77B0028CC31 /* PollsNetworkManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollsNetworkManager.swift; sourceTree = ""; }; + 42632C602CB9C77B0028CC31 /* PollsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollsView.swift; sourceTree = ""; }; + 42632C612CB9C77B0028CC31 /* PollsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollsViewController.swift; sourceTree = ""; }; + 42632C622CB9C77B0028CC31 /* PollView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollView.swift; sourceTree = ""; }; + 42632C642CB9C77B0028CC31 /* PreferencesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesView.swift; sourceTree = ""; }; + 42632C652CB9C77B0028CC31 /* PreferencesViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreferencesViewController.swift; sourceTree = ""; }; + 42632C672CB9C77B0028CC31 /* PermissionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PermissionView.swift; sourceTree = ""; }; + 42632C682CB9C77B0028CC31 /* PrivacyPermissionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacyPermissionDelegate.swift; sourceTree = ""; }; + 42632C692CB9C77B0028CC31 /* PrivacyPreference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacyPreference.swift; sourceTree = ""; }; + 42632C6A2CB9C77B0028CC31 /* PrivacyTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacyTableViewCell.swift; sourceTree = ""; }; + 42632C6B2CB9C77B0028CC31 /* PrivacyTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrivacyTableViewController.swift; sourceTree = ""; }; + 42632C6D2CB9C77B0028CC31 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 42632C6E2CB9C77B0028CC31 /* AppDelegate+NotificationExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppDelegate+NotificationExtension.swift"; sourceTree = ""; }; + 42632C6F2CB9C77B0028CC31 /* ControllerModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ControllerModel.swift; sourceTree = ""; }; + 42632C702CB9C77B0028CC31 /* Environment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Environment.swift; sourceTree = ""; }; + 42632C712CB9C77B0028CC31 /* Features.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Features.swift; sourceTree = ""; }; + 42632C722CB9C77B0028CC31 /* MainTabView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabView.swift; sourceTree = ""; }; + 42632C732CB9C77B0028CC31 /* PennMobile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PennMobile.swift; sourceTree = ""; }; + 42632C742CB9C77B0028CC31 /* RootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootView.swift; sourceTree = ""; }; + 42632C752CB9C77B0028CC31 /* RootViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootViewController.swift; sourceTree = ""; }; + 42632C762CB9C77B0028CC31 /* SplashViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplashViewController.swift; sourceTree = ""; }; + 42632C772CB9C77B0028CC31 /* TabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabBarController.swift; sourceTree = ""; }; + 42632C782CB9C77B0028CC31 /* Toasts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Toasts.swift; sourceTree = ""; }; + 42632C7A2CB9C77B0028CC31 /* MyListingsActivity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyListingsActivity.swift; sourceTree = ""; }; + 42632C7B2CB9C77B0028CC31 /* NewListingForm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewListingForm.swift; sourceTree = ""; }; + 42632C7D2CB9C77B0028CC31 /* MarketplaceFilterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarketplaceFilterView.swift; sourceTree = ""; }; + 42632C7E2CB9C77B0028CC31 /* MarketplaceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarketplaceView.swift; sourceTree = ""; }; + 42632C7F2CB9C77B0028CC31 /* SubletCandidatesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubletCandidatesView.swift; sourceTree = ""; }; + 42632C802CB9C77B0028CC31 /* SubletDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubletDetailView.swift; sourceTree = ""; }; + 42632C812CB9C77B0028CC31 /* SubletDisplayRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubletDisplayRow.swift; sourceTree = ""; }; + 42632C822CB9C77B0028CC31 /* SubletInterestForm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubletInterestForm.swift; sourceTree = ""; }; + 42632C832CB9C77B0028CC31 /* SubletMapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubletMapView.swift; sourceTree = ""; }; + 42632C842CB9C77B0028CC31 /* SublettingAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SublettingAPI.swift; sourceTree = ""; }; + 42632C852CB9C77B0028CC31 /* SublettingViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SublettingViewModel.swift; sourceTree = ""; }; + 42632C872CB9C77B0028CC31 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; + 42632C882CB9C77B0028CC31 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 42632C892CB9C77B0028CC31 /* PennMobile-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "PennMobile-Bridging-Header.h"; sourceTree = ""; }; + 42632C8A2CB9C77B0028CC31 /* PrefixHeader.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PrefixHeader.pch; sourceTree = ""; }; + 42632C8C2CB9C77B0028CC31 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 42632C8D2CB9C77B0028CC31 /* PennMobile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = PennMobile.entitlements; sourceTree = ""; }; + 42632DC72CB9C77B0028CC31 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 42632DC82CB9C77B0028CC31 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; + 42632DC92CB9C77B0028CC31 /* NotificationService+ImageCacheing.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NotificationService+ImageCacheing.swift"; sourceTree = ""; }; + 42632DCB2CB9C77B0028CC31 /* CoursesDayWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoursesDayWidget.swift; sourceTree = ""; }; + 42632DCC2CB9C77B0028CC31 /* CoursesProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoursesProvider.swift; sourceTree = ""; }; + 42632DCE2CB9C77B0028CC31 /* DiningAnalyticsHomeWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningAnalyticsHomeWidget.swift; sourceTree = ""; }; + 42632DCF2CB9C77B0028CC31 /* DiningAnalyticsProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningAnalyticsProvider.swift; sourceTree = ""; }; + 42632DD12CB9C77B0028CC31 /* DiningHoursProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningHoursProvider.swift; sourceTree = ""; }; + 42632DD22CB9C77B0028CC31 /* DiningHoursWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningHoursWidget.swift; sourceTree = ""; }; + 42632DD42CB9C77B0028CC31 /* FitnessProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FitnessProvider.swift; sourceTree = ""; }; + 42632DD52CB9C77B0028CC31 /* FitnessWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FitnessWidget.swift; sourceTree = ""; }; + 42632DD72CB9C77B0028CC31 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 42632DD82CB9C77B0028CC31 /* ConfigurationRepresenting.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConfigurationRepresenting.swift; sourceTree = ""; }; + 42632DD92CB9C77B0028CC31 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 42632DDA2CB9C77B0028CC31 /* LaundryLiveActivity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryLiveActivity.swift; sourceTree = ""; }; + 42632DDB2CB9C77B0028CC31 /* ViewExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewExtensions.swift; sourceTree = ""; }; + 42632DDC2CB9C77B0028CC31 /* WidgetBackgroundTypeExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetBackgroundTypeExtensions.swift; sourceTree = ""; }; + 42632DDD2CB9C77B0028CC31 /* WidgetBundle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetBundle.swift; sourceTree = ""; }; + 42632DDE2CB9C77B0028CC31 /* WidgetExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = WidgetExtension.entitlements; sourceTree = ""; }; + 42632DEF2CB9C77B0028CC31 /* keyword.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = keyword.strings; sourceTree = ""; }; + 42632DF02CB9C77B0028CC31 /* title.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = title.strings; sourceTree = ""; }; + 42632DF22CB9C77B0028CC31 /* AvenirNextLTPro-Bold.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "AvenirNextLTPro-Bold.otf"; sourceTree = ""; }; + 42632DF32CB9C77B0028CC31 /* AvenirNextLTPro-Regular.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "AvenirNextLTPro-Regular.otf"; sourceTree = ""; }; + 42632DF52CB9C77B0028CC31 /* background.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = background.jpg; sourceTree = ""; }; + 42632DF62CB9C77B0028CC31 /* Framefile.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = Framefile.json; sourceTree = ""; }; + 42632DF72CB9C77B0028CC31 /* screenshots.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = screenshots.html; sourceTree = ""; }; + 42632DF92CB9C77B0028CC31 /* Appfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Appfile; sourceTree = ""; }; + 42632DFA2CB9C77B0028CC31 /* Fastfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Fastfile; sourceTree = ""; }; + 42632DFB2CB9C77B0028CC31 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 42632DFD2CB9C77B0028CC31 /* Course.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Course.swift; sourceTree = ""; }; + 42632DFE2CB9C77B0028CC31 /* ScheduleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScheduleView.swift; sourceTree = ""; }; + 42632E002CB9C77B0028CC31 /* DiningBalance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningBalance.swift; sourceTree = ""; }; + 42632E012CB9C77B0028CC31 /* DiningMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningMenu.swift; sourceTree = ""; }; + 42632E022CB9C77B0028CC31 /* DiningPlan.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningPlan.swift; sourceTree = ""; }; + 42632E032CB9C77B0028CC31 /* DiningToken.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningToken.swift; sourceTree = ""; }; + 42632E042CB9C77B0028CC31 /* DiningVenue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningVenue.swift; sourceTree = ""; }; + 42632E052CB9C77B0028CC31 /* DiningVenue+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "DiningVenue+Extensions.swift"; sourceTree = ""; }; + 42632E062CB9C77B0028CC31 /* PastDiningBalances.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PastDiningBalances.swift; sourceTree = ""; }; + 42632E082CB9C77B0028CC31 /* DiningAnalyticsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningAnalyticsViewModel.swift; sourceTree = ""; }; + 42632E092CB9C77B0028CC31 /* DiningAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningAPI.swift; sourceTree = ""; }; + 42632E0A2CB9C77B0028CC31 /* DiningVenueRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiningVenueRow.swift; sourceTree = ""; }; + 42632E0C2CB9C77B0028CC31 /* FitnessAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FitnessAPI.swift; sourceTree = ""; }; + 42632E0D2CB9C77B0028CC31 /* FitnessGraph.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FitnessGraph.swift; sourceTree = ""; }; + 42632E0E2CB9C77B0028CC31 /* FitnessModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FitnessModel.swift; sourceTree = ""; }; + 42632E102CB9C77B0028CC31 /* BadgeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BadgeView.swift; sourceTree = ""; }; + 42632E112CB9C77B0028CC31 /* Colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = ""; }; + 42632E122CB9C77B0028CC31 /* Day.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Day.swift; sourceTree = ""; }; + 42632E132CB9C77B0028CC31 /* Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; + 42632E142CB9C77B0028CC31 /* KeychainAccessible.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainAccessible.swift; sourceTree = ""; }; + 42632E152CB9C77B0028CC31 /* MeterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeterView.swift; sourceTree = ""; }; + 42632E162CB9C77B0028CC31 /* PhoneNumberFormat.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhoneNumberFormat.swift; sourceTree = ""; }; + 42632E172CB9C77B0028CC31 /* SearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchBar.swift; sourceTree = ""; }; + 42632E182CB9C77B0028CC31 /* SecureStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecureStore.swift; sourceTree = ""; }; + 42632E192CB9C77B0028CC31 /* Storage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Storage.swift; sourceTree = ""; }; + 42632E1A2CB9C77B0028CC31 /* WidgetKind.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetKind.swift; sourceTree = ""; }; + 42632E1C2CB9C77B0028CC31 /* LaundryAttributes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryAttributes.swift; sourceTree = ""; }; + 42632E1D2CB9C77B0028CC31 /* LaundryMachine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaundryMachine.swift; sourceTree = ""; }; + 42632E1F2CB9C77B0028CC31 /* Multipart.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Multipart.swift; sourceTree = ""; }; + 42632E202CB9C77B0028CC31 /* NetworkingError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkingError.swift; sourceTree = ""; }; + 42632E222CB9C77B0028CC31 /* SubletDisplayBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubletDisplayBox.swift; sourceTree = ""; }; + 42632E232CB9C77B0028CC31 /* SublettingModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SublettingModels.swift; sourceTree = ""; }; + 42632E252CB9C77B0028CC31 /* PennMobileShared.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PennMobileShared.h; sourceTree = ""; }; 4273BCFE2BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = SOURCE_ROOT; }; 6C1991BC27B5CA4D00BBB402 /* NotificationDevelopment.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NotificationDevelopment.xcconfig; sourceTree = ""; }; 6C1991BD27B5CA8500BBB402 /* NotificationRelease.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = NotificationRelease.xcconfig; sourceTree = ""; }; @@ -97,107 +833,1320 @@ 8932693428FC75A5003D4BF9 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; }; 8932693628FC75A5003D4BF9 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; }; 89EA262D290F9411008F26CF /* Intents.intentdefinition */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; path = Intents.intentdefinition; sourceTree = ""; }; - B6B1E089214442A200CCBBCD /* fastlane */ = {isa = PBXFileReference; lastKnownFileType = folder; path = fastlane; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ -/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - 8982A1062CB993A30012B854 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - publicHeaders = ( - PennMobileShared.h, +/* Begin PBXFrameworksBuildPhase section */ + 2166405D1EBADADA00746B8E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6CE12F9026E82DC600284D9F /* FirebaseAnalytics in Frameworks */, + F2568A762413534F00561295 /* SnapKit in Frameworks */, + 6CA1ACDB271D2D5000EDB967 /* Kingfisher in Frameworks */, + 898DB4912B2E7AA20027CC8F /* PennForms in Frameworks */, + 6C4CC1FA26E6B1720000B4A8 /* SwiftyJSON in Frameworks */, + 6CE12F9226E82DC600284D9F /* FirebaseCrashlytics in Frameworks */, + 895A1ABB2CB98F7100E161AE /* SCLAlertView in Frameworks */, + F213CCE223C3EE3E000AD90F /* SwiftSoup in Frameworks */, + 6E4D821C2AC8C91C009AB78E /* PennMobileShared.framework in Frameworks */, + 895A1AB52CB98E9000E161AE /* XLPagerTabStrip in Frameworks */, + 895A1AB82CB98F5000E161AE /* ScrollableGraphView in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 6E4D82132AC8C91C009AB78E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6ECB4C2D2ACA6F7600F7379A /* Kingfisher in Frameworks */, + 6E5159F92AC8D88A004B3F41 /* SwiftyJSON in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8932693028FC75A5003D4BF9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8932694D28FC79FB003D4BF9 /* SwiftyJSON in Frameworks */, + 8932693728FC75A5003D4BF9 /* SwiftUI.framework in Frameworks */, + 8932693528FC75A5003D4BF9 /* WidgetKit.framework in Frameworks */, + 6E5159F32AC8CA1B004B3F41 /* PennMobileShared.framework in Frameworks */, + 6E167A1C2ACC90A700F3709C /* Kingfisher in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 216640571EBADADA00746B8E = { + isa = PBXGroup; + children = ( + 6C392E3727B5BDF20097640B /* Config */, + 42632E262CB9C77B0028CC31 /* PennMobileShared */, + 42632C8E2CB9C77B0028CC31 /* PennMobile */, + 42632DCA2CB9C77B0028CC31 /* NotificationServiceExtension */, + 42632DDF2CB9C77B0028CC31 /* Widget */, + 89EA262D290F9411008F26CF /* Intents.intentdefinition */, + 4273BCFE2BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy */, + 42632DFC2CB9C77B0028CC31 /* fastlane */, + 216640611EBADADA00746B8E /* Products */, + 6D2C4E8629C0A2D81734AD99 /* Frameworks */, + ); + sourceTree = ""; + }; + 216640611EBADADA00746B8E /* Products */ = { + isa = PBXGroup; + children = ( + 216640601EBADADA00746B8E /* PennMobile.app */, + 8932693328FC75A5003D4BF9 /* WidgetExtension.appex */, + 6E4D82162AC8C91C009AB78E /* PennMobileShared.framework */, + ); + name = Products; + sourceTree = ""; + }; + 42632AFC2CB9C77B0028CC31 /* Auth */ = { + isa = PBXGroup; + children = ( + 42632AF92CB9C77B0028CC31 /* OAuth2NetworkManager.swift */, + 42632AFA2CB9C77B0028CC31 /* PennAuthRequestable.swift */, + 42632AFB2CB9C77B0028CC31 /* PennLoginController.swift */, + ); + path = Auth; + sourceTree = ""; + }; + 42632B012CB9C77B0028CC31 /* Banners */ = { + isa = PBXGroup; + children = ( + 42632AFD2CB9C77B0028CC31 /* BannerDescription.swift */, + 42632AFE2CB9C77B0028CC31 /* BannerView.swift */, + 42632AFF2CB9C77B0028CC31 /* BannerViewModel.swift */, + 42632B002CB9C77B0028CC31 /* UserEngagementPopupView.swift */, + ); + path = Banners; + sourceTree = ""; + }; + 42632B0A2CB9C77B0028CC31 /* Cells */ = { + isa = PBXGroup; + children = ( + 42632B022CB9C77B0028CC31 /* BuildingCell.swift */, + 42632B032CB9C77B0028CC31 /* BuildingFoodMenuCell.swift */, + 42632B042CB9C77B0028CC31 /* BuildingHeaderCell.swift */, + 42632B052CB9C77B0028CC31 /* BuildingHoursCell.swift */, + 42632B062CB9C77B0028CC31 /* BuildingImageCell.swift */, + 42632B072CB9C77B0028CC31 /* BuildingMapCell.swift */, + 42632B082CB9C77B0028CC31 /* BuildingSectionHeader.swift */, + 42632B092CB9C77B0028CC31 /* MenuTableView.swift */, + ); + path = Cells; + sourceTree = ""; + }; + 42632B0C2CB9C77B0028CC31 /* Models */ = { + isa = PBXGroup; + children = ( + 42632B0B2CB9C77B0028CC31 /* BuildingProtocol.swift */, + ); + path = Models; + sourceTree = ""; + }; + 42632B0D2CB9C77B0028CC31 /* Buildings */ = { + isa = PBXGroup; + children = ( + 42632B0A2CB9C77B0028CC31 /* Cells */, + 42632B0C2CB9C77B0028CC31 /* Models */, + ); + path = Buildings; + sourceTree = ""; + }; + 42632B162CB9C77B0028CC31 /* Ticket Scanner */ = { + isa = PBXGroup; + children = ( + 42632B0E2CB9C77B0028CC31 /* ScannerDuplicate.ahap */, + 42632B0F2CB9C77B0028CC31 /* ScannerError.ahap */, + 42632B102CB9C77B0028CC31 /* ScannerInvalid.ahap */, + 42632B112CB9C77B0028CC31 /* ScannerState.swift */, + 42632B122CB9C77B0028CC31 /* ScannerValid.ahap */, + 42632B132CB9C77B0028CC31 /* ScannerView.swift */, + 42632B142CB9C77B0028CC31 /* ScannerViewfinder.swift */, + 42632B152CB9C77B0028CC31 /* ScannerViewModel.swift */, + ); + path = "Ticket Scanner"; + sourceTree = ""; + }; + 42632B182CB9C77B0028CC31 /* Clubs */ = { + isa = PBXGroup; + children = ( + 42632B162CB9C77B0028CC31 /* Ticket Scanner */, + 42632B172CB9C77B0028CC31 /* TicketingAPI.swift */, + ); + path = Clubs; + sourceTree = ""; + }; + 42632B1E2CB9C77B0028CC31 /* Contacts */ = { + isa = PBXGroup; + children = ( + 42632B192CB9C77B0028CC31 /* ContactCell.swift */, + 42632B1A2CB9C77B0028CC31 /* ContactManager.swift */, + 42632B1B2CB9C77B0028CC31 /* ContactsTableViewController.swift */, + 42632B1C2CB9C77B0028CC31 /* SupportItem.h */, + 42632B1D2CB9C77B0028CC31 /* SupportItem.m */, + ); + path = Contacts; + sourceTree = ""; + }; + 42632B222CB9C77B0028CC31 /* Controllers */ = { + isa = PBXGroup; + children = ( + 42632B1F2CB9C77B0028CC31 /* CourseAlertController.swift */, + 42632B202CB9C77B0028CC31 /* CourseAlertCreateController.swift */, + 42632B212CB9C77B0028CC31 /* CourseAlertSettingsController.swift */, + ); + path = Controllers; + sourceTree = ""; + }; + 42632B272CB9C77B0028CC31 /* Model */ = { + isa = PBXGroup; + children = ( + 42632B232CB9C77B0028CC31 /* CourseAlert.swift */, + 42632B242CB9C77B0028CC31 /* CourseAlertSettings.swift */, + 42632B252CB9C77B0028CC31 /* CourseAlertSettingsOptions.swift */, + 42632B262CB9C77B0028CC31 /* CourseSection.swift */, + ); + path = Model; + sourceTree = ""; + }; + 42632B292CB9C77B0028CC31 /* Networking */ = { + isa = PBXGroup; + children = ( + 42632B282CB9C77B0028CC31 /* CourseAlertNetworkManager.swift */, + ); + path = Networking; + sourceTree = ""; + }; + 42632B2F2CB9C77B0028CC31 /* Views */ = { + isa = PBXGroup; + children = ( + 42632B2A2CB9C77B0028CC31 /* CourseAlertCell.swift */, + 42632B2B2CB9C77B0028CC31 /* CourseAlertCreateCell.swift */, + 42632B2C2CB9C77B0028CC31 /* CourseAlertSettingsCell.swift */, + 42632B2D2CB9C77B0028CC31 /* SearchResultsCell.swift */, + 42632B2E2CB9C77B0028CC31 /* ZeroCourseAlertsCell.swift */, + ); + path = Views; + sourceTree = ""; + }; + 42632B302CB9C77B0028CC31 /* Course Alerts */ = { + isa = PBXGroup; + children = ( + 42632B222CB9C77B0028CC31 /* Controllers */, + 42632B272CB9C77B0028CC31 /* Model */, + 42632B292CB9C77B0028CC31 /* Networking */, + 42632B2F2CB9C77B0028CC31 /* Views */, + ); + path = "Course Alerts"; + sourceTree = ""; + }; + 42632B322CB9C77B0028CC31 /* Models */ = { + isa = PBXGroup; + children = ( + 42632B312CB9C77B0028CC31 /* CoursesViewModel.swift */, + ); + path = Models; + sourceTree = ""; + }; + 42632B362CB9C77B0028CC31 /* Views */ = { + isa = PBXGroup; + children = ( + 42632B332CB9C77B0028CC31 /* CoursesDayView.swift */, + 42632B342CB9C77B0028CC31 /* CoursesView.swift */, + 42632B352CB9C77B0028CC31 /* CoursesViewController.swift */, + ); + path = Views; + sourceTree = ""; + }; + 42632B372CB9C77B0028CC31 /* Courses */ = { + isa = PBXGroup; + children = ( + 42632B322CB9C77B0028CC31 /* Models */, + 42632B362CB9C77B0028CC31 /* Views */, + ); + path = Courses; + sourceTree = ""; + }; + 42632B392CB9C77B0028CC31 /* Controllers */ = { + isa = PBXGroup; + children = ( + 42632B382CB9C77B0028CC31 /* DiningLoginController.swift */, + ); + path = Controllers; + sourceTree = ""; + }; + 42632B3C2CB9C77B0028CC31 /* Cards */ = { + isa = PBXGroup; + children = ( + 42632B3A2CB9C77B0028CC31 /* CardHeaderView.swift */, + 42632B3B2CB9C77B0028CC31 /* CardView.swift */, + ); + path = Cards; + sourceTree = ""; + }; + 42632B462CB9C77B0028CC31 /* PredictionsGraph */ = { + isa = PBXGroup; + children = ( + 42632B3D2CB9C77B0028CC31 /* DiningAnalyticsGraph.swift */, + 42632B3E2CB9C77B0028CC31 /* DiningAnalyticsGraphBox.swift */, + 42632B3F2CB9C77B0028CC31 /* PredictionsGraphView.swift */, + 42632B402CB9C77B0028CC31 /* PredictionsGraphView+AxisLabels.swift */, + 42632B412CB9C77B0028CC31 /* PredictionsGraphView+SmoothedData.swift */, + 42632B422CB9C77B0028CC31 /* VariableStepLineGraphView.swift */, + 42632B432CB9C77B0028CC31 /* VariableStepLineGraphView+GraphEndpointPath.swift */, + 42632B442CB9C77B0028CC31 /* VariableStepLineGraphView+PredictionSlopePath.swift */, + 42632B452CB9C77B0028CC31 /* VariableStepLineGraphView+VariableStepGraphPath.swift */, + ); + path = PredictionsGraph; + sourceTree = ""; + }; + 42632B492CB9C77B0028CC31 /* Insights */ = { + isa = PBXGroup; + children = ( + 42632B3C2CB9C77B0028CC31 /* Cards */, + 42632B462CB9C77B0028CC31 /* PredictionsGraph */, + 42632B472CB9C77B0028CC31 /* AnalyticsCardView.swift */, + 42632B482CB9C77B0028CC31 /* DiningBalanceView.swift */, + ); + path = Insights; + sourceTree = ""; + }; + 42632B502CB9C77B0028CC31 /* Detail View */ = { + isa = PBXGroup; + children = ( + 42632B4A2CB9C77B0028CC31 /* DiningVenueDetailHoursView.swift */, + 42632B4B2CB9C77B0028CC31 /* DiningVenueDetailLocationView.swift */, + 42632B4C2CB9C77B0028CC31 /* DiningVenueDetailMenuView.swift */, + 42632B4D2CB9C77B0028CC31 /* DiningVenueDetailView.swift */, + 42632B4E2CB9C77B0028CC31 /* MenuDisclosureGroup.swift */, + 42632B4F2CB9C77B0028CC31 /* mock_menu.json */, + ); + path = "Detail View"; + sourceTree = ""; + }; + 42632B532CB9C77B0028CC31 /* Venue */ = { + isa = PBXGroup; + children = ( + 42632B502CB9C77B0028CC31 /* Detail View */, + 42632B512CB9C77B0028CC31 /* DiningVenueView.swift */, + 42632B522CB9C77B0028CC31 /* sample-dining-venue.json */, + ); + path = Venue; + sourceTree = ""; + }; + 42632B562CB9C77B0028CC31 /* Views */ = { + isa = PBXGroup; + children = ( + 42632B492CB9C77B0028CC31 /* Insights */, + 42632B532CB9C77B0028CC31 /* Venue */, + 42632B542CB9C77B0028CC31 /* DiningView.swift */, + 42632B552CB9C77B0028CC31 /* DiningViewHeader.swift */, + ); + path = Views; + sourceTree = ""; + }; + 42632B5D2CB9C77B0028CC31 /* SwiftUI */ = { + isa = PBXGroup; + children = ( + 42632B562CB9C77B0028CC31 /* Views */, + 42632B572CB9C77B0028CC31 /* DiningAnalyticsView.swift */, + 42632B582CB9C77B0028CC31 /* DiningLoginNavigationView.swift */, + 42632B592CB9C77B0028CC31 /* DiningLoginViewSwiftUI.swift */, + 42632B5A2CB9C77B0028CC31 /* DiningSettingsView.swift */, + 42632B5B2CB9C77B0028CC31 /* DiningViewControllerSwiftUI.swift */, + 42632B5C2CB9C77B0028CC31 /* DiningViewModelSwiftUI.swift */, + ); + path = SwiftUI; + sourceTree = ""; + }; + 42632B5F2CB9C77B0028CC31 /* Views */ = { + isa = PBXGroup; + children = ( + 42632B5E2CB9C77B0028CC31 /* DiningCell.swift */, + ); + path = Views; + sourceTree = ""; + }; + 42632B602CB9C77B0028CC31 /* Dining */ = { + isa = PBXGroup; + children = ( + 42632B392CB9C77B0028CC31 /* Controllers */, + 42632B5D2CB9C77B0028CC31 /* SwiftUI */, + 42632B5F2CB9C77B0028CC31 /* Views */, + ); + path = Dining; + sourceTree = ""; + }; + 42632B652CB9C77B0028CC31 /* Events */ = { + isa = PBXGroup; + children = ( + 42632B612CB9C77B0028CC31 /* EventsAPI.swift */, + 42632B622CB9C77B0028CC31 /* PennEvents.swift */, + 42632B632CB9C77B0028CC31 /* PennEventsTableViewCell.swift */, + 42632B642CB9C77B0028CC31 /* PennEventsTableViewController.swift */, + ); + path = Events; + sourceTree = ""; + }; + 42632B6A2CB9C77B0028CC31 /* Fitness */ = { + isa = PBXGroup; + children = ( + 42632B662CB9C77B0028CC31 /* FitnessRoomRow.swift */, + 42632B672CB9C77B0028CC31 /* FitnessSettingsView.swift */, + 42632B682CB9C77B0028CC31 /* FitnessView.swift */, + 42632B692CB9C77B0028CC31 /* FitnessViewController.swift */, + ); + path = Fitness; + sourceTree = ""; + }; + 42632B6E2CB9C77B0028CC31 /* Generics */ = { + isa = PBXGroup; + children = ( + 42632B6B2CB9C77B0028CC31 /* AnnouncementHeaderView.swift */, + 42632B6C2CB9C77B0028CC31 /* GenericControllers.swift */, + 42632B6D2CB9C77B0028CC31 /* MoveableTableViewController.swift */, + ); + path = Generics; + sourceTree = ""; + }; + 42632B742CB9C77B0028CC31 /* ModularTableView */ = { + isa = PBXGroup; + children = ( + 42632B6F2CB9C77B0028CC31 /* ModularTableView.swift */, + 42632B702CB9C77B0028CC31 /* ModularTableViewCell.swift */, + 42632B712CB9C77B0028CC31 /* ModularTableViewItem.swift */, + 42632B722CB9C77B0028CC31 /* ModularTableViewItemTypes.swift */, + 42632B732CB9C77B0028CC31 /* ModularTableViewModel.swift */, + ); + path = ModularTableView; + sourceTree = ""; + }; + 42632B7A2CB9C77B0028CC31 /* Networking + Analytics */ = { + isa = PBXGroup; + children = ( + 42632B752CB9C77B0028CC31 /* FeedAnalyticsEngine.swift */, + 42632B762CB9C77B0028CC31 /* FirebaseAnalyticsManager.swift */, + 42632B772CB9C77B0028CC31 /* ImageNetworkingManager.swift */, + 42632B782CB9C77B0028CC31 /* Networking.swift */, + 42632B792CB9C77B0028CC31 /* UserDBManager.swift */, + ); + path = "Networking + Analytics"; + sourceTree = ""; + }; + 42632B812CB9C77B0028CC31 /* SwiftUI Views */ = { + isa = PBXGroup; + children = ( + 42632B7B2CB9C77B0028CC31 /* AlertModifier.swift */, + 42632B7C2CB9C77B0028CC31 /* BetaBadge.swift */, + 42632B7D2CB9C77B0028CC31 /* CustomPopupView.swift */, + 42632B7E2CB9C77B0028CC31 /* FadingScrollView.swift */, + 42632B7F2CB9C77B0028CC31 /* SafariView.swift */, + 42632B802CB9C77B0028CC31 /* UIKit Views.swift */, + ); + path = "SwiftUI Views"; + sourceTree = ""; + }; + 42632B852CB9C77B0028CC31 /* General */ = { + isa = PBXGroup; + children = ( + 42632B6E2CB9C77B0028CC31 /* Generics */, + 42632B742CB9C77B0028CC31 /* ModularTableView */, + 42632B7A2CB9C77B0028CC31 /* Networking + Analytics */, + 42632B812CB9C77B0028CC31 /* SwiftUI Views */, + 42632B822CB9C77B0028CC31 /* KeychainAccessible+Extensions.swift */, + 42632B832CB9C77B0028CC31 /* Protocols.swift */, + 42632B842CB9C77B0028CC31 /* UserDefaults + Helpers.swift */, + ); + path = General; + sourceTree = ""; + }; + 42632B8B2CB9C77B0028CC31 /* GSRGroups */ = { + isa = PBXGroup; + children = ( + 42632B862CB9C77B0028CC31 /* GSRGroupConfirmBookingController.swift */, + 42632B872CB9C77B0028CC31 /* GSRGroupController.swift */, + 42632B882CB9C77B0028CC31 /* GSRGroupInviteViewController.swift */, + 42632B892CB9C77B0028CC31 /* GSRGroupNewIntialController.swift */, + 42632B8A2CB9C77B0028CC31 /* GSRManageGroupController.swift */, + ); + path = GSRGroups; + sourceTree = ""; + }; + 42632B922CB9C77B0028CC31 /* Controllers */ = { + isa = PBXGroup; + children = ( + 42632B8B2CB9C77B0028CC31 /* GSRGroups */, + 42632B8C2CB9C77B0028CC31 /* GSRBookable.swift */, + 42632B8D2CB9C77B0028CC31 /* GSRController.swift */, + 42632B8E2CB9C77B0028CC31 /* GSRDeletable.swift */, + 42632B8F2CB9C77B0028CC31 /* GSRLocationsController.swift */, + 42632B902CB9C77B0028CC31 /* GSRReservationsController.swift */, + 42632B912CB9C77B0028CC31 /* GSRTabController.swift */, + ); + path = Controllers; + sourceTree = ""; + }; + 42632B9D2CB9C77B0028CC31 /* Model */ = { + isa = PBXGroup; + children = ( + 42632B932CB9C77B0028CC31 /* GSRAPIResponse.swift */, + 42632B942CB9C77B0028CC31 /* GSRBooking.swift */, + 42632B952CB9C77B0028CC31 /* GSRDateHandler.swift */, + 42632B962CB9C77B0028CC31 /* GSRGroup.swift */, + 42632B972CB9C77B0028CC31 /* GSRGroupUser.swift */, + 42632B982CB9C77B0028CC31 /* GSRLocation.swift */, + 42632B992CB9C77B0028CC31 /* GSRLocationModel.swift */, + 42632B9A2CB9C77B0028CC31 /* GSRReservation.swift */, + 42632B9B2CB9C77B0028CC31 /* GSRRoom.swift */, + 42632B9C2CB9C77B0028CC31 /* GSRTimeSlot.swift */, + ); + path = Model; + sourceTree = ""; + }; + 42632BA02CB9C77B0028CC31 /* Networking */ = { + isa = PBXGroup; + children = ( + 42632B9E2CB9C77B0028CC31 /* GSRGroupNetworkManager..swift */, + 42632B9F2CB9C77B0028CC31 /* GSRNetworkManager.swift */, + ); + path = Networking; + sourceTree = ""; + }; + 42632BA32CB9C77B0028CC31 /* ViewModel */ = { + isa = PBXGroup; + children = ( + 42632BA12CB9C77B0028CC31 /* GSRManageGroupViewModel.swift */, + 42632BA22CB9C77B0028CC31 /* GSRViewModel.swift */, + ); + path = ViewModel; + sourceTree = ""; + }; + 42632BAE2CB9C77B0028CC31 /* GSRGroups */ = { + isa = PBXGroup; + children = ( + 42632BA42CB9C77B0028CC31 /* CreateGroupCell.swift */, + 42632BA52CB9C77B0028CC31 /* GroupCell.swift */, + 42632BA62CB9C77B0028CC31 /* GroupHeaderCell.swift */, + 42632BA72CB9C77B0028CC31 /* GroupIndividualSettingView.swift */, + 42632BA82CB9C77B0028CC31 /* GroupInviteUserCell.swift */, + 42632BA92CB9C77B0028CC31 /* GroupManageButtonCell.swift */, + 42632BAA2CB9C77B0028CC31 /* GroupMemberCell.swift */, + 42632BAB2CB9C77B0028CC31 /* GroupSettingsCell.swift */, + 42632BAC2CB9C77B0028CC31 /* GSRColorCell.swift */, + 42632BAD2CB9C77B0028CC31 /* GSRGroupIconView.swift */, + ); + path = GSRGroups; + sourceTree = ""; + }; + 42632BB72CB9C77B0028CC31 /* Views */ = { + isa = PBXGroup; + children = ( + 42632BAE2CB9C77B0028CC31 /* GSRGroups */, + 42632BAF2CB9C77B0028CC31 /* EmptyView.swift */, + 42632BB02CB9C77B0028CC31 /* GSRClosedView.swift */, + 42632BB12CB9C77B0028CC31 /* GSRLocationCell.swift */, + 42632BB22CB9C77B0028CC31 /* GSRRangeSlider.swift */, + 42632BB32CB9C77B0028CC31 /* GSRTimeCell.swift */, + 42632BB42CB9C77B0028CC31 /* NoReservationsCell.swift */, + 42632BB52CB9C77B0028CC31 /* ReservationCell.swift */, + 42632BB62CB9C77B0028CC31 /* RoomCell.swift */, + ); + path = Views; + sourceTree = ""; + }; + 42632BBC2CB9C77B0028CC31 /* ZMRangeSlider */ = { + isa = PBXGroup; + children = ( + 42632BB82CB9C77B0028CC31 /* RangeSlider.swift */, + 42632BB92CB9C77B0028CC31 /* TextLayer.swift */, + 42632BBA2CB9C77B0028CC31 /* ThumbLayer.swift */, + 42632BBB2CB9C77B0028CC31 /* TrackLayer.swift */, + ); + path = ZMRangeSlider; + sourceTree = ""; + }; + 42632BBD2CB9C77B0028CC31 /* GSR-Booking */ = { + isa = PBXGroup; + children = ( + 42632B922CB9C77B0028CC31 /* Controllers */, + 42632B9D2CB9C77B0028CC31 /* Model */, + 42632BA02CB9C77B0028CC31 /* Networking */, + 42632BA32CB9C77B0028CC31 /* ViewModel */, + 42632BB72CB9C77B0028CC31 /* Views */, + 42632BBC2CB9C77B0028CC31 /* ZMRangeSlider */, + ); + path = "GSR-Booking"; + sourceTree = ""; + }; + 42632BC32CB9C77B0028CC31 /* Calendar */ = { + isa = PBXGroup; + children = ( + 42632BBE2CB9C77B0028CC31 /* CalendarAPI.swift */, + 42632BBF2CB9C77B0028CC31 /* CalendarEvent.swift */, + 42632BC02CB9C77B0028CC31 /* HomeCalendarCell.swift */, + 42632BC12CB9C77B0028CC31 /* HomeCalendarCellItem.swift */, + 42632BC22CB9C77B0028CC31 /* UniversityNotificationCell.swift */, + ); + path = Calendar; + sourceTree = ""; + }; + 42632BC62CB9C77B0028CC31 /* Dining */ = { + isa = PBXGroup; + children = ( + 42632BC42CB9C77B0028CC31 /* HomeDiningCell.swift */, + 42632BC52CB9C77B0028CC31 /* HomeDiningCellItem.swift */, + ); + path = Dining; + sourceTree = ""; + }; + 42632BCA2CB9C77B0028CC31 /* Feature */ = { + isa = PBXGroup; + children = ( + 42632BC72CB9C77B0028CC31 /* FeatureAnnouncement.swift */, + 42632BC82CB9C77B0028CC31 /* HomeFeatureCell.swift */, + 42632BC92CB9C77B0028CC31 /* HomeFeatureCellItem.swift */, + ); + path = Feature; + sourceTree = ""; + }; + 42632BCE2CB9C77B0028CC31 /* Group Invites */ = { + isa = PBXGroup; + children = ( + 42632BCB2CB9C77B0028CC31 /* GSRGroupInviteCell.swift */, + 42632BCC2CB9C77B0028CC31 /* HomeGroupInvitesCell.swift */, + 42632BCD2CB9C77B0028CC31 /* HomeGroupInvitesCellItem.swift */, + ); + path = "Group Invites"; + sourceTree = ""; + }; + 42632BD02CB9C77B0028CC31 /* Views */ = { + isa = PBXGroup; + children = ( + 42632BCF2CB9C77B0028CC31 /* BookingRowCell.swift */, + ); + path = Views; + sourceTree = ""; + }; + 42632BD42CB9C77B0028CC31 /* GSR */ = { + isa = PBXGroup; + children = ( + 42632BD02CB9C77B0028CC31 /* Views */, + 42632BD12CB9C77B0028CC31 /* HomeGSRBookingButton.swift */, + 42632BD22CB9C77B0028CC31 /* HomeGSRCellItem.swift */, + 42632BD32CB9C77B0028CC31 /* HomeStudyRoomCell.swift */, + ); + path = GSR; + sourceTree = ""; + }; + 42632BD72CB9C77B0028CC31 /* GSR Locations */ = { + isa = PBXGroup; + children = ( + 42632BD52CB9C77B0028CC31 /* HomeGSRLocationsCell.swift */, + 42632BD62CB9C77B0028CC31 /* HomeGSRLocationsCellItem.swift */, + ); + path = "GSR Locations"; + sourceTree = ""; + }; + 42632BDA2CB9C77B0028CC31 /* GSR Reservations */ = { + isa = PBXGroup; + children = ( + 42632BD82CB9C77B0028CC31 /* HomeReservationsCell.swift */, + 42632BD92CB9C77B0028CC31 /* HomeReservationsCellItem.swift */, + ); + path = "GSR Reservations"; + sourceTree = ""; + }; + 42632BDD2CB9C77B0028CC31 /* Laundry */ = { + isa = PBXGroup; + children = ( + 42632BDB2CB9C77B0028CC31 /* HomeLaundryCell.swift */, + 42632BDC2CB9C77B0028CC31 /* HomeLaundryCellItem.swift */, + ); + path = Laundry; + sourceTree = ""; + }; + 42632BE22CB9C77B0028CC31 /* News */ = { + isa = PBXGroup; + children = ( + 42632BDE2CB9C77B0028CC31 /* HomeNewsCell.swift */, + 42632BDF2CB9C77B0028CC31 /* HomeNewsCellItem.swift */, + 42632BE02CB9C77B0028CC31 /* NativeNewsViewController.swift */, + 42632BE12CB9C77B0028CC31 /* NewsArticle.swift */, + ); + path = News; + sourceTree = ""; + }; + 42632BE82CB9C77B0028CC31 /* Polls */ = { + isa = PBXGroup; + children = ( + 42632BE32CB9C77B0028CC31 /* HomePollsCell.swift */, + 42632BE42CB9C77B0028CC31 /* HomePollsCellFooter.swift */, + 42632BE52CB9C77B0028CC31 /* HomePollsCellHeader.swift */, + 42632BE62CB9C77B0028CC31 /* HomePollsCellItem.swift */, + 42632BE72CB9C77B0028CC31 /* PollOptionCell.swift */, + ); + path = Polls; + sourceTree = ""; + }; + 42632BEC2CB9C77B0028CC31 /* Post */ = { + isa = PBXGroup; + children = ( + 42632BE92CB9C77B0028CC31 /* HomePostCell.swift */, + 42632BEA2CB9C77B0028CC31 /* HomePostCellItem.swift */, + 42632BEB2CB9C77B0028CC31 /* Post.swift */, + ); + path = Post; + sourceTree = ""; + }; + 42632BEF2CB9C77B0028CC31 /* Spring Fling */ = { + isa = PBXGroup; + children = ( + 42632BED2CB9C77B0028CC31 /* HomeFlingCell.swift */, + 42632BEE2CB9C77B0028CC31 /* HomeFlingCellItem.swift */, + ); + path = "Spring Fling"; + sourceTree = ""; + }; + 42632BF12CB9C77B0028CC31 /* Update */ = { + isa = PBXGroup; + children = ( + 42632BF02CB9C77B0028CC31 /* HomeUpdateCellItem.swift */, + ); + path = Update; + sourceTree = ""; + }; + 42632BF62CB9C77B0028CC31 /* Cells */ = { + isa = PBXGroup; + children = ( + 42632BC32CB9C77B0028CC31 /* Calendar */, + 42632BC62CB9C77B0028CC31 /* Dining */, + 42632BCA2CB9C77B0028CC31 /* Feature */, + 42632BCE2CB9C77B0028CC31 /* Group Invites */, + 42632BD42CB9C77B0028CC31 /* GSR */, + 42632BD72CB9C77B0028CC31 /* GSR Locations */, + 42632BDA2CB9C77B0028CC31 /* GSR Reservations */, + 42632BDD2CB9C77B0028CC31 /* Laundry */, + 42632BE22CB9C77B0028CC31 /* News */, + 42632BE82CB9C77B0028CC31 /* Polls */, + 42632BEC2CB9C77B0028CC31 /* Post */, + 42632BEF2CB9C77B0028CC31 /* Spring Fling */, + 42632BF12CB9C77B0028CC31 /* Update */, + 42632BF22CB9C77B0028CC31 /* HomeCellConformable.swift */, + 42632BF32CB9C77B0028CC31 /* HomeCellHeader.swift */, + 42632BF42CB9C77B0028CC31 /* HomeCellProtocols.swift */, + 42632BF52CB9C77B0028CC31 /* HomeCellSafeArea.swift */, + ); + path = Cells; + sourceTree = ""; + }; + 42632BFB2CB9C77B0028CC31 /* Controllers */ = { + isa = PBXGroup; + children = ( + 42632BF72CB9C77B0028CC31 /* BuildingMapWebviewController.swift */, + 42632BF82CB9C77B0028CC31 /* DiningCellSettingsController.swift */, + 42632BF92CB9C77B0028CC31 /* HomeViewController.swift */, + 42632BFA2CB9C77B0028CC31 /* HomeViewController + Delegates.swift */, + ); + path = Controllers; + sourceTree = ""; + }; + 42632BFF2CB9C77B0028CC31 /* Model */ = { + isa = PBXGroup; + children = ( + 42632BFC2CB9C77B0028CC31 /* HomeCellItem.swift */, + 42632BFD2CB9C77B0028CC31 /* HomeItemTypes.swift */, + 42632BFE2CB9C77B0028CC31 /* HomeTableViewModel.swift */, + ); + path = Model; + sourceTree = ""; + }; + 42632C012CB9C77B0028CC31 /* Networking */ = { + isa = PBXGroup; + children = ( + 42632C002CB9C77B0028CC31 /* HomeAPIService.swift */, + ); + path = Networking; + sourceTree = ""; + }; + 42632C082CB9C77B0028CC31 /* Home */ = { + isa = PBXGroup; + children = ( + 42632BF62CB9C77B0028CC31 /* Cells */, + 42632BFB2CB9C77B0028CC31 /* Controllers */, + 42632BFF2CB9C77B0028CC31 /* Model */, + 42632C012CB9C77B0028CC31 /* Networking */, + 42632C022CB9C77B0028CC31 /* CalendarCardView.swift */, + 42632C032CB9C77B0028CC31 /* HomeCardView.swift */, + 42632C042CB9C77B0028CC31 /* HomeSublettingBanner.swift */, + 42632C052CB9C77B0028CC31 /* HomeView.swift */, + 42632C062CB9C77B0028CC31 /* HomeViewData.swift */, + 42632C072CB9C77B0028CC31 /* HomeViewModel.swift */, + ); + path = Home; + sourceTree = ""; + }; + 42632C0A2CB9C77B0028CC31 /* Housing */ = { + isa = PBXGroup; + children = ( + 42632C092CB9C77B0028CC31 /* Model.swift */, + ); + path = Housing; + sourceTree = ""; + }; + 42632C112CB9C77B0028CC31 /* Cells */ = { + isa = PBXGroup; + children = ( + 42632C0B2CB9C77B0028CC31 /* AddLaundryCell.swift */, + 42632C0C2CB9C77B0028CC31 /* LaundryCell.swift */, + 42632C0D2CB9C77B0028CC31 /* LaundryCell + Graph.swift */, + 42632C0E2CB9C77B0028CC31 /* LaundryGraphView.swift */, + 42632C0F2CB9C77B0028CC31 /* LaundryMachineCell.swift */, + 42632C102CB9C77B0028CC31 /* LaundryMachinesView.swift */, + ); + path = Cells; + sourceTree = ""; + }; + 42632C152CB9C77B0028CC31 /* Controllers */ = { + isa = PBXGroup; + children = ( + 42632C122CB9C77B0028CC31 /* LaundryMachineCellTappable.swift */, + 42632C132CB9C77B0028CC31 /* LaundryTableViewController.swift */, + 42632C142CB9C77B0028CC31 /* RoomSelectionViewController.swift */, + ); + path = Controllers; + sourceTree = ""; + }; + 42632C182CB9C77B0028CC31 /* Model */ = { + isa = PBXGroup; + children = ( + 42632C162CB9C77B0028CC31 /* LaundryNotificationCenter.swift */, + 42632C172CB9C77B0028CC31 /* LaundryRoom.swift */, + ); + path = Model; + sourceTree = ""; + }; + 42632C1A2CB9C77B0028CC31 /* Networking */ = { + isa = PBXGroup; + children = ( + 42632C192CB9C77B0028CC31 /* LaundryAPIService.swift */, ); - target = 6E4D82152AC8C91C009AB78E /* PennMobileShared */; + path = Networking; + sourceTree = ""; }; - 8982A3D52CB993A60012B854 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - Supporting_Files/Info.plist, + 42632C1C2CB9C77B0028CC31 /* Views */ = { + isa = PBXGroup; + children = ( + 42632C1B2CB9C77B0028CC31 /* RoomSelectionView.swift */, ); - target = 2166405F1EBADADA00746B8E /* PennMobile */; + path = Views; + sourceTree = ""; }; - 8982A3FE2CB993AA0012B854 /* PBXFileSystemSynchronizedBuildFileExceptionSet */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - Info.plist, + 42632C1D2CB9C77B0028CC31 /* Laundry */ = { + isa = PBXGroup; + children = ( + 42632C112CB9C77B0028CC31 /* Cells */, + 42632C152CB9C77B0028CC31 /* Controllers */, + 42632C182CB9C77B0028CC31 /* Model */, + 42632C1A2CB9C77B0028CC31 /* Networking */, + 42632C1C2CB9C77B0028CC31 /* Views */, ); - target = 8932693228FC75A5003D4BF9 /* WidgetExtension */; + path = Laundry; + sourceTree = ""; }; -/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ - -/* Begin PBXFileSystemSynchronizedRootGroup section */ - 8982A0E42CB993A30012B854 /* PennMobileShared */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (8982A1062CB993A30012B854 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = PennMobileShared; sourceTree = ""; }; - 8982A29C2CB993A50012B854 /* PennMobile */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (8982A3D52CB993A60012B854 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = PennMobile; sourceTree = ""; }; - 8982A3D92CB993A70012B854 /* NotificationServiceExtension */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = NotificationServiceExtension; sourceTree = ""; }; - 8982A3EE2CB993AA0012B854 /* Widget */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (8982A3FE2CB993AA0012B854 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = Widget; sourceTree = ""; }; -/* End PBXFileSystemSynchronizedRootGroup section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2166405D1EBADADA00746B8E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6CE12F9026E82DC600284D9F /* FirebaseAnalytics in Frameworks */, - F2568A762413534F00561295 /* SnapKit in Frameworks */, - 6CA1ACDB271D2D5000EDB967 /* Kingfisher in Frameworks */, - 898DB4912B2E7AA20027CC8F /* PennForms in Frameworks */, - 6C4CC1FA26E6B1720000B4A8 /* SwiftyJSON in Frameworks */, - 6CE12F9226E82DC600284D9F /* FirebaseCrashlytics in Frameworks */, - 895A1ABB2CB98F7100E161AE /* SCLAlertView in Frameworks */, - F213CCE223C3EE3E000AD90F /* SwiftSoup in Frameworks */, - 6E4D821C2AC8C91C009AB78E /* PennMobileShared.framework in Frameworks */, - 895A1AB52CB98E9000E161AE /* XLPagerTabStrip in Frameworks */, - 895A1AB82CB98F5000E161AE /* ScrollableGraphView in Frameworks */, + 42632C292CB9C77B0028CC31 /* Login */ = { + isa = PBXGroup; + children = ( + 42632C1E2CB9C77B0028CC31 /* Account.swift */, + 42632C1F2CB9C77B0028CC31 /* AuthManager.swift */, + 42632C202CB9C77B0028CC31 /* CampusExpressLoginController.swift */, + 42632C212CB9C77B0028CC31 /* CampusExpressNetworkManager.swift */, + 42632C222CB9C77B0028CC31 /* Degree.swift */, + 42632C232CB9C77B0028CC31 /* LabsLoginController.swift */, + 42632C242CB9C77B0028CC31 /* LabsLoginSwiftUI.swift */, + 42632C252CB9C77B0028CC31 /* LoggedOutView.swift */, + 42632C262CB9C77B0028CC31 /* PathAtPennNetworkManager.swift */, + 42632C272CB9C77B0028CC31 /* PennCashNetworkManager.swift */, + 42632C282CB9C77B0028CC31 /* PennInTouchNetworkManager.swift */, ); - runOnlyForDeploymentPostprocessing = 0; + path = Login; + sourceTree = ""; }; - 6E4D82132AC8C91C009AB78E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6ECB4C2D2ACA6F7600F7379A /* Kingfisher in Frameworks */, - 6E5159F92AC8D88A004B3F41 /* SwiftyJSON in Frameworks */, + 42632C2D2CB9C77B0028CC31 /* Map */ = { + isa = PBXGroup; + children = ( + 42632C2A2CB9C77B0028CC31 /* AddressMapView.swift */, + 42632C2B2CB9C77B0028CC31 /* MapViewController.swift */, + 42632C2C2CB9C77B0028CC31 /* PennCoordinate.swift */, ); - runOnlyForDeploymentPostprocessing = 0; + path = Map; + sourceTree = ""; }; - 8932693028FC75A5003D4BF9 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 8932694D28FC79FB003D4BF9 /* SwiftyJSON in Frameworks */, - 8932693728FC75A5003D4BF9 /* SwiftUI.framework in Frameworks */, - 8932693528FC75A5003D4BF9 /* WidgetKit.framework in Frameworks */, - 6E5159F32AC8CA1B004B3F41 /* PennMobileShared.framework in Frameworks */, - 6E167A1C2ACC90A700F3709C /* Kingfisher in Frameworks */, + 42632C302CB9C77B0028CC31 /* PAC Code */ = { + isa = PBXGroup; + children = ( + 42632C2E2CB9C77B0028CC31 /* PacCodeNetworkManager.swift */, + 42632C2F2CB9C77B0028CC31 /* PacCodeViewController.swift */, ); - runOnlyForDeploymentPostprocessing = 0; + path = "PAC Code"; + sourceTree = ""; }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 216640571EBADADA00746B8E = { + 42632C322CB9C77B0028CC31 /* Networking */ = { isa = PBXGroup; children = ( - 6C392E3727B5BDF20097640B /* Config */, - 8982A0E42CB993A30012B854 /* PennMobileShared */, - 8982A29C2CB993A50012B854 /* PennMobile */, - 8982A3D92CB993A70012B854 /* NotificationServiceExtension */, - 8982A3EE2CB993AA0012B854 /* Widget */, - 89EA262D290F9411008F26CF /* Intents.intentdefinition */, - 4273BCFE2BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy */, - B6B1E089214442A200CCBBCD /* fastlane */, - 216640611EBADADA00746B8E /* Products */, - 6D2C4E8629C0A2D81734AD99 /* Frameworks */, + 42632C312CB9C77B0028CC31 /* ProfilePageNetworkManager.swift */, ); + path = Networking; sourceTree = ""; }; - 216640611EBADADA00746B8E /* Products */ = { + 42632C392CB9C77B0028CC31 /* Profile Page */ = { isa = PBXGroup; children = ( - 216640601EBADADA00746B8E /* PennMobile.app */, - 8932693328FC75A5003D4BF9 /* WidgetExtension.appex */, - 6E4D82162AC8C91C009AB78E /* PennMobileShared.framework */, + 42632C322CB9C77B0028CC31 /* Networking */, + 42632C332CB9C77B0028CC31 /* InfoTableViewController.swift */, + 42632C342CB9C77B0028CC31 /* InfoTableViewModel.swift */, + 42632C352CB9C77B0028CC31 /* ProfilePageTableViewCell.swift */, + 42632C362CB9C77B0028CC31 /* ProfilePageViewController.swift */, + 42632C372CB9C77B0028CC31 /* ProfilePageViewModel.swift */, + 42632C382CB9C77B0028CC31 /* ProfilePictureTableViewCell.swift */, ); - name = Products; + path = "Profile Page"; + sourceTree = ""; + }; + 42632C412CB9C77B0028CC31 /* More Tab */ = { + isa = PBXGroup; + children = ( + 42632C302CB9C77B0028CC31 /* PAC Code */, + 42632C392CB9C77B0028CC31 /* Profile Page */, + 42632C3A2CB9C77B0028CC31 /* AboutViewController.swift */, + 42632C3B2CB9C77B0028CC31 /* HeaderViewCell.swift */, + 42632C3C2CB9C77B0028CC31 /* MoreCell.swift */, + 42632C3D2CB9C77B0028CC31 /* MoreHeaderView.swift */, + 42632C3E2CB9C77B0028CC31 /* MoreView.swift */, + 42632C3F2CB9C77B0028CC31 /* MoreViewController.swift */, + 42632C402CB9C77B0028CC31 /* ProfileRowView.swift */, + ); + path = "More Tab"; + sourceTree = ""; + }; + 42632C432CB9C77B0028CC31 /* News */ = { + isa = PBXGroup; + children = ( + 42632C422CB9C77B0028CC31 /* NewsViewController.swift */, + ); + path = News; + sourceTree = ""; + }; + 42632C462CB9C77B0028CC31 /* Model */ = { + isa = PBXGroup; + children = ( + 42632C442CB9C77B0028CC31 /* NotificationAPIModel.swift */, + 42632C452CB9C77B0028CC31 /* NotificationsSetting.swift */, + ); + path = Model; + sourceTree = ""; + }; + 42632C4A2CB9C77B0028CC31 /* SwiftUI */ = { + isa = PBXGroup; + children = ( + 42632C472CB9C77B0028CC31 /* NotificationsView.swift */, + 42632C482CB9C77B0028CC31 /* NotificationsViewControllerSwiftUI.swift */, + 42632C492CB9C77B0028CC31 /* NotificationViewModel.swift */, + ); + path = SwiftUI; + sourceTree = ""; + }; + 42632C4F2CB9C77B0028CC31 /* Notifications */ = { + isa = PBXGroup; + children = ( + 42632C462CB9C77B0028CC31 /* Model */, + 42632C4A2CB9C77B0028CC31 /* SwiftUI */, + 42632C4B2CB9C77B0028CC31 /* NotificationPreference.swift */, + 42632C4C2CB9C77B0028CC31 /* NotificationRequestable.swift */, + 42632C4D2CB9C77B0028CC31 /* NotificationsTableViewCell.swift */, + 42632C4E2CB9C77B0028CC31 /* NotificationsTableViewController.swift */, + ); + path = Notifications; + sourceTree = ""; + }; + 42632C552CB9C77B0028CC31 /* Onboarding */ = { + isa = PBXGroup; + children = ( + 42632C502CB9C77B0028CC31 /* OnboardingController.swift */, + 42632C512CB9C77B0028CC31 /* Page.swift */, + 42632C522CB9C77B0028CC31 /* PageCell.swift */, + 42632C532CB9C77B0028CC31 /* SAConfettiView.swift */, + 42632C542CB9C77B0028CC31 /* SelectionCell.swift */, + ); + path = Onboarding; + sourceTree = ""; + }; + 42632C5B2CB9C77B0028CC31 /* Penn Mobile AI */ = { + isa = PBXGroup; + children = ( + 42632C562CB9C77B0028CC31 /* AIChatModel.swift */, + 42632C572CB9C77B0028CC31 /* AIChatView.swift */, + 42632C582CB9C77B0028CC31 /* AIChatViewModel.swift */, + 42632C592CB9C77B0028CC31 /* ChatMessage.swift */, + 42632C5A2CB9C77B0028CC31 /* ChatMessageView.swift */, + ); + path = "Penn Mobile AI"; + sourceTree = ""; + }; + 42632C5D2CB9C77B0028CC31 /* Model */ = { + isa = PBXGroup; + children = ( + 42632C5C2CB9C77B0028CC31 /* PollQuestion.swift */, + ); + path = Model; + sourceTree = ""; + }; + 42632C5F2CB9C77B0028CC31 /* Networking */ = { + isa = PBXGroup; + children = ( + 42632C5E2CB9C77B0028CC31 /* PollsNetworkManager.swift */, + ); + path = Networking; + sourceTree = ""; + }; + 42632C632CB9C77B0028CC31 /* Polls */ = { + isa = PBXGroup; + children = ( + 42632C5D2CB9C77B0028CC31 /* Model */, + 42632C5F2CB9C77B0028CC31 /* Networking */, + 42632C602CB9C77B0028CC31 /* PollsView.swift */, + 42632C612CB9C77B0028CC31 /* PollsViewController.swift */, + 42632C622CB9C77B0028CC31 /* PollView.swift */, + ); + path = Polls; + sourceTree = ""; + }; + 42632C662CB9C77B0028CC31 /* Preferences */ = { + isa = PBXGroup; + children = ( + 42632C642CB9C77B0028CC31 /* PreferencesView.swift */, + 42632C652CB9C77B0028CC31 /* PreferencesViewController.swift */, + ); + path = Preferences; + sourceTree = ""; + }; + 42632C6C2CB9C77B0028CC31 /* Privacy */ = { + isa = PBXGroup; + children = ( + 42632C672CB9C77B0028CC31 /* PermissionView.swift */, + 42632C682CB9C77B0028CC31 /* PrivacyPermissionDelegate.swift */, + 42632C692CB9C77B0028CC31 /* PrivacyPreference.swift */, + 42632C6A2CB9C77B0028CC31 /* PrivacyTableViewCell.swift */, + 42632C6B2CB9C77B0028CC31 /* PrivacyTableViewController.swift */, + ); + path = Privacy; + sourceTree = ""; + }; + 42632C792CB9C77B0028CC31 /* Setup + Navigation */ = { + isa = PBXGroup; + children = ( + 42632C6D2CB9C77B0028CC31 /* AppDelegate.swift */, + 42632C6E2CB9C77B0028CC31 /* AppDelegate+NotificationExtension.swift */, + 42632C6F2CB9C77B0028CC31 /* ControllerModel.swift */, + 42632C702CB9C77B0028CC31 /* Environment.swift */, + 42632C712CB9C77B0028CC31 /* Features.swift */, + 42632C722CB9C77B0028CC31 /* MainTabView.swift */, + 42632C732CB9C77B0028CC31 /* PennMobile.swift */, + 42632C742CB9C77B0028CC31 /* RootView.swift */, + 42632C752CB9C77B0028CC31 /* RootViewController.swift */, + 42632C762CB9C77B0028CC31 /* SplashViewController.swift */, + 42632C772CB9C77B0028CC31 /* TabBarController.swift */, + 42632C782CB9C77B0028CC31 /* Toasts.swift */, + ); + path = "Setup + Navigation"; + sourceTree = ""; + }; + 42632C7C2CB9C77B0028CC31 /* Listings */ = { + isa = PBXGroup; + children = ( + 42632C7A2CB9C77B0028CC31 /* MyListingsActivity.swift */, + 42632C7B2CB9C77B0028CC31 /* NewListingForm.swift */, + ); + path = Listings; + sourceTree = ""; + }; + 42632C862CB9C77B0028CC31 /* Subletting */ = { + isa = PBXGroup; + children = ( + 42632C7C2CB9C77B0028CC31 /* Listings */, + 42632C7D2CB9C77B0028CC31 /* MarketplaceFilterView.swift */, + 42632C7E2CB9C77B0028CC31 /* MarketplaceView.swift */, + 42632C7F2CB9C77B0028CC31 /* SubletCandidatesView.swift */, + 42632C802CB9C77B0028CC31 /* SubletDetailView.swift */, + 42632C812CB9C77B0028CC31 /* SubletDisplayRow.swift */, + 42632C822CB9C77B0028CC31 /* SubletInterestForm.swift */, + 42632C832CB9C77B0028CC31 /* SubletMapView.swift */, + 42632C842CB9C77B0028CC31 /* SublettingAPI.swift */, + 42632C852CB9C77B0028CC31 /* SublettingViewModel.swift */, + ); + path = Subletting; + sourceTree = ""; + }; + 42632C8B2CB9C77B0028CC31 /* Supporting_Files */ = { + isa = PBXGroup; + children = ( + 42632C872CB9C77B0028CC31 /* GoogleService-Info.plist */, + 42632C882CB9C77B0028CC31 /* Info.plist */, + 42632C892CB9C77B0028CC31 /* PennMobile-Bridging-Header.h */, + 42632C8A2CB9C77B0028CC31 /* PrefixHeader.pch */, + ); + path = Supporting_Files; + sourceTree = ""; + }; + 42632C8E2CB9C77B0028CC31 /* PennMobile */ = { + isa = PBXGroup; + children = ( + 42632AFC2CB9C77B0028CC31 /* Auth */, + 42632B012CB9C77B0028CC31 /* Banners */, + 42632B0D2CB9C77B0028CC31 /* Buildings */, + 42632B182CB9C77B0028CC31 /* Clubs */, + 42632B1E2CB9C77B0028CC31 /* Contacts */, + 42632B302CB9C77B0028CC31 /* Course Alerts */, + 42632B372CB9C77B0028CC31 /* Courses */, + 42632B602CB9C77B0028CC31 /* Dining */, + 42632B652CB9C77B0028CC31 /* Events */, + 42632B6A2CB9C77B0028CC31 /* Fitness */, + 42632B852CB9C77B0028CC31 /* General */, + 42632BBD2CB9C77B0028CC31 /* GSR-Booking */, + 42632C082CB9C77B0028CC31 /* Home */, + 42632C0A2CB9C77B0028CC31 /* Housing */, + 42632C1D2CB9C77B0028CC31 /* Laundry */, + 42632C292CB9C77B0028CC31 /* Login */, + 42632C2D2CB9C77B0028CC31 /* Map */, + 42632C412CB9C77B0028CC31 /* More Tab */, + 42632C432CB9C77B0028CC31 /* News */, + 42632C4F2CB9C77B0028CC31 /* Notifications */, + 42632C552CB9C77B0028CC31 /* Onboarding */, + 42632C5B2CB9C77B0028CC31 /* Penn Mobile AI */, + 42632C632CB9C77B0028CC31 /* Polls */, + 42632C662CB9C77B0028CC31 /* Preferences */, + 42632C6C2CB9C77B0028CC31 /* Privacy */, + 42632C792CB9C77B0028CC31 /* Setup + Navigation */, + 42632C862CB9C77B0028CC31 /* Subletting */, + 42632C8B2CB9C77B0028CC31 /* Supporting_Files */, + 42632C8C2CB9C77B0028CC31 /* Assets.xcassets */, + 42632C8D2CB9C77B0028CC31 /* PennMobile.entitlements */, + ); + path = PennMobile; + sourceTree = ""; + }; + 42632DCA2CB9C77B0028CC31 /* NotificationServiceExtension */ = { + isa = PBXGroup; + children = ( + 42632DC72CB9C77B0028CC31 /* Info.plist */, + 42632DC82CB9C77B0028CC31 /* NotificationService.swift */, + 42632DC92CB9C77B0028CC31 /* NotificationService+ImageCacheing.swift */, + ); + path = NotificationServiceExtension; + sourceTree = ""; + }; + 42632DCD2CB9C77B0028CC31 /* Courses */ = { + isa = PBXGroup; + children = ( + 42632DCB2CB9C77B0028CC31 /* CoursesDayWidget.swift */, + 42632DCC2CB9C77B0028CC31 /* CoursesProvider.swift */, + ); + path = Courses; + sourceTree = ""; + }; + 42632DD02CB9C77B0028CC31 /* Dining */ = { + isa = PBXGroup; + children = ( + 42632DCE2CB9C77B0028CC31 /* DiningAnalyticsHomeWidget.swift */, + 42632DCF2CB9C77B0028CC31 /* DiningAnalyticsProvider.swift */, + ); + path = Dining; + sourceTree = ""; + }; + 42632DD32CB9C77B0028CC31 /* Dining Hours */ = { + isa = PBXGroup; + children = ( + 42632DD12CB9C77B0028CC31 /* DiningHoursProvider.swift */, + 42632DD22CB9C77B0028CC31 /* DiningHoursWidget.swift */, + ); + path = "Dining Hours"; + sourceTree = ""; + }; + 42632DD62CB9C77B0028CC31 /* Fitness */ = { + isa = PBXGroup; + children = ( + 42632DD42CB9C77B0028CC31 /* FitnessProvider.swift */, + 42632DD52CB9C77B0028CC31 /* FitnessWidget.swift */, + ); + path = Fitness; + sourceTree = ""; + }; + 42632DDF2CB9C77B0028CC31 /* Widget */ = { + isa = PBXGroup; + children = ( + 42632DCD2CB9C77B0028CC31 /* Courses */, + 42632DD02CB9C77B0028CC31 /* Dining */, + 42632DD32CB9C77B0028CC31 /* Dining Hours */, + 42632DD62CB9C77B0028CC31 /* Fitness */, + 42632DD72CB9C77B0028CC31 /* Assets.xcassets */, + 42632DD82CB9C77B0028CC31 /* ConfigurationRepresenting.swift */, + 42632DD92CB9C77B0028CC31 /* Info.plist */, + 42632DDA2CB9C77B0028CC31 /* LaundryLiveActivity.swift */, + 42632DDB2CB9C77B0028CC31 /* ViewExtensions.swift */, + 42632DDC2CB9C77B0028CC31 /* WidgetBackgroundTypeExtensions.swift */, + 42632DDD2CB9C77B0028CC31 /* WidgetBundle.swift */, + 42632DDE2CB9C77B0028CC31 /* WidgetExtension.entitlements */, + ); + path = Widget; + sourceTree = ""; + }; + 42632DF12CB9C77B0028CC31 /* en-US */ = { + isa = PBXGroup; + children = ( + 42632DEF2CB9C77B0028CC31 /* keyword.strings */, + 42632DF02CB9C77B0028CC31 /* title.strings */, + ); + path = "en-US"; + sourceTree = ""; + }; + 42632DF42CB9C77B0028CC31 /* fonts */ = { + isa = PBXGroup; + children = ( + 42632DF22CB9C77B0028CC31 /* AvenirNextLTPro-Bold.otf */, + 42632DF32CB9C77B0028CC31 /* AvenirNextLTPro-Regular.otf */, + ); + path = fonts; + sourceTree = ""; + }; + 42632DF82CB9C77B0028CC31 /* screenshots */ = { + isa = PBXGroup; + children = ( + 42632DF12CB9C77B0028CC31 /* en-US */, + 42632DF42CB9C77B0028CC31 /* fonts */, + 42632DF52CB9C77B0028CC31 /* background.jpg */, + 42632DF62CB9C77B0028CC31 /* Framefile.json */, + 42632DF72CB9C77B0028CC31 /* screenshots.html */, + ); + path = screenshots; + sourceTree = ""; + }; + 42632DFC2CB9C77B0028CC31 /* fastlane */ = { + isa = PBXGroup; + children = ( + 42632DF82CB9C77B0028CC31 /* screenshots */, + 42632DF92CB9C77B0028CC31 /* Appfile */, + 42632DFA2CB9C77B0028CC31 /* Fastfile */, + 42632DFB2CB9C77B0028CC31 /* README.md */, + ); + path = fastlane; + sourceTree = SOURCE_ROOT; + }; + 42632DFF2CB9C77B0028CC31 /* Courses */ = { + isa = PBXGroup; + children = ( + 42632DFD2CB9C77B0028CC31 /* Course.swift */, + 42632DFE2CB9C77B0028CC31 /* ScheduleView.swift */, + ); + path = Courses; + sourceTree = ""; + }; + 42632E072CB9C77B0028CC31 /* Models */ = { + isa = PBXGroup; + children = ( + 42632E002CB9C77B0028CC31 /* DiningBalance.swift */, + 42632E012CB9C77B0028CC31 /* DiningMenu.swift */, + 42632E022CB9C77B0028CC31 /* DiningPlan.swift */, + 42632E032CB9C77B0028CC31 /* DiningToken.swift */, + 42632E042CB9C77B0028CC31 /* DiningVenue.swift */, + 42632E052CB9C77B0028CC31 /* DiningVenue+Extensions.swift */, + 42632E062CB9C77B0028CC31 /* PastDiningBalances.swift */, + ); + path = Models; + sourceTree = ""; + }; + 42632E0B2CB9C77B0028CC31 /* Dining */ = { + isa = PBXGroup; + children = ( + 42632E072CB9C77B0028CC31 /* Models */, + 42632E082CB9C77B0028CC31 /* DiningAnalyticsViewModel.swift */, + 42632E092CB9C77B0028CC31 /* DiningAPI.swift */, + 42632E0A2CB9C77B0028CC31 /* DiningVenueRow.swift */, + ); + path = Dining; + sourceTree = ""; + }; + 42632E0F2CB9C77B0028CC31 /* Fitness */ = { + isa = PBXGroup; + children = ( + 42632E0C2CB9C77B0028CC31 /* FitnessAPI.swift */, + 42632E0D2CB9C77B0028CC31 /* FitnessGraph.swift */, + 42632E0E2CB9C77B0028CC31 /* FitnessModel.swift */, + ); + path = Fitness; + sourceTree = ""; + }; + 42632E1B2CB9C77B0028CC31 /* General */ = { + isa = PBXGroup; + children = ( + 42632E102CB9C77B0028CC31 /* BadgeView.swift */, + 42632E112CB9C77B0028CC31 /* Colors.swift */, + 42632E122CB9C77B0028CC31 /* Day.swift */, + 42632E132CB9C77B0028CC31 /* Extensions.swift */, + 42632E142CB9C77B0028CC31 /* KeychainAccessible.swift */, + 42632E152CB9C77B0028CC31 /* MeterView.swift */, + 42632E162CB9C77B0028CC31 /* PhoneNumberFormat.swift */, + 42632E172CB9C77B0028CC31 /* SearchBar.swift */, + 42632E182CB9C77B0028CC31 /* SecureStore.swift */, + 42632E192CB9C77B0028CC31 /* Storage.swift */, + 42632E1A2CB9C77B0028CC31 /* WidgetKind.swift */, + ); + path = General; + sourceTree = ""; + }; + 42632E1E2CB9C77B0028CC31 /* Laundry */ = { + isa = PBXGroup; + children = ( + 42632E1C2CB9C77B0028CC31 /* LaundryAttributes.swift */, + 42632E1D2CB9C77B0028CC31 /* LaundryMachine.swift */, + ); + path = Laundry; + sourceTree = ""; + }; + 42632E212CB9C77B0028CC31 /* Networking + Analytics */ = { + isa = PBXGroup; + children = ( + 42632E1F2CB9C77B0028CC31 /* Multipart.swift */, + 42632E202CB9C77B0028CC31 /* NetworkingError.swift */, + ); + path = "Networking + Analytics"; + sourceTree = ""; + }; + 42632E242CB9C77B0028CC31 /* Subletting */ = { + isa = PBXGroup; + children = ( + 42632E222CB9C77B0028CC31 /* SubletDisplayBox.swift */, + 42632E232CB9C77B0028CC31 /* SublettingModels.swift */, + ); + path = Subletting; + sourceTree = ""; + }; + 42632E262CB9C77B0028CC31 /* PennMobileShared */ = { + isa = PBXGroup; + children = ( + 42632DFF2CB9C77B0028CC31 /* Courses */, + 42632E0B2CB9C77B0028CC31 /* Dining */, + 42632E0F2CB9C77B0028CC31 /* Fitness */, + 42632E1B2CB9C77B0028CC31 /* General */, + 42632E1E2CB9C77B0028CC31 /* Laundry */, + 42632E212CB9C77B0028CC31 /* Networking + Analytics */, + 42632E242CB9C77B0028CC31 /* Subletting */, + 42632E252CB9C77B0028CC31 /* PennMobileShared.h */, + ); + path = PennMobileShared; sourceTree = ""; }; 6C392E3727B5BDF20097640B /* Config */ = { @@ -227,6 +2176,7 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( + 42632E272CB9C77B0028CC31 /* PennMobileShared.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -250,9 +2200,6 @@ 8932694328FC75A6003D4BF9 /* PBXTargetDependency */, 6E4D821B2AC8C91C009AB78E /* PBXTargetDependency */, ); - fileSystemSynchronizedGroups = ( - 8982A29C2CB993A50012B854 /* PennMobile */, - ); name = PennMobile; packageProductDependencies = ( F213CCE123C3EE3E000AD90F /* SwiftSoup */, @@ -283,9 +2230,6 @@ ); dependencies = ( ); - fileSystemSynchronizedGroups = ( - 8982A0E42CB993A30012B854 /* PennMobileShared */, - ); name = PennMobileShared; packageProductDependencies = ( 6E5159F82AC8D88A004B3F41 /* SwiftyJSON */, @@ -308,9 +2252,6 @@ dependencies = ( 6E5159F62AC8CA1B004B3F41 /* PBXTargetDependency */, ); - fileSystemSynchronizedGroups = ( - 8982A3EE2CB993AA0012B854 /* Widget */, - ); name = WidgetExtension; packageProductDependencies = ( 8932694C28FC79FB003D4BF9 /* SwiftyJSON */, @@ -326,8 +2267,9 @@ 216640581EBADADA00746B8E /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 1410; - LastUpgradeCheck = 1400; + LastUpgradeCheck = 1610; ORGANIZATIONNAME = PennLabs; TargetAttributes = { 2166405F1EBADADA00746B8E = { @@ -352,7 +2294,6 @@ }; }; buildConfigurationList = 2166405B1EBADADA00746B8E /* Build configuration list for PBXProject "PennMobile" */; - compatibilityVersion = "Xcode 3.2"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -371,6 +2312,7 @@ 895A1AB62CB98F5000E161AE /* XCRemoteSwiftPackageReference "ScrollableGraphView" */, 895A1AB92CB98F7100E161AE /* XCRemoteSwiftPackageReference "SCLAlertView-Swift" */, ); + preferredProjectObjectVersion = 77; productRefGroup = 216640611EBADADA00746B8E /* Products */; projectDirPath = ""; projectRoot = ""; @@ -388,6 +2330,14 @@ buildActionMask = 2147483647; files = ( 4273BCFF2BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy in Resources */, + 42632C8F2CB9C77B0028CC31 /* ScannerDuplicate.ahap in Resources */, + 42632C902CB9C77B0028CC31 /* ScannerError.ahap in Resources */, + 42632C912CB9C77B0028CC31 /* ScannerInvalid.ahap in Resources */, + 42632C922CB9C77B0028CC31 /* ScannerValid.ahap in Resources */, + 42632C932CB9C77B0028CC31 /* mock_menu.json in Resources */, + 42632C942CB9C77B0028CC31 /* sample-dining-venue.json in Resources */, + 42632C952CB9C77B0028CC31 /* GoogleService-Info.plist in Resources */, + 42632C972CB9C77B0028CC31 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -403,6 +2353,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 42632DED2CB9C77B0028CC31 /* Assets.xcassets in Resources */, 4273BD012BD2D8D80070C1B8 /* PrivacyInfo.xcprivacy in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -435,6 +2386,309 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 42632C982CB9C77B0028CC31 /* OAuth2NetworkManager.swift in Sources */, + 42632C992CB9C77B0028CC31 /* PennAuthRequestable.swift in Sources */, + 42632C9A2CB9C77B0028CC31 /* PennLoginController.swift in Sources */, + 42632C9B2CB9C77B0028CC31 /* BannerDescription.swift in Sources */, + 42632C9C2CB9C77B0028CC31 /* BannerView.swift in Sources */, + 42632C9D2CB9C77B0028CC31 /* BannerViewModel.swift in Sources */, + 42632C9E2CB9C77B0028CC31 /* UserEngagementPopupView.swift in Sources */, + 42632C9F2CB9C77B0028CC31 /* BuildingCell.swift in Sources */, + 42632CA02CB9C77B0028CC31 /* BuildingFoodMenuCell.swift in Sources */, + 42632CA12CB9C77B0028CC31 /* BuildingHeaderCell.swift in Sources */, + 42632CA22CB9C77B0028CC31 /* BuildingHoursCell.swift in Sources */, + 42632CA32CB9C77B0028CC31 /* BuildingImageCell.swift in Sources */, + 42632CA42CB9C77B0028CC31 /* BuildingMapCell.swift in Sources */, + 42632CA52CB9C77B0028CC31 /* BuildingSectionHeader.swift in Sources */, + 42632CA62CB9C77B0028CC31 /* MenuTableView.swift in Sources */, + 42632CA72CB9C77B0028CC31 /* BuildingProtocol.swift in Sources */, + 42632CA82CB9C77B0028CC31 /* ScannerState.swift in Sources */, + 42632CA92CB9C77B0028CC31 /* ScannerView.swift in Sources */, + 42632CAA2CB9C77B0028CC31 /* ScannerViewfinder.swift in Sources */, + 42632CAB2CB9C77B0028CC31 /* ScannerViewModel.swift in Sources */, + 42632CAC2CB9C77B0028CC31 /* TicketingAPI.swift in Sources */, + 42632CAD2CB9C77B0028CC31 /* ContactCell.swift in Sources */, + 42632CAE2CB9C77B0028CC31 /* ContactManager.swift in Sources */, + 42632CAF2CB9C77B0028CC31 /* ContactsTableViewController.swift in Sources */, + 42632CB02CB9C77B0028CC31 /* SupportItem.m in Sources */, + 42632CB12CB9C77B0028CC31 /* CourseAlertController.swift in Sources */, + 42632CB22CB9C77B0028CC31 /* CourseAlertCreateController.swift in Sources */, + 42632CB32CB9C77B0028CC31 /* CourseAlertSettingsController.swift in Sources */, + 42632CB42CB9C77B0028CC31 /* CourseAlert.swift in Sources */, + 42632CB52CB9C77B0028CC31 /* CourseAlertSettings.swift in Sources */, + 42632CB62CB9C77B0028CC31 /* CourseAlertSettingsOptions.swift in Sources */, + 42632CB72CB9C77B0028CC31 /* CourseSection.swift in Sources */, + 42632CB82CB9C77B0028CC31 /* CourseAlertNetworkManager.swift in Sources */, + 42632CB92CB9C77B0028CC31 /* CourseAlertCell.swift in Sources */, + 42632CBA2CB9C77B0028CC31 /* CourseAlertCreateCell.swift in Sources */, + 42632CBB2CB9C77B0028CC31 /* CourseAlertSettingsCell.swift in Sources */, + 42632CBC2CB9C77B0028CC31 /* SearchResultsCell.swift in Sources */, + 42632CBD2CB9C77B0028CC31 /* ZeroCourseAlertsCell.swift in Sources */, + 42632CBE2CB9C77B0028CC31 /* CoursesViewModel.swift in Sources */, + 42632CBF2CB9C77B0028CC31 /* CoursesDayView.swift in Sources */, + 42632CC02CB9C77B0028CC31 /* CoursesView.swift in Sources */, + 42632CC12CB9C77B0028CC31 /* CoursesViewController.swift in Sources */, + 42632CC22CB9C77B0028CC31 /* DiningLoginController.swift in Sources */, + 42632CC32CB9C77B0028CC31 /* CardHeaderView.swift in Sources */, + 42632CC42CB9C77B0028CC31 /* CardView.swift in Sources */, + 42632CC52CB9C77B0028CC31 /* DiningAnalyticsGraph.swift in Sources */, + 42632CC62CB9C77B0028CC31 /* DiningAnalyticsGraphBox.swift in Sources */, + 42632CC72CB9C77B0028CC31 /* PredictionsGraphView.swift in Sources */, + 42632CC82CB9C77B0028CC31 /* PredictionsGraphView+AxisLabels.swift in Sources */, + 42632CC92CB9C77B0028CC31 /* PredictionsGraphView+SmoothedData.swift in Sources */, + 42632CCA2CB9C77B0028CC31 /* VariableStepLineGraphView.swift in Sources */, + 42632CCB2CB9C77B0028CC31 /* VariableStepLineGraphView+GraphEndpointPath.swift in Sources */, + 42632CCC2CB9C77B0028CC31 /* VariableStepLineGraphView+PredictionSlopePath.swift in Sources */, + 42632CCD2CB9C77B0028CC31 /* VariableStepLineGraphView+VariableStepGraphPath.swift in Sources */, + 42632CCE2CB9C77B0028CC31 /* AnalyticsCardView.swift in Sources */, + 42632CCF2CB9C77B0028CC31 /* DiningBalanceView.swift in Sources */, + 42632CD02CB9C77B0028CC31 /* DiningVenueDetailHoursView.swift in Sources */, + 42632CD12CB9C77B0028CC31 /* DiningVenueDetailLocationView.swift in Sources */, + 42632CD22CB9C77B0028CC31 /* DiningVenueDetailMenuView.swift in Sources */, + 42632CD32CB9C77B0028CC31 /* DiningVenueDetailView.swift in Sources */, + 42632CD42CB9C77B0028CC31 /* MenuDisclosureGroup.swift in Sources */, + 42632CD52CB9C77B0028CC31 /* DiningVenueView.swift in Sources */, + 42632CD62CB9C77B0028CC31 /* DiningView.swift in Sources */, + 42632CD72CB9C77B0028CC31 /* DiningViewHeader.swift in Sources */, + 42632CD82CB9C77B0028CC31 /* DiningAnalyticsView.swift in Sources */, + 42632CD92CB9C77B0028CC31 /* DiningLoginNavigationView.swift in Sources */, + 42632CDA2CB9C77B0028CC31 /* DiningLoginViewSwiftUI.swift in Sources */, + 42632CDB2CB9C77B0028CC31 /* DiningSettingsView.swift in Sources */, + 42632CDC2CB9C77B0028CC31 /* DiningViewControllerSwiftUI.swift in Sources */, + 42632CDD2CB9C77B0028CC31 /* DiningViewModelSwiftUI.swift in Sources */, + 42632CDE2CB9C77B0028CC31 /* DiningCell.swift in Sources */, + 42632CDF2CB9C77B0028CC31 /* EventsAPI.swift in Sources */, + 42632CE02CB9C77B0028CC31 /* PennEvents.swift in Sources */, + 42632CE12CB9C77B0028CC31 /* PennEventsTableViewCell.swift in Sources */, + 42632CE22CB9C77B0028CC31 /* PennEventsTableViewController.swift in Sources */, + 42632CE32CB9C77B0028CC31 /* FitnessRoomRow.swift in Sources */, + 42632CE42CB9C77B0028CC31 /* FitnessSettingsView.swift in Sources */, + 42632CE52CB9C77B0028CC31 /* FitnessView.swift in Sources */, + 42632CE62CB9C77B0028CC31 /* FitnessViewController.swift in Sources */, + 42632CE72CB9C77B0028CC31 /* AnnouncementHeaderView.swift in Sources */, + 42632CE82CB9C77B0028CC31 /* GenericControllers.swift in Sources */, + 42632CE92CB9C77B0028CC31 /* MoveableTableViewController.swift in Sources */, + 42632CEA2CB9C77B0028CC31 /* ModularTableView.swift in Sources */, + 42632CEB2CB9C77B0028CC31 /* ModularTableViewCell.swift in Sources */, + 42632CEC2CB9C77B0028CC31 /* ModularTableViewItem.swift in Sources */, + 42632CED2CB9C77B0028CC31 /* ModularTableViewItemTypes.swift in Sources */, + 42632CEE2CB9C77B0028CC31 /* ModularTableViewModel.swift in Sources */, + 42632CEF2CB9C77B0028CC31 /* FeedAnalyticsEngine.swift in Sources */, + 42632CF02CB9C77B0028CC31 /* FirebaseAnalyticsManager.swift in Sources */, + 42632CF12CB9C77B0028CC31 /* ImageNetworkingManager.swift in Sources */, + 42632CF22CB9C77B0028CC31 /* Networking.swift in Sources */, + 42632CF32CB9C77B0028CC31 /* UserDBManager.swift in Sources */, + 42632CF42CB9C77B0028CC31 /* AlertModifier.swift in Sources */, + 42632CF52CB9C77B0028CC31 /* BetaBadge.swift in Sources */, + 42632CF62CB9C77B0028CC31 /* CustomPopupView.swift in Sources */, + 42632CF72CB9C77B0028CC31 /* FadingScrollView.swift in Sources */, + 42632CF82CB9C77B0028CC31 /* SafariView.swift in Sources */, + 42632CF92CB9C77B0028CC31 /* UIKit Views.swift in Sources */, + 42632CFA2CB9C77B0028CC31 /* KeychainAccessible+Extensions.swift in Sources */, + 42632CFB2CB9C77B0028CC31 /* Protocols.swift in Sources */, + 42632CFC2CB9C77B0028CC31 /* UserDefaults + Helpers.swift in Sources */, + 42632CFD2CB9C77B0028CC31 /* GSRGroupConfirmBookingController.swift in Sources */, + 42632CFE2CB9C77B0028CC31 /* GSRGroupController.swift in Sources */, + 42632CFF2CB9C77B0028CC31 /* GSRGroupInviteViewController.swift in Sources */, + 42632D002CB9C77B0028CC31 /* GSRGroupNewIntialController.swift in Sources */, + 42632D012CB9C77B0028CC31 /* GSRManageGroupController.swift in Sources */, + 42632D022CB9C77B0028CC31 /* GSRBookable.swift in Sources */, + 42632D032CB9C77B0028CC31 /* GSRController.swift in Sources */, + 42632D042CB9C77B0028CC31 /* GSRDeletable.swift in Sources */, + 42632D052CB9C77B0028CC31 /* GSRLocationsController.swift in Sources */, + 42632D062CB9C77B0028CC31 /* GSRReservationsController.swift in Sources */, + 42632D072CB9C77B0028CC31 /* GSRTabController.swift in Sources */, + 42632D082CB9C77B0028CC31 /* GSRAPIResponse.swift in Sources */, + 42632D092CB9C77B0028CC31 /* GSRBooking.swift in Sources */, + 42632D0A2CB9C77B0028CC31 /* GSRDateHandler.swift in Sources */, + 42632D0B2CB9C77B0028CC31 /* GSRGroup.swift in Sources */, + 42632D0C2CB9C77B0028CC31 /* GSRGroupUser.swift in Sources */, + 42632D0D2CB9C77B0028CC31 /* GSRLocation.swift in Sources */, + 42632D0E2CB9C77B0028CC31 /* GSRLocationModel.swift in Sources */, + 42632D0F2CB9C77B0028CC31 /* GSRReservation.swift in Sources */, + 42632D102CB9C77B0028CC31 /* GSRRoom.swift in Sources */, + 42632D112CB9C77B0028CC31 /* GSRTimeSlot.swift in Sources */, + 42632D122CB9C77B0028CC31 /* GSRGroupNetworkManager..swift in Sources */, + 42632D132CB9C77B0028CC31 /* GSRNetworkManager.swift in Sources */, + 42632D142CB9C77B0028CC31 /* GSRManageGroupViewModel.swift in Sources */, + 42632D152CB9C77B0028CC31 /* GSRViewModel.swift in Sources */, + 42632D162CB9C77B0028CC31 /* CreateGroupCell.swift in Sources */, + 42632D172CB9C77B0028CC31 /* GroupCell.swift in Sources */, + 42632D182CB9C77B0028CC31 /* GroupHeaderCell.swift in Sources */, + 42632D192CB9C77B0028CC31 /* GroupIndividualSettingView.swift in Sources */, + 42632D1A2CB9C77B0028CC31 /* GroupInviteUserCell.swift in Sources */, + 42632D1B2CB9C77B0028CC31 /* GroupManageButtonCell.swift in Sources */, + 42632D1C2CB9C77B0028CC31 /* GroupMemberCell.swift in Sources */, + 42632D1D2CB9C77B0028CC31 /* GroupSettingsCell.swift in Sources */, + 42632D1E2CB9C77B0028CC31 /* GSRColorCell.swift in Sources */, + 42632D1F2CB9C77B0028CC31 /* GSRGroupIconView.swift in Sources */, + 42632D202CB9C77B0028CC31 /* EmptyView.swift in Sources */, + 42632D212CB9C77B0028CC31 /* GSRClosedView.swift in Sources */, + 42632D222CB9C77B0028CC31 /* GSRLocationCell.swift in Sources */, + 42632D232CB9C77B0028CC31 /* GSRRangeSlider.swift in Sources */, + 42632D242CB9C77B0028CC31 /* GSRTimeCell.swift in Sources */, + 42632D252CB9C77B0028CC31 /* NoReservationsCell.swift in Sources */, + 42632D262CB9C77B0028CC31 /* ReservationCell.swift in Sources */, + 42632D272CB9C77B0028CC31 /* RoomCell.swift in Sources */, + 42632D282CB9C77B0028CC31 /* RangeSlider.swift in Sources */, + 42632D292CB9C77B0028CC31 /* TextLayer.swift in Sources */, + 42632D2A2CB9C77B0028CC31 /* ThumbLayer.swift in Sources */, + 42632D2B2CB9C77B0028CC31 /* TrackLayer.swift in Sources */, + 42632D2C2CB9C77B0028CC31 /* CalendarAPI.swift in Sources */, + 42632D2D2CB9C77B0028CC31 /* CalendarEvent.swift in Sources */, + 42632D2E2CB9C77B0028CC31 /* HomeCalendarCell.swift in Sources */, + 42632D2F2CB9C77B0028CC31 /* HomeCalendarCellItem.swift in Sources */, + 42632D302CB9C77B0028CC31 /* UniversityNotificationCell.swift in Sources */, + 42632D312CB9C77B0028CC31 /* HomeDiningCell.swift in Sources */, + 42632D322CB9C77B0028CC31 /* HomeDiningCellItem.swift in Sources */, + 42632D332CB9C77B0028CC31 /* FeatureAnnouncement.swift in Sources */, + 42632D342CB9C77B0028CC31 /* HomeFeatureCell.swift in Sources */, + 42632D352CB9C77B0028CC31 /* HomeFeatureCellItem.swift in Sources */, + 42632D362CB9C77B0028CC31 /* GSRGroupInviteCell.swift in Sources */, + 42632D372CB9C77B0028CC31 /* HomeGroupInvitesCell.swift in Sources */, + 42632D382CB9C77B0028CC31 /* HomeGroupInvitesCellItem.swift in Sources */, + 42632D392CB9C77B0028CC31 /* BookingRowCell.swift in Sources */, + 42632D3A2CB9C77B0028CC31 /* HomeGSRBookingButton.swift in Sources */, + 42632D3B2CB9C77B0028CC31 /* HomeGSRCellItem.swift in Sources */, + 42632D3C2CB9C77B0028CC31 /* HomeStudyRoomCell.swift in Sources */, + 42632D3D2CB9C77B0028CC31 /* HomeGSRLocationsCell.swift in Sources */, + 42632D3E2CB9C77B0028CC31 /* HomeGSRLocationsCellItem.swift in Sources */, + 42632D3F2CB9C77B0028CC31 /* HomeReservationsCell.swift in Sources */, + 42632D402CB9C77B0028CC31 /* HomeReservationsCellItem.swift in Sources */, + 42632D412CB9C77B0028CC31 /* HomeLaundryCell.swift in Sources */, + 42632D422CB9C77B0028CC31 /* HomeLaundryCellItem.swift in Sources */, + 42632D432CB9C77B0028CC31 /* HomeNewsCell.swift in Sources */, + 42632D442CB9C77B0028CC31 /* HomeNewsCellItem.swift in Sources */, + 42632D452CB9C77B0028CC31 /* NativeNewsViewController.swift in Sources */, + 42632D462CB9C77B0028CC31 /* NewsArticle.swift in Sources */, + 42632D472CB9C77B0028CC31 /* HomePollsCell.swift in Sources */, + 42632D482CB9C77B0028CC31 /* HomePollsCellFooter.swift in Sources */, + 42632D492CB9C77B0028CC31 /* HomePollsCellHeader.swift in Sources */, + 42632D4A2CB9C77B0028CC31 /* HomePollsCellItem.swift in Sources */, + 42632D4B2CB9C77B0028CC31 /* PollOptionCell.swift in Sources */, + 42632D4C2CB9C77B0028CC31 /* HomePostCell.swift in Sources */, + 42632D4D2CB9C77B0028CC31 /* HomePostCellItem.swift in Sources */, + 42632D4E2CB9C77B0028CC31 /* Post.swift in Sources */, + 42632D4F2CB9C77B0028CC31 /* HomeFlingCell.swift in Sources */, + 42632D502CB9C77B0028CC31 /* HomeFlingCellItem.swift in Sources */, + 42632D512CB9C77B0028CC31 /* HomeUpdateCellItem.swift in Sources */, + 42632D522CB9C77B0028CC31 /* HomeCellConformable.swift in Sources */, + 42632D532CB9C77B0028CC31 /* HomeCellHeader.swift in Sources */, + 42632D542CB9C77B0028CC31 /* HomeCellProtocols.swift in Sources */, + 42632D552CB9C77B0028CC31 /* HomeCellSafeArea.swift in Sources */, + 42632D562CB9C77B0028CC31 /* BuildingMapWebviewController.swift in Sources */, + 42632D572CB9C77B0028CC31 /* DiningCellSettingsController.swift in Sources */, + 42632D582CB9C77B0028CC31 /* HomeViewController.swift in Sources */, + 42632D592CB9C77B0028CC31 /* HomeViewController + Delegates.swift in Sources */, + 42632D5A2CB9C77B0028CC31 /* HomeCellItem.swift in Sources */, + 42632D5B2CB9C77B0028CC31 /* HomeItemTypes.swift in Sources */, + 42632D5C2CB9C77B0028CC31 /* HomeTableViewModel.swift in Sources */, + 42632D5D2CB9C77B0028CC31 /* HomeAPIService.swift in Sources */, + 42632D5E2CB9C77B0028CC31 /* CalendarCardView.swift in Sources */, + 42632D5F2CB9C77B0028CC31 /* HomeCardView.swift in Sources */, + 42632D602CB9C77B0028CC31 /* HomeSublettingBanner.swift in Sources */, + 42632D612CB9C77B0028CC31 /* HomeView.swift in Sources */, + 42632D622CB9C77B0028CC31 /* HomeViewData.swift in Sources */, + 42632D632CB9C77B0028CC31 /* HomeViewModel.swift in Sources */, + 42632D642CB9C77B0028CC31 /* Model.swift in Sources */, + 42632D652CB9C77B0028CC31 /* AddLaundryCell.swift in Sources */, + 42632D662CB9C77B0028CC31 /* LaundryCell.swift in Sources */, + 42632D672CB9C77B0028CC31 /* LaundryCell + Graph.swift in Sources */, + 42632D682CB9C77B0028CC31 /* LaundryGraphView.swift in Sources */, + 42632D692CB9C77B0028CC31 /* LaundryMachineCell.swift in Sources */, + 42632D6A2CB9C77B0028CC31 /* LaundryMachinesView.swift in Sources */, + 42632D6B2CB9C77B0028CC31 /* LaundryMachineCellTappable.swift in Sources */, + 42632D6C2CB9C77B0028CC31 /* LaundryTableViewController.swift in Sources */, + 42632D6D2CB9C77B0028CC31 /* RoomSelectionViewController.swift in Sources */, + 42632D6E2CB9C77B0028CC31 /* LaundryNotificationCenter.swift in Sources */, + 42632D6F2CB9C77B0028CC31 /* LaundryRoom.swift in Sources */, + 42632D702CB9C77B0028CC31 /* LaundryAPIService.swift in Sources */, + 42632D712CB9C77B0028CC31 /* RoomSelectionView.swift in Sources */, + 42632D722CB9C77B0028CC31 /* Account.swift in Sources */, + 42632D732CB9C77B0028CC31 /* AuthManager.swift in Sources */, + 42632D742CB9C77B0028CC31 /* CampusExpressLoginController.swift in Sources */, + 42632D752CB9C77B0028CC31 /* CampusExpressNetworkManager.swift in Sources */, + 42632D762CB9C77B0028CC31 /* Degree.swift in Sources */, + 42632D772CB9C77B0028CC31 /* LabsLoginController.swift in Sources */, + 42632D782CB9C77B0028CC31 /* LabsLoginSwiftUI.swift in Sources */, + 42632D792CB9C77B0028CC31 /* LoggedOutView.swift in Sources */, + 42632D7A2CB9C77B0028CC31 /* PathAtPennNetworkManager.swift in Sources */, + 42632D7B2CB9C77B0028CC31 /* PennCashNetworkManager.swift in Sources */, + 42632D7C2CB9C77B0028CC31 /* PennInTouchNetworkManager.swift in Sources */, + 42632D7D2CB9C77B0028CC31 /* AddressMapView.swift in Sources */, + 42632D7E2CB9C77B0028CC31 /* MapViewController.swift in Sources */, + 42632D7F2CB9C77B0028CC31 /* PennCoordinate.swift in Sources */, + 42632D802CB9C77B0028CC31 /* PacCodeNetworkManager.swift in Sources */, + 42632D812CB9C77B0028CC31 /* PacCodeViewController.swift in Sources */, + 42632D822CB9C77B0028CC31 /* ProfilePageNetworkManager.swift in Sources */, + 42632D832CB9C77B0028CC31 /* InfoTableViewController.swift in Sources */, + 42632D842CB9C77B0028CC31 /* InfoTableViewModel.swift in Sources */, + 42632D852CB9C77B0028CC31 /* ProfilePageTableViewCell.swift in Sources */, + 42632D862CB9C77B0028CC31 /* ProfilePageViewController.swift in Sources */, + 42632D872CB9C77B0028CC31 /* ProfilePageViewModel.swift in Sources */, + 42632D882CB9C77B0028CC31 /* ProfilePictureTableViewCell.swift in Sources */, + 42632D892CB9C77B0028CC31 /* AboutViewController.swift in Sources */, + 42632D8A2CB9C77B0028CC31 /* HeaderViewCell.swift in Sources */, + 42632D8B2CB9C77B0028CC31 /* MoreCell.swift in Sources */, + 42632D8C2CB9C77B0028CC31 /* MoreHeaderView.swift in Sources */, + 42632D8D2CB9C77B0028CC31 /* MoreView.swift in Sources */, + 42632D8E2CB9C77B0028CC31 /* MoreViewController.swift in Sources */, + 42632D8F2CB9C77B0028CC31 /* ProfileRowView.swift in Sources */, + 42632D902CB9C77B0028CC31 /* NewsViewController.swift in Sources */, + 42632D912CB9C77B0028CC31 /* NotificationAPIModel.swift in Sources */, + 42632D922CB9C77B0028CC31 /* NotificationsSetting.swift in Sources */, + 42632D932CB9C77B0028CC31 /* NotificationsView.swift in Sources */, + 42632D942CB9C77B0028CC31 /* NotificationsViewControllerSwiftUI.swift in Sources */, + 42632D952CB9C77B0028CC31 /* NotificationViewModel.swift in Sources */, + 42632D962CB9C77B0028CC31 /* NotificationPreference.swift in Sources */, + 42632D972CB9C77B0028CC31 /* NotificationRequestable.swift in Sources */, + 42632D982CB9C77B0028CC31 /* NotificationsTableViewCell.swift in Sources */, + 42632D992CB9C77B0028CC31 /* NotificationsTableViewController.swift in Sources */, + 42632D9A2CB9C77B0028CC31 /* OnboardingController.swift in Sources */, + 42632D9B2CB9C77B0028CC31 /* Page.swift in Sources */, + 42632D9C2CB9C77B0028CC31 /* PageCell.swift in Sources */, + 42632D9D2CB9C77B0028CC31 /* SAConfettiView.swift in Sources */, + 42632D9E2CB9C77B0028CC31 /* SelectionCell.swift in Sources */, + 42632D9F2CB9C77B0028CC31 /* AIChatModel.swift in Sources */, + 42632DA02CB9C77B0028CC31 /* AIChatView.swift in Sources */, + 42632DA12CB9C77B0028CC31 /* AIChatViewModel.swift in Sources */, + 42632DA22CB9C77B0028CC31 /* ChatMessage.swift in Sources */, + 42632DA32CB9C77B0028CC31 /* ChatMessageView.swift in Sources */, + 42632DA42CB9C77B0028CC31 /* PollQuestion.swift in Sources */, + 42632DA52CB9C77B0028CC31 /* PollsNetworkManager.swift in Sources */, + 42632DA62CB9C77B0028CC31 /* PollsView.swift in Sources */, + 42632DA72CB9C77B0028CC31 /* PollsViewController.swift in Sources */, + 42632DA82CB9C77B0028CC31 /* PollView.swift in Sources */, + 42632DA92CB9C77B0028CC31 /* PreferencesView.swift in Sources */, + 42632DAA2CB9C77B0028CC31 /* PreferencesViewController.swift in Sources */, + 42632DAB2CB9C77B0028CC31 /* PermissionView.swift in Sources */, + 42632DAC2CB9C77B0028CC31 /* PrivacyPermissionDelegate.swift in Sources */, + 42632DAD2CB9C77B0028CC31 /* PrivacyPreference.swift in Sources */, + 42632DAE2CB9C77B0028CC31 /* PrivacyTableViewCell.swift in Sources */, + 42632DAF2CB9C77B0028CC31 /* PrivacyTableViewController.swift in Sources */, + 42632DB02CB9C77B0028CC31 /* AppDelegate.swift in Sources */, + 42632DB12CB9C77B0028CC31 /* AppDelegate+NotificationExtension.swift in Sources */, + 42632DB22CB9C77B0028CC31 /* ControllerModel.swift in Sources */, + 42632DB32CB9C77B0028CC31 /* Environment.swift in Sources */, + 42632DB42CB9C77B0028CC31 /* Features.swift in Sources */, + 42632DB52CB9C77B0028CC31 /* MainTabView.swift in Sources */, + 42632DB62CB9C77B0028CC31 /* PennMobile.swift in Sources */, + 42632DB72CB9C77B0028CC31 /* RootView.swift in Sources */, + 42632DB82CB9C77B0028CC31 /* RootViewController.swift in Sources */, + 42632DB92CB9C77B0028CC31 /* SplashViewController.swift in Sources */, + 42632DBA2CB9C77B0028CC31 /* TabBarController.swift in Sources */, + 42632DBB2CB9C77B0028CC31 /* Toasts.swift in Sources */, + 42632DBC2CB9C77B0028CC31 /* MyListingsActivity.swift in Sources */, + 42632DBD2CB9C77B0028CC31 /* NewListingForm.swift in Sources */, + 42632DBE2CB9C77B0028CC31 /* MarketplaceFilterView.swift in Sources */, + 42632DBF2CB9C77B0028CC31 /* MarketplaceView.swift in Sources */, + 42632DC02CB9C77B0028CC31 /* SubletCandidatesView.swift in Sources */, + 42632DC12CB9C77B0028CC31 /* SubletDetailView.swift in Sources */, + 42632DC22CB9C77B0028CC31 /* SubletDisplayRow.swift in Sources */, + 42632DC32CB9C77B0028CC31 /* SubletInterestForm.swift in Sources */, + 42632DC42CB9C77B0028CC31 /* SubletMapView.swift in Sources */, + 42632DC52CB9C77B0028CC31 /* SublettingAPI.swift in Sources */, + 42632DC62CB9C77B0028CC31 /* SublettingViewModel.swift in Sources */, 89EA262E290F9411008F26CF /* Intents.intentdefinition in Sources */, 6C369A1526E39BC100721CA1 /* (null) in Sources */, 6C23AF9526E57903002F60F0 /* (null) in Sources */, @@ -445,6 +2699,38 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 42632E282CB9C77B0028CC31 /* Course.swift in Sources */, + 42632E292CB9C77B0028CC31 /* ScheduleView.swift in Sources */, + 42632E2A2CB9C77B0028CC31 /* DiningBalance.swift in Sources */, + 42632E2B2CB9C77B0028CC31 /* DiningMenu.swift in Sources */, + 42632E2C2CB9C77B0028CC31 /* DiningPlan.swift in Sources */, + 42632E2D2CB9C77B0028CC31 /* DiningToken.swift in Sources */, + 42632E2E2CB9C77B0028CC31 /* DiningVenue.swift in Sources */, + 42632E2F2CB9C77B0028CC31 /* DiningVenue+Extensions.swift in Sources */, + 42632E302CB9C77B0028CC31 /* PastDiningBalances.swift in Sources */, + 42632E312CB9C77B0028CC31 /* DiningAnalyticsViewModel.swift in Sources */, + 42632E322CB9C77B0028CC31 /* DiningAPI.swift in Sources */, + 42632E332CB9C77B0028CC31 /* DiningVenueRow.swift in Sources */, + 42632E342CB9C77B0028CC31 /* FitnessAPI.swift in Sources */, + 42632E352CB9C77B0028CC31 /* FitnessGraph.swift in Sources */, + 42632E362CB9C77B0028CC31 /* FitnessModel.swift in Sources */, + 42632E372CB9C77B0028CC31 /* BadgeView.swift in Sources */, + 42632E382CB9C77B0028CC31 /* Colors.swift in Sources */, + 42632E392CB9C77B0028CC31 /* Day.swift in Sources */, + 42632E3A2CB9C77B0028CC31 /* Extensions.swift in Sources */, + 42632E3B2CB9C77B0028CC31 /* KeychainAccessible.swift in Sources */, + 42632E3C2CB9C77B0028CC31 /* MeterView.swift in Sources */, + 42632E3D2CB9C77B0028CC31 /* PhoneNumberFormat.swift in Sources */, + 42632E3E2CB9C77B0028CC31 /* SearchBar.swift in Sources */, + 42632E3F2CB9C77B0028CC31 /* SecureStore.swift in Sources */, + 42632E402CB9C77B0028CC31 /* Storage.swift in Sources */, + 42632E412CB9C77B0028CC31 /* WidgetKind.swift in Sources */, + 42632E422CB9C77B0028CC31 /* LaundryAttributes.swift in Sources */, + 42632E432CB9C77B0028CC31 /* LaundryMachine.swift in Sources */, + 42632E442CB9C77B0028CC31 /* Multipart.swift in Sources */, + 42632E452CB9C77B0028CC31 /* NetworkingError.swift in Sources */, + 42632E462CB9C77B0028CC31 /* SubletDisplayBox.swift in Sources */, + 42632E472CB9C77B0028CC31 /* SublettingModels.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -452,6 +2738,19 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 42632DE02CB9C77B0028CC31 /* CoursesDayWidget.swift in Sources */, + 42632DE12CB9C77B0028CC31 /* CoursesProvider.swift in Sources */, + 42632DE22CB9C77B0028CC31 /* DiningAnalyticsHomeWidget.swift in Sources */, + 42632DE32CB9C77B0028CC31 /* DiningAnalyticsProvider.swift in Sources */, + 42632DE42CB9C77B0028CC31 /* DiningHoursProvider.swift in Sources */, + 42632DE52CB9C77B0028CC31 /* DiningHoursWidget.swift in Sources */, + 42632DE62CB9C77B0028CC31 /* FitnessProvider.swift in Sources */, + 42632DE72CB9C77B0028CC31 /* FitnessWidget.swift in Sources */, + 42632DE82CB9C77B0028CC31 /* ConfigurationRepresenting.swift in Sources */, + 42632DE92CB9C77B0028CC31 /* LaundryLiveActivity.swift in Sources */, + 42632DEA2CB9C77B0028CC31 /* ViewExtensions.swift in Sources */, + 42632DEB2CB9C77B0028CC31 /* WidgetBackgroundTypeExtensions.swift in Sources */, + 42632DEC2CB9C77B0028CC31 /* WidgetBundle.swift in Sources */, 89EA262F290F958B008F26CF /* Intents.intentdefinition in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -683,7 +2982,7 @@ CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; @@ -731,7 +3030,7 @@ CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; @@ -797,7 +3096,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0; + MARKETING_VERSION = "$(CF_BUNDLE_SHORT_VERSION_STRING)"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = "$(APP_BUNDLE_ID).Widget"; @@ -839,7 +3138,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.0; + MARKETING_VERSION = "$(CF_BUNDLE_SHORT_VERSION_STRING)"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = "$(APP_BUNDLE_ID).Widget"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/PennMobile.xcodeproj/xcshareddata/xcschemes/AutomatedScreenshotUITests.xcscheme b/PennMobile.xcodeproj/xcshareddata/xcschemes/AutomatedScreenshotUITests.xcscheme deleted file mode 100755 index 53ea26301..000000000 --- a/PennMobile.xcodeproj/xcshareddata/xcschemes/AutomatedScreenshotUITests.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PennMobile.xcodeproj/xcshareddata/xcschemes/Fastlane.xcscheme b/PennMobile.xcodeproj/xcshareddata/xcschemes/Fastlane.xcscheme deleted file mode 100755 index 0ce78e7cd..000000000 --- a/PennMobile.xcodeproj/xcshareddata/xcschemes/Fastlane.xcscheme +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PennMobile.xcodeproj/xcshareddata/xcschemes/FastlaneUIAutomation.xcscheme b/PennMobile.xcodeproj/xcshareddata/xcschemes/FastlaneUIAutomation.xcscheme deleted file mode 100755 index c9a0680b3..000000000 --- a/PennMobile.xcodeproj/xcshareddata/xcschemes/FastlaneUIAutomation.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PennMobile.xcodeproj/xcshareddata/xcschemes/PennMobile.xcscheme b/PennMobile.xcodeproj/xcshareddata/xcschemes/PennMobile.xcscheme index e6605aa69..bfcb2553e 100755 --- a/PennMobile.xcodeproj/xcshareddata/xcschemes/PennMobile.xcscheme +++ b/PennMobile.xcodeproj/xcshareddata/xcschemes/PennMobile.xcscheme @@ -1,6 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -