Full Code of intelygenz/Archit-iOS for AI

master 885f061d36a5 cached
424 files
1.7 MB
476.3k tokens
6 symbols
1 requests
Download .txt
Showing preview only (1,885K chars total). Download the full file or copy to clipboard to get everything.
Repository: intelygenz/Archit-iOS
Branch: master
Commit: 885f061d36a5
Files: 424
Total size: 1.7 MB

Directory structure:
gitextract_v9lm_t2w/

├── .gitignore
├── .swift-version
├── .swiftlint.yml
├── .travis.yml
├── Archit/
│   ├── Resources/
│   │   └── Assets/
│   │       └── Assets.xcassets/
│   │           ├── AppIcon.appiconset/
│   │           │   └── Contents.json
│   │           ├── Contents.json
│   │           └── Logo.imageset/
│   │               └── Contents.json
│   ├── Source/
│   │   ├── Base/
│   │   │   ├── Controllers/
│   │   │   │   └── BaseController.swift
│   │   │   ├── Extensions/
│   │   │   │   └── UITableView+Reusable.swift
│   │   │   ├── Interactors/
│   │   │   │   └── BaseInteractor.swift
│   │   │   └── ViewControllers/
│   │   │       ├── BaseNavigationController.swift
│   │   │       └── BaseViewController.swift
│   │   ├── FilmDetail/
│   │   │   ├── FilmDetailController.swift
│   │   │   └── FilmDetailViewController.swift
│   │   ├── Films/
│   │   │   ├── FilmCell.swift
│   │   │   ├── FilmsController.swift
│   │   │   ├── FilmsInteractor.swift
│   │   │   └── FilmsViewController.swift
│   │   └── Managers/
│   │       ├── AppManager.swift
│   │       └── LogManager.swift
│   ├── Supporting Files/
│   │   ├── AppDelegate.swift
│   │   ├── Archit.entitlements
│   │   └── Info.plist
│   └── UI/
│       └── Base.lproj/
│           ├── LaunchScreen.storyboard
│           └── Main.storyboard
├── Archit.xcodeproj/
│   ├── project.pbxproj
│   ├── project.xcworkspace/
│   │   └── contents.xcworkspacedata
│   └── xcshareddata/
│       └── xcschemes/
│           ├── Archit.xcscheme
│           ├── Core.xcscheme
│           └── Domain.xcscheme
├── Archit.xcworkspace/
│   ├── contents.xcworkspacedata
│   └── xcshareddata/
│       └── xcdebugger/
│           └── Breakpoints_v2.xcbkptlist
├── ArchitTests/
│   ├── ArchitTests.swift
│   └── Info.plist
├── ArchitUITests/
│   ├── ArchitUITests.swift
│   └── Info.plist
├── CODE_OF_CONDUCT.md
├── Core/
│   ├── Core.h
│   ├── Info.plist
│   ├── NetworkService.swift
│   ├── NetworkServiceProtocol.swift
│   ├── NetworkServiceTransformer.swift
│   ├── ServiceProtocol.swift
│   ├── Services/
│   │   ├── Films/
│   │   │   ├── FilmsService.swift
│   │   │   ├── NetworkModels/
│   │   │   │   ├── FilmNetworkModel.swift
│   │   │   │   ├── FilmRatingNetworkModel.swift
│   │   │   │   ├── FilmSearchNetworkModel.swift
│   │   │   │   └── Transformers/
│   │   │   │       └── FilmsNetworkTransformer.swift
│   │   │   └── Tasks/
│   │   │       ├── SearchFilmServiceTask.swift
│   │   │       └── SearchFilmsServiceTask.swift
│   │   └── NetworkServiceConstants.swift
│   ├── Tasks/
│   │   ├── ServiceTask.swift
│   │   ├── ServiceTaskProtocol.swift
│   │   └── TaskProtocol.swift
│   └── Transformer.swift
├── CoreTests/
│   ├── CoreTests.swift
│   └── Info.plist
├── Dangerfile
├── Domain/
│   ├── Domain.h
│   ├── Film.swift
│   └── Info.plist
├── DomainTests/
│   ├── DomainTests.swift
│   └── Info.plist
├── Gemfile
├── ISSUE_TEMPLATE.md
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── Podfile
├── Pods/
│   ├── Cucumberish/
│   │   ├── Cucumberish/
│   │   │   ├── Core/
│   │   │   │   ├── CCIBlockDefinitions.h
│   │   │   │   ├── Managers/
│   │   │   │   │   ├── CCIFeaturesManager.h
│   │   │   │   │   ├── CCIFeaturesManager.m
│   │   │   │   │   ├── CCILoggingManager.h
│   │   │   │   │   ├── CCILoggingManager.m
│   │   │   │   │   ├── CCIStepsManager.h
│   │   │   │   │   └── CCIStepsManager.m
│   │   │   │   └── Models/
│   │   │   │       ├── CCIArgument.h
│   │   │   │       ├── CCIArgument.m
│   │   │   │       ├── CCIAroundHock.h
│   │   │   │       ├── CCIAroundHock.m
│   │   │   │       ├── CCIBackground.h
│   │   │   │       ├── CCIBackground.m
│   │   │   │       ├── CCIExample.h
│   │   │   │       ├── CCIExample.m
│   │   │   │       ├── CCIFeature.h
│   │   │   │       ├── CCIFeature.m
│   │   │   │       ├── CCIHock.h
│   │   │   │       ├── CCIHock.m
│   │   │   │       ├── CCIJSONDumper.h
│   │   │   │       ├── CCIJSONDumper.m
│   │   │   │       ├── CCILocation.h
│   │   │   │       ├── CCILocation.m
│   │   │   │       ├── CCIScenarioDefinition.h
│   │   │   │       ├── CCIScenarioDefinition.m
│   │   │   │       ├── CCIStep.h
│   │   │   │       ├── CCIStep.m
│   │   │   │       ├── CCIStepDefinition.h
│   │   │   │       └── CCIStepDefinition.m
│   │   │   ├── Cucumberish.h
│   │   │   ├── Cucumberish.m
│   │   │   ├── Dependencies/
│   │   │   │   └── Gherkin/
│   │   │   │       ├── GHAstBuilder.h
│   │   │   │       ├── GHAstBuilder.m
│   │   │   │       ├── GHAstNode.h
│   │   │   │       ├── GHAstNode.m
│   │   │   │       ├── GHBackground.h
│   │   │   │       ├── GHBackground.m
│   │   │   │       ├── GHComment.h
│   │   │   │       ├── GHComment.m
│   │   │   │       ├── GHDataTable.h
│   │   │   │       ├── GHDataTable.m
│   │   │   │       ├── GHDocString.h
│   │   │   │       ├── GHDocString.m
│   │   │   │       ├── GHExamples.h
│   │   │   │       ├── GHExamples.m
│   │   │   │       ├── GHFeature.h
│   │   │   │       ├── GHFeature.m
│   │   │   │       ├── GHGherkinDialect.h
│   │   │   │       ├── GHGherkinDialect.m
│   │   │   │       ├── GHGherkinDialectProvider.h
│   │   │   │       ├── GHGherkinDialectProvider.m
│   │   │   │       ├── GHGherkinDialectProviderProtocol.h
│   │   │   │       ├── GHGherkinLanguageConstants.h
│   │   │   │       ├── GHGherkinLanguageConstants.m
│   │   │   │       ├── GHGherkinLanguageSetting.h
│   │   │   │       ├── GHGherkinLanguageSetting.m
│   │   │   │       ├── GHGherkinLine.h
│   │   │   │       ├── GHGherkinLine.m
│   │   │   │       ├── GHGherkinLineProtocol.h
│   │   │   │       ├── GHGherkinLineSpan.h
│   │   │   │       ├── GHGherkinLineSpan.m
│   │   │   │       ├── GHHasDescriptionProtocol.h
│   │   │   │       ├── GHHasLocationProtocol.h
│   │   │   │       ├── GHHasRowsProtocol.h
│   │   │   │       ├── GHHasStepsProtocol.h
│   │   │   │       ├── GHHasTagsProtocol.h
│   │   │   │       ├── GHLocation.h
│   │   │   │       ├── GHLocation.m
│   │   │   │       ├── GHNode.h
│   │   │   │       ├── GHNode.m
│   │   │   │       ├── GHParser+Extensions.h
│   │   │   │       ├── GHParser+Extensions.m
│   │   │   │       ├── GHParser.h
│   │   │   │       ├── GHParser.m
│   │   │   │       ├── GHParserException.h
│   │   │   │       ├── GHParserException.m
│   │   │   │       ├── GHScenario.h
│   │   │   │       ├── GHScenario.m
│   │   │   │       ├── GHScenarioDefinition.h
│   │   │   │       ├── GHScenarioDefinition.m
│   │   │   │       ├── GHScenarioDefinition_Private.h
│   │   │   │       ├── GHScenarioOutline.h
│   │   │   │       ├── GHScenarioOutline.m
│   │   │   │       ├── GHStep.h
│   │   │   │       ├── GHStep.m
│   │   │   │       ├── GHStepArgument.h
│   │   │   │       ├── GHStepArgument.m
│   │   │   │       ├── GHTableCell.h
│   │   │   │       ├── GHTableCell.m
│   │   │   │       ├── GHTableRow.h
│   │   │   │       ├── GHTableRow.m
│   │   │   │       ├── GHTag.h
│   │   │   │       ├── GHTag.m
│   │   │   │       ├── GHToken.h
│   │   │   │       ├── GHToken.m
│   │   │   │       ├── GHTokenMatcher.h
│   │   │   │       ├── GHTokenMatcher.m
│   │   │   │       ├── GHTokenScanner.h
│   │   │   │       ├── GHTokenScanner.m
│   │   │   │       ├── NSString+Trim.h
│   │   │   │       ├── NSString+Trim.m
│   │   │   │       └── gherkin-languages.json
│   │   │   └── Utils/
│   │   │       ├── NSArray+Hashes.h
│   │   │       ├── NSArray+Hashes.m
│   │   │       ├── NSObject+Dictionary.h
│   │   │       ├── NSObject+Dictionary.m
│   │   │       ├── NSString+Formatter.h
│   │   │       └── NSString+Formatter.m
│   │   ├── LICENSE
│   │   └── README.md
│   ├── Kingfisher/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   └── Sources/
│   │       ├── AnimatedImageView.swift
│   │       ├── Box.swift
│   │       ├── CacheSerializer.swift
│   │       ├── Filter.swift
│   │       ├── FormatIndicatedCacheSerializer.swift
│   │       ├── Image.swift
│   │       ├── ImageCache.swift
│   │       ├── ImageDownloader.swift
│   │       ├── ImagePrefetcher.swift
│   │       ├── ImageProcessor.swift
│   │       ├── ImageTransition.swift
│   │       ├── ImageView+Kingfisher.swift
│   │       ├── Indicator.swift
│   │       ├── Kingfisher.h
│   │       ├── Kingfisher.swift
│   │       ├── KingfisherManager.swift
│   │       ├── KingfisherOptionsInfo.swift
│   │       ├── Placeholder.swift
│   │       ├── RequestModifier.swift
│   │       ├── Resource.swift
│   │       ├── String+MD5.swift
│   │       ├── ThreadHelper.swift
│   │       └── UIButton+Kingfisher.swift
│   ├── Kommander/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   └── Source/
│   │       ├── CurrentDispatcher.swift
│   │       ├── Dispatcher.swift
│   │       ├── Kommand.swift
│   │       ├── KommandCancelledError.swift
│   │       ├── Kommander.h
│   │       ├── Kommander.swift
│   │       └── MainDispatcher.swift
│   ├── NetClient/
│   │   ├── Core/
│   │   │   ├── Net.h
│   │   │   ├── Net.swift
│   │   │   ├── NetAuthorization.swift
│   │   │   ├── NetCacheControl.swift
│   │   │   ├── NetContentType.swift
│   │   │   ├── NetError.swift
│   │   │   ├── NetMultipartFormData.swift
│   │   │   ├── NetReachability.swift
│   │   │   ├── NetRequest+Build.swift
│   │   │   ├── NetRequest+URLRequest.swift
│   │   │   ├── NetRequest.swift
│   │   │   ├── NetResponse+Build.swift
│   │   │   ├── NetResponse+Cached​URLResponse.swift
│   │   │   ├── NetResponse+HTTPURLResponse.swift
│   │   │   ├── NetResponse+URLResponse.swift
│   │   │   ├── NetResponse.swift
│   │   │   ├── NetServerTrust.swift
│   │   │   ├── NetTask.swift
│   │   │   ├── NetTaskMetrics+URLSessionTaskMetrics.swift
│   │   │   ├── NetTaskMetrics.swift
│   │   │   └── NetTransformer.swift
│   │   ├── LICENSE
│   │   ├── README.md
│   │   └── URLSession/
│   │       ├── NetTask+URLSessionTask.swift
│   │       ├── NetURLSession+Data.swift
│   │       ├── NetURLSession+Download.swift
│   │       ├── NetURLSession+Stream.swift
│   │       ├── NetURLSession+Upload.swift
│   │       ├── NetURLSession.swift
│   │       ├── NetURLSessionDelegate.swift
│   │       └── NetURLSessionTaskObserver.swift
│   ├── ObjcExceptionBridging/
│   │   ├── LICENSE.txt
│   │   ├── README.md
│   │   └── Sources/
│   │       └── ObjcExceptionBridging/
│   │           ├── ObjectiveCMarker.m
│   │           └── include/
│   │               └── ObjcExceptionBridging.h
│   ├── Pods.xcodeproj/
│   │   └── project.pbxproj
│   ├── Reusable/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   └── Sources/
│   │       ├── Storyboard/
│   │       │   ├── StoryboardBased.swift
│   │       │   └── StoryboardSceneBased.swift
│   │       └── View/
│   │           ├── NibLoadable.swift
│   │           ├── NibOwnerLoadable.swift
│   │           ├── Reusable.swift
│   │           ├── UICollectionView+Reusable.swift
│   │           └── UITableView+Reusable.swift
│   ├── SwiftLint/
│   │   ├── LICENSE
│   │   ├── SwiftLintFramework.framework/
│   │   │   └── Versions/
│   │   │       └── A/
│   │   │           ├── Frameworks/
│   │   │           │   ├── Commandant.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Commandant
│   │   │           │   │           └── Resources/
│   │   │           │   │               └── Info.plist
│   │   │           │   ├── Result.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Resources/
│   │   │           │   │           │   └── Info.plist
│   │   │           │   │           └── Result
│   │   │           │   ├── SWXMLHash.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Resources/
│   │   │           │   │           │   └── Info.plist
│   │   │           │   │           └── SWXMLHash
│   │   │           │   ├── SourceKittenFramework.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Resources/
│   │   │           │   │           │   └── Info.plist
│   │   │           │   │           └── SourceKittenFramework
│   │   │           │   ├── SwiftyTextTable.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Resources/
│   │   │           │   │           │   └── Info.plist
│   │   │           │   │           └── SwiftyTextTable
│   │   │           │   └── Yams.framework/
│   │   │           │       └── Versions/
│   │   │           │           └── A/
│   │   │           │               ├── Resources/
│   │   │           │               │   └── Info.plist
│   │   │           │               └── Yams
│   │   │           ├── Resources/
│   │   │           │   └── Info.plist
│   │   │           └── SwiftLintFramework
│   │   └── swiftlint
│   ├── Target Support Files/
│   │   ├── Cucumberish/
│   │   │   ├── Cucumberish-dummy.m
│   │   │   ├── Cucumberish-prefix.pch
│   │   │   ├── Cucumberish-umbrella.h
│   │   │   ├── Cucumberish.modulemap
│   │   │   ├── Cucumberish.xcconfig
│   │   │   ├── Info.plist
│   │   │   └── ResourceBundle-GherkinLanguages-Info.plist
│   │   ├── Kingfisher/
│   │   │   ├── Info.plist
│   │   │   ├── Kingfisher-dummy.m
│   │   │   ├── Kingfisher-prefix.pch
│   │   │   ├── Kingfisher-umbrella.h
│   │   │   ├── Kingfisher.modulemap
│   │   │   └── Kingfisher.xcconfig
│   │   ├── Kommander/
│   │   │   ├── Info.plist
│   │   │   ├── Kommander-dummy.m
│   │   │   ├── Kommander-prefix.pch
│   │   │   ├── Kommander-umbrella.h
│   │   │   ├── Kommander.modulemap
│   │   │   └── Kommander.xcconfig
│   │   ├── NetClient/
│   │   │   ├── Info.plist
│   │   │   ├── NetClient-dummy.m
│   │   │   ├── NetClient-prefix.pch
│   │   │   ├── NetClient-umbrella.h
│   │   │   ├── NetClient.modulemap
│   │   │   └── NetClient.xcconfig
│   │   ├── ObjcExceptionBridging/
│   │   │   ├── Info.plist
│   │   │   ├── ObjcExceptionBridging-dummy.m
│   │   │   ├── ObjcExceptionBridging-prefix.pch
│   │   │   ├── ObjcExceptionBridging-umbrella.h
│   │   │   ├── ObjcExceptionBridging.modulemap
│   │   │   └── ObjcExceptionBridging.xcconfig
│   │   ├── Pods-Archit/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-Archit-acknowledgements.markdown
│   │   │   ├── Pods-Archit-acknowledgements.plist
│   │   │   ├── Pods-Archit-dummy.m
│   │   │   ├── Pods-Archit-frameworks.sh
│   │   │   ├── Pods-Archit-resources.sh
│   │   │   ├── Pods-Archit-umbrella.h
│   │   │   ├── Pods-Archit.debug.xcconfig
│   │   │   ├── Pods-Archit.modulemap
│   │   │   └── Pods-Archit.release.xcconfig
│   │   ├── Pods-ArchitTests/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-ArchitTests-acknowledgements.markdown
│   │   │   ├── Pods-ArchitTests-acknowledgements.plist
│   │   │   ├── Pods-ArchitTests-dummy.m
│   │   │   ├── Pods-ArchitTests-frameworks.sh
│   │   │   ├── Pods-ArchitTests-resources.sh
│   │   │   ├── Pods-ArchitTests-umbrella.h
│   │   │   ├── Pods-ArchitTests.debug.xcconfig
│   │   │   ├── Pods-ArchitTests.modulemap
│   │   │   └── Pods-ArchitTests.release.xcconfig
│   │   ├── Pods-ArchitUITests/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-ArchitUITests-acknowledgements.markdown
│   │   │   ├── Pods-ArchitUITests-acknowledgements.plist
│   │   │   ├── Pods-ArchitUITests-dummy.m
│   │   │   ├── Pods-ArchitUITests-frameworks.sh
│   │   │   ├── Pods-ArchitUITests-resources.sh
│   │   │   ├── Pods-ArchitUITests-umbrella.h
│   │   │   ├── Pods-ArchitUITests.debug.xcconfig
│   │   │   ├── Pods-ArchitUITests.modulemap
│   │   │   └── Pods-ArchitUITests.release.xcconfig
│   │   ├── Pods-Core/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-Core-acknowledgements.markdown
│   │   │   ├── Pods-Core-acknowledgements.plist
│   │   │   ├── Pods-Core-dummy.m
│   │   │   ├── Pods-Core-resources.sh
│   │   │   ├── Pods-Core-umbrella.h
│   │   │   ├── Pods-Core.debug.xcconfig
│   │   │   ├── Pods-Core.modulemap
│   │   │   └── Pods-Core.release.xcconfig
│   │   ├── Pods-CoreTests/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-CoreTests-acknowledgements.markdown
│   │   │   ├── Pods-CoreTests-acknowledgements.plist
│   │   │   ├── Pods-CoreTests-dummy.m
│   │   │   ├── Pods-CoreTests-frameworks.sh
│   │   │   ├── Pods-CoreTests-resources.sh
│   │   │   ├── Pods-CoreTests-umbrella.h
│   │   │   ├── Pods-CoreTests.debug.xcconfig
│   │   │   ├── Pods-CoreTests.modulemap
│   │   │   └── Pods-CoreTests.release.xcconfig
│   │   ├── Pods-Domain/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-Domain-acknowledgements.markdown
│   │   │   ├── Pods-Domain-acknowledgements.plist
│   │   │   ├── Pods-Domain-dummy.m
│   │   │   ├── Pods-Domain-resources.sh
│   │   │   ├── Pods-Domain-umbrella.h
│   │   │   ├── Pods-Domain.debug.xcconfig
│   │   │   ├── Pods-Domain.modulemap
│   │   │   └── Pods-Domain.release.xcconfig
│   │   ├── Pods-DomainTests/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-DomainTests-acknowledgements.markdown
│   │   │   ├── Pods-DomainTests-acknowledgements.plist
│   │   │   ├── Pods-DomainTests-dummy.m
│   │   │   ├── Pods-DomainTests-frameworks.sh
│   │   │   ├── Pods-DomainTests-resources.sh
│   │   │   ├── Pods-DomainTests-umbrella.h
│   │   │   ├── Pods-DomainTests.debug.xcconfig
│   │   │   ├── Pods-DomainTests.modulemap
│   │   │   └── Pods-DomainTests.release.xcconfig
│   │   ├── Reusable/
│   │   │   ├── Info.plist
│   │   │   ├── Reusable-dummy.m
│   │   │   ├── Reusable-prefix.pch
│   │   │   ├── Reusable-umbrella.h
│   │   │   ├── Reusable.modulemap
│   │   │   └── Reusable.xcconfig
│   │   └── XCGLogger/
│   │       ├── Info.plist
│   │       ├── XCGLogger-dummy.m
│   │       ├── XCGLogger-prefix.pch
│   │       ├── XCGLogger-umbrella.h
│   │       ├── XCGLogger.modulemap
│   │       └── XCGLogger.xcconfig
│   └── XCGLogger/
│       ├── .swift-version
│       ├── LICENSE.txt
│       ├── README.md
│       └── Sources/
│           └── XCGLogger/
│               ├── Destinations/
│               │   ├── AppleSystemLogDestination.swift
│               │   ├── AutoRotatingFileDestination.swift
│               │   ├── BaseDestination.swift
│               │   ├── BaseQueuedDestination.swift
│               │   ├── ConsoleDestination.swift
│               │   ├── DestinationProtocol.swift
│               │   ├── FileDestination.swift
│               │   └── TestDestination.swift
│               ├── Extensions/
│               │   ├── DispatchQueue+XCGAdditions.swift
│               │   └── URL+XCGAdditions.swift
│               ├── Filters/
│               │   ├── DevFilter.swift
│               │   ├── FileNameFilter.swift
│               │   ├── FilterProtocol.swift
│               │   ├── TagFilter.swift
│               │   └── UserInfoFilter.swift
│               ├── LogFormatters/
│               │   ├── ANSIColorLogFormatter.swift
│               │   ├── Base64LogFormatter.swift
│               │   ├── LogFormatterProtocol.swift
│               │   ├── PrePostFixLogFormatter.swift
│               │   └── XcodeColorsLogFormatter.swift
│               ├── Misc/
│               │   ├── HelperFunctions.swift
│               │   └── LogDetails.swift
│               └── XCGLogger.swift
├── README.md
├── Rakefile
├── Scripts/
│   ├── bootstrap.sh
│   ├── highlight_TODOs.sh
│   ├── install_pre_commit.sh
│   ├── pre_commit.sh
│   └── symbolicate_crash.sh
├── _config.yml
└── fastlane/
    ├── Appfile
    ├── Fastfile
    ├── Pluginfile
    ├── README.md
    ├── Snapfile
    └── SnapshotHelper.swift

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

## Other
*.moved-aside
*.xcuserstate
*.orig

## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
.build/

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build

# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output


================================================
FILE: .swift-version
================================================
4.0


================================================
FILE: .swiftlint.yml
================================================
disabled_rules: # rule identifiers to exclude from running
  - line_length
  - trailing_whitespace
  - trailing_newline
  - vertical_whitespace
  - unused_closure_parameter
  - nesting

opt_in_rules:
  - empty_count
  - explicit_init
  - closure_spacing
  - overridden_super_call
  - redundant_nil_coalescing
  - private_outlet
  - nimble_operator
  - closure_end_indentation
  - first_where
  - object_literal
  - number_separator
  - prohibited_super_call
  - fatal_error_message
  - vertical_parameter_alignment_on_call
  - extension_access_modifier
  - array_init
  - literal_expression_end_indentation

force_cast: warning # implicitly. Give warning only for force casting

force_try:
  severity: warning # explicitly. Give warning only for force try

function_body_length:
  - 300 # warning
  - 400 # error

file_length:
  warning: 500
  error: 800

large_tuple: # warn user when using 3 values in tuple, give error if there are 4
  - 3
  - 4

excluded:
  - fastlane
  - Pods

# naming rules can set warnings/errors for min_length and max_length
type_name:
  min_length: 4 # only warning
  max_length: # warning and error
    warning: 30
    error: 35


================================================
FILE: .travis.yml
================================================
language: swift
osx_image: xcode9.1
script:
- xcodebuild -workspace Archit.xcworkspace -scheme Archit -destination "platform=iOS
  Simulator,name=iPhone X,OS=11.1" -configuration Debug -enableCodeCoverage YES clean
  build test
after_success:
- bash <(curl -s https://codecov.io/bash)


================================================
FILE: Archit/Resources/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json
================================================
{
  "images" : [
    {
      "size" : "20x20",
      "idiom" : "iphone",
      "filename" : "Icon-App-20x20@2x-1.png",
      "scale" : "2x"
    },
    {
      "size" : "20x20",
      "idiom" : "iphone",
      "filename" : "Icon-App-20x20@3x.png",
      "scale" : "3x"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "Icon-App-29x29@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "29x29",
      "idiom" : "iphone",
      "filename" : "Icon-App-29x29@3x.png",
      "scale" : "3x"
    },
    {
      "size" : "40x40",
      "idiom" : "iphone",
      "filename" : "Icon-App-40x40@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "40x40",
      "idiom" : "iphone",
      "filename" : "Icon-App-40x40@3x.png",
      "scale" : "3x"
    },
    {
      "size" : "60x60",
      "idiom" : "iphone",
      "filename" : "Icon-App-60x60@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "60x60",
      "idiom" : "iphone",
      "filename" : "Icon-App-60x60@3x.png",
      "scale" : "3x"
    },
    {
      "size" : "20x20",
      "idiom" : "ipad",
      "filename" : "Icon-App-20x20@1x.png",
      "scale" : "1x"
    },
    {
      "size" : "20x20",
      "idiom" : "ipad",
      "filename" : "Icon-App-20x20@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "29x29",
      "idiom" : "ipad",
      "filename" : "Icon-App-29x29@1x.png",
      "scale" : "1x"
    },
    {
      "size" : "29x29",
      "idiom" : "ipad",
      "filename" : "Icon-App-29x29@2x-1.png",
      "scale" : "2x"
    },
    {
      "size" : "40x40",
      "idiom" : "ipad",
      "filename" : "Icon-App-40x40@1x.png",
      "scale" : "1x"
    },
    {
      "size" : "40x40",
      "idiom" : "ipad",
      "filename" : "Icon-App-40x40@2x-1.png",
      "scale" : "2x"
    },
    {
      "size" : "76x76",
      "idiom" : "ipad",
      "filename" : "Icon-App-76x76@1x.png",
      "scale" : "1x"
    },
    {
      "size" : "76x76",
      "idiom" : "ipad",
      "filename" : "Icon-App-76x76@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "83.5x83.5",
      "idiom" : "ipad",
      "filename" : "Icon-App-83.5x83.5@2x.png",
      "scale" : "2x"
    },
    {
      "size" : "1024x1024",
      "idiom" : "ios-marketing",
      "filename" : "iTunesArtWork@1x.png",
      "scale" : "1x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Archit/Resources/Assets/Assets.xcassets/Contents.json
================================================
{
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Archit/Resources/Assets/Assets.xcassets/Logo.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "filename" : "archit-logo.png",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "filename" : "archit-logo@2x.png",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "filename" : "archit-logo@3x.png",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Archit/Source/Base/Controllers/BaseController.swift
================================================
//  BaseController.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

protocol BaseController {

    associatedtype ViewControllerClass: AnyObject

    weak var viewController: ViewControllerClass? { get }

    init(_ viewController: ViewControllerClass)

    func load()

    func unload()

    func memoryWarning()

    func willAppear(_ animated: Bool)

    func didAppear(_ animated: Bool)

    func willDisappear(_ animated: Bool)

    func didDisappear(_ animated: Bool)

    func prepareSegue(identifier: String?, destination: AnyObject)

}

extension BaseController {

    func load() {}

    func unload() {}

    func memoryWarning() {}

    func willAppear(_ animated: Bool) {}

    func didAppear(_ animated: Bool) {}

    func willDisappear(_ animated: Bool) {}

    func didDisappear(_ animated: Bool) {}

    func prepareSegue(identifier: String?, destination: AnyObject) {}

}



================================================
FILE: Archit/Source/Base/Extensions/UITableView+Reusable.swift
================================================
//  UITableView+Reusable.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import UIKit
import Reusable

extension UITableViewCell: Reusable {}

extension UITableViewHeaderFooterView: Reusable {}


================================================
FILE: Archit/Source/Base/Interactors/BaseInteractor.swift
================================================
//  BaseInteractor.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

protocol BaseInteractorProtocol {

}

class BaseInteractor: BaseInteractorProtocol {

}


================================================
FILE: Archit/Source/Base/ViewControllers/BaseNavigationController.swift
================================================
//  BaseNavigationController.swift
//  Created by Alex Rupérez on 6/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import UIKit

class BaseNavigationController: UINavigationController {

    override var preferredStatusBarStyle: UIStatusBarStyle {
        return visibleViewController?.preferredStatusBarStyle ?? .lightContent
    }

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return visibleViewController?.supportedInterfaceOrientations ?? .portrait
    }

    override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
        return visibleViewController?.preferredInterfaceOrientationForPresentation ?? .portrait
    }

    override var shouldAutorotate: Bool {
        return visibleViewController?.shouldAutorotate ?? true
    }

    override var childViewControllerForStatusBarStyle: UIViewController? {
        return visibleViewController
    }

    override var childViewControllerForStatusBarHidden: UIViewController? {
        return visibleViewController
    }

}


================================================
FILE: Archit/Source/Base/ViewControllers/BaseViewController.swift
================================================
//  BaseViewController.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import UIKit
import Reusable

class BaseViewController<ControllerClass: BaseController>: UIViewController, StoryboardSceneBased {

    class var sceneStoryboard: UIStoryboard {
        return UIStoryboard(name: "Main", bundle: nil)
    }

    var controller: ControllerClass!

    override func viewDidLoad() {
        assert(controller != nil, "You must set a BaseController for \(type(of: self)) in init?(coder: NSCoder)")
        super.viewDidLoad()
        controller.load()
    }

    deinit {
        controller.unload()
        controller = nil
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        controller.memoryWarning()
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        controller.willAppear(animated)
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        controller.didAppear(animated)
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        controller.willDisappear(animated)
    }

    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        controller.didDisappear(animated)
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        super.prepare(for: segue, sender: sender)
        controller.prepareSegue(identifier: segue.identifier, destination: segue.destination)
    }

    func showAlert(_ title: String?, message: String? = nil, buttons: [String] = ["OK"], handler: ((UIAlertAction) -> Void)? = nil, animated: Bool = true, completion: (() -> Void)? = nil) {
        let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
        buttons.forEach { title in
            alertController.addAction(UIAlertAction(title: title, style: .cancel, handler: handler))
        }
        present(alertController, animated: animated, completion: completion)
    }

}



================================================
FILE: Archit/Source/FilmDetail/FilmDetailController.swift
================================================
//  FilmDetailController.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation
import Domain
import Kommander

protocol FilmDetailControllerProtocol: BaseController {
    var film: Film? { get }
}

class FilmDetailController: FilmDetailControllerProtocol {
    weak var viewController: FilmDetailViewController?
    var film: Film? {
        didSet {
            viewController?.reloadData()
        }
    }
    private let filmsInteractor: FilmsInteractorProtocol = FilmsInteractor()
    private weak var filmSearchKommand: Kommand<Film>?

    convenience init(_ viewController: FilmDetailViewController, film: Film) {
        self.init(viewController)
        self.film = film
    }

    required init(_ viewController: FilmDetailViewController) {
        self.viewController = viewController
    }

    func willAppear(_ animated: Bool) {
        refresh()
    }

    func willDisappear(_ animated: Bool) {
        filmSearchKommand?.cancel()
    }

    func refresh() {
        guard let imdbID = film?.imdbID, let type = film?.type else {
            return
        }
        filmSearchKommand = filmsInteractor.film(imdbID, type: FilmsInteractorSearchType(rawValue: type), onSuccess: { film in
            self.film = film
        }, onError: { error in
            self.viewController?.showAlert(error.localizedDescription, completion: {
                self.viewController?.reloadData()
            })
        }).execute()
    }

}


================================================
FILE: Archit/Source/FilmDetail/FilmDetailViewController.swift
================================================
//  FilmDetailViewController.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import UIKit
import Kingfisher
import SafariServices

class FilmDetailViewController: BaseViewController<FilmDetailController> {

    @IBOutlet private weak var posterImageView: UIImageView!
    @IBOutlet private weak var titleLabel: UILabel!
    @IBOutlet private weak var yearLabel: UILabel!
    @IBOutlet private weak var plotTextView: UITextView!

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        controller = FilmDetailController(self)
    }

    func reloadData() {
        loadViewIfNeeded()
        title = controller.film?.title
        titleLabel.text = controller.film?.title
        yearLabel.text = controller.film?.year
        plotTextView.text = controller.film?.plot
        posterImageView.kf.setImage(with: controller.film?.poster)
        navigationItem.rightBarButtonItem = controller.film?.website != nil ? UIBarButtonItem(title: "Website", style: .done, target: self, action: #selector(websiteAction(_:))) : nil
    }

    @objc func websiteAction(_ sender: Any) {
        guard let website = controller.film?.website else {
            return
        }
        present(SFSafariViewController(url: website), animated: true)
    }

}


================================================
FILE: Archit/Source/Films/FilmCell.swift
================================================
//  FilmCell.swift
//  Created by Diego Manuel Molina Canedo on 11/12/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import UIKit

class FilmCell: UITableViewCell {

    @IBOutlet weak private var posterImageView: UIImageView!
    @IBOutlet weak private var titleLabel: UILabel!
    @IBOutlet weak private var yearLabel: UILabel!

    public func configure(imageUrl: URL?, title: String?, year: String?) {
        posterImageView?.kf.setImage(with: imageUrl, completionHandler: { (image, error, cache, url) in
            if image != nil, error == nil {
                self.layoutSubviews()
            }
        })
        titleLabel.text = title
        yearLabel.text = year
    }

}


================================================
FILE: Archit/Source/Films/FilmsController.swift
================================================
//  FilmsController.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation
import Domain
import Kommander

protocol FilmsControllerProtocol: BaseController {
    var films: [Film] { get }
    var query: String { get }
    var type: String { get }
    var page: Int { get }
    func search(_ query: String, type: String, page: Int)
    func refresh()
    func loadMore()
}

class FilmsController: FilmsControllerProtocol {
    weak var viewController: FilmsViewController?
    private(set) var films = [Film]() {
        didSet {
            viewController?.reloadData()
        }
    }
    private let filmsInteractor: FilmsInteractorProtocol = FilmsInteractor()
    private weak var filmsSearchKommand: Kommand<(films: [Film], total: Int)>?
    private(set) var query = "Star Wars" {
        didSet {
            viewController?.title = query
        }
    }
    private(set) var type: String = "all"
    private(set) var page: Int = 1
    private var total: Int?

    required init(_ viewController: FilmsViewController) {
        self.viewController = viewController
    }

    func load() {
        refresh()
    }

    func willDisappear(_ animated: Bool) {
        filmsSearchKommand?.cancel()
    }

    func search(_ query: String, type: String, page: Int = 1) {
        guard filmsSearchKommand?.state != .running else {
            return
        }
        filmsSearchKommand = filmsInteractor.films(query, type: FilmsInteractorSearchType(rawValue: type), page: page, onSuccess: { films, total in
            self.query = query
            self.type = type
            self.page = page
            self.total = total
            if page == 1 {
                self.films = films
            } else {
                self.films.append(contentsOf: films)
            }
        }, onError: { error in
            self.viewController?.showAlert(error.localizedDescription, completion: {
                self.viewController?.reloadData()
            })
        }).execute()
    }

    func refresh() {
        search(query, type: type)
    }

    func loadMore() {
        guard let total = total, films.count < total else {
            return
        }
        search(query, type: type, page: page + 1)
    }

}


================================================
FILE: Archit/Source/Films/FilmsInteractor.swift
================================================
//  FilmsInteractor.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation
import Kommander
import Domain
import Core

enum FilmsInteractorError: Error {
    case filmsError(message: String, underlying: Error?)

    public var localizedDescription: String {
        switch self {
        case .filmsError(let message, let underlying):
            guard let serviceError = underlying as? NetworkServiceError else {
                guard let localizedDescription = underlying?.localizedDescription else {
                    return message
                }
                return localizedDescription
            }
            return serviceError.localizedDescription
        }
    }
}

typealias FilmsInteractorFilmBlock = (Film) -> Void
typealias FilmsInteractorFilmsBlock = ([Film], Int) -> Void
typealias FilmsInteractorErrorBlock = (FilmsInteractorError) -> Void

enum FilmsInteractorSearchType: String {
    case movie, series, episode
}

protocol FilmsInteractorProtocol {
    func film(_ imdbID: String, type: FilmsInteractorSearchType?, onSuccess: FilmsInteractorFilmBlock?, onError: FilmsInteractorErrorBlock?) -> Kommand<Film>
    func films(_ query: String, type: FilmsInteractorSearchType?, page: Int, onSuccess: FilmsInteractorFilmsBlock?, onError: FilmsInteractorErrorBlock?) -> Kommand<(films: [Film], total: Int)>
}

class FilmsInteractor: BaseInteractor, FilmsInteractorProtocol {

    private static let kommander = Kommander.default
    private let filmsService = FilmsService()

    func film(_ imdbID: String, type: FilmsInteractorSearchType?, onSuccess: FilmsInteractorFilmBlock?, onError: FilmsInteractorErrorBlock?) -> Kommand<Film> {
        return FilmsInteractor.kommander.makeKommand({
            return try self.filmsService.searchFilm(imdbID, type: type?.rawValue)
        }).onSuccess({ film in
            onSuccess?(film)
        }).onError({ error in
            onError?(.filmsError(message: "Error requesting films.", underlying: error))
        })
    }

    func films(_ query: String, type: FilmsInteractorSearchType?, page: Int, onSuccess: FilmsInteractorFilmsBlock?, onError: FilmsInteractorErrorBlock?) -> Kommand<(films: [Film], total: Int)> {
        return FilmsInteractor.kommander.makeKommand({
            return try self.filmsService.searchFilms(query, type: type?.rawValue, page: page)
        }).onSuccess({ result in
            onSuccess?(result.films, result.total)
        }).onError({ error in
            onError?(.filmsError(message: "Error requesting films.", underlying: error))
        })
    }

}


================================================
FILE: Archit/Source/Films/FilmsViewController.swift
================================================
//  FilmsViewController.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import UIKit
import Kingfisher
import Domain

class FilmsViewController: BaseViewController<FilmsController> {

    @IBOutlet private weak var tableView: UITableView!
    private let searchController = UISearchController(searchResultsController: nil)

    private var selectedFilm: Film? {
        guard let row = tableView.indexPathForSelectedRow?.row else {
            return nil
        }
        return controller.films[row]
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        controller = FilmsController(self)
    }

    private func configView() {
        tableView.tableFooterView = UIView()
        let refreshControl = UIRefreshControl()
        refreshControl.addTarget(self, action: #selector(refreshControlAction(_:)), for: .valueChanged)
        tableView.refreshControl = refreshControl
        let searchBar = searchController.searchBar
        searchBar.delegate = self
        searchBar.scopeButtonTitles = ["All", "Movie", "Series", "Episode"]
        tableView.tableHeaderView = searchBar
        tableView.selectRow(at: IndexPath(row: 0, section: 0), animated: true, scrollPosition: .none)
        if splitViewController?.isCollapsed == false {
            performSegue(withIdentifier: "showDetail", sender: self)
        }
    }

    func reloadData() {
        if let refreshControl = tableView.refreshControl {
            refreshControl.endRefreshing()
            searchController.isActive = false
        } else {
            configView()
        }
        tableView.reloadData()
    }

    @objc private func refreshControlAction(_ sender: Any) {
        controller.refresh()
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        super.prepare(for: segue, sender: sender)
        searchController.isActive = false
        if segue.identifier == "showDetail",
            let navigationController = segue.destination as? BaseNavigationController,
            let filmViewController = navigationController.topViewController as? FilmDetailViewController {
            filmViewController.controller.film = selectedFilm
            filmViewController.navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem
            filmViewController.navigationItem.leftItemsSupplementBackButton = true
        }
    }

    func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) {
        let posters = indexPaths.flatMap { controller.films[$0.row].poster }
        ImagePrefetcher(urls: posters).start()
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return controller.films.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell: FilmCell = tableView.dequeueReusableCell(for: indexPath)
        let film = controller.films[indexPath.row]
        cell.configure(imageUrl: film.poster, title: film.title, year: film.year)
        return cell
    }

    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        if controller.films.count >= 10 && indexPath.row > controller.films.count * 8 / 10 {
            controller.loadMore()
        }
    }

    func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        cell.imageView?.kf.cancelDownloadTask()
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        tableView.deselectRow(at: indexPath, animated: true)
    }

    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        if let query = searchBar.text, !query.isEmpty {
            let scope = searchBar.scopeButtonTitles?[searchBar.selectedScopeButtonIndex].lowercased() ?? "all"
            controller.search(query, type: scope)
        }
    }

}

extension FilmsViewController: UITableViewDataSourcePrefetching {}

extension FilmsViewController: UITableViewDataSource {}

extension FilmsViewController: UITableViewDelegate {}

extension FilmsViewController: UISearchBarDelegate {}


================================================
FILE: Archit/Source/Managers/AppManager.swift
================================================
//  AppManager.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import UIKit

open class AppManager: AppManagerProtocol {

    open static let shared: AppManagerProtocol = AppManager()
    fileprivate var splitViewController: UISplitViewController? {
        return application.appDelegate?.window??.rootViewController as? UISplitViewController
    }

    open func didFinishLaunching(launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        if let splitViewController = splitViewController,
            let navigationController = splitViewController.viewControllers.last as? BaseNavigationController {
            navigationController.topViewController?.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem
            splitViewController.delegate = self
            splitViewController.preferredDisplayMode = .allVisible
        }

        return true
    }

    open func willResignActive() {
        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
        // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
    }

    open func didEnterBackground() {
        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
    }

    open func willEnterForeground() {
        // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
    }

    open func didBecomeActive() {
        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    }

    open func willTerminate() {
        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    }


}

public protocol AppDelegateProtocol: UIApplicationDelegate {

    var appManager: AppManagerProtocol { get set }
}

public protocol AppProtocol {

    weak var appDelegate: AppDelegateProtocol? { get }
}

extension UIApplication: AppProtocol {

    open weak var appDelegate: AppDelegateProtocol? { return delegate as? AppDelegateProtocol }
}

public protocol AppManagerProtocol {

    static var shared: AppManagerProtocol { get }
    var application: AppProtocol { get }

    func didFinishLaunching(launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool

    func willResignActive()

    func didEnterBackground()

    func willEnterForeground()

    func didBecomeActive()

    func willTerminate()
}

public extension AppManagerProtocol {

    var application: AppProtocol { return UIApplication.shared }
}

extension AppManager: UISplitViewControllerDelegate {

    public func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController: UIViewController, onto primaryViewController: UIViewController) -> Bool {
        guard let navigationController = secondaryViewController as? BaseNavigationController else { return false }
        guard let filmViewController = navigationController.topViewController as? FilmDetailViewController else { return false }
        return filmViewController.controller.film == nil
    }

}


================================================
FILE: Archit/Source/Managers/LogManager.swift
================================================
//  LogManager.swift
//  Created by Alex Rupérez on 16/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import XCGLogger

let log: XCGLogger = {
    let log = XCGLogger(identifier: "advancedLogger", includeDefaultDestinations: false)
    log.levelDescriptions[.verbose] = "💜"
    log.levelDescriptions[.debug] = "💚"
    log.levelDescriptions[.info] = "💙"
    log.levelDescriptions[.warning] = "💛"
    log.levelDescriptions[.error] = "❤️"
    log.levelDescriptions[.severe] = "🖤"

    let consoleDestination = ConsoleDestination(identifier: "advancedLogger.consoleDestination")
    #if DEBUG
        consoleDestination.outputLevel = .debug
    #else
        consoleDestination.outputLevel = .severe
    #endif
    consoleDestination.showFunctionName = false
    consoleDestination.showFileName = false
    consoleDestination.showLineNumber = false
    log.add(destination: consoleDestination)

    return log
}()


================================================
FILE: Archit/Supporting Files/AppDelegate.swift
================================================
//  AppDelegate.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, AppDelegateProtocol {

    lazy var appManager: AppManagerProtocol = AppManager.shared
    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        return appManager.didFinishLaunching(launchOptions: launchOptions)
    }

    func applicationWillResignActive(_ application: UIApplication) {
        appManager.willResignActive()
    }

    func applicationDidEnterBackground(_ application: UIApplication) {
        appManager.didEnterBackground()
    }

    func applicationWillEnterForeground(_ application: UIApplication) {
        appManager.willEnterForeground()
    }

    func applicationDidBecomeActive(_ application: UIApplication) {
        appManager.didBecomeActive()
    }

    func applicationWillTerminate(_ application: UIApplication) {
        appManager.willTerminate()
    }


}



================================================
FILE: Archit/Supporting Files/Archit.entitlements
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>aps-environment</key>
	<string>$(APSEnvironment)</string>
</dict>
</plist>


================================================
FILE: Archit/Supporting Files/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>APSEnvironment</key>
	<string>$(APS_ENVIRONMENT)</string>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleVersion</key>
	<string>1.0</string>
	<key>LSRequiresIPhoneOS</key>
	<true/>
	<key>NSAppTransportSecurity</key>
	<dict>
		<key>NSAllowsArbitraryLoads</key>
		<true/>
	</dict>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIMainStoryboardFile</key>
	<string>Main</string>
	<key>UIRequiredDeviceCapabilities</key>
	<array>
		<string>armv7</string>
	</array>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
	<key>UISupportedInterfaceOrientations~ipad</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationPortraitUpsideDown</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
</dict>
</plist>


================================================
FILE: Archit/UI/Base.lproj/LaunchScreen.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
    <device id="retina4_7" orientation="portrait">
        <adaptation id="fullscreen"/>
    </device>
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="EHf-IW-A2E">
            <objects>
                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
                    </layoutGuides>
                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Logo" translatesAutoresizingMaskIntoConstraints="NO" id="aPR-Qf-yOI">
                                <rect key="frame" x="87" y="218" width="200" height="230"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="230" id="M6F-YG-iXE"/>
                                    <constraint firstAttribute="width" constant="200" id="cWz-Ux-NMv"/>
                                </constraints>
                            </imageView>
                        </subviews>
                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                        <constraints>
                            <constraint firstItem="aPR-Qf-yOI" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="UEB-OO-ku3"/>
                            <constraint firstItem="aPR-Qf-yOI" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="t3c-0b-hcR"/>
                        </constraints>
                    </view>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="53" y="375"/>
        </scene>
    </scenes>
    <resources>
        <image name="Logo" width="200" height="230"/>
    </resources>
</document>


================================================
FILE: Archit/UI/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="QDw-Op-zfs">
    <device id="retina4_7" orientation="portrait">
        <adaptation id="fullscreen"/>
    </device>
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
        <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
        <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
        <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--Content-->
        <scene sceneID="tne-QT-ifu">
            <objects>
                <viewController id="BYZ-38-t0r" customClass="FilmsViewController" customModule="Archit" customModuleProvider="target" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
                    </layoutGuides>
                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="128" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="qcl-Vq-tRJ">
                                <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                <prototypes>
                                    <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="FilmCell" id="Ngr-Go-cqh" customClass="FilmCell" customModule="Archit" customModuleProvider="target">
                                        <rect key="frame" x="0.0" y="28" width="375" height="128"/>
                                        <autoresizingMask key="autoresizingMask"/>
                                        <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Ngr-Go-cqh" id="yaJ-dn-Ij5">
                                            <rect key="frame" x="0.0" y="0.0" width="375" height="127.5"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                            <subviews>
                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Title" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4py-1c-vJX">
                                                    <rect key="frame" x="101.5" y="52" width="265.5" height="23"/>
                                                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="19"/>
                                                    <nil key="textColor"/>
                                                    <nil key="highlightedColor"/>
                                                </label>
                                                <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="dIe-Mg-pVe">
                                                    <rect key="frame" x="4" y="4" width="89.5" height="119.5"/>
                                                    <constraints>
                                                        <constraint firstAttribute="width" secondItem="dIe-Mg-pVe" secondAttribute="height" multiplier="3:4" id="xiP-06-bQa"/>
                                                    </constraints>
                                                </imageView>
                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Year" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Axd-Bn-HRE">
                                                    <rect key="frame" x="101.5" y="79" width="250.5" height="17"/>
                                                    <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                                    <color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                                    <nil key="highlightedColor"/>
                                                </label>
                                            </subviews>
                                            <constraints>
                                                <constraint firstAttribute="trailingMargin" secondItem="Axd-Bn-HRE" secondAttribute="trailing" constant="8" id="AxG-Gu-CLu"/>
                                                <constraint firstItem="4py-1c-vJX" firstAttribute="leading" secondItem="dIe-Mg-pVe" secondAttribute="trailing" constant="8" id="BXm-NG-3Lt"/>
                                                <constraint firstItem="4py-1c-vJX" firstAttribute="centerY" secondItem="dIe-Mg-pVe" secondAttribute="centerY" id="EUC-l8-9qb"/>
                                                <constraint firstItem="Axd-Bn-HRE" firstAttribute="leading" secondItem="4py-1c-vJX" secondAttribute="leading" id="KPN-9O-dWe"/>
                                                <constraint firstAttribute="bottom" secondItem="dIe-Mg-pVe" secondAttribute="bottom" constant="4" id="QUB-NC-A9N"/>
                                                <constraint firstItem="dIe-Mg-pVe" firstAttribute="leading" secondItem="yaJ-dn-Ij5" secondAttribute="leading" constant="4" id="b66-vw-tGx"/>
                                                <constraint firstAttribute="trailing" secondItem="4py-1c-vJX" secondAttribute="trailing" constant="8" id="e1e-rP-HkR"/>
                                                <constraint firstItem="Axd-Bn-HRE" firstAttribute="top" secondItem="4py-1c-vJX" secondAttribute="bottom" constant="4" id="fNY-pf-rhA"/>
                                                <constraint firstItem="dIe-Mg-pVe" firstAttribute="top" secondItem="yaJ-dn-Ij5" secondAttribute="top" constant="4" id="g4C-Qi-bnC"/>
                                            </constraints>
                                        </tableViewCellContentView>
                                        <connections>
                                            <outlet property="posterImageView" destination="dIe-Mg-pVe" id="fZK-0n-7Jt"/>
                                            <outlet property="titleLabel" destination="4py-1c-vJX" id="MLK-FA-Qea"/>
                                            <outlet property="yearLabel" destination="Axd-Bn-HRE" id="RPC-qM-3lz"/>
                                            <segue destination="fdZ-nR-DyF" kind="showDetail" identifier="showDetail" id="7ib-zC-pd1"/>
                                        </connections>
                                    </tableViewCell>
                                </prototypes>
                                <connections>
                                    <outlet property="dataSource" destination="BYZ-38-t0r" id="DQp-9N-9DA"/>
                                    <outlet property="delegate" destination="BYZ-38-t0r" id="3Nv-66-DGV"/>
                                    <outlet property="prefetchDataSource" destination="BYZ-38-t0r" id="Dmt-jp-GpR"/>
                                </connections>
                            </tableView>
                        </subviews>
                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                    </view>
                    <navigationItem key="navigationItem" title="Content" id="XvA-8J-for"/>
                    <connections>
                        <outlet property="tableView" destination="qcl-Vq-tRJ" id="r0d-Nv-XtB"/>
                    </connections>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="1653.5999999999999" y="-450.22488755622192"/>
        </scene>
        <!--Select content...-->
        <scene sceneID="Gee-mi-8tL">
            <objects>
                <viewController id="pbU-6g-k6R" customClass="FilmDetailViewController" customModule="Archit" customModuleProvider="target" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="Enz-7I-S76"/>
                        <viewControllerLayoutGuide type="bottom" id="ZRw-nw-mxu"/>
                    </layoutGuides>
                    <view key="view" contentMode="scaleToFill" id="duk-b5-WvN">
                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nMg-g7-KdA">
                                <rect key="frame" x="0.0" y="116" width="375" height="551"/>
                                <subviews>
                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Year" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zRS-Fr-oW8">
                                        <rect key="frame" x="0.0" y="316" width="375" height="11"/>
                                        <constraints>
                                            <constraint firstAttribute="height" constant="11" id="RW4-Dl-cF0"/>
                                        </constraints>
                                        <fontDescription key="fontDescription" type="system" pointSize="12"/>
                                        <color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                        <nil key="highlightedColor"/>
                                    </label>
                                    <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" bounces="NO" scrollEnabled="NO" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" bouncesZoom="NO" editable="NO" textAlignment="justified" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Dxx-6C-5yK">
                                        <rect key="frame" x="0.0" y="335" width="375" height="33"/>
                                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                        <inset key="scrollIndicatorInsets" minX="8" minY="0.0" maxX="8" maxY="0.0"/>
                                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                        <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
                                    </textView>
                                    <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="tgu-db-0Gg">
                                        <rect key="frame" x="54" y="16" width="267" height="267"/>
                                        <constraints>
                                            <constraint firstAttribute="width" secondItem="tgu-db-0Gg" secondAttribute="height" multiplier="1:1" id="g2y-m0-XrA"/>
                                        </constraints>
                                    </imageView>
                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Title" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SbY-iD-JR5">
                                        <rect key="frame" x="0.0" y="291" width="375" height="21"/>
                                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/>
                                        <nil key="textColor"/>
                                        <nil key="highlightedColor"/>
                                    </label>
                                </subviews>
                                <constraints>
                                    <constraint firstItem="tgu-db-0Gg" firstAttribute="top" secondItem="nMg-g7-KdA" secondAttribute="top" constant="16" id="03x-ly-Hte"/>
                                    <constraint firstAttribute="bottom" secondItem="Dxx-6C-5yK" secondAttribute="bottom" constant="8" id="1yc-OP-Xfr"/>
                                    <constraint firstAttribute="trailing" secondItem="Dxx-6C-5yK" secondAttribute="trailing" id="3Js-0u-QbZ"/>
                                    <constraint firstItem="zRS-Fr-oW8" firstAttribute="leading" secondItem="nMg-g7-KdA" secondAttribute="leading" id="9Sl-Mi-zqm"/>
                                    <constraint firstAttribute="trailing" secondItem="SbY-iD-JR5" secondAttribute="trailing" id="EKb-3O-5dP"/>
                                    <constraint firstItem="tgu-db-0Gg" firstAttribute="centerX" secondItem="nMg-g7-KdA" secondAttribute="centerX" id="Jm5-AW-aHj"/>
                                    <constraint firstItem="zRS-Fr-oW8" firstAttribute="top" secondItem="SbY-iD-JR5" secondAttribute="bottom" constant="4" id="P8S-ah-r2K"/>
                                    <constraint firstAttribute="trailing" secondItem="zRS-Fr-oW8" secondAttribute="trailing" id="Zg9-fU-Cdh"/>
                                    <constraint firstItem="SbY-iD-JR5" firstAttribute="width" secondItem="nMg-g7-KdA" secondAttribute="width" id="dHT-oe-0yo"/>
                                    <constraint firstItem="Dxx-6C-5yK" firstAttribute="top" secondItem="zRS-Fr-oW8" secondAttribute="bottom" constant="8" id="rzu-pc-6yG"/>
                                    <constraint firstItem="Dxx-6C-5yK" firstAttribute="leading" secondItem="nMg-g7-KdA" secondAttribute="leading" id="tfD-Wb-yxs"/>
                                    <constraint firstItem="SbY-iD-JR5" firstAttribute="top" secondItem="tgu-db-0Gg" secondAttribute="bottom" constant="8" id="vs6-qc-tce"/>
                                    <constraint firstItem="SbY-iD-JR5" firstAttribute="leading" secondItem="nMg-g7-KdA" secondAttribute="leading" id="zOs-HM-NBz"/>
                                </constraints>
                            </scrollView>
                        </subviews>
                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                        <constraints>
                            <constraint firstAttribute="trailing" secondItem="nMg-g7-KdA" secondAttribute="trailing" id="4R6-Tq-LfZ"/>
                            <constraint firstItem="nMg-g7-KdA" firstAttribute="width" secondItem="duk-b5-WvN" secondAttribute="width" id="CIL-XX-ATq"/>
                            <constraint firstItem="nMg-g7-KdA" firstAttribute="top" secondItem="Enz-7I-S76" secondAttribute="bottom" id="N1b-zY-GZa"/>
                            <constraint firstItem="ZRw-nw-mxu" firstAttribute="top" secondItem="nMg-g7-KdA" secondAttribute="bottom" id="RII-Ac-NCh"/>
                            <constraint firstItem="nMg-g7-KdA" firstAttribute="leading" secondItem="duk-b5-WvN" secondAttribute="leading" id="TNb-lp-nwa"/>
                            <constraint firstItem="tgu-db-0Gg" firstAttribute="height" secondItem="duk-b5-WvN" secondAttribute="height" multiplier="2/5" id="osZ-6P-ZWc"/>
                        </constraints>
                    </view>
                    <navigationItem key="navigationItem" title="Select content..." id="Ndj-em-dhP"/>
                    <connections>
                        <outlet property="plotTextView" destination="Dxx-6C-5yK" id="gr4-PG-MIi"/>
                        <outlet property="posterImageView" destination="tgu-db-0Gg" id="3nU-4i-9ru"/>
                        <outlet property="titleLabel" destination="SbY-iD-JR5" id="6LK-91-ymx"/>
                        <outlet property="yearLabel" destination="zRS-Fr-oW8" id="6Xe-iT-Ho5"/>
                    </connections>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="fc5-lG-UmZ" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="1653.5999999999999" y="315.29235382308849"/>
        </scene>
        <!--Base Navigation Controller-->
        <scene sceneID="J24-dY-CR6">
            <objects>
                <navigationController id="Zuo-cZ-xWg" customClass="BaseNavigationController" customModule="Archit" customModuleProvider="target" sceneMemberID="viewController">
                    <navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" largeTitles="YES" id="qi8-4I-3hw">
                        <rect key="frame" x="0.0" y="20" width="375" height="96"/>
                        <autoresizingMask key="autoresizingMask"/>
                    </navigationBar>
                    <connections>
                        <segue destination="BYZ-38-t0r" kind="relationship" relationship="rootViewController" id="hhy-YS-fH9"/>
                    </connections>
                </navigationController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="dGr-6g-MI3" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="703" y="-450"/>
        </scene>
        <!--Split View Controller-->
        <scene sceneID="w3j-Fp-C0v">
            <objects>
                <splitViewController id="QDw-Op-zfs" sceneMemberID="viewController">
                    <connections>
                        <segue destination="Zuo-cZ-xWg" kind="relationship" relationship="masterViewController" id="M3S-se-Zxe"/>
                        <segue destination="fdZ-nR-DyF" kind="relationship" relationship="detailViewController" id="YyA-mF-10A"/>
                    </connections>
                </splitViewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="kU9-wo-5DS" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="-249" y="-118"/>
        </scene>
        <!--Base Navigation Controller-->
        <scene sceneID="fHi-e8-nQE">
            <objects>
                <navigationController automaticallyAdjustsScrollViewInsets="NO" id="fdZ-nR-DyF" customClass="BaseNavigationController" customModule="Archit" customModuleProvider="target" sceneMemberID="viewController">
                    <toolbarItems/>
                    <navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="qKS-fc-l5b">
                        <rect key="frame" x="0.0" y="20" width="375" height="96"/>
                        <autoresizingMask key="autoresizingMask"/>
                    </navigationBar>
                    <nil name="viewControllers"/>
                    <connections>
                        <segue destination="pbU-6g-k6R" kind="relationship" relationship="rootViewController" id="7UG-IW-6xx"/>
                    </connections>
                </navigationController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="CuZ-rc-H5X" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="702" y="316"/>
        </scene>
    </scenes>
    <inferredMetricsTieBreakers>
        <segue reference="7ib-zC-pd1"/>
    </inferredMetricsTieBreakers>
</document>


================================================
FILE: Archit.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 48;
	objects = {

/* Begin PBXBuildFile section */
		3EEB7D682D5B0E595955661E /* Pods_DomainTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A73079477914B6D127E59CB7 /* Pods_DomainTests.framework */; };
		5DDD960198C32755578FCC06 /* Pods_ArchitTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE55A12BF45485A5033F2DAC /* Pods_ArchitTests.framework */; };
		7ACA6D27D75176DE3C94E936 /* Pods_ArchitUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BBCEB415324D3D8E20DD0FF /* Pods_ArchitUITests.framework */; };
		810823341FB0C594009F0C43 /* Core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108232B1FB0C594009F0C43 /* Core.framework */; };
		8108233B1FB0C594009F0C43 /* CoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8108233A1FB0C594009F0C43 /* CoreTests.swift */; };
		8108233D1FB0C594009F0C43 /* Core.h in Headers */ = {isa = PBXBuildFile; fileRef = 8108232D1FB0C594009F0C43 /* Core.h */; settings = {ATTRIBUTES = (Public, ); }; };
		810823401FB0C594009F0C43 /* Core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108232B1FB0C594009F0C43 /* Core.framework */; };
		810823411FB0C594009F0C43 /* Core.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8108232B1FB0C594009F0C43 /* Core.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
		810823571FB0C5AA009F0C43 /* Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108234E1FB0C5AA009F0C43 /* Domain.framework */; };
		8108235E1FB0C5AA009F0C43 /* DomainTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8108235D1FB0C5AA009F0C43 /* DomainTests.swift */; };
		810823601FB0C5AA009F0C43 /* Domain.h in Headers */ = {isa = PBXBuildFile; fileRef = 810823501FB0C5AA009F0C43 /* Domain.h */; settings = {ATTRIBUTES = (Public, ); }; };
		810963D21FB0C42E00B35959 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 810963D01FB0C42E00B35959 /* Main.storyboard */; };
		810963D61FB0C42E00B35959 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 810963D51FB0C42E00B35959 /* Assets.xcassets */; };
		810963D91FB0C42E00B35959 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 810963D71FB0C42E00B35959 /* LaunchScreen.storyboard */; };
		810963DC1FB0C42E00B35959 /* AppManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810963DB1FB0C42E00B35959 /* AppManager.swift */; };
		810963E51FB0C42E00B35959 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810963E41FB0C42E00B35959 /* AppDelegate.swift */; };
		810963F81FB0C42E00B35959 /* ArchitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810963F71FB0C42E00B35959 /* ArchitTests.swift */; };
		810964031FB0C42E00B35959 /* ArchitUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 810964021FB0C42E00B35959 /* ArchitUITests.swift */; };
		817ED3511FBDE6D90066A679 /* LogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817ED3501FBDE6D90066A679 /* LogManager.swift */; };
		817ED3541FBDE7BE0066A679 /* LogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817ED3501FBDE6D90066A679 /* LogManager.swift */; };
		817ED3551FBDE7C00066A679 /* LogManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 817ED3501FBDE6D90066A679 /* LogManager.swift */; };
		829582401FDEC1F900DFD9BA /* FilmCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8295823F1FDEC1F900DFD9BA /* FilmCell.swift */; };
		8374FD19ACE27BF2EEF1BADF /* Pods_Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5070463760B7BEFCBFA8995E /* Pods_Domain.framework */; };
		9AC00EF4802746D651A3FFE3 /* Pods_CoreTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6B55B0227AAC528CF431AFE3 /* Pods_CoreTests.framework */; };
		A4D041333F586D156E01B44E /* Pods_Archit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 51036FE5FB812710D2B3A0F7 /* Pods_Archit.framework */; };
		D238D4DBD18E34740087505B /* Pods_Core.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB2BFE8043D3AABD5254FEFC /* Pods_Core.framework */; };
		D5283FA51FB637F7008DCA34 /* FilmSearchNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5283FA41FB637F7008DCA34 /* FilmSearchNetworkModel.swift */; };
		D5283FA61FB65079008DCA34 /* Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108234E1FB0C5AA009F0C43 /* Domain.framework */; };
		D5283FA71FB65079008DCA34 /* Domain.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 8108234E1FB0C5AA009F0C43 /* Domain.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
		D5283FAB1FB71A0E008DCA34 /* SearchFilmServiceTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5283FAA1FB71A0E008DCA34 /* SearchFilmServiceTask.swift */; };
		D582F4311FB2273A002BDB91 /* FilmsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F42F1FB2273A002BDB91 /* FilmsViewController.swift */; };
		D582F4321FB2273A002BDB91 /* FilmsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4301FB2273A002BDB91 /* FilmsController.swift */; };
		D582F4341FB22761002BDB91 /* UITableView+Reusable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4331FB22761002BDB91 /* UITableView+Reusable.swift */; };
		D582F4381FB22822002BDB91 /* FilmDetailController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4361FB22821002BDB91 /* FilmDetailController.swift */; };
		D582F4391FB22822002BDB91 /* FilmDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4371FB22821002BDB91 /* FilmDetailViewController.swift */; };
		D582F43C1FB239C4002BDB91 /* BaseInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F43B1FB239C4002BDB91 /* BaseInteractor.swift */; };
		D582F43E1FB23A8D002BDB91 /* FilmsInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F43D1FB23A8D002BDB91 /* FilmsInteractor.swift */; };
		D582F4481FB38CF1002BDB91 /* NetworkServiceTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F43F1FB38CF1002BDB91 /* NetworkServiceTransformer.swift */; };
		D582F4491FB38CF1002BDB91 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4401FB38CF1002BDB91 /* NetworkService.swift */; };
		D582F44A1FB38CF1002BDB91 /* NetworkServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4411FB38CF1002BDB91 /* NetworkServiceProtocol.swift */; };
		D582F44B1FB38CF1002BDB91 /* ServiceProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4421FB38CF1002BDB91 /* ServiceProtocol.swift */; };
		D582F44C1FB38CF1002BDB91 /* TaskProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4441FB38CF1002BDB91 /* TaskProtocol.swift */; };
		D582F44D1FB38CF1002BDB91 /* ServiceTaskProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4451FB38CF1002BDB91 /* ServiceTaskProtocol.swift */; };
		D582F44E1FB38CF1002BDB91 /* ServiceTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4461FB38CF1002BDB91 /* ServiceTask.swift */; };
		D582F44F1FB38CF1002BDB91 /* Transformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4471FB38CF1002BDB91 /* Transformer.swift */; };
		D582F4561FB61B5B002BDB91 /* FilmsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4551FB61B5B002BDB91 /* FilmsService.swift */; };
		D582F4581FB61C56002BDB91 /* FilmsNetworkTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4571FB61C56002BDB91 /* FilmsNetworkTransformer.swift */; };
		D582F45A1FB61D2F002BDB91 /* SearchFilmsServiceTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F4591FB61D2F002BDB91 /* SearchFilmsServiceTask.swift */; };
		D582F45C1FB61D91002BDB91 /* FilmNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F45B1FB61D91002BDB91 /* FilmNetworkModel.swift */; };
		D582F45E1FB620D5002BDB91 /* FilmRatingNetworkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F45D1FB620D5002BDB91 /* FilmRatingNetworkModel.swift */; };
		D582F4601FB62207002BDB91 /* Film.swift in Sources */ = {isa = PBXBuildFile; fileRef = D582F45F1FB62207002BDB91 /* Film.swift */; };
		D582F4631FB62376002BDB91 /* Domain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8108234E1FB0C5AA009F0C43 /* Domain.framework */; };
		D58D1AA01FB2172000721663 /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58D1A9A1FB2172000721663 /* BaseViewController.swift */; };
		D58D1AA21FB2172000721663 /* BaseNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58D1A9C1FB2172000721663 /* BaseNavigationController.swift */; };
		D58D1AA31FB2172000721663 /* BaseController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58D1A9E1FB2172000721663 /* BaseController.swift */; };
		D5FF818E1FB8AFD600EAC050 /* NetworkServiceConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5FF818D1FB8AFD600EAC050 /* NetworkServiceConstants.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		810823351FB0C594009F0C43 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8108232A1FB0C594009F0C43;
			remoteInfo = Core;
		};
		810823371FB0C594009F0C43 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 810963C61FB0C42E00B35959;
			remoteInfo = Archit;
		};
		8108233E1FB0C594009F0C43 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8108232A1FB0C594009F0C43;
			remoteInfo = Core;
		};
		810823581FB0C5AA009F0C43 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8108234D1FB0C5AA009F0C43;
			remoteInfo = Domain;
		};
		8108235A1FB0C5AA009F0C43 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 810963C61FB0C42E00B35959;
			remoteInfo = Archit;
		};
		810963F41FB0C42E00B35959 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 810963C61FB0C42E00B35959;
			remoteInfo = Archit;
		};
		810963FF1FB0C42E00B35959 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 810963C61FB0C42E00B35959;
			remoteInfo = Archit;
		};
		D5283FA81FB65079008DCA34 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8108234D1FB0C5AA009F0C43;
			remoteInfo = Domain;
		};
		D582F4611FB6236F002BDB91 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 810963BD1FB0C42E00B35959 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8108234D1FB0C5AA009F0C43;
			remoteInfo = Domain;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		810823471FB0C594009F0C43 /* Embed Frameworks */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 10;
			files = (
				D5283FA71FB65079008DCA34 /* Domain.framework in Embed Frameworks */,
				810823411FB0C594009F0C43 /* Core.framework in Embed Frameworks */,
			);
			name = "Embed Frameworks";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		0C965850A085A5CD8D2663C6 /* Pods-ArchitUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArchitUITests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests.release.xcconfig"; sourceTree = "<group>"; };
		1D22BA66BB0A3D7C4662F2DE /* Pods-Archit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Archit.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Archit/Pods-Archit.debug.xcconfig"; sourceTree = "<group>"; };
		2174FBEAD5708D26C3821F32 /* Pods-DomainTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DomainTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests.release.xcconfig"; sourceTree = "<group>"; };
		31086010F280804A3BB3FD52 /* Pods-CoreTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CoreTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests.debug.xcconfig"; sourceTree = "<group>"; };
		4D1AEE1B204D4544AAF01F78 /* Pods-Archit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Archit.release.xcconfig"; path = "Pods/Target Support Files/Pods-Archit/Pods-Archit.release.xcconfig"; sourceTree = "<group>"; };
		5070463760B7BEFCBFA8995E /* Pods_Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		51036FE5FB812710D2B3A0F7 /* Pods_Archit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Archit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		6419E04F0343B79EE7457FE5 /* Pods-Core.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core.release.xcconfig"; path = "Pods/Target Support Files/Pods-Core/Pods-Core.release.xcconfig"; sourceTree = "<group>"; };
		6B55B0227AAC528CF431AFE3 /* Pods_CoreTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CoreTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		6C57BC3580C21A4356BEF996 /* Pods-Domain.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Domain.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Domain/Pods-Domain.debug.xcconfig"; sourceTree = "<group>"; };
		718EE189F41C5809037880C9 /* Pods-Core.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Core.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Core/Pods-Core.debug.xcconfig"; sourceTree = "<group>"; };
		72C16377B21D535A1403C99E /* Pods-DomainTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DomainTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests.debug.xcconfig"; sourceTree = "<group>"; };
		7BBCEB415324D3D8E20DD0FF /* Pods_ArchitUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ArchitUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		8108232B1FB0C594009F0C43 /* Core.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Core.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		8108232D1FB0C594009F0C43 /* Core.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Core.h; sourceTree = "<group>"; };
		8108232E1FB0C594009F0C43 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		810823331FB0C594009F0C43 /* CoreTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CoreTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		8108233A1FB0C594009F0C43 /* CoreTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreTests.swift; sourceTree = "<group>"; };
		8108233C1FB0C594009F0C43 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		8108234E1FB0C5AA009F0C43 /* Domain.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Domain.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		810823501FB0C5AA009F0C43 /* Domain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Domain.h; sourceTree = "<group>"; };
		810823511FB0C5AA009F0C43 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		810823561FB0C5AA009F0C43 /* DomainTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DomainTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		8108235D1FB0C5AA009F0C43 /* DomainTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DomainTests.swift; sourceTree = "<group>"; };
		8108235F1FB0C5AA009F0C43 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		810963C71FB0C42E00B35959 /* Archit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Archit.app; sourceTree = BUILT_PRODUCTS_DIR; };
		810963D11FB0C42E00B35959 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = UI/Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		810963D51FB0C42E00B35959 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Resources/Assets/Assets.xcassets; sourceTree = "<group>"; };
		810963D81FB0C42E00B35959 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = UI/Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
		810963DB1FB0C42E00B35959 /* AppManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppManager.swift; path = Source/Managers/AppManager.swift; sourceTree = "<group>"; };
		810963DE1FB0C42E00B35959 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; name = .gitignore; path = ../.gitignore; sourceTree = "<group>"; };
		810963DF1FB0C42E00B35959 /* .swiftlint.yml */ = {isa = PBXFileReference; lastKnownFileType = text; name = .swiftlint.yml; path = ../.swiftlint.yml; sourceTree = "<group>"; };
		810963E01FB0C42E00B35959 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
		810963E11FB0C42E00B35959 /* Podfile */ = {isa = PBXFileReference; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
		810963E21FB0C42E00B35959 /* Gemfile */ = {isa = PBXFileReference; lastKnownFileType = text; name = Gemfile; path = ../Gemfile; sourceTree = "<group>"; };
		810963E31FB0C42E00B35959 /* Rakefile */ = {isa = PBXFileReference; lastKnownFileType = text; name = Rakefile; path = ../Rakefile; sourceTree = "<group>"; };
		810963E41FB0C42E00B35959 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = "Supporting Files/AppDelegate.swift"; sourceTree = "<group>"; };
		810963E61FB0C42E00B35959 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = "Supporting Files/Info.plist"; sourceTree = "<group>"; };
		810963E71FB0C42E00B35959 /* Archit.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Archit.entitlements; path = "Supporting Files/Archit.entitlements"; sourceTree = "<group>"; };
		810963E91FB0C42E00B35959 /* bootstrap.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = bootstrap.sh; path = ../Scripts/bootstrap.sh; sourceTree = "<group>"; };
		810963EA1FB0C42E00B35959 /* install_pre_commit.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = install_pre_commit.sh; path = ../Scripts/install_pre_commit.sh; sourceTree = "<group>"; };
		810963EB1FB0C42E00B35959 /* pre_commit.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = pre_commit.sh; path = ../Scripts/pre_commit.sh; sourceTree = "<group>"; };
		810963EC1FB0C42E00B35959 /* highlight_TODOs.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = highlight_TODOs.sh; path = ../Scripts/highlight_TODOs.sh; sourceTree = "<group>"; };
		810963ED1FB0C42E00B35959 /* symbolicate_crash.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = symbolicate_crash.sh; path = ../Scripts/symbolicate_crash.sh; sourceTree = "<group>"; };
		810963F31FB0C42E00B35959 /* ArchitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ArchitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		810963F71FB0C42E00B35959 /* ArchitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArchitTests.swift; sourceTree = "<group>"; };
		810963F91FB0C42E00B35959 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		810963FE1FB0C42E00B35959 /* ArchitUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ArchitUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		810964021FB0C42E00B35959 /* ArchitUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArchitUITests.swift; sourceTree = "<group>"; };
		810964041FB0C42E00B35959 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		817ED3501FBDE6D90066A679 /* LogManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LogManager.swift; path = Source/Managers/LogManager.swift; sourceTree = "<group>"; };
		8295823F1FDEC1F900DFD9BA /* FilmCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmCell.swift; sourceTree = "<group>"; };
		9E13B6F1A1B652AB4AD62B18 /* Pods-Domain.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Domain.release.xcconfig"; path = "Pods/Target Support Files/Pods-Domain/Pods-Domain.release.xcconfig"; sourceTree = "<group>"; };
		A73079477914B6D127E59CB7 /* Pods_DomainTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DomainTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		AE55A12BF45485A5033F2DAC /* Pods_ArchitTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ArchitTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		BB2BFE8043D3AABD5254FEFC /* Pods_Core.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Core.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		C5889FE77A4B48F977D2820C /* Pods-ArchitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArchitTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests.release.xcconfig"; sourceTree = "<group>"; };
		D22F048FB77CEBE13E984EDB /* Pods-CoreTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CoreTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests.release.xcconfig"; sourceTree = "<group>"; };
		D5283FA41FB637F7008DCA34 /* FilmSearchNetworkModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmSearchNetworkModel.swift; sourceTree = "<group>"; };
		D5283FAA1FB71A0E008DCA34 /* SearchFilmServiceTask.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchFilmServiceTask.swift; sourceTree = "<group>"; };
		D582F42F1FB2273A002BDB91 /* FilmsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmsViewController.swift; sourceTree = "<group>"; };
		D582F4301FB2273A002BDB91 /* FilmsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmsController.swift; sourceTree = "<group>"; };
		D582F4331FB22761002BDB91 /* UITableView+Reusable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITableView+Reusable.swift"; sourceTree = "<group>"; };
		D582F4361FB22821002BDB91 /* FilmDetailController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmDetailController.swift; sourceTree = "<group>"; };
		D582F4371FB22821002BDB91 /* FilmDetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmDetailViewController.swift; sourceTree = "<group>"; };
		D582F43B1FB239C4002BDB91 /* BaseInteractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseInteractor.swift; sourceTree = "<group>"; };
		D582F43D1FB23A8D002BDB91 /* FilmsInteractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilmsInteractor.swift; sourceTree = "<group>"; };
		D582F43F1FB38CF1002BDB91 /* NetworkServiceTransformer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkServiceTransformer.swift; sourceTree = "<group>"; };
		D582F4401FB38CF1002BDB91 /* NetworkService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkService.swift; sourceTree = "<group>"; };
		D582F4411FB38CF1002BDB91 /* NetworkServiceProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkServiceProtocol.swift; sourceTree = "<group>"; };
		D582F4421FB38CF1002BDB91 /* ServiceProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServiceProtocol.swift; sourceTree = "<group>"; };
		D582F4441FB38CF1002BDB91 /* TaskProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TaskProtocol.swift; sourceTree = "<group>"; };
		D582F4451FB38CF1002BDB91 /* ServiceTaskProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServiceTaskProtocol.swift; sourceTree = "<group>"; };
		D582F4461FB38CF1002BDB91 /* ServiceTask.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServiceTask.swift; sourceTree = "<group>"; };
		D582F4471FB38CF1002BDB91 /* Transformer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Transformer.swift; sourceTree = "<group>"; };
		D582F4551FB61B5B002BDB91 /* FilmsService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmsService.swift; sourceTree = "<group>"; };
		D582F4571FB61C56002BDB91 /* FilmsNetworkTransformer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmsNetworkTransformer.swift; sourceTree = "<group>"; };
		D582F4591FB61D2F002BDB91 /* SearchFilmsServiceTask.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFilmsServiceTask.swift; sourceTree = "<group>"; };
		D582F45B1FB61D91002BDB91 /* FilmNetworkModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmNetworkModel.swift; sourceTree = "<group>"; };
		D582F45D1FB620D5002BDB91 /* FilmRatingNetworkModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilmRatingNetworkModel.swift; sourceTree = "<group>"; };
		D582F45F1FB62207002BDB91 /* Film.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Film.swift; sourceTree = "<group>"; };
		D58D1A9A1FB2172000721663 /* BaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = "<group>"; };
		D58D1A9C1FB2172000721663 /* BaseNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseNavigationController.swift; sourceTree = "<group>"; };
		D58D1A9E1FB2172000721663 /* BaseController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseController.swift; sourceTree = "<group>"; };
		D5FF818D1FB8AFD600EAC050 /* NetworkServiceConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkServiceConstants.swift; sourceTree = "<group>"; };
		DC7AA124EFC32130BD7EE6D3 /* Pods-ArchitUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArchitUITests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests.debug.xcconfig"; sourceTree = "<group>"; };
		F2239F4AAFF95EF0825F673A /* Pods-ArchitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ArchitTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		810823271FB0C594009F0C43 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D582F4631FB62376002BDB91 /* Domain.framework in Frameworks */,
				D238D4DBD18E34740087505B /* Pods_Core.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810823301FB0C594009F0C43 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				810823341FB0C594009F0C43 /* Core.framework in Frameworks */,
				9AC00EF4802746D651A3FFE3 /* Pods_CoreTests.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8108234A1FB0C5AA009F0C43 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8374FD19ACE27BF2EEF1BADF /* Pods_Domain.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810823531FB0C5AA009F0C43 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				810823571FB0C5AA009F0C43 /* Domain.framework in Frameworks */,
				3EEB7D682D5B0E595955661E /* Pods_DomainTests.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810963C21FB0C42E00B35959 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D5283FA61FB65079008DCA34 /* Domain.framework in Frameworks */,
				A4D041333F586D156E01B44E /* Pods_Archit.framework in Frameworks */,
				810823401FB0C594009F0C43 /* Core.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810963F01FB0C42E00B35959 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				5DDD960198C32755578FCC06 /* Pods_ArchitTests.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810963FB1FB0C42E00B35959 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				7ACA6D27D75176DE3C94E936 /* Pods_ArchitUITests.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		0C50E9DAB7125D9762128E54 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				51036FE5FB812710D2B3A0F7 /* Pods_Archit.framework */,
				AE55A12BF45485A5033F2DAC /* Pods_ArchitTests.framework */,
				7BBCEB415324D3D8E20DD0FF /* Pods_ArchitUITests.framework */,
				BB2BFE8043D3AABD5254FEFC /* Pods_Core.framework */,
				6B55B0227AAC528CF431AFE3 /* Pods_CoreTests.framework */,
				5070463760B7BEFCBFA8995E /* Pods_Domain.framework */,
				A73079477914B6D127E59CB7 /* Pods_DomainTests.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		453EC2F772010FFBE0B63D78 /* Pods */ = {
			isa = PBXGroup;
			children = (
				1D22BA66BB0A3D7C4662F2DE /* Pods-Archit.debug.xcconfig */,
				4D1AEE1B204D4544AAF01F78 /* Pods-Archit.release.xcconfig */,
				F2239F4AAFF95EF0825F673A /* Pods-ArchitTests.debug.xcconfig */,
				C5889FE77A4B48F977D2820C /* Pods-ArchitTests.release.xcconfig */,
				DC7AA124EFC32130BD7EE6D3 /* Pods-ArchitUITests.debug.xcconfig */,
				0C965850A085A5CD8D2663C6 /* Pods-ArchitUITests.release.xcconfig */,
				718EE189F41C5809037880C9 /* Pods-Core.debug.xcconfig */,
				6419E04F0343B79EE7457FE5 /* Pods-Core.release.xcconfig */,
				31086010F280804A3BB3FD52 /* Pods-CoreTests.debug.xcconfig */,
				D22F048FB77CEBE13E984EDB /* Pods-CoreTests.release.xcconfig */,
				6C57BC3580C21A4356BEF996 /* Pods-Domain.debug.xcconfig */,
				9E13B6F1A1B652AB4AD62B18 /* Pods-Domain.release.xcconfig */,
				72C16377B21D535A1403C99E /* Pods-DomainTests.debug.xcconfig */,
				2174FBEAD5708D26C3821F32 /* Pods-DomainTests.release.xcconfig */,
			);
			name = Pods;
			sourceTree = "<group>";
		};
		8108232C1FB0C594009F0C43 /* Core */ = {
			isa = PBXGroup;
			children = (
				D582F4501FB61AA7002BDB91 /* Services */,
				D582F4431FB38CF1002BDB91 /* Tasks */,
				D582F4401FB38CF1002BDB91 /* NetworkService.swift */,
				D582F4411FB38CF1002BDB91 /* NetworkServiceProtocol.swift */,
				D582F4421FB38CF1002BDB91 /* ServiceProtocol.swift */,
				D582F43F1FB38CF1002BDB91 /* NetworkServiceTransformer.swift */,
				D582F4471FB38CF1002BDB91 /* Transformer.swift */,
				8108232D1FB0C594009F0C43 /* Core.h */,
				8108232E1FB0C594009F0C43 /* Info.plist */,
			);
			path = Core;
			sourceTree = "<group>";
		};
		810823391FB0C594009F0C43 /* CoreTests */ = {
			isa = PBXGroup;
			children = (
				8108233A1FB0C594009F0C43 /* CoreTests.swift */,
				8108233C1FB0C594009F0C43 /* Info.plist */,
			);
			path = CoreTests;
			sourceTree = "<group>";
		};
		8108234F1FB0C5AA009F0C43 /* Domain */ = {
			isa = PBXGroup;
			children = (
				D582F45F1FB62207002BDB91 /* Film.swift */,
				810823501FB0C5AA009F0C43 /* Domain.h */,
				810823511FB0C5AA009F0C43 /* Info.plist */,
			);
			path = Domain;
			sourceTree = "<group>";
		};
		8108235C1FB0C5AA009F0C43 /* DomainTests */ = {
			isa = PBXGroup;
			children = (
				8108235D1FB0C5AA009F0C43 /* DomainTests.swift */,
				8108235F1FB0C5AA009F0C43 /* Info.plist */,
			);
			path = DomainTests;
			sourceTree = "<group>";
		};
		810963BC1FB0C42E00B35959 = {
			isa = PBXGroup;
			children = (
				810963C91FB0C42E00B35959 /* Archit */,
				810963F61FB0C42E00B35959 /* ArchitTests */,
				810964011FB0C42E00B35959 /* ArchitUITests */,
				8108232C1FB0C594009F0C43 /* Core */,
				810823391FB0C594009F0C43 /* CoreTests */,
				8108234F1FB0C5AA009F0C43 /* Domain */,
				8108235C1FB0C5AA009F0C43 /* DomainTests */,
				810963C81FB0C42E00B35959 /* Products */,
				453EC2F772010FFBE0B63D78 /* Pods */,
				0C50E9DAB7125D9762128E54 /* Frameworks */,
			);
			sourceTree = "<group>";
		};
		810963C81FB0C42E00B35959 /* Products */ = {
			isa = PBXGroup;
			children = (
				810963C71FB0C42E00B35959 /* Archit.app */,
				810963F31FB0C42E00B35959 /* ArchitTests.xctest */,
				810963FE1FB0C42E00B35959 /* ArchitUITests.xctest */,
				8108232B1FB0C594009F0C43 /* Core.framework */,
				810823331FB0C594009F0C43 /* CoreTests.xctest */,
				8108234E1FB0C5AA009F0C43 /* Domain.framework */,
				810823561FB0C5AA009F0C43 /* DomainTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		810963C91FB0C42E00B35959 /* Archit */ = {
			isa = PBXGroup;
			children = (
				810963CA1FB0C42E00B35959 /* Source */,
				810963CF1FB0C42E00B35959 /* UI */,
				810963D31FB0C42E00B35959 /* Resources */,
				810963E81FB0C42E00B35959 /* Scripts */,
				810963DD1FB0C42E00B35959 /* Supporting Files */,
			);
			path = Archit;
			sourceTree = "<group>";
		};
		810963CA1FB0C42E00B35959 /* Source */ = {
			isa = PBXGroup;
			children = (
				D582F4351FB22821002BDB91 /* FilmDetail */,
				D582F42E1FB2273A002BDB91 /* Films */,
				810963CB1FB0C42E00B35959 /* Base */,
				810963DA1FB0C42E00B35959 /* Managers */,
			);
			name = Source;
			sourceTree = "<group>";
		};
		810963CB1FB0C42E00B35959 /* Base */ = {
			isa = PBXGroup;
			children = (
				D582F43A1FB239C4002BDB91 /* Interactors */,
				D582F42D1FB22731002BDB91 /* Extensions */,
				D58D1A9D1FB2172000721663 /* Controllers */,
				D58D1A991FB2172000721663 /* ViewControllers */,
			);
			name = Base;
			sourceTree = "<group>";
		};
		810963CF1FB0C42E00B35959 /* UI */ = {
			isa = PBXGroup;
			children = (
				810963D01FB0C42E00B35959 /* Main.storyboard */,
				810963D71FB0C42E00B35959 /* LaunchScreen.storyboard */,
			);
			name = UI;
			sourceTree = "<group>";
		};
		810963D31FB0C42E00B35959 /* Resources */ = {
			isa = PBXGroup;
			children = (
				810963D41FB0C42E00B35959 /* Assets */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		810963D41FB0C42E00B35959 /* Assets */ = {
			isa = PBXGroup;
			children = (
				810963D51FB0C42E00B35959 /* Assets.xcassets */,
			);
			name = Assets;
			sourceTree = "<group>";
		};
		810963DA1FB0C42E00B35959 /* Managers */ = {
			isa = PBXGroup;
			children = (
				810963DB1FB0C42E00B35959 /* AppManager.swift */,
				817ED3501FBDE6D90066A679 /* LogManager.swift */,
			);
			name = Managers;
			sourceTree = "<group>";
		};
		810963DD1FB0C42E00B35959 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				810963DE1FB0C42E00B35959 /* .gitignore */,
				810963DF1FB0C42E00B35959 /* .swiftlint.yml */,
				810963E01FB0C42E00B35959 /* README.md */,
				810963E11FB0C42E00B35959 /* Podfile */,
				810963E21FB0C42E00B35959 /* Gemfile */,
				810963E31FB0C42E00B35959 /* Rakefile */,
				810963E41FB0C42E00B35959 /* AppDelegate.swift */,
				810963E61FB0C42E00B35959 /* Info.plist */,
				810963E71FB0C42E00B35959 /* Archit.entitlements */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		810963E81FB0C42E00B35959 /* Scripts */ = {
			isa = PBXGroup;
			children = (
				810963E91FB0C42E00B35959 /* bootstrap.sh */,
				810963EA1FB0C42E00B35959 /* install_pre_commit.sh */,
				810963EB1FB0C42E00B35959 /* pre_commit.sh */,
				810963EC1FB0C42E00B35959 /* highlight_TODOs.sh */,
				810963ED1FB0C42E00B35959 /* symbolicate_crash.sh */,
			);
			name = Scripts;
			sourceTree = "<group>";
		};
		810963F61FB0C42E00B35959 /* ArchitTests */ = {
			isa = PBXGroup;
			children = (
				810963F71FB0C42E00B35959 /* ArchitTests.swift */,
				810963F91FB0C42E00B35959 /* Info.plist */,
			);
			path = ArchitTests;
			sourceTree = "<group>";
		};
		810964011FB0C42E00B35959 /* ArchitUITests */ = {
			isa = PBXGroup;
			children = (
				810964021FB0C42E00B35959 /* ArchitUITests.swift */,
				810964041FB0C42E00B35959 /* Info.plist */,
			);
			path = ArchitUITests;
			sourceTree = "<group>";
		};
		D582F42D1FB22731002BDB91 /* Extensions */ = {
			isa = PBXGroup;
			children = (
				D582F4331FB22761002BDB91 /* UITableView+Reusable.swift */,
			);
			name = Extensions;
			path = Source/Base/Extensions;
			sourceTree = "<group>";
		};
		D582F42E1FB2273A002BDB91 /* Films */ = {
			isa = PBXGroup;
			children = (
				D582F43D1FB23A8D002BDB91 /* FilmsInteractor.swift */,
				D582F4301FB2273A002BDB91 /* FilmsController.swift */,
				D582F42F1FB2273A002BDB91 /* FilmsViewController.swift */,
				8295823F1FDEC1F900DFD9BA /* FilmCell.swift */,
			);
			name = Films;
			path = Source/Films;
			sourceTree = "<group>";
		};
		D582F4351FB22821002BDB91 /* FilmDetail */ = {
			isa = PBXGroup;
			children = (
				D582F4361FB22821002BDB91 /* FilmDetailController.swift */,
				D582F4371FB22821002BDB91 /* FilmDetailViewController.swift */,
			);
			name = FilmDetail;
			path = Source/FilmDetail;
			sourceTree = "<group>";
		};
		D582F43A1FB239C4002BDB91 /* Interactors */ = {
			isa = PBXGroup;
			children = (
				D582F43B1FB239C4002BDB91 /* BaseInteractor.swift */,
			);
			name = Interactors;
			path = Source/Base/Interactors;
			sourceTree = "<group>";
		};
		D582F4431FB38CF1002BDB91 /* Tasks */ = {
			isa = PBXGroup;
			children = (
				D582F4441FB38CF1002BDB91 /* TaskProtocol.swift */,
				D582F4451FB38CF1002BDB91 /* ServiceTaskProtocol.swift */,
				D582F4461FB38CF1002BDB91 /* ServiceTask.swift */,
			);
			path = Tasks;
			sourceTree = "<group>";
		};
		D582F4501FB61AA7002BDB91 /* Services */ = {
			isa = PBXGroup;
			children = (
				D582F4511FB61AA7002BDB91 /* Films */,
				D5FF818D1FB8AFD600EAC050 /* NetworkServiceConstants.swift */,
			);
			path = Services;
			sourceTree = "<group>";
		};
		D582F4511FB61AA7002BDB91 /* Films */ = {
			isa = PBXGroup;
			children = (
				D582F4531FB61B20002BDB91 /* NetworkModels */,
				D582F4521FB61ADC002BDB91 /* Tasks */,
				D582F4551FB61B5B002BDB91 /* FilmsService.swift */,
			);
			path = Films;
			sourceTree = "<group>";
		};
		D582F4521FB61ADC002BDB91 /* Tasks */ = {
			isa = PBXGroup;
			children = (
				D5283FAA1FB71A0E008DCA34 /* SearchFilmServiceTask.swift */,
				D582F4591FB61D2F002BDB91 /* SearchFilmsServiceTask.swift */,
			);
			path = Tasks;
			sourceTree = "<group>";
		};
		D582F4531FB61B20002BDB91 /* NetworkModels */ = {
			isa = PBXGroup;
			children = (
				D582F4541FB61B20002BDB91 /* Transformers */,
				D5283FA41FB637F7008DCA34 /* FilmSearchNetworkModel.swift */,
				D582F45B1FB61D91002BDB91 /* FilmNetworkModel.swift */,
				D582F45D1FB620D5002BDB91 /* FilmRatingNetworkModel.swift */,
			);
			path = NetworkModels;
			sourceTree = "<group>";
		};
		D582F4541FB61B20002BDB91 /* Transformers */ = {
			isa = PBXGroup;
			children = (
				D582F4571FB61C56002BDB91 /* FilmsNetworkTransformer.swift */,
			);
			path = Transformers;
			sourceTree = "<group>";
		};
		D58D1A991FB2172000721663 /* ViewControllers */ = {
			isa = PBXGroup;
			children = (
				D58D1A9A1FB2172000721663 /* BaseViewController.swift */,
				D58D1A9C1FB2172000721663 /* BaseNavigationController.swift */,
			);
			name = ViewControllers;
			path = Source/Base/ViewControllers;
			sourceTree = "<group>";
		};
		D58D1A9D1FB2172000721663 /* Controllers */ = {
			isa = PBXGroup;
			children = (
				D58D1A9E1FB2172000721663 /* BaseController.swift */,
			);
			name = Controllers;
			path = Source/Base/Controllers;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		810823281FB0C594009F0C43 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8108233D1FB0C594009F0C43 /* Core.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8108234B1FB0C5AA009F0C43 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				810823601FB0C5AA009F0C43 /* Domain.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		8108232A1FB0C594009F0C43 /* Core */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 810823461FB0C594009F0C43 /* Build configuration list for PBXNativeTarget "Core" */;
			buildPhases = (
				A70251AF5242BB1FB4D76DC4 /* [CP] Check Pods Manifest.lock */,
				810823261FB0C594009F0C43 /* Sources */,
				810823271FB0C594009F0C43 /* Frameworks */,
				810823281FB0C594009F0C43 /* Headers */,
				810823291FB0C594009F0C43 /* Resources */,
				89B60B53987246746319F05E /* [CP] Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
				D582F4621FB6236F002BDB91 /* PBXTargetDependency */,
			);
			name = Core;
			productName = Core;
			productReference = 8108232B1FB0C594009F0C43 /* Core.framework */;
			productType = "com.apple.product-type.framework";
		};
		810823321FB0C594009F0C43 /* CoreTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 810823481FB0C594009F0C43 /* Build configuration list for PBXNativeTarget "CoreTests" */;
			buildPhases = (
				452642ACA2C3428799FC033D /* [CP] Check Pods Manifest.lock */,
				8108232F1FB0C594009F0C43 /* Sources */,
				810823301FB0C594009F0C43 /* Frameworks */,
				810823311FB0C594009F0C43 /* Resources */,
				0F37892F8817CE819F40D9A6 /* [CP] Embed Pods Frameworks */,
				636D67D5F6390556A8BD50DD /* [CP] Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
				810823361FB0C594009F0C43 /* PBXTargetDependency */,
				810823381FB0C594009F0C43 /* PBXTargetDependency */,
			);
			name = CoreTests;
			productName = CoreTests;
			productReference = 810823331FB0C594009F0C43 /* CoreTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		8108234D1FB0C5AA009F0C43 /* Domain */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 810823651FB0C5AA009F0C43 /* Build configuration list for PBXNativeTarget "Domain" */;
			buildPhases = (
				E2136BF17F8A3DEF9F4A1195 /* [CP] Check Pods Manifest.lock */,
				810823491FB0C5AA009F0C43 /* Sources */,
				8108234A1FB0C5AA009F0C43 /* Frameworks */,
				8108234B1FB0C5AA009F0C43 /* Headers */,
				8108234C1FB0C5AA009F0C43 /* Resources */,
				E91F414484FC9B3AA62D4E29 /* [CP] Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Domain;
			productName = Domain;
			productReference = 8108234E1FB0C5AA009F0C43 /* Domain.framework */;
			productType = "com.apple.product-type.framework";
		};
		810823551FB0C5AA009F0C43 /* DomainTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 810823681FB0C5AA009F0C43 /* Build configuration list for PBXNativeTarget "DomainTests" */;
			buildPhases = (
				41A442F7078D29AA5D1A5918 /* [CP] Check Pods Manifest.lock */,
				810823521FB0C5AA009F0C43 /* Sources */,
				810823531FB0C5AA009F0C43 /* Frameworks */,
				810823541FB0C5AA009F0C43 /* Resources */,
				7F81C44A7B1C126DC779A3DC /* [CP] Embed Pods Frameworks */,
				23CDF29E49343CB6508661F9 /* [CP] Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
				810823591FB0C5AA009F0C43 /* PBXTargetDependency */,
				8108235B1FB0C5AA009F0C43 /* PBXTargetDependency */,
			);
			name = DomainTests;
			productName = DomainTests;
			productReference = 810823561FB0C5AA009F0C43 /* DomainTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		810963C61FB0C42E00B35959 /* Archit */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 810964071FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "Archit" */;
			buildPhases = (
				D54E865DFBE4F5F4CC7E544F /* [CP] Check Pods Manifest.lock */,
				810963C51FB0C42E00B35959 /* SwiftLint */,
				810963C11FB0C42E00B35959 /* Sources */,
				810963C21FB0C42E00B35959 /* Frameworks */,
				810963C31FB0C42E00B35959 /* Resources */,
				810963C41FB0C42E00B35959 /* Warn for TODO comments */,
				3B4FD5073CD38F0F60C345E8 /* [CP] Embed Pods Frameworks */,
				35C5FB7F0755D3EFAA4635EE /* [CP] Copy Pods Resources */,
				810823471FB0C594009F0C43 /* Embed Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				8108233F1FB0C594009F0C43 /* PBXTargetDependency */,
				D5283FA91FB65079008DCA34 /* PBXTargetDependency */,
			);
			name = Archit;
			productName = Archit;
			productReference = 810963C71FB0C42E00B35959 /* Archit.app */;
			productType = "com.apple.product-type.application";
		};
		810963F21FB0C42E00B35959 /* ArchitTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 8109640A1FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "ArchitTests" */;
			buildPhases = (
				AC65870F4B808B6F1D6ACFC2 /* [CP] Check Pods Manifest.lock */,
				810963EF1FB0C42E00B35959 /* Sources */,
				810963F01FB0C42E00B35959 /* Frameworks */,
				810963F11FB0C42E00B35959 /* Resources */,
				9ADDCB0970EBE40438EF37CC /* [CP] Embed Pods Frameworks */,
				3268D978B2F1F7A8A29C903E /* [CP] Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
				810963F51FB0C42E00B35959 /* PBXTargetDependency */,
			);
			name = ArchitTests;
			productName = ArchitTests;
			productReference = 810963F31FB0C42E00B35959 /* ArchitTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
		810963FD1FB0C42E00B35959 /* ArchitUITests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 8109640D1FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "ArchitUITests" */;
			buildPhases = (
				4D84A2421C75345F1C6DCE15 /* [CP] Check Pods Manifest.lock */,
				810963FA1FB0C42E00B35959 /* Sources */,
				810963FB1FB0C42E00B35959 /* Frameworks */,
				810963FC1FB0C42E00B35959 /* Resources */,
				F8FD364DD128DF2C62AABF3E /* [CP] Embed Pods Frameworks */,
				0C9C06862454884A9ECA317F /* [CP] Copy Pods Resources */,
			);
			buildRules = (
			);
			dependencies = (
				810964001FB0C42E00B35959 /* PBXTargetDependency */,
			);
			name = ArchitUITests;
			productName = ArchitUITests;
			productReference = 810963FE1FB0C42E00B35959 /* ArchitUITests.xctest */;
			productType = "com.apple.product-type.bundle.ui-testing";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		810963BD1FB0C42E00B35959 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0910;
				LastUpgradeCheck = 0910;
				ORGANIZATIONNAME = Intelygenz;
				TargetAttributes = {
					8108232A1FB0C594009F0C43 = {
						CreatedOnToolsVersion = 9.1;
						LastSwiftMigration = 0910;
						ProvisioningStyle = Automatic;
					};
					810823321FB0C594009F0C43 = {
						CreatedOnToolsVersion = 9.1;
						ProvisioningStyle = Automatic;
						TestTargetID = 810963C61FB0C42E00B35959;
					};
					8108234D1FB0C5AA009F0C43 = {
						CreatedOnToolsVersion = 9.1;
						LastSwiftMigration = 0910;
						ProvisioningStyle = Automatic;
					};
					810823551FB0C5AA009F0C43 = {
						CreatedOnToolsVersion = 9.1;
						ProvisioningStyle = Automatic;
						TestTargetID = 810963C61FB0C42E00B35959;
					};
					810963C61FB0C42E00B35959 = {
						CreatedOnToolsVersion = 9.1;
						ProvisioningStyle = Automatic;
					};
					810963F21FB0C42E00B35959 = {
						CreatedOnToolsVersion = 9.1;
						ProvisioningStyle = Automatic;
						TestTargetID = 810963C61FB0C42E00B35959;
					};
					810963FD1FB0C42E00B35959 = {
						CreatedOnToolsVersion = 9.1;
						ProvisioningStyle = Automatic;
						TestTargetID = 810963C61FB0C42E00B35959;
					};
				};
			};
			buildConfigurationList = 810963C01FB0C42E00B35959 /* Build configuration list for PBXProject "Archit" */;
			compatibilityVersion = "Xcode 8.0";
			developmentRegion = en;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 810963BC1FB0C42E00B35959;
			productRefGroup = 810963C81FB0C42E00B35959 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				810963C61FB0C42E00B35959 /* Archit */,
				810963F21FB0C42E00B35959 /* ArchitTests */,
				810963FD1FB0C42E00B35959 /* ArchitUITests */,
				8108232A1FB0C594009F0C43 /* Core */,
				810823321FB0C594009F0C43 /* CoreTests */,
				8108234D1FB0C5AA009F0C43 /* Domain */,
				810823551FB0C5AA009F0C43 /* DomainTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		810823291FB0C594009F0C43 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810823311FB0C594009F0C43 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8108234C1FB0C5AA009F0C43 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810823541FB0C5AA009F0C43 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810963C31FB0C42E00B35959 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				810963D91FB0C42E00B35959 /* LaunchScreen.storyboard in Resources */,
				810963D61FB0C42E00B35959 /* Assets.xcassets in Resources */,
				810963D21FB0C42E00B35959 /* Main.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810963F11FB0C42E00B35959 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810963FC1FB0C42E00B35959 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		0C9C06862454884A9ECA317F /* [CP] Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		0F37892F8817CE819F40D9A6 /* [CP] Embed Pods Frameworks */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${SRCROOT}/Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests-frameworks.sh",
				"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
				"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
				"${BUILT_PRODUCTS_DIR}/NetClient/Net.framework",
			);
			name = "[CP] Embed Pods Frameworks";
			outputPaths = (
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Net.framework",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests-frameworks.sh\"\n";
			showEnvVarsInLog = 0;
		};
		23CDF29E49343CB6508661F9 /* [CP] Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		3268D978B2F1F7A8A29C903E /* [CP] Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		35C5FB7F0755D3EFAA4635EE /* [CP] Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Archit/Pods-Archit-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		3B4FD5073CD38F0F60C345E8 /* [CP] Embed Pods Frameworks */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${SRCROOT}/Pods/Target Support Files/Pods-Archit/Pods-Archit-frameworks.sh",
				"${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework",
				"${BUILT_PRODUCTS_DIR}/Kommander/Kommander.framework",
				"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
				"${BUILT_PRODUCTS_DIR}/Reusable/Reusable.framework",
				"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
				"${BUILT_PRODUCTS_DIR}/NetClient/Net.framework",
			);
			name = "[CP] Embed Pods Frameworks";
			outputPaths = (
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kommander.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reusable.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Net.framework",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Archit/Pods-Archit-frameworks.sh\"\n";
			showEnvVarsInLog = 0;
		};
		41A442F7078D29AA5D1A5918 /* [CP] Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
				"${PODS_ROOT}/Manifest.lock",
			);
			name = "[CP] Check Pods Manifest.lock";
			outputPaths = (
				"$(DERIVED_FILE_DIR)/Pods-DomainTests-checkManifestLockResult.txt",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
			showEnvVarsInLog = 0;
		};
		452642ACA2C3428799FC033D /* [CP] Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
				"${PODS_ROOT}/Manifest.lock",
			);
			name = "[CP] Check Pods Manifest.lock";
			outputPaths = (
				"$(DERIVED_FILE_DIR)/Pods-CoreTests-checkManifestLockResult.txt",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
			showEnvVarsInLog = 0;
		};
		4D84A2421C75345F1C6DCE15 /* [CP] Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
				"${PODS_ROOT}/Manifest.lock",
			);
			name = "[CP] Check Pods Manifest.lock";
			outputPaths = (
				"$(DERIVED_FILE_DIR)/Pods-ArchitUITests-checkManifestLockResult.txt",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
			showEnvVarsInLog = 0;
		};
		636D67D5F6390556A8BD50DD /* [CP] Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-CoreTests/Pods-CoreTests-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		7F81C44A7B1C126DC779A3DC /* [CP] Embed Pods Frameworks */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${SRCROOT}/Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests-frameworks.sh",
				"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
				"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
			);
			name = "[CP] Embed Pods Frameworks";
			outputPaths = (
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-DomainTests/Pods-DomainTests-frameworks.sh\"\n";
			showEnvVarsInLog = 0;
		};
		810963C41FB0C42E00B35959 /* Warn for TODO comments */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Warn for TODO comments";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Scripts/highlight_TODOs.sh\"";
		};
		810963C51FB0C42E00B35959 /* SwiftLint */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = SwiftLint;
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${PODS_ROOT}/SwiftLint/swiftlint\"";
		};
		89B60B53987246746319F05E /* [CP] Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Core/Pods-Core-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		9ADDCB0970EBE40438EF37CC /* [CP] Embed Pods Frameworks */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${SRCROOT}/Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests-frameworks.sh",
				"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
				"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
			);
			name = "[CP] Embed Pods Frameworks";
			outputPaths = (
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ArchitTests/Pods-ArchitTests-frameworks.sh\"\n";
			showEnvVarsInLog = 0;
		};
		A70251AF5242BB1FB4D76DC4 /* [CP] Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
				"${PODS_ROOT}/Manifest.lock",
			);
			name = "[CP] Check Pods Manifest.lock";
			outputPaths = (
				"$(DERIVED_FILE_DIR)/Pods-Core-checkManifestLockResult.txt",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
			showEnvVarsInLog = 0;
		};
		AC65870F4B808B6F1D6ACFC2 /* [CP] Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
				"${PODS_ROOT}/Manifest.lock",
			);
			name = "[CP] Check Pods Manifest.lock";
			outputPaths = (
				"$(DERIVED_FILE_DIR)/Pods-ArchitTests-checkManifestLockResult.txt",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
			showEnvVarsInLog = 0;
		};
		D54E865DFBE4F5F4CC7E544F /* [CP] Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
				"${PODS_ROOT}/Manifest.lock",
			);
			name = "[CP] Check Pods Manifest.lock";
			outputPaths = (
				"$(DERIVED_FILE_DIR)/Pods-Archit-checkManifestLockResult.txt",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
			showEnvVarsInLog = 0;
		};
		E2136BF17F8A3DEF9F4A1195 /* [CP] Check Pods Manifest.lock */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
				"${PODS_ROOT}/Manifest.lock",
			);
			name = "[CP] Check Pods Manifest.lock";
			outputPaths = (
				"$(DERIVED_FILE_DIR)/Pods-Domain-checkManifestLockResult.txt",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
			showEnvVarsInLog = 0;
		};
		E91F414484FC9B3AA62D4E29 /* [CP] Copy Pods Resources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "[CP] Copy Pods Resources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Domain/Pods-Domain-resources.sh\"\n";
			showEnvVarsInLog = 0;
		};
		F8FD364DD128DF2C62AABF3E /* [CP] Embed Pods Frameworks */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
				"${SRCROOT}/Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests-frameworks.sh",
				"${BUILT_PRODUCTS_DIR}/ObjcExceptionBridging/ObjcExceptionBridging.framework",
				"${BUILT_PRODUCTS_DIR}/XCGLogger/XCGLogger.framework",
				"${BUILT_PRODUCTS_DIR}/Cucumberish/Cucumberish.framework",
			);
			name = "[CP] Embed Pods Frameworks";
			outputPaths = (
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObjcExceptionBridging.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XCGLogger.framework",
				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Cucumberish.framework",
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ArchitUITests/Pods-ArchitUITests-frameworks.sh\"\n";
			showEnvVarsInLog = 0;
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		810823261FB0C594009F0C43 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				817ED3541FBDE7BE0066A679 /* LogManager.swift in Sources */,
				D5FF818E1FB8AFD600EAC050 /* NetworkServiceConstants.swift in Sources */,
				D582F4581FB61C56002BDB91 /* FilmsNetworkTransformer.swift in Sources */,
				D582F4491FB38CF1002BDB91 /* NetworkService.swift in Sources */,
				D582F4481FB38CF1002BDB91 /* NetworkServiceTransformer.swift in Sources */,
				D582F4561FB61B5B002BDB91 /* FilmsService.swift in Sources */,
				D582F45C1FB61D91002BDB91 /* FilmNetworkModel.swift in Sources */,
				D5283FAB1FB71A0E008DCA34 /* SearchFilmServiceTask.swift in Sources */,
				D582F44E1FB38CF1002BDB91 /* ServiceTask.swift in Sources */,
				D582F44D1FB38CF1002BDB91 /* ServiceTaskProtocol.swift in Sources */,
				D582F45A1FB61D2F002BDB91 /* SearchFilmsServiceTask.swift in Sources */,
				D582F45E1FB620D5002BDB91 /* FilmRatingNetworkModel.swift in Sources */,
				D582F44A1FB38CF1002BDB91 /* NetworkServiceProtocol.swift in Sources */,
				D582F44B1FB38CF1002BDB91 /* ServiceProtocol.swift in Sources */,
				D582F44C1FB38CF1002BDB91 /* TaskProtocol.swift in Sources */,
				D5283FA51FB637F7008DCA34 /* FilmSearchNetworkModel.swift in Sources */,
				D582F44F1FB38CF1002BDB91 /* Transformer.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8108232F1FB0C594009F0C43 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8108233B1FB0C594009F0C43 /* CoreTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810823491FB0C5AA009F0C43 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				817ED3551FBDE7C00066A679 /* LogManager.swift in Sources */,
				D582F4601FB62207002BDB91 /* Film.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810823521FB0C5AA009F0C43 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				8108235E1FB0C5AA009F0C43 /* DomainTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810963C11FB0C42E00B35959 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				D582F4311FB2273A002BDB91 /* FilmsViewController.swift in Sources */,
				810963E51FB0C42E00B35959 /* AppDelegate.swift in Sources */,
				817ED3511FBDE6D90066A679 /* LogManager.swift in Sources */,
				D582F4321FB2273A002BDB91 /* FilmsController.swift in Sources */,
				810963DC1FB0C42E00B35959 /* AppManager.swift in Sources */,
				D582F4341FB22761002BDB91 /* UITableView+Reusable.swift in Sources */,
				D582F4381FB22822002BDB91 /* FilmDetailController.swift in Sources */,
				829582401FDEC1F900DFD9BA /* FilmCell.swift in Sources */,
				D58D1AA21FB2172000721663 /* BaseNavigationController.swift in Sources */,
				D58D1AA31FB2172000721663 /* BaseController.swift in Sources */,
				D582F43C1FB239C4002BDB91 /* BaseInteractor.swift in Sources */,
				D582F4391FB22822002BDB91 /* FilmDetailViewController.swift in Sources */,
				D582F43E1FB23A8D002BDB91 /* FilmsInteractor.swift in Sources */,
				D58D1AA01FB2172000721663 /* BaseViewController.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810963EF1FB0C42E00B35959 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				810963F81FB0C42E00B35959 /* ArchitTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		810963FA1FB0C42E00B35959 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				810964031FB0C42E00B35959 /* ArchitUITests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		810823361FB0C594009F0C43 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8108232A1FB0C594009F0C43 /* Core */;
			targetProxy = 810823351FB0C594009F0C43 /* PBXContainerItemProxy */;
		};
		810823381FB0C594009F0C43 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 810963C61FB0C42E00B35959 /* Archit */;
			targetProxy = 810823371FB0C594009F0C43 /* PBXContainerItemProxy */;
		};
		8108233F1FB0C594009F0C43 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8108232A1FB0C594009F0C43 /* Core */;
			targetProxy = 8108233E1FB0C594009F0C43 /* PBXContainerItemProxy */;
		};
		810823591FB0C5AA009F0C43 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8108234D1FB0C5AA009F0C43 /* Domain */;
			targetProxy = 810823581FB0C5AA009F0C43 /* PBXContainerItemProxy */;
		};
		8108235B1FB0C5AA009F0C43 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 810963C61FB0C42E00B35959 /* Archit */;
			targetProxy = 8108235A1FB0C5AA009F0C43 /* PBXContainerItemProxy */;
		};
		810963F51FB0C42E00B35959 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 810963C61FB0C42E00B35959 /* Archit */;
			targetProxy = 810963F41FB0C42E00B35959 /* PBXContainerItemProxy */;
		};
		810964001FB0C42E00B35959 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 810963C61FB0C42E00B35959 /* Archit */;
			targetProxy = 810963FF1FB0C42E00B35959 /* PBXContainerItemProxy */;
		};
		D5283FA91FB65079008DCA34 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8108234D1FB0C5AA009F0C43 /* Domain */;
			targetProxy = D5283FA81FB65079008DCA34 /* PBXContainerItemProxy */;
		};
		D582F4621FB6236F002BDB91 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8108234D1FB0C5AA009F0C43 /* Domain */;
			targetProxy = D582F4611FB6236F002BDB91 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		810963D01FB0C42E00B35959 /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				810963D11FB0C42E00B35959 /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		810963D71FB0C42E00B35959 /* LaunchScreen.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				810963D81FB0C42E00B35959 /* Base */,
			);
			name = LaunchScreen.storyboard;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		810823421FB0C594009F0C43 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 718EE189F41C5809037880C9 /* Pods-Core.debug.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_ENABLE_MODULES = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				CURRENT_PROJECT_VERSION = 1;
				DEFINES_MODULE = YES;
				DEVELOPMENT_TEAM = "";
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = Core/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.Core;
				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
				PROVISIONING_PROFILE_SPECIFIER = "";
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Debug;
		};
		810823431FB0C594009F0C43 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 6419E04F0343B79EE7457FE5 /* Pods-Core.release.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_ENABLE_MODULES = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				CURRENT_PROJECT_VERSION = 1;
				DEFINES_MODULE = YES;
				DEVELOPMENT_TEAM = "";
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = Core/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.Core;
				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
				PROVISIONING_PROFILE_SPECIFIER = "";
				SKIP_INSTALL = YES;
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		810823441FB0C594009F0C43 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 31086010F280804A3BB3FD52 /* Pods-CoreTests.debug.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = CoreTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.CoreTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
			};
			name = Debug;
		};
		810823451FB0C594009F0C43 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = D22F048FB77CEBE13E984EDB /* Pods-CoreTests.release.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = CoreTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.CoreTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
			};
			name = Release;
		};
		810823661FB0C5AA009F0C43 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 6C57BC3580C21A4356BEF996 /* Pods-Domain.debug.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_ENABLE_MODULES = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				CURRENT_PROJECT_VERSION = 1;
				DEFINES_MODULE = YES;
				DEVELOPMENT_TEAM = "";
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = Domain/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.Domain;
				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
				PROVISIONING_PROFILE_SPECIFIER = "";
				SKIP_INSTALL = YES;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Debug;
		};
		810823671FB0C5AA009F0C43 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 9E13B6F1A1B652AB4AD62B18 /* Pods-Domain.release.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_ENABLE_MODULES = YES;
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				CURRENT_PROJECT_VERSION = 1;
				DEFINES_MODULE = YES;
				DEVELOPMENT_TEAM = "";
				DYLIB_COMPATIBILITY_VERSION = 1;
				DYLIB_CURRENT_VERSION = 1;
				DYLIB_INSTALL_NAME_BASE = "@rpath";
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = Domain/Info.plist;
				INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.Domain;
				PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
				PROVISIONING_PROFILE_SPECIFIER = "";
				SKIP_INSTALL = YES;
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				VERSIONING_SYSTEM = "apple-generic";
				VERSION_INFO_PREFIX = "";
			};
			name = Release;
		};
		810823691FB0C5AA009F0C43 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 72C16377B21D535A1403C99E /* Pods-DomainTests.debug.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = DomainTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.DomainTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
			};
			name = Debug;
		};
		8108236A1FB0C5AA009F0C43 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 2174FBEAD5708D26C3821F32 /* Pods-DomainTests.release.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = DomainTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit.DomainTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
			};
			name = Release;
		};
		810964051FB0C42E00B35959 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				ALWAYS_SEARCH_USER_PATHS = NO;
				APS_ENVIRONMENT = development;
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ANALYZER_OBJC_DEALLOC = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_CODE_COVERAGE = YES;
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_ASSIGN_ENUM = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_CXX0X_EXTENSIONS = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
				CODE_SIGN_ENTITLEMENTS = "Archit/Supporting Files/Archit.entitlements";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_GENERATE_TEST_COVERAGE_FILES = YES;
				GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
				GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_SHADOW = YES;
				GCC_WARN_SIGN_COMPARE = YES;
				GCC_WARN_STRICT_SELECTOR_MATCH = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNKNOWN_PRAGMAS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_LABEL = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = "Archit/Supporting Files/Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 11.1;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=200 -Xfrontend -warn-long-expression-type-checking=200";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = iphoneos;
				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		810964061FB0C42E00B35959 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				ALWAYS_SEARCH_USER_PATHS = NO;
				APS_ENVIRONMENT = production;
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_ANALYZER_OBJC_DEALLOC = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_CODE_COVERAGE = YES;
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_ASSIGN_ENUM = YES;
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_COMMA = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_CXX0X_EXTENSIONS = YES;
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES;
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
				CLANG_WARN_STRICT_PROTOTYPES = YES;
				CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES;
				CODE_SIGN_ENTITLEMENTS = "Archit/Supporting Files/Archit.entitlements";
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_GENERATE_TEST_COVERAGE_FILES = YES;
				GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = YES;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
				GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
				GCC_WARN_SHADOW = YES;
				GCC_WARN_SIGN_COMPARE = YES;
				GCC_WARN_STRICT_SELECTOR_MATCH = YES;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNKNOWN_PRAGMAS = YES;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_LABEL = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				INFOPLIST_FILE = "Archit/Supporting Files/Info.plist";
				IPHONEOS_DEPLOYMENT_TARGET = 11.1;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				MTL_ENABLE_DEBUG_INFO = NO;
				OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=200 -Xfrontend -warn-long-expression-type-checking=200";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.Archit;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		810964081FB0C42E00B35959 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 1D22BA66BB0A3D7C4662F2DE /* Pods-Archit.debug.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
			};
			name = Debug;
		};
		810964091FB0C42E00B35959 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 4D1AEE1B204D4544AAF01F78 /* Pods-Archit.release.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
			};
			name = Release;
		};
		8109640B1FB0C42E00B35959 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = F2239F4AAFF95EF0825F673A /* Pods-ArchitTests.debug.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				BUNDLE_LOADER = "$(TEST_HOST)";
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = ArchitTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.ArchitTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
			};
			name = Debug;
		};
		8109640C1FB0C42E00B35959 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = C5889FE77A4B48F977D2820C /* Pods-ArchitTests.release.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				BUNDLE_LOADER = "$(TEST_HOST)";
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = ArchitTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.ArchitTests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Archit.app/Archit";
			};
			name = Release;
		};
		8109640E1FB0C42E00B35959 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = DC7AA124EFC32130BD7EE6D3 /* Pods-ArchitUITests.debug.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = ArchitUITests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.ArchitUITests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				TEST_TARGET_NAME = Archit;
			};
			name = Debug;
		};
		8109640F1FB0C42E00B35959 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = 0C965850A085A5CD8D2663C6 /* Pods-ArchitUITests.release.xcconfig */;
			buildSettings = {
				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
				CODE_SIGN_IDENTITY = "iPhone Developer";
				CODE_SIGN_STYLE = Automatic;
				DEVELOPMENT_TEAM = 3VW789WSMP;
				GCC_C_LANGUAGE_STANDARD = gnu11;
				INFOPLIST_FILE = ArchitUITests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = com.intelygenz.ArchitUITests;
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.0;
				TARGETED_DEVICE_FAMILY = "1,2";
				TEST_TARGET_NAME = Archit;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		810823461FB0C594009F0C43 /* Build configuration list for PBXNativeTarget "Core" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				810823421FB0C594009F0C43 /* Debug */,
				810823431FB0C594009F0C43 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		810823481FB0C594009F0C43 /* Build configuration list for PBXNativeTarget "CoreTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				810823441FB0C594009F0C43 /* Debug */,
				810823451FB0C594009F0C43 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		810823651FB0C5AA009F0C43 /* Build configuration list for PBXNativeTarget "Domain" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				810823661FB0C5AA009F0C43 /* Debug */,
				810823671FB0C5AA009F0C43 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		810823681FB0C5AA009F0C43 /* Build configuration list for PBXNativeTarget "DomainTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				810823691FB0C5AA009F0C43 /* Debug */,
				8108236A1FB0C5AA009F0C43 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		810963C01FB0C42E00B35959 /* Build configuration list for PBXProject "Archit" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				810964051FB0C42E00B35959 /* Debug */,
				810964061FB0C42E00B35959 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		810964071FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "Archit" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				810964081FB0C42E00B35959 /* Debug */,
				810964091FB0C42E00B35959 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		8109640A1FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "ArchitTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				8109640B1FB0C42E00B35959 /* Debug */,
				8109640C1FB0C42E00B35959 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		8109640D1FB0C42E00B35959 /* Build configuration list for PBXNativeTarget "ArchitUITests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				8109640E1FB0C42E00B35959 /* Debug */,
				8109640F1FB0C42E00B35959 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 810963BD1FB0C42E00B35959 /* Project object */;
}


================================================
FILE: Archit.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
   version = "1.0">
   <FileRef
      location = "self:Archit.xcodeproj">
   </FileRef>
</Workspace>


================================================
FILE: Archit.xcodeproj/xcshareddata/xcschemes/Archit.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0910"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "810963C61FB0C42E00B35959"
               BuildableName = "Archit.app"
               BlueprintName = "Archit"
               ReferencedContainer = "container:Archit.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      language = ""
      shouldUseLaunchSchemeArgsEnv = "YES"
      codeCoverageEnabled = "YES">
      <Testables>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "810963F21FB0C42E00B35959"
               BuildableName = "ArchitTests.xctest"
               BlueprintName = "ArchitTests"
               ReferencedContainer = "container:Archit.xcodeproj">
            </BuildableReference>
         </TestableReference>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "810963FD1FB0C42E00B35959"
               BuildableName = "ArchitUITests.xctest"
               BlueprintName = "ArchitUITests"
               ReferencedContainer = "container:Archit.xcodeproj">
            </BuildableReference>
         </TestableReference>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "810823321FB0C594009F0C43"
               BuildableName = "CoreTests.xctest"
               BlueprintName = "CoreTests"
               ReferencedContainer = "container:Archit.xcodeproj">
            </BuildableReference>
         </TestableReference>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "810823551FB0C5AA009F0C43"
               BuildableName = "DomainTests.xctest"
               BlueprintName = "DomainTests"
               ReferencedContainer = "container:Archit.xcodeproj">
            </BuildableReference>
         </TestableReference>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "810963C61FB0C42E00B35959"
            BuildableName = "Archit.app"
            BlueprintName = "Archit"
            ReferencedContainer = "container:Archit.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      language = ""
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "810963C61FB0C42E00B35959"
            BuildableName = "Archit.app"
            BlueprintName = "Archit"
            ReferencedContainer = "container:Archit.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "810963C61FB0C42E00B35959"
            BuildableName = "Archit.app"
            BlueprintName = "Archit"
            ReferencedContainer = "container:Archit.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Archit.xcodeproj/xcshareddata/xcschemes/Core.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0910"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "8108232A1FB0C594009F0C43"
               BuildableName = "Core.framework"
               BlueprintName = "Core"
               ReferencedContainer = "container:Archit.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      language = ""
      shouldUseLaunchSchemeArgsEnv = "YES"
      codeCoverageEnabled = "YES">
      <Testables>
      </Testables>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      language = ""
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "8108232A1FB0C594009F0C43"
            BuildableName = "Core.framework"
            BlueprintName = "Core"
            ReferencedContainer = "container:Archit.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "8108232A1FB0C594009F0C43"
            BuildableName = "Core.framework"
            BlueprintName = "Core"
            ReferencedContainer = "container:Archit.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Archit.xcodeproj/xcshareddata/xcschemes/Domain.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0910"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "8108234D1FB0C5AA009F0C43"
               BuildableName = "Domain.framework"
               BlueprintName = "Domain"
               ReferencedContainer = "container:Archit.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      language = ""
      shouldUseLaunchSchemeArgsEnv = "YES"
      codeCoverageEnabled = "YES">
      <Testables>
      </Testables>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      language = ""
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "8108234D1FB0C5AA009F0C43"
            BuildableName = "Domain.framework"
            BlueprintName = "Domain"
            ReferencedContainer = "container:Archit.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "8108234D1FB0C5AA009F0C43"
            BuildableName = "Domain.framework"
            BlueprintName = "Domain"
            ReferencedContainer = "container:Archit.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Archit.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
   version = "1.0">
   <FileRef
      location = "group:Archit.xcodeproj">
   </FileRef>
   <FileRef
      location = "group:Pods/Pods.xcodeproj">
   </FileRef>
</Workspace>


================================================
FILE: Archit.xcworkspace/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
   type = "3"
   version = "2.0">
   <Breakpoints>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            scope = "0"
            stopOnStyle = "0">
         </BreakpointContent>
      </BreakpointProxy>
      <BreakpointProxy
         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
         <BreakpointContent
            shouldBeEnabled = "Yes"
            ignoreCount = "0"
            continueAfterRunningActions = "No"
            symbolName = "UIViewAlertForUnsatisfiableConstraints"
            moduleName = "">
            <Locations>
               <Location
                  shouldBeEnabled = "Yes"
                  ignoreCount = "0"
                  continueAfterRunningActions = "No"
                  symbolName = "UIViewAlertForUnsatisfiableConstraints"
                  moduleName = "UIKit"
                  usesParentBreakpointCondition = "Yes"
                  offsetFromSymbolStart = "0">
               </Location>
            </Locations>
         </BreakpointContent>
      </BreakpointProxy>
   </Breakpoints>
</Bucket>


================================================
FILE: ArchitTests/ArchitTests.swift
================================================
//  ArchitTests.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import XCTest
@testable import Archit

class ArchitTests: XCTestCase {
    
    override func setUp() {
        super.setUp()
        // Put setup code here. This method is called before the invocation of each test method in the class.
    }
    
    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
        super.tearDown()
    }
    
    func testExample() {
        // This is an example of a functional test case.
        // Use XCTAssert and related functions to verify your tests produce the correct results.
    }
    
    func testPerformanceExample() {
        // This is an example of a performance test case.
        self.measure {
            // Put the code you want to measure the time of here.
        }
    }
    
}


================================================
FILE: ArchitTests/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>$(DEVELOPMENT_LANGUAGE)</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>BNDL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleVersion</key>
	<string>1</string>
</dict>
</plist>


================================================
FILE: ArchitUITests/ArchitUITests.swift
================================================
//  ArchitUITests.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import XCTest

class ArchitUITests: XCTestCase {
        
    override func setUp() {
        super.setUp()
        
        // Put setup code here. This method is called before the invocation of each test method in the class.
        
        // In UI tests it is usually best to stop immediately when a failure occurs.
        continueAfterFailure = false
        // UI tests must launch the application that they test. Doing this in setup will make sure it happens for each test method.
        XCUIApplication().launch()

        // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this.
    }
    
    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
        super.tearDown()
    }
    
    func testExample() {
        // Use recording to get started writing UI tests.
        // Use XCTAssert and related functions to verify your tests produce the correct results.
    }
    
}


================================================
FILE: ArchitUITests/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>$(DEVELOPMENT_LANGUAGE)</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>BNDL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleVersion</key>
	<string>1</string>
</dict>
</plist>


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at info@intelygenz.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/


================================================
FILE: Core/Core.h
================================================
//  Core.h
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

#import <UIKit/UIKit.h>

//! Project version number for Core.
FOUNDATION_EXPORT double CoreVersionNumber;

//! Project version string for Core.
FOUNDATION_EXPORT const unsigned char CoreVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <Core/PublicHeader.h>




================================================
FILE: Core/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>$(DEVELOPMENT_LANGUAGE)</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>FMWK</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleVersion</key>
	<string>$(CURRENT_PROJECT_VERSION)</string>
	<key>NSPrincipalClass</key>
	<string></string>
</dict>
</plist>


================================================
FILE: Core/NetworkService.swift
================================================
//  NetworkService.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

public class NetworkService: NetworkServiceProtocol {

    public init() {}

}


================================================
FILE: Core/NetworkServiceProtocol.swift
================================================
//  NetworkServiceProtocol.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

public enum NetworkServiceError: Error {
    case serviceError(message: String, underlying: ServiceTaskError)

    public var localizedDescription: String {
        switch self {
        case .serviceError(_, let underlying):
            return underlying.localizedDescription
        }
    }
}

public protocol NetworkServiceProtocol: ServiceProtocol {
    func cancel(_ tasks: [TaskProtocol])
}

public extension NetworkServiceProtocol {
    func cancel(_ tasks: [TaskProtocol]) {
        tasks.forEach { task in
            task.cancel()
        }
    }
}


================================================
FILE: Core/NetworkServiceTransformer.swift
================================================
//  NetworkServiceTransformer.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

class NetworkServiceTransformer<Source: Codable, Result>: Transformer {
    func transform(source: Source) -> Result? {
        assertionFailure("You should use your own NetworkServiceTransformer subclass.")
        return nil
    }

    func transform(result: Result) -> Source? {
        assertionFailure("You should use your own NetworkServiceTransformer subclass.")
        return nil
    }
}


================================================
FILE: Core/ServiceProtocol.swift
================================================
//  ServiceProtocol.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

public protocol ServiceProtocol {}


================================================
FILE: Core/Services/Films/FilmsService.swift
================================================
//  FilmsService.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation
import Domain

public protocol FilmsServiceProtocol: NetworkServiceProtocol {
    func searchFilm(_ imdbID: String, type: String?) throws -> Film
    func searchFilms(_ query: String, type: String?, page: Int) throws -> (films: [Film], total: Int)
}

public class FilmsService: NetworkService, FilmsServiceProtocol {

    private var transformer = FilmsNetworkTransformer()

    public func searchFilm(_ imdbID: String, type: String?) throws -> Film {
        let searchFilmServiceTask = SearchFilmServiceTask(imdbID, type: type)
        do {
            guard let film = try searchFilmServiceTask.execute() as? FilmNetworkModel else {
                throw ServiceTaskError.parserError(message: "Service task parsing error.", underlying: nil)
            }
            guard let result = transformer.transform(source: film) else {
                throw ServiceTaskError.parserError(message: "Not found.", underlying: nil)
            }
            return result
        } catch {
            guard let serviceTaskError = error as? ServiceTaskError else {
                throw NetworkServiceError.serviceError(message: "Service error.", underlying: ServiceTaskError.parserError(message: "Service task error.", underlying: nil))
            }
            throw NetworkServiceError.serviceError(message: "Can't find films.", underlying: serviceTaskError)
        }
    }

    public func searchFilms(_ query: String, type: String?, page: Int) throws -> (films: [Film], total: Int) {
        let searchFilmsServiceTask = SearchFilmsServiceTask(query, type: type, page: page)
        do {
            guard let search = try searchFilmsServiceTask.execute() as? FilmSearchNetworkModel else {
                throw ServiceTaskError.parserError(message: "Service task parsing error.", underlying: nil)
            }
            guard let results = search.results, let total = search.total, let totalInt = Int(total) else {
                throw ServiceTaskError.parserError(message: search.error ?? "No results.", underlying: nil)
            }
            return (transformer.transform(source: results), totalInt)
        } catch {
            guard let serviceTaskError = error as? ServiceTaskError else {
                throw NetworkServiceError.serviceError(message: "Service error.", underlying: ServiceTaskError.parserError(message: "Service task error.", underlying: nil))
            }
            throw NetworkServiceError.serviceError(message: "Can't find films.", underlying: serviceTaskError)
        }
    }

}


================================================
FILE: Core/Services/Films/NetworkModels/FilmNetworkModel.swift
================================================
//  FilmNetworkModel.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

struct FilmNetworkModel: Codable {
    let title: String
    let year: String
    let poster: String
    let imdbID: String
    let type: String
    let rated: String?
    let released: String?
    let runtime: String?
    let genre: String?
    let director: String?
    let writer: String?
    let actors: String?
    let plot: String?
    let language: String?
    let country: String?
    let awards: String?
    let ratings: [FilmRatingNetworkModel]?
    let metascore: String?
    let imdbRating: String?
    let imdbVotes: String?
    let dvd: String?
    let boxOffice: String?
    let production: String?
    let website: String?

    enum CodingKeys: String, CodingKey {
        case title = "Title"
        case year = "Year"
        case poster = "Poster"
        case imdbID = "imdbID"
        case type = "Type"
        case rated = "Rated"
        case released = "Released"
        case runtime = "Runtime"
        case genre = "Genre"
        case director = "Director"
        case writer = "Writer"
        case actors = "Actors"
        case plot = "Plot"
        case language = "Language"
        case country = "Country"
        case awards = "Awards"
        case ratings = "Ratings"
        case metascore = "Metascore"
        case imdbRating = "imdbRating"
        case imdbVotes = "imdbVotes"
        case dvd = "DVD"
        case boxOffice = "BoxOffice"
        case production = "Production"
        case website = "Website"
    }
}


================================================
FILE: Core/Services/Films/NetworkModels/FilmRatingNetworkModel.swift
================================================
//  FilmRatingNetworkModel.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

struct FilmRatingNetworkModel: Codable {
    let source: String
    let value: String

    enum CodingKeys: String, CodingKey {
        case source = "Source"
        case value = "Value"
    }
}


================================================
FILE: Core/Services/Films/NetworkModels/FilmSearchNetworkModel.swift
================================================
//  FilmSearchNetworkModel.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

struct FilmSearchNetworkModel: Codable {
    let results: [FilmNetworkModel]?
    let total: String?
    let response: String
    let error: String?

    enum CodingKeys: String, CodingKey {
        case results = "Search"
        case total = "totalResults"
        case response = "Response"
        case error = "Error"
    }
}


================================================
FILE: Core/Services/Films/NetworkModels/Transformers/FilmsNetworkTransformer.swift
================================================
//  FilmsNetworkTransformer.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation
import Domain

class FilmsNetworkTransformer: NetworkServiceTransformer<FilmNetworkModel, Film> {

    private static let dateFormatter: DateFormatter = {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "d MMM yyyy"
        return dateFormatter
    }()

    override func transform(source: FilmNetworkModel) -> Film? {
        var ratings = [String: String]()
        source.ratings?.forEach({ rating in
            ratings[rating.source] = rating.value
        })
        var releasedDate: Date?
        if let released = source.released {
            releasedDate = FilmsNetworkTransformer.dateFormatter.date(from: released)
        }
        var runtimeInterval: TimeInterval?
        if let runtime = source.runtime, runtime.contains(" min"), let timeInterval = TimeInterval(runtime.components(separatedBy: CharacterSet.decimalDigits.inverted).joined()) {
            runtimeInterval = timeInterval * 60
        }
        var dvdDate: Date?
        if let dvd = source.dvd {
            dvdDate = FilmsNetworkTransformer.dateFormatter.date(from: dvd)
        }
        var websiteURL: URL?
        if let website = source.website, website != "N/A" {
            websiteURL = URL(string: website)
        }
        var posterURL: URL?
        if source.poster != "N/A" {
            posterURL = URL(string: source.poster)
        }
        return Film(imdbID: source.imdbID, title: source.title, year: source.year, type: source.type, ratings: ratings, poster: posterURL, rated: source.rated, released: releasedDate, runtime: runtimeInterval, genre: source.genre, director: source.director, writer: source.writer, actors: source.actors, plot: source.plot, language: source.language, country: source.country, awards: source.awards, metascore: source.metascore, imdbRating: source.imdbRating, imdbVotes: source.imdbVotes, dvd: dvdDate, boxOffice: source.boxOffice, production: source.production, website: websiteURL)
    }

}


================================================
FILE: Core/Services/Films/Tasks/SearchFilmServiceTask.swift
================================================
//  SearchFilmServiceTask.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation
import Net

class SearchFilmServiceTask: ServiceTask {

    let imdbID: String
    let type: String?

    init(_ imdbID: String, type: String?) {
        self.imdbID = imdbID
        self.type = type
    }

    override func parse(_ response: NetResponse) throws -> Any? {
        return try response.decode() as FilmNetworkModel
    }

    override func execute() throws -> Any? {
        requestBuilder = NetRequest.builder(NetworkServiceConstants.Host.api)?
            .addURLParameter(NetworkServiceConstants.Parameters.Search.imdbID.rawValue, value: imdbID)
            .addURLParameter(NetworkServiceConstants.Parameters.Search.plot.rawValue, value: NetworkServiceConstants.Values.Search.Plot.full.rawValue)
        if let type = type {
            requestBuilder?.addURLParameter(NetworkServiceConstants.Parameters.Search.type.rawValue, value: NetworkServiceConstants.Values.Search.SearchType(rawValue: type))
        }
        return try super.execute()
    }

}


================================================
FILE: Core/Services/Films/Tasks/SearchFilmsServiceTask.swift
================================================
//  SearchFilmsServiceTask.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation
import Net

class SearchFilmsServiceTask: ServiceTask {

    let query: String
    let type: String?
    let page: Int

    init(_ query: String, type: String?, page: Int) {
        self.query = query
        self.type = type
        self.page = page
    }

    override func parse(_ response: NetResponse) throws -> Any? {
        return try response.decode() as FilmSearchNetworkModel
    }

    override func execute() throws -> Any? {
        guard NetworkServiceConstants.Values.Search.PageRange.contains(page) else {
            throw ServiceTaskError.netError(message: "Service task pagination error.", underlying: nil)
        }
        requestBuilder = NetRequest.builder(NetworkServiceConstants.Host.api)?
            .addURLParameter(NetworkServiceConstants.Parameters.Search.title.rawValue, value: query)
            .addURLParameter(NetworkServiceConstants.Parameters.Search.page.rawValue, value: page)
        if let type = type {
            requestBuilder?.addURLParameter(NetworkServiceConstants.Parameters.Search.type.rawValue, value: NetworkServiceConstants.Values.Search.SearchType(rawValue: type))
        }
        return try super.execute()
    }

}


================================================
FILE: Core/Services/NetworkServiceConstants.swift
================================================
//  NetworkServiceConstants.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

struct NetworkServiceConstants {
    struct Host {
        static let api = "http://www.omdbapi.com/"
        static let poster = "http://img.omdbapi.com/"
    }
    struct Parameters {
        enum Search: String {
            case imdbID = "i"
            case title = "s"
            case type
            case year = "y"
            case plot
            case page
            case callback
        }
        static let key = "apikey"
        static let version = "v"
        static let format = "r"
    }
    struct Values {
        struct Search {
            enum SearchType: String {
                case movie, series, episode
            }
            enum Plot: String {
                case short, full
            }
            static let PageRange = 1...100
        }
        static let key = "25a206c6"
        static let version = "1"
        enum Format: String {
            case json, xml
        }
    }
}


================================================
FILE: Core/Tasks/ServiceTask.swift
================================================
//  ServiceTask.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation
import Net

open class ServiceTask: ServiceTaskProtocol {
    private static let net: Net = {
        let net = NetURLSession()
        net.addRequestInterceptor { requestBuilder in
            requestBuilder.addURLParameter(NetworkServiceConstants.Parameters.key, value: NetworkServiceConstants.Values.key)
                .addURLParameter(NetworkServiceConstants.Parameters.format, value: NetworkServiceConstants.Values.Format.json.rawValue)
                .addURLParameter(NetworkServiceConstants.Parameters.version, value: NetworkServiceConstants.Values.version)
            log.debug(requestBuilder.build().debugDescription)
            return requestBuilder
        }
        net.addResponseInterceptor { responseBuilder in
            let response = responseBuilder.build()
            log.debug(response.debugDescription)
            do {
                if let responseObject: [AnyHashable: Any] = try response.object() {
                    log.verbose(responseObject)
                }
            } catch {}
            return responseBuilder
        }
        return net
    }()
    var requestBuilder: NetRequest.Builder?
    private var task: NetTask?

    @discardableResult open func execute() throws -> Any? {
        guard let request = requestBuilder?.build() else {
            throw ServiceTaskError.netError(message: "Service task request missing.", underlying: nil)
        }
        task = ServiceTask.net.data(request)
        guard let task = task else {
            throw ServiceTaskError.netError(message: "Service task building error.", underlying: nil)
        }
        var response: NetResponse
        do {
            response = try task.sync()
        } catch {
            guard let serviceTaskError = error as? ServiceTaskError else {
                throw ServiceTaskError.netError(message: "Network error.", underlying: error)
            }
            throw serviceTaskError
        }
        do {
            return try parse(response)
        } catch {
            guard let serviceTaskError = error as? ServiceTaskError else {
                throw ServiceTaskError.parserError(message: "Parser error.", underlying: error)
            }
            throw serviceTaskError
        }
    }

    @discardableResult open func parse(_ response: NetResponse) throws -> Any? {
        return try response.object() as [AnyHashable: Any]
    }

    open func cancel() {
        task?.cancel()
    }

}

extension ServiceTask: Hashable {
    public var hashValue: Int {
        return task?.identifier ?? NSNotFound
    }

    public static func == (lhs: ServiceTask, rhs: ServiceTask) -> Bool {
        return lhs.hashValue != NSNotFound && lhs.hashValue == rhs.hashValue
    }

}



================================================
FILE: Core/Tasks/ServiceTaskProtocol.swift
================================================
//  ServiceTaskProtocol.swift
//  Created by Alex Rupérez on 7/11/17.
//  Copyright © 2017 Intelygenz. All rights reserved.

import Foundation

public enum ServiceTaskError: Error {
    case netError(message: String, underlying: Error?),
    serverError(message: String, underlying: Error?),
    unauthorizedError(message: String, underlying: Error?),
    parserE
Download .txt
gitextract_v9lm_t2w/

├── .gitignore
├── .swift-version
├── .swiftlint.yml
├── .travis.yml
├── Archit/
│   ├── Resources/
│   │   └── Assets/
│   │       └── Assets.xcassets/
│   │           ├── AppIcon.appiconset/
│   │           │   └── Contents.json
│   │           ├── Contents.json
│   │           └── Logo.imageset/
│   │               └── Contents.json
│   ├── Source/
│   │   ├── Base/
│   │   │   ├── Controllers/
│   │   │   │   └── BaseController.swift
│   │   │   ├── Extensions/
│   │   │   │   └── UITableView+Reusable.swift
│   │   │   ├── Interactors/
│   │   │   │   └── BaseInteractor.swift
│   │   │   └── ViewControllers/
│   │   │       ├── BaseNavigationController.swift
│   │   │       └── BaseViewController.swift
│   │   ├── FilmDetail/
│   │   │   ├── FilmDetailController.swift
│   │   │   └── FilmDetailViewController.swift
│   │   ├── Films/
│   │   │   ├── FilmCell.swift
│   │   │   ├── FilmsController.swift
│   │   │   ├── FilmsInteractor.swift
│   │   │   └── FilmsViewController.swift
│   │   └── Managers/
│   │       ├── AppManager.swift
│   │       └── LogManager.swift
│   ├── Supporting Files/
│   │   ├── AppDelegate.swift
│   │   ├── Archit.entitlements
│   │   └── Info.plist
│   └── UI/
│       └── Base.lproj/
│           ├── LaunchScreen.storyboard
│           └── Main.storyboard
├── Archit.xcodeproj/
│   ├── project.pbxproj
│   ├── project.xcworkspace/
│   │   └── contents.xcworkspacedata
│   └── xcshareddata/
│       └── xcschemes/
│           ├── Archit.xcscheme
│           ├── Core.xcscheme
│           └── Domain.xcscheme
├── Archit.xcworkspace/
│   ├── contents.xcworkspacedata
│   └── xcshareddata/
│       └── xcdebugger/
│           └── Breakpoints_v2.xcbkptlist
├── ArchitTests/
│   ├── ArchitTests.swift
│   └── Info.plist
├── ArchitUITests/
│   ├── ArchitUITests.swift
│   └── Info.plist
├── CODE_OF_CONDUCT.md
├── Core/
│   ├── Core.h
│   ├── Info.plist
│   ├── NetworkService.swift
│   ├── NetworkServiceProtocol.swift
│   ├── NetworkServiceTransformer.swift
│   ├── ServiceProtocol.swift
│   ├── Services/
│   │   ├── Films/
│   │   │   ├── FilmsService.swift
│   │   │   ├── NetworkModels/
│   │   │   │   ├── FilmNetworkModel.swift
│   │   │   │   ├── FilmRatingNetworkModel.swift
│   │   │   │   ├── FilmSearchNetworkModel.swift
│   │   │   │   └── Transformers/
│   │   │   │       └── FilmsNetworkTransformer.swift
│   │   │   └── Tasks/
│   │   │       ├── SearchFilmServiceTask.swift
│   │   │       └── SearchFilmsServiceTask.swift
│   │   └── NetworkServiceConstants.swift
│   ├── Tasks/
│   │   ├── ServiceTask.swift
│   │   ├── ServiceTaskProtocol.swift
│   │   └── TaskProtocol.swift
│   └── Transformer.swift
├── CoreTests/
│   ├── CoreTests.swift
│   └── Info.plist
├── Dangerfile
├── Domain/
│   ├── Domain.h
│   ├── Film.swift
│   └── Info.plist
├── DomainTests/
│   ├── DomainTests.swift
│   └── Info.plist
├── Gemfile
├── ISSUE_TEMPLATE.md
├── LICENSE
├── PULL_REQUEST_TEMPLATE.md
├── Podfile
├── Pods/
│   ├── Cucumberish/
│   │   ├── Cucumberish/
│   │   │   ├── Core/
│   │   │   │   ├── CCIBlockDefinitions.h
│   │   │   │   ├── Managers/
│   │   │   │   │   ├── CCIFeaturesManager.h
│   │   │   │   │   ├── CCIFeaturesManager.m
│   │   │   │   │   ├── CCILoggingManager.h
│   │   │   │   │   ├── CCILoggingManager.m
│   │   │   │   │   ├── CCIStepsManager.h
│   │   │   │   │   └── CCIStepsManager.m
│   │   │   │   └── Models/
│   │   │   │       ├── CCIArgument.h
│   │   │   │       ├── CCIArgument.m
│   │   │   │       ├── CCIAroundHock.h
│   │   │   │       ├── CCIAroundHock.m
│   │   │   │       ├── CCIBackground.h
│   │   │   │       ├── CCIBackground.m
│   │   │   │       ├── CCIExample.h
│   │   │   │       ├── CCIExample.m
│   │   │   │       ├── CCIFeature.h
│   │   │   │       ├── CCIFeature.m
│   │   │   │       ├── CCIHock.h
│   │   │   │       ├── CCIHock.m
│   │   │   │       ├── CCIJSONDumper.h
│   │   │   │       ├── CCIJSONDumper.m
│   │   │   │       ├── CCILocation.h
│   │   │   │       ├── CCILocation.m
│   │   │   │       ├── CCIScenarioDefinition.h
│   │   │   │       ├── CCIScenarioDefinition.m
│   │   │   │       ├── CCIStep.h
│   │   │   │       ├── CCIStep.m
│   │   │   │       ├── CCIStepDefinition.h
│   │   │   │       └── CCIStepDefinition.m
│   │   │   ├── Cucumberish.h
│   │   │   ├── Cucumberish.m
│   │   │   ├── Dependencies/
│   │   │   │   └── Gherkin/
│   │   │   │       ├── GHAstBuilder.h
│   │   │   │       ├── GHAstBuilder.m
│   │   │   │       ├── GHAstNode.h
│   │   │   │       ├── GHAstNode.m
│   │   │   │       ├── GHBackground.h
│   │   │   │       ├── GHBackground.m
│   │   │   │       ├── GHComment.h
│   │   │   │       ├── GHComment.m
│   │   │   │       ├── GHDataTable.h
│   │   │   │       ├── GHDataTable.m
│   │   │   │       ├── GHDocString.h
│   │   │   │       ├── GHDocString.m
│   │   │   │       ├── GHExamples.h
│   │   │   │       ├── GHExamples.m
│   │   │   │       ├── GHFeature.h
│   │   │   │       ├── GHFeature.m
│   │   │   │       ├── GHGherkinDialect.h
│   │   │   │       ├── GHGherkinDialect.m
│   │   │   │       ├── GHGherkinDialectProvider.h
│   │   │   │       ├── GHGherkinDialectProvider.m
│   │   │   │       ├── GHGherkinDialectProviderProtocol.h
│   │   │   │       ├── GHGherkinLanguageConstants.h
│   │   │   │       ├── GHGherkinLanguageConstants.m
│   │   │   │       ├── GHGherkinLanguageSetting.h
│   │   │   │       ├── GHGherkinLanguageSetting.m
│   │   │   │       ├── GHGherkinLine.h
│   │   │   │       ├── GHGherkinLine.m
│   │   │   │       ├── GHGherkinLineProtocol.h
│   │   │   │       ├── GHGherkinLineSpan.h
│   │   │   │       ├── GHGherkinLineSpan.m
│   │   │   │       ├── GHHasDescriptionProtocol.h
│   │   │   │       ├── GHHasLocationProtocol.h
│   │   │   │       ├── GHHasRowsProtocol.h
│   │   │   │       ├── GHHasStepsProtocol.h
│   │   │   │       ├── GHHasTagsProtocol.h
│   │   │   │       ├── GHLocation.h
│   │   │   │       ├── GHLocation.m
│   │   │   │       ├── GHNode.h
│   │   │   │       ├── GHNode.m
│   │   │   │       ├── GHParser+Extensions.h
│   │   │   │       ├── GHParser+Extensions.m
│   │   │   │       ├── GHParser.h
│   │   │   │       ├── GHParser.m
│   │   │   │       ├── GHParserException.h
│   │   │   │       ├── GHParserException.m
│   │   │   │       ├── GHScenario.h
│   │   │   │       ├── GHScenario.m
│   │   │   │       ├── GHScenarioDefinition.h
│   │   │   │       ├── GHScenarioDefinition.m
│   │   │   │       ├── GHScenarioDefinition_Private.h
│   │   │   │       ├── GHScenarioOutline.h
│   │   │   │       ├── GHScenarioOutline.m
│   │   │   │       ├── GHStep.h
│   │   │   │       ├── GHStep.m
│   │   │   │       ├── GHStepArgument.h
│   │   │   │       ├── GHStepArgument.m
│   │   │   │       ├── GHTableCell.h
│   │   │   │       ├── GHTableCell.m
│   │   │   │       ├── GHTableRow.h
│   │   │   │       ├── GHTableRow.m
│   │   │   │       ├── GHTag.h
│   │   │   │       ├── GHTag.m
│   │   │   │       ├── GHToken.h
│   │   │   │       ├── GHToken.m
│   │   │   │       ├── GHTokenMatcher.h
│   │   │   │       ├── GHTokenMatcher.m
│   │   │   │       ├── GHTokenScanner.h
│   │   │   │       ├── GHTokenScanner.m
│   │   │   │       ├── NSString+Trim.h
│   │   │   │       ├── NSString+Trim.m
│   │   │   │       └── gherkin-languages.json
│   │   │   └── Utils/
│   │   │       ├── NSArray+Hashes.h
│   │   │       ├── NSArray+Hashes.m
│   │   │       ├── NSObject+Dictionary.h
│   │   │       ├── NSObject+Dictionary.m
│   │   │       ├── NSString+Formatter.h
│   │   │       └── NSString+Formatter.m
│   │   ├── LICENSE
│   │   └── README.md
│   ├── Kingfisher/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   └── Sources/
│   │       ├── AnimatedImageView.swift
│   │       ├── Box.swift
│   │       ├── CacheSerializer.swift
│   │       ├── Filter.swift
│   │       ├── FormatIndicatedCacheSerializer.swift
│   │       ├── Image.swift
│   │       ├── ImageCache.swift
│   │       ├── ImageDownloader.swift
│   │       ├── ImagePrefetcher.swift
│   │       ├── ImageProcessor.swift
│   │       ├── ImageTransition.swift
│   │       ├── ImageView+Kingfisher.swift
│   │       ├── Indicator.swift
│   │       ├── Kingfisher.h
│   │       ├── Kingfisher.swift
│   │       ├── KingfisherManager.swift
│   │       ├── KingfisherOptionsInfo.swift
│   │       ├── Placeholder.swift
│   │       ├── RequestModifier.swift
│   │       ├── Resource.swift
│   │       ├── String+MD5.swift
│   │       ├── ThreadHelper.swift
│   │       └── UIButton+Kingfisher.swift
│   ├── Kommander/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   └── Source/
│   │       ├── CurrentDispatcher.swift
│   │       ├── Dispatcher.swift
│   │       ├── Kommand.swift
│   │       ├── KommandCancelledError.swift
│   │       ├── Kommander.h
│   │       ├── Kommander.swift
│   │       └── MainDispatcher.swift
│   ├── NetClient/
│   │   ├── Core/
│   │   │   ├── Net.h
│   │   │   ├── Net.swift
│   │   │   ├── NetAuthorization.swift
│   │   │   ├── NetCacheControl.swift
│   │   │   ├── NetContentType.swift
│   │   │   ├── NetError.swift
│   │   │   ├── NetMultipartFormData.swift
│   │   │   ├── NetReachability.swift
│   │   │   ├── NetRequest+Build.swift
│   │   │   ├── NetRequest+URLRequest.swift
│   │   │   ├── NetRequest.swift
│   │   │   ├── NetResponse+Build.swift
│   │   │   ├── NetResponse+Cached​URLResponse.swift
│   │   │   ├── NetResponse+HTTPURLResponse.swift
│   │   │   ├── NetResponse+URLResponse.swift
│   │   │   ├── NetResponse.swift
│   │   │   ├── NetServerTrust.swift
│   │   │   ├── NetTask.swift
│   │   │   ├── NetTaskMetrics+URLSessionTaskMetrics.swift
│   │   │   ├── NetTaskMetrics.swift
│   │   │   └── NetTransformer.swift
│   │   ├── LICENSE
│   │   ├── README.md
│   │   └── URLSession/
│   │       ├── NetTask+URLSessionTask.swift
│   │       ├── NetURLSession+Data.swift
│   │       ├── NetURLSession+Download.swift
│   │       ├── NetURLSession+Stream.swift
│   │       ├── NetURLSession+Upload.swift
│   │       ├── NetURLSession.swift
│   │       ├── NetURLSessionDelegate.swift
│   │       └── NetURLSessionTaskObserver.swift
│   ├── ObjcExceptionBridging/
│   │   ├── LICENSE.txt
│   │   ├── README.md
│   │   └── Sources/
│   │       └── ObjcExceptionBridging/
│   │           ├── ObjectiveCMarker.m
│   │           └── include/
│   │               └── ObjcExceptionBridging.h
│   ├── Pods.xcodeproj/
│   │   └── project.pbxproj
│   ├── Reusable/
│   │   ├── LICENSE
│   │   ├── README.md
│   │   └── Sources/
│   │       ├── Storyboard/
│   │       │   ├── StoryboardBased.swift
│   │       │   └── StoryboardSceneBased.swift
│   │       └── View/
│   │           ├── NibLoadable.swift
│   │           ├── NibOwnerLoadable.swift
│   │           ├── Reusable.swift
│   │           ├── UICollectionView+Reusable.swift
│   │           └── UITableView+Reusable.swift
│   ├── SwiftLint/
│   │   ├── LICENSE
│   │   ├── SwiftLintFramework.framework/
│   │   │   └── Versions/
│   │   │       └── A/
│   │   │           ├── Frameworks/
│   │   │           │   ├── Commandant.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Commandant
│   │   │           │   │           └── Resources/
│   │   │           │   │               └── Info.plist
│   │   │           │   ├── Result.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Resources/
│   │   │           │   │           │   └── Info.plist
│   │   │           │   │           └── Result
│   │   │           │   ├── SWXMLHash.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Resources/
│   │   │           │   │           │   └── Info.plist
│   │   │           │   │           └── SWXMLHash
│   │   │           │   ├── SourceKittenFramework.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Resources/
│   │   │           │   │           │   └── Info.plist
│   │   │           │   │           └── SourceKittenFramework
│   │   │           │   ├── SwiftyTextTable.framework/
│   │   │           │   │   └── Versions/
│   │   │           │   │       └── A/
│   │   │           │   │           ├── Resources/
│   │   │           │   │           │   └── Info.plist
│   │   │           │   │           └── SwiftyTextTable
│   │   │           │   └── Yams.framework/
│   │   │           │       └── Versions/
│   │   │           │           └── A/
│   │   │           │               ├── Resources/
│   │   │           │               │   └── Info.plist
│   │   │           │               └── Yams
│   │   │           ├── Resources/
│   │   │           │   └── Info.plist
│   │   │           └── SwiftLintFramework
│   │   └── swiftlint
│   ├── Target Support Files/
│   │   ├── Cucumberish/
│   │   │   ├── Cucumberish-dummy.m
│   │   │   ├── Cucumberish-prefix.pch
│   │   │   ├── Cucumberish-umbrella.h
│   │   │   ├── Cucumberish.modulemap
│   │   │   ├── Cucumberish.xcconfig
│   │   │   ├── Info.plist
│   │   │   └── ResourceBundle-GherkinLanguages-Info.plist
│   │   ├── Kingfisher/
│   │   │   ├── Info.plist
│   │   │   ├── Kingfisher-dummy.m
│   │   │   ├── Kingfisher-prefix.pch
│   │   │   ├── Kingfisher-umbrella.h
│   │   │   ├── Kingfisher.modulemap
│   │   │   └── Kingfisher.xcconfig
│   │   ├── Kommander/
│   │   │   ├── Info.plist
│   │   │   ├── Kommander-dummy.m
│   │   │   ├── Kommander-prefix.pch
│   │   │   ├── Kommander-umbrella.h
│   │   │   ├── Kommander.modulemap
│   │   │   └── Kommander.xcconfig
│   │   ├── NetClient/
│   │   │   ├── Info.plist
│   │   │   ├── NetClient-dummy.m
│   │   │   ├── NetClient-prefix.pch
│   │   │   ├── NetClient-umbrella.h
│   │   │   ├── NetClient.modulemap
│   │   │   └── NetClient.xcconfig
│   │   ├── ObjcExceptionBridging/
│   │   │   ├── Info.plist
│   │   │   ├── ObjcExceptionBridging-dummy.m
│   │   │   ├── ObjcExceptionBridging-prefix.pch
│   │   │   ├── ObjcExceptionBridging-umbrella.h
│   │   │   ├── ObjcExceptionBridging.modulemap
│   │   │   └── ObjcExceptionBridging.xcconfig
│   │   ├── Pods-Archit/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-Archit-acknowledgements.markdown
│   │   │   ├── Pods-Archit-acknowledgements.plist
│   │   │   ├── Pods-Archit-dummy.m
│   │   │   ├── Pods-Archit-frameworks.sh
│   │   │   ├── Pods-Archit-resources.sh
│   │   │   ├── Pods-Archit-umbrella.h
│   │   │   ├── Pods-Archit.debug.xcconfig
│   │   │   ├── Pods-Archit.modulemap
│   │   │   └── Pods-Archit.release.xcconfig
│   │   ├── Pods-ArchitTests/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-ArchitTests-acknowledgements.markdown
│   │   │   ├── Pods-ArchitTests-acknowledgements.plist
│   │   │   ├── Pods-ArchitTests-dummy.m
│   │   │   ├── Pods-ArchitTests-frameworks.sh
│   │   │   ├── Pods-ArchitTests-resources.sh
│   │   │   ├── Pods-ArchitTests-umbrella.h
│   │   │   ├── Pods-ArchitTests.debug.xcconfig
│   │   │   ├── Pods-ArchitTests.modulemap
│   │   │   └── Pods-ArchitTests.release.xcconfig
│   │   ├── Pods-ArchitUITests/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-ArchitUITests-acknowledgements.markdown
│   │   │   ├── Pods-ArchitUITests-acknowledgements.plist
│   │   │   ├── Pods-ArchitUITests-dummy.m
│   │   │   ├── Pods-ArchitUITests-frameworks.sh
│   │   │   ├── Pods-ArchitUITests-resources.sh
│   │   │   ├── Pods-ArchitUITests-umbrella.h
│   │   │   ├── Pods-ArchitUITests.debug.xcconfig
│   │   │   ├── Pods-ArchitUITests.modulemap
│   │   │   └── Pods-ArchitUITests.release.xcconfig
│   │   ├── Pods-Core/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-Core-acknowledgements.markdown
│   │   │   ├── Pods-Core-acknowledgements.plist
│   │   │   ├── Pods-Core-dummy.m
│   │   │   ├── Pods-Core-resources.sh
│   │   │   ├── Pods-Core-umbrella.h
│   │   │   ├── Pods-Core.debug.xcconfig
│   │   │   ├── Pods-Core.modulemap
│   │   │   └── Pods-Core.release.xcconfig
│   │   ├── Pods-CoreTests/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-CoreTests-acknowledgements.markdown
│   │   │   ├── Pods-CoreTests-acknowledgements.plist
│   │   │   ├── Pods-CoreTests-dummy.m
│   │   │   ├── Pods-CoreTests-frameworks.sh
│   │   │   ├── Pods-CoreTests-resources.sh
│   │   │   ├── Pods-CoreTests-umbrella.h
│   │   │   ├── Pods-CoreTests.debug.xcconfig
│   │   │   ├── Pods-CoreTests.modulemap
│   │   │   └── Pods-CoreTests.release.xcconfig
│   │   ├── Pods-Domain/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-Domain-acknowledgements.markdown
│   │   │   ├── Pods-Domain-acknowledgements.plist
│   │   │   ├── Pods-Domain-dummy.m
│   │   │   ├── Pods-Domain-resources.sh
│   │   │   ├── Pods-Domain-umbrella.h
│   │   │   ├── Pods-Domain.debug.xcconfig
│   │   │   ├── Pods-Domain.modulemap
│   │   │   └── Pods-Domain.release.xcconfig
│   │   ├── Pods-DomainTests/
│   │   │   ├── Info.plist
│   │   │   ├── Pods-DomainTests-acknowledgements.markdown
│   │   │   ├── Pods-DomainTests-acknowledgements.plist
│   │   │   ├── Pods-DomainTests-dummy.m
│   │   │   ├── Pods-DomainTests-frameworks.sh
│   │   │   ├── Pods-DomainTests-resources.sh
│   │   │   ├── Pods-DomainTests-umbrella.h
│   │   │   ├── Pods-DomainTests.debug.xcconfig
│   │   │   ├── Pods-DomainTests.modulemap
│   │   │   └── Pods-DomainTests.release.xcconfig
│   │   ├── Reusable/
│   │   │   ├── Info.plist
│   │   │   ├── Reusable-dummy.m
│   │   │   ├── Reusable-prefix.pch
│   │   │   ├── Reusable-umbrella.h
│   │   │   ├── Reusable.modulemap
│   │   │   └── Reusable.xcconfig
│   │   └── XCGLogger/
│   │       ├── Info.plist
│   │       ├── XCGLogger-dummy.m
│   │       ├── XCGLogger-prefix.pch
│   │       ├── XCGLogger-umbrella.h
│   │       ├── XCGLogger.modulemap
│   │       └── XCGLogger.xcconfig
│   └── XCGLogger/
│       ├── .swift-version
│       ├── LICENSE.txt
│       ├── README.md
│       └── Sources/
│           └── XCGLogger/
│               ├── Destinations/
│               │   ├── AppleSystemLogDestination.swift
│               │   ├── AutoRotatingFileDestination.swift
│               │   ├── BaseDestination.swift
│               │   ├── BaseQueuedDestination.swift
│               │   ├── ConsoleDestination.swift
│               │   ├── DestinationProtocol.swift
│               │   ├── FileDestination.swift
│               │   └── TestDestination.swift
│               ├── Extensions/
│               │   ├── DispatchQueue+XCGAdditions.swift
│               │   └── URL+XCGAdditions.swift
│               ├── Filters/
│               │   ├── DevFilter.swift
│               │   ├── FileNameFilter.swift
│               │   ├── FilterProtocol.swift
│               │   ├── TagFilter.swift
│               │   └── UserInfoFilter.swift
│               ├── LogFormatters/
│               │   ├── ANSIColorLogFormatter.swift
│               │   ├── Base64LogFormatter.swift
│               │   ├── LogFormatterProtocol.swift
│               │   ├── PrePostFixLogFormatter.swift
│               │   └── XcodeColorsLogFormatter.swift
│               ├── Misc/
│               │   ├── HelperFunctions.swift
│               │   └── LogDetails.swift
│               └── XCGLogger.swift
├── README.md
├── Rakefile
├── Scripts/
│   ├── bootstrap.sh
│   ├── highlight_TODOs.sh
│   ├── install_pre_commit.sh
│   ├── pre_commit.sh
│   └── symbolicate_crash.sh
├── _config.yml
└── fastlane/
    ├── Appfile
    ├── Fastfile
    ├── Pluginfile
    ├── README.md
    ├── Snapfile
    └── SnapshotHelper.swift
Download .txt
SYMBOL INDEX (6 symbols across 3 files)

FILE: Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstNode.h
  type GHRuleType (line 4) | typedef enum GHRuleType GHRuleType;
  type GHTokenType (line 5) | typedef enum GHTokenType GHTokenType;

FILE: Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser.h
  type GHTokenType (line 11) | typedef enum    GHTokenType
  type GHRuleType (line 30) | typedef enum    GHRuleType

FILE: Pods/ObjcExceptionBridging/Sources/ObjcExceptionBridging/include/ObjcExceptionBridging.h
  function NS_INLINE (line 29) | NS_INLINE void _try_objc(void(^_Nonnull tryBlock)(void), void(^_Nonnull ...
  function NS_INLINE (line 48) | NS_INLINE void _throw_objc(NSException* _Nonnull exception)
Condensed preview — 424 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,914K chars).
[
  {
    "path": ".gitignore",
    "chars": 1426,
    "preview": "# Xcode\n#\n# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore\n\n"
  },
  {
    "path": ".swift-version",
    "chars": 4,
    "preview": "4.0\n"
  },
  {
    "path": ".swiftlint.yml",
    "chars": 1158,
    "preview": "disabled_rules: # rule identifiers to exclude from running\n  - line_length\n  - trailing_whitespace\n  - trailing_newline\n"
  },
  {
    "path": ".travis.yml",
    "chars": 285,
    "preview": "language: swift\nosx_image: xcode9.1\nscript:\n- xcodebuild -workspace Archit.xcworkspace -scheme Archit -destination \"plat"
  },
  {
    "path": "Archit/Resources/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 2391,
    "preview": "{\n  \"images\" : [\n    {\n      \"size\" : \"20x20\",\n      \"idiom\" : \"iphone\",\n      \"filename\" : \"Icon-App-20x20@2x-1.png\",\n "
  },
  {
    "path": "Archit/Resources/Assets/Assets.xcassets/Contents.json",
    "chars": 62,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Archit/Resources/Assets/Assets.xcassets/Logo.imageset/Contents.json",
    "chars": 390,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"archit-logo.png\",\n      \"scale\" : \"1x\"\n    },\n  "
  },
  {
    "path": "Archit/Source/Base/Controllers/BaseController.swift",
    "chars": 963,
    "preview": "//  BaseController.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\n"
  },
  {
    "path": "Archit/Source/Base/Extensions/UITableView+Reusable.swift",
    "chars": 247,
    "preview": "//  UITableView+Reusable.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reser"
  },
  {
    "path": "Archit/Source/Base/Interactors/BaseInteractor.swift",
    "chars": 227,
    "preview": "//  BaseInteractor.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\n"
  },
  {
    "path": "Archit/Source/Base/ViewControllers/BaseNavigationController.swift",
    "chars": 1060,
    "preview": "//  BaseNavigationController.swift\n//  Created by Alex Rupérez on 6/11/17.\n//  Copyright © 2017 Intelygenz. All rights r"
  },
  {
    "path": "Archit/Source/Base/ViewControllers/BaseViewController.swift",
    "chars": 2129,
    "preview": "//  BaseViewController.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserve"
  },
  {
    "path": "Archit/Source/FilmDetail/FilmDetailController.swift",
    "chars": 1505,
    "preview": "//  FilmDetailController.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reser"
  },
  {
    "path": "Archit/Source/FilmDetail/FilmDetailViewController.swift",
    "chars": 1327,
    "preview": "//  FilmDetailViewController.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights r"
  },
  {
    "path": "Archit/Source/Films/FilmCell.swift",
    "chars": 700,
    "preview": "//  FilmCell.swift\n//  Created by Diego Manuel Molina Canedo on 11/12/17.\n//  Copyright © 2017 Intelygenz. All rights re"
  },
  {
    "path": "Archit/Source/Films/FilmsController.swift",
    "chars": 2282,
    "preview": "//  FilmsController.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n"
  },
  {
    "path": "Archit/Source/Films/FilmsInteractor.swift",
    "chars": 2624,
    "preview": "//  FilmsInteractor.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n"
  },
  {
    "path": "Archit/Source/Films/FilmsViewController.swift",
    "chars": 4264,
    "preview": "//  FilmsViewController.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserv"
  },
  {
    "path": "Archit/Source/Managers/AppManager.swift",
    "chars": 3910,
    "preview": "//  AppManager.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nimpo"
  },
  {
    "path": "Archit/Source/Managers/LogManager.swift",
    "chars": 925,
    "preview": "//  LogManager.swift\n//  Created by Alex Rupérez on 16/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
  },
  {
    "path": "Archit/Supporting Files/AppDelegate.swift",
    "chars": 1100,
    "preview": "//  AppDelegate.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
  },
  {
    "path": "Archit/Supporting Files/Archit.entitlements",
    "chars": 252,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Archit/Supporting Files/Info.plist",
    "chars": 1606,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Archit/UI/Base.lproj/LaunchScreen.storyboard",
    "chars": 3061,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Archit/UI/Base.lproj/Main.storyboard",
    "chars": 21852,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Archit.xcodeproj/project.pbxproj",
    "chars": 100257,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 48;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Archit.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 151,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Archit.xcodepro"
  },
  {
    "path": "Archit.xcodeproj/xcshareddata/xcschemes/Archit.xcscheme",
    "chars": 5073,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0910\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Archit.xcodeproj/xcshareddata/xcschemes/Core.xcscheme",
    "chars": 2903,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0910\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Archit.xcodeproj/xcshareddata/xcschemes/Domain.xcscheme",
    "chars": 2915,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0910\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Archit.xcworkspace/contents.xcworkspacedata",
    "chars": 224,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"group:Archit.xcodepr"
  },
  {
    "path": "Archit.xcworkspace/xcshareddata/xcdebugger/Breakpoints_v2.xcbkptlist",
    "chars": 1305,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Bucket\n   type = \"3\"\n   version = \"2.0\">\n   <Breakpoints>\n      <BreakpointProxy"
  },
  {
    "path": "ArchitTests/ArchitTests.swift",
    "chars": 939,
    "preview": "//  ArchitTests.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
  },
  {
    "path": "ArchitTests/Info.plist",
    "chars": 701,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "ArchitUITests/ArchitUITests.swift",
    "chars": 1211,
    "preview": "//  ArchitUITests.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\ni"
  },
  {
    "path": "ArchitUITests/Info.plist",
    "chars": 701,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 3216,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
  },
  {
    "path": "Core/Core.h",
    "chars": 442,
    "preview": "//  Core.h\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\n#import <UIKit"
  },
  {
    "path": "Core/Info.plist",
    "chars": 774,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Core/NetworkService.swift",
    "chars": 218,
    "preview": "//  NetworkService.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\n"
  },
  {
    "path": "Core/NetworkServiceProtocol.swift",
    "chars": 706,
    "preview": "//  NetworkServiceProtocol.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights res"
  },
  {
    "path": "Core/NetworkServiceTransformer.swift",
    "chars": 547,
    "preview": "//  NetworkServiceTransformer.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights "
  },
  {
    "path": "Core/ServiceProtocol.swift",
    "chars": 175,
    "preview": "//  ServiceProtocol.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n"
  },
  {
    "path": "Core/Services/Films/FilmsService.swift",
    "chars": 2655,
    "preview": "//  FilmsService.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nim"
  },
  {
    "path": "Core/Services/Films/NetworkModels/FilmNetworkModel.swift",
    "chars": 1604,
    "preview": "//  FilmNetworkModel.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved."
  },
  {
    "path": "Core/Services/Films/NetworkModels/FilmRatingNetworkModel.swift",
    "chars": 343,
    "preview": "//  FilmRatingNetworkModel.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights res"
  },
  {
    "path": "Core/Services/Films/NetworkModels/FilmSearchNetworkModel.swift",
    "chars": 478,
    "preview": "//  FilmSearchNetworkModel.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights res"
  },
  {
    "path": "Core/Services/Films/NetworkModels/Transformers/FilmsNetworkTransformer.swift",
    "chars": 2104,
    "preview": "//  FilmsNetworkTransformer.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights re"
  },
  {
    "path": "Core/Services/Films/Tasks/SearchFilmServiceTask.swift",
    "chars": 1117,
    "preview": "//  SearchFilmServiceTask.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights rese"
  },
  {
    "path": "Core/Services/Films/Tasks/SearchFilmsServiceTask.swift",
    "chars": 1319,
    "preview": "//  SearchFilmsServiceTask.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights res"
  },
  {
    "path": "Core/Services/NetworkServiceConstants.swift",
    "chars": 1074,
    "preview": "//  NetworkServiceConstants.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights re"
  },
  {
    "path": "Core/Tasks/ServiceTask.swift",
    "chars": 2853,
    "preview": "//  ServiceTask.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
  },
  {
    "path": "Core/Tasks/ServiceTaskProtocol.swift",
    "chars": 912,
    "preview": "//  ServiceTaskProtocol.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserv"
  },
  {
    "path": "Core/Tasks/TaskProtocol.swift",
    "chars": 241,
    "preview": "//  TaskProtocol.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nim"
  },
  {
    "path": "Core/Transformer.swift",
    "chars": 687,
    "preview": "//  Transformer.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
  },
  {
    "path": "CoreTests/CoreTests.swift",
    "chars": 933,
    "preview": "//  CoreTests.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nimpor"
  },
  {
    "path": "CoreTests/Info.plist",
    "chars": 701,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Dangerfile",
    "chars": 615,
    "preview": "# Sometimes it's a README fix, or something like that - which isn't relevant for\n# including in a project's CHANGELOG fo"
  },
  {
    "path": "Domain/Domain.h",
    "chars": 454,
    "preview": "//  Domain.h\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\n#import <UIK"
  },
  {
    "path": "Domain/Film.swift",
    "chars": 2087,
    "preview": "//  Film.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nimport Fou"
  },
  {
    "path": "Domain/Info.plist",
    "chars": 774,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "DomainTests/DomainTests.swift",
    "chars": 939,
    "preview": "//  DomainTests.swift\n//  Created by Alex Rupérez on 7/11/17.\n//  Copyright © 2017 Intelygenz. All rights reserved.\n\nimp"
  },
  {
    "path": "DomainTests/Info.plist",
    "chars": 701,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Gemfile",
    "chars": 298,
    "preview": "# encoding: UTF-8\nsource 'https://rubygems.org'\n\ngem 'rake'\ngem 'cocoapods'\ngem 'xcode-install'\ngem 'fastlane'\ngem 'dang"
  },
  {
    "path": "ISSUE_TEMPLATE.md",
    "chars": 725,
    "preview": "> ℹ Please fill out this template when filing an issue.\n> All lines beginning with an ℹ symbol instruct you with what in"
  },
  {
    "path": "LICENSE",
    "chars": 1101,
    "preview": "MIT License\n\nCopyright (c) 2017 Intelygenz <alejandro.ruperez@intelygenz.com>\n\nPermission is hereby granted, free of cha"
  },
  {
    "path": "PULL_REQUEST_TEMPLATE.md",
    "chars": 463,
    "preview": "### Issue Link :link:\n<!-- What issue does this fix? If an issue doesn't exist, remove this section. -->\n\n### Goals :soc"
  },
  {
    "path": "Podfile",
    "chars": 371,
    "preview": "platform :ios, '11.0'\nuse_frameworks!\ninhibit_all_warnings!\n\npod 'SwiftLint'\npod 'XCGLogger'\n\ntarget 'Archit' do\n\npod 'R"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/CCIBlockDefinitions.h",
    "chars": 17286,
    "preview": "//\n//  CCIBlockDefinitions.h\n//  Pods\n//\n//  Created by Ahmed Ali on 23/01/16.\n//\n//\n\n#import <Foundation/Foundation.h>\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCIFeaturesManager.h",
    "chars": 3132,
    "preview": "//\n//  CCIFeaturesManager.h\n\n//\n//  Created by Ahmed Ali on 02/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserve"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCIFeaturesManager.m",
    "chars": 7598,
    "preview": "//\n//  CCIFeaturesManager.m\n\n//\n//  Created by Ahmed Ali on 02/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserve"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCILoggingManager.h",
    "chars": 529,
    "preview": "//\n//  CCILoggingManager.h\n//  CucumberishLibrary\n//\n//  Created by Titouan van Belle on 15.07.17.\n//  Copyright © 2017 "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCILoggingManager.m",
    "chars": 1650,
    "preview": "//\n//  CCILoggingManager.h\n//  CucumberishLibrary\n//\n//  Created by Titouan van Belle on 15.07.17.\n//  Copyright © 2017 "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCIStepsManager.h",
    "chars": 2063,
    "preview": "//\n//  CCIStepsManager.h\n\n//\n//  Created by Ahmed Ali on 03/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Managers/CCIStepsManager.m",
    "chars": 10405,
    "preview": "//\n//  CCIStepsManager.m\n\n//\n//  Created by Ahmed Ali on 03/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIArgument.h",
    "chars": 2128,
    "preview": "//\n//\tCCIArgument.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIArgument.m",
    "chars": 3585,
    "preview": "//\n//\tCCIArgument.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIAroundHock.h",
    "chars": 1536,
    "preview": "//\n//  CCIAroundHock.h\n//\n//\tCreated by Ahmed Ali on 19/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n/"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIAroundHock.m",
    "chars": 1461,
    "preview": "//\n//  CCIAroundHock.m\n//\n//\tCreated by Ahmed Ali on 19/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n/"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIBackground.h",
    "chars": 1744,
    "preview": "//\n//\tCCIBackground.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIBackground.m",
    "chars": 3550,
    "preview": "//\n//\tCCIBackground.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIExample.h",
    "chars": 2683,
    "preview": "//\n//\tCCIExample.h\n//\n//\tCreated by Ahmed Ali on 17/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIExample.m",
    "chars": 5077,
    "preview": "//\n//\tCCIExample.m\n//\n//\tCreated by Ahmed Ali on 17/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIFeature.h",
    "chars": 2312,
    "preview": "//\n//\tCCIFeature.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIFeature.m",
    "chars": 6601,
    "preview": "//\n//\tCCIFeature.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIHock.h",
    "chars": 1503,
    "preview": "//\n//  CCIHock.h\n//\tCreated by Ahmed Ali on 19/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// Perm"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIHock.m",
    "chars": 1417,
    "preview": "//\n//  CCIHock.m\n//\tCreated by Ahmed Ali on 19/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// Perm"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIJSONDumper.h",
    "chars": 1087,
    "preview": "//\n//  CCIJSONDumper.h\n//  AMBluetooth\n//\n//  Created by ereynolds on 11/11/16.\n//  Copyright © 2016 Ahmed Ali. All righ"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIJSONDumper.m",
    "chars": 15949,
    "preview": "//\n//  CCIJSONDumper.m\n//  AMBluetooth\n//\n//  Created by ereynolds on 11/11/16.\n//  Copyright © 2016 Ahmed Ali. All righ"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCILocation.h",
    "chars": 2011,
    "preview": "//\n//\tCCILocation.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCILocation.m",
    "chars": 2934,
    "preview": "//\n//\tCCILocation.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n//"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIScenarioDefinition.h",
    "chars": 3450,
    "preview": "//\n//\tCCIScenarioDefinition.h\n//\n//\tCreated by Ahmed Ali on 17/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserve"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIScenarioDefinition.m",
    "chars": 8501,
    "preview": "//\n//\tCCIScenarioDefinition.m\n//\n//\tCreated by Ahmed Ali on 17/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserve"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIStep.h",
    "chars": 2776,
    "preview": "//\n//\tCCIStep.h\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// Per"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIStep.m",
    "chars": 3257,
    "preview": "//\n//\tCCIStep.m\n//\n//\tCreated by Ahmed Ali on 2/1/2016\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//\n// Per"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIStepDefinition.h",
    "chars": 1657,
    "preview": "//\n//  CCIStepDefinition.h\n\n//\n//  Created by Ahmed Ali on 02/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserved"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Core/Models/CCIStepDefinition.m",
    "chars": 2193,
    "preview": "//\n//  CCIStepDefinition.m\n\n//\n//  Created by Ahmed Ali on 02/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserved"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Cucumberish.h",
    "chars": 7786,
    "preview": "//\n//  Cucumberish.h\n\n//\n//  Created by Ahmed Ali on 03/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n/"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Cucumberish.m",
    "chars": 32293,
    "preview": "//\n//  Cucumberish.m\n//\n//  Created by Ahmed Ali on 03/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n//\n//"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstBuilder.h",
    "chars": 346,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHAstNode.h\"\r\n#import \"GHParser.h\"\r\n\r\n@class GHToken;\r\n\r\n@interface GHAstBu"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstBuilder.m",
    "chars": 13062,
    "preview": "#import \"GHAstBuilder.h\"\r\n\r\n#import \"GHTag.h\"\r\n#import \"GHToken.h\"\r\n#import \"GHComment.h\"\r\n#import \"GHTableRow.h\"\r\n#imp"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstNode.h",
    "chars": 781,
    "preview": "#import <Foundation/Foundation.h>\r\n@class GHToken;\r\n\r\ntypedef enum GHRuleType GHRuleType;\r\ntypedef enum GHTokenType GHT"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHAstNode.m",
    "chars": 2028,
    "preview": "#import \"GHAstNode.h\"\r\n\r\n#import \"GHToken.h\"\r\n#import \"GHParser.h\"\r\n\r\n@interface GHAstNode ()\r\n\r\n@property (nonatomic, "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHBackground.h",
    "chars": 254,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasDescriptionProtocol.h\"\r\n#import \"GHHasLocationProtocol.h\"\r\n#import \"GHH"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHBackground.m",
    "chars": 451,
    "preview": "#import \"GHBackground.h\"\r\n\r\n#import \"GHLocation.h\"\r\n\r\n@interface GHBackground ()\r\n\r\n\r\n@end\r\n\r\n@implementation GHBackgrou"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHComment.h",
    "chars": 326,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@interface GHComment : NSObject <GHHasLocationP"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHComment.m",
    "chars": 471,
    "preview": "#import \"GHComment.h\"\r\n\r\n@interface GHComment ()\r\n\r\n@property (nonatomic, strong) GHLocation    * location;\r\n@property "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHDataTable.h",
    "chars": 424,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHStepArgument.h\"\r\n\r\n#import \"GHHasRowsProtocol.h\"\r\n#import \"GHHasLocationPr"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHDataTable.m",
    "chars": 589,
    "preview": "#import \"GHDataTable.h\"\r\n\r\n#import \"GHTableRow.h\"\r\n\r\n@interface GHDataTable ()\r\n\r\n@property (nonatomic, strong) GHLocat"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHDocString.h",
    "chars": 485,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHStepArgument.h\"\r\n\r\n#import \"GHHasLocationProtocol.h\"\r\n        \r\n@interface"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHDocString.m",
    "chars": 647,
    "preview": "#import \"GHDocString.h\"\r\n\r\n@interface GHDocString ()\r\n\r\n@property (nonatomic, strong) GHLocation    * location;\r\n@prope"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHExamples.h",
    "chars": 1101,
    "preview": "#import <Foundation/Foundation.h>\r\n#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n#import \"GHHas"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHExamples.m",
    "chars": 1405,
    "preview": "#import \"GHExamples.h\"\r\n\r\n#import \"GHTag.h\"\r\n#import \"GHTableRow.h\"\r\n\r\n@interface GHExamples ()\r\n\r\n@property (nonatomic"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHFeature.h",
    "chars": 1245,
    "preview": "#import \"GHHasLocationProtocol.h\"\r\n#import \"GHHasDescriptionProtocol.h\"\r\n#import \"GHHasTagsProtocol.h\"\r\n\r\n@class GHTag;"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHFeature.m",
    "chars": 1631,
    "preview": "#import \"GHFeature.h\"\r\n\r\n#import \"GHTag.h\"\r\n#import \"GHLocation.h\"\r\n#import \"GHBackground.h\"\r\n#import \"GHScenarioDefini"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialect.h",
    "chars": 1649,
    "preview": "#import <Foundation/Foundation.h>\r\n\r\n@interface GHGherkinDialect : NSObject\r\n\r\n@property (nonatomic, readonly) NSString"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialect.m",
    "chars": 3046,
    "preview": "#import \"GHGherkinDialect.h\"\r\n\r\n@interface GHGherkinDialect ()\r\n\r\n@property (nonatomic, strong) NSString              *"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialectProvider.h",
    "chars": 228,
    "preview": "#import <Foundation/Foundation.h>\r\n\r\n#import \"GHGherkinDialectProviderProtocol.h\"\r\n\r\n@interface GHGherkinDialectProvide"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialectProvider.m",
    "chars": 5721,
    "preview": "#import \"GHGherkinDialectProvider.h\"\r\n\r\n#import \"GHGherkinDialect.h\"\r\n#import \"GHGherkinLanguageSetting.h\"\r\n#import \"GH"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinDialectProviderProtocol.h",
    "chars": 312,
    "preview": "#import <Foundation/Foundation.h>\n@class GHGherkinDialect;\n@class GHLocation;\n\n@protocol GHGherkinDialectProviderProtoco"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLanguageConstants.h",
    "chars": 412,
    "preview": "#import <Foundation/Foundation.h>\r\nextern NSString * const GHTagPrefix;\r\nextern NSString * const GHCommentPrefix;\r\nexter"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLanguageConstants.m",
    "chars": 539,
    "preview": "#import \"GHGherkinLanguageConstants.h\"\r\n\r\nNSString * const GHTagPrefix                        = @\"@\";\r\nNSString * const"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLanguageSetting.h",
    "chars": 813,
    "preview": "#import <Foundation/Foundation.h>\n@interface GHGherkinLanguageSetting : NSObject\n\n@property (nonatomic, strong) NSString"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLanguageSetting.m",
    "chars": 331,
    "preview": "#import \"GHGherkinLanguageSetting.h\"\n\n@implementation GHGherkinLanguageSetting\n\n@synthesize name;\n@synthesize native;\n@s"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLine.h",
    "chars": 340,
    "preview": "#import <Foundation/Foundation.h>\r\n\r\n#import \"GHGherkinLineProtocol.h\"\r\n\r\n@interface GHGherkinLine : NSObject <GHGherki"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLine.m",
    "chars": 6047,
    "preview": "#import \"GHGherkinLine.h\"\r\n\r\n#import \"GHGherkinLanguageConstants.h\"\r\n#import \"GHGherkinLineSpan.h\"\r\n\r\n#import \"NSString"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLineProtocol.h",
    "chars": 2495,
    "preview": "#import <Foundation/Foundation.h>\r\n@class GHGherkinLineSpan;\r\n\r\n@protocol GHGherkinLineProtocol <NSObject>\r\n\r\n@property"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLineSpan.h",
    "chars": 263,
    "preview": "#import <Foundation/Foundation.h>\r\n@interface GHGherkinLineSpan : NSObject\r\n\r\n@property (nonatomic, readonly) NSUIntege"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHGherkinLineSpan.m",
    "chars": 461,
    "preview": "\r\n#import \"GHGherkinLineSpan.h\"\r\n\r\n@interface GHGherkinLineSpan ()\r\n\r\n@property (nonatomic, assign) NSUInteger  column;"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasDescriptionProtocol.h",
    "chars": 253,
    "preview": "#import <Foundation/Foundation.h>\r\n@protocol GHHasDescriptionProtocol <NSObject>\r\n\r\n@property (nonatomic, readonly) NSS"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasLocationProtocol.h",
    "chars": 167,
    "preview": "#import <Foundation/Foundation.h>\r\n@class GHLocation;\r\n\r\n@protocol GHHasLocationProtocol <NSObject>\r\n\r\n@property (nonat"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasRowsProtocol.h",
    "chars": 171,
    "preview": "#import <Foundation/Foundation.h>\r\n@class GHTableRow;\r\n\r\n@protocol GHHasRowsProtocol <NSObject>\r\n\r\n@property (nonatomic"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasStepsProtocol.h",
    "chars": 165,
    "preview": "#import <Foundation/Foundation.h>\r\n@class GHStep;\r\n\r\n@protocol GHHasStepsProtocol <NSObject>\r\n\r\n@property (nonatomic, r"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHHasTagsProtocol.h",
    "chars": 161,
    "preview": "#import <Foundation/Foundation.h>\r\n@class GHTag;\r\n\r\n@protocol GHHasTagsProtocol <NSObject>\r\n\r\n@property (nonatomic, rea"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHLocation.h",
    "chars": 352,
    "preview": "#import <Foundation/Foundation.h>\r\n@interface GHLocation : NSObject\r\n\r\n@property (nonatomic, readonly) NSUInteger  line;"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHLocation.m",
    "chars": 675,
    "preview": "#import \"GHLocation.h\"\n\n@interface GHLocation ()\n\n@property (nonatomic, assign) NSUInteger    line;\n@property (nonatomic"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHNode.h",
    "chars": 74,
    "preview": "#import <Foundation/Foundation.h>\r\n@interface GHNode : NSObject\r\n\r\n@end\r\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHNode.m",
    "chars": 55,
    "preview": "#import \"GHNode.h\"\r\n\r\n@implementation GHNode\r\n\r\n@end\r\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser+Extensions.h",
    "chars": 172,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHParser.h\"\r\n\r\n@class GHFeature;\r\n\r\n@interface GHParser (Extensions)\r\n\r\n- ("
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser+Extensions.m",
    "chars": 515,
    "preview": "#import \"GHParser+Extensions.h\"\r\n\r\n#import \"GHParser.h\"\r\n#import \"GHTokenScanner.h\"\r\n#import \"GHFeature.h\"\r\n\r\n@implemen"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser.h",
    "chars": 5977,
    "preview": "// ------------------------------------------------------------------------------\r\n//  <auto-generated>\r\n//      This c"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParser.m",
    "chars": 134703,
    "preview": "// ------------------------------------------------------------------------------\r\n//  <auto-generated>\r\n//      This c"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParserException.h",
    "chars": 1707,
    "preview": "#import <Foundation/Foundation.h>\r\n@class GHLocation;\r\n@class GHToken;\r\n\r\n@interface GHParserException : NSException\r\n\r\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHParserException.m",
    "chars": 6092,
    "preview": "#import \"GHParserException.h\"\r\n\r\n#import \"GHLocation.h\"\r\n#import \"GHToken.h\"\r\n\r\n@interface GHParserException ()\r\n\r\n@prop"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenario.h",
    "chars": 456,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHScenarioDefinition.h\"\r\n\r\n@class GHTag;\r\n@class GHLocation;\r\n@class GHStep;"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenario.m",
    "chars": 547,
    "preview": "#import \"GHScenario.h\"\r\n\r\n#import \"GHScenarioDefinition_Private.h\"\r\n\r\n#import \"GHLocation.h\"\r\n\r\n@implementation GHScenar"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioDefinition.h",
    "chars": 859,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n#import \"GHHasDescriptionProtocol.h\"\r\n#import \"GH"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioDefinition.m",
    "chars": 1076,
    "preview": "#import \"GHScenarioDefinition.h\"\r\n\r\n#import \"GHScenarioDefinition_Private.h\"\r\n\r\n#import \"GHTag.h\"\r\n#import \"GHStep.h\"\r\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioDefinition_Private.h",
    "chars": 264,
    "preview": "#import <Foundation/Foundation.h>\n@interface GHScenarioDefinition (Private)\n\n- (id)initWithLocation:(GHLocation *)theLoc"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioOutline.h",
    "chars": 549,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHScenarioDefinition.h\"\r\n\r\n@class GHExamples;\r\n\r\n@interface GHScenarioOutlin"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHScenarioOutline.m",
    "chars": 764,
    "preview": "#import \"GHScenarioOutline.h\"\r\n\r\n#import \"GHScenarioDefinition_Private.h\"\r\n\r\n@interface GHScenarioOutline ()\r\n\r\n@proper"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHStep.h",
    "chars": 578,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@class GHLocation;\r\n@class GHStepArgument;\r\n\r\n@"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHStep.m",
    "chars": 816,
    "preview": "#import \"GHStep.h\"\r\n\r\n#import \"GHLocation.h\"\r\n#import \"GHStepArgument.h\"\r\n\r\n@interface GHStep ()\r\n\r\n@property (nonatomi"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHStepArgument.h",
    "chars": 80,
    "preview": "#import <Foundation/Foundation.h>\r\n@interface GHStepArgument : NSObject\r\n\r\n@end"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHStepArgument.m",
    "chars": 69,
    "preview": "#import \"GHStepArgument.h\"\r\n\r\n@implementation GHStepArgument\r\n\r\n@end"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTableCell.h",
    "chars": 355,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@class GHLocation;\r\n\r\n@interface GHTableCell : "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTableCell.m",
    "chars": 493,
    "preview": "#import \"GHTableCell.h\"\r\n\r\n#import \"GHLocation.h\"\r\n\r\n@interface GHTableCell ()\r\n\r\n@property (nonatomic, strong) GHLocat"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTableRow.h",
    "chars": 390,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@class GHTableCell;\r\n\r\n@interface GHTableRow : N"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTableRow.m",
    "chars": 560,
    "preview": "#import \"GHTableRow.h\"\r\n\r\n#import \"GHLocation.h\"\r\n#import \"GHStepArgument.h\"\r\n\r\n@interface GHTableRow ()\r\n\r\n@property ("
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTag.h",
    "chars": 343,
    "preview": "#import <Foundation/Foundation.h>\r\n@class GHLocation;\r\n\r\n#import \"GHHasLocationProtocol.h\"\r\n\r\n@interface GHTag : NSObjec"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTag.m",
    "chars": 473,
    "preview": "#import \"GHTag.h\"\r\n\r\n#import \"GHLocation.h\"\r\n\r\n@interface GHTag ()\r\n\r\n@property (nonatomic, strong) GHLocation    * loc"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHToken.h",
    "chars": 1038,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHGherkinLineProtocol.h\"\r\n\r\n@class GHGherkinLineSpan;\r\n@class GHGherkinDiale"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHToken.m",
    "chars": 928,
    "preview": "#import \"GHToken.h\"\r\n\r\n#import \"GHGherkinLineProtocol.h\"\r\n\r\n#import \"GHParser.h\"\r\n\r\n@implementation GHToken\r\n\r\n@synthes"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTokenMatcher.h",
    "chars": 1160,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHParser.h\"\r\n\r\n@class GHToken;\r\n@class GHGherkinDialect;\r\n@class GHGherkinD"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTokenMatcher.m",
    "chars": 9912,
    "preview": "#import \"GHTokenMatcher.h\"\r\n\r\n#import \"GHGherkinDialectProvider.h\"\r\n#import \"GHGherkinLineSpan.h\"\r\n#import \"GHToken.h\"\r"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTokenScanner.h",
    "chars": 283,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHParser.h\"\r\n\r\n@class GHToken;\r\n\r\n@interface GHTokenScanner : NSObject <GHT"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/GHTokenScanner.m",
    "chars": 1845,
    "preview": "#import <Foundation/Foundation.h>\r\n#import \"GHTokenScanner.h\"\r\n\r\n#import \"GHToken.h\"\r\n#import \"GHLocation.h\"\r\n#import \""
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/NSString+Trim.h",
    "chars": 246,
    "preview": "#import <Foundation/Foundation.h>\n@interface NSString (Trim)\n\n- (NSString *)stringByTrimmingStartWithCharactersInSet:(NS"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/NSString+Trim.m",
    "chars": 724,
    "preview": "#import \"NSString+Trim.h\"\n\n@implementation NSString (Trim)\n\n- (NSString *)stringByTrimmingStartWithCharactersInSet:(NSCh"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Dependencies/Gherkin/gherkin-languages.json",
    "chars": 41330,
    "preview": "{\n  \"af\": {\n    \"and\": [\n      \"* \",\n      \"En \"\n    ],\n    \"background\": [\n      \"Agtergrond\"\n    ],\n    \"but\": [\n     "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Utils/NSArray+Hashes.h",
    "chars": 615,
    "preview": "//\n//  NSArray+Hashes.h\n//  CucumberishExample\n//\n//  Created by David Siebecker on 7/26/16.\n//  Copyright © 2016 Ahmed "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Utils/NSArray+Hashes.m",
    "chars": 1263,
    "preview": "//\n//  NSArray+Hashes.m\n//  CucumberishExample\n//\n//  Created by David Siebecker on 7/26/16.\n//  Copyright © 2016 Ahmed "
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Utils/NSObject+Dictionary.h",
    "chars": 105,
    "preview": "#import <Foundation/Foundation.h>\n\n@interface NSObject (Dictionary)\n\n- (NSDictionary *)dictionary;\n\n@end\n"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Utils/NSObject+Dictionary.m",
    "chars": 3279,
    "preview": "#import \"NSObject+Dictionary.h\"\n\n#import \"GHHasLocationProtocol.h\"\n\n#import <objc/runtime.h>\n\n@implementation NSObject ("
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Utils/NSString+Formatter.h",
    "chars": 1363,
    "preview": "//\n//  NSString+Formatter.h\n//\n//  Created by Ahmed Ali on 11/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserved"
  },
  {
    "path": "Pods/Cucumberish/Cucumberish/Utils/NSString+Formatter.m",
    "chars": 2930,
    "preview": "//\n//  NSString+Formatter.m\n\n//  Created by Ahmed Ali on 11/01/16.\n//  Copyright © 2016 Ahmed Ali. All rights reserved.\n"
  },
  {
    "path": "Pods/Cucumberish/LICENSE",
    "chars": 1083,
    "preview": "Copyright (c) 2016 Ahmed Ali (https://github.com/Ahmed-Ali)\n\nPermission is hereby granted, free of charge, to any person"
  },
  {
    "path": "Pods/Cucumberish/README.md",
    "chars": 11464,
    "preview": "# Cucumberish\nCucumberish is a test automation framework for Behaviour Driven Development (BDD).\nIt is inspired by the a"
  },
  {
    "path": "Pods/Kingfisher/LICENSE",
    "chars": 1076,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2017 Wei Wang\n\nPermission is hereby granted, free of charge, to any person obtainin"
  },
  {
    "path": "Pods/Kingfisher/README.md",
    "chars": 8181,
    "preview": "<p align=\"center\">\n\n<img src=\"https://raw.githubusercontent.com/onevcat/Kingfisher/master/images/logo.png\" alt=\"Kingfish"
  },
  {
    "path": "Pods/Kingfisher/Sources/AnimatedImageView.swift",
    "chars": 13294,
    "preview": "//\n//  AnimatableImageView.swift\n//  Kingfisher\n//\n//  Created by bl4ckra1sond3tre on 4/22/16.\n//\n//  The AnimatableImag"
  },
  {
    "path": "Pods/Kingfisher/Sources/Box.swift",
    "chars": 238,
    "preview": "//\n//  Box.swift\n//  Kingfisher\n//\n//  Created by WANG WEI on 2016/09/12.\n//  Copyright © 2016年 Wei Wang. All rights res"
  },
  {
    "path": "Pods/Kingfisher/Sources/CacheSerializer.swift",
    "chars": 3745,
    "preview": "//\n//  CacheSerializer.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 2016/09/02.\n//\n//  Copyright (c) 2017 Wei Wang"
  },
  {
    "path": "Pods/Kingfisher/Sources/Filter.swift",
    "chars": 5298,
    "preview": "//\n//  Filter.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 2016/08/31.\n//\n//  Copyright (c) 2017 Wei Wang <onevcat"
  },
  {
    "path": "Pods/Kingfisher/Sources/FormatIndicatedCacheSerializer.swift",
    "chars": 3988,
    "preview": "//\n//  RequestModifier.swift\n//  Kingfisher\n//\n//  Created by Junyu Kuang on 5/28/17.\n//\n//  Copyright (c) 2017 Wei Wang"
  },
  {
    "path": "Pods/Kingfisher/Sources/Image.swift",
    "chars": 33046,
    "preview": "//\n//  Image.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 16/1/6.\n//\n//  Copyright (c) 2017 Wei Wang <onevcat@gmai"
  },
  {
    "path": "Pods/Kingfisher/Sources/ImageCache.swift",
    "chars": 29492,
    "preview": "//\n//  ImageCache.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 15/4/6.\n//\n//  Copyright (c) 2017 Wei Wang <onevcat"
  },
  {
    "path": "Pods/Kingfisher/Sources/ImageDownloader.swift",
    "chars": 27253,
    "preview": "//\n//  ImageDownloader.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 15/4/6.\n//\n//  Copyright (c) 2017 Wei Wang <on"
  },
  {
    "path": "Pods/Kingfisher/Sources/ImagePrefetcher.swift",
    "chars": 11763,
    "preview": "//\n//  ImagePrefetcher.swift\n//  Kingfisher\n//\n//  Created by Claire Knight <claire.knight@moggytech.co.uk> on 24/02/201"
  },
  {
    "path": "Pods/Kingfisher/Sources/ImageProcessor.swift",
    "chars": 23967,
    "preview": "//\n//  ImageProcessor.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 2016/08/26.\n//\n//  Copyright (c) 2017 Wei Wang "
  },
  {
    "path": "Pods/Kingfisher/Sources/ImageTransition.swift",
    "chars": 4287,
    "preview": "//\n//  ImageTransition.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 15/9/18.\n//\n//  Copyright (c) 2017 Wei Wang <o"
  },
  {
    "path": "Pods/Kingfisher/Sources/ImageView+Kingfisher.swift",
    "chars": 10723,
    "preview": "//\n//  ImageView+Kingfisher.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 15/4/6.\n//\n//  Copyright (c) 2017 Wei Wan"
  },
  {
    "path": "Pods/Kingfisher/Sources/Indicator.swift",
    "chars": 6696,
    "preview": "//\n//  Indicator.swift\n//  Kingfisher\n//\n//  Created by João D. Moreira on 30/08/16.\n//\n//  Copyright (c) 2017 Wei Wang "
  },
  {
    "path": "Pods/Kingfisher/Sources/Kingfisher.h",
    "chars": 1595,
    "preview": "//\n//  Kingfisher.h\n//  Kingfisher\n//\n//  Created by Wei Wang on 15/4/6.\n//\n//  Copyright (c) 2017 Wei Wang <onevcat@gma"
  },
  {
    "path": "Pods/Kingfisher/Sources/Kingfisher.swift",
    "chars": 2310,
    "preview": "//\n//  Kingfisher.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 16/9/14.\n//\n//  Copyright (c) 2017 Wei Wang <onevca"
  },
  {
    "path": "Pods/Kingfisher/Sources/KingfisherManager.swift",
    "chars": 12118,
    "preview": "//\n//  KingfisherManager.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 15/4/6.\n//\n//  Copyright (c) 2017 Wei Wang <"
  },
  {
    "path": "Pods/Kingfisher/Sources/KingfisherOptionsInfo.swift",
    "chars": 14250,
    "preview": "//\n//  KingfisherOptionsInfo.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 15/4/23.\n//\n//  Copyright (c) 2017 Wei W"
  },
  {
    "path": "Pods/Kingfisher/Sources/Placeholder.swift",
    "chars": 3590,
    "preview": "//\n//  Placeholder.swift\n//  Kingfisher\n//\n//  Created by Tieme van Veen on 28/08/2017.\n//\n//  Copyright (c) 2017 Wei Wa"
  },
  {
    "path": "Pods/Kingfisher/Sources/RequestModifier.swift",
    "chars": 1921,
    "preview": "//\n//  RequestModifier.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 2016/09/05.\n//\n//  Copyright (c) 2017 Wei Wang"
  },
  {
    "path": "Pods/Kingfisher/Sources/Resource.swift",
    "chars": 2716,
    "preview": "//\n//  Resource.swift\n//  Kingfisher\n//\n//  Created by Wei Wang on 15/4/6.\n//\n//  Copyright (c) 2017 Wei Wang <onevcat@g"
  }
]

// ... and 224 more files (download for full content)

About this extraction

This page contains the full source code of the intelygenz/Archit-iOS GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 424 files (1.7 MB), approximately 476.3k tokens, and a symbol index with 6 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!