diff --git a/.github/workflows/objective-c-xcode.yml b/.github/workflows/objective-c-xcode.yml new file mode 100644 index 000000000..be710f7d4 --- /dev/null +++ b/.github/workflows/objective-c-xcode.yml @@ -0,0 +1,30 @@ +name: Xcode - Build and Analyze + +on: + push: + branches: [ "main", "dev" ] + pull_request: + branches: [ "main", "dev" ] + +jobs: + build: + name: Build and analyse default scheme using xcodebuild command + runs-on: macos-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Set Default Scheme + run: | + scheme_list=$(xcodebuild -list -json | tr -d "\n") + default=$(echo $scheme_list | ruby -e "require 'json'; puts JSON.parse(STDIN.gets)['project']['targets'][0]") + echo $default | cat >default + echo Using default scheme: $default + - name: Build + env: + scheme: ${{ 'default' }} + run: | + if [ $scheme = default ]; then scheme=$(cat default); fi + if [ "`ls -A | grep -i \\.xcworkspace\$`" ]; then filetype_parameter="workspace" && file_to_build="`ls -A | grep -i \\.xcworkspace\$`"; else filetype_parameter="project" && file_to_build="`ls -A | grep -i \\.xcodeproj\$`"; fi + file_to_build=`echo $file_to_build | awk '{$1=$1;print}'` + xcodebuild clean build analyze -scheme "$scheme" -"$filetype_parameter" "$file_to_build" | xcpretty && exit ${PIPESTATUS[0]} diff --git a/Easydict.xcodeproj/project.pbxproj b/Easydict.xcodeproj/project.pbxproj index bd3c23336..6f8be4c40 100644 --- a/Easydict.xcodeproj/project.pbxproj +++ b/Easydict.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 0310C8272A94F5DF00B1D81E /* apple-dictionary.html in Resources */ = {isa = PBXBuildFile; fileRef = 0310C8262A94EFA100B1D81E /* apple-dictionary.html */; }; 0313F8702AD5577400A5CFB0 /* EasydictTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 0313F86F2AD5577400A5CFB0 /* EasydictTests.m */; }; 031DBD792AE01E130071CF85 /* easydict in Resources */ = {isa = PBXBuildFile; fileRef = 031DBD782AE01E130071CF85 /* easydict */; }; + 0320C5872B29F35700861B3D /* QueryServiceRecord.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0320C5862B29F35700861B3D /* QueryServiceRecord.swift */; }; 03247E362968158B00AFCD67 /* EZScriptExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 03247E352968158B00AFCD67 /* EZScriptExecutor.m */; }; 03247E3A296AE8EC00AFCD67 /* EZLoadingAnimationView.m in Sources */ = {isa = PBXBuildFile; fileRef = 03247E39296AE8EC00AFCD67 /* EZLoadingAnimationView.m */; }; 03262C1C29EEE91700EFECA0 /* EZEnumTypes.m in Sources */ = {isa = PBXBuildFile; fileRef = 03262C1B29EEE91700EFECA0 /* EZEnumTypes.m */; }; @@ -43,7 +44,7 @@ 03542A4C2937B5F100C34C33 /* EZYoudaoTranslate.m in Sources */ = {isa = PBXBuildFile; fileRef = 03542A4B2937B5F100C34C33 /* EZYoudaoTranslate.m */; }; 03542A4F2937B64B00C34C33 /* EZYoudaoOCRResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 03542A4E2937B64B00C34C33 /* EZYoudaoOCRResponse.m */; }; 03542A522937B69200C34C33 /* EZYoudaoTranslateResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 03542A512937B69200C34C33 /* EZYoudaoTranslateResponse.m */; }; - 03542A552937B7DE00C34C33 /* EZTranslateError.m in Sources */ = {isa = PBXBuildFile; fileRef = 03542A542937B7DE00C34C33 /* EZTranslateError.m */; }; + 03542A552937B7DE00C34C33 /* EZError.m in Sources */ = {isa = PBXBuildFile; fileRef = 03542A542937B7DE00C34C33 /* EZError.m */; }; 03542A582937CC3200C34C33 /* EZConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 03542A572937CC3200C34C33 /* EZConfiguration.m */; }; 03542A5B2938DA2B00C34C33 /* EZDetectLanguageButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 03542A5A2938DA2B00C34C33 /* EZDetectLanguageButton.m */; }; 03542A5E2938F05B00C34C33 /* EZLanguageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 03542A5D2938F05B00C34C33 /* EZLanguageModel.m */; }; @@ -191,7 +192,6 @@ 03D2A3E329F4C6F50035CED4 /* EZNetworkManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 03D2A3E229F4C6F50035CED4 /* EZNetworkManager.m */; }; 03D35DAA2AA6C49B00B023FE /* NSString+EZRegex.m in Sources */ = {isa = PBXBuildFile; fileRef = 03D35DA92AA6C49B00B023FE /* NSString+EZRegex.m */; }; 03D5FCFF2A5EF4E400AD26BE /* EZDeviceSystemInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 03D5FCFE2A5EF4E400AD26BE /* EZDeviceSystemInfo.m */; }; - 03D747432A07FB150006CD77 /* EZError.m in Sources */ = {isa = PBXBuildFile; fileRef = 03D747422A07FB150006CD77 /* EZError.m */; }; 03D8A6592A42A1A300D9A968 /* EZAppModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 03D8A6582A42A1A300D9A968 /* EZAppModel.m */; }; 03D8A65C2A433B4100D9A968 /* EZConfiguration+EZUserData.m in Sources */ = {isa = PBXBuildFile; fileRef = 03D8A65B2A433B4100D9A968 /* EZConfiguration+EZUserData.m */; }; 03D8B26E292DBD2000D5A811 /* EZCoordinateUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 03D8B26D292DBD2000D5A811 /* EZCoordinateUtils.m */; }; @@ -208,10 +208,9 @@ 03F14A3B2956016B00CB7379 /* EZVolcanoTranslate.m in Sources */ = {isa = PBXBuildFile; fileRef = 03F14A3A2956016B00CB7379 /* EZVolcanoTranslate.m */; }; 03F25CB329327BC200E66A12 /* EZShortcut.m in Sources */ = {isa = PBXBuildFile; fileRef = 03F25CB229327BC200E66A12 /* EZShortcut.m */; }; 03F639952AA6CFBB009B9914 /* EZBingConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 03F639942AA6CFBB009B9914 /* EZBingConfig.m */; }; + 03FB3EDD2B1B405B004C3238 /* TencentSigning.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03FB3EDC2B1B405B004C3238 /* TencentSigning.swift */; }; 03FD68BB2B1DC59600FD388E /* CryptoSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 03FD68BA2B1DC59600FD388E /* CryptoSwift */; }; 03FD68BE2B1E151A00FD388E /* String+EncryptAES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03FD68BD2B1E151A00FD388E /* String+EncryptAES.swift */; }; - 03FB3EDD2B1B405B004C3238 /* sign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03FB3EDC2B1B405B004C3238 /* sign.swift */; }; - 03FB3EDD2B1B405B004C3238 /* TencentSigning.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03FB3EDC2B1B405B004C3238 /* TencentSigning.swift */; }; 17BCAEF72B0DFF9000A7D372 /* EZNiuTransTranslateResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 17BCAEF52B0DFF9000A7D372 /* EZNiuTransTranslateResponse.m */; }; 17BCAEF82B0DFF9000A7D372 /* EZNiuTransTranslate.m in Sources */ = {isa = PBXBuildFile; fileRef = 17BCAEF62B0DFF9000A7D372 /* EZNiuTransTranslate.m */; }; 2721E4D02AFE920700A059AC /* Alamofire in Frameworks */ = {isa = PBXBuildFile; productRef = 2721E4CF2AFE920700A059AC /* Alamofire */; }; @@ -279,6 +278,7 @@ 0313F86D2AD5577400A5CFB0 /* EasydictTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = EasydictTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 0313F86F2AD5577400A5CFB0 /* EasydictTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EasydictTests.m; sourceTree = ""; }; 031DBD782AE01E130071CF85 /* easydict */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = easydict; sourceTree = ""; }; + 0320C5862B29F35700861B3D /* QueryServiceRecord.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QueryServiceRecord.swift; sourceTree = ""; }; 03247E342968158B00AFCD67 /* EZScriptExecutor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZScriptExecutor.h; sourceTree = ""; }; 03247E352968158B00AFCD67 /* EZScriptExecutor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZScriptExecutor.m; sourceTree = ""; }; 03247E38296AE8EC00AFCD67 /* EZLoadingAnimationView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZLoadingAnimationView.h; sourceTree = ""; }; @@ -330,8 +330,8 @@ 03542A4E2937B64B00C34C33 /* EZYoudaoOCRResponse.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZYoudaoOCRResponse.m; sourceTree = ""; }; 03542A502937B69200C34C33 /* EZYoudaoTranslateResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZYoudaoTranslateResponse.h; sourceTree = ""; }; 03542A512937B69200C34C33 /* EZYoudaoTranslateResponse.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZYoudaoTranslateResponse.m; sourceTree = ""; }; - 03542A532937B7DD00C34C33 /* EZTranslateError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZTranslateError.h; sourceTree = ""; }; - 03542A542937B7DE00C34C33 /* EZTranslateError.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZTranslateError.m; sourceTree = ""; }; + 03542A532937B7DD00C34C33 /* EZError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZError.h; sourceTree = ""; }; + 03542A542937B7DE00C34C33 /* EZError.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZError.m; sourceTree = ""; }; 03542A562937CC3200C34C33 /* EZConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZConfiguration.h; sourceTree = ""; }; 03542A572937CC3200C34C33 /* EZConfiguration.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZConfiguration.m; sourceTree = ""; }; 03542A592938DA2B00C34C33 /* EZDetectLanguageButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZDetectLanguageButton.h; sourceTree = ""; }; @@ -612,8 +612,6 @@ 03D35DA92AA6C49B00B023FE /* NSString+EZRegex.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+EZRegex.m"; sourceTree = ""; }; 03D5FCFD2A5EF4E400AD26BE /* EZDeviceSystemInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZDeviceSystemInfo.h; sourceTree = ""; }; 03D5FCFE2A5EF4E400AD26BE /* EZDeviceSystemInfo.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZDeviceSystemInfo.m; sourceTree = ""; }; - 03D747412A07FB150006CD77 /* EZError.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZError.h; sourceTree = ""; }; - 03D747422A07FB150006CD77 /* EZError.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZError.m; sourceTree = ""; }; 03D8A6572A42A1A300D9A968 /* EZAppModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZAppModel.h; sourceTree = ""; }; 03D8A6582A42A1A300D9A968 /* EZAppModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZAppModel.m; sourceTree = ""; }; 03D8A65A2A433B4100D9A968 /* EZConfiguration+EZUserData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "EZConfiguration+EZUserData.h"; sourceTree = ""; }; @@ -646,9 +644,8 @@ 03F25CB229327BC200E66A12 /* EZShortcut.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZShortcut.m; sourceTree = ""; }; 03F639932AA6CFBB009B9914 /* EZBingConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZBingConfig.h; sourceTree = ""; }; 03F639942AA6CFBB009B9914 /* EZBingConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZBingConfig.m; sourceTree = ""; }; - 03FD68BD2B1E151A00FD388E /* String+EncryptAES.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+EncryptAES.swift"; sourceTree = ""; }; - 03FB3EDC2B1B405B004C3238 /* sign.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = sign.swift; sourceTree = ""; }; 03FB3EDC2B1B405B004C3238 /* TencentSigning.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TencentSigning.swift; sourceTree = ""; }; + 03FD68BD2B1E151A00FD388E /* String+EncryptAES.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+EncryptAES.swift"; sourceTree = ""; }; 06E15747A7BD34D510ADC6A8 /* Pods-Easydict.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Easydict.debug.xcconfig"; path = "Target Support Files/Pods-Easydict/Pods-Easydict.debug.xcconfig"; sourceTree = ""; }; 17BCAEF32B0DFF9000A7D372 /* EZNiuTransTranslateResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZNiuTransTranslateResponse.h; sourceTree = ""; }; 17BCAEF42B0DFF9000A7D372 /* EZNiuTransTranslate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZNiuTransTranslate.h; sourceTree = ""; }; @@ -896,12 +893,10 @@ 03542A3C2937AF4F00C34C33 /* EZQueryResult.m */, 03542A3E2937B3C900C34C33 /* EZOCRResult.h */, 03542A3F2937B3C900C34C33 /* EZOCRResult.m */, - 03542A532937B7DD00C34C33 /* EZTranslateError.h */, - 03542A542937B7DE00C34C33 /* EZTranslateError.m */, + 03542A532937B7DD00C34C33 /* EZError.h */, + 03542A542937B7DE00C34C33 /* EZError.m */, 03262C1A29EEE91700EFECA0 /* EZEnumTypes.h */, 03262C1B29EEE91700EFECA0 /* EZEnumTypes.m */, - 03D747412A07FB150006CD77 /* EZError.h */, - 03D747422A07FB150006CD77 /* EZError.m */, 03DC7C5C2A3ABE28000BF7C9 /* EZConstKey.h */, 03DC7C5D2A3ABE28000BF7C9 /* EZConstKey.m */, ); @@ -1080,6 +1075,7 @@ children = ( 0396D613292CC4C3006A11D9 /* EZLocalStorage.h */, 0396D614292CC4C3006A11D9 /* EZLocalStorage.m */, + 0320C5862B29F35700861B3D /* QueryServiceRecord.swift */, ); path = Storage; sourceTree = ""; @@ -2045,6 +2041,7 @@ buildConfigurationList = C99EEB2C2385796900FEE666 /* Build configuration list for PBXNativeTarget "Easydict" */; buildPhases = ( 21D768ECC6D11E109E6EB73A /* [CP] Check Pods Manifest.lock */, + 03B04B582B2D4B8E00E30823 /* ShellScript */, C99EEB142385796700FEE666 /* Sources */, C99EEB152385796700FEE666 /* Frameworks */, C99EEB162385796700FEE666 /* Resources */, @@ -2166,6 +2163,24 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 03B04B582B2D4B8E00E30823 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n\"${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat\" \"$SRCROOT/$TARGET_NAME\" --swiftversion 5.7\n"; + }; 124D690EE7236D6430CF945E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -2382,7 +2397,6 @@ 036196752A000F5900806370 /* FWEncryptorAES.m in Sources */, 0399C6A829A74E0F00B4AFCC /* EZQueryResult+EZDeepLTranslateResponse.m in Sources */, 039B694F2A9D9F370063709D /* EZWebViewManager.m in Sources */, - 03D747432A07FB150006CD77 /* EZError.m in Sources */, 03B0231629231FA6001C7E63 /* SnipFocusView.m in Sources */, 03FB3EDD2B1B405B004C3238 /* TencentSigning.swift in Sources */, 03B0230329231FA6001C7E63 /* EZResultView.m in Sources */, @@ -2408,6 +2422,7 @@ 03262C2529EFE97B00EFECA0 /* NSViewController+EZWindow.m in Sources */, 03008B2729408BF50062B821 /* NSObject+EZDarkMode.m in Sources */, 0399116A292AA2EF00E1B06D /* EZLayoutManager.m in Sources */, + 0320C5872B29F35700861B3D /* QueryServiceRecord.swift in Sources */, 03B022FA29231FA6001C7E63 /* EZServiceTypes.m in Sources */, 03B0233129231FA6001C7E63 /* MMCrash.m in Sources */, 03B0232629231FA6001C7E63 /* NSAttributedString+MM.m in Sources */, @@ -2425,7 +2440,7 @@ 03BDA7B92A26DA280079D04F /* NSProcessInfo+XPMArgumentParser.m in Sources */, 03542A4F2937B64B00C34C33 /* EZYoudaoOCRResponse.m in Sources */, 03B0233929231FA6001C7E63 /* MMTool.m in Sources */, - 03542A552937B7DE00C34C33 /* EZTranslateError.m in Sources */, + 03542A552937B7DE00C34C33 /* EZError.m in Sources */, 17BCAEF72B0DFF9000A7D372 /* EZNiuTransTranslateResponse.m in Sources */, 03BDA7B82A26DA280079D04F /* XPMValuedArgument.m in Sources */, 036196762A000F5900806370 /* NSData+Base64.m in Sources */, @@ -2502,7 +2517,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = A230E9A2358C7FBC7FB26189 /* Pods-EasydictTests.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_IDENTITY = $CODE_SIGN_IDENTITY; @@ -2518,7 +2533,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.izual.EasydictTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Easydict-Debug.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Easydict-Debug"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Easydict-Debug.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Easydict-debug"; }; name = Debug; }; @@ -2526,7 +2541,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 357E179B303EF855EF4561FB /* Pods-EasydictTests.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CODE_SIGN_IDENTITY = $CODE_SIGN_IDENTITY; @@ -2542,7 +2557,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.izual.EasydictTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Easydict-Debug.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Easydict-Debug"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Easydict-Debug.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Easydict-debug"; }; name = Release; }; @@ -2555,7 +2570,7 @@ CODE_SIGN_IDENTITY = $CODE_SIGN_IDENTITY; CODE_SIGN_STYLE = $CODE_SIGN_STYLE; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 28; + CURRENT_PROJECT_VERSION = 30; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; ENABLE_HARDENED_RUNTIME = YES; @@ -2565,7 +2580,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.4.1; PRODUCT_BUNDLE_IDENTIFIER = "com.izual.EasydictHelper-debug"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -2580,7 +2595,7 @@ CODE_SIGN_IDENTITY = $CODE_SIGN_IDENTITY; CODE_SIGN_STYLE = $CODE_SIGN_STYLE; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 28; + CURRENT_PROJECT_VERSION = 30; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; ENABLE_HARDENED_RUNTIME = YES; @@ -2590,7 +2605,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.4.1; PRODUCT_BUNDLE_IDENTIFIER = com.izual.EasydictHelper; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -2659,6 +2674,7 @@ MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -2718,6 +2734,7 @@ MTL_FAST_MATH = YES; SDKROOT = macosx; SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -2734,7 +2751,7 @@ CODE_SIGN_STYLE = $CODE_SIGN_STYLE; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 28; + CURRENT_PROJECT_VERSION = 30; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; ENABLE_HARDENED_RUNTIME = YES; @@ -2748,7 +2765,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.4.1; PRODUCT_BUNDLE_IDENTIFIER = "com.izual.Easydict-debug"; PRODUCT_MODULE_NAME = Easydict; PRODUCT_NAME = "Easydict-debug"; @@ -2772,7 +2789,7 @@ CODE_SIGN_STYLE = $CODE_SIGN_STYLE; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 28; + CURRENT_PROJECT_VERSION = 30; DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; ENABLE_HARDENED_RUNTIME = YES; @@ -2786,7 +2803,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 2.3.0; + MARKETING_VERSION = 2.4.1; PRODUCT_BUNDLE_IDENTIFIER = com.izual.Easydict; PRODUCT_MODULE_NAME = Easydict; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Easydict.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Easydict.xcworkspace/xcshareddata/swiftpm/Package.resolved index 343b10777..a099cf05a 100644 --- a/Easydict.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Easydict.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -3,7 +3,7 @@ { "identity" : "alamofire", "kind" : "remoteSourceControl", - "location" : "https://github.com/Alamofire/Alamofire.git", + "location" : "https://github.com/Alamofire/Alamofire", "state" : { "revision" : "3dc6a42c7727c49bf26508e29b0a0b35f9c7e1ad", "version" : "5.8.1" diff --git a/Easydict/App/AppDelegate+EZURLScheme.m b/Easydict/App/AppDelegate+EZURLScheme.m index fb7196f10..eef2674c5 100644 --- a/Easydict/App/AppDelegate+EZURLScheme.m +++ b/Easydict/App/AppDelegate+EZURLScheme.m @@ -86,11 +86,20 @@ - (NSString *)extractQueryTextFromURL:(NSURL *)URL { - (void)handleURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent { NSString *urlString = [[event paramDescriptorForKeyword:keyDirectObject] stringValue]; - // PopClip text does not encode #, we need to encode it manually. - urlString = [urlString stringByReplacingOccurrencesOfString:@"#" withString:@"%23"]; - NSURL *URL = [NSURL URLWithString:urlString]; + /** + hello, #girl, good + + We need to encode the URL to avoid JLRoutes routing failures. PopClip + + --- + + urlString may have been encoded, so we need to check it. + + https://github.com/tisfeng/Easydict/issues/78#issuecomment-1862752708 + */ + NSURL *URL = [NSURL URLWithString:urlString.encodeSafely]; - // easydict://query?text=good + // easydict://query?text=good, easydict://query?text=你好 if ([URL.scheme containsString:EZEasydictScheme]) { NSLog(@"handle URL: %@", URL); } diff --git a/Easydict/App/EZConst.h b/Easydict/App/EZConst.h index 75e130c93..e15575068 100644 --- a/Easydict/App/EZConst.h +++ b/Easydict/App/EZConst.h @@ -42,7 +42,7 @@ static NSTimeInterval const EZUpdateTableViewRowHeightAnimationDuration = 0.2; static NSTimeInterval const EZNetWorkTimeoutInterval = 15.0; // !!!: This floating window level shouldn't be higher than kCGModalPanelWindowLevel, otherwise it will cover system modal alert window. -static NSTimeInterval const EZFloatingWindowLevel = kCGModalPanelWindowLevel; +static CGFloat const EZFloatingWindowLevel = kCGModalPanelWindowLevel; static NSInteger const EZEnglishWordMaxLength = 20; @@ -52,5 +52,7 @@ static NSInteger const EZMaxThreeWordPhraseCount = 3; /// Show word synonyms up to 5 static NSInteger const EZMaxFiveWordSynonymCount = 5; +static CGFloat const EZGetClipboardTextDelayTime = 0.1; + #endif /* EZConst_h */ diff --git a/Easydict/App/Easydict-Bridging-Header.h b/Easydict/App/Easydict-Bridging-Header.h index 15dd54284..3914d5650 100644 --- a/Easydict/App/Easydict-Bridging-Header.h +++ b/Easydict/App/Easydict-Bridging-Header.h @@ -7,3 +7,4 @@ #import "EZQueryService.h" #import "EZConstKey.h" #import "NSString+EZChineseText.h" +#import "EZError.h" diff --git a/Easydict/App/Localizable.xcstrings b/Easydict/App/Localizable.xcstrings index 32398acad..5982662ff 100644 --- a/Easydict/App/Localizable.xcstrings +++ b/Easydict/App/Localizable.xcstrings @@ -814,6 +814,22 @@ } } }, + "error_insufficient_quota" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insufficient built-in API Key quota." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "内置 API key 额度不足。" + } + } + } + }, "error_network" : { "localizations" : { "en" : { @@ -1260,6 +1276,22 @@ } } }, + "insufficient_quota_prompt" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Please go to the official service website to register and apply for a personal API key." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "请前往服务官网注册申请个人的 API key。" + } + } + } + }, "language_detect_optimize" : { "localizations" : { "en" : { @@ -1709,7 +1741,7 @@ "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请看👉" + "value" : "参见 👉" } } } @@ -2279,22 +2311,6 @@ } } }, - "unsupported_translation_type" : { - "localizations" : { - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Unsupported translation type" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "不支持的翻译类型" - } - } - } - }, "us_phonetic" : { "localizations" : { "en" : { diff --git a/Easydict/Feature/EventMonitor/EZEventMonitor.h b/Easydict/Feature/EventMonitor/EZEventMonitor.h index ece0afd8d..32c13a379 100644 --- a/Easydict/Feature/EventMonitor/EZEventMonitor.h +++ b/Easydict/Feature/EventMonitor/EZEventMonitor.h @@ -25,7 +25,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, assign) CGPoint startPoint; // ⚠️ this may not selected text start point! @property (nonatomic, assign) CGPoint endPoint; -@property (nonatomic, assign) BOOL isTextEditable; +@property (nonatomic, assign, getter=isSelectedTextEditable) BOOL selectedTextEditable; @property (nonatomic, copy) void (^selectedTextBlock)(NSString *selectedText); @property (nonatomic, copy) void (^dismissPopButtonBlock)(void); @@ -49,6 +49,8 @@ NS_ASSUME_NONNULL_BEGIN - (void)startMonitor; - (BOOL)isAccessibilityEnabled; +- (void)updateSelectedTextEditableState; + @end NS_ASSUME_NONNULL_END diff --git a/Easydict/Feature/EventMonitor/EZEventMonitor.m b/Easydict/Feature/EventMonitor/EZEventMonitor.m index 7d68567b6..1734fa0a4 100644 --- a/Easydict/Feature/EventMonitor/EZEventMonitor.m +++ b/Easydict/Feature/EventMonitor/EZEventMonitor.m @@ -285,7 +285,7 @@ - (void)getSelectedText:(BOOL)checkTextFrame completion:(void (^)(NSString *_Nul // Run this script early to avoid conflict with selected text scripts, otherwise the selected text may be empty in first time. [self recordSelectTextInfo]; - self.isTextEditable = NO; + self.selectedTextEditable = NO; // Use Accessibility first [self getSelectedTextByAccessibility:^(NSString *_Nullable text, AXError error) { @@ -304,7 +304,7 @@ - (void)getSelectedText:(BOOL)checkTextFrame completion:(void (^)(NSString *_Nul // Monitor CGEventTap must be required after using Accessibility successfully. [self monitorCGEventTap]; - self.isTextEditable = [EZSystemUtility isSelectedTextEditable]; + self.selectedTextEditable = [EZSystemUtility isSelectedTextEditable]; completion(text); return; @@ -366,6 +366,10 @@ - (void)getSelectedText:(BOOL)checkTextFrame completion:(void (^)(NSString *_Nul }]; } +- (void)updateSelectedTextEditableState { + self.selectedTextEditable = [EZSystemUtility isSelectedTextEditable]; +} + - (BOOL)useAccessibilityForFirstTime { // When user first use auto select text, show request Accessibility permission alert. NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; @@ -451,7 +455,7 @@ - (void)getSelectedTextBySimulatedKey:(void (^)(NSString *_Nullable))completion [self delayRecoverVolume]; } - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(kDelayGetSelectedTextTime * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(EZGetClipboardTextDelayTime * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSInteger newChangeCount = [pasteboard changeCount]; // If changeCount is equal to newChangeCount, it means that the copy value is nil. if (changeCount == newChangeCount) { @@ -948,6 +952,8 @@ - (void)dismissPopButton { self.dismissPopButtonBlock(); } self.isPopButtonVisible = NO; + + [self stopCGEventTap]; } diff --git a/Easydict/Feature/Libraries/DictionaryKit/TTTDictionary.m b/Easydict/Feature/Libraries/DictionaryKit/TTTDictionary.m index 9267e8fd6..2272b3593 100644 --- a/Easydict/Feature/Libraries/DictionaryKit/TTTDictionary.m +++ b/Easydict/Feature/Libraries/DictionaryKit/TTTDictionary.m @@ -338,7 +338,6 @@ - (BOOL)isUserDictionary { - (NSArray *)entriesForSearchTerm:(NSString *)term { return [self entriesForSearchTerm:term searchType:TTTDictionarySearchTypeExactMatch]; - ; } - (NSArray *)entriesForSearchTerm:(NSString *)term searchType:(TTTDictionarySearchType)searchType { diff --git a/Easydict/Feature/MMKit/Log/MMLog.swift b/Easydict/Feature/MMKit/Log/MMLog.swift index a89d3737e..c0f970945 100644 --- a/Easydict/Feature/MMKit/Log/MMLog.swift +++ b/Easydict/Feature/MMKit/Log/MMLog.swift @@ -17,7 +17,8 @@ public func MMLogInfo(_ message: @autoclosure () -> String, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, - ddlog: DDLog = MMManagerForLog.sharedDDLog()) { + ddlog: DDLog = MMManagerForLog.sharedDDLog()) +{ DDLogInfo(message(), level: MMDefaultLogLevel, file: file, function: function, line: line, asynchronous: MMDefaultLogAsyncEnabled.boolValue, ddlog: ddlog) } @@ -26,7 +27,8 @@ public func MMLogVerbose(_ message: @autoclosure () -> String, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, - ddlog: DDLog = MMManagerForLog.sharedDDLog()) { + ddlog: DDLog = MMManagerForLog.sharedDDLog()) +{ DDLogVerbose(message(), level: MMDefaultLogLevel, file: file, function: function, line: line, asynchronous: MMDefaultLogAsyncEnabled.boolValue, ddlog: ddlog) } @@ -36,7 +38,8 @@ public func MMAssert(_ condition: @autoclosure () -> Bool, file: StaticString = #file, function: StaticString = #function, line: UInt = #line, - ddlog: DDLog = MMManagerForLog.sharedDDLog()) { + ddlog: DDLog = MMManagerForLog.sharedDDLog()) +{ if !condition() { DDLogError(message(), level: DDLogLevel.all, file: file, function: function, line: line, asynchronous: false, ddlog: ddlog) Swift.assertionFailure(message(), file: file, line: line) diff --git a/Easydict/Feature/PerferenceWindow/EZSettingViewController.m b/Easydict/Feature/PerferenceWindow/EZSettingViewController.m index 19532c6da..50c6f07c4 100644 --- a/Easydict/Feature/PerferenceWindow/EZSettingViewController.m +++ b/Easydict/Feature/PerferenceWindow/EZSettingViewController.m @@ -134,7 +134,6 @@ @implementation EZSettingViewController _enabledTTSServiceTypes = @[ EZServiceTypeYoudao, EZServiceTypeBing, - EZServiceTypeCaiyun, EZServiceTypeGoogle, EZServiceTypeBaidu, EZServiceTypeApple, diff --git a/Easydict/Feature/Service/Apple/AppleDictionary/EZAppleDictionary.m b/Easydict/Feature/Service/Apple/AppleDictionary/EZAppleDictionary.m index 8adeaeb52..08639211f 100644 --- a/Easydict/Feature/Service/Apple/AppleDictionary/EZAppleDictionary.m +++ b/Easydict/Feature/Service/Apple/AppleDictionary/EZAppleDictionary.m @@ -9,6 +9,8 @@ #import "EZAppleDictionary.h" #import "EZConfiguration.h" #import "EZWindowManager.h" +#import "NSString+EZUtils.h" +#import "NSString+EZHandleInputText.h" @implementation EZAppleDictionary @@ -57,10 +59,15 @@ - (NSString *)name { } - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *, NSError *_Nullable))completion { - if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { + EZError *noResultError = [EZError errorWithType:EZErrorTypeNoResultsFound description:nil]; + + // Only query word or sentence in dictionary. + EZQueryTextType queryType = [text queryTypeWithLanguage:from maxWordCount:1]; + if (queryType == EZQueryTextTypeTranslation) { + completion(self.result, noResultError); return; } - + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // Note: this method may cost long time(>1.0s), if the html is very large. @@ -70,12 +77,12 @@ - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to compl inDictionaries:dictionaries]; self.result.HTMLString = htmlString; + EZError *error = nil; if (htmlString.length == 0) { - self.result.noResultsFound = YES; - self.result.errorType = EZErrorTypeNoResultsFound; + error = noResultError; } - completion(self.result, nil); + completion(self.result, error); }); } @@ -99,7 +106,9 @@ - (void)ocr:(EZQueryModel *)queryModel completion:(void (^)(EZOCRResult *_Nullab - (BOOL)queryDictionaryForText:(NSString *)text language:(EZLanguage)language { MMOrderedDictionary *languageDict = [TTTDictionary languageToDictionaryNameMap]; NSString *dictName = [languageDict objectForKey:language]; - if ([self queryEntryHTMLsOfWord:text inDictionaryName:dictName].count > 0) { + + NSArray *entries = [self queryEntryHTMLsOfWord:text inDictionaryName:dictName language:language]; + if (entries.count > 0) { return YES; } return NO; @@ -132,6 +141,8 @@ - (nullable NSString *)queryAllIframeHTMLResultOfWord:(NSString *)word CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent(); + EZLanguage fromLanguage = languages.count ? languages.firstObject : nil; + NSString *baseHtmlPath = [[NSBundle mainBundle] pathForResource:@"apple-dictionary" ofType:@"html"]; NSString *baseHtmlString = [NSString stringWithContentsOfFile:baseHtmlPath encoding:NSUTF8StringEncoding error:nil]; @@ -169,7 +180,8 @@ - (nullable NSString *)queryAllIframeHTMLResultOfWord:(NSString *)word // ~/Library/Dictionaries/Apple.dictionary/Contents/ NSURL *contentsURL = [dictionary.dictionaryURL URLByAppendingPathComponent:@"Contents"]; - NSArray *entryHTMLs = [self queryEntryHTMLsOfWord:word inDictionary:dictionary]; + + NSArray *entryHTMLs = [self queryEntryHTMLsOfWord:word inDictionary:dictionary language:fromLanguage]; for (NSString *html in entryHTMLs) { NSString *absolutePathHTML = [self replacedAudioPathOfHTML:html withBasePath:contentsURL.path]; @@ -231,12 +243,16 @@ - (nullable NSString *)queryAllIframeHTMLResultOfWord:(NSString *)word return htmlString; } -- (NSArray *)queryEntryHTMLsOfWord:(NSString *)word inDictionaryName:(NSString *)name { +- (NSArray *)queryEntryHTMLsOfWord:(NSString *)word + inDictionaryName:(NSString *)name + language:(nullable EZLanguage)language { TTTDictionary *dictionary = [TTTDictionary dictionaryNamed:name]; - return [self queryEntryHTMLsOfWord:word inDictionary:dictionary]; + return [self queryEntryHTMLsOfWord:word inDictionary:dictionary language:language]; } -- (NSArray *)queryEntryHTMLsOfWord:(NSString *)word inDictionary:(TTTDictionary *)dictionary { +- (NSArray *)queryEntryHTMLsOfWord:(NSString *)word + inDictionary:(TTTDictionary *)dictionary + language:(nullable EZLanguage)language { CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent(); NSMutableArray *entryHTMLs = [NSMutableArray array]; @@ -247,8 +263,8 @@ - (nullable NSString *)queryAllIframeHTMLResultOfWord:(NSString *)word NSString *headword = entry.headword; // LOG --> log, 根据 genju--> 根据 gēnjù - BOOL isTheSameHeadword = [self containsSubstring:word inString:headword]; - if (html.length && isTheSameHeadword) { + BOOL isValid = [self isValidHeadword:headword queryWord:word language:language]; + if (html.length && isValid) { [entryHTMLs addObject:html]; } } @@ -554,31 +570,97 @@ - (void)removeOriginBorderBottomCssStyle:(NSMutableString *)htmlString { } } -- (BOOL)containsSubstring:(NSString *)substring inString:(NSString *)string { - NSStringCompareOptions options = NSCaseInsensitiveSearch | NSDiacriticInsensitiveSearch; - - // 将文本和子字符串转换为不区分大小写和重音的标准化字符串 - NSString *normalizedString = [string stringByFoldingWithOptions:options locale:[NSLocale currentLocale]]; - NSString *normalizedSubstring = [substring stringByFoldingWithOptions:options locale:[NSLocale currentLocale]]; - - BOOL isContained = [normalizedString containsString:normalizedSubstring]; - // isContain = [normalizedString isEqualToString:normalizedSubstring]; - +- (BOOL)isValidHeadword:(NSString *)headword + queryWord:(NSString *)word + language:(nullable EZLanguage)language { + // 转换为不区分大小写和重音的标准化字符串 + NSString *normalizedWord = [word foldedString]; + NSString *normalizedHeadword = [headword foldedString]; + + /** + hoped --> hope + knives --> knives, knife + + Fix: https://github.com/tisfeng/Easydict/issues/252 + */ + /** Since some user dict word result is too redundant, we need to remove some useless words. Such as 简明英汉词典, when look up "log", the results are: -log, log-, log, we should filter the first two. */ - if (isContained) { - // remove substring - NSString *remainedText = [normalizedString stringByReplacingOccurrencesOfString:normalizedSubstring withString:@""]; - if ([remainedText isEqualToString:@"-"]) { - isContained = NO; + NSString *remainedText = [normalizedHeadword stringByReplacingOccurrencesOfString:normalizedWord withString:@""]; + if ([remainedText isEqualToString:@"-"]) { + return NO; + } + + /** + Since the dictionary API tries to look up long sentences in words, sometimes the results returned are not what we want, so we need to filter them. + + 浮云终日行 + Ukraine may get another Patriot battery. + Four score and seven years ago + */ + + // If text is Chinese + if ([EZLanguageManager.shared isChineseLanguage:language]) { + + /** + 開 --> 开 + 門 --> 门 mén + 開門 --> nil + 開始 --> 開始 kāishǐ + 国色天香 --> 国色天香 guósè-tiānxiāng, 国色天香 guó sè tiān xiāng, 天香国色 tiān xiāng guó sè + 浮云终日行 --> 浮 fú xxx + */ + + if (word.length == 1) { + return YES; + } + + BOOL hasWordSubstring = [normalizedHeadword containsString:normalizedWord]; + BOOL hasSameWordParts = [normalizedWord wordsInText].count == [normalizedHeadword wordsInText].count; + if (hasWordSubstring || hasSameWordParts) { + return YES; } + + return NO; } - return isContained; + // If text is not Chinese + /** + make up + made up --> made-up ? + */ + BOOL isQueryDictionary = [word shouldQueryDictionaryWithLanguage:language maxWordCount:1]; + if (isQueryDictionary) { + // LaTeX == latex + if ([normalizedWord caseInsensitiveCompare:normalizedHeadword] == NSOrderedSame) { + return YES; + } + + /** + We need to filter it + + queryViewController --> query + */ + if ([word isEnglishWord]) { + NSString *splitWord = [word splitCodeText]; + NSString *splitHeadword = [headword splitCodeText]; + if (splitWord.wordCount != splitHeadword.wordCount && [splitWord containsString:splitHeadword]) { + return NO; + } + } + + return YES; + } else { + if ([normalizedHeadword containsString:normalizedWord]) { + return YES; + } + } + + return NO; } @end diff --git a/Easydict/Feature/Service/Apple/EZAppleService.m b/Easydict/Feature/Service/Apple/EZAppleService.m index 2bae7aceb..e2a4b567c 100644 --- a/Easydict/Feature/Service/Apple/EZAppleService.m +++ b/Easydict/Feature/Service/Apple/EZAppleService.m @@ -326,10 +326,6 @@ - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to compl return; } - if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { - return; - } - NSString *appleFromLangCode = [self languageCodeForLanguage:from]; NSString *appleToLangCode = [self languageCodeForLanguage:to]; @@ -509,10 +505,19 @@ - (EZLanguage)detectTextLanguage:(NSString *)text printLog:(BOOL)logFlag { // TODO: Maybe we can use this way to detect other language. - NSArray *needCorrectedLanguages = @[ + NSMutableArray *needCorrectedLanguages = @[ EZLanguageEnglish, // si - EZLanguageSimplifiedChinese, // 浦 - ]; + ].mutableCopy; + + /** + Fix: cuda was detectde as SimplifiedChinese, --> 粗大 cuda + + Apple spell check 'cuda' as English, but sometimes Spanish 🥲 + */ + if (![text isEnglishPhrase]) { + // 浦 was detected as Japanese, we need to correct it. + [needCorrectedLanguages addObject:EZLanguageSimplifiedChinese]; + } BOOL isWordLength = text.length <= EZEnglishWordMaxLength; @@ -805,7 +810,7 @@ - (void)ocrImage:(NSImage *)image [self ocrImage:image language:tryLanguage autoDetect:YES completion:completion]; return; } else { - error = [EZTranslateError errorWithString:NSLocalizedString(@"ocr_result_is_empty", nil)]; + error = [EZError errorWithType:EZErrorTypeAPI description:NSLocalizedString(@"ocr_result_is_empty", nil)]; // We try to use Japanese before, but failed, so need to reset to auto. ocrResult.from = EZLanguageAuto; diff --git a/Easydict/Feature/Service/Apple/EZScriptExecutor.h b/Easydict/Feature/Service/Apple/EZScriptExecutor.h index 687d52285..a0b6259df 100644 --- a/Easydict/Feature/Service/Apple/EZScriptExecutor.h +++ b/Easydict/Feature/Service/Apple/EZScriptExecutor.h @@ -7,26 +7,27 @@ // #import +#import "EZError.h" NS_ASSUME_NONNULL_BEGIN -typedef void(^AppleScriptCompletionHandler)( NSString *_Nullable result, NSError *_Nullable error); +typedef void(^AppleScriptCompletionHandler)( NSString *_Nullable result, EZError *_Nullable error); @interface EZScriptExecutor : NSObject /// Run translate shortcut with parameters. - (NSTask *)runTranslateShortcut:(NSDictionary *)parameters - completionHandler:(void (^)(NSString *result, NSError *error))completionHandler; + completionHandler:(void (^)(NSString *result, EZError *error))completionHandler; /// Run shortcut with parameters. - (NSTask *)runShortcut:(NSString *)shortcutName parameters:(NSDictionary *)parameters - completionHandler:(void (^)(NSString *result, NSError *error))completionHandler; + completionHandler:(void (^)(NSString *result, EZError *error))completionHandler; /// Use NSTask to run AppleScript. -- (NSTask *)runAppleScriptWithTask:(NSString *)script completionHandler:(void (^)(NSString *result, NSError *error))completionHandler; +- (NSTask *)runAppleScriptWithTask:(NSString *)script completionHandler:(void (^)(NSString *result, EZError *error))completionHandler; -- (void)runAppleScript:(NSString *)script completionHandler:(void (^)(NSString *result, NSError *error))completionHandler; +- (void)runAppleScript:(NSString *)script completionHandler:(void (^)(NSString *result, EZError *error))completionHandler; @end diff --git a/Easydict/Feature/Service/Apple/EZScriptExecutor.m b/Easydict/Feature/Service/Apple/EZScriptExecutor.m index 5c7c1723d..51ff38453 100644 --- a/Easydict/Feature/Service/Apple/EZScriptExecutor.m +++ b/Easydict/Feature/Service/Apple/EZScriptExecutor.m @@ -7,20 +7,22 @@ // #import "EZScriptExecutor.h" -#import "EZTranslateError.h" +#import "EZError.h" #import "EZToast.h" +static NSString *const kEasydictTranslatShortcutName = @"Easydict-Translate-V1.2.0"; + @implementation EZScriptExecutor /// Run translate shortcut with parameters. -- (NSTask *)runTranslateShortcut:(NSDictionary *)parameters completionHandler:(void (^)(NSString *result, NSError *error))completionHandler { - return [self runShortcut:@"Easydict-Translate-V1.2.0" parameters:parameters completionHandler:completionHandler];; +- (NSTask *)runTranslateShortcut:(NSDictionary *)parameters completionHandler:(void (^)(NSString *result, EZError *error))completionHandler { + return [self runShortcut:kEasydictTranslatShortcutName parameters:parameters completionHandler:completionHandler]; } /// Run shortcut with parameters. - (NSTask *)runShortcut:(NSString *)shortcutName parameters:(NSDictionary *)parameters - completionHandler:(void (^)(NSString *result, NSError *error))completionHandler { + completionHandler:(void (^)(NSString *result, EZError *error))completionHandler { /** tell application "Shortcuts Events" run the shortcut named "Easydict-Translate-V1.2.0" with input "text=apple&from=en_US&to=zh_CN" @@ -33,7 +35,7 @@ - (NSTask *)runShortcut:(NSString *)shortcutName } /// Use NSTask to run AppleScript. -- (NSTask *)runAppleScriptWithTask:(NSString *)script completionHandler:(void (^)(NSString *result, NSError *error))completionHandler { +- (NSTask *)runAppleScriptWithTask:(NSString *)script completionHandler:(void (^)(NSString *result, EZError *error))completionHandler { NSTask *task = [[NSTask alloc] init]; task.launchPath = @"/usr/bin/osascript"; task.arguments = @[ @"-e", script ]; @@ -48,7 +50,7 @@ - (NSTask *)runAppleScriptWithTask:(NSString *)script completionHandler:(void (^ NSString *result = @""; // This method can only catch errors inside the NSTask object, and the error of executing the task needs to be used with standardError. - NSError *error; + EZError *error; if ([task launchAndReturnError:&error]) { NSData *data = [[outputPipe fileHandleForReading] readDataToEndOfFileAndReturnError:&error]; // ???: This method value may be incorrect, read bool "true" from pipe. @@ -72,7 +74,11 @@ - (NSTask *)runAppleScriptWithTask:(NSString *)script completionHandler:(void (^ NSArray *array = [errorString componentsSeparatedByString:@"execution error: "]; if (array.count > 1) { errorString = [array[1] trim]; - error = [EZTranslateError errorWithString:errorString]; + EZErrorType type = EZErrorTypeAPI; + if ([errorString containsString:kEasydictTranslatShortcutName]) { + type = EZErrorTypeParam; + } + error = [EZError errorWithType:type description:errorString]; } } @@ -88,12 +94,12 @@ - (NSTask *)runAppleScriptWithTask:(NSString *)script completionHandler:(void (^ /// Use NSAppleScript to run AppleScript, faster than NSTask. /// !!!: Note that this method may fail due to execution permissions, it will not automatically apply for permissions when I test. -- (void)runAppleScript:(NSString *)script completionHandler:(void (^)(NSString *result, NSError *error))completionHandler { +- (void)runAppleScript:(NSString *)script completionHandler:(void (^)(NSString *result, EZError *error))completionHandler { NSAppleScript *appleScript = [[NSAppleScript alloc] initWithSource:script]; CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent(); dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{ @try { - NSError *error = nil; + EZError *error = nil; NSDictionary *errorInfo = nil; // ???: Sometimes it will crash in this line NSAppleEventDescriptor *result = [appleScript executeAndReturnError:&errorInfo]; @@ -102,7 +108,11 @@ - (void)runAppleScript:(NSString *)script completionHandler:(void (^)(NSString * if (errorInfo) { MMLogInfo(@"runAppleScript errorInfo: %@", errorInfo); NSString *errorString = errorInfo[NSAppleScriptErrorMessage]; - error = [EZTranslateError errorWithString:errorString]; + EZErrorType type = EZErrorTypeAPI; + if ([errorString containsString:kEasydictTranslatShortcutName]) { + type = EZErrorTypeParam; + } + error = [EZError errorWithType:type description:errorString]; } CFAbsoluteTime endTime = CFAbsoluteTimeGetCurrent(); diff --git a/Easydict/Feature/Service/AudioPlayer/EZAudioPlayer.m b/Easydict/Feature/Service/AudioPlayer/EZAudioPlayer.m index 892e6c0a3..7ef68a030 100644 --- a/Easydict/Feature/Service/AudioPlayer/EZAudioPlayer.m +++ b/Easydict/Feature/Service/AudioPlayer/EZAudioPlayer.m @@ -239,7 +239,7 @@ - (void)playTextAudio:(NSString *)text NSLog(@"get audio url error: %@", error); // e.g. if service get audio url failed, try to use default tts, such as Google. - [self playFallbackTTSWithFailedServiceType:service.serviceType];; + [self playFallbackTTSWithFailedServiceType:service.serviceType]; } }]; } @@ -411,7 +411,7 @@ - (void)playLocalAudioFile:(NSString *)filePath { // If local audio file is broke, we need to remove it. [fileManager removeItemAtPath:filePath error:nil]; - [self playFallbackTTSWithFailedServiceType:self.currentServiceType];; + [self playFallbackTTSWithFailedServiceType:self.currentServiceType]; } } @@ -455,7 +455,7 @@ - (void)playRemoteAudio:(NSString *)urlString { AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:asset]; [self playWithPlayerItem:playerItem]; } else { - [self playFallbackTTSWithFailedServiceType:self.currentServiceType];; + [self playFallbackTTSWithFailedServiceType:self.currentServiceType]; } }]; } diff --git a/Easydict/Feature/Service/Baidu/EZBaiduTranslate.m b/Easydict/Feature/Service/Baidu/EZBaiduTranslate.m index 9d5b33d92..5b6137076 100644 --- a/Easydict/Feature/Service/Baidu/EZBaiduTranslate.m +++ b/Easydict/Feature/Service/Baidu/EZBaiduTranslate.m @@ -212,11 +212,7 @@ - (nullable NSString *)wordLink:(EZQueryModel *)queryModel { - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(nonnull void (^)(EZQueryResult *, NSError *_Nullable))completion { if (!text.length) { - completion(self.result, EZTranslateError(EZErrorTypeParam, @"翻译的文本为空", nil)); - return; - } - - if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { + completion(self.result, [EZError errorWithType:EZErrorTypeParam description:@"翻译的文本为空" request:nil]); return; } @@ -247,7 +243,7 @@ - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to compl mm_strongify(self) NSLog(@"Baidu token: %@, gtk: %@", token, gtk); if (!error && (!token || !gtk)) { - error = [EZTranslateError errorWithString:@"Get token failed."]; + error = [EZError errorWithType:EZErrorTypeAPI description:@"Get token failed."]; } if (error) { completion(self.result, error); @@ -265,7 +261,7 @@ - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to compl - (void)detectText:(NSString *)text completion:(nonnull void (^)(EZLanguage, NSError *_Nullable))completion { if (!text.length) { - completion(EZLanguageAuto, EZTranslateError(EZErrorTypeParam, @"识别语言的文本为空", nil)); + completion(EZLanguageAuto, [EZError errorWithType:EZErrorTypeParam description:@"识别语言的文本为空" request:nil]); return; } @@ -288,20 +284,20 @@ - (void)detectText:(NSString *)text completion:(nonnull void (^)(EZLanguage, NSE if ([from isKindOfClass:NSString.class] && from.length) { completion([self languageEnumFromCode:from], nil); } else { - completion(EZLanguageAuto, EZTranslateError(EZErrorTypeUnsupportedLanguage, nil, reqDict)); + completion(EZLanguageAuto, [EZError errorWithType:EZErrorTypeUnsupportedLanguage description:nil request:reqDict]); } return; } - completion(EZLanguageAuto, EZTranslateError(EZErrorTypeAPI, @"判断语言失败", reqDict)); + completion(EZLanguageAuto, [EZError errorWithType:EZErrorTypeAPI description:@"判断语言失败" request:reqDict]); } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - completion(EZLanguageAuto, EZTranslateError(EZErrorTypeNetwork, @"判断语言失败", reqDict)); + completion(EZLanguageAuto, [EZError errorWithType:EZErrorTypeNetwork description:@"判断语言失败" request:reqDict]); }]; } - (void)textToAudio:(NSString *)text fromLanguage:(EZLanguage)from completion:(void (^)(NSString *_Nullable, NSError *_Nullable))completion { if (!text.length) { - completion(nil, EZTranslateError(EZErrorTypeParam, @"获取音频的文本为空", nil)); + completion(nil, [EZError errorWithType:EZErrorTypeParam description:@"获取音频的文本为空" request:nil]); return; } @@ -328,7 +324,7 @@ - (NSString *)getAudioURLWithText:(NSString *)text langCode:(NSString *)ttsLangC */ text = [text trimToMaxLength:1000]; - text = [text mm_urlencode]; // text.mm_urlencode + text = [text encode]; // text.mm_urlencode // Refer to Baidu web. NSInteger speed = [ttsLangCode isEqualToString:@"zh"] ? 5 : 3; @@ -347,7 +343,7 @@ - (NSString *)getAudioURLWithText:(NSString *)text langCode:(NSString *)ttsLangC // */ // // text = [text trimToMaxLength:1000]; -// text = [text mm_urlencode]; // text.mm_urlencode +// text = [text encode]; // text.mm_urlencode // // NSString *ttsLangCode = [self getTTSLanguageCode:language]; // @@ -361,7 +357,7 @@ - (NSString *)getAudioURLWithText:(NSString *)text langCode:(NSString *)ttsLangC - (void)ocr:(NSImage *)image from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZOCRResult *_Nullable, NSError *_Nullable))completion { if (!image) { - completion(nil, EZTranslateError(EZErrorTypeParam, @"图片为空", nil)); + completion(nil, [EZError errorWithType:EZErrorTypeParam description:@"图片为空" request:nil]); return; } @@ -431,16 +427,16 @@ - (void)ocr:(NSImage *)image from:(EZLanguage)from to:(EZLanguage)to completion: message = @"百度翻译OCR接口数据解析异常"; } [reqDict setObject:responseObject ?: [NSNull null] forKey:EZTranslateErrorRequestResponseKey]; - completion(nil, EZTranslateError(EZErrorTypeAPI, message ?: @"识别图片文本失败", reqDict)); + completion(nil, [EZError errorWithType:EZErrorTypeAPI description:message ?: @"识别图片文本失败" request:reqDict]); } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - completion(nil, EZTranslateError(EZErrorTypeNetwork, @"识别图片文本失败", reqDict)); + completion(nil, [EZError errorWithType:EZErrorTypeNetwork description: @"识别图片文本失败" request:reqDict]); }]; } - (void)ocrAndTranslate:(NSImage *)image from:(EZLanguage)from to:(EZLanguage)to ocrSuccess:(void (^)(EZOCRResult *_Nonnull, BOOL))ocrSuccess completion:(void (^)(EZOCRResult *_Nullable, EZQueryResult *_Nullable, NSError *_Nullable))completion { if (!image) { - completion(nil, nil, EZTranslateError(EZErrorTypeParam, @"图片为空", nil)); + completion(nil, nil, [EZError errorWithType:EZErrorTypeParam description:@"图片为空" request:nil]); return; } mm_weakify(self); @@ -496,7 +492,7 @@ - (void)sendTranslateRequest:(NSString *)text from:(EZLanguage)from to:(EZLangua } NSMutableDictionary *reqDict = [NSMutableDictionary dictionaryWithObjectsAndKeys:url, EZTranslateErrorRequestURLKey, params, EZTranslateErrorRequestParamKey, nil]; [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - completion(self.result, EZTranslateError(EZErrorTypeNetwork, nil, reqDict)); + completion(self.result, [EZError errorWithType:EZErrorTypeNetwork description: nil request:reqDict]); }]; [self.queryModel setStopBlock:^{ @@ -747,7 +743,7 @@ - (void)parseResponseObject:(id _Nullable)responseObject completion:(nonnull voi // If error, update cookie. [self updateCookieAndToken]; - NSError *error = EZTranslateError(EZErrorTypeAPI, message ?: nil, reqDict); + NSError *error = [EZError errorWithType:EZErrorTypeAPI description: message request:reqDict]; MMLogInfo(@"baidu API error: %@", error); [self webViewTranslate:completion]; @@ -785,11 +781,11 @@ - (void)sendGetTokenAndGtkRequestWithCompletion:(void (^)(NSString *_Nullable to completion(token, gtk, nil); } else { [reqDict setObject:responseObject ?: [NSNull null] forKey:EZTranslateErrorRequestResponseKey]; - completion(nil, nil, EZTranslateError(EZErrorTypeAPI, @"获取 token 失败", reqDict)); + completion(nil, nil, [EZError errorWithType:EZErrorTypeAPI description: @"获取 token 失败" request:reqDict]); } } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - completion(nil, nil, EZTranslateError(EZErrorTypeNetwork, @"获取 token 失败", reqDict)); + completion(nil, nil, [EZError errorWithType:EZErrorTypeNetwork description: @"获取 token 失败" request:reqDict]); }]; } @@ -805,7 +801,7 @@ - (void)updateCookieAndToken { [self sendGetTokenAndGtkRequestWithCompletion:^(NSString *token, NSString *gtk, NSError *error) { NSLog(@"Baidu token: %@, gtk: %@", token, gtk); if (!error && (!token || !gtk)) { - error = [EZTranslateError errorWithString:@"Get token failed."]; + error = [EZError errorWithType:EZErrorTypeAPI description:@"Get token failed."]; } self.token = token; diff --git a/Easydict/Feature/Service/Bing/EZBingRequest.m b/Easydict/Feature/Service/Bing/EZBingRequest.m index ea470d7a7..3d6849b35 100644 --- a/Easydict/Feature/Service/Bing/EZBingRequest.m +++ b/Easydict/Feature/Service/Bing/EZBingRequest.m @@ -7,7 +7,7 @@ // #import "EZBingRequest.h" -#import "EZTranslateError.h" +#import "EZError.h" #import "EZBingLanguageVoice.h" #import "NSString+EZRegex.h" @@ -277,8 +277,10 @@ - (void)fetchBingConfig:(void (^)(void))callback failure:(nonnull void (^)(NSErr NSString *url = self.bingConfig.translatorURLString; [self.htmlSession GET:url parameters:nil progress:nil success:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) { + NSError *error; if (![responseObject isKindOfClass:[NSData class]]) { - failure(EZTranslateError(EZErrorTypeAPI, @"bing htmlSession responseObject is not NSData", nil)); + error = [EZError errorWithType:EZErrorTypeAPI description: @"bing htmlSession responseObject is not NSData" request:nil]; + failure(error); NSLog(@"bing html responseObject type is %@", [responseObject class]); return; } @@ -287,31 +289,36 @@ - (void)fetchBingConfig:(void (^)(void))callback failure:(nonnull void (^)(NSErr NSString *IG = [self getIGValueFromHTML:responseString]; if (IG.length == 0) { - failure(EZTranslateError(EZErrorTypeAPI, @"bing IG is empty", nil)); + error = [EZError errorWithType:EZErrorTypeAPI description: @"bing IG is empty" request:nil]; + failure(error); return; } NSLog(@"bing IG: %@", IG); NSString *IID = [self getValueOfDataIidFromHTML:responseString]; if (IID.length == 0) { - failure(EZTranslateError(EZErrorTypeAPI, @"bing IID is empty", nil)); + error = [EZError errorWithType:EZErrorTypeAPI description: @"bing IID is empty" request:nil]; + failure(error); return; } NSLog(@"bing IID: %@", IID); NSArray *arr = [self getParamsAbusePreventionHelperArrayFromHTML:responseString]; if (arr.count != 3) { - failure(EZTranslateError(EZErrorTypeAPI, @"bing get key and token failed", nil)); + error = [EZError errorWithType:EZErrorTypeAPI description: @"bing get key and token failed" request:nil]; + failure(error); return; } NSString *key = arr[0]; if (key.length == 0) { - failure(EZTranslateError(EZErrorTypeAPI, @"bing key is empey", nil)); + error = [EZError errorWithType:EZErrorTypeAPI description: @"bing key is empey" request:nil]; + failure(error); return; } NSString *token = arr[1]; if (token.length == 0) { - failure(EZTranslateError(EZErrorTypeAPI, @"bing token is empey", nil)); + error = [EZError errorWithType:EZErrorTypeAPI description: @"bing token is empey" request:nil]; + failure(error); return; } NSLog(@"bing key: %@", key); @@ -355,7 +362,7 @@ - (void)translateText:(NSString *)text from:(NSString *)from to:(NSString *)to c [self.translateSession POST:self.bingConfig.ttranslatev3URLString parameters:translateParameters progress:nil success:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) { if (![responseObject isKindOfClass:[NSData class]]) { - self.translateError = EZTranslateError(EZErrorTypeAPI, @"bing translate responseObject is not NSData", nil); + self.translateError = [EZError errorWithType:EZErrorTypeAPI description:@"bing translate responseObject is not NSData" request:nil]; NSLog(@"bing translate responseObject type: %@", [responseObject class]); [self executeCallback]; return; @@ -368,7 +375,7 @@ - (void)translateText:(NSString *)text from:(NSString *)from to:(NSString *)to c // if you use a VPN, you can try replacing nodes,or try adding `bing.com` into a direct rule // https://immersivetranslate.com/docs/faq/#429-%E9%94%99%E8%AF%AF if (response.statusCode == 429) { - self.translateError = EZTranslateError(EZErrorTypeAPI, @"429 error, Bing translate too many requests", nil); + self.translateError = [EZError errorWithType:EZErrorTypeAPI description:@"429 error, Bing translate too many requests" request:nil]; } else { self.translateError = error; } @@ -384,7 +391,7 @@ - (void)translateText:(NSString *)text from:(NSString *)from to:(NSString *)to c [self.translateSession POST:self.bingConfig.tlookupv3URLString parameters:dictParameters progress:nil success:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) { if (![responseObject isKindOfClass:[NSData class]]) { - self.lookupError = EZTranslateError(EZErrorTypeAPI, @"bing lookup responseObject is not NSData", nil); + self.lookupError = [EZError errorWithType:EZErrorTypeAPI description:@"bing translate responseObject is not NSData" request:nil]; NSLog(@"bing lookup responseObject type: %@", [responseObject class]); [self executeCallback]; return; @@ -446,7 +453,7 @@ - (void)translateTextFromDict:(NSString *)text completion:(void (^)(NSDictionary @"q": text, } progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { if (![responseObject isKindOfClass:[NSDictionary class]]) { - completion(nil, EZTranslateError(EZErrorTypeAPI, @"bing dict translate json parse fail", nil)); + completion(nil, [EZError errorWithType:EZErrorTypeAPI description:@"bing dict translate json parse fail" request:nil]); return; } completion(responseObject, nil); diff --git a/Easydict/Feature/Service/Bing/EZBingService.m b/Easydict/Feature/Service/Bing/EZBingService.m index 56d4969cb..db282c86b 100644 --- a/Easydict/Feature/Service/Bing/EZBingService.m +++ b/Easydict/Feature/Service/Bing/EZBingService.m @@ -92,7 +92,7 @@ - (EZQueryTextType)intelligentQueryTextType { } - (void)translate:(NSString *)text from:(nonnull EZLanguage)from to:(nonnull EZLanguage)to completion:(nonnull void (^)(EZQueryResult *, NSError *_Nullable))completion { - [self translate:text useDictQuery:[self isEnglishWordToChinese:text from:from to:to] from:from to:to completion:completion]; + [self bingTranslate:text useDictQuery:[self isEnglishWordToChinese:text from:from to:to] from:from to:to completion:completion]; } - (BOOL)isEnglishWordToChinese:(NSString *)text from:(nonnull EZLanguage)from to:(nonnull EZLanguage)to { @@ -102,7 +102,7 @@ - (BOOL)isEnglishWordToChinese:(NSString *)text from:(nonnull EZLanguage)from to return NO; } -- (void)translate:(NSString *)text useDictQuery:(BOOL)useDictQuery from:(nonnull EZLanguage)from to:(nonnull EZLanguage)to completion:(nonnull void (^)(EZQueryResult *, NSError *_Nullable))completion { +- (void)bingTranslate:(NSString *)text useDictQuery:(BOOL)useDictQuery from:(nonnull EZLanguage)from to:(nonnull EZLanguage)to completion:(nonnull void (^)(EZQueryResult *, NSError *_Nullable))completion { if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { return; } @@ -112,7 +112,7 @@ - (void)translate:(NSString *)text useDictQuery:(BOOL)useDictQuery from:(nonnull [self.request translateTextFromDict:text completion:^(NSDictionary * _Nullable json, NSError * _Nullable error) { [self parseBingDictTranslate:json word:text completion:^(EZQueryResult *dictResult, NSError * _Nullable dictError) { if (error) { - [self translate:text useDictQuery:NO from:from to:to completion:completion]; + [self bingTranslate:text useDictQuery:NO from:from to:to completion:completion]; } else { self.isDictQueryResult = YES; completion(dictResult, nil); @@ -130,7 +130,7 @@ - (void)translate:(NSString *)text useDictQuery:(BOOL)useDictQuery from:(nonnull mm_strongify(self) @try { if (translateError) { - self.result.error = translateError; + self.result.error = [EZError errorWithNSError:translateError]; NSLog(@"bing translate error %@", translateError); } else { BOOL needRetry; @@ -143,7 +143,7 @@ - (void)translate:(NSString *)text useDictQuery:(BOOL)useDictQuery from:(nonnull } self.canRetry = YES; if (error) { - self.result.error = error; + self.result.error = [EZError errorWithNSError:error]; completion(self.result, error); return; } @@ -156,7 +156,7 @@ - (void)translate:(NSString *)text useDictQuery:(BOOL)useDictQuery from:(nonnull completion(self.result, translateError); } @catch (NSException *exception) { MMLogInfo(@"微软翻译接口数据解析异常 %@", exception); - completion(self.result, EZTranslateError(EZErrorTypeAPI, @"bing translate data parse failed", exception)); + completion(self.result, [EZError errorWithType:EZErrorTypeAPI description:@"bing translate data parse failed" request:nil]); } }]; } @@ -229,7 +229,7 @@ - (NSString *)maxTextLength:(NSString *)text fromLanguage:(EZLanguage)from { - (nullable NSError *)processTranslateResult:(NSData *)translateData text:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to needRetry:(BOOL *)needRetry { if (translateData.length == 0) { - return EZTranslateError(EZErrorTypeAPI, @"bing translate data is empty", nil); + return [EZError errorWithType:EZErrorTypeAPI description:@"bing translate data is empty" request:nil]; } NSArray *json = [NSJSONSerialization JSONObjectWithData:translateData options:0 error:nil]; if (![json isKindOfClass:[NSArray class]]) { @@ -244,7 +244,7 @@ - (nullable NSError *)processTranslateResult:(NSData *)translateData text:(NSStr } } } - return EZTranslateError(EZErrorTypeAPI, msg, nil); + return [EZError errorWithType:EZErrorTypeAPI description:msg request:nil]; } EZBingTranslateModel *translateModel = [EZBingTranslateModel mj_objectArrayWithKeyValuesArray:json].firstObject; self.result.from = translateModel.detectedLanguage.language ? [self languageEnumFromCode:translateModel.detectedLanguage.language] : from; @@ -343,12 +343,12 @@ - (void)parseBingDictTranslate:(NSDictionary *)json word:(NSString *)word comple @try { NSArray *value = json[@"value"]; if (value.count == 0) { - completion(self.result, EZTranslateError(EZErrorTypeAPI, @"bing dict translate value is empty", nil)); + completion(self.result, [EZError errorWithType:EZErrorTypeAPI description:@"bing dict value is empty" request:nil]); return; } NSArray *meaningGroups = value.firstObject[@"meaningGroups"]; if (meaningGroups.count == 0) { - completion(self.result, EZTranslateError(EZErrorTypeAPI, @"bing dict translate meaning groups is empty", nil)); + completion(self.result, [EZError errorWithType:EZErrorTypeAPI description:@"bing dict translate meaning groups is empty" request:nil]); return; } @@ -379,7 +379,7 @@ - (void)parseBingDictTranslate:(NSDictionary *)json word:(NSString *)word comple EZWordPhonetic *phonetic = [EZWordPhonetic new]; phonetic.word = word; phonetic.language = EZLanguageEnglish; - phonetic.name = [name isEqualToString:@"US"] ? @"美" : @"英"; + phonetic.name = [name isEqualToString:@"US"] ? NSLocalizedString(@"us_phonetic", nil) : NSLocalizedString(@"uk_phonetic", nil); phonetic.value = fragments.firstObject[@"text"]; phonetic.speakURL = [name isEqualToString:@"US"] ? usAudioUrl : [usAudioUrl stringByReplacingOccurrencesOfString:@"tom" withString:@"george"]; phonetic.accent = name; @@ -483,7 +483,7 @@ - (void)parseBingDictTranslate:(NSDictionary *)json word:(NSString *)word comple completion(self.result, nil); } @catch (NSException *exception) { MMLogInfo(@"微软词典接口数据解析异常 %@", exception); - completion(self.result, EZTranslateError(EZErrorTypeAPI, @"bing dict translate data parse failed", exception)); + completion(self.result, [EZError errorWithType:EZErrorTypeAPI description:@"bing dict translate data parse failed" request:nil]); } } diff --git a/Easydict/Feature/Service/Caiyun/CaiyunService.swift b/Easydict/Feature/Service/Caiyun/CaiyunService.swift index 672e52eec..2c6b3dcf3 100644 --- a/Easydict/Feature/Service/Caiyun/CaiyunService.swift +++ b/Easydict/Feature/Service/Caiyun/CaiyunService.swift @@ -51,21 +51,18 @@ public final class CaiyunService: QueryService { return CaiyunService.defaultTestToken } } - + override public func autoConvertTraditionalChinese() -> Bool { - return true + true } - public override func translate(_ text: String, from: Language, to: Language, completion: @escaping (EZQueryResult, Error?) -> Void) { - if prehandleQueryTextLanguage(text, from: from, to: to, completion: completion) { - return - } + override public func translate(_ text: String, from: Language, to: Language, completion: @escaping (EZQueryResult, Error?) -> Void) { let transType = CaiyunTranslateType.transType(from: from, to: to) guard transType != .unsupported else { - result.errorType = .unsupportedLanguage - let unsupportedType = NSLocalizedString("unsupported_translation_type", comment: "") - result.errorMessage = "\(unsupportedType): \(from.rawValue) --> \(to.rawValue)" - completion(result, nil) + let showingFrom = EZLanguageManager.shared().showingLanguageName(from) + let showingTo = EZLanguageManager.shared().showingLanguageName(to) + let error = EZError(type: .unsupportedLanguage, description: "\(showingFrom) --> \(showingTo)") + completion(result, error) return } @@ -83,14 +80,15 @@ public final class CaiyunService: QueryService { ] let request = AF.request(apiEndPoint, - method: .post, - parameters: parameters, - encoding: JSONEncoding.default, - headers: headers) + method: .post, + parameters: parameters, + encoding: JSONEncoding.default, + headers: headers) .validate() .responseDecodable(of: CaiyunResponse.self) { [weak self] response in guard let self else { return } let result = self.result + switch response.result { case let .success(value): result.from = from @@ -99,11 +97,9 @@ public final class CaiyunService: QueryService { result.translatedResults = value.target completion(result, nil) case let .failure(error): - if let data = response.data { - result.errorMessage = String(data: data, encoding: .utf8) - } NSLog("Caiyun lookup error \(error)") - completion(result, error) + let ezError = EZError(nsError: error, errorResponseData: response.data) + completion(result, ezError) } } queryModel.setStop({ diff --git a/Easydict/Feature/Service/Caiyun/CaiyunTranslateType.swift b/Easydict/Feature/Service/Caiyun/CaiyunTranslateType.swift index 26a7845d6..22455e8f0 100644 --- a/Easydict/Feature/Service/Caiyun/CaiyunTranslateType.swift +++ b/Easydict/Feature/Service/Caiyun/CaiyunTranslateType.swift @@ -10,9 +10,9 @@ import Foundation struct CaiyunTranslateType: RawRepresentable { var rawValue: String - + static let unsupported = CaiyunTranslateType(rawValue: "unsupported") - + // Align with the web interface https://fanyi.caiyunapp.com/#/ static let supportedTypes: [Language: [Language]] = [ .simplifiedChinese: [.english, .japanese, .korean, .spanish, .french, .russian], @@ -23,7 +23,7 @@ struct CaiyunTranslateType: RawRepresentable { .french: [.simplifiedChinese, .english, .spanish, .russian], .russian: [.simplifiedChinese, .english, .spanish, .french], ] - + static let supportLanguagesDictionary: [Language: String] = [ .auto: "auto", .simplifiedChinese: "zh", @@ -35,24 +35,26 @@ struct CaiyunTranslateType: RawRepresentable { .spanish: "es", .russian: "ru", ] - + static func transType(from: Language, to: Language) -> CaiyunTranslateType { // Treat traditional Chinese as simplified Chinese. - if (from == .traditionalChinese) { + if from == .traditionalChinese { return transType(from: .simplifiedChinese, to: to) } - + // We can auto convert to Traditional Chinese. guard let targetLanguages = supportedTypes[from], - targetLanguages.contains(to) || to == .traditionalChinese else { + targetLanguages.contains(to) || to == .traditionalChinese + else { return .unsupported } - + guard let from = supportLanguagesDictionary[from], - let to = supportLanguagesDictionary[to] else { + let to = supportLanguagesDictionary[to] + else { return .unsupported } - + return CaiyunTranslateType(rawValue: "\(from)2\(to)") } } diff --git a/Easydict/Feature/Service/DeepL/EZDeepLTranslate.m b/Easydict/Feature/Service/DeepL/EZDeepLTranslate.m index 560043233..44007d5ad 100644 --- a/Easydict/Feature/Service/DeepL/EZDeepLTranslate.m +++ b/Easydict/Feature/Service/DeepL/EZDeepLTranslate.m @@ -8,7 +8,7 @@ #import "EZDeepLTranslate.h" #import "EZWebViewTranslator.h" -#import "EZTranslateError.h" +#import "EZError.h" #import "EZQueryResult+EZDeepLTranslateResponse.h" static NSString *kDeepLTranslateURL = @"https://www.deepl.com/translator"; @@ -18,7 +18,7 @@ @interface EZDeepLTranslate () @property (nonatomic, strong) EZWebViewTranslator *webViewTranslator; @property (nonatomic, copy) NSString *authKey; - +@property (nonatomic, copy) NSString *deepLTranslateEndPointKey; @property (nonatomic, assign) EZDeepLTranslationAPI apiType; @end @@ -43,15 +43,23 @@ - (EZWebViewTranslator *)webViewTranslator { } - (NSString *)authKey { + // easydict://writeKeyValue?EZDeepLAuthKey=xxx NSString *authKey = [[NSUserDefaults standardUserDefaults] stringForKey:EZDeepLAuthKey] ?: @""; return authKey; } - (EZDeepLTranslationAPI)apiType { + // easydict://writeKeyValue?EZDeepLTranslationAPIKey=xxx EZDeepLTranslationAPI type = [[NSUserDefaults mm_readString:EZDeepLTranslationAPIKey defaultValue:@"0"] integerValue]; return type; } +- (NSString *)deepLTranslateEndPointKey { + // easydict://writeKeyValue?EZDeepLTranslateEndPointKey=xxx + NSString *endPointURL = [[NSUserDefaults standardUserDefaults] stringForKey:EZDeepLTranslateEndPointKey] ?: @""; + return endPointURL; +} + #pragma mark - 重写父类方法 - (EZServiceType)serviceType { @@ -129,10 +137,6 @@ - (nullable NSString *)wordLink:(EZQueryModel *)queryModel { } - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *, NSError *_Nullable))completion { - if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { - return; - } - if (self.apiType == EZDeepLTranslationAPIWebFirst) { [self deepLWebTranslate:text from:from to:to completion:completion]; } else { @@ -237,6 +241,7 @@ - (void)deepLWebTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage) if (error) { NSLog(@"deepLWebTranslate error: %@", error); + EZError *ezError = [EZError errorWithNSError:error]; BOOL useOfficialAPI = (self.authKey.length > 0) && (self.apiType == EZDeepLTranslationAPIWebFirst); if (useOfficialAPI) { @@ -260,12 +265,12 @@ - (void)deepLWebTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage) if (!jsonError) { NSString *errorMessage = json[@"error"][@"message"]; if (errorMessage.length) { - self.result.errorMessage = errorMessage; + ezError.errorDataMessage = errorMessage; } } } - completion(self.result, error); + completion(self.result, ezError); return; } @@ -321,16 +326,22 @@ - (void)deepLTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to NSString *host = isFreeKey ? @"https://api-free.deepl.com": @"https://api.deepl.com"; NSString *url = [NSString stringWithFormat:@"%@/v2/translate", host]; + if (self.deepLTranslateEndPointKey.length) { + url = self.deepLTranslateEndPointKey; + } + NSDictionary *params = @{ - @"auth_key" : self.authKey, - @"text" : text, - @"source_lang" : souceLangCode, - @"target_lang" : targetLangCode + @"text": text, + @"source_lang": souceLangCode, + @"target_lang": targetLangCode }; - + AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.session.configuration.timeoutIntervalForRequest = EZNetWorkTimeoutInterval; + NSString *authorization = [NSString stringWithFormat:@"DeepL-Auth-Key %@", self.authKey]; + [manager.requestSerializer setValue:authorization forHTTPHeaderField:@"Authorization"]; + CFAbsoluteTime startTime = CFAbsoluteTimeGetCurrent(); NSURLSessionTask *task = [manager POST:url parameters:params progress:nil success:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) { @@ -356,7 +367,9 @@ - (void)deepLTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to return; } - completion(self.result, error); + EZError *ezError = [EZError errorWithNSError:error]; + + completion(self.result, ezError); }]; [self.queryModel setStopBlock:^{ diff --git a/Easydict/Feature/Service/Google/EZGoogleTranslate.m b/Easydict/Feature/Service/Google/EZGoogleTranslate.m index 8d6b74355..5c65d0e22 100644 --- a/Easydict/Feature/Service/Google/EZGoogleTranslate.m +++ b/Easydict/Feature/Service/Google/EZGoogleTranslate.m @@ -197,10 +197,6 @@ - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(nonnull void (^)(EZQueryResult *, NSError *_Nullable))completion { - if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { - return; - } - text = [self maxTextLength:text fromLanguage:from]; // TODO: We should the Google web translate API instead. @@ -222,7 +218,7 @@ - (void)textToAudio:(NSString *)text fromLanguage:(EZLanguage)from completion:(void (^)(NSString *_Nullable, NSError *_Nullable))completion { if (!text.length) { - completion(nil, EZTranslateError(EZErrorTypeParam, @"获取音频的文本为空", nil)); + completion(nil, [EZError errorWithType:EZErrorTypeParam description:@"获取音频的文本为空" request:nil]); return; } @@ -269,7 +265,7 @@ - (NSString *)getAudioURLWithText:(NSString *)text NSString *audioURL = [NSString stringWithFormat:@"%@/" @"translate_tts?ie=UTF-8&q=%@&tl=%@&total=1&idx=0&" @"textlen=%zd&tk=%@&client=webapp&prev=input", - kGoogleTranslateURL, text.mm_urlencode, language, + kGoogleTranslateURL, text.encode, language, text.length, sign]; return audioURL; } @@ -279,7 +275,7 @@ - (void)ocr:(NSImage *)image to:(EZLanguage)to completion:(void (^)(EZOCRResult *_Nullable, NSError *_Nullable))completion { if (!image) { - completion(nil, EZTranslateError(EZErrorTypeParam, @"图片为空", nil)); + completion(nil, [EZError errorWithType:EZErrorTypeParam description:@"图片为空" request:nil]); return; } @@ -296,7 +292,7 @@ - (void)ocrAndTranslate:(NSImage *)image EZQueryResult *_Nullable, NSError *_Nullable))completion { if (!image) { - completion(nil, nil, EZTranslateError(EZErrorTypeParam, @"图片为空", nil)); + completion(nil, nil, [EZError errorWithType:EZErrorTypeParam description:@"图片为空" request:nil]); return; } @@ -327,7 +323,7 @@ - (void)ocrAndTranslate:(NSImage *)image /// This API can get word info, like pronunciation, but transaltion may be inaccurate, compare to web transaltion. - (void)webApptranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(nonnull void (^)(EZQueryResult *, NSError *_Nullable))completion { if (!text.length) { - completion(self.result, EZTranslateError(EZErrorTypeParam, @"翻译的文本为空", nil)); + completion(self.result, [EZError errorWithType:EZErrorTypeParam description:@"翻译的文本为空" request:nil]); return; } @@ -504,14 +500,14 @@ - (void)sendWebAppTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguag if (responseObject) { completion(responseObject, sign, reqDict, nil); } else { - completion(nil, nil, nil, EZTranslateError(EZErrorTypeAPI, nil, reqDict)); + completion(nil, nil, nil, [EZError errorWithType:EZErrorTypeAPI description: nil request:reqDict]); } } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { if (error.code == NSURLErrorCancelled) { return; } [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - completion(nil, nil, nil, EZTranslateError(EZErrorTypeNetwork, nil, reqDict)); + completion(nil, nil, nil, [EZError errorWithType:EZErrorTypeNetwork description: nil request:reqDict]); }]; [self.queryModel setStopBlock:^{ @@ -563,12 +559,11 @@ - (void)sendGetWebAppTKKRequestWithCompletion:(void (^)(NSString *_Nullable TKK, [reqDict setObject:responseObject ?: [NSNull null] forKey:EZTranslateErrorRequestResponseKey]; - completion(nil, EZTranslateError(EZErrorTypeAPI, @"谷歌翻译获取 tkk 失败", reqDict)); + completion(nil, [EZError errorWithType:EZErrorTypeAPI description: @"谷歌翻译获取 tkk 失败" request:reqDict]); } - } - failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { + } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - completion(nil, EZTranslateError(EZErrorTypeAPI, @"谷歌翻译获取 tkk 失败", reqDict)); + completion(nil, [EZError errorWithType:EZErrorTypeNetwork description: @"谷歌翻译获取 tkk 失败" request:reqDict]); }]; } @@ -640,14 +635,14 @@ - (void)sendGTXTranslate:(NSString *)text if (responseObject) { completion(responseObject, sign, reqDict, nil); } else { - completion(nil, nil, nil, EZTranslateError(EZErrorTypeAPI, nil, reqDict)); + completion(nil, nil, nil, [EZError errorWithType:EZErrorTypeAPI description: nil request:reqDict]); } } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { if (error.code == NSURLErrorCancelled) { return; } [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - completion(nil, nil, nil, EZTranslateError(EZErrorTypeNetwork, nil, reqDict)); + completion(nil, nil, nil, [EZError errorWithType:EZErrorTypeNetwork description: nil request:reqDict]); }]; [self.queryModel setStopBlock:^{ @@ -662,7 +657,7 @@ - (void)gtxTranslate:(NSString *)text EZQueryResult *result = self.result; if (!text.length) { - completion(result, EZTranslateError(EZErrorTypeParam, @"翻译的文本为空", nil)); + completion(result, [EZError errorWithType:EZErrorTypeParam description:@"翻译的文本为空" request:nil]); return; } @@ -739,14 +734,14 @@ - (void)gtxTranslate:(NSString *)text } } [reqDict setObject:responseObject ?: [NSNull null] forKey:EZTranslateErrorRequestResponseKey]; - completion(result, EZTranslateError(EZErrorTypeAPI, message ?: nil, reqDict)); + completion(result, [EZError errorWithType:EZErrorTypeAPI description: message request:reqDict]); }]; } - (void)gtxDetectText:(NSString *)text completion:(nonnull void (^)(EZLanguage, NSError *_Nullable))completion { if (!text.length) { - completion(EZLanguageAuto, EZTranslateError(EZErrorTypeParam, @"识别语言的文本为空", nil)); + completion(EZLanguageAuto, [EZError errorWithType:EZErrorTypeParam description:@"识别语言的文本为空" request:nil]); return; } @@ -785,15 +780,14 @@ - (void)gtxDetectText:(NSString *)text exception); } [reqDict setObject:responseObject forKey:EZTranslateErrorRequestResponseKey]; - completion(EZLanguageAuto, - EZTranslateError(EZErrorTypeAPI, message ?: @"识别语言失败", reqDict)); + completion(EZLanguageAuto, [EZError errorWithType:EZErrorTypeAPI description: message ?: @"识别语言失败" request:reqDict]); }]; } - (void)webAppDetectText:(NSString *)text completion:(nonnull void (^)(EZLanguage, NSError *_Nullable))completion { if (!text.length) { completion(EZLanguageAuto, - EZTranslateError(EZErrorTypeParam, @"识别语言的文本为空", nil)); + [EZError errorWithType:EZErrorTypeParam description:@"识别语言的文本为空" request:nil]); return; } @@ -856,7 +850,7 @@ - (void)webAppDetectText:(NSString *)text completion:(nonnull void (^)(EZLanguag MMLogInfo(@"谷歌翻译接口语言解析失败 %@", exception); } [reqDict setObject:responseObject forKey:EZTranslateErrorRequestResponseKey]; - completion(EZLanguageAuto, EZTranslateError(EZErrorTypeAPI, message ?: @"识别语言失败", reqDict)); + completion(EZLanguageAuto, [EZError errorWithType:EZErrorTypeAPI description: message ?: @"识别语言失败" request:reqDict]); }]; } diff --git a/Easydict/Feature/Service/Model/EZConstKey.h b/Easydict/Feature/Service/Model/EZConstKey.h index c5fe96a54..a52601712 100644 --- a/Easydict/Feature/Service/Model/EZConstKey.h +++ b/Easydict/Feature/Service/Model/EZConstKey.h @@ -28,6 +28,7 @@ static NSString *const EZOpenAIModelKey = @"EZOpenAIModelKey"; static NSString *const EZDeepLAuthKey = @"EZDeepLAuthKey"; +static NSString *const EZDeepLTranslateEndPointKey = @"EZDeepLTranslateEndPointKey"; static NSString *const EZBingCookieKey = @"EZBingCookieKey"; static NSString *const EZNiuTransAPIKey = @"EZNiuTransAPIKey"; diff --git a/Easydict/Feature/Service/Model/EZDetectManager.m b/Easydict/Feature/Service/Model/EZDetectManager.m index cd2ac003c..40d6c9bff 100644 --- a/Easydict/Feature/Service/Model/EZDetectManager.m +++ b/Easydict/Feature/Service/Model/EZDetectManager.m @@ -95,7 +95,7 @@ - (void)detectText:(NSString *)queryText completion:(void (^)(EZQueryModel *_Non if (queryText.length == 0) { NSString *errorString = @"detectText cannot be nil"; NSLog(@"%@", errorString); - completion(self.queryModel, [EZTranslateError errorWithString:errorString]); + completion(self.queryModel, [EZError errorWithType:EZErrorTypeParam description:errorString]); return; } diff --git a/Easydict/Feature/Service/Model/EZError.h b/Easydict/Feature/Service/Model/EZError.h index ffa512f3e..5db19f83f 100644 --- a/Easydict/Feature/Service/Model/EZError.h +++ b/Easydict/Feature/Service/Model/EZError.h @@ -1,9 +1,9 @@ // -// EZError.h +// EZTranslateError.h // Easydict // -// Created by tisfeng on 2023/5/7. -// Copyright © 2023 izual. All rights reserved. +// Created by tisfeng on 2022/12/1. +// Copyright © 2022 izual. All rights reserved. // #import @@ -12,6 +12,13 @@ NS_ASSUME_NONNULL_BEGIN +/// 报错时的请求信息 +extern NSString *const EZTranslateErrorRequestKey; +extern NSString *const EZTranslateErrorRequestURLKey; +extern NSString *const EZTranslateErrorRequestParamKey; +extern NSString *const EZTranslateErrorRequestResponseKey; +extern NSString *const EZTranslateErrorRequestErrorKey; + typedef NS_ENUM(NSUInteger, EZErrorType) { EZErrorTypeNone, EZErrorTypeAPI, // 接口异常 @@ -20,24 +27,45 @@ typedef NS_ENUM(NSUInteger, EZErrorType) { EZErrorTypeTimeout, // 超时 EZErrorTypeUnsupportedLanguage, // 不支持的语言 EZErrorTypeNoResultsFound, // 未查询到结果 + EZErrorTypeInsufficientQuota, // 内置 API key 额度不足 + EZErrorTypeWarppedNSError, // Warp NSError }; +/// 错误,不支持的语言 +FOUNDATION_EXPORT NSError *EZQueryUnsupportedLanguageError(EZQueryService *service); + @interface EZError : NSError -@property (nonatomic, assign) EZErrorType errorType; +@property (nonatomic, assign) EZErrorType type; +@property (nonatomic, copy, nullable) NSString *errorDataMessage; + ++ (instancetype)errorWithType:(EZErrorType)type; -/// supplementary error message, from API response data. -@property (nonatomic, copy, nullable) NSString *errorMessage; ++ (instancetype)errorWithType:(EZErrorType)type + description:(nullable NSString *)description; + (instancetype)errorWithType:(EZErrorType)type - message:(NSString *_Nullable)message; + description:(nullable NSString *)description + errorDataMessage:(nullable NSString *)errorDataMessage; + ++ (instancetype)errorWithType:(EZErrorType)type + description:(nullable NSString *)description + request:(id _Nullable)request; + ++ (instancetype)errorWithType:(EZErrorType)type + description:(nullable NSString *)description + errorDataMessage:(nullable NSString *)errorDataMessage + request:(nullable id)request; + ++ (instancetype)timeoutError; -+ (instancetype)errorWithType:(EZErrorType)type; -+ (instancetype)errorWithString:(NSString *)string; +#pragma mark - Wrap NSError -+ (instancetype)errorWithUnsupportedLanguageService:(EZQueryService *)service; ++ (nullable EZError *)errorWithNSError:(nullable NSError *)error; ++ (nullable EZError *)errorWithNSError:(nullable NSError *)error errorResponseData:(nullable NSData *)errorResponseData; ++ (nullable EZError *)errorWithNSError:(nullable NSError *)error errorDataMessage:(nullable NSString *)errorMessage; @end diff --git a/Easydict/Feature/Service/Model/EZError.m b/Easydict/Feature/Service/Model/EZError.m index 2c008de3b..b560b9ed9 100644 --- a/Easydict/Feature/Service/Model/EZError.m +++ b/Easydict/Feature/Service/Model/EZError.m @@ -1,72 +1,147 @@ // -// EZError.m +// EZTranslateError.m // Easydict // -// Created by tisfeng on 2023/5/7. -// Copyright © 2023 izual. All rights reserved. +// Created by tisfeng on 2022/12/1. +// Copyright © 2022 izual. All rights reserved. // #import "EZError.h" #import "EZQueryService.h" +NSString *const EZTranslateErrorRequestKey = @"EZTranslateErrorRequestKey"; +NSString *const EZTranslateErrorRequestURLKey = @"EZTranslateErrorRequestURLKey"; +NSString *const EZTranslateErrorRequestParamKey = @"EZTranslateErrorRequestParamKey"; +NSString *const EZTranslateErrorRequestResponseKey = @"EZTranslateErrorRequestResponseKey"; +NSString *const EZTranslateErrorRequestErrorKey = @"EZTranslateErrorRequestErrorKey"; + +NSError *EZQueryUnsupportedLanguageError(EZQueryService *service) { + NSString *to = [service languageCodeForLanguage:service.queryModel.queryTargetLanguage]; + EZLanguage unsupportLanguage = service.queryModel.queryFromLanguage; + if (!to) { + unsupportLanguage = service.queryModel.queryTargetLanguage; + } + + NSString *showUnsupportLanguage = [EZLanguageManager.shared showingLanguageName:unsupportLanguage]; + NSError *error = [EZError errorWithType:EZErrorTypeUnsupportedLanguage description:showUnsupportLanguage request:nil]; + return error; +} + + @implementation EZError -+ (instancetype)errorWithType:(EZErrorType)type message:(NSString *)message { - NSString *localizedDescription = @""; ++ (instancetype)errorWithType:(EZErrorType)type { + return [self errorWithType:type description:nil]; +} + ++ (instancetype)errorWithType:(EZErrorType)type + description:(nullable NSString *)description + request:(id _Nullable)request { + return [self errorWithType:type description:description errorDataMessage:nil request:request]; +} + ++ (instancetype)errorWithType:(EZErrorType)type + description:(nullable NSString *)description { + return [self errorWithType:type description:description request:nil]; +} + ++ (instancetype)errorWithType:(EZErrorType)type + description:(nullable NSString *)description + errorDataMessage:(nullable NSString *)errorDataMessage { + return [self errorWithType:type description:description errorDataMessage:errorDataMessage request:nil]; +} + ++ (instancetype)errorWithType:(EZErrorType)type + description:(nullable NSString *)description + errorDataMessage:(nullable NSString *)errorDataMessage + request:(nullable id)request { + NSString *errorString = nil; switch (type) { + case EZErrorTypeNone: + errorString = @""; + break; case EZErrorTypeParam: - localizedDescription = NSLocalizedString(@"error_parameter", nil); + errorString = NSLocalizedString(@"error_parameter", nil); break; case EZErrorTypeNetwork: - localizedDescription = NSLocalizedString(@"error_network", nil); + errorString = NSLocalizedString(@"error_network", nil); break; case EZErrorTypeAPI: - localizedDescription = NSLocalizedString(@"error_api", nil); - break; - case EZErrorTypeTimeout: - localizedDescription = [NSString stringWithFormat:@"Timeout of %.1f exceeded", EZNetWorkTimeoutInterval]; + errorString = NSLocalizedString(@"error_api", nil); break; case EZErrorTypeUnsupportedLanguage: - localizedDescription = NSLocalizedString(@"error_unsupport_language", nil); + errorString = NSLocalizedString(@"error_unsupport_language", nil); break; + case EZErrorTypeNoResultsFound: + errorString = NSLocalizedString(@"no_results_found", nil); + break; + case EZErrorTypeInsufficientQuota: + errorString = NSLocalizedString(@"error_insufficient_quota", nil); + break; + default: + errorString = NSLocalizedString(@"error_unknown", nil); break; } - NSString *errorString = [NSString stringWithFormat:@"%@, %@", NSLocalizedString(@"query_failed", nil), localizedDescription]; - if (message.length) { - errorString = [NSString stringWithFormat:@"%@: %@", errorString, message]; - } + NSString *queryFailedString = NSLocalizedString(@"query_failed", nil); + if (errorString.length) { + errorString = [NSString stringWithFormat:@"%@, %@", queryFailedString, errorString]; + } + if (description.length) { + errorString = [NSString stringWithFormat:@"%@: %@", errorString, description]; + } + + if (type == EZErrorTypeWarppedNSError) { + errorString = [NSString stringWithFormat:@"%@: %@", queryFailedString, description]; + } + + NSMutableDictionary *userInfo = [NSMutableDictionary dictionary]; + if (errorString) { + [userInfo setObject:errorString forKey:NSLocalizedDescriptionKey]; + } + if (request) { + [userInfo setObject:request forKey:EZTranslateErrorRequestKey]; + } - NSDictionary *userInfo = @{NSLocalizedDescriptionKey: localizedDescription}; - EZError *error = [self errorWithDomain:EZBundleId code:type userInfo:userInfo]; - error.errorType = type; + EZError *error = [self errorWithDomain:EZBundleId code:type userInfo:userInfo.copy]; + error.type = type; + error.errorDataMessage = errorDataMessage; return error; } -+ (instancetype)errorWithType:(EZErrorType)type { - return [self errorWithType:type message:nil];; ++ (instancetype)timeoutError { + NSString *description = [NSString stringWithFormat:@"Timeout of %.1f exceeded", EZNetWorkTimeoutInterval]; + return [self errorWithType:EZErrorTypeTimeout description:description]; } -+ (instancetype)errorWithString:(NSString *)string { - NSDictionary *userInfo = @{NSLocalizedDescriptionKey: string}; - return [self errorWithDomain:EZBundleId code:0 userInfo:userInfo]; + +#pragma mark - Wrap NSError + ++ (nullable EZError *)errorWithNSError:(nullable NSError *)error { + NSData *errorData = error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey]; + NSString *errorDataMessage = [[NSString alloc] initWithData:errorData encoding:NSUTF8StringEncoding]; + return [self errorWithNSError:error errorDataMessage:errorDataMessage]; } -+ (instancetype)errorWithUnsupportedLanguageService:(EZQueryService *)service { - NSString *to = [service languageCodeForLanguage:service.queryModel.queryTargetLanguage]; - EZLanguage unsupportLanguage = service.queryModel.queryFromLanguage; - if (!to) { - unsupportLanguage = service.queryModel.queryTargetLanguage; ++ (nullable EZError *)errorWithNSError:(nullable NSError *)error + errorResponseData:(nullable NSData *)errorResponseData { + NSString *errorDataMessage = [[NSString alloc] initWithData:errorResponseData encoding:NSUTF8StringEncoding]; + EZError *ezError = [self errorWithNSError:error errorDataMessage:errorDataMessage]; + return ezError; +} + ++ (nullable EZError *)errorWithNSError:(nullable NSError *)error + errorDataMessage:(nullable NSString *)errorDataMessage { + if (!error || [error isKindOfClass:EZError.class]) { + return (EZError *)error; } - NSString *showUnsupportLanguage = [EZLanguageManager.shared showingLanguageName:unsupportLanguage]; - - EZError *error = [self errorWithType:EZErrorTypeUnsupportedLanguage message:showUnsupportLanguage]; - - return error; + EZError *ezError = [self errorWithType:EZErrorTypeWarppedNSError + description:error.localizedDescription + errorDataMessage:errorDataMessage]; + return ezError; } - @end diff --git a/Easydict/Feature/Service/Model/EZQueryResult.h b/Easydict/Feature/Service/Model/EZQueryResult.h index 8c599e6ea..797b15269 100644 --- a/Easydict/Feature/Service/Model/EZQueryResult.h +++ b/Easydict/Feature/Service/Model/EZQueryResult.h @@ -134,9 +134,7 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, copy, nullable) NSString *translatedText; -@property (nonatomic, strong, nullable) NSError *error; -@property (nonatomic, copy, nullable) NSString *errorMessage; -@property (nonatomic, assign) EZErrorType errorType; +@property (nonatomic, strong, nullable) EZError *error; @property (nonatomic, assign) BOOL manulShow; @@ -165,7 +163,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, copy, nullable) NSString *HTMLString; /// 未查询到结果,如系统词典查单词时,查询了句子 -@property (nonatomic, assign) BOOL noResultsFound; +//@property (nonatomic, assign) BOOL noResultsFound; /// copiedText is translatedText, or webView innerText if has HTMLString @property (nonatomic, copy, nullable) NSString *copiedText; diff --git a/Easydict/Feature/Service/Model/EZQueryResult.m b/Easydict/Feature/Service/Model/EZQueryResult.m index 0b493f12d..66edc6d2d 100644 --- a/Easydict/Feature/Service/Model/EZQueryResult.m +++ b/Easydict/Feature/Service/Model/EZQueryResult.m @@ -205,7 +205,7 @@ - (nullable NSString *)translatedText { } - (BOOL)hasShowingResult { - if (self.hasTranslatedResult || self.error || self.errorMessage.length || self.HTMLString.length || self.noResultsFound) { + if (self.hasTranslatedResult || self.error || self.HTMLString.length) { return YES; } return NO; @@ -219,7 +219,10 @@ - (BOOL)hasTranslatedResult { } - (BOOL)isWarningErrorType { - BOOL warningType = (self.errorType == EZErrorTypeUnsupportedLanguage) || (self.errorType == EZErrorTypeNoResultsFound); + EZErrorType errorType = self.error.type; + BOOL warningType = (errorType == EZErrorTypeUnsupportedLanguage) + || (errorType == EZErrorTypeNoResultsFound) + || (errorType == EZErrorTypeInsufficientQuota); return warningType; } @@ -227,7 +230,6 @@ - (nullable NSString *)copiedText { if (!self.HTMLString.length) { return self.translatedText; } - return _copiedText; } @@ -256,13 +258,9 @@ - (void)reset { self.promptURL = nil; self.showBigWord = NO; self.translateResultsTopInset = 0; - self.errorMessage = nil; - self.errorType = EZErrorTypeAPI; self.isFinished = YES; - self.errorType = EZErrorTypeNone; self.manulShow = NO; self.HTMLString = nil; - self.noResultsFound = NO; self.copiedText = nil; self.didFinishLoadingHTMLBlock = nil; [self.webViewManager reset]; diff --git a/Easydict/Feature/Service/Model/EZQueryService.h b/Easydict/Feature/Service/Model/EZQueryService.h index 1792f68b0..8d5e1746e 100644 --- a/Easydict/Feature/Service/Model/EZQueryService.h +++ b/Easydict/Feature/Service/Model/EZQueryService.h @@ -8,12 +8,11 @@ #import #import "EZQueryResult.h" -#import "EZTranslateError.h" +#import "EZError.h" #import "EZOCRResult.h" #import "EZQueryModel.h" #import "EZLayoutManager.h" #import "EZAudioPlayer.h" -#import "EZError.h" #import "MMOrderedDictionary.h" NS_ASSUME_NONNULL_BEGIN @@ -62,6 +61,8 @@ NS_SWIFT_NAME(QueryService) /// Get TTS langauge code. - (NSString *)getTTSLanguageCode:(EZLanguage)language; +- (void)startQuery:(EZQueryModel *)queryModel completion:(void (^)(EZQueryResult *result, NSError *_Nullable error))completion; + @end @@ -84,7 +85,6 @@ NS_SWIFT_NAME(QueryService) /// 支持的语言字典 - (MMOrderedDictionary *)supportLanguagesDictionary; - /// 文本翻译 /// @param text 查询文本 /// @param from 文本语言 @@ -107,6 +107,12 @@ NS_SWIFT_NAME(QueryService) /// Intelligent query text type, default is EZQueryTextTypeTranslation | EZQueryTextTypeSentence - (EZQueryTextType)intelligentQueryTextType; +/// Check if user has private API key. +- (BOOL)hasPrivateAPIKey; + +- (BOOL)needPrivateAPIKey; + +- (NSInteger)totalFreeQueryCharacterCount; /// 获取文本的语言 /// @param text 文本 diff --git a/Easydict/Feature/Service/Model/EZQueryService.m b/Easydict/Feature/Service/Model/EZQueryService.m index fab32c42a..b7cc43e1c 100644 --- a/Easydict/Feature/Service/Model/EZQueryService.m +++ b/Easydict/Feature/Service/Model/EZQueryService.m @@ -164,14 +164,40 @@ - (BOOL)prehandleQueryTextLanguage:(NSString *)text } if (unsupportedLanguage) { - self.result.errorType = EZErrorTypeUnsupportedLanguage; completion(self.result, EZQueryUnsupportedLanguageError(self)); return YES; } + // Some services need API Key, the built-in API key free quota may not be enough for all users to use, so it is provided to new users first. + if (self.needPrivateAPIKey && !self.hasPrivateAPIKey && ![EZLocalStorage.shared hasFreeQuotaLeft:self]) { + EZError *error = [EZError errorWithType:EZErrorTypeInsufficientQuota + description:nil + errorDataMessage:NSLocalizedString(@"insufficient_quota_prompt", nil)]; + + self.result.promptURL = self.link; + completion(self.result, error); + return YES; + } + return NO; } +- (void)startQuery:(EZQueryModel *)queryModel + completion:(void (^)(EZQueryResult *result, NSError *_Nullable error))completion { + NSString *queryText = queryModel.queryText; + EZLanguage from = queryModel.queryFromLanguage; + EZLanguage to = queryModel.queryTargetLanguage; + + if ([self prehandleQueryTextLanguage:queryText + from:from + to:to + completion:completion]) { + return; + } + + [self translate:queryText from:from to:to completion:completion]; +} + #pragma mark - 必须重写的子类方法 - (EZServiceType)serviceType { @@ -201,13 +227,16 @@ - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to compl MethodNotImplemented(); } - #pragma mark - 可选重写的子类方法 - (BOOL)autoConvertTraditionalChinese { return NO; } +- (EZServiceUsageStatus)serviceUsageStatus { + return EZServiceUsageStatusDefault; +} + - (EZQueryTextType)queryTextType { return EZQueryTextTypeTranslation | EZQueryTextTypeSentence; } @@ -216,10 +245,17 @@ - (EZQueryTextType)intelligentQueryTextType { return EZQueryTextTypeTranslation | EZQueryTextTypeSentence; } -- (EZServiceUsageStatus)serviceUsageStatus { - return EZServiceUsageStatusDefault; +- (BOOL)hasPrivateAPIKey { + return NO; } +- (BOOL)needPrivateAPIKey { + return NO; +} + +- (NSInteger)totalFreeQueryCharacterCount { + return 100 * 10000; +} - (void)detectText:(NSString *)text completion:(void (^)(EZLanguage language, NSError *_Nullable error))completion { MethodNotImplemented(); diff --git a/Easydict/Feature/Service/Model/EZTranslateError.h b/Easydict/Feature/Service/Model/EZTranslateError.h deleted file mode 100644 index 31067ee7a..000000000 --- a/Easydict/Feature/Service/Model/EZTranslateError.h +++ /dev/null @@ -1,52 +0,0 @@ -// -// EZTranslateError.h -// Easydict -// -// Created by tisfeng on 2022/12/1. -// Copyright © 2022 izual. All rights reserved. -// - -#import -#import "EZQueryService.h" -#import "EZError.h" - -NS_ASSUME_NONNULL_BEGIN - -#define EZTranslateError(type, msg, req) [EZTranslateError errorWithType:(type) message:(msg) request:(req)] - -/// 报错时的请求信息 -extern NSString *const EZTranslateErrorRequestKey; -extern NSString *const EZTranslateErrorRequestURLKey; -extern NSString *const EZTranslateErrorRequestParamKey; -extern NSString *const EZTranslateErrorRequestResponseKey; -extern NSString *const EZTranslateErrorRequestErrorKey; - -//typedef NS_ENUM(NSUInteger, EZErrorType) { -// /// 参数异常 -// EZErrorTypeParam, -// /// 网络异常 -// EZErrorTypeNetwork, -// /// 接口异常 -// EZErrorTypeAPI, -// /// 不支持的语言 -// EZErrorTypeUnsupportLanguage, -//}; - - -/// 错误,不支持的语言 -FOUNDATION_EXPORT NSError *EZQueryUnsupportedLanguageError(EZQueryService *service); - - -@interface EZTranslateError : NSObject - -+ (NSError *)errorWithType:(EZErrorType)type - message:(NSString *_Nullable)message - request:(id _Nullable)request; - -+ (NSError *)timeoutError; - -+ (NSError *)errorWithString:(NSString *)string; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Easydict/Feature/Service/Model/EZTranslateError.m b/Easydict/Feature/Service/Model/EZTranslateError.m deleted file mode 100644 index 2e89a15ec..000000000 --- a/Easydict/Feature/Service/Model/EZTranslateError.m +++ /dev/null @@ -1,82 +0,0 @@ -// -// EZTranslateError.m -// Easydict -// -// Created by tisfeng on 2022/12/1. -// Copyright © 2022 izual. All rights reserved. -// - -#import "EZTranslateError.h" - -NSString *const EZTranslateErrorRequestKey = @"EZTranslateErrorRequestKey"; -NSString *const EZTranslateErrorRequestURLKey = @"EZTranslateErrorRequestURLKey"; -NSString *const EZTranslateErrorRequestParamKey = @"EZTranslateErrorRequestParamKey"; -NSString *const EZTranslateErrorRequestResponseKey = @"EZTranslateErrorRequestResponseKey"; -NSString *const EZTranslateErrorRequestErrorKey = @"EZTranslateErrorRequestErrorKey"; - -NSError *EZQueryUnsupportedLanguageError(EZQueryService *service) { - NSString *to = [service languageCodeForLanguage:service.queryModel.queryTargetLanguage]; - EZLanguage unsupportLanguage = service.queryModel.queryFromLanguage; - if (!to) { - unsupportLanguage = service.queryModel.queryTargetLanguage; - } - - NSString *showUnsupportLanguage = [EZLanguageManager.shared showingLanguageName:unsupportLanguage]; - - NSError *error = EZTranslateError(EZErrorTypeUnsupportedLanguage, showUnsupportLanguage, nil); - return error; -} - - -@implementation EZTranslateError - -+ (NSError *)errorWithType:(EZErrorType)type - message:(NSString *_Nullable)message - request:(id _Nullable)request { - NSString *errorString = nil; - switch (type) { - case EZErrorTypeParam: - errorString = NSLocalizedString(@"error_parameter", nil); - break; - case EZErrorTypeNetwork: - errorString = NSLocalizedString(@"error_network", nil); - break; - case EZErrorTypeAPI: - errorString = NSLocalizedString(@"error_api", nil); - break; - case EZErrorTypeUnsupportedLanguage: - errorString = NSLocalizedString(@"error_unsupport_language", nil); - break; - default: - errorString = NSLocalizedString(@"error_unknown", nil); - break; - } - - errorString = [NSString stringWithFormat:@"%@, %@", NSLocalizedString(@"query_failed", nil), errorString]; - if (message.length) { - errorString = [NSString stringWithFormat:@"%@: %@", errorString, message]; - } - - NSMutableDictionary *userInfo = [NSMutableDictionary dictionary]; - [userInfo setObject:errorString forKey:NSLocalizedDescriptionKey]; - if (request) { - [userInfo setObject:request forKey:EZTranslateErrorRequestKey]; - } - return [NSError errorWithDomain:EZBundleId code:type userInfo:userInfo.copy]; -} - -+ (NSError *)timeoutError { - NSString *errorString = [NSString stringWithFormat:@"Timeout of %.1f exceeded", EZNetWorkTimeoutInterval]; - return [self errorWithString:errorString]; -} - -+ (NSError *)errorWithString:(NSString *)string { - NSString *errorString = string ?: @"error"; - - NSMutableDictionary *userInfo = [NSMutableDictionary dictionary]; - [userInfo setObject:errorString forKey:NSLocalizedDescriptionKey]; - NSError *error = [NSError errorWithDomain:EZBundleId code:-1 userInfo:userInfo]; - return error; -} - -@end diff --git a/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.m b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.m index bf57b4aeb..cbfaeb17d 100644 --- a/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.m +++ b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.m @@ -12,6 +12,7 @@ @interface EZNiuTransTranslate () +@property (nonatomic, copy) NSString *defaultAPIKey; @property (nonatomic, copy) NSString *apiKey; @end @@ -20,18 +21,17 @@ @implementation EZNiuTransTranslate - (instancetype)init { if (self = [super init]) { + // This is a test APIKey, please do not abuse it. It is recommended to go to the official website to apply for a personal APIKey. + self.defaultAPIKey = [@"XOoEyjDMoM2MuMInzySOjGucFWXRj1wXQivVYDGTi6X7iDe7EkuHVVPOy2Op3RlD" decryptAES]; } return self; } - (NSString *)apiKey { - // This is a test APIKey, please do not abuse it. It is recommended to go to the official website to apply for a personal APIKey. - NSString *defaultAPIKey = [@"XOoEyjDMoM2MuMInzySOjGucFWXRj1wXQivVYDGTi6X7iDe7EkuHVVPOy2Op3RlD" decryptAES]; - // easydict://writeKeyValue?EZNiuTransAPIKey= NSString *apiKey = [[NSUserDefaults standardUserDefaults] stringForKey:EZNiuTransAPIKey]; if (apiKey.length == 0) { - apiKey = defaultAPIKey; + apiKey = self.defaultAPIKey; } return apiKey; } @@ -48,7 +48,7 @@ - (NSString *)name { } - (NSString *)link { - return @"https://niutrans.com/trans?type=text"; + return @"https://niutrans.com"; } // Supported languages: https://niutrans.com/documents/contents/trans_text#languageList @@ -108,15 +108,19 @@ - (NSString *)link { } - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *, NSError *_Nullable))completion { - if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { - return; - } - [self niuTransTranslate:text from:from to:to completion:completion]; } -- (void)ocr:(EZQueryModel *)queryModel completion:(void (^)(EZOCRResult *_Nullable, NSError *_Nullable))completion { - NSLog(@"NiuTrans not support ocr"); +- (BOOL)needPrivateAPIKey { + return YES; +} + +- (BOOL)hasPrivateAPIKey { + return ![self.apiKey isEqualToString:self.defaultAPIKey]; +} + +- (NSInteger)totalFreeQueryCharacterCount { + return 300 * 10000; } #pragma mark - NiuTrans API @@ -157,8 +161,8 @@ - (void)niuTransTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage) if (errorMsg) { message = [NSString stringWithFormat:@"%@, %@", errorCode, errorMsg]; } - NSError *error = [EZTranslateError errorWithType:EZErrorTypeAPI - message:message + NSError *error = [EZError errorWithType:EZErrorTypeAPI + description:message request:task.currentRequest]; completion(self.result, error); } diff --git a/Easydict/Feature/Service/OpenAI/EZOpenAIService.m b/Easydict/Feature/Service/OpenAI/EZOpenAIService.m index 69cb8b068..5008760ee 100644 --- a/Easydict/Feature/Service/OpenAI/EZOpenAIService.m +++ b/Easydict/Feature/Service/OpenAI/EZOpenAIService.m @@ -7,7 +7,7 @@ // #import "EZOpenAIService.h" -#import "EZTranslateError.h" +#import "EZError.h" #import "EZQueryResult+EZDeepLTranslateResponse.h" #import "NSString+EZUtils.h" #import "EZConfiguration.h" @@ -168,10 +168,6 @@ - (NSString *)name { /// Use OpenAI to translate text. - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *, NSError *_Nullable))completion { - if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { - return; - } - text = [text removeInvisibleChar]; NSString *sourceLanguage = [self languageCodeForLanguage:from]; @@ -414,6 +410,7 @@ - (void)startStreamChat:(NSDictionary *)parameters return; } + EZError *ezError = [EZError errorWithNSError:error]; NSData *errorData = error.userInfo[AFNetworkingOperationFailingURLResponseDataErrorKey]; if (errorData) { /** @@ -429,10 +426,10 @@ - (void)startStreamChat:(NSDictionary *)parameters NSError *jsonError; NSDictionary *json = [NSJSONSerialization JSONObjectWithData:errorData options:kNilOptions error:&jsonError]; if (!jsonError) { - self.result.errorMessage = [self getJsonErrorMessageWithJson:json]; + ezError.errorDataMessage = [self getJsonErrorMessageWithJson:json]; } } - completion(nil, error); + completion(nil, ezError); }]; [self.queryModel setStopBlock:^{ @@ -444,7 +441,7 @@ - (void)startStreamChat:(NSDictionary *)parameters - (NSString *)parseContentFromStreamData:(NSData *)data lastData:(NSData **)lastData error:(NSError **)error - isFinished:(nullable BOOL *)isFinished { + isFinished:(BOOL *)isFinished { /** data: {"id":"chatcmpl-6uN6CP9w98STOanV3GidjEr9eNrJ7","object":"chat.completion.chunk","created":1678893180,"model":"gpt-3.5-turbo-0301","choices":[{"delta":{"role":"assistant"},"index":0,"finish_reason":null}]} @@ -472,10 +469,13 @@ - (NSString *)parseContentFromStreamData:(NSData *)data // Convert data to string NSString *jsonDataString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; - // NSLog(@"jsonDataString: %@", jsonDataString); +// NSLog(@"jsonDataString: %@", jsonDataString); + + // OpenAI docs: https://platform.openai.com/docs/api-reference/chat/create // split string to array NSString *dataKey = @"data:"; + NSString *terminationFlag = @"[DONE]"; NSArray *jsonArray = [jsonDataString componentsSeparatedByString:dataKey]; // NSLog(@"jsonArray: %@", jsonArray); @@ -489,6 +489,13 @@ - (NSString *)parseContentFromStreamData:(NSData *)data NSString *dataString = [jsonString trim]; if (dataString.length) { + if ([dataString isEqualToString:terminationFlag]) { + if (isFinished) { + *isFinished = YES; + } + break; + } + // parse string to json NSData *jsonData = [dataString dataUsingEncoding:NSUTF8StringEncoding]; NSError *jsonError; @@ -516,28 +523,59 @@ - (NSString *)parseContentFromStreamData:(NSData *)data } } + /** + gemini-pro + + { + "choices" : [ + { + "delta" : { + "content" : "乌克兰可能再获一套爱国者反导系统。" + }, + "finish_reason" : "stop" + } + ], + "created" : 1702957216, + "id" : "chatcmpl-0ddd85aae7fe49af9444ced85875decf", + "model" : "gemini", + "object" : "chat.completion.chunk" + } + */ + + // TODO: We need to optimize this code. if (json[@"choices"]) { NSArray *choices = json[@"choices"]; if (choices.count == 0) { continue; } NSDictionary *choice = choices[0]; - if (choice[@"delta"]) { - // finish_reason is NSNull if not stop + NSDictionary *delta = choice[@"delta"]; + if (delta) { + if (delta[@"content"]) { + NSString *content = delta[@"content"]; +// NSLog(@"delta content: %@", content); + [mutableString appendString:content]; + } + + // finish_reason is string or null NSString *finishReason = choice[@"finish_reason"]; - if ([finishReason isKindOfClass:NSString.class] && [finishReason isEqualToString:@"stop"]) { - // NSLog(@"finish reason: %@", finishReason); + if ([finishReason isKindOfClass:NSString.class] && finishReason.length) { + NSLog(@"finish reason: %@", finishReason); + + /** + The reason the model stopped generating tokens. + + This will be "stop" if the model hit a natural stop point or a provided stop sequence, + "length" if the maximum number of tokens specified in the request was reached, + "content_filter" if content was omitted due to a flag from our content filters, + "tool_calls" if the model called a tool, + or "function_call" (deprecated) if the model called a function. + */ if (isFinished) { *isFinished = YES; } break; } - - NSDictionary *delta = choice[@"delta"]; - if (delta[@"content"]) { - NSString *content = delta[@"content"]; - [mutableString appendString:content]; - } } } } @@ -623,7 +661,7 @@ - (nullable NSString *)parseContentFromJSONata:(NSData *)data */ NSArray *choices = json[@"choices"]; if (choices.count == 0) { - NSError *error = [EZTranslateError errorWithString:@"no result."]; + NSError *error = [EZError errorWithType:EZErrorTypeAPI description:@"no result."]; /** may be return error json { @@ -637,7 +675,7 @@ - (nullable NSString *)parseContentFromJSONata:(NSData *)data */ if (json[@"error"]) { - error = [EZTranslateError errorWithString:[self getJsonErrorMessageWithJson:json]]; + error = [EZError errorWithType:EZErrorTypeAPI description:[self getJsonErrorMessageWithJson:json]]; } return nil; @@ -687,7 +725,7 @@ - (void)startCompletion:(NSString *)prompt completion:(void (^)(NSString *_Nulla NSArray *choices = json[@"choices"]; if (choices.count == 0) { - NSError *error = [EZTranslateError errorWithString:@"no result."]; + NSError *error = [EZError errorWithType:EZErrorTypeAPI description:@"no result."]; /** may be return error json { @@ -700,7 +738,7 @@ - (void)startCompletion:(NSString *)prompt completion:(void (^)(NSString *_Nulla } */ if (json[@"error"]) { - error = [EZTranslateError errorWithString:[self getJsonErrorMessageWithJson:json]]; + error = [EZError errorWithType:EZErrorTypeAPI description:[self getJsonErrorMessageWithJson:json]]; } completion(nil, error); diff --git a/Easydict/Feature/Service/Tencent/TencentService.swift b/Easydict/Feature/Service/Tencent/TencentService.swift index f9ff8632b..5deb732dd 100644 --- a/Easydict/Feature/Service/Tencent/TencentService.swift +++ b/Easydict/Feature/Service/Tencent/TencentService.swift @@ -37,10 +37,30 @@ public final class TencentService: QueryService { throw QueryServiceError.notSupported } - // MARK: API Request - private static let defaultSecretId = "" - private static let defaultSecretKey = "" + override public func needPrivateAPIKey() -> Bool { + true + } + + override public func hasPrivateAPIKey() -> Bool { + if secretId == defaultSecretId, secretKey == defaultSecretKey { + return false + } + return true + } + + override public func totalFreeQueryCharacterCount() -> Int { + 500 * 10000 + } + + /** + For convenience, we provide a default key for users to try out the service. + + Please do not abuse it, otherwise it may be revoked. + For better experience, please register your own key at https://cloud.tencent.com + */ + private let defaultSecretId = "7ZdGkHHIx4Nozm4RHib5Jjye5yCefYoxxfSWzMRbKRrHrnSEJaqpypL1yRMoN0E5".decryptAES() + private let defaultSecretKey = "OLvQKqJoBfrfLLg95ezIQsWymT+2irYbuMLov1cxrtc3a/M2YXCDQ2rpyy/raQ8r".decryptAES() // easydict://writeKeyValue?EZTencentSecretId=xxx private var secretId: String { @@ -48,7 +68,7 @@ public final class TencentService: QueryService { if let secretId, !secretId.isEmpty { return secretId } else { - return TencentService.defaultSecretId + return defaultSecretId } } @@ -58,25 +78,17 @@ public final class TencentService: QueryService { if let secretKey, !secretKey.isEmpty { return secretKey } else { - return TencentService.defaultSecretKey + return defaultSecretKey } } - public override func translate(_ text: String, from: Language, to: Language, completion: @escaping (EZQueryResult, Error?) -> Void) { - if prehandleQueryTextLanguage(text, from: from, to: to, completion: completion) { - return - } - - translateText(text, from: from, to: to, completion: completion) - } - - func translateText(_ text: String, from: Language, to: Language, completion: @escaping (EZQueryResult, Error?) -> Void) { + override public func translate(_ text: String, from: Language, to: Language, completion: @escaping (EZQueryResult, Error?) -> Void) { let transType = TencentTranslateType.transType(from: from, to: to) guard transType != .unsupported else { - result.errorType = .unsupportedLanguage - let unsupportedType = NSLocalizedString("unsupported_translation_type", comment: "") - result.errorMessage = "\(unsupportedType): \(from.rawValue) --> \(to.rawValue)" - completion(result, nil) + let showingFrom = EZLanguageManager.shared().showingLanguageName(from) + let showingTo = EZLanguageManager.shared().showingLanguageName(to) + let error = EZError(type: .unsupportedLanguage, description: "\(showingFrom) --> \(showingTo)") + completion(result, error) return } @@ -84,7 +96,7 @@ public final class TencentService: QueryService { "SourceText": text, "Source": transType.sourceLanguage, "Target": transType.targetLanguage, - "ProjectId": 0 + "ProjectId": 0, ] let endpoint = "https://tmt.tencentcloudapi.com" @@ -104,6 +116,7 @@ public final class TencentService: QueryService { .responseDecodable(of: TencentResponse.self) { [weak self] response in guard let self else { return } let result = self.result + switch response.result { case let .success(value): result.from = from @@ -113,15 +126,17 @@ public final class TencentService: QueryService { completion(result, nil) case let .failure(error): NSLog("Tencent lookup error \(error)") + let ezError = EZError(nsError: error) + if let data = response.data { do { let errorResponse = try JSONDecoder().decode(TencentErrorResponse.self, from: data) - result.errorMessage = errorResponse.response.error.message + ezError?.errorDataMessage = errorResponse.response.error.message } catch { NSLog("Failed to decode error response: \(error)") } } - completion(result, error) + completion(result, ezError) } } queryModel.setStop({ diff --git a/Easydict/Feature/Service/Tencent/TencentSigning.swift b/Easydict/Feature/Service/Tencent/TencentSigning.swift index 071b0191f..6324c3ce1 100644 --- a/Easydict/Feature/Service/Tencent/TencentSigning.swift +++ b/Easydict/Feature/Service/Tencent/TencentSigning.swift @@ -6,9 +6,9 @@ // Copyright © 2023 izual. All rights reserved. // -import Foundation import Alamofire import CryptoKit +import Foundation // Tencent sigh header, Ref: https://github.com/TencentCloud/signature-process-demo/blob/main/signature-v3/swift/signv3.swift func tencentSignHeader(service: String, action: String, version: String, parameters: [String: Any], secretId: String, secretKey: String) -> HTTPHeaders { @@ -35,34 +35,34 @@ func tencentSignHeader(service: String, action: String, version: String, paramet let signedHeaders = "content-type;host;x-tc-action" let hashedRequestPayload = payloadString.sha256() let canonicalRequest = """ -\(httpRequestMethod) -\(canonicalUri) -\(canonicalQuerystring) -\(canonicalHeaders) -\(signedHeaders) -\(hashedRequestPayload) -""" + \(httpRequestMethod) + \(canonicalUri) + \(canonicalQuerystring) + \(canonicalHeaders) + \(signedHeaders) + \(hashedRequestPayload) + """ // ************* 步骤 2:拼接待签名字符串 ************* let credentialScope = "\(date)/\(service)/tc3_request" let hashedCanonicalRequest = canonicalRequest.sha256() let stringToSign = """ -\(algorithm) -\(timestamp) -\(credentialScope) -\(hashedCanonicalRequest) -""" + \(algorithm) + \(timestamp) + \(credentialScope) + \(hashedCanonicalRequest) + """ // ************* 步骤 3:计算签名 ************* let secretDate = date.hmac(key: Data("TC3\(secretKey)".utf8)) let secretService = service.hmac(key: secretDate) let secretSigning = "tc3_request".hmac(key: secretService) - let signature = stringToSign.hmac(key: secretSigning).map {String(format: "%02hhx", $0)}.joined() + let signature = stringToSign.hmac(key: secretSigning).map { String(format: "%02hhx", $0) }.joined() // ************* 步骤 4:拼接 Authorization ************* let authorization = """ -\(algorithm) Credential=\(secretId)/\(credentialScope), SignedHeaders=\(signedHeaders), Signature=\(signature) -""" + \(algorithm) Credential=\(secretId)/\(credentialScope), SignedHeaders=\(signedHeaders), Signature=\(signature) + """ let headers: HTTPHeaders = [ "Authorization": authorization, @@ -71,7 +71,7 @@ func tencentSignHeader(service: String, action: String, version: String, paramet "X-TC-Action": action, "X-TC-Timestamp": "\(timestamp)", "X-TC-Version": version, - "X-TC-Region": region + "X-TC-Region": region, ] return headers @@ -80,14 +80,14 @@ func tencentSignHeader(service: String, action: String, version: String, paramet extension String { // sha256 func sha256() -> String { - let data = Data(self.utf8) + let data = Data(utf8) let digest = SHA256.hash(data: data) - return digest.compactMap {String(format: "%02x", $0)}.joined() + return digest.compactMap { String(format: "%02x", $0) }.joined() } // hmac func hmac(key: Data) -> Data { - let data = Data(self.utf8) + let data = Data(utf8) let symmetricKey = SymmetricKey(data: key) let hmac = HMAC.authenticationCode(for: data, using: symmetricKey) return Data(hmac) diff --git a/Easydict/Feature/Service/Tencent/TencentTranslateType.swift b/Easydict/Feature/Service/Tencent/TencentTranslateType.swift index 1c52f6922..c7df83236 100644 --- a/Easydict/Feature/Service/Tencent/TencentTranslateType.swift +++ b/Easydict/Feature/Service/Tencent/TencentTranslateType.swift @@ -9,7 +9,6 @@ import Foundation struct TencentTranslateType: Equatable { - var sourceLanguage: String var targetLanguage: String @@ -34,7 +33,7 @@ struct TencentTranslateType: Equatable { .thai: [.simplifiedChinese, .english], .malay: [.simplifiedChinese, .english], .arabic: [.english], - .hindi: [.english] + .hindi: [.english], ] static let supportLanguagesDictionary: [Language: String] = [ @@ -56,27 +55,28 @@ struct TencentTranslateType: Equatable { .thai: "th", .malay: "ms", .arabic: "ar", - .hindi: "hi" + .hindi: "hi", ] static func transType(from: Language, to: Language) -> TencentTranslateType { // !!!: Tencent translate support traditionalChinese as target language if target languages contain simplifiedChinese. guard let targetLanguages = supportedTypes[from], - (targetLanguages.containsChinese() || targetLanguages.contains(to) || from == to || from.isKindOfChinese()) else { + targetLanguages.containsChinese() || targetLanguages.contains(to) || from == to || from.isKindOfChinese() + else { return .unsupported } - + guard let fromLanguage = supportLanguagesDictionary[from], - let toLanguage = supportLanguagesDictionary[to] else { + let toLanguage = supportLanguagesDictionary[to] + else { return .unsupported } - + return TencentTranslateType(sourceLanguage: fromLanguage, targetLanguage: toLanguage) } } - -extension Array where Element == Language { +extension [Language] { // Contains Chinese language func containsChinese() -> Bool { contains { $0.isKindOfChinese() } diff --git a/Easydict/Feature/Service/Volcano/EZVolcanoTranslate.m b/Easydict/Feature/Service/Volcano/EZVolcanoTranslate.m index 677c293d3..d70fd5565 100644 --- a/Easydict/Feature/Service/Volcano/EZVolcanoTranslate.m +++ b/Easydict/Feature/Service/Volcano/EZVolcanoTranslate.m @@ -132,11 +132,6 @@ - (nullable NSString *)wordLink:(EZQueryModel *)queryModel { } - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *, NSError *_Nullable))completion { - - if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { - return; - } - [self webViewTranslate:completion]; } diff --git a/Easydict/Feature/Service/WebViewTranslator/EZWebViewTranslator.m b/Easydict/Feature/Service/WebViewTranslator/EZWebViewTranslator.m index 8067bf86b..36a7a5ce0 100644 --- a/Easydict/Feature/Service/WebViewTranslator/EZWebViewTranslator.m +++ b/Easydict/Feature/Service/WebViewTranslator/EZWebViewTranslator.m @@ -9,7 +9,7 @@ #import "EZWebViewTranslator.h" #import #import "EZURLSchemeHandler.h" -#import "EZTranslateError.h" +#import "EZError.h" // Query time interval static NSTimeInterval const DELAY_SECONDS = 0.1; // Usually takes more than 0.1 seconds. @@ -122,7 +122,7 @@ - (void)monitorBaseURLString:(NSString *)monitorURL [self resetWebView]; NSHTTPURLResponse *response = [[NSHTTPURLResponse alloc] initWithURL:[NSURL URLWithString:monitorURL] statusCode:200 HTTPVersion:@"HTTP/1.1" headerFields:@{@"Content-Type" : @"application/json"}]; - completionHandler(response, nil, [EZTranslateError timeoutError]); + completionHandler(response, nil, [EZError timeoutError]); } }); } @@ -231,7 +231,7 @@ - (void)getTextContentOfElement:(NSString *)selector } else { NSLog(@"fail, max retry count: %ld", self.retryCount); if (completion) { - completion(nil, [EZTranslateError timeoutError]); + completion(nil, [EZError timeoutError]); } } }; diff --git a/Easydict/Feature/Service/Youdao/EZYoudaoTranslate.m b/Easydict/Feature/Service/Youdao/EZYoudaoTranslate.m index 44f885017..0df3d35b1 100644 --- a/Easydict/Feature/Service/Youdao/EZYoudaoTranslate.m +++ b/Easydict/Feature/Service/Youdao/EZYoudaoTranslate.m @@ -284,11 +284,7 @@ - (nullable NSString *)youdaoDictForeignLangauge:(EZQueryModel *)queryModel { - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *result, NSError *_Nullable error))completion { if (!text.length) { - completion(self.result, EZTranslateError(EZErrorTypeParam, @"翻译的文本为空", nil)); - return; - } - - if ([self prehandleQueryTextLanguage:text from:from to:to completion:completion]) { + completion(self.result, [EZError errorWithType:EZErrorTypeParam description:@"翻译的文本为空" request:nil]); return; } @@ -297,7 +293,7 @@ - (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to compl - (void)detectText:(NSString *)text completion:(void (^)(EZLanguage, NSError *_Nullable))completion { if (!text.length) { - completion(EZLanguageAuto, EZTranslateError(EZErrorTypeParam, @"识别语言的文本为空", nil)); + completion(EZLanguageAuto, [EZError errorWithType:EZErrorTypeParam description:@"识别语言的文本为空" request:nil]); return; } @@ -315,7 +311,7 @@ - (void)detectText:(NSString *)text completion:(void (^)(EZLanguage, NSError *_N - (void)textToAudio:(NSString *)text fromLanguage:(EZLanguage)from completion:(void (^)(NSString *_Nullable, NSError *_Nullable))completion { if (!text.length) { - completion(nil, EZTranslateError(EZErrorTypeParam, @"获取音频的文本为空", nil)); + completion(nil, [EZError errorWithType:EZErrorTypeParam description:@"获取音频的文本为空" request:nil]); return; } @@ -330,7 +326,7 @@ - (void)textToAudio:(NSString *)text fromLanguage:(EZLanguage)from completion:(v NSString *language = [self getTTSLanguageCode:from]; // text = [text trimToMaxLength:1000]; - text = [text mm_urlencode]; // text.mm_urlencode + text = [text encode]; // text.mm_urlencode NSString *audioURL = [NSString stringWithFormat:@"%@/dictvoice?audio=%@&le=%@", kYoudaoDictURL, text, language]; // audioURL = [NSString stringWithFormat:@"https://fanyi.sogou.com/reventondc/synthesis?text=%@&speed=1&lang=%@&from=translateweb&speaker=6", text, language]; @@ -340,7 +336,7 @@ - (void)textToAudio:(NSString *)text fromLanguage:(EZLanguage)from completion:(v - (void)ocr:(NSImage *)image from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZOCRResult *_Nullable result, NSError *_Nullable error))completion { if (!image) { - completion(nil, EZTranslateError(EZErrorTypeParam, @"图片为空", nil)); + completion(nil, [EZError errorWithType:EZErrorTypeParam description:@"图片为空" request:nil]); return; } @@ -393,16 +389,16 @@ - (void)ocr:(NSImage *)image from:(EZLanguage)from to:(EZLanguage)to completion: } } [reqDict setObject:responseObject ?: [NSNull null] forKey:EZTranslateErrorRequestResponseKey]; - completion(nil, EZTranslateError(EZErrorTypeAPI, message ?: @"图片翻译失败", reqDict)); + completion(nil, [EZError errorWithType:EZErrorTypeAPI description: message ?: @"图片翻译失败" request:reqDict]); } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - completion(nil, EZTranslateError(EZErrorTypeNetwork, @"图片翻译失败", reqDict)); + completion(nil, [EZError errorWithType:EZErrorTypeNetwork description:@"图片翻译失败" request:reqDict]); }]; } - (void)ocrAndTranslate:(NSImage *)image from:(EZLanguage)from to:(EZLanguage)to ocrSuccess:(void (^)(EZOCRResult *_Nonnull, BOOL))ocrSuccess completion:(void (^)(EZOCRResult *_Nullable, EZQueryResult *_Nullable, NSError *_Nullable))completion { if (!image) { - completion(nil, nil, EZTranslateError(EZErrorTypeParam, @"图片为空", nil)); + completion(nil, nil, [EZError errorWithType:EZErrorTypeParam description:@"图片为空" request:nil]); return; } @@ -442,13 +438,12 @@ - (void)ocrAndTranslate:(NSImage *)image from:(EZLanguage)from to:(EZLanguage)to - (void)queryYoudaoDictAndTranslation:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *result, NSError *_Nullable error))completion { if (!text.length) { - completion(self.result, EZTranslateError(EZErrorTypeParam, @"翻译的文本为空", nil)); + completion(self.result, [EZError errorWithType:EZErrorTypeParam description:@"翻译的文本为空" request:nil]); return; } if (self.queryTextType == EZQueryTextTypeNone) { - self.result.errorMessage = NSLocalizedString(@"no_results_found", nil); - completion(self.result, nil); + completion(self.result, [EZError errorWithType:EZErrorTypeNoResultsFound description:nil]); return; } @@ -470,7 +465,7 @@ - (void)queryYoudaoDictAndTranslation:(NSString *)text from:(EZLanguage)from to: [self webTranslate:text from:from to:to completion:^(EZQueryResult *_Nullable result, NSError *_Nullable error) { if (error) { NSLog(@"translateYoudaoAPI error: %@", error); - self.result.error = error; + self.result.error = [EZError errorWithNSError:error]; } dispatch_group_leave(group); }]; @@ -484,7 +479,7 @@ - (void)queryYoudaoDictAndTranslation:(NSString *)text from:(EZLanguage)from to: /// Query Youdao dict, unofficial API - (void)queryYoudaoDict:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *result, NSError *_Nullable error))completion { if (!text.length) { - completion(self.result, EZTranslateError(EZErrorTypeParam, @"翻译的文本为空", nil)); + completion(self.result, [EZError errorWithType:EZErrorTypeParam description:@"翻译的文本为空" request:nil]); return; } @@ -503,8 +498,7 @@ - (void)queryYoudaoDict:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to // If Youdao Dictionary does not support the language, try querying translate API. if (!enableDictionary || !supportQueryDictionaryLanguage || !shouldQueryDictionary) { - self.result.errorMessage = NSLocalizedString(@"no_results_found", nil); - completion(self.result, nil); + completion(self.result, [EZError errorWithType:EZErrorTypeNoResultsFound]); return; } @@ -541,7 +535,7 @@ - (void)queryYoudaoDict:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to } } [reqDict setObject:responseObject ?: [NSNull null] forKey:EZTranslateErrorRequestResponseKey]; - self.result.error = EZTranslateError(EZErrorTypeAPI, message, reqDict); + self.result.error = [EZError errorWithType:EZErrorTypeAPI description: message request:reqDict]; completion(self.result, self.result.error); } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { if (error.code == NSURLErrorCancelled) { @@ -549,7 +543,7 @@ - (void)queryYoudaoDict:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to } [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - self.result.error = EZTranslateError(EZErrorTypeNetwork, nil, reqDict); + self.result.error = [EZError errorWithType:EZErrorTypeNetwork description: nil request:reqDict]; completion(self.result, self.result.error); }]; @@ -615,12 +609,12 @@ - (void)youdaoWebTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage return; } } - completion(self.result, EZTranslateError(EZErrorTypeAPI, @"翻译失败", responseObject)); + completion(self.result, [EZError errorWithType:EZErrorTypeAPI description:@"翻译失败" request:nil]); } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { if (error.code == NSURLErrorCancelled) { return; } - completion(self.result, EZTranslateError(EZErrorTypeNetwork, nil, error)); + completion(self.result, [EZError errorWithType:EZErrorTypeNetwork description:@"翻译失败" request:nil]); }]; [self.queryModel setStopBlock:^{ @@ -636,7 +630,7 @@ - (NSString *)signWithSalt:(NSString *)salt word:(NSString *)word { // TODO: Use a stable Youdao translation API. - (void)youdaoAIDemoTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *result, NSError *_Nullable error))completion { if (!text.length) { - completion(self.result, EZTranslateError(EZErrorTypeParam, @"翻译的文本为空", nil)); + completion(self.result, [EZError errorWithType:EZErrorTypeParam description:@"翻译的文本为空" request:nil]); return; } @@ -803,10 +797,10 @@ - (void)youdaoAIDemoTranslate:(NSString *)text from:(EZLanguage)from to:(EZLangu } } [reqDict setObject:responseObject ?: [NSNull null] forKey:EZTranslateErrorRequestResponseKey]; - completion(self.result, EZTranslateError(EZErrorTypeAPI, message ?: nil, reqDict)); + completion(self.result, [EZError errorWithType:EZErrorTypeAPI description: message request:reqDict]); } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { [reqDict setObject:error forKey:EZTranslateErrorRequestErrorKey]; - completion(self.result, EZTranslateError(EZErrorTypeNetwork, nil, reqDict)); + completion(self.result, [EZError errorWithType:EZErrorTypeNetwork description: nil request:reqDict]); }]; } @@ -826,7 +820,7 @@ - (void)requestYoudaoCookie { - (void)webViewTranslate:(nonnull void (^)(EZQueryResult *, NSError *_Nullable))completion { NSString *wordLink = [self wordLink:self.queryModel]; if ([wordLink isEqualToString:kYoudaoTranslatetURL]) { - NSError *error = EZTranslateError(EZErrorTypeUnsupportedLanguage, nil, nil); + NSError *error = [EZError errorWithType:EZErrorTypeUnsupportedLanguage description:nil request:nil]; completion(self.result, error); return; } @@ -890,8 +884,7 @@ - (void)webTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to co }; AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; - AFHTTPRequestSerializer *requestSerializer = [AFHTTPRequestSerializer serializer]; - manager.requestSerializer = requestSerializer; + manager.requestSerializer = [AFHTTPRequestSerializer serializer]; AFHTTPResponseSerializer *serializer = [AFHTTPResponseSerializer serializer]; // default is AFJSONResponseSerializer manager.responseSerializer = serializer; diff --git a/Easydict/Feature/Utility/AppleScript/EZAppleScriptManager.m b/Easydict/Feature/Utility/AppleScript/EZAppleScriptManager.m index aec695931..a32fb0dda 100644 --- a/Easydict/Feature/Utility/AppleScript/EZAppleScriptManager.m +++ b/Easydict/Feature/Utility/AppleScript/EZAppleScriptManager.m @@ -91,7 +91,7 @@ - (void)getSafariSelectedText:(AppleScriptCompletionHandler)completion { bundleID]; // runAppleScript is faster ~0.1s than runAppleScriptWithTask - [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, NSError *_Nonnull error) { + [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, EZError *_Nonnull error) { NSLog(@"Safari selected text: %@", result); completion(result, error); }]; @@ -107,7 +107,7 @@ - (void)getChromeSelectedTextByAppleScript:(NSString *)bundleID completion:(Appl "end tell\n", bundleID]; - [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, NSError *_Nonnull error) { + [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, EZError *_Nonnull error) { NSLog(@"Chrome Browser selected text: %@", result); completion(result, error); }]; @@ -139,7 +139,7 @@ - (void)getChromeCurrentTabURL:(NSString *)bundleID completion:(void (^)(NSStrin "end tell\n", bundleID]; - [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, NSError *_Nonnull error) { + [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, EZError *_Nonnull error) { NSLog(@"Chrome current tab URL: %@", result); completion(result); }]; @@ -158,7 +158,7 @@ - (void)getSafariCurrentTabURL:(NSString *)bundleID completion:(void (^)(NSStrin "end tell\n", bundleID]; - [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, NSError *_Nonnull error) { + [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, EZError *_Nonnull error) { NSLog(@"Safari current tab URL: %@", result); completion(result); }]; @@ -187,7 +187,7 @@ - (void)replaceSafariSelectedText:(NSString *)selectedText bundleID:(NSString *) "end tell\n", bundleID, selectedText]; - [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, NSError *_Nonnull error) { + [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, EZError *_Nonnull error) { // If success, result is nil. NSLog(@"Safari replace selected text result: %@", result); completion(result, error); @@ -204,7 +204,7 @@ - (void)replaceChromeSelectedText:(NSString *)selectedText bundleID:(NSString *) "end tell\n", bundleID, selectedText]; - [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, NSError *_Nonnull error) { + [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, EZError *_Nonnull error) { // If success, result is true. NSLog(@"Chrome replace selected text result: %@", result); completion(result, error); @@ -319,14 +319,14 @@ - (void)checkApplicationSupportCopyAction:(NSString *)appBundleID completion:(vo NSDate *startTime = [NSDate date]; // NSTask cost 0.18s - [self.scriptExecutor runAppleScriptWithTask:script completionHandler:^(NSString *_Nonnull result, NSError *_Nonnull error) { + [self.scriptExecutor runAppleScriptWithTask:script completionHandler:^(NSString *_Nonnull result, EZError *_Nonnull error) { NSTimeInterval elapsedTime = [[NSDate date] timeIntervalSinceDate:startTime]; NSLog(@"NSTask cost: %f seconds", elapsedTime); NSLog(@"--> supportCopy: %@", @([result boolValue])); }]; // NSAppleScript cost 0.06 ~ 0.12s - [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, NSError *_Nonnull error) { + [self.scriptExecutor runAppleScript:script completionHandler:^(NSString *_Nonnull result, EZError *_Nonnull error) { BOOL supportCopy = [result boolValue]; NSTimeInterval elapsedTime = [[NSDate date] timeIntervalSinceDate:startTime]; diff --git a/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZConvenience.h b/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZConvenience.h index a582ec3c5..46e19688e 100644 --- a/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZConvenience.h +++ b/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZConvenience.h @@ -34,6 +34,9 @@ NS_ASSUME_NONNULL_BEGIN - (NSString *)encode; - (NSString *)decode; +/// Only encode if text has not been encoded. +- (NSString *)encodeSafely; + /// Replace \" with " - (NSString *)escapedXMLString; @@ -54,6 +57,8 @@ NS_ASSUME_NONNULL_BEGIN - (NSString *)md5; +- (NSString *)foldedString; + @end NS_ASSUME_NONNULL_END diff --git a/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZConvenience.m b/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZConvenience.m index 9ace08f85..9fa469b4c 100644 --- a/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZConvenience.m +++ b/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZConvenience.m @@ -74,6 +74,14 @@ - (NSString *)decode { return decodedText; } +- (NSString *)encodeSafely { + BOOL hasEncoded = ![self.decode isEqualToString:self]; + if (hasEncoded) { + return self; + } + return self.encode; +} + /// Replace \" with " - (NSString *)escapedXMLString { NSString *escapedXMLText = CFBridgingRelease(CFXMLCreateStringByEscapingEntities(NULL, (__bridge CFStringRef)self, NULL)); @@ -165,6 +173,11 @@ - (NSString *)md5 { #pragma mark - - +- (NSString *)foldedString { + // 将文本转换为不区分大小写和重音的标准化字符串,gēnjù --> genju + NSStringCompareOptions options = NSCaseInsensitiveSearch | NSDiacriticInsensitiveSearch; + NSString *foldedString = [self stringByFoldingWithOptions:options locale:[NSLocale currentLocale]]; + return foldedString; +} @end diff --git a/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZUtils.h b/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZUtils.h index b0f0a8475..3f4384376 100644 --- a/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZUtils.h +++ b/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZUtils.h @@ -47,8 +47,8 @@ static NSArray *const EZDashCharacterList = @[ @"—", @"-", @"–" ]; - (BOOL)isListTypeFirstWord; -#pragma mark - +#pragma mark - Check if text is a word, or phrase - (EZQueryTextType)queryTypeWithLanguage:(EZLanguage)language maxWordCount:(NSInteger)maxWordCount; @@ -101,6 +101,8 @@ static NSArray *const EZDashCharacterList = @[ @"—", @"-", @"–" ]; - (BOOL)isNumbers; +#pragma mark - Handle extra quotes. + - (BOOL)hasPrefixQuote; - (BOOL)hasSuffixQuote; @@ -123,6 +125,7 @@ static NSArray *const EZDashCharacterList = @[ @"—", @"-", @"–" ]; - (BOOL)hasQuotesPair; +#pragma mark - Remove designated characters. - (NSString *)removeNonNormalCharacters; diff --git a/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZUtils.m b/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZUtils.m index b8ad3672a..d7f95d521 100644 --- a/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZUtils.m +++ b/Easydict/Feature/Utility/EZCategory/NSString/NSString+EZUtils.m @@ -156,8 +156,6 @@ - (BOOL)isListTypeFirstWord { return isList; } -#pragma mark - - #pragma mark - Check if text is a word, or phrase - (EZQueryTextType)queryTypeWithLanguage:(EZLanguage)language maxWordCount:(NSInteger)maxWordCount { diff --git a/Easydict/Feature/Utility/EZLinkParser/EZSchemeParser.m b/Easydict/Feature/Utility/EZLinkParser/EZSchemeParser.m index 2098cdbe6..640c1c913 100644 --- a/Easydict/Feature/Utility/EZLinkParser/EZSchemeParser.m +++ b/Easydict/Feature/Utility/EZLinkParser/EZSchemeParser.m @@ -209,6 +209,7 @@ - (NSArray *)allowedReadWriteKeys { EZYoudaoDictionaryKey, EZDeepLAuthKey, + EZDeepLTranslateEndPointKey, EZDeepLTranslationAPIKey, EZNiuTransAPIKey, EZCaiyunToken, @@ -233,7 +234,7 @@ - (NSArray *)allowedExecuteActionKeys { ]; - return actionKeys;; + return actionKeys; } - (void)restartApplication { diff --git a/Easydict/Feature/Utility/EZLog/EZLog.h b/Easydict/Feature/Utility/EZLog/EZLog.h index cef8f48e5..fe6a91857 100644 --- a/Easydict/Feature/Utility/EZLog/EZLog.h +++ b/Easydict/Feature/Utility/EZLog/EZLog.h @@ -20,7 +20,6 @@ NS_ASSUME_NONNULL_BEGIN + (void)logWindowAppear:(EZWindowType)windowType; + (void)logQueryService:(EZQueryService *)service; -+ (void)logQuery:(EZQueryModel *)model; + (void)logAppInfo; diff --git a/Easydict/Feature/Utility/EZLog/EZLog.m b/Easydict/Feature/Utility/EZLog/EZLog.m index 2e7b36f92..81ba2860b 100644 --- a/Easydict/Feature/Utility/EZLog/EZLog.m +++ b/Easydict/Feature/Utility/EZLog/EZLog.m @@ -78,19 +78,6 @@ + (void)logQueryService:(EZQueryService *)service { [self logEventWithName:name parameters:dict]; } -// Query with queryModel -+ (void)logQuery:(EZQueryModel *)model { - NSString *name = @"query"; - NSString *textLengthRange = [self textLengthRange:model.queryText]; - NSDictionary *dict = @{ - @"actionType" : model.actionType, - @"fromLanguage" : model.queryFromLanguage, - @"toLanguage" : model.queryTargetLanguage, - @"textLength" : textLengthRange, - }; - [self logEventWithName:name parameters:dict]; -} - /// Get text length range, 1-10, 10-50, 50-200, 200-1000, 1000-5000 + (NSString *)textLengthRange:(NSString *)text { NSInteger length = text.length; diff --git a/Easydict/Feature/Utility/Swift/Array/Array+Convenience.swift b/Easydict/Feature/Utility/Swift/Array/Array+Convenience.swift index b33e34362..e031cf711 100644 --- a/Easydict/Feature/Utility/Swift/Array/Array+Convenience.swift +++ b/Easydict/Feature/Utility/Swift/Array/Array+Convenience.swift @@ -1,5 +1,5 @@ // -// Array+ChineseTextConversion.swift +// Array+Convenience.swift // Easydict // // Created by tisfeng on 2023/11/26. @@ -8,9 +8,9 @@ import Foundation -extension Array where Element == String { +extension [String] { func toTraditionalChineseTexts() -> [String] { - return self.map { text in + map { text in let nsStringText = text as NSString return nsStringText.toTraditionalChineseText() } @@ -20,8 +20,8 @@ extension Array where Element == String { @objc extension NSArray { /// Trim to max count func trim(toMaxCount maxCount: Int) -> NSArray { - guard maxCount > 0 && maxCount < self.count else { return self } - let array = self.subarray(with: NSRange(location: 0, length: maxCount)) as NSArray + guard maxCount > 0, maxCount < count else { return self } + let array = subarray(with: NSRange(location: 0, length: maxCount)) as NSArray return array } } diff --git a/Easydict/Feature/Utility/Swift/String/String+EncryptAES.swift b/Easydict/Feature/Utility/Swift/String/String+EncryptAES.swift index 9f04b051e..e2afc0607 100644 --- a/Easydict/Feature/Utility/Swift/String/String+EncryptAES.swift +++ b/Easydict/Feature/Utility/Swift/String/String+EncryptAES.swift @@ -6,8 +6,8 @@ // Copyright © 2023 izual. All rights reserved. // -import Foundation import CryptoSwift +import Foundation extension String { private var aes: AES { @@ -16,13 +16,13 @@ extension String { let aes = try! AES(key: key, iv: key) // aes128 return aes } - + public func encryptAES() -> String { - let ciphertext = try! aes.encrypt(Array(self.utf8)) + let ciphertext = try! aes.encrypt(Array(utf8)) let encryptedString = ciphertext.toBase64() return encryptedString } - + func decryptAES() -> String { let ciphertext = try! aes.decrypt(Array(base64: self)) let decryptedString = String(bytes: ciphertext, encoding: .utf8)! @@ -35,7 +35,7 @@ extension String { guard let str = self as String? else { return nil } return str.encryptAES() as NSString } - + func decryptAES() -> NSString? { guard let str = self as String? else { return nil } return str.decryptAES() as NSString @@ -56,10 +56,10 @@ extension String { return "" } } - + func decryptAES(keyData: Data, ivData: Data) -> NSString { guard let str = self as String? else { return "" } - + do { let aes = try AES(key: Array(keyData), blockMode: CBC(iv: Array(ivData)), padding: .pkcs7) // aes128 let ciphertext = try aes.decrypt(Array(base64: str)) diff --git a/Easydict/Feature/Utility/SystemUtility/EZSystemUtility.m b/Easydict/Feature/Utility/SystemUtility/EZSystemUtility.m index 96040f21e..49e178d44 100644 --- a/Easydict/Feature/Utility/SystemUtility/EZSystemUtility.m +++ b/Easydict/Feature/Utility/SystemUtility/EZSystemUtility.m @@ -28,6 +28,10 @@ + (void)postCopyEvent { } + (void)postPasteEvent { + // Disable local keyboard events while pasting. + CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState); + CGEventSourceSetLocalEventsFilterDuringSuppressionState(source, kCGEventFilterMaskPermitLocalMouseEvents | kCGEventFilterMaskPermitSystemDefinedEvents, kCGEventSuppressionStateSuppressionInterval); + [self postKeyboardEvent:kCGEventFlagMaskCommand virtualKey:kVK_ANSI_V keyDown:true]; [self postKeyboardEvent:kCGEventFlagMaskCommand virtualKey:kVK_ANSI_V keyDown:false]; } @@ -58,14 +62,15 @@ + (nullable NSString *)stringFromKeyCode:(CGKeyCode)keyCode { #pragma mark - +/// Check if the current focused element is editable. Cost 0.1~0.2s + (BOOL)isSelectedTextEditable { AXUIElementRef systemWideElement = AXUIElementCreateSystemWide(); - + AXUIElementRef focusedElement = NULL; AXUIElementCopyAttributeValue(systemWideElement, kAXFocusedUIElementAttribute, (CFTypeRef *)&focusedElement); - + BOOL isEditable = NO; - + // focusedElement may be NULL in Telegram App if (focusedElement != NULL) { CFTypeRef roleValue; @@ -90,11 +95,10 @@ + (BOOL)isSelectedTextEditable { } CFRelease(focusedElement); } - - NSLog(@"isEditable: %d", isEditable); - CFRelease(systemWideElement); + NSLog(@"isEditable: %d", isEditable); + return isEditable; } diff --git a/Easydict/Feature/ViewController/Storage/EZLocalStorage.h b/Easydict/Feature/ViewController/Storage/EZLocalStorage.h index 86552c103..ac7ced77a 100644 --- a/Easydict/Feature/ViewController/Storage/EZLocalStorage.h +++ b/Easydict/Feature/ViewController/Storage/EZLocalStorage.h @@ -44,6 +44,12 @@ static NSString *const EZWindowTypeKey = @"EZWindowTypeKey"; - (NSInteger)queryCount; - (NSInteger)queryCharacterCount; +- (void)increaseQueryService:(EZQueryService *)service; + +- (BOOL)hasFreeQuotaLeft:(EZQueryService *)service; + +- (BOOL)isNewUser; + @end NS_ASSUME_NONNULL_END diff --git a/Easydict/Feature/ViewController/Storage/EZLocalStorage.m b/Easydict/Feature/ViewController/Storage/EZLocalStorage.m index 9362c240e..678f1c1c9 100644 --- a/Easydict/Feature/ViewController/Storage/EZLocalStorage.m +++ b/Easydict/Feature/ViewController/Storage/EZLocalStorage.m @@ -8,6 +8,7 @@ #import "EZLocalStorage.h" #import "EZLog.h" +#import "Easydict-Swift.h" static NSString *const kServiceInfoStorageKey = @"kServiceInfoStorageKey"; static NSString *const kAllServiceTypesKey = @"kAllServiceTypesKey"; @@ -16,8 +17,16 @@ static NSString *const kAppModelTriggerListKey = @"kAppModelTriggerListKey"; +static NSString *const kQueryServiceRecordKey = @"kQueryServiceRecordKey"; + +static NSInteger const kTotalUserCount = 1000; + @interface EZLocalStorage () +@property (nonatomic, assign) NSInteger queryCount; +@property (nonatomic, assign) NSInteger queryCharacterCount; +@property (nonatomic, copy) NSDictionary *queryServiceRecordDict; + @end @implementation EZLocalStorage @@ -58,7 +67,7 @@ - (void)setup { serviceInfo.type = serviceType; serviceInfo.enabled = YES; - // Mini type should keep concise, services <= 4 + // Mini type should keep concise, services <= 4 if (windowType == EZWindowTypeMini) { NSArray *defaultEnabledServices = @[ EZServiceTypeAppleDictionary, @@ -170,24 +179,40 @@ - (void)increaseQueryCount:(NSString *)queryText { [EZLog logEventWithName:@"query_count" parameters:dict]; } - [[NSUserDefaults standardUserDefaults] setInteger:count forKey:kQueryCountKey]; + self.queryCount = count; NSInteger queryCharacterCount = [self queryCharacterCount]; queryCharacterCount += queryText.length; - [self saveQueryCharacterCount:queryCharacterCount]; + self.queryCharacterCount = queryCharacterCount; } -- (NSInteger)queryCount { - return [[NSUserDefaults standardUserDefaults] integerForKey:kQueryCountKey]; +- (void)increaseQueryService:(EZQueryService *)service { + EZServiceType serviceType = service.serviceType; + EZQueryServiceRecord *serviceRecord = [self recordWithServiceType:serviceType];; + serviceRecord.queryCount += 1; + serviceRecord.queryCharacterCount += service.queryModel.queryText.length; + [self setQueryServiceRecord:serviceRecord serviceType:serviceType]; + + [EZLog logQueryService:service]; +} + +- (BOOL)hasFreeQuotaLeft:(EZQueryService *)service { + EZQueryServiceRecord *record = [self recordWithServiceType:service.serviceType]; + /** + 例如腾讯翻译每月有500万免费字符,假如当前有1000个用户,则每人可以使用字符数为:500万/1000 = 5千 + */ + CGFloat freeCount = [service totalFreeQueryCharacterCount] * 0.9 / kTotalUserCount; + return record.queryCharacterCount < freeCount; } -- (void)resetQueryCount { - [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:kQueryCountKey]; +/// New user means query count<100 +- (BOOL)isNewUser { + return self.queryCount < 100; } #pragma mark - Query character count -- (void)saveQueryCharacterCount:(NSInteger)count { +- (void)setQueryCharacterCount:(NSInteger)count { [[NSUserDefaults standardUserDefaults] setInteger:count forKey:kQueryCharacterCountKey]; } @@ -195,6 +220,52 @@ - (NSInteger)queryCharacterCount { return [[NSUserDefaults standardUserDefaults] integerForKey:kQueryCharacterCountKey]; } +#pragma mark - Query count + +- (NSInteger)queryCount { + return [[NSUserDefaults standardUserDefaults] integerForKey:kQueryCountKey]; +} + +- (void)setQueryCount:(NSInteger)queryCount { + [[NSUserDefaults standardUserDefaults] setInteger:queryCount forKey:kQueryCountKey]; +} + +#pragma mark - Query service count + +- (EZQueryServiceRecord *)recordWithServiceType:(EZServiceType)serviceType { + NSMutableDictionary *mdict = [self.queryServiceRecordDict mutableCopy]; + if (!mdict) { + mdict = [NSMutableDictionary dictionary]; + } + + EZQueryServiceRecord *record = [EZQueryServiceRecord mj_objectWithKeyValues:mdict[serviceType]]; + if (!record) { + record = [[EZQueryServiceRecord alloc] initWithServiceType:serviceType queryCount:0 queryCharacterCount:0]; + [self setQueryServiceRecord:record serviceType:serviceType]; + } + + return record; +} + +- (void)setQueryServiceRecord:(EZQueryServiceRecord *)record serviceType:(EZServiceType)serviceType { + NSMutableDictionary *mdict = [self.queryServiceRecordDict mutableCopy]; + if (!mdict) { + mdict = [NSMutableDictionary dictionary]; + } + mdict[serviceType] = [record mj_keyValues]; + self.queryServiceRecordDict = mdict; +} + +- (NSDictionary *)queryServiceRecordDict { + NSDictionary *dict = [[NSUserDefaults standardUserDefaults] objectForKey:kQueryServiceRecordKey]; + return dict; +} + +- (void)setQueryServiceRecordDict:(NSDictionary *)queryServiceRecordDict { + [[NSUserDefaults standardUserDefaults] setObject:queryServiceRecordDict forKey:kQueryServiceRecordKey]; +} + + #pragma mark - /** diff --git a/Easydict/Feature/ViewController/Storage/QueryServiceRecord.swift b/Easydict/Feature/ViewController/Storage/QueryServiceRecord.swift new file mode 100644 index 000000000..3c0dec96d --- /dev/null +++ b/Easydict/Feature/ViewController/Storage/QueryServiceRecord.swift @@ -0,0 +1,24 @@ +// +// QueryServiceRecord.swift +// Easydict +// +// Created by tisfeng on 2023/12/13. +// Copyright © 2023 izual. All rights reserved. +// + +import Foundation + +@objc(EZQueryServiceRecord) +public class QueryServiceRecord: NSObject { + @objc var serviceType: ServiceType = .apple + @objc var queryCount = 0 + @objc var queryCharacterCount = 0 + + @objc override public init() {} + + @objc init(serviceType: ServiceType = .apple, queryCount: Int = 0, queryCharacterCount: Int = 0) { + self.serviceType = serviceType + self.queryCount = queryCount + self.queryCharacterCount = queryCharacterCount + } +} diff --git a/Easydict/Feature/ViewController/View/CustomButton/EZReplaceTextButton/EZReplaceTextButton.m b/Easydict/Feature/ViewController/View/CustomButton/EZReplaceTextButton/EZReplaceTextButton.m index 7836f750a..749219256 100644 --- a/Easydict/Feature/ViewController/View/CustomButton/EZReplaceTextButton/EZReplaceTextButton.m +++ b/Easydict/Feature/ViewController/View/CustomButton/EZReplaceTextButton/EZReplaceTextButton.m @@ -1,6 +1,6 @@ // // EZReplaceTextButton.m -// +// // // Created by tisfeng on 2023/10/13. // @@ -40,7 +40,7 @@ - (void)replaceSelectedText:(NSString *)replacementString { NSRunningApplication *app = NSWorkspace.sharedWorkspace.frontmostApplication; NSString *bundleID = app.bundleIdentifier; NSString *textLengthRange = [EZLog textLengthRange:replacementString]; - + NSDictionary *parameters = @{ @"floating_window_type" : @(EZWindowManager.shared.floatingWindowType), @"app_name" : app.localizedName, @@ -51,11 +51,8 @@ - (void)replaceSelectedText:(NSString *)replacementString { EZAppleScriptManager *appleScriptManager = [EZAppleScriptManager shared]; if ([appleScriptManager isKnownBrowser:bundleID]) { - [appleScriptManager replaceBrowserSelectedText:replacementString bundleID:bundleID completion:^(NSString * _Nullable result, NSError * _Nullable error) { - if (error) { - [self replaceSelectedTextByKey:replacementString]; - } - }]; + // Since browser environment is complex, use AppleScript to replace text may fail, so use key event to replace text. + [self replaceSelectedTextByKey:replacementString]; } else { [self replaceSelectedTextByAccessibility:replacementString]; } @@ -87,11 +84,15 @@ - (void)replaceSelectedTextByKey:(NSString *)replacementString { MMLogInfo(@"Use Cmd+V to replace selected text, App: %@", app.localizedName); NSString *lastText = [EZSystemUtility getLastPasteboardText]; - - [replacementString copyToPasteboard]; - [EZSystemUtility postPasteEvent]; + [replacementString copyToPasteboard]; - [lastText copyToPasteboard]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(EZGetClipboardTextDelayTime * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [EZSystemUtility postPasteEvent]; + + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(EZGetClipboardTextDelayTime * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + [lastText copyToPasteboard]; + }); + }); } @end diff --git a/Easydict/Feature/ViewController/View/ResultView/EZResultView.m b/Easydict/Feature/ViewController/View/ResultView/EZResultView.m index ef20d375f..d4e243f53 100644 --- a/Easydict/Feature/ViewController/View/ResultView/EZResultView.m +++ b/Easydict/Feature/ViewController/View/ResultView/EZResultView.m @@ -314,7 +314,7 @@ - (void)updateAllButtonStatus { - (void)updateErrorImage { BOOL hideWarningImage = YES; - if (!self.result.hasTranslatedResult && (self.result.error || self.result.errorType || self.result.errorMessage.length)) { + if (!self.result.hasTranslatedResult && self.result.error.type) { hideWarningImage = NO; } self.errorImageView.hidden = hideWarningImage; diff --git a/Easydict/Feature/ViewController/View/TextView/EZTextView.m b/Easydict/Feature/ViewController/View/TextView/EZTextView.m index 8d96db67f..ba8edbc24 100644 --- a/Easydict/Feature/ViewController/View/TextView/EZTextView.m +++ b/Easydict/Feature/ViewController/View/TextView/EZTextView.m @@ -113,6 +113,11 @@ - (void)pasteAsPlainText:(id)sender { NSString *pasteboardString = [pasteboard stringForType:stringType]; pasteboardString = [pasteboardString trim]; + // pasteboardString may be nil + if (!pasteboardString) { + return; + } + BOOL enableModifyParagraphSpacing = NO; // Empty text. diff --git a/Easydict/Feature/ViewController/View/WordResultView/EZWordResultView.m b/Easydict/Feature/ViewController/View/WordResultView/EZWordResultView.m index 6f415b959..10268c06b 100644 --- a/Easydict/Feature/ViewController/View/WordResultView/EZWordResultView.m +++ b/Easydict/Feature/ViewController/View/WordResultView/EZWordResultView.m @@ -84,11 +84,13 @@ - (void)refreshWithResult:(EZQueryResult *)result { NSFont *typeTextFont = [NSFont systemFontOfSize:13 * self.fontSizeRatio weight:NSFontWeightMedium]; NSFont *textFont = typeTextFont; - NSString *errorDescription = result.error.localizedDescription; - if (result.errorMessage.length) { - errorDescription = [errorDescription stringByAppendingFormat:@"\n\n%@", result.errorMessage]; + EZError *error = result.error; + NSString *errorDescription = error.localizedDescription; + NSString *errorDataMessage = error.errorDataMessage; + if (errorDataMessage.length) { + errorDescription = [errorDescription stringByAppendingFormat:@"\n\n%@", errorDataMessage]; if (!errorDescription && !result.hasTranslatedResult) { - errorDescription = result.errorMessage; + errorDescription = errorDataMessage; } } @@ -123,7 +125,7 @@ - (void)refreshWithResult:(EZQueryResult *)result { lastView = bigWordLabel; } - if (result.translatedResults.count || errorDescription.length > 0 || result.noResultsFound) { + if (result.translatedResults.count || errorDescription.length > 0) { EZLabel *explainLabel; __block CGFloat exceptedWidth = 0; CGFloat explainTextFieldTopOffset = 9; @@ -220,7 +222,7 @@ - (void)refreshWithResult:(EZQueryResult *)result { lastView = resultLabel; } - if (result.promptTitle.length && result.promptURL.length) { + if (result.promptURL.length) { NSTextField *promptTextField = [[NSTextField new] mm_put:^(NSTextField *_Nonnull textField) { [self addSubview:textField]; textField.stringValue = NSLocalizedString(@"please_look", nil); @@ -247,7 +249,9 @@ - (void)refreshWithResult:(EZQueryResult *)result { EZBlueTextButton *promptButton = [[EZBlueTextButton alloc] init]; [self addSubview:promptButton]; - [promptButton setTitle:result.promptTitle]; + + NSString *title = result.promptTitle.length ? result.promptTitle : result.promptURL; + [promptButton setTitle:title]; promptButton.openURL = result.promptURL; [promptButton mas_makeConstraints:^(MASConstraintMaker *make) { @@ -274,7 +278,7 @@ - (void)refreshWithResult:(EZQueryResult *)result { [self updateWebViewHeight:scrollHeight]; }]; - + [self.webView mas_makeConstraints:^(MASConstraintMaker *make) { CGFloat topOffset = 0; @@ -323,15 +327,17 @@ - (void)refreshWithResult:(EZQueryResult *)result { // 部分没有音标文本 EZLabel *phoneticLabel = nil; - if (obj.value.length) { + + // Fix: SIGABRT: -[NSNull length]: unrecognized selector sent to instance 0x7ff85c514b40 + NSString *phonetic = obj.value; + if ([phonetic isKindOfClass:NSString.class] && phonetic.length) { phoneticLabel = [[EZLabel alloc] init]; [self addSubview:phoneticLabel]; phoneticLabel.textContainer.lineFragmentPadding = 0; phoneticLabel.font = [NSFont systemFontOfSize:textFont.pointSize * self.fontSizeRatio]; // ???: WTF, why Baidu phonetic contain '\n', e.g. ceil "siːl\n" - NSString *phonetic = [obj.value trim]; - phoneticLabel.text = [NSString stringWithFormat:@"/ %@ /", phonetic]; + phoneticLabel.text = [NSString stringWithFormat:@"/ %@ /", phonetic.trim]; [phoneticLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(phoneticTagLabel.mas_right).offset(kHorizontalMargin_8); make.centerY.equalTo(phoneticTagLabel); @@ -501,7 +507,7 @@ - (void)refreshWithResult:(EZQueryResult *)result { NSString *text = [NSString mm_stringByCombineComponents:obj.means separatedString:@"; "]; meanLabel.text = text; meanLabel.delegate = self; - + [meanLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(self).offset(-kHorizontalMargin_8); exceptedWidth += kHorizontalMargin_8; @@ -815,14 +821,14 @@ - (void)refreshWithResult:(EZQueryResult *)result { NSString *text = result.copiedText; // For some special case, copied text language is not the queryTargetLanguage, like 龘, Youdao translate. - EZLanguage language = [EZAppleService.shared detectText:text];; + EZLanguage language = [EZAppleService.shared detectText:text]; if ([result.serviceType isEqualToString:EZServiceTypeOpenAI]) { language = result.to; } EZServiceType defaultTTSServiceType = EZConfiguration.shared.defaultTTSServiceType; EZQueryService *defaultTTSService = [EZServiceTypes.shared serviceWithType:defaultTTSServiceType]; - + [result.service.audioPlayer playTextAudio:text language:language accent:nil @@ -881,7 +887,7 @@ - (void)refreshWithResult:(EZQueryResult *)result { toolTip = NSLocalizedString(@"open_in_apple_dictionary", nil); } linkButton.toolTip = toolTip; - + linkButton.link = [result.service wordLink:result.queryModel]; [linkButton excuteLight:^(NSButton *linkButton) { @@ -899,6 +905,7 @@ - (void)refreshWithResult:(EZQueryResult *)result { EZReplaceTextButton *replaceTextButton = [[EZReplaceTextButton alloc] init]; [self addSubview:replaceTextButton]; replaceTextButton.hidden = !result.showReplaceButton; + replaceTextButton.enabled = hasTranslatedText; self.replaceTextButton = replaceTextButton; [replaceTextButton setClickBlock:^(EZButton *button) { @@ -1075,13 +1082,13 @@ - (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSStrin /** 在收到响应后,决定是否跳转 */ - (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler { -// NSLog(@"decidePolicyForNavigationResponse: %@", navigationResponse.response.URL.absoluteString); - + // NSLog(@"decidePolicyForNavigationResponse: %@", navigationResponse.response.URL.absoluteString); + // 这里可以查看页面内部的网络请求,并做出相应的处理 // navigationResponse 包含了请求的相关信息,你可以通过它来获取请求的 URL、请求方法、请求头等信息 // decisionHandler 是一个回调,你可以通过它来决定是否允许这个请求发送 - - + + //允许跳转 decisionHandler(WKNavigationResponsePolicyAllow); //不允许跳转 @@ -1090,14 +1097,14 @@ - (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNaviga /** 接收到服务器跳转请求即服务重定向时之后调用 */ - (void)webView:(WKWebView *)webView didReceiveServerRedirectForProvisionalNavigation:(WKNavigation *)navigation { -// NSLog(@"didReceiveServerRedirectForProvisionalNavigation: %@", webView.URL.absoluteURL); + // NSLog(@"didReceiveServerRedirectForProvisionalNavigation: %@", webView.URL.absoluteURL); } /** 收到服务器响应后,在发送请求之前,决定是否跳转 */ - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler { NSURL *navigationActionURL = navigationAction.request.URL; - NSLog(@"decidePolicyForNavigationAction URL: %@", navigationActionURL); - + // NSLog(@"decidePolicyForNavigationAction URL: %@", navigationActionURL); + /** If URL has a prefix "x-dictionary", means this is a Apple Dictionary URI scheme. Docs: https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/DictionaryServicesProgGuide/schema/schema.html @@ -1106,7 +1113,7 @@ - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigati */ if ([navigationActionURL.scheme isEqualToString:kAppleDictionaryURIScheme]) { NSLog(@"Open URI: %@", navigationActionURL); - + NSString *hrefText = [navigationActionURL.absoluteString decode]; [self getTextWithHref:hrefText completionHandler:^(NSString *text) { @@ -1117,7 +1124,7 @@ - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigati } }]; -// [[NSWorkspace sharedWorkspace] openURL:navigationActionURL]; + // [[NSWorkspace sharedWorkspace] openURL:navigationActionURL]; decisionHandler(WKNavigationActionPolicyCancel); return; @@ -1133,23 +1140,23 @@ - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigati - (void)updateWebViewHeight:(CGFloat)scrollHeight { // Cost ~0.15s -// NSString *script = @"document.documentElement.scrollHeight;"; - + // NSString *script = @"document.documentElement.scrollHeight;"; + NSLog(@"scrollHeight: %.1f", scrollHeight); CGFloat visibleFrameHeight = EZLayoutManager.shared.screen.visibleFrame.size.height; CGFloat maxHeight = visibleFrameHeight * 0.55; - + EZBaseQueryWindow *floatingWindow = EZWindowManager.shared.floatingWindow; EZBaseQueryViewController *queryViewController = floatingWindow.queryViewController; if (queryViewController.services.count == 1) { maxHeight = visibleFrameHeight - floatingWindow.height - self.bottomViewHeight; } - + // Fix strange white line CGFloat webViewHeight = ceil(MIN(maxHeight, scrollHeight)); CGFloat viewHeight = self.bottomViewHeight + webViewHeight; - + /** Improve scrollable height: @@ -1179,19 +1186,19 @@ - (void)updateWebViewHeight:(CGFloat)scrollHeight { take: 1971476 */ -// CGFloat delayShowingTime = self.result.HTMLString.length / 1000000.0; -// NSLog(@"Delay showing time: %.2f", delayShowingTime); + // CGFloat delayShowingTime = self.result.HTMLString.length / 1000000.0; + // NSLog(@"Delay showing time: %.2f", delayShowingTime); // !!!: Must update view height, then update cell height. - + if (self.updateViewHeightBlock) { self.updateViewHeightBlock(viewHeight); } - + // Notify tableView to update cell height. [queryViewController updateCellWithResult:self.result reloadData:NO]; - + [self fetchWebViewAllIframeText:^(NSString *text) { self.result.copiedText = text; @@ -1216,7 +1223,7 @@ - (void)updateWebViewBackgroundColorWithDarkMode:(BOOL)isDark { NSString *backgroundColorString = isDark ? darkBackgroundColorString : lightBackgroundColorString; NSString *updateBodyColorJSCode = [self jsCodeOfUpdateBodyTextColor:textColorString backgroundColor:backgroundColorString]; - NSString *updateIframeColorJSCode = [self jsCodeOfUpdateAllIframeTextColor:textColorString backgroundColor:backgroundColorString]; + NSString *updateIframeColorJSCode = [self jsCodeOfUpdateAllIframeTextColor:textColorString backgroundColor:backgroundColorString]; NSString *jsCode = [NSString stringWithFormat:@"%@ %@", updateBodyColorJSCode, updateIframeColorJSCode]; @@ -1226,13 +1233,13 @@ - (void)updateWebViewBackgroundColorWithDarkMode:(BOOL)isDark { - (NSString *)jsCodeOfUpdateAllIframeTextColor:(NSString *)color backgroundColor:(NSString *)backgroundColor { NSString *jsCode = [NSString stringWithFormat:@"" - "var iframes = document.querySelectorAll('iframe');" - "for (var i = 0; i < iframes.length; i++) {" - " iframes[i].contentDocument.body.style.webkitTextFillColor = '%@';" - " iframes[i].contentDocument.body.style.backgroundColor = '%@';" - "};", color, backgroundColor]; + "var iframes = document.querySelectorAll('iframe');" + "for (var i = 0; i < iframes.length; i++) {" + " iframes[i].contentDocument.body.style.webkitTextFillColor = '%@';" + " iframes[i].contentDocument.body.style.backgroundColor = '%@';" + "};", color, backgroundColor]; - return jsCode;; + return jsCode; } - (NSString *)jsCodeOfUpdateBodyTextColor:(NSString *)color backgroundColor:(NSString *)backgroundColor { @@ -1241,7 +1248,7 @@ - (NSString *)jsCodeOfUpdateBodyTextColor:(NSString *)color backgroundColor:(NSS @"document.body.style.backgroundColor='%@';" , color, backgroundColor]; - return jsCode;; + return jsCode; } - (NSString *)jsCodeOfUpdateStyleHeight:(CGFloat)height { @@ -1296,21 +1303,21 @@ - (void)fetchWebViewAllIframeText:(void (^_Nullable)(NSString *text))completionH - (void)getTextWithHref:(NSString *)href completionHandler:(void (^_Nullable)(NSString *text))completionHandler { NSString *jsCode = [NSString stringWithFormat: - @"var iframes = document.querySelectorAll('iframe');" - @"var linkText = '';" - @"for (var i = 0; i < iframes.length; i++) {" - @" var iframe = iframes[i];" - @" var linkElement = iframe.contentWindow.document.querySelector('a[href=\"%@\"]');" - @" if (linkElement) {" - @" linkText = linkElement.innerText;" - @" break;" - @" }" - @"}" - @"linkText;", href]; + @"var iframes = document.querySelectorAll('iframe');" + @"var linkText = '';" + @"for (var i = 0; i < iframes.length; i++) {" + @" var iframe = iframes[i];" + @" var linkElement = iframe.contentWindow.document.querySelector('a[href=\"%@\"]');" + @" if (linkElement) {" + @" linkText = linkElement.innerText;" + @" break;" + @" }" + @"}" + @"linkText;", href]; [self evaluateJavaScript:jsCode completionHandler:^(id result, NSError *error) { if (!error) { - NSString *linkText = (NSString *)result; + NSString *linkText = (NSString *)result; completionHandler(linkText); } }]; diff --git a/Easydict/Feature/ViewController/Window/BaseQueryWindow/EZBaseQueryViewController.m b/Easydict/Feature/ViewController/Window/BaseQueryWindow/EZBaseQueryViewController.m index f11946976..4971185fc 100644 --- a/Easydict/Feature/ViewController/Window/BaseQueryWindow/EZBaseQueryViewController.m +++ b/Easydict/Feature/ViewController/Window/BaseQueryWindow/EZBaseQueryViewController.m @@ -678,7 +678,6 @@ - (void)queryAllSerives:(EZQueryModel *)queryModel { } [[EZLocalStorage shared] increaseQueryCount:self.inputText]; - [EZLog logQuery:queryModel]; // Auto play query text if it is an English word. [self autoPlayEnglishWordAudio]; @@ -691,8 +690,9 @@ - (void)queryWithModel:(EZQueryModel *)queryModel if (error) { NSLog(@"query error: %@", error); } - result.error = error; + result.error = [EZError errorWithNSError:error]; + // Auto convert to traditional Chinese if needed. if (service.autoConvertTraditionalChinese && [self.queryModel.queryTargetLanguage isEqualToString:EZLanguageTraditionalChinese]) { [service.result convertToTraditionalChineseResult]; @@ -735,12 +735,9 @@ - (void)queryWithModel:(EZQueryModel *)queryModel [self updateResultLoadingAnimation:result]; - [service translate:queryModel.queryText - from:queryModel.queryFromLanguage - to:queryModel.queryTargetLanguage - completion:completion]; + [service startQuery:queryModel completion:completion]; - [EZLog logQueryService:service]; + [EZLocalStorage.shared increaseQueryService:service]; } - (void)updateResultLoadingAnimation:(EZQueryResult *)result { @@ -1038,9 +1035,10 @@ - (EZQueryResult *)resetServiceResult:(EZQueryService *)service { NSArray *enabledReplaceTypes = @[ EZActionTypeAutoSelectQuery, EZActionTypeShortcutQuery, + EZActionTypeInvokeQuery, ]; if ([enabledReplaceTypes containsObject:self.queryModel.actionType]) { - result.showReplaceButton = EZEventMonitor.shared.isTextEditable; + result.showReplaceButton = EZEventMonitor.shared.isSelectedTextEditable; } else { result.showReplaceButton = NO; } diff --git a/Easydict/Feature/ViewController/Window/WindowManager/EZWindowManager.m b/Easydict/Feature/ViewController/Window/WindowManager/EZWindowManager.m index 26013e8f1..d0e847786 100644 --- a/Easydict/Feature/ViewController/Window/WindowManager/EZWindowManager.m +++ b/Easydict/Feature/ViewController/Window/WindowManager/EZWindowManager.m @@ -327,6 +327,11 @@ - (void)showFloatingWindowType:(EZWindowType)windowType self.selectedText = queryText; self.actionType = actionType; + // Update isTextEditable value when using invoke query, such as open URL Scheme by PopClip. + if (actionType == EZActionTypeInvokeQuery) { + [self.eventMonitor updateSelectedTextEditableState]; + } + EZBaseQueryWindow *window = [self windowWithType:windowType]; // If text is nil, means we don't need to query anything, just show the window. diff --git a/EasydictTests/EasydictTests.m b/EasydictTests/EasydictTests.m index 8728c5dc8..df1c0372f 100644 --- a/EasydictTests/EasydictTests.m +++ b/EasydictTests/EasydictTests.m @@ -43,7 +43,7 @@ - (void)testDetectLanguage { for (NSString *word in words) { if (!word.length) { - continue;; + continue; } EZLanguage language = [self.appleService detectText:word]; diff --git a/Podfile b/Podfile index f48abf7f5..f91b37ba0 100644 --- a/Podfile +++ b/Podfile @@ -22,6 +22,9 @@ target 'Easydict' do pod 'FirebaseAnalytics', '~> 10.19.0' pod 'AppCenter', '~> 5.0.4' + # Swift format + pod 'SwiftFormat/CLI', '~> 0.52.11' + end target 'EasydictTests' do diff --git a/Podfile.lock b/Podfile.lock index b2209c98a..c5d605edf 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -106,6 +106,7 @@ PODS: - ReactiveObjC (3.1.1) - Sparkle (2.5.1) - SSZipArchive (2.2.3) + - SwiftFormat/CLI (0.52.11) DEPENDENCIES: - AFNetworking (~> 3.2.1) @@ -121,6 +122,7 @@ DEPENDENCIES: - ReactiveObjC (~> 3.1.1) - Sparkle (~> 2.5.1) - SSZipArchive (~> 2.2.2) + - SwiftFormat/CLI (~> 0.52.11) SPEC REPOS: https://github.com/CocoaPods/Specs.git: @@ -144,6 +146,7 @@ SPEC REPOS: - ReactiveObjC - Sparkle - SSZipArchive + - SwiftFormat SPEC CHECKSUMS: AFNetworking: cb604b1c2bded0871f5f61f5d53653739e841d6b @@ -166,7 +169,8 @@ SPEC CHECKSUMS: ReactiveObjC: 011caa393aa0383245f2dcf9bf02e86b80b36040 Sparkle: ce9957501a2655dd4c8264312c6134ff478a777c SSZipArchive: 62d4947b08730e4cda640473b0066d209ff033c9 + SwiftFormat: 2ca3d0b75754193f0f3ba532291f25ae08dd1e42 -PODFILE CHECKSUM: 51bde15eda05e890329323762bffae270ea35fca +PODFILE CHECKSUM: a35287f08d36ebe90dd9f3362e15bf7aaeeaf0f5 COCOAPODS: 1.14.2 diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock index b2209c98a..c5d605edf 100644 --- a/Pods/Manifest.lock +++ b/Pods/Manifest.lock @@ -106,6 +106,7 @@ PODS: - ReactiveObjC (3.1.1) - Sparkle (2.5.1) - SSZipArchive (2.2.3) + - SwiftFormat/CLI (0.52.11) DEPENDENCIES: - AFNetworking (~> 3.2.1) @@ -121,6 +122,7 @@ DEPENDENCIES: - ReactiveObjC (~> 3.1.1) - Sparkle (~> 2.5.1) - SSZipArchive (~> 2.2.2) + - SwiftFormat/CLI (~> 0.52.11) SPEC REPOS: https://github.com/CocoaPods/Specs.git: @@ -144,6 +146,7 @@ SPEC REPOS: - ReactiveObjC - Sparkle - SSZipArchive + - SwiftFormat SPEC CHECKSUMS: AFNetworking: cb604b1c2bded0871f5f61f5d53653739e841d6b @@ -166,7 +169,8 @@ SPEC CHECKSUMS: ReactiveObjC: 011caa393aa0383245f2dcf9bf02e86b80b36040 Sparkle: ce9957501a2655dd4c8264312c6134ff478a777c SSZipArchive: 62d4947b08730e4cda640473b0066d209ff033c9 + SwiftFormat: 2ca3d0b75754193f0f3ba532291f25ae08dd1e42 -PODFILE CHECKSUM: 51bde15eda05e890329323762bffae270ea35fca +PODFILE CHECKSUM: a35287f08d36ebe90dd9f3362e15bf7aaeeaf0f5 COCOAPODS: 1.14.2 diff --git a/Pods/Pods.xcodeproj/project.pbxproj b/Pods/Pods.xcodeproj/project.pbxproj index 0bb55f775..d42f46b53 100644 --- a/Pods/Pods.xcodeproj/project.pbxproj +++ b/Pods/Pods.xcodeproj/project.pbxproj @@ -7,6 +7,15 @@ objects = { /* Begin PBXAggregateTarget section */ + 1CD0618C486973D5588EF20D2E8C0AEA /* SwiftFormat */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 6B2B7DF197DF6A7CA487150557230A41 /* Build configuration list for PBXAggregateTarget "SwiftFormat" */; + buildPhases = ( + ); + dependencies = ( + ); + name = SwiftFormat; + }; A3282A5B2437E609EEB85861D7ECE717 /* AppCenter */ = { isa = PBXAggregateTarget; buildConfigurationList = 5242D03FC5C1EAA4F817066052F80607 /* Build configuration list for PBXAggregateTarget "AppCenter" */; @@ -19,13 +28,13 @@ }; B53D977A951AFC38B21751B706C1DF83 /* GoogleAppMeasurement */ = { isa = PBXAggregateTarget; - buildConfigurationList = 29C79C37EF8E4B36CFAEFB387F0F0AA8 /* Build configuration list for PBXAggregateTarget "GoogleAppMeasurement" */; + buildConfigurationList = 7A95A43F0AF95493CA77391D4D8C1FBC /* Build configuration list for PBXAggregateTarget "GoogleAppMeasurement" */; buildPhases = ( - D815A93A8D74AA895507EA8BF6B77242 /* [CP] Copy XCFrameworks */, + 9AAC30B184A9031FCED5484923D3AD91 /* [CP] Copy XCFrameworks */, ); dependencies = ( - 861B08A0C54C285ECB30DAD1D7D63008 /* PBXTargetDependency */, - 3970311367F47A43C4FB8A4EB5E6C439 /* PBXTargetDependency */, + 866018C2922349D976E2A124225BAD77 /* PBXTargetDependency */, + F4736D37E369BA6D69FDB1883DABBE9E /* PBXTargetDependency */, ); name = GoogleAppMeasurement; }; @@ -36,11 +45,11 @@ 8C5B5926777AB8C2838BC915F74F1BC1 /* [CP] Copy XCFrameworks */, ); dependencies = ( - DA0A6D28CFCBA08BF7435064108547BE /* PBXTargetDependency */, - D98AE70F2031EB098703C000ADC48339 /* PBXTargetDependency */, - 7F638950736B1521C707A34766A15FA0 /* PBXTargetDependency */, - 77F623880103ED61FCB26B7FA7FAC61C /* PBXTargetDependency */, - EFE7F6D5C8B26CF42EC4E15448212EA7 /* PBXTargetDependency */, + ECFDCEF8F93C562CA49F166E92B44523 /* PBXTargetDependency */, + 22009A41713836CEDA21CBC7ED4EBA05 /* PBXTargetDependency */, + 6BD97CE664536B0531A83F74E7710D78 /* PBXTargetDependency */, + 9C7321F75711435715C54E172DCAB5A3 /* PBXTargetDependency */, + A12FF3D47E43927B48291647EED6F436 /* PBXTargetDependency */, ); name = FirebaseAnalytics; }; @@ -56,1681 +65,1690 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 008CC7F8BC9F08506C96979B0C3CCE88 /* FIRLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CACEFE523636B0E3F1CD85D9BAC700A /* FIRLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0141E916DBB77A535B3C8DDA3A1152EB /* MASDictionaryTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = CB7927834E3BF41B37968ED4F1C3A9CB /* MASDictionaryTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0190C8AFABE58BAFDF40CB7BF72D27B0 /* GULSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = F03DDD6227E2167782531237A2A69A35 /* GULSwizzler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 01C71B51D3A2D41135BC2DB8A00680F3 /* FIRComponentContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = C1FA6D3608326AA91049B37E82C61EB4 /* FIRComponentContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 02233F20F0DFBCDCA6341A4B064A85AD /* FIRInstallationsAuthTokenResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D70F6EB50DF3DEC7CEC430A41AD18CF /* FIRInstallationsAuthTokenResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0288BE9F2193466D8D03AD6C782D2159 /* JLRRouteDefinition.h in Headers */ = {isa = PBXBuildFile; fileRef = 622D369A406F6CA6145C6C4741350A8C /* JLRRouteDefinition.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 02A998B2C651F3A8A815362C499713E6 /* FIRConfigurationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E4C0CD5719D393384A145CF7CEEEFB2 /* FIRConfigurationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 02AD91C5250ED7D91B06BEAC91A5E507 /* mz_os.h in Headers */ = {isa = PBXBuildFile; fileRef = 268F9B8A21FBF2D37B842192A8FF46DE /* mz_os.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 02FA3CE6E4354729F82AB52059990D58 /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AEB2A453B35A48BDED6ADB1BF77F47E /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 031E96C37FCD4E19D118DD165B6105DD /* GULNetworkInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FE5F0A026371167057EBDAF8BFE254E1 /* GULNetworkInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0386399A2F9E2A44401AE722E4332003 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FE0B3255323E0D372AE2C3B4D4DC788 /* MASLayoutConstraint.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 03C3E87C0142126F696756F980C5997D /* DDFileLogger+Buffering.h in Headers */ = {isa = PBXBuildFile; fileRef = D08501C5C80F626DF32612687C6C0E0B /* DDFileLogger+Buffering.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0514DD3B26BEFD1C17E3173DFE0B30AF /* NSControl+RACCommandSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = C814DC6B706488C031C32396F29245B8 /* NSControl+RACCommandSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 05659BC3887625C4AD8ADEB4175CCC5A /* FBLPromise+Catch.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FBD1BA5C0CB9B63663F882D145A4A1E /* FBLPromise+Catch.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 059332136CAAB8014F2099D6AC105162 /* mz_strm_split.h in Headers */ = {isa = PBXBuildFile; fileRef = 50D1EBC998B6F1F1A8E5CC3A2376470B /* mz_strm_split.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 05C2890E40EEBB079D0785AC83BE82CA /* NSObject+RACLifting.h in Headers */ = {isa = PBXBuildFile; fileRef = 0262A4B7DACA86380992204940EA8668 /* NSObject+RACLifting.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 010FED8B8EF12070170DCAF366003E7B /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 790BD6248FBDA5CB1CA516A6BB81FAAF /* Security.framework */; }; + 0141E916DBB77A535B3C8DDA3A1152EB /* MASDictionaryTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DBC28B410E6D882752DBD0FD7268A67 /* MASDictionaryTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0288BE9F2193466D8D03AD6C782D2159 /* JLRRouteDefinition.h in Headers */ = {isa = PBXBuildFile; fileRef = 8332D4067950F9C3F2FCB72122BBD101 /* JLRRouteDefinition.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 02AD91C5250ED7D91B06BEAC91A5E507 /* mz_os.h in Headers */ = {isa = PBXBuildFile; fileRef = 87D95C217008751659A5E22A916DF7C8 /* mz_os.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 02FA3CE6E4354729F82AB52059990D58 /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 675425C34D81039EB4E0B2D94E7BC446 /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0386399A2F9E2A44401AE722E4332003 /* MASLayoutConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3702B9107B55ED3E30F29768615DF836 /* MASLayoutConstraint.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 03C3E87C0142126F696756F980C5997D /* DDFileLogger+Buffering.h in Headers */ = {isa = PBXBuildFile; fileRef = 9ADBDEA38C71D02602FCB48F1C5B961A /* DDFileLogger+Buffering.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0431DB05B4B617C62678E8F976440239 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; + 0514DD3B26BEFD1C17E3173DFE0B30AF /* NSControl+RACCommandSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = D1135818C1EB691A323D7D1F94327202 /* NSControl+RACCommandSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0542328DDE14EE114ECBAD75F7F6663F /* FIRInstallationsErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = D4D9F0D4E60EFBF91EC058208FB4F4FE /* FIRInstallationsErrors.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0587C12497CE2FD9B88B8A433CD95824 /* FIRConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = E47F4E7A23DEFD11EB98985979D3BDA6 /* FIRConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 059332136CAAB8014F2099D6AC105162 /* mz_strm_split.h in Headers */ = {isa = PBXBuildFile; fileRef = 428A30F6953C9758D81238BCA2C1F272 /* mz_strm_split.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 05A83C90873359548F0BFDCA99648C69 /* GULSceneDelegateSwizzler_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 07F30AF02159CA4C3AEFDE62EBB710F3 /* GULSceneDelegateSwizzler_Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 05C2890E40EEBB079D0785AC83BE82CA /* NSObject+RACLifting.h in Headers */ = {isa = PBXBuildFile; fileRef = EE001557DAF31FD0CC5D592A434E8C07 /* NSObject+RACLifting.h */; settings = {ATTRIBUTES = (Public, ); }; }; 06E689EAE82BAFB010CD741C40221167 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2CC38EAB95AC4B0E4103F60A7133C2A /* Carbon.framework */; }; - 06EE09087204F5800F182BE92AAE97A0 /* FBLPromise+Do.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FFF1E020E59B69AD2341FDF91BE5E8E /* FBLPromise+Do.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 071549FA70DFD91BA41883B77DD8A6F0 /* MASPreferences-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C4946CA25A36F83C837417F32152B01 /* MASPreferences-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 072A708AB75BAA94E21FFFDF24632514 /* GULURLSessionDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 75D7977BBE899334361E2E373A757FAB /* GULURLSessionDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 074609EE3FE31B9DF1A6606D642EE0E7 /* FBLPromise+Wrap.h in Headers */ = {isa = PBXBuildFile; fileRef = B77B3FD89EDDEC87925CD616602BEF99 /* FBLPromise+Wrap.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 07749D3EB0084B5809E8C18D705ACF21 /* MASPreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = C55993BE83DCF8845E3FEAAC667D05FE /* MASPreferencesWindowController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 07E22C0626B43F18D2A05AEDDB55C040 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = E142292B52B18D4B9F52B9266EEA6388 /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 083AB6A254BE09E57EAADE2D5FDF22FC /* NSObject+RACSelectorSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = 66C8BABE9AD7E3A34E46AB676FA8BA4C /* NSObject+RACSelectorSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 09A3A629E8DF45AEA0166BD30804D45A /* RACStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D820805EC2E422F22879E264A2F2EE2 /* RACStream.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 09A9DEA7E3AAC943E5833496B024A58E /* JLRoutes-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = AD864ABF73F4701EBB4B8F808E7A5562 /* JLRoutes-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 09BB49C68986BB73BBC138D20EBCAADB /* NSText+RACSignalSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = D1DDFF1BA98CC0D71AD8F66BC69DC906 /* NSText+RACSignalSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 09BCDC4C9F70510ACFB082B108BC1A07 /* NSObject+RACPropertySubscribing.m in Sources */ = {isa = PBXBuildFile; fileRef = 281ABF2FE9AF3CD99F02927F7EB1B89E /* NSObject+RACPropertySubscribing.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0A5BB43C9613B4A00D6CDA434171C161 /* ReactiveObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = E5532DAD8710DC8EAB1CD5647780B17E /* ReactiveObjC.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0B0FB646E7BCCA90A67CFBA885360B35 /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FBB8EC4A83A10CE1315DD023B0982CED /* Masonry-dummy.m */; }; - 0B37493732E3125036CA21C2EBF8B4D7 /* RACStringSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = A02E798A1992B963DE0A52599A73F281 /* RACStringSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0B5019666EF74D963C418D0E11CCAA49 /* NSSet+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 552B6006E08C25B2465651DF0606D67F /* NSSet+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0B9E20E8BA6351A1D8BA47041736EE59 /* mz_strm_buf.c in Sources */ = {isa = PBXBuildFile; fileRef = 8024EB1569A5AC4631933C2861E42305 /* mz_strm_buf.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0BB508DB89EC77E72AE38194BD58153E /* RACKVOProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3618EFFDF16413FFCB509E6CE61486F2 /* RACKVOProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0BF18B665E2ADAFC886CBBAE9F11E32E /* MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = A1C5030F52C1CC970D3C1FC9D6C21552 /* MJProperty.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0C321C16C2171131ADCDDD6FABB222FB /* ja.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 77F90459830DEFC6FB638C7E74C478AB /* ja.lproj */; }; - 0EF189DC74A38E6448BE199A23E7443F /* GULLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B3B40F6E0F6A637342AF90EEB623F7F /* GULLoggerLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0EF3774AC45C05C24674C6F390E4B571 /* mz_strm_os.h in Headers */ = {isa = PBXBuildFile; fileRef = 83AA4DD3F83FDFD25E189CA571D2DFC2 /* mz_strm_os.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F20999DB2E6867904A912A5F83573F5 /* NSUserDefaults+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F176BDD6E6FB57841F257AD3685A042 /* NSUserDefaults+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0F2122C8040ECB8D8FCFEDE1D7244047 /* GULSecureCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = AA231B06CAAC20004BDA9A641C6494B6 /* GULSecureCoding.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 071549FA70DFD91BA41883B77DD8A6F0 /* MASPreferences-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8262A7B8BBE6FE691525EA316333163C /* MASPreferences-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 07749D3EB0084B5809E8C18D705ACF21 /* MASPreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = F529CB57A55B6397CE7B2ECD19EE3C2B /* MASPreferencesWindowController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0789BD6BE484AD4F73DD0AEAF0E80584 /* NSURLSession+GULPromises.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E8609DA89C09834193B698A45055970 /* NSURLSession+GULPromises.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 07A348719B789867F67783951EE3985D /* ko.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 15ADD9E9C6ECE72BA108A16EF729DCB5 /* ko.lproj */; }; + 07E22C0626B43F18D2A05AEDDB55C040 /* MASConstraint+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 88714289F8DBC4AFF89C59E97D5686B0 /* MASConstraint+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 07FC6DCD4D07EF0B3509946BFABA3059 /* FIRConfigurationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E235FB86F929521B6F003A4F02448E4 /* FIRConfigurationInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 083AB6A254BE09E57EAADE2D5FDF22FC /* NSObject+RACSelectorSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = FC8C2E6651F4C13D269FC21522C89BB8 /* NSObject+RACSelectorSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 086EE2D0770A1BB4EF0C9C19FD778224 /* GULAppEnvironmentUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = FE038AFBD3D69796701659E8AD23C166 /* GULAppEnvironmentUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 08C12A6AF41D98739C78D0511D32EA11 /* GULApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = ECB13541CEA71ADCD31E7804C45F7549 /* GULApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 09A3A629E8DF45AEA0166BD30804D45A /* RACStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 382B4672C51C82D9000367A093E57F29 /* RACStream.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 09A9DEA7E3AAC943E5833496B024A58E /* JLRoutes-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A14D53457BAF60E40DCC96DFB085C596 /* JLRoutes-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 09BB49C68986BB73BBC138D20EBCAADB /* NSText+RACSignalSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = C98FC3AB154FE05458C94DA9BE25701A /* NSText+RACSignalSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 09BCDC4C9F70510ACFB082B108BC1A07 /* NSObject+RACPropertySubscribing.m in Sources */ = {isa = PBXBuildFile; fileRef = 91C1918AD43101240A46A509DA60C988 /* NSObject+RACPropertySubscribing.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 09CCBA4ABEE08F93EF36D85B5015D3B0 /* FIRComponentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F05B6E5E8E55313C5F01EE16ABFECEC /* FIRComponentType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0A5BB43C9613B4A00D6CDA434171C161 /* ReactiveObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D8061624702D4BF278437FFBD097B70 /* ReactiveObjC.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0A7C40131C6F1FBC61A532C77B6CC771 /* FirebaseInstallations-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AD3854ADEF6948A5A636DA2784AF270 /* FirebaseInstallations-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0B0FB646E7BCCA90A67CFBA885360B35 /* Masonry-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 85CBB43E97CCF22C8245C717A856BE25 /* Masonry-dummy.m */; }; + 0B37493732E3125036CA21C2EBF8B4D7 /* RACStringSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = F120A88696F0C5DD7FC93EC25FF767AE /* RACStringSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0B49E69109C29E8604C9B5E68504CB05 /* FirebaseInstallations-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D70C59D7A1B2B9CD323277E0AB0E2B05 /* FirebaseInstallations-dummy.m */; }; + 0B5019666EF74D963C418D0E11CCAA49 /* NSSet+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A027C9905E70BDB1F975EA72C2BECEFC /* NSSet+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0B9E20E8BA6351A1D8BA47041736EE59 /* mz_strm_buf.c in Sources */ = {isa = PBXBuildFile; fileRef = 8DB42D57FE417E3901E64C253A37E00E /* mz_strm_buf.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0BB508DB89EC77E72AE38194BD58153E /* RACKVOProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 47A370F3CF81CDD33EEBA4811D3684EB /* RACKVOProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0BF18B665E2ADAFC886CBBAE9F11E32E /* MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = C08B67CD618CE207EA95841264F6265F /* MJProperty.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0C9E5A02EC07D8C009DD30E2EAF69EE6 /* HeartbeatsPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9567610AD1B46AB835BAE4D248FE4B77 /* HeartbeatsPayload.swift */; }; + 0DCB939F27AF4550E3BA1B3C184AAF88 /* GULNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = EA207EB10F7BEB60AD0321A7D614C0BA /* GULNetwork.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0EF3774AC45C05C24674C6F390E4B571 /* mz_strm_os.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C6530194599F9C00ED7D1CCAB132BBA /* mz_strm_os.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F20999DB2E6867904A912A5F83573F5 /* NSUserDefaults+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 432CDBDC78DC209CE4BF6526DD9791A3 /* NSUserDefaults+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0F39E96C39E0B0CB71B268F5FD1AA4CB /* GULSecureCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = F8A92C1A0A3B20E3EA28AB39636B4DB1 /* GULSecureCoding.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0F481D0A96EE9DCE7A6193E47F6DAF8D /* FBLPromise+Always.m in Sources */ = {isa = PBXBuildFile; fileRef = F6CE1F94282B977C8D9AFFA2B10D325F /* FBLPromise+Always.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 0F60B5A390A684C7D939B1A98185A223 /* FIRAnalyticsConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 078280E39F8D48CA347F1812F4325525 /* FIRAnalyticsConfiguration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 1013EC126D12375A685BC607F93626F3 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 102528BAF30B937EE8CD06E109F5A1A3 /* JLRoutes.m in Sources */ = {isa = PBXBuildFile; fileRef = 1324341AA9C409D2BA1F414A46E83A89 /* JLRoutes.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1130FC6C1481C4E8B85BFDDE463188B9 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 790BD6248FBDA5CB1CA516A6BB81FAAF /* Security.framework */; }; - 117E6FBDF33EB74E967000B9848B6821 /* NSObject+FBKVOController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F063CF5CE998E5D8642A929F31C3DB0 /* NSObject+FBKVOController.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 11BBB5143BBA50165ABDE41BBECF9C95 /* ru.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 70E756426EF8EAF367AB108C6C6B7094 /* ru.lproj */; }; - 11D6B62A4B1BF3471A84A9F8C69CFF2F /* NSEnumerator+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 370BC7DF05B1971BAA83B6A1A8322985 /* NSEnumerator+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11EB2B9E36F200A1AB09130BEC4B264D /* DDLoggerNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C47DBCD195D5F791971164A3FFA8F7E /* DDLoggerNames.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1339E6C9911F6C3F413CF37B1DB1207A /* MJFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = BBCC3911D7A93E00A42ED2E5130FDAA4 /* MJFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 137AEF9A7D90D14861DC67D08A9B8285 /* FirebaseCoreInternal-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 711EB7A4C680035497821423687A3CDD /* FirebaseCoreInternal-dummy.m */; }; - 13B6DCF366BC1D9ADEA240F12B7F6C99 /* NSArray+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 800939A243A162BDCAC28EE4A665D206 /* NSArray+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 140E9C8007B136E3019F4D7FBAE762BC /* FirebaseCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = BA934CC95A3611B714CB868FC2E018E2 /* FirebaseCore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 14D54F5B48619E8523FBD57CDE224325 /* RACMulticastConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 969A7F719474238FC75CA27C7CA64CE3 /* RACMulticastConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 15584B80506E4B9C2B8C15970ED0474A /* GULMutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FC6271CC501DA793C9D074DA5712701 /* GULMutableDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 16429745F190530B8B9F0384805AEF0F /* RACBehaviorSubject.h in Headers */ = {isa = PBXBuildFile; fileRef = EDAE432DF79F7967F4091824C7C191E5 /* RACBehaviorSubject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 167EE6824B8B34885CDABFEC9912FE6D /* RACEXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = 458F21944C16118A00971FBCA70DE06D /* RACEXTRuntimeExtensions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 16DA1E0753881A8D6C6B6914182B109D /* NSObject+RACSelectorSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = B5179C62A8E3B5EB181B77B9B31A0A00 /* NSObject+RACSelectorSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 16F88B51CD84CDC0A367EB8754630B94 /* FirebaseInstallations.h in Headers */ = {isa = PBXBuildFile; fileRef = 841A6F60B44FC37BD1406276545861F7 /* FirebaseInstallations.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1709FC4E3A0B4666BB06312BC0928533 /* WeakContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30AF218D2FEB0A0B41611A0F9589A5D4 /* WeakContainer.swift */; }; - 171E0D7B4276864E03B745324F99A4E0 /* JLRRouteDefinition.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C4C4664E8CFAA23183697612E263013 /* JLRRouteDefinition.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 17458A386A9B9040D28CF367006490E0 /* DDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 723D909F99470C28AB4814F3037D6103 /* DDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 184DD69E04094297A9FEE0BA04218F3D /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D68E67D419F6FBD2B27B83316F7F2DB2 /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 195948579E7024F4EDA079C5561FA173 /* GULNetworkURLSession.h in Headers */ = {isa = PBXBuildFile; fileRef = A3E952C6AC5D6CF1F9CB9B1DC26B0E4A /* GULNetworkURLSession.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1A3A48510F5EADB9FB14E0DF45B3AD2F /* MASShortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 52580D434A37F2A8D774DAC21DF337F2 /* MASShortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1A7861C9C253A651196F19F3E4E300DC /* FBLPromise+Recover.m in Sources */ = {isa = PBXBuildFile; fileRef = B8DA71807A6AF2C229ADC226F3AA807C /* FBLPromise+Recover.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1ABD3DA2DE56DBF1B91D47EE8511B71D /* JLRRouteRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 3339057536E15E76F6B3EC49C2AFB74D /* JLRRouteRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1B27AE2125DAD92C0F085A6472EE694D /* GoogleUtilities-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 13B2185577A1A1FDA1EB507BC0486F0C /* GoogleUtilities-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1B83AD8CF159933060B4F757388C4F9B /* FIRInstallationsErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A74BFD268259888998EB3C5ED9A7287 /* FIRInstallationsErrors.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1BC5207ED5AA2B6956BB9CD10C71C1AA /* mz_strm_pkcrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 36D21E0A37040278632063C5A3AEBA38 /* mz_strm_pkcrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1BCA1F0342BB6AB6AADF3A8319E8537C /* NSObject+RACDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DA9642C74CC412BEE1D381309841C71 /* NSObject+RACDescription.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1C02C6CDD6C51CBA8785416876E1CF58 /* fr.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 44D1031E2FDBA75D2F4CCC0AA6E9C4B6 /* fr.lproj */; }; - 1C2DA2FFED3F4B8B580AF311F7EC7B7C /* Shortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FF9E062E5EA5A278A9F02AF14911F14 /* Shortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C59E23513E8D9E53FB5C11507133D5D /* MASKeyMasks.h in Headers */ = {isa = PBXBuildFile; fileRef = 4677F3926E0E7D6AF5AB70A3FA6EDF86 /* MASKeyMasks.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1C789E086190CB49AD3473DD4B26450B /* mz.h in Headers */ = {isa = PBXBuildFile; fileRef = 833BECE6F334B7BA20DA7E45746A1EE6 /* mz.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D5CFD7AF9FF02F4F9C8BA831B74BCB2 /* GULNetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A81294FD761D6936DD1A779D7C60C93 /* GULNetwork.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1D61EC66FF509EE11FD3844B3DD966E9 /* RACTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E2B5FBC518CBFE9A182ADA4C855B164 /* RACTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1E3D006F9735A3432DE863DF1D3EBE3C /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 246007C1BBBBA4F30B91E4299451687F /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F195000D76F5E50003E82488FDAFF21 /* pl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 71AA00C346E1B8DA79411E60F8B596BC /* pl.lproj */; }; - 1F4432060B2C404E90F912576F2A65D9 /* RACValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 40517B8F8B34B1EFA69791ABB072911D /* RACValueTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F4A8853D5BDC90239244C75EA9D516A /* FIRComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 90F9B91976183B343883785BDD9AC363 /* FIRComponent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1F51E0FA541FD9C63D7E5BAE1C2CBC16 /* FIROptions.m in Sources */ = {isa = PBXBuildFile; fileRef = BADE54E823064055147C6EBA4BC98476 /* FIROptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1F609B958FF08B165ED0228D2CD8C95B /* RACUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FDB189ED1C91AE4C768F2D1B4B42E20 /* RACUnit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F9D460616DC9526B323BC29E7F14CC8 /* RACTupleSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 954D80EC120AA74F7DEE0081352B2EAD /* RACTupleSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 102528BAF30B937EE8CD06E109F5A1A3 /* JLRoutes.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BBD2EB2D4B4407C3E45A883D9E3B02 /* JLRoutes.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 108BC6B1AA15319A2FDADAB9122C4AA3 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 58F8F860EA8DF1085E93D2D8544AD638 /* SystemConfiguration.framework */; }; + 10E74043EED4469BAF7AC389CBEB3393 /* FBLPromise+All.h in Headers */ = {isa = PBXBuildFile; fileRef = FF6806FC054052F0C537610DEE67D28C /* FBLPromise+All.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 117E6FBDF33EB74E967000B9848B6821 /* NSObject+FBKVOController.m in Sources */ = {isa = PBXBuildFile; fileRef = 56BCB4658828541122E0011E901BF680 /* NSObject+FBKVOController.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 11D6B62A4B1BF3471A84A9F8C69CFF2F /* NSEnumerator+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = D266AB2087DAC41494C1A83FE2DE43D3 /* NSEnumerator+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 11EB2B9E36F200A1AB09130BEC4B264D /* DDLoggerNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 758BD4DBDBB97BCFAF33A0D6C8FAC2DA /* DDLoggerNames.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1339E6C9911F6C3F413CF37B1DB1207A /* MJFoundation.h in Headers */ = {isa = PBXBuildFile; fileRef = B4197DD19E49234E24B1720AEA3EF4B3 /* MJFoundation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1347CB06E821EB204920E1A014487269 /* FIRInstallationsAPIService.m in Sources */ = {isa = PBXBuildFile; fileRef = C1C683BC460672E84D619553DC2AD42F /* FIRInstallationsAPIService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 13B6DCF366BC1D9ADEA240F12B7F6C99 /* NSArray+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C09EF0B7E8F1C182E8F70877A4B34A55 /* NSArray+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1433200D31E98ABA204D865F1279F4C5 /* GULURLSessionDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 43A2D88D195790929513BFD8C3D7BCB8 /* GULURLSessionDataResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 144C471186A0CC15A7EF0E25C9AE4D97 /* pb_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 697FDEF8A2EBE615EF291EFC2B309806 /* pb_common.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 14D54F5B48619E8523FBD57CDE224325 /* RACMulticastConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D590F6CED67F5EAB8B43A4206C9075A /* RACMulticastConnection.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 155D189BF61FDB2312D889F0F44DA613 /* GULLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F9AA08B58FF8462DF005F30AB125D69 /* GULLoggerLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 161F8584C26C2D29C50FD9DD650C6BB5 /* GULNetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = 275158449F80AC670F254FD5B81EF3ED /* GULNetwork.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 16429745F190530B8B9F0384805AEF0F /* RACBehaviorSubject.h in Headers */ = {isa = PBXBuildFile; fileRef = 815562FDCA4521B5934A74A2CAE3E007 /* RACBehaviorSubject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 167EE6824B8B34885CDABFEC9912FE6D /* RACEXTRuntimeExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = B151E2383E5B032C52AF205B86D599EF /* RACEXTRuntimeExtensions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 16DA1E0753881A8D6C6B6914182B109D /* NSObject+RACSelectorSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ADEA681B7DD4BA78B11ADF3BD110371 /* NSObject+RACSelectorSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 171E0D7B4276864E03B745324F99A4E0 /* JLRRouteDefinition.m in Sources */ = {isa = PBXBuildFile; fileRef = F2F153F4CF8753B638C56A7596FC9B98 /* JLRRouteDefinition.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 17458A386A9B9040D28CF367006490E0 /* DDContextFilterLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B4DBE49F9221CAE99D6DEDCB7B1C167 /* DDContextFilterLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 184DD69E04094297A9FEE0BA04218F3D /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F335E0764FC34597616ABBD11D4151D /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 189975C0472C77627A5EDA083B18DFC7 /* FIRInstallations.h in Headers */ = {isa = PBXBuildFile; fileRef = DC58C24B9224766C4025B825F5F0E985 /* FIRInstallations.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 19BD047B73F68A5373D8C6DEEE36C0EA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3743207240D54CEFFE648B7D626F359E /* Foundation.framework */; }; + 1A3A48510F5EADB9FB14E0DF45B3AD2F /* MASShortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 702534DDEBA16BDD58955E2CC98DD1AE /* MASShortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1ABD3DA2DE56DBF1B91D47EE8511B71D /* JLRRouteRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 85AC7FC5D0141B5EA2AC53D5B502C3DC /* JLRRouteRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1ABEC7D5F9E81F20BF11C90C2B447144 /* FIRVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = DB198564B6CD5B9D3DCC9CEB35D674FE /* FIRVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1BC5207ED5AA2B6956BB9CD10C71C1AA /* mz_strm_pkcrypt.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B557AE6221C0036A8EF477E4AEEE970 /* mz_strm_pkcrypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1BCA1F0342BB6AB6AADF3A8319E8537C /* NSObject+RACDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 57EFDF01CCC4914A6128FDDDA1C10D1C /* NSObject+RACDescription.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1BCB76FDC8BD5F4E908700C27731B591 /* FBLPromise+Validate.m in Sources */ = {isa = PBXBuildFile; fileRef = E5F667C7A82BFB7C725B29099A4AC186 /* FBLPromise+Validate.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1C2DA2FFED3F4B8B580AF311F7EC7B7C /* Shortcut.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D0A39F13CFDA3BC6316D693A993B637 /* Shortcut.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C59E23513E8D9E53FB5C11507133D5D /* MASKeyMasks.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AD8C29C96039C5BFEA470D634618821 /* MASKeyMasks.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1C789E086190CB49AD3473DD4B26450B /* mz.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F03D2331EE58BB66172007398E223CB /* mz.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1D61EC66FF509EE11FD3844B3DD966E9 /* RACTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = F50D6F2EB9D7EE15D8A0DE6C6710506A /* RACTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1D87A247C0C84AAF87FCB358A8C688E7 /* pb.h in Headers */ = {isa = PBXBuildFile; fileRef = 560651D979145680C05354423C911090 /* pb.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1DC5EC6ABC6261ABEBB0DE86860DF9CD /* FBLPromise+Reduce.m in Sources */ = {isa = PBXBuildFile; fileRef = CA1F5099C6A1F5D152D13378E822FA64 /* FBLPromise+Reduce.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1E3D006F9735A3432DE863DF1D3EBE3C /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 38ABC152CE3C0620EC55E691FB25164C /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1EAA0EC36B79C08EA3D9BA26F5158956 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; + 1F4432060B2C404E90F912576F2A65D9 /* RACValueTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = C654C41DCE7E7A0626A1A5ED9E7EA45A /* RACValueTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1F609B958FF08B165ED0228D2CD8C95B /* RACUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8201CBBCCC20A0AAD78D74D92B840574 /* RACUnit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1F9D460616DC9526B323BC29E7F14CC8 /* RACTupleSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 710565F997165EDF9C25E73FEEE92B8E /* RACTupleSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1FA3A6F0773C5D86C7DFEF86BCF54070 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A60CFC28EFE537D195AC6987A41C114 /* AppKit.framework */; }; - 200E7C29E35EDDB6AFC2F22B1CA06D93 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 26B709F5C43C8E0A05F6D7B3A9BE3552 /* MASConstraint.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 20AB9F4381BB0EDC1192D067954C4C01 /* RACReplaySubject.m in Sources */ = {isa = PBXBuildFile; fileRef = 12833385D4140DCE3D9DFD2688A34A08 /* RACReplaySubject.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 20BE34E818A866F1FB23D3DA1325F894 /* GULKeychainStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 434A3038630BD141CF08BBAAB3F88CFC /* GULKeychainStorage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1FBBB6026829431F0C0A1F37D3C91205 /* FBLPromise+Retry.h in Headers */ = {isa = PBXBuildFile; fileRef = 0207FE3FADE60C4041E109440F285444 /* FBLPromise+Retry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1FC92644E8AD8917857F1A2E8F4D09D5 /* FIRInstallationsIIDTokenStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 01E3FF18023005338D08526786208C95 /* FIRInstallationsIIDTokenStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 200E7C29E35EDDB6AFC2F22B1CA06D93 /* MASConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 47CAD935B8744B5378BB0250E7DBBB46 /* MASConstraint.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 20AB9F4381BB0EDC1192D067954C4C01 /* RACReplaySubject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DC5C8EAA5B34B819A5D8D34421FF270 /* RACReplaySubject.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 20BBC159A514E4FB84568689CFE68C40 /* pb_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 084FFBD8161DA139955F5C495E977BC7 /* pb_decode.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; 20C984509E46EF5ED081AD28E32A9ED3 /* Pods-EasydictTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9557017CFFCCA6BDFC4839A96EFD0115 /* Pods-EasydictTests-dummy.m */; }; - 20D02DDA359CAD54D9545358D27AA025 /* GULMutableDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 97BBF63FC65BFF52F03C315C8E376F3B /* GULMutableDictionary.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 215453AF9E570E6E68CF2192982A0B28 /* GULUserDefaults.h in Headers */ = {isa = PBXBuildFile; fileRef = 022606E544A4233F1D922292776E0366 /* GULUserDefaults.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 21B1A5A8FEC9C16520436ED4B9B30D36 /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 34DDB8E3F74E46FEFD55FA4264B9CC64 /* en.lproj */; }; - 21D9876308662C241CFFFA0FE1E1B8EB /* HeartbeatsBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A6FEC8530892F2BFA81E6896DCD54DA /* HeartbeatsBundle.swift */; }; - 234432DA09C7AE862D1DE968615D834A /* GULNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = 9482DA45200ABEC95661B5A94599E29C /* GULNetwork.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 23DB848C71B3729BEA9156A4EAE6BB99 /* RACDynamicSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C3A93282618B256264108B75910F473 /* RACDynamicSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2401F66A507A63733C5D0BAA1BE8014D /* FIRAppInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BD4E96234596BB52CA296D888A0A16A /* FIRAppInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 241AA443CD8914CAFB3D02607CAA1A02 /* RACBehaviorSubject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EDCC947CC32E76D0F949F2A7CB3A039 /* RACBehaviorSubject.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 242E65E5F54EE3814671901B6C830629 /* nanopb-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E7AAAFE06B63912DB463010C5C113B7C /* nanopb-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 243D5679D072C7AE7FC011852575392E /* NSObject+MJCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = CC0E7968348F8FB8C315889F911B9196 /* NSObject+MJCoding.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 24B2F36AABCA815294B79288994BB954 /* JLRoutes.h in Headers */ = {isa = PBXBuildFile; fileRef = 47922AF05C19E281D9E2DC11A67D9552 /* JLRoutes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 257CD9A105CC3D316999722C03E42EBC /* Pods-Easydict-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D610BCDDE18DC2909FCA3135208FAB9 /* Pods-Easydict-dummy.m */; }; - 265AA3CA3BA051E29410384EC6E6C422 /* Pods-Easydict-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B845C2ACCFEF00A5B6C2314BC9ACE0DD /* Pods-Easydict-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 26754C506C5038F24FC6E53FC0490C2A /* RACTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 4757D5399770E1093A76FC7713C35CA0 /* RACTuple.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 26AB3315F36F4A1C47FA55C92201A5C3 /* pb_common.h in Headers */ = {isa = PBXBuildFile; fileRef = DBF41CE713E4E4BEE7AED83AE80EB661 /* pb_common.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 26B22C5F48EA728EFBAD02F3481E5846 /* FBLPromise+Any.m in Sources */ = {isa = PBXBuildFile; fileRef = AB7E46935839163CE8C378F9DA2C06B4 /* FBLPromise+Any.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2720630959C37A2025225C4092A82ECC /* FBLPromise+Always.m in Sources */ = {isa = PBXBuildFile; fileRef = A71743BB346E386912CE11B7E3CDD0B9 /* FBLPromise+Always.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 273EB6CC0A70A65C84C2377CA6109790 /* GULLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = D1807A1A24F50C7BC99C99FA6F17556E /* GULLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 20EA9F154FBFA9F3E96D4DA8A654E4F6 /* FIRInstallationsStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 842780374856B0795D6632E3B2655C95 /* FIRInstallationsStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 212235F044881DE7E457984F342F2C1C /* pl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 1F6A9688883D909D7CE7AFF701ECA016 /* pl.lproj */; }; + 2156F19816CFDDC3D576270E8FD9707E /* FBLPromise+Recover.h in Headers */ = {isa = PBXBuildFile; fileRef = 90DE878488A979232F39E04808E619AE /* FBLPromise+Recover.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2234E4D42CEC4B2C10CC5D4AF2787F6D /* FIRInstallationsStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = B306B6D5C04FEBF70BD09CB97013FAE6 /* FIRInstallationsStatus.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22E8811D3EB29F546237BAAD7201D90F /* pb_encode.h in Headers */ = {isa = PBXBuildFile; fileRef = 633D595E51B67C5E747FB8EE435D3140 /* pb_encode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 23DB848C71B3729BEA9156A4EAE6BB99 /* RACDynamicSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 954E4C03C690623BD3DDDEE973850AB4 /* RACDynamicSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 241AA443CD8914CAFB3D02607CAA1A02 /* RACBehaviorSubject.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D4BC739C5257F3ED80C13A3E8A86F00 /* RACBehaviorSubject.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 243D5679D072C7AE7FC011852575392E /* NSObject+MJCoding.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C38238A0DB03F6C09B6EEE4F5757820 /* NSObject+MJCoding.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 24B2F36AABCA815294B79288994BB954 /* JLRoutes.h in Headers */ = {isa = PBXBuildFile; fileRef = C5A5CF15ED5E51F9575BF4AE58B134D7 /* JLRoutes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2518EDD9A6F0AE26D47181E7ED9183F2 /* FBLPromise+Always.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AC583CC850361E6D47F2BA0D37C7124 /* FBLPromise+Always.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 26754C506C5038F24FC6E53FC0490C2A /* RACTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = C6E82FCECACAEAF5BDF7811479E9679F /* RACTuple.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 27927F8A16313BF1F508FB5FA7E21183 /* FIRAppInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 41E79669F9CB170DE5EFD2ADCAE6FAC4 /* FIRAppInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2792FA7044941175FE0521CC5600658D /* GULNetworkInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C8D2889D5709318AD50EA45EA9BDAA8 /* GULNetworkInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27E92806A67BFA5B98E4A668C458C06F /* FBLPromise+Race.m in Sources */ = {isa = PBXBuildFile; fileRef = ECE0CE1F5C39AAB0ADFF4E39CEE2AAE1 /* FBLPromise+Race.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 27ED8CB48F36ED56E14F00110449A184 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3743207240D54CEFFE648B7D626F359E /* Foundation.framework */; }; - 287A7A7F92D4586945DFE45BC81DC609 /* KVOController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CA010AF40CBB4F01E9B091968D5185D /* KVOController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2889203BB35EBE6B01E6540E08999938 /* RACCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 11E34147A092828C8735FABD15BE6EF5 /* RACCommand.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 28F6C290B055D8D3C8FFBB94D8ADDC3A /* MASKeyCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AB03DB09E550BB37EA01EABE8E0DD60 /* MASKeyCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2916A7C0B224EA2FE0992DD8FE6E24CB /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B0666358E63C23DBAB82502CA8CB1282 /* NSLayoutConstraint+MASDebugAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 294F1C3D0C34FF15F97993D067DE3ECC /* MASLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = CB35353A584F59F3EE6579F6B31A110D /* MASLocalization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 29E770F0234DEEA08D9E835D911A93A4 /* FBLPromise+Catch.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A7AA124B0C7E90A59D7557A7FCE2F63 /* FBLPromise+Catch.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2B6646F45BA5DBE0D6D8686D7E03E2F6 /* GULApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = 99DC280C8A6848978380D935D15AEAAC /* GULApplication.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2BA5EE588F31DE62B27A2B2EA07E0B1F /* RACCompoundDisposable.m in Sources */ = {isa = PBXBuildFile; fileRef = 09316B32F1E46B59F80844D4EEEA2843 /* RACCompoundDisposable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2BBCD37212013DAD4CE01E215440C39A /* RACUnarySequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 25E59E700A1C39AB6DF670FD0B953BA9 /* RACUnarySequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2BE7DC932756FAF205163806526AFBEA /* RACBlockTrampoline.m in Sources */ = {isa = PBXBuildFile; fileRef = F81B1CB804E12956908AB06FC316614A /* RACBlockTrampoline.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2C2D2DCABEF0BF5114B0CE559335EAE6 /* FIRInstallations.m in Sources */ = {isa = PBXBuildFile; fileRef = 53ECDD833E5562346AC067899825E227 /* FIRInstallations.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2C65D301E09FF2BD41AF536C8C112F69 /* RACKVOProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C4B98333B9EFBBE0C43A09ABF4F80C2 /* RACKVOProxy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2C6D749808683145EBEFC6531902706E /* _ObjC_HeartbeatController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1C960C6A2753778D212E3578FA2CA9C5 /* _ObjC_HeartbeatController.swift */; }; - 2C961AEF650D863A47374754D25C755D /* mz_os.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C1FF87AC565F33148174169D4025F6A /* mz_os.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2D20EBFFA26A89AEA79CB616C5610B6D /* CocoaLumberjack-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 908AF1BF914FB2DBF63BB2402525F49F /* CocoaLumberjack-dummy.m */; }; - 2E4ABDEF0677BAAEF548FE482B19D039 /* FBLPromise+Race.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A716B8751B1B77A18182A697711CC31 /* FBLPromise+Race.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2E7B5CBDE8BCD0AB700463E21774CA09 /* DDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9590D904851456713B556BEAEC9BC174 /* DDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2E88E7A795A6C6A347FC3B1CC25773D4 /* GULHeartbeatDateStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = BFB1A14E736DD9A75C9E44C007992D5B /* GULHeartbeatDateStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2EA57A3FDBF1FFB39D73E18117CE981F /* FIRHeartbeatLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 24F91137EC8B15B6FF34BE82B495B992 /* FIRHeartbeatLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2ECC0298D44D9F46856774DCBC57E1B4 /* FIRComponentContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 988E3A13C4A5D756E2D54DEC7E0ECEDC /* FIRComponentContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2EDD49432CBD28F16DF76E75CC70B5BD /* FBKVOController.m in Sources */ = {isa = PBXBuildFile; fileRef = 21A2A159F1D0596746F9989AC5BB455C /* FBKVOController.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2F991149B70E82A39A5DC711A3C9C15C /* RACUnit.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AF9F89DF5A27BFCA851FB3CD0CF7D28 /* RACUnit.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2FA448A81891E28A7A0A1DF4ABCC9BDF /* DDFileLogger+Buffering.m in Sources */ = {isa = PBXBuildFile; fileRef = 24D46D4E89AA2C4A80E5E5EE5AB28414 /* DDFileLogger+Buffering.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2FF332350AF2EB8C13983D021E5137AB /* MASShortcut-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BA1E07C72AC3EAE453EB7622186F25D /* MASShortcut-dummy.m */; }; - 30185292153197485A2C262D9E103298 /* GULLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 5688CF1DBC0DF8348B16D1981521965D /* GULLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 306986657C6E91084481E801295EB005 /* RACSerialDisposable.h in Headers */ = {isa = PBXBuildFile; fileRef = 46BB7593006F6697DDC666A0C128B7A0 /* RACSerialDisposable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 30AE2CB3B172CA0F64E9304998437CD7 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 30D23C352773401AE1389972956969C4 /* SSZipArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = 45C7F5E3481DD3EB014B8E548E063DEE /* SSZipArchive.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27FA476DD7EA07E724F086D79724DE4F /* Pods-Easydict-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0D610BCDDE18DC2909FCA3135208FAB9 /* Pods-Easydict-dummy.m */; }; + 287A7A7F92D4586945DFE45BC81DC609 /* KVOController.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F209DBDA2149A0611C7D48D359B794D /* KVOController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2889203BB35EBE6B01E6540E08999938 /* RACCommand.h in Headers */ = {isa = PBXBuildFile; fileRef = 012F9362EB4F259A12AAFD87E86F27FA /* RACCommand.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 28F6C290B055D8D3C8FFBB94D8ADDC3A /* MASKeyCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 01D64B777E775755C45AC98987826C3E /* MASKeyCodes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2903825E4B8C2D7CE6CB88AE0374ED88 /* FIRInstallationsErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 5DCC971F019152723985B4910F76B53E /* FIRInstallationsErrorUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2916A7C0B224EA2FE0992DD8FE6E24CB /* NSLayoutConstraint+MASDebugAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = BE3D730583DF23D745F5CB7FB45A54C3 /* NSLayoutConstraint+MASDebugAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 294F1C3D0C34FF15F97993D067DE3ECC /* MASLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 903CCE2F999159E7FC472C61B1455363 /* MASLocalization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 29F83A3316B93DB5CA2C02DFB2E3CD88 /* ru.lproj in Resources */ = {isa = PBXBuildFile; fileRef = C32F4AED06731D2F5CD4C03E554098BB /* ru.lproj */; }; + 2BA5EE588F31DE62B27A2B2EA07E0B1F /* RACCompoundDisposable.m in Sources */ = {isa = PBXBuildFile; fileRef = A83640DD8FBAF1CEABEB312F19E40149 /* RACCompoundDisposable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2BB636C193D7074F0D85AE4802FAE04B /* FIRComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 665016A3420C45B4FE02498ECFEA7DE0 /* FIRComponent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2BBCD37212013DAD4CE01E215440C39A /* RACUnarySequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A46E20D814C4E08E55E1E504DA6730B /* RACUnarySequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2BE7DC932756FAF205163806526AFBEA /* RACBlockTrampoline.m in Sources */ = {isa = PBXBuildFile; fileRef = CF04CE3AB789118673A0FD489501C521 /* RACBlockTrampoline.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2C65D301E09FF2BD41AF536C8C112F69 /* RACKVOProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EA4EBEBE8717015AFE5A31DCBCAA334 /* RACKVOProxy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2C961AEF650D863A47374754D25C755D /* mz_os.c in Sources */ = {isa = PBXBuildFile; fileRef = 1900018C9BABFFC7E4419FE3295784C7 /* mz_os.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2CE54DAE0FFCBDA8862E457991A7935A /* FIRAppInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = EB856A6BF20729B51592E149EFCBCD00 /* FIRAppInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2CED8655895D228B964F57DB1D8C34F8 /* HeartbeatLoggingTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D13521A18FFDAF36F0F473BD14CAB7C0 /* HeartbeatLoggingTestUtils.swift */; }; + 2CFD4BE29D8D282CE49973B515DBB124 /* Pods-Easydict-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B845C2ACCFEF00A5B6C2314BC9ACE0DD /* Pods-Easydict-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2D20EBFFA26A89AEA79CB616C5610B6D /* CocoaLumberjack-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D40D4D1BD694EDAD8BAA79A407423D7A /* CocoaLumberjack-dummy.m */; }; + 2D4795E535C6A217D59965856FD46ADA /* FBLPromise+Async.m in Sources */ = {isa = PBXBuildFile; fileRef = 4731E367FB6938D056585FE37824535B /* FBLPromise+Async.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2E7B5CBDE8BCD0AB700463E21774CA09 /* DDFileLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = ACF074090100DAD339372C9E197817A0 /* DDFileLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2EDD49432CBD28F16DF76E75CC70B5BD /* FBKVOController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E1D7E4D4CD82BB1E9C902D6DCD01E9D /* FBKVOController.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2F991149B70E82A39A5DC711A3C9C15C /* RACUnit.m in Sources */ = {isa = PBXBuildFile; fileRef = 277E19D4915B81B52249AB695E4B8098 /* RACUnit.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2FA448A81891E28A7A0A1DF4ABCC9BDF /* DDFileLogger+Buffering.m in Sources */ = {isa = PBXBuildFile; fileRef = 67862177F33EAD06D0DCE05AEB174A44 /* DDFileLogger+Buffering.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2FF332350AF2EB8C13983D021E5137AB /* MASShortcut-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C060501DDE4B699010EFF3D61B1D3DD6 /* MASShortcut-dummy.m */; }; + 306986657C6E91084481E801295EB005 /* RACSerialDisposable.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C1C6B6506CF88A49098C5BCCC4D433E /* RACSerialDisposable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 30D23C352773401AE1389972956969C4 /* SSZipArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD5311C749B336FABF406B041145AAD /* SSZipArchive.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 318342C929C4A8AB22627B7AC8449B42 /* FIRCurrentDateProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 79C44CE459B0E1346D3BF9EBA7222D3D /* FIRCurrentDateProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 328005DE69E91B4FD87B69BEA01DC8D1 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; 32E250C367D40DFE6A365F8AE7A55AF1 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD1B09D61061D25891A8EE8B6F4A8D29 /* CoreServices.framework */; }; - 332E3754A8F370333ADF20E3B5AC62AE /* RACEXTRuntimeExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A6D7C02A62709425EB63A31A34D79FA /* RACEXTRuntimeExtensions.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 333888D1F6052AE89725994E87DEAF61 /* NSString+RACKeyPathUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = C3CDC2E4254BD0CFCB7A52675D55ACF4 /* NSString+RACKeyPathUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3341A4FD296669238CA7682890CB574E /* NSUserDefaults+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 85F7689410B481AC8BA32EBDFFDF3D8C /* NSUserDefaults+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 334BC5CE21B72A5A7D5BD0AA6C77B89C /* RACDynamicSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = F4B09A287210308FBF83C1ED631D788E /* RACDynamicSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3355B8D221BF86265D6F9558952DE40F /* NSObject+RACKVOWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = D3C71195FB26F7162A922AC184B5F53C /* NSObject+RACKVOWrapper.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 336B781E5AF19CF4F84DA9462E41429D /* RACStream+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 92CD385D10F1244A09D74D1718D6CA08 /* RACStream+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 33DC154CACD614244DE45A53CE08EF0D /* MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC96AF838C43C79F0E0918A158573AB /* MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 340497E83F9DF147F7354194E48F9A2C /* RACEmptySequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 75854483937BE65758C8FEE5CB644BBE /* RACEmptySequence.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 3414CD31272ADCBBDFB403D26A0AA0BA /* FBLPromise+Then.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A79CED8B4AB2E41A35B2B6FA22BF042 /* FBLPromise+Then.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 350423AE3CB377B274531C3FF631FD12 /* DDFileLogger+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = C03D847B855A399F3A458B9F261603EE /* DDFileLogger+Internal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 35B8EEF818BC5B8190F182868D50305F /* NSData+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 17A242F549501CE395B4FAED56DC1C96 /* NSData+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 35C7EA5B31465C4197892CE66A24D9AB /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F9D94FE019462BACE3DB88260EC80DB /* NSArray+MASAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 37F6A3BECF37C125152A3BBA232AD7DC /* NSObject+MJKeyValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A150939513362231FC41B3DDA68643F /* NSObject+MJKeyValue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3867CC4ABC7A37211B3CAC46C6967377 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 14B6F5F0D12FDFE7AB1A5DDEF5D9A4EC /* AFURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 3893D01BDB111CEFA938A12B338CB291 /* FIROptionsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B465B5BFB627F619E7D7616802C81DD4 /* FIROptionsInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 38C6AFD5844D9504C94AC5B704AF043D /* NSString+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = FB8641ED4AD080BEE2C10B7CC7AE69CB /* NSString+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 393A8AB1B67DDE4A5140143A8D6229BD /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 5BA0283B90DA991EF5B95FD03048F6B3 /* de.lproj */; }; - 3A1F5D39AD202F3AA9EDFB10477999BA /* RACPassthroughSubscriber.h in Headers */ = {isa = PBXBuildFile; fileRef = 91ECF043BD011C80EC016A13B14DD197 /* RACPassthroughSubscriber.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3B416856EA2CD1BE345BE4DB01F5ED94 /* JLRParsingUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 83DB7844456FE19ECFF19C9C2751BB74 /* JLRParsingUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 40022140671799C4C6FBA913DABF6B2E /* DDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 490AA6B03B1A291B27E0C0E8EC9E6F6E /* DDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 40072A9DA09966111A22BB7DEE744844 /* GULHeartbeatDateStorageUserDefaults.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CFE78694626E98536B5044D3632AEA8 /* GULHeartbeatDateStorageUserDefaults.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 409B6AD026FC71BEC4D1DB9D56412BBD /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 790BD6248FBDA5CB1CA516A6BB81FAAF /* Security.framework */; }; - 424BD8D5270287AD5A3422E570FA1539 /* FIROptionsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = E28D12A1B2A82AA0C028867B9E97732B /* FIROptionsInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 428F28195C11E0207B4555399B679FE1 /* RACReturnSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 16177EAF113ACDFB57D296A928AF3F47 /* RACReturnSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 42D04E25F53FF4091097276EA54DBAA4 /* FIRLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 259286BC789EFC9EB297C914CA494282 /* FIRLibrary.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 431FB07EAC4D2F7030C851DE20C3A1C4 /* SSZipArchive-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F0DF70D2B196A123A2C27E0600D89EDE /* SSZipArchive-dummy.m */; }; - 43AB7E9C72087115B8DD59172F6CDB0B /* GULHeartbeatDateStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F4396BA079B0885FF5210BE24A13C8F /* GULHeartbeatDateStorage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 44283063B529551289C111E42AEA7487 /* JLRRouteHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 2251F2661ABA3FEF7BB908C8AB62BA1B /* JLRRouteHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4454EEE74707A4645C03835CBED33F97 /* NSControl+RACCommandSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 7263F01E83F143B613C1C6C5DE7BE4F9 /* NSControl+RACCommandSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 447C10B3933495DF0EEE62E74AAB3DBA /* FIRDependency.h in Headers */ = {isa = PBXBuildFile; fileRef = 8ECA0CDDC60A6B799DB5A385B3DB6403 /* FIRDependency.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 44A145033020E857348F2CF287D18EBB /* RACScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 06FF74C0A5B2643060F7C69389BF4555 /* RACScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 45B0F1C3F3965E69C8F71044B1397D54 /* RACQueueScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = F1B08E954F771D1963E61C06D434F3F0 /* RACQueueScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4674CD72FE1F6D68E4F0D8D7825B300D /* FIRInstallationsIIDStore.m in Sources */ = {isa = PBXBuildFile; fileRef = AD5F848138B77AEB6F5EB86EABB250E1 /* FIRInstallationsIIDStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 46D6446DA8450AF0B1C24CA52C55D9BA /* NSIndexSet+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 90E99C6D3C10AA367B8890B4B83086BD /* NSIndexSet+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 47066D24FADF2B05F47D547AF195CA7C /* FBLPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 9371BDC7802D8CF4EF2B6398DEDC1A5B /* FBLPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 332E3754A8F370333ADF20E3B5AC62AE /* RACEXTRuntimeExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = F12D070207CD36F48D1B2024B30D7354 /* RACEXTRuntimeExtensions.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 333888D1F6052AE89725994E87DEAF61 /* NSString+RACKeyPathUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 817C15479E428F985C065284F3020E1A /* NSString+RACKeyPathUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3341A4FD296669238CA7682890CB574E /* NSUserDefaults+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 79C2D7EE2CB8E771F147AEC2FB61B2BE /* NSUserDefaults+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 334BC5CE21B72A5A7D5BD0AA6C77B89C /* RACDynamicSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 799BF2AFE6BB8B6B149280270A8D4B12 /* RACDynamicSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3355B8D221BF86265D6F9558952DE40F /* NSObject+RACKVOWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 48C6D09298323D7FA1048B6A0F860C65 /* NSObject+RACKVOWrapper.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 336B781E5AF19CF4F84DA9462E41429D /* RACStream+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = A9D6C7E79C4BD1FC056E8DAB4DAC1091 /* RACStream+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 33DC154CACD614244DE45A53CE08EF0D /* MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = EA9D2E7EC91691C1ECD93374F0E20DF3 /* MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 340497E83F9DF147F7354194E48F9A2C /* RACEmptySequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 763DE6B4EB08178B07CC11D933C942C3 /* RACEmptySequence.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 347F3E6A9A9F0806BC89BE784599C294 /* FBLPromise+Delay.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A19E63C2D74EE692430552EFC0FA42C /* FBLPromise+Delay.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 350423AE3CB377B274531C3FF631FD12 /* DDFileLogger+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 629D17FE35087BEA2BFDD0321BB5D5E0 /* DDFileLogger+Internal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 35B8EEF818BC5B8190F182868D50305F /* NSData+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A203556EA7BF2AEED2B377211D8C98E /* NSData+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 35C7EA5B31465C4197892CE66A24D9AB /* NSArray+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B6C449EB89004DBD7A50DBF2B9145EEA /* NSArray+MASAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 375992668DB7E07D93C6DE42811C3201 /* FirebaseCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 970179A39F2E652E194DF310A25DCB51 /* FirebaseCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 37F6A3BECF37C125152A3BBA232AD7DC /* NSObject+MJKeyValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 96A0B72DD6BEAC82BBDED0DF35D94CE1 /* NSObject+MJKeyValue.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3867CC4ABC7A37211B3CAC46C6967377 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = AFA15FFC36D1BEFA94DEE3853812DE01 /* AFURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 38C6AFD5844D9504C94AC5B704AF043D /* NSString+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A8FD3F53DFF80D2D2BED72FC2487DAB9 /* NSString+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3915A579539CDFCC3A29C64E351D8345 /* nl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 72AF7933E831E4644EAFCA8B05D61E2E /* nl.lproj */; }; + 39E6C7F1D3C32B69C7BFC7E7795D6B3F /* GULMutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 92B31DEACF7ACB54635AA1F8DC0AB194 /* GULMutableDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A1F5D39AD202F3AA9EDFB10477999BA /* RACPassthroughSubscriber.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E7BA84FD0C4920F52D36732948A9AE /* RACPassthroughSubscriber.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3A763A53191897A405DA2D3409DFB72A /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E97540173510268C0C11125F7F43851 /* Storage.swift */; }; + 3B416856EA2CD1BE345BE4DB01F5ED94 /* JLRParsingUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CFBA18443291B9C6E8DB07987535161 /* JLRParsingUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 3FC32ADBE6B79E8637E573CCA6D2B597 /* FirebaseInstallations.h in Headers */ = {isa = PBXBuildFile; fileRef = 80F89DFEBA2B3FC15B8824F3974D887D /* FirebaseInstallations.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3FF07E6B05079878C66F10917CC040C5 /* NSURLSession+GULPromises.h in Headers */ = {isa = PBXBuildFile; fileRef = 09351960E37B3303BF11E930F6217AD4 /* NSURLSession+GULPromises.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 40022140671799C4C6FBA913DABF6B2E /* DDLegacyMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = F2CBE1A33F02A8F4F632FC9F8ADD49CF /* DDLegacyMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 428F28195C11E0207B4555399B679FE1 /* RACReturnSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 37F13D061C8037BCCC6C2C27099D2A67 /* RACReturnSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 431FB07EAC4D2F7030C851DE20C3A1C4 /* SSZipArchive-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 80E35EF9FDF37455AF4720E99319674E /* SSZipArchive-dummy.m */; }; + 4339A5B07FA81E703B5F57B914EE5A61 /* GULSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7300DE90D5AACAA7388D97C414DC5149 /* GULSwizzler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 43CF837FAE14BD5BF13E0AC9CD9BF40D /* FIRInstallationsErrorUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = AFCA7AA3E6FAF5E819AA157BA7124605 /* FIRInstallationsErrorUtil.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 44283063B529551289C111E42AEA7487 /* JLRRouteHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F877C9E7C796F9F7E5FCA13F56CBA4E /* JLRRouteHandler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4454EEE74707A4645C03835CBED33F97 /* NSControl+RACCommandSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 8537CBA4D20714FEAC208E7B2CF4F0BA /* NSControl+RACCommandSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 44A145033020E857348F2CF287D18EBB /* RACScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AB1DA88719666C7AF6C0E0555C0BF31 /* RACScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 45343C6BD68389D5D64F67ADA774B647 /* FIRInstallationsIIDTokenStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D9BEEC7F1141908D162C879AC1433B2 /* FIRInstallationsIIDTokenStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 45B0F1C3F3965E69C8F71044B1397D54 /* RACQueueScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 662916CD7A76562098B98708CCA720C7 /* RACQueueScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 460144EF3793D4C5273B18B57702FA44 /* FIRAnalyticsConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 602C5C5FC51C55B4147E6D12C6C694DA /* FIRAnalyticsConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 46D6446DA8450AF0B1C24CA52C55D9BA /* NSIndexSet+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD209B975AD5530B733A9F9CB66DB16 /* NSIndexSet+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4716131F729BB859DCD543139D113C84 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3743207240D54CEFFE648B7D626F359E /* Foundation.framework */; }; - 47E95FA96773D3D032F040F9D8082243 /* mz_strm_wzaes.c in Sources */ = {isa = PBXBuildFile; fileRef = 4ED54AAF410EAEA088ACB4FC94E87E4D /* mz_strm_wzaes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 48A66702255B568AACB57D13353ABFF4 /* NSControl+RACTextSignalSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B02C44318DF64E9BE4D9BE22A53CBBE /* NSControl+RACTextSignalSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4904B0F013486619BC08C7CC7CF3B04A /* GULAppDelegateSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = B460678EAA288593BEC095234D548D76 /* GULAppDelegateSwizzler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 492F9A8CF929FB75C6794155EB6F569B /* FIRVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F5EADF96595D2C8E68B8F2CA9FB04DB /* FIRVersion.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 49715D36952B12A19E0F7DFD258674AA /* mz_strm.c in Sources */ = {isa = PBXBuildFile; fileRef = 857573793813AFE6CB65AE4859889B2B /* mz_strm.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 49950BD77895F5F6F6CD80DE9C30E805 /* NSFileHandle+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 947869ECB3F328398BCE637F6653E521 /* NSFileHandle+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 49A9E1E796A8E36FA3FA424C1A765FF5 /* FIRConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = F01189283C509B70EEE48FA74ED215A9 /* FIRConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 47E95FA96773D3D032F040F9D8082243 /* mz_strm_wzaes.c in Sources */ = {isa = PBXBuildFile; fileRef = 3EEB861DC78A0491514953E4F808A1E2 /* mz_strm_wzaes.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 48A66702255B568AACB57D13353ABFF4 /* NSControl+RACTextSignalSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A2AB3BA84501D0B9BE6B3F2F8415566 /* NSControl+RACTextSignalSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4953F4740D1DEF0E6B8008CBFCAA5CC6 /* FirebaseCoreInternal-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C3B4754FFFD7E99942A16DDC2F73E23 /* FirebaseCoreInternal-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 49715D36952B12A19E0F7DFD258674AA /* mz_strm.c in Sources */ = {isa = PBXBuildFile; fileRef = 8498E5ABD6DACF0F0D6184F107CE7F87 /* mz_strm.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 49950BD77895F5F6F6CD80DE9C30E805 /* NSFileHandle+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B373978EC85346DE754039D359DF189 /* NSFileHandle+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 49B8FBDE96C9DCE54EEA80A427E400C7 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 58F8F860EA8DF1085E93D2D8544AD638 /* SystemConfiguration.framework */; }; - 49F1B4350A7592A60D8775649C9D3128 /* NSObject+MJKeyValue.m in Sources */ = {isa = PBXBuildFile; fileRef = F61EB2A128AF8AEA9D92E519362375FB /* NSObject+MJKeyValue.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 49F1B4350A7592A60D8775649C9D3128 /* NSObject+MJKeyValue.m in Sources */ = {isa = PBXBuildFile; fileRef = BC5DC2E1D21621BF948EAACFDDA1FD57 /* NSObject+MJKeyValue.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 4A085767EC07957D09C7A6A16F17F399 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 4A62422B6748C90B540D628CC75BB411 /* JLRRouteRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = DA49BCABA14A3DB1C63A4947D459EE86 /* JLRRouteRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4A77960882DD38977EDE08E2D176EFA0 /* FIRLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 75239341BFA2F7F1F8DDE4884CA6FB6C /* FIRLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C08399B96931890F341554D43942CE7 /* GULReachabilityChecker+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B7B448E0E519E0FAFC199FB1D2D1C66 /* GULReachabilityChecker+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C4C76D60BD561ECF267C9E1C9799046 /* RACSubscriptingAssignmentTrampoline.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A166544F161846882635799D999AD28 /* RACSubscriptingAssignmentTrampoline.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4CD15A7B893829FBD76453E3916364C1 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EB5A3B9340E360F36C5FFAD796AD56D /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4D1A7F6A852677BCE5A9995AA0E1BAE0 /* RACEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A5C878D37CB2C1C80F0C5325675E222 /* RACEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4D379D1EAD642AF4A5895BCA61D4C581 /* DDLog+Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = F82AB599FD4C8AE6689C86C0DC75CD0C /* DDLog+Combine.swift */; }; - 4F30642E4F2109DE340494AAB2FAB993 /* MASShortcutMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = FA8B4DD908991F82A4392DAACAEB74B0 /* MASShortcutMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4F4B2E680C0F15245B9F1FAEA47CC55B /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4712A5E8F191A5D666AE82700AD0EC73 /* AFURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4F5E782016B36C23D3C8E1A72C4E89F1 /* RACStream.h in Headers */ = {isa = PBXBuildFile; fileRef = FDD1868ADFF057114B9A272A5D81C158 /* RACStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5111C01D7F30C56F8B068FCDB2EF0F17 /* mz_zip_rw.c in Sources */ = {isa = PBXBuildFile; fileRef = 7E438D0EC1FD58718BF15FE3A7E6E091 /* mz_zip_rw.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 512EF163DFB5960605C314D95C3A26C9 /* RACSubscriber+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 797B0DEC5E8631CBBEE39D43863BF6C2 /* RACSubscriber+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 5175CE9F4B3A893304218D99403D93ED /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 910ECB9CD982EA87617DEBEB6763EDEA /* AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5269125E3DB0BD186DB3AE857B3C9E62 /* MASHotKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A29EA27499E5A988F88732AFAE877228 /* MASHotKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 52DF66534085FEC572B47B1E7DA8EC63 /* FIRInstallationsSingleOperationPromiseCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E1DE6ED485483FBEE8F016CFC51829 /* FIRInstallationsSingleOperationPromiseCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5318A0FC54E0C337BB2C048D3489A57E /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 5319F74751D2102193BAFEF50452DEAE /* FIRCurrentDateProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B807C6E227F7823B199E9EE230142EB /* FIRCurrentDateProvider.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 534EDA976CDBE519C377D315BA3FD183 /* SSZipCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A36BD763DB9E0593427049627E5BEB1 /* SSZipCommon.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 53818D3AE23820A3368641805A2539F3 /* FIRInstallationsLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A8C0EE01DEBFC380A9CA049E718D5F6 /* FIRInstallationsLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 539B49D90AD05A7116B36547E948190E /* SSZipArchive.m in Sources */ = {isa = PBXBuildFile; fileRef = 0026861DE43C5A5EF086346FD5A4E917 /* SSZipArchive.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 53CC05713E78DE3F121CA57C4E59ECBF /* FBLPromise+Async.h in Headers */ = {isa = PBXBuildFile; fileRef = F391BBAB44C1F7AD014C672FA3D3FA74 /* FBLPromise+Async.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 54E0065B88A69879DE8F65A73B9E0204 /* RACSignalSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 8587A8FDA01AEDBB52A0BC426EA37821 /* RACSignalSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 559B7E07FA1B3835D7C39FE52EFA7B4C /* NSIndexSet+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 67B6E39B778CA578B3A02C8A55027CD2 /* NSIndexSet+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 559BBBD0CC974781E561BC9B5E861199 /* GULKeychainUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FCA9E1C2BC38DE2A3DA30EE8BE1105E /* GULKeychainUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 561168BDE155FA7E57A48961E0DF8D51 /* KVOController-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E42B4C79BB4429B1A294B8AACB7E1174 /* KVOController-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 56DBD44404488F15CE0AD26708AECCA3 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = 82D23B1751BDC20BEEB25FCED3986CC7 /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 57419946A9A8A6527131343101E02C48 /* PromisesObjC-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 059CE931A8E82677DB1C7490AB737989 /* PromisesObjC-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 57878CB028C2C7B660CF6A90424A6E10 /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 7A1166C23AE87E3404A6AF3F2E6A634C /* es.lproj */; }; - 58052DFA57FA2569F3D7720EA7A744F1 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = D96F91D7A94143AF8CC1EFA86A636677 /* MASConstraintMaker.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5807E0632368B365308B44C5AE6973BD /* MJExtensionConst.h in Headers */ = {isa = PBXBuildFile; fileRef = A3E9524399622C6D31859BF37573B82B /* MJExtensionConst.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 582575125BD55FDF6B022C83E6D57414 /* RACSubject.h in Headers */ = {isa = PBXBuildFile; fileRef = 03A567BE743259443440AFABA4BC7241 /* RACSubject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5857D7331F535E55BE0260651348CEC3 /* RACEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 642F3A18E00392A8620D2A5C64A11F2C /* RACEvent.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5864A26625028DA54B66904E1F3CB559 /* RACQueueScheduler+Subclass.h in Headers */ = {isa = PBXBuildFile; fileRef = 37EB752A12B2E15BE6A44C6A99D5289D /* RACQueueScheduler+Subclass.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 586B1D7E92AEC3C2462B5BA36B2D413B /* RACSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA3A05E9CAF77FA3122FE2B657275B3 /* RACSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 58E31391E1A73C0176491F5543AE4971 /* pb_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 822DB151A5E7EE73E613A79D85EB8FC0 /* pb_encode.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5943324F179C6C962816A4712A889E0C /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E1D921F0AD25D8B1E927496E7A35BC90 /* AFHTTPSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5991FB507FDD0F6C4D2EA204337EF426 /* RACTargetQueueScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = B50ACA0B4F64DC04506BD1F71FB164C4 /* RACTargetQueueScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 59C5DEA34359323178DC4924BFEDF256 /* MASShortcutView+Bindings.h in Headers */ = {isa = PBXBuildFile; fileRef = D2F7362DB621B4D8EB8F5154F86AD9B1 /* MASShortcutView+Bindings.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5A38E0D8BD6D997B568E0BAAEDBDD1DA /* GULSceneDelegateSwizzler_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = C2CD15B6870AFBD8017C99764DCDEE19 /* GULSceneDelegateSwizzler_Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5BEAECD58B240C8420A8196832FF034D /* pb_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 1FA9E901DBA316DBC3369E24B2C96F0C /* pb_decode.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5C2EB7BFE856F3FEA9B7034CCB88B5B1 /* FIRLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6C51F58F5EFC3274695E7E5A5D0FCDCE /* FIRLoggerLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5C4E3BEC68F14D2154A75E65160409AC /* MASPreferencesViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D30C9E095E9C7871CDA36FEBB976099E /* MASPreferencesViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5CB0D9FA9418E1F8C6D5BB116C78DB6F /* NSControl+RACTextSignalSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 029C423CECDB3325E883E4CC9D387466 /* NSControl+RACTextSignalSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5D05F6424F79DA9D40EDE9A54766378B /* mz_strm_pkcrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = 88B5A722496EFF3B5D979F3D6A25409B /* mz_strm_pkcrypt.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5EDCF088536DFCC8C2918F4BDA9CFA30 /* GULURLSessionDataResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = F80ACC42D906B1904F340D9751A4E1AC /* GULURLSessionDataResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5EF9CEBC53E00075A9DA6DA100DB48C6 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = D2A4F86803E230DBD115EC869690636B /* AFSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5F2300DCDCA698067B78C061F40767D7 /* FIRFirebaseUserAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = CCCC4045A7AB641422C884226CD0DDF0 /* FIRFirebaseUserAgent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5FE17569F2659E57D062BBF382D184EF /* FIRHeartbeatLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = E09A9D6D87DAAF6632CA611F76ADF740 /* FIRHeartbeatLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4A62422B6748C90B540D628CC75BB411 /* JLRRouteRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C81F337D12892E2D21AD386C11ECC43 /* JLRRouteRequest.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4B3358E6832754AEAC4316657F43AB9E /* FBLPromise+Do.m in Sources */ = {isa = PBXBuildFile; fileRef = E863ABD7D7FD89DCE1BC6B302A9134CC /* FBLPromise+Do.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4BA257E775CCF680B435F94C9586A3C1 /* GULHeartbeatDateStorageUserDefaults.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D96D588570395B09A30ABBB4501CAC1 /* GULHeartbeatDateStorageUserDefaults.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4BEC6B973C1B0375CA1B143019BFC230 /* FIROptions.m in Sources */ = {isa = PBXBuildFile; fileRef = FEDC5BF64D97C4FD74178266EF6D2AA0 /* FIROptions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4C4C76D60BD561ECF267C9E1C9799046 /* RACSubscriptingAssignmentTrampoline.h in Headers */ = {isa = PBXBuildFile; fileRef = A5218C8E8F188F3BD68AAAF13EEBB1AD /* RACSubscriptingAssignmentTrampoline.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4CD15A7B893829FBD76453E3916364C1 /* MASLayoutConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = CE190B5C58B99B1D9670F7E44FA773F6 /* MASLayoutConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4D1A7F6A852677BCE5A9995AA0E1BAE0 /* RACEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = C594937FC2962C39FCABFDE1D2BD20CF /* RACEvent.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4D253B0E0F21EE9EF8EEA0F8BD63E6D1 /* FIRInstallationsItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 96CBD4FDD103BB55E139E180A0B5A2CC /* FIRInstallationsItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4D379D1EAD642AF4A5895BCA61D4C581 /* DDLog+Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EC6469C99997FB86DFDDFB44D59A373 /* DDLog+Combine.swift */; }; + 4D6C431F21D310FC56360368F7E65586 /* PromisesObjC-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5630A6818763CDDCBA097C4DB07A1E0D /* PromisesObjC-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4E79AE7205066B877683EAE42848FCE8 /* FirebaseCoreInternal-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 687BD844C921A57B199FB9345833BD8B /* FirebaseCoreInternal-dummy.m */; }; + 4F26CB82782248B671F06D1A742D816F /* FBLPromises.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B2163CB3997D14FB0BA71D528539F4D /* FBLPromises.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4F30642E4F2109DE340494AAB2FAB993 /* MASShortcutMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = EAE297DCE6A0C66165F35F80E1D183D1 /* MASShortcutMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4F4B2E680C0F15245B9F1FAEA47CC55B /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F541C03C193E1F9D191A15AAE5604752 /* AFURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4F565B7D5C2751816379B9D5C7BB4388 /* FirebaseCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DD1FFF85B3F38B0E3B7DF645D37B771A /* FirebaseCore-dummy.m */; }; + 4F5E782016B36C23D3C8E1A72C4E89F1 /* RACStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CF768B69230F859A48EFB6A456B07D8 /* RACStream.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4F7DB4073B5C0AF463FE66038905910A /* GULNetworkMessageCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 8294875FC5A9201A0619E4A081668842 /* GULNetworkMessageCode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 50AB0E1A988012F4FD975666F0316A4F /* FirebaseCoreInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BDE04531299D1BB7CE5A17BC28BF929 /* FirebaseCoreInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 50F2EC880CE83074B385855D143C76B4 /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 70FA11005193B3DDC439142D07607F26 /* it.lproj */; }; + 5111C01D7F30C56F8B068FCDB2EF0F17 /* mz_zip_rw.c in Sources */ = {isa = PBXBuildFile; fileRef = A8FC37205DE2229489E297D96F85E41A /* mz_zip_rw.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 512EF163DFB5960605C314D95C3A26C9 /* RACSubscriber+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D1FDF2EA14DF73EEB918629E35A4D3B8 /* RACSubscriber+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 513F6A2BB479B6F854D23DE357BB9C2A /* GULHeartbeatDateStorageUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = E3BCC61F38E8E426E6EAA67A05B62C38 /* GULHeartbeatDateStorageUserDefaults.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5175CE9F4B3A893304218D99403D93ED /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = DC414FD46D0F823FB7A12474862FDE2D /* AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 51855AF76FFA872B225C03E0017B7A1F /* FIRLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = BFDCE7686FAC3D4554B710BAADBF3C57 /* FIRLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 51993D641741D58D777B76E993B651BA /* cs.lproj in Resources */ = {isa = PBXBuildFile; fileRef = B780E0A68621576718D820F08584BD02 /* cs.lproj */; }; + 52030D53950AA0A754838F8381DF1D24 /* FBLPromisePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D337E28205C3DB5DD1D609A3F31B42C /* FBLPromisePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 5269125E3DB0BD186DB3AE857B3C9E62 /* MASHotKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 60405D30C34CB5F7601F6122F4FACE92 /* MASHotKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 534EDA976CDBE519C377D315BA3FD183 /* SSZipCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DE77412DDCCDE41DD8BA5A58E04841F /* SSZipCommon.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 539B49D90AD05A7116B36547E948190E /* SSZipArchive.m in Sources */ = {isa = PBXBuildFile; fileRef = 8848FC407D058DFF452A23C1DAE40F0F /* SSZipArchive.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5426622DBB8ABCC3B2A5D30D5E94FF5A /* FBLPromise+Recover.m in Sources */ = {isa = PBXBuildFile; fileRef = EE0D2B857953774CD2D005F8EA3E03A1 /* FBLPromise+Recover.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 545BE3599D55062C08E927E0F50F6DAC /* FBLPromise+Any.h in Headers */ = {isa = PBXBuildFile; fileRef = D7A78477506C04205936E362C53A60DD /* FBLPromise+Any.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 54E0065B88A69879DE8F65A73B9E0204 /* RACSignalSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F7C2E0445E2594D0F36B557E7F3BDAC /* RACSignalSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 559B7E07FA1B3835D7C39FE52EFA7B4C /* NSIndexSet+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 66A5AA3B6DD289B68B86A138EDAB67F3 /* NSIndexSet+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 55CB62D1F7EE6429A7834E3AAE77A0BB /* FBLPromise+Catch.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E36C9508D91ACF5553876EA1063252A /* FBLPromise+Catch.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 561168BDE155FA7E57A48961E0DF8D51 /* KVOController-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1037F5E5E79D393A5DCCBF9821E853CE /* KVOController-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 56DBD44404488F15CE0AD26708AECCA3 /* MASViewAttribute.h in Headers */ = {isa = PBXBuildFile; fileRef = E51987050B0AD979AF5440B8F644E61C /* MASViewAttribute.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 570C9736CAA005114C373F0A80D43C4D /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; + 58052DFA57FA2569F3D7720EA7A744F1 /* MASConstraintMaker.m in Sources */ = {isa = PBXBuildFile; fileRef = 58121D619BB8B8A912754365B76F1BCA /* MASConstraintMaker.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5807E0632368B365308B44C5AE6973BD /* MJExtensionConst.h in Headers */ = {isa = PBXBuildFile; fileRef = 510E86632D39DC6251944E1A3AB7254E /* MJExtensionConst.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 582575125BD55FDF6B022C83E6D57414 /* RACSubject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E330B3B4235ADB63C9F3459D634224C /* RACSubject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5857D7331F535E55BE0260651348CEC3 /* RACEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = AD0DE75FC612455545A0E04C33E8AE42 /* RACEvent.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5864A26625028DA54B66904E1F3CB559 /* RACQueueScheduler+Subclass.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FBBA911C996589DBC93DE3CCDFC6976 /* RACQueueScheduler+Subclass.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 586B1D7E92AEC3C2462B5BA36B2D413B /* RACSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DA80CC63D15B5B65B326FB83282B9B9 /* RACSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 589A405ED7C0749CD183211F015F0C26 /* FBLPromise+Async.h in Headers */ = {isa = PBXBuildFile; fileRef = A97BEC96D92A6F8320B0C1B4A10FB67E /* FBLPromise+Async.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5943324F179C6C962816A4712A889E0C /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 85BDD5590E248A79825566148496D341 /* AFHTTPSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5991FB507FDD0F6C4D2EA204337EF426 /* RACTargetQueueScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F5557DE315FAF32C08E1625C1EF3665 /* RACTargetQueueScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 59C5DEA34359323178DC4924BFEDF256 /* MASShortcutView+Bindings.h in Headers */ = {isa = PBXBuildFile; fileRef = FAC8DF07C9E62CDC341DC021993D08B7 /* MASShortcutView+Bindings.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5A22A330C53999AA43D354D5F231B038 /* MASPreferencesWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = DE09D58D8F6416B0621F85CCBC40977C /* MASPreferencesWindow.xib */; }; + 5A63F9704F32CB07506406B4982999F4 /* FIRInstallationsItem+RegisterInstallationAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 46169382000143E692F6353F8B97DCE4 /* FIRInstallationsItem+RegisterInstallationAPI.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5A8E2F824945E88A1A22CC766A2D8C85 /* PromisesObjC-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9EE19076692527A9F0D44437B752AE7E /* PromisesObjC-dummy.m */; }; + 5B516E9999397C8117A3E79A16D000D6 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; + 5B527713CA77A1B78FADDAEE9B945934 /* FIRInstallationsBackoffController.m in Sources */ = {isa = PBXBuildFile; fileRef = 07BF67A0A21788F11E9820ACD60D8D4B /* FIRInstallationsBackoffController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5C094C1CA5DFEB066B954EEA4E79B19B /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; + 5C3F7FA1D14C0D299270BF4CBA6CB76C /* FBLPromise+Then.h in Headers */ = {isa = PBXBuildFile; fileRef = 7052AC5D6D5654663A540260A790CAA5 /* FBLPromise+Then.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5C4E3BEC68F14D2154A75E65160409AC /* MASPreferencesViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = B58420553C2C05721595A07121C1DF5D /* MASPreferencesViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5CB0D9FA9418E1F8C6D5BB116C78DB6F /* NSControl+RACTextSignalSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A04EC495FC3F245C92DED23861AA9885 /* NSControl+RACTextSignalSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5D05F6424F79DA9D40EDE9A54766378B /* mz_strm_pkcrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = F1FA7021849434D5223B692FD549309A /* mz_strm_pkcrypt.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5D1535B195A20A83DAB1A5830D71E0A2 /* GULMutableDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C65659FEC215D80300D12797FA1C4BD /* GULMutableDictionary.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5D975092790052FDDED833BF4E191935 /* zh-Hant.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 5DA99B9E23F8C76ADE6F91BA0971A2A8 /* zh-Hant.lproj */; }; + 5ED446040E44AEAC3F9AD5BBBDEF4992 /* GULUserDefaults.h in Headers */ = {isa = PBXBuildFile; fileRef = EE4CB1059E51277D733804DB367C4522 /* GULUserDefaults.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5EF9CEBC53E00075A9DA6DA100DB48C6 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = FFE71E26364B6DE008287D29241C3ACD /* AFSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 603C9389FA7851613185C94F3D5661DD /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 6057AA30197F38E7470EB7A7883C7F2A /* RACEmptySignal.h in Headers */ = {isa = PBXBuildFile; fileRef = 179014CAF67F2F121814D749D3D2802A /* RACEmptySignal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 6095B659DA0C927065C3B3B3250F3F28 /* FBLPromise+Any.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CC8B3B40E151C7C9924D6D64BEC9916 /* FBLPromise+Any.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6130390A28FACC2AAB743924489049C0 /* MJProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 0259A0ABF52478A29E9AA01C21FB225A /* MJProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6136DFF3F10F418EA26165FF95256B07 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 616261015BA6EAFD7A64CDF635586BE9 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = F67F2ACAB9A5F31F1236D73B51D1BA73 /* MASViewConstraint.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 61F3788E76CC22E839E99CD9B32915A4 /* FBLPromiseError.m in Sources */ = {isa = PBXBuildFile; fileRef = C04C65F6271CD58F799ACF36FA394049 /* FBLPromiseError.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 620C987092D89C947D6D7D4B25437EC8 /* NSText+RACSignalSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A285D08F88CC74E43C225C231C942F9 /* NSText+RACSignalSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 621A85EEC558E827589BA680DE3CAC95 /* RACValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 73F4585B5800096DD1A0F4A652E7DC5D /* RACValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6255E01AD848E216F970969B14F11C8B /* NSObject+RACLifting.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DFB749F6883E1B5DFCA483F86420864 /* NSObject+RACLifting.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 629C7DC5FC90AA184D863CC0C1863C2F /* PromisesObjC-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = ABD4B192C7438DB86E5DF5EAE7179F3B /* PromisesObjC-dummy.m */; }; - 62A0A45228800D371EC22C888600851E /* NSInvocation+RACTypeParsing.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E20D6E9E66775EF836AF9D7B333747D /* NSInvocation+RACTypeParsing.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6057AA30197F38E7470EB7A7883C7F2A /* RACEmptySignal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5531094EEE4EDE4763518DD2523E5476 /* RACEmptySignal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 6130390A28FACC2AAB743924489049C0 /* MJProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EF3DEB38F0123335954D77CA738A601 /* MJProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 616261015BA6EAFD7A64CDF635586BE9 /* MASViewConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EA423C8481A9EF549E84AF235D76E73 /* MASViewConstraint.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 620C987092D89C947D6D7D4B25437EC8 /* NSText+RACSignalSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = E9AC92ADFAC02492991483A9DBFDBB6B /* NSText+RACSignalSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 621A85EEC558E827589BA680DE3CAC95 /* RACValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 1714B7470E22D2723A6B1983138285B2 /* RACValueTransformer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6255E01AD848E216F970969B14F11C8B /* NSObject+RACLifting.m in Sources */ = {isa = PBXBuildFile; fileRef = 5954A2852292F1EC4826DB6EF0E11C51 /* NSObject+RACLifting.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 62A0A45228800D371EC22C888600851E /* NSInvocation+RACTypeParsing.h in Headers */ = {isa = PBXBuildFile; fileRef = CF68D8F610F80781FD93D14CB3F6128F /* NSInvocation+RACTypeParsing.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 63762380D6B86A596C393CAF0BF4FCA0 /* GULNetworkConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 260C5BC34E2901ABBEA06CB8A0A8898C /* GULNetworkConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6379B0FB9FE32475D1FC2CC5C9DDCDA4 /* Pods-EasydictTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 91595758B02C3B624DAEBA1FA94E413B /* Pods-EasydictTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 65886C3F4D2DE9256A673D0C8320222A /* MJExtensionConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 516F865062FD6D0012766CE885346764 /* MJExtensionConst.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 662FA58BFBA87239B5EDAC3BF981D4A5 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 32DA4ACBB46C10C500899B727F7C4729 /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6704D4966416ACF3B3E6449FE17FAEC5 /* GULAppDelegateSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AC915378D276FA9F1AA20D4E7ED6C9D /* GULAppDelegateSwizzler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6758F4C7DCD713527DBB69B197F5E1E3 /* MASShortcutView+Bindings.m in Sources */ = {isa = PBXBuildFile; fileRef = EF42A60D866E9FFF5EDFC12C417F1A7F /* MASShortcutView+Bindings.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 67926EEACC4290F238C9C48C6C2D13B6 /* KVOController-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8990ED32D1770EA4E78BFC12EB8EECFF /* KVOController-dummy.m */; }; - 67AEE626250489F63A0BBE4D3C98855C /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CAD97DF3898EA8AEA3B5EF4E5C9B0575 /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68C57367CBE929943971836F2F6C4297 /* RACArraySequence.h in Headers */ = {isa = PBXBuildFile; fileRef = DB80443A286142BB0026AA2343E7AC56 /* RACArraySequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 68DF57F8D5E78A535CB8C7143CAF7809 /* NSData+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 732CECAEA0618E1DB2B84455419A9101 /* NSData+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6974E24BE9E3AC5B24E3BD0163661858 /* FIRInstallationsIDController.h in Headers */ = {isa = PBXBuildFile; fileRef = 952FF6D91E420761878604AE0DCA3D4F /* FIRInstallationsIDController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 699F22C683CA2D29123075ED20D36F58 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 05767C42466EC7E44F052F349D142CB0 /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6A7EDEB3C7193F1D6B7070A5CE21D6B3 /* RACImmediateScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = BDBE48FB1E6C4627869067768F4A8892 /* RACImmediateScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6A9DB9EE3C062C273001986F241B1162 /* sv.lproj in Resources */ = {isa = PBXBuildFile; fileRef = BB9C6F4616C9C3DE051CF5009AB3AEF3 /* sv.lproj */; }; - 6AAB57091A8680E7F9C22AD25F70300B /* RACGroupedSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = C2E17595BEBBE53BBADDB7C09551CD8A /* RACGroupedSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6CE789048B8D7BF74CAF222812793988 /* FIRApp.m in Sources */ = {isa = PBXBuildFile; fileRef = B8A183217E34554C17BC9FB6DF63DF5C /* FIRApp.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6D3806F03535D399AB7564F3B7ED5F40 /* FIRBundleUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BBE5010ABC39044374D2BE439B29883 /* FIRBundleUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6D819C516A1ED58B10AD4110F944A6C0 /* NSString+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 675D8F2A2ABA3759AF1B000501A90E4F /* NSString+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6D970EEF75E30A4589A0CB0C296DCC6C /* zh-Hant.lproj in Resources */ = {isa = PBXBuildFile; fileRef = FD28846515D11A3024E2116B367F4A98 /* zh-Hant.lproj */; }; - 6DD5D1A933244769CC0504FE934A68CA /* MASLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F52ADF7BFF80B5D3E730E3A7F07C4C7 /* MASLocalization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E4EC8B8ED1F08438208A9537C18FDB5 /* RACDynamicSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = C996B558D6B8BA0D5C364E261B6DF222 /* RACDynamicSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E5BA38F45C9B904BAA86970852F0A9E /* NSString+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0DA6FF238593871A59930241831C86 /* NSString+MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E7E57D178AB07637DCE13FD1CC1D253 /* RACAnnotations.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D8C940F8455948001F1529FBFB76BAC /* RACAnnotations.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6F06687AD781B41A7AFA0D88D2CB7E82 /* mz_strm_mem.c in Sources */ = {isa = PBXBuildFile; fileRef = FE8B1BAB9DBA5509FDC50FCE5E616C93 /* mz_strm_mem.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6FFF5D225862928BBE3242F61D2FFD6D /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 012B75D1003A920BC7754E556D065741 /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 706DF9E16D5CF115D0548D102486FDCB /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 7098D7E4487E9DA9B7ACBAEB1CE9E20C /* RACTupleSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7CFD21166E04FC0B40DE0561E1EB2E /* RACTupleSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 70C5DBDB3056ECDC43869BB9C1EBD6D2 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 58F8F860EA8DF1085E93D2D8544AD638 /* SystemConfiguration.framework */; }; - 710C42636E795A793DE3E99C42A95080 /* RACScheduler+Subclass.h in Headers */ = {isa = PBXBuildFile; fileRef = DEB0FCDCFA15ADD9042E715DA25CB2A4 /* RACScheduler+Subclass.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 71314239929D8F0CB31DD755C3F4187E /* JLRParsingUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D185350283BADBF11F96A18E843C68B /* JLRParsingUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 717704BD9C6A7612D0709A634AF70097 /* RACSignal+Operations.h in Headers */ = {isa = PBXBuildFile; fileRef = D6124E6EEFDC708D0ABEC43697AA4F44 /* RACSignal+Operations.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7189A1BF2FC68A735BC4A983AAFF0A95 /* JLRRouteHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 4666ABA44A20BD811D6652D5DE2013CC /* JLRRouteHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 72022B481CDC49826D8692D64C090F95 /* Masonry-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B9EB60C28D35179D8EDB11262E41AF1 /* Masonry-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 65886C3F4D2DE9256A673D0C8320222A /* MJExtensionConst.m in Sources */ = {isa = PBXBuildFile; fileRef = 806658A0740D453229ABF8453A3A9223 /* MJExtensionConst.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6589FBEEE26D7F6E58F3BECF1FFBD42F /* pb_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 2E4BAE06429EE75C060592CF7B2C7A5E /* pb_encode.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 662FA58BFBA87239B5EDAC3BF981D4A5 /* MASUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 96A0B792C216ABE4B3D515F6B956C0F3 /* MASUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 66E7ECBE68A54291D01249912472AFA2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; + 67171A31C86CCF921A26BF0A4D802A6A /* FIRInstallationsLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = F21B52959855B9E7C64BECFCD34641C7 /* FIRInstallationsLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6758F4C7DCD713527DBB69B197F5E1E3 /* MASShortcutView+Bindings.m in Sources */ = {isa = PBXBuildFile; fileRef = CC002DB602B9751C7A6A99701FF6D888 /* MASShortcutView+Bindings.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 67926EEACC4290F238C9C48C6C2D13B6 /* KVOController-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F2A292C84E0672A6AB870E90C2E1A782 /* KVOController-dummy.m */; }; + 67AEE626250489F63A0BBE4D3C98855C /* NSLayoutConstraint+MASDebugAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B3B6B47A80EF21FA144DB6EA9E34E0E /* NSLayoutConstraint+MASDebugAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 67F00DF287F5E1CCAFC1245566CDFE57 /* FIRComponentContainerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B523DFB6B1D69BA3BC8815B34AE29FE /* FIRComponentContainerInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 67F37C3E91B6C5D51F0B70BABE5698B7 /* FIRLoggerLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CC2A829F79D047FCC851B0F0CC3D4E3 /* FIRLoggerLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 67F96398C771B9F675F87F094C687E68 /* FBLPromise+Catch.m in Sources */ = {isa = PBXBuildFile; fileRef = 173D54D682B22EF5CEA5D6CB73A68F8F /* FBLPromise+Catch.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 68C57367CBE929943971836F2F6C4297 /* RACArraySequence.h in Headers */ = {isa = PBXBuildFile; fileRef = BEFCC9FAA335AFCF00612B46FC891DAF /* RACArraySequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68DF57F8D5E78A535CB8C7143CAF7809 /* NSData+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = FB54FABA71FFAACD20FA4729662D489D /* NSData+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 699F22C683CA2D29123075ED20D36F58 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 20AC055AF058AB18C22E2EB61A25E431 /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6A7EDEB3C7193F1D6B7070A5CE21D6B3 /* RACImmediateScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = CFD1A2D8B6B997E2F64671D632D2A495 /* RACImmediateScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6AAB57091A8680E7F9C22AD25F70300B /* RACGroupedSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 60F3046204DD2662529EC6181E8C1B7B /* RACGroupedSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6D819C516A1ED58B10AD4110F944A6C0 /* NSString+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 73D7DBC34DA93D39AD1244574203E743 /* NSString+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6DD5D1A933244769CC0504FE934A68CA /* MASLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = F75B4B01BB1BD426998A76F2B5D668C9 /* MASLocalization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6E4EC8B8ED1F08438208A9537C18FDB5 /* RACDynamicSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = C52D7DA0ED60A919990DE1B02D332096 /* RACDynamicSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6E5BA38F45C9B904BAA86970852F0A9E /* NSString+MJExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = AE60E983EFE3DC595C64CF2CFE3C70D1 /* NSString+MJExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6E7E57D178AB07637DCE13FD1CC1D253 /* RACAnnotations.h in Headers */ = {isa = PBXBuildFile; fileRef = 2916446300311955E4AA74AAA7C83967 /* RACAnnotations.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F06687AD781B41A7AFA0D88D2CB7E82 /* mz_strm_mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 03125AC96C270B30979C7BD57EF02646 /* mz_strm_mem.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6FFF5D225862928BBE3242F61D2FFD6D /* MASConstraintMaker.h in Headers */ = {isa = PBXBuildFile; fileRef = 16D555AC9F4A92C6D4427CCFF69DD08A /* MASConstraintMaker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7001DA3BD8F4DFFCFE00A56DCFC61999 /* FIRBundleUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EAF784F7862C1985CD15FD146FC25C2 /* FIRBundleUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 707B82F63FF56E0AA36A5E6BB820E749 /* pt.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 8D60A87754C8D61F6A08EC9BEB906AFE /* pt.lproj */; }; + 7098D7E4487E9DA9B7ACBAEB1CE9E20C /* RACTupleSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C8453BA0010436442CCEABF3A8E0AA4 /* RACTupleSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 710C42636E795A793DE3E99C42A95080 /* RACScheduler+Subclass.h in Headers */ = {isa = PBXBuildFile; fileRef = A1411614EB442FBBF01108E457A800D3 /* RACScheduler+Subclass.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 71314239929D8F0CB31DD755C3F4187E /* JLRParsingUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = FBED67EB294DDA1774EA3BCA3A047F27 /* JLRParsingUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 717704BD9C6A7612D0709A634AF70097 /* RACSignal+Operations.h in Headers */ = {isa = PBXBuildFile; fileRef = 44373CF68A4C2CA93F30616352F16D5D /* RACSignal+Operations.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7189A1BF2FC68A735BC4A983AAFF0A95 /* JLRRouteHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C3ACB4FECC9B3CBC7EF3FE4E1DF913D /* JLRRouteHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 72022B481CDC49826D8692D64C090F95 /* Masonry-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2D2A6213ED42ED611A22A2519A354A /* Masonry-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 72CC8F371AD383A9E33920DC023E79D0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 7377BE8A12A0C450CA5F21DF56444679 /* DDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = FAFF2FBECCC952475F56C02E77A506EB /* DDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7402093F84437A81B63605FDB795B736 /* FIRInstallationsAPIService.m in Sources */ = {isa = PBXBuildFile; fileRef = 24BE397B182B810736A3A2B92C86304D /* FIRInstallationsAPIService.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 74E7ECA70FD8819C3F30722EF834B8F4 /* FBLPromise+Retry.h in Headers */ = {isa = PBXBuildFile; fileRef = DF2E5624817742D2F918CC31FAD4A675 /* FBLPromise+Retry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 75EFBB60E7901AA87AC1650C3A8BEB5E /* FIRInstallationsIDController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7232DA0A550267431C79681EB83266E6 /* FIRInstallationsIDController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 76CDE97AAF5D3E001525455B10A407F0 /* NSEnumerator+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 61AC5D261469F4F859961AD455CE30F1 /* NSEnumerator+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 77116A50197ADFC6613300A7E187C4AE /* NSOrderedSet+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 193DF24125966AE08DF194E6D84AD896 /* NSOrderedSet+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7729C11A2558C2471A8B8D58A874EE6A /* JLRRouteResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AE7C2FF8E11A8732192C52A0564923D /* JLRRouteResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7763A2A812D1404E0F045F9A8861A4C8 /* FIRLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 61F97E6254C10366A69FE030E1BFA1CA /* FIRLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 776BC19323A64FFBAACF2DCDC4AFFD0A /* FirebaseCoreInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 20FF9F98699EF40ECFFFD8A5E9E7B84A /* FirebaseCoreInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 77E89ABBF0B14D029D55072153F36336 /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = EAF2E6F3DF63742ADE2510FE68E6CCC2 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 786881B4FA7A1E65877C18000E0A10EE /* FirebaseCoreInternal-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C70C3070C8D127470BB6821D2F804A34 /* FirebaseCoreInternal-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 78C941181BE02EB8A4916ECBEB7EAF81 /* FBLPromisePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = FEA513695625D1E2412F5439477004B5 /* FBLPromisePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 793A7928DEEC23B10E8E44EF180745E6 /* DDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = E821AD87F3540C86F9BD014CEDF164A3 /* DDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 79CAC0A0F92732E566C161D4E4EE7B14 /* NSNotificationCenter+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 5030B6F97B0FAB1561AB836A9C8BAEDB /* NSNotificationCenter+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7A28D53E407EE66B11009F914ED777CA /* GULReachabilityChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 30EF18043EA40CBA2354DA01B7CD722B /* GULReachabilityChecker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7A4B0BB16889A106436DAC25A2EA69D5 /* FIRInstallationsStore.m in Sources */ = {isa = PBXBuildFile; fileRef = CFB5012346A2A2E2C2E09A8B1A34EBB6 /* FIRInstallationsStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7A53EB4750CD3B4FA5048CE5F5684B9B /* FirebaseCore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C67621C7BE33946304BD7E14C8CD4C4 /* FirebaseCore-dummy.m */; }; - 7AC49087D4FEE0FD4F1B8C028653B39D /* RingBuffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91BF0D53C3A1A73B206B03F818AC4217 /* RingBuffer.swift */; }; - 7B05A2482792E0B086CA8DF76830D825 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3743207240D54CEFFE648B7D626F359E /* Foundation.framework */; }; - 7B2B68522D4BF5168531352A043D7A73 /* FIRComponentContainerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BF1DA398243E13AEF7B32CBE6C13C4C /* FIRComponentContainerInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7B835D47DE258886D4DE32448092B2E0 /* MASShortcutView.h in Headers */ = {isa = PBXBuildFile; fileRef = FCDD3D90BB222555E9B2864B2C7B2BEC /* MASShortcutView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7C029376ECFAAF6EE34B547B6A8F98FD /* MASShortcutValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 487CC32671C6FBB493BCAE25207581C4 /* MASShortcutValidator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7C463BF5DAEC76808A9913E1ADF5CABA /* FIRComponentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 728221625F5E757A9B18FF7B60D136A6 /* FIRComponentType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7C474BFBF9480E1AF0877C9E77E617EB /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 780A9FA4B7C321BD7CB99AB735B699EF /* DDContextFilterLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7CAF4C538E7EBD2FA7167E6CA4E05A0B /* GULOriginalIMPConvenienceMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 69853FB30DCB59B08B341CE8938AADAC /* GULOriginalIMPConvenienceMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7DB2C0596405DB863CF2B2A489AE2636 /* mz_zip.h in Headers */ = {isa = PBXBuildFile; fileRef = 6FB1CF631C8B541DC69838832FF3DD52 /* mz_zip.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7E66F1A228B05451FAEC6669F0CB3A4B /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = B9588A80D3E7AA0935856F0F1D4BA493 /* DDDispatchQueueLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7ED69AB3F6E6ABB3474EB29D26B2FA9D /* GULAppEnvironmentUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 4160AB7DDCFBC75A4AD88F479169A22B /* GULAppEnvironmentUtil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7EF822A9C4C636B72A8D8A75743B7BA1 /* MASShortcutMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = CD3BEED450D50B90E7F743D9C57F2894 /* MASShortcutMonitor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 72D017AADCB1C59BECF76DEC2A8FBD48 /* GULLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 86315F0061C584291FBF259043FB0381 /* GULLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 732891897D61A904D068FF8CBD5D2DB7 /* sv.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 85AD4FF46CE265896ECA71D5923C3AF6 /* sv.lproj */; }; + 7362960416D1EC319EED7C3B29DF9128 /* FBLPromiseError.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A02F7250C79C56928DBD90D1C37C520 /* FBLPromiseError.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7377BE8A12A0C450CA5F21DF56444679 /* DDASLLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = A102FCDCE6DDFE1B30AD2D473E151A10 /* DDASLLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 743EA59AD23FC8A38376E6B36D3A1EE4 /* FIRComponentContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 78BE4B2F95B687B52E987441C769B28E /* FIRComponentContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 750014FD2A30381DA5049E57C7F28053 /* GULReachabilityMessageCode.h in Headers */ = {isa = PBXBuildFile; fileRef = DCD471D706BC4AB2D9B38610FE0A587A /* GULReachabilityMessageCode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 755FC4FC87ECED46E3E9921443B1B6EE /* WeakContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345308E1BD97FCCAD7EF080EECEFEC49 /* WeakContainer.swift */; }; + 76CDE97AAF5D3E001525455B10A407F0 /* NSEnumerator+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E38B8311AB067C369C9F4C74DA83207 /* NSEnumerator+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 77116A50197ADFC6613300A7E187C4AE /* NSOrderedSet+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = AE9AF75579936752E2B9F72417AE5C7B /* NSOrderedSet+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7729C11A2558C2471A8B8D58A874EE6A /* JLRRouteResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 9626AE9F8FA660DBE49A6781BF75A474 /* JLRRouteResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 77E89ABBF0B14D029D55072153F36336 /* NSArray+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 68C4C93A67B11A13201E04462A130F27 /* NSArray+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 77F920CCE30ED45F7D1945CC428B5ECA /* FIRInstallationsAuthTokenResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9ACB6BE5C4D5684E26B7854F9974B769 /* FIRInstallationsAuthTokenResultInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78641A1AC7029D3F0F32249B97470016 /* FIRInstallationsAuthTokenResult.m in Sources */ = {isa = PBXBuildFile; fileRef = B8A592F1AB84E52282FDC935B383C6A2 /* FIRInstallationsAuthTokenResult.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 792285DF92F2C67CF52E334069B8DE3A /* StorageFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5582A38A07A69A7F0BCB25116BECD5B4 /* StorageFactory.swift */; }; + 793A7928DEEC23B10E8E44EF180745E6 /* DDLog+LOGV.h in Headers */ = {isa = PBXBuildFile; fileRef = 3994B1B78981BAF397703D97B0EC4FE7 /* DDLog+LOGV.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 79416C10D4656F084ABF44DF277B74CC /* FIRInstallationsSingleOperationPromiseCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD4072EFB581A732EC07091445602A4 /* FIRInstallationsSingleOperationPromiseCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 79435F7F18365077BC0B4FD7605F8030 /* FBLPromise+Testing.m in Sources */ = {isa = PBXBuildFile; fileRef = AADAFE53B685AED532FE572D802192FB /* FBLPromise+Testing.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 79CAC0A0F92732E566C161D4E4EE7B14 /* NSNotificationCenter+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 05BBACF1ADC2F44DBB7AE20B6C97727D /* NSNotificationCenter+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7B835D47DE258886D4DE32448092B2E0 /* MASShortcutView.h in Headers */ = {isa = PBXBuildFile; fileRef = 14BAB026E4918EF5CBF4DA88D4CDB86B /* MASShortcutView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C029376ECFAAF6EE34B547B6A8F98FD /* MASShortcutValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 10706F1C6A71EA2C3BC09E9A2714ECE0 /* MASShortcutValidator.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C474BFBF9480E1AF0877C9E77E617EB /* DDContextFilterLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = F391E4EC039B3906EF13881151D99003 /* DDContextFilterLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7C4A62574F134FF6C56AC0A3D3D6D901 /* GULKeychainStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 81279A5A9A276E0BDFE022515147ADAF /* GULKeychainStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CB9816F33BD9B26822CB0E442547ACC /* FIRInstallationsIIDStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CD1143CC3321136DE442A5C105F130B /* FIRInstallationsIIDStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7D5BD4C0794690E8C9A22126B8D1D897 /* RingBuffer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 772B62BFEEE5D0345BDC2451EC70433F /* RingBuffer.swift */; }; + 7DB2C0596405DB863CF2B2A489AE2636 /* mz_zip.h in Headers */ = {isa = PBXBuildFile; fileRef = F255351D0A8061B242BF10480EEF3448 /* mz_zip.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7DD2344DE7877A6AE87A7B3F638A6C9E /* GULNetworkConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 74137358BAEFA80ABECDCE90B2EBDD7D /* GULNetworkConstants.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7E66F1A228B05451FAEC6669F0CB3A4B /* DDDispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = FE163D4A5D7FDF3BEDF57DAAFCC707AF /* DDDispatchQueueLogFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7EF822A9C4C636B72A8D8A75743B7BA1 /* MASShortcutMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = 20F9BEDF08779FA1CA59C530EAF6024D /* MASShortcutMonitor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 7F37C2304C7B4695B6E155E75C6C2F35 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 7F3AA6AD766DE6997AB2F5F20B1DD041 /* FBLPromise+Do.h in Headers */ = {isa = PBXBuildFile; fileRef = 87E2715C339B7E78EBA82E6E13633A50 /* FBLPromise+Do.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7F58BE8838D03B2D5B30E68952FF1E4D /* SSZipArchive-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 55F9552DB3E2CA38E47B2091F0DAAA29 /* SSZipArchive-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7F58BE8838D03B2D5B30E68952FF1E4D /* SSZipArchive-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F3B9664304A486033DC2DC45E4FAE785 /* SSZipArchive-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 7F59999179584A86DC8922AF1D751E96 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 7FF9376D0BD3159E82F3AA26178EBA07 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = E6CDD2A4B9C53B6103A959099F687BD4 /* DDASLLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 80257B34E56F13857C770E6035C5985B /* GULKeychainUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 82D41F351BF38A1278EED9958E294417 /* GULKeychainUtils.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 81B0A880263E42B4A7682B8D656E9433 /* MJExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9345C0E7A81298D832EBE9D2789C78 /* MJExtension-dummy.m */; }; - 822C5A15A16A7B73568F2B5AA5DF8C19 /* RACMulticastConnection+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = B43CF529E1F7D0CBC78C616AE177AFDE /* RACMulticastConnection+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 82EFD56B8E0B0EB2026FCA3D538A2E10 /* FIRInstallationsHTTPError.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BDAB8DDC932103A8745324ED5A55DD1 /* FIRInstallationsHTTPError.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8302731384FB73D5762C8655FFB60F9E /* GULKeychainStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 00E177242EA523EE88B973E43FFF4B99 /* GULKeychainStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 833AAE7B7D0D511E672BD80917296DD8 /* FBLPromise+Delay.m in Sources */ = {isa = PBXBuildFile; fileRef = 91B4D3AB4BE485DBD47361731B9DA696 /* FBLPromise+Delay.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 834348F0132529F12B348C26A4B3C46A /* RACBlockTrampoline.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C5486F87DC72D5B5165889BBFC40BB0 /* RACBlockTrampoline.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 83F1B5B477C366CEB687307042F60FD3 /* RACReturnSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = 829961427891518B1A65312A991CE6E2 /* RACReturnSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 83FFAA59271E8762D6EF4CD3FA29A03C /* FBLPromise+Wrap.m in Sources */ = {isa = PBXBuildFile; fileRef = E93DE43A839E0EFB480B908FA4A26874 /* FBLPromise+Wrap.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 84495983E3D414E46242F6C636D10610 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 84ACC3AF89A877AAB82B319A477B6EDD /* FIRInstallationsIIDStore.h in Headers */ = {isa = PBXBuildFile; fileRef = D9ADC706267A7984747F18651ED098FB /* FIRInstallationsIIDStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 84C7942AEEA6CDC932C537A94FBDDDDB /* FIRBundleUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = DEF53E2D0902CC6622A588A2105277AB /* FIRBundleUtil.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8590AC8670A3A6156B48C56C3C2C9A8E /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B72EE42DAE4F8BF4E6D8C2386D1F8D0D /* View+MASAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8650C0BF10BB7E1C8131AEB0B06248FA /* FIRComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = D2B608BEE9548AB53E7A8BEE06E16C85 /* FIRComponent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 865AF9D290E6170F37B1EFC3D530B9C9 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D06F82B2C8DF85281AC6BD14C050CC /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8672747FE7791AB1BDBE5FF06127C72E /* DDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AE1E78DBFADE6CFCA25251F934C632E /* DDASLLogCapture.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7FF9376D0BD3159E82F3AA26178EBA07 /* DDASLLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 5962D56B95EFC52FD10B3165754F2411 /* DDASLLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 80D808E01AC20178B60DEFD0D2BD4488 /* FIRInstallationsIDController.m in Sources */ = {isa = PBXBuildFile; fileRef = B02F3DF7C24B086BAFA97A512CA926A1 /* FIRInstallationsIDController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 81B0A880263E42B4A7682B8D656E9433 /* MJExtension-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FFDACBB5807D2354F7B963DC06B83715 /* MJExtension-dummy.m */; }; + 822C5A15A16A7B73568F2B5AA5DF8C19 /* RACMulticastConnection+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 402FF25527DC11DD8064B7A5CE853432 /* RACMulticastConnection+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 834348F0132529F12B348C26A4B3C46A /* RACBlockTrampoline.h in Headers */ = {isa = PBXBuildFile; fileRef = 939271C307495FBB955DA6DD5A47A9ED /* RACBlockTrampoline.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 83F1B5B477C366CEB687307042F60FD3 /* RACReturnSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = A565DBA2B609B783BF07FAC1B5AC4D01 /* RACReturnSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 843557639FD0DFB0B5BB9CDA5DACB29F /* FIRComponentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 65D0FD7FE6C9C23E76E522A5020790CC /* FIRComponentType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84C2473F66484C373BF1485758CFCEDD /* FIRInstallationsAPIService.h in Headers */ = {isa = PBXBuildFile; fileRef = F0454752C5AA5F6505761B06100305C2 /* FIRInstallationsAPIService.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8590AC8670A3A6156B48C56C3C2C9A8E /* View+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A917F20A967D4A566374BED4D6273E43 /* View+MASAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 85D2AB6BFCA86D718B7EFBB333B17657 /* GULSceneDelegateSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = 870E635E286D84B438B3BBE74B5D4D73 /* GULSceneDelegateSwizzler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 865AF9D290E6170F37B1EFC3D530B9C9 /* MASViewConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 554E64268FB16173A0B1C2BB61D3D032 /* MASViewConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8672747FE7791AB1BDBE5FF06127C72E /* DDASLLogCapture.m in Sources */ = {isa = PBXBuildFile; fileRef = AC7ACCB46FA0F946F6813F7ACCEF24B2 /* DDASLLogCapture.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 8677BB28A889433C2632F2C1829F2F3A /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 86C2549401346803A2B4405EBB568023 /* FIRInstallationsAPIService.h in Headers */ = {isa = PBXBuildFile; fileRef = 38764A5327392A65480C903C2DD12673 /* FIRInstallationsAPIService.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 86D90657C52E5C1038ED46D1CDE3FD8E /* DDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 80DEBBF7810E31E33C990C6EB038567A /* DDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 881F1FEB1A7C73462643B5E5B3F732CD /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 79B2B067B858F128192C1916F0199A74 /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 886B4AC9B1FE36EFF7CD38820E10BFAD /* MJPropertyType.h in Headers */ = {isa = PBXBuildFile; fileRef = E456EE4FE3529002B8578D44BD08F01E /* MJPropertyType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 892AD72AE8798E957105491D1824792E /* RACGroupedSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = DD0D399F45683D98A57536950B03B4AE /* RACGroupedSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 86D90657C52E5C1038ED46D1CDE3FD8E /* DDOSLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = E692477A5A8E075F8D9D7846CC4DC0D2 /* DDOSLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 881F1FEB1A7C73462643B5E5B3F732CD /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = DCDAFFC1C0B94B510D3CF380B6EA8F40 /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8832124D709A94D868383E10A05A1F9F /* ja.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 5397358700619E4CA7E94CCFE443BBC9 /* ja.lproj */; }; + 886B4AC9B1FE36EFF7CD38820E10BFAD /* MJPropertyType.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B6B861B3A13854A7F551B000F6F3027 /* MJPropertyType.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 892AD72AE8798E957105491D1824792E /* RACGroupedSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = 078F91F85261D973F1918F7B9396DA9A /* RACGroupedSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8955255AD7B8EBBEFD6411AFDEB454A3 /* FIRInstallationsSingleOperationPromiseCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DBB45C8C84154E38284FF237A132770 /* FIRInstallationsSingleOperationPromiseCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 89C4A852D0FE33715E54587D9974FF59 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 790BD6248FBDA5CB1CA516A6BB81FAAF /* Security.framework */; }; - 8A0307588E78B40E788D91E74AB060B3 /* RACDynamicSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = E06D8E900F97EF4CA4C84721CDD30DAD /* RACDynamicSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8A59667D60B188E1F45E8FA8119C52A0 /* nl.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 6282B19128E077E463403836D6F4647C /* nl.lproj */; }; - 8AB091199F99F1C2E9E67030DAC50F6E /* mz_strm_mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 860EDF776A23BE8E45DA3786DB28D2B2 /* mz_strm_mem.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8AB8A4E03CDD857972A39FD1FFCAAE5F /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC3DDE72B95B2FBB432A33151C936EBA /* Storage.swift */; }; - 8AFFCCF815D5B2928A26CFFCA51EBA4B /* RACStringSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = A21E0740E7CC8265EE6D1FF71DEC95B9 /* RACStringSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8B52D38719C57490297531FC9E292934 /* RACSignalProvider.d in Sources */ = {isa = PBXBuildFile; fileRef = 9C77B7010667A0E48437D279F6DF3FA9 /* RACSignalProvider.d */; }; - 8B5AA9A05281D48C9A99BE1C42C0AB1F /* GULSecureCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = F801F0E7CC76DF9B11E65CA96201FE92 /* GULSecureCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8C94DDAE7AD73D38A505E350DA72FD3E /* zh-Hans.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 7C85465E123D877BE6CE101A2040B6F2 /* zh-Hans.lproj */; }; + 8A0307588E78B40E788D91E74AB060B3 /* RACDynamicSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = D87CB9BD130D9DE858B5476F72537063 /* RACDynamicSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8AB027F62A2F4180EBF517771A936A0B /* FIRInstallationsStoredItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4748AB6DF24EB82DFA43BAD9A250B803 /* FIRInstallationsStoredItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8AB091199F99F1C2E9E67030DAC50F6E /* mz_strm_mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 339DBFF04BF5B69045288571D7E37278 /* mz_strm_mem.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8AB9464A34F698261E28D7519E1CDCA3 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A60CFC28EFE537D195AC6987A41C114 /* AppKit.framework */; }; + 8AFFCCF815D5B2928A26CFFCA51EBA4B /* RACStringSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E162513111EE19EC0ECAE87D47F904C /* RACStringSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8B52D38719C57490297531FC9E292934 /* RACSignalProvider.d in Sources */ = {isa = PBXBuildFile; fileRef = 2501B0C0E6CE388D5A181E9AFB44319D /* RACSignalProvider.d */; }; + 8B704183EDA24926F08CF253ED169997 /* FIRInstallationsHTTPError.m in Sources */ = {isa = PBXBuildFile; fileRef = 806E002D04712787CE1BD3CF70F58B25 /* FIRInstallationsHTTPError.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 8D1041565BCC3CD7C38D565F0AF0C746 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - 8D215B9F6A2D5684D6AEA6A74DB0C471 /* RACErrorSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = 307DE2C1A0EB008CA7B5AB3FCD583513 /* RACErrorSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D44796A8C9452BF189DDC32C423FA30 /* mz_zip.c in Sources */ = {isa = PBXBuildFile; fileRef = 06098597133336AEE43C16D0B0EFDF4E /* mz_zip.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8D8BBB7738F7262E2634CB26FD06BE0A /* RACScheduler+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = C9D741A769FA94D00FDD6418D4244744 /* RACScheduler+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 8E150CE71807FBE277110978EA1C551C /* ko.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 68F48234EFAA55126400F229E4DF079F /* ko.lproj */; }; - 8E4E3DE7EA18A7E21A11AE50CFD47981 /* MASPreferences-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 136A0FE14FDEDE1924305FDFB94D89EA /* MASPreferences-dummy.m */; }; - 8F4FEF0B88CCF7080DFED57647D91E18 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 725B4EFDA8141E06ECD4FD67A4ECEBFC /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8F789E287D8A1A54A054A0E116135EF2 /* FBLPromise+Recover.h in Headers */ = {isa = PBXBuildFile; fileRef = 29A24D2863A4CA3867E12145BC9FBEAC /* FBLPromise+Recover.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8F7FE94D865D6F8EFA1EB153BDC2CF2F /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = F5E9539F405FB07BBA1659A1509602B1 /* DDLog.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8FDDA09F9302E9C797285E9B3EAB21EC /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = CB5E64FBE87BA2C4FE877389496B4F36 /* it.lproj */; }; - 8FFAEC748E582309A35E1B2723DA9448 /* MASShortcutBinder.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE4C189D987CFEDE9C81D36900C7A07 /* MASShortcutBinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8FFB527EC591BB17639B7A25C2C7F828 /* HeartbeatStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BC9B203BB251EB4A749B4A2C42FDE05 /* HeartbeatStorage.swift */; }; - 90DF670DC21B9EFD8DFEFC5081073963 /* mz_strm_buf.h in Headers */ = {isa = PBXBuildFile; fileRef = D73E43D2C411958804F103D5F44EAD71 /* mz_strm_buf.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 91033607F2490695CDBB73CD67B62C1E /* GULSceneDelegateSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DF7DA3305BF21B4332ADB6558CBE0DA /* GULSceneDelegateSwizzler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 91FED278B1A97F96591BAFE55B420DE9 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 260925E2D63BBA1E016C2CA597C8346E /* DDAbstractDatabaseLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 92983E11297EFAC67C2D6E5A53E7C5B8 /* FIRInstallationsItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C48901AEA0CBC5BC117D8B0A4532A80 /* FIRInstallationsItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 931DD5876CCF2F87AC131BBABA3A3553 /* FIRComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = C51D6C4F577F42DC529DE2C3147D762A /* FIRComponent.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 93605887C8C794E9B0BBDF943998FCD8 /* FIRHeartbeatLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 10C9273649D39C20759AB9E7DAE9B303 /* FIRHeartbeatLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 93D8E710B07B1C24714594FB530E1FA4 /* RACSignalSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 2BF5CF7AA72B9D3C238DDA2196B2F77E /* RACSignalSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 94040927102D7FFDE941DEA49AD6AF4D /* NSDictionary+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 22736401C396CED477E8F10ADEA64A61 /* NSDictionary+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9412894A7260A55BFDD408C03A81C3EF /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 574D7028FF1BA3AB6F2443208C34EEBD /* AFNetworkReachabilityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 941B662CA254AE4AF75B16E4B46CBFA2 /* SwiftLogLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 5F09B37D2296BF0D4EB4A73A52418312 /* SwiftLogLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9698FB9E0A8A85823713D9A3E1330A2D /* FIRInstallationsStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 12E98664D1E403D95495D0FAB18C20C3 /* FIRInstallationsStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 97244E3B5FF4E21DC23909491BEF2A18 /* NSObject+MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = ADA44E77878BA9ECA1F81F0ECACB5AE2 /* NSObject+MJProperty.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 974D8A2F96CAE4285036628F2AAE3B3F /* NSURLSession+GULPromises.h in Headers */ = {isa = PBXBuildFile; fileRef = E7F99694FB9C037799B1F66C50CFCC73 /* NSURLSession+GULPromises.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 97AE4FB93C2E5F42EE079A132EE7F1D4 /* MASShortcutView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E402BDEB65FB5C7A5D7B9F0F702C7BA /* MASShortcutView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 98D7016BD808889A12E8F9E705A9EAFA /* RACSerialDisposable.m in Sources */ = {isa = PBXBuildFile; fileRef = E6DCD53DE1B12968851F9151C3E64074 /* RACSerialDisposable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 99C3157D6C24B6313766D8AC358CEAE4 /* MASShortcut-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 832A38F24A7F6C564F78DAFA316707B2 /* MASShortcut-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9A597A653561E72D78F469066B2895F1 /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 25E5BDBC00B6BA0DC8A2511EAD1E937A /* AFNetworking-dummy.m */; }; - 9ABB1EE03E16CEA317C94740FA1E42D0 /* RACEmptySignal.m in Sources */ = {isa = PBXBuildFile; fileRef = B1879D7A52C9450570BB87017043443B /* RACEmptySignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9AEF34A17DEB9365A1AB6A7D3E3A52BB /* FirebaseInstallations-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 54A9F842955EFAA31168A1A7C6E207AE /* FirebaseInstallations-dummy.m */; }; - 9B487D0717BBE7A16B58C58C78505F7B /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = E0605F8DC53F73B008023C63CC3599CC /* DDMultiFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9BA289B9A97387364A7B455D8E6452B8 /* RACEXTKeyPathCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = D7AF4737DB0F8CAC93AFB005102C0BBA /* RACEXTKeyPathCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D215B9F6A2D5684D6AEA6A74DB0C471 /* RACErrorSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = 13F885E42810A88FF17B51D18733151F /* RACErrorSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D44796A8C9452BF189DDC32C423FA30 /* mz_zip.c in Sources */ = {isa = PBXBuildFile; fileRef = D4A290C7DD62A4E21DEB32E6FECE03A1 /* mz_zip.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8D8BBB7738F7262E2634CB26FD06BE0A /* RACScheduler+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F747F14A9735FD0CD3A1D9BF1999AEA /* RACScheduler+Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8E4E3DE7EA18A7E21A11AE50CFD47981 /* MASPreferences-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 29227DCF3170C35CF09683B5F2AF4028 /* MASPreferences-dummy.m */; }; + 8EB850C83CE115C31E35B12B18A7A923 /* FIRInstallationsIDController.h in Headers */ = {isa = PBXBuildFile; fileRef = 77B3B590B210945E9576377854265468 /* FIRInstallationsIDController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8F0BA1EA7E1132FCCB2BD85A6F982586 /* GULReachabilityChecker.h in Headers */ = {isa = PBXBuildFile; fileRef = 2010079882908D2167EE3C1C1569ACE4 /* GULReachabilityChecker.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8F4FEF0B88CCF7080DFED57647D91E18 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A278A2720D0145417FE0558E6B82727 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8F7FE94D865D6F8EFA1EB153BDC2CF2F /* DDLog.m in Sources */ = {isa = PBXBuildFile; fileRef = B1D394F2CAAA6FFD919EF2D35945E546 /* DDLog.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 8FFAEC748E582309A35E1B2723DA9448 /* MASShortcutBinder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F092E7C9E960B0D999712B4ADC01B77 /* MASShortcutBinder.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 90DF670DC21B9EFD8DFEFC5081073963 /* mz_strm_buf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DB78DD8D56E1E67FCB0B3054A171FAD /* mz_strm_buf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 917C0C4610DB4424D13D8DC963FF7F93 /* FIRInstallations.m in Sources */ = {isa = PBXBuildFile; fileRef = 789D1B32E38A7F853725517C1A23D572 /* FIRInstallations.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 91BBBE3D0B2DD981C830135D9F6152A6 /* IsAppEncrypted.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0BC286F143D70C3E47E980FF58B5E3 /* IsAppEncrypted.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 91FED278B1A97F96591BAFE55B420DE9 /* DDAbstractDatabaseLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = F493DBAA683AC805B441ACC888A0B05F /* DDAbstractDatabaseLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 932B1F2E7AAB54683E2EB46D2308412A /* GULNSData+zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B2F17D2B3C840B9C8D9961EB1F9AEAB /* GULNSData+zlib.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 93D8E710B07B1C24714594FB530E1FA4 /* RACSignalSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = BE9CCF5193A03D9E080CFCE14512A8B9 /* RACSignalSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 94040927102D7FFDE941DEA49AD6AF4D /* NSDictionary+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CE9567F3F1761BB1A9AF92D3A2F244B8 /* NSDictionary+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9412894A7260A55BFDD408C03A81C3EF /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5EF82EBB7643BA7083C69110B5CE58A3 /* AFNetworkReachabilityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 941B662CA254AE4AF75B16E4B46CBFA2 /* SwiftLogLevel.h in Headers */ = {isa = PBXBuildFile; fileRef = 838E4DD371CE2E6744F72589106BAF2F /* SwiftLogLevel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 942CA8EC04306F3DB8859494E56E96D5 /* FIRConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 00503E6201D69A55E4735E488873F7C5 /* FIRConfiguration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 94CA83498BA942E7E82ED9F61508E5BC /* de.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 3158A4B666347A88BA194E5486016BFC /* de.lproj */; }; + 94FCBBC643961AFA76DD54E1DC82B6F0 /* es.lproj in Resources */ = {isa = PBXBuildFile; fileRef = E502DCB349E734215CDBCEAA88BFBC92 /* es.lproj */; }; + 9580BD8962D522E923426210CC9A5E25 /* FIRLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 96198E391D3C378290CEE94023BCDA79 /* FIRLibrary.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 959D567188348BC0FFFD2E5EAC3AF0F3 /* pb_decode.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D0A390E4166525C8125F0A7DAFBA1A /* pb_decode.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 97244E3B5FF4E21DC23909491BEF2A18 /* NSObject+MJProperty.m in Sources */ = {isa = PBXBuildFile; fileRef = 54966651A68A168B6042371643129CC2 /* NSObject+MJProperty.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 97AE4FB93C2E5F42EE079A132EE7F1D4 /* MASShortcutView.m in Sources */ = {isa = PBXBuildFile; fileRef = FE9C3E5E4BAF1B95EB79937D96DC8F8A /* MASShortcutView.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9886A202743C3D756057B418ECA92694 /* FBLPromise+Wrap.m in Sources */ = {isa = PBXBuildFile; fileRef = 2854988BC599B89EF42966D485630F58 /* FBLPromise+Wrap.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 98D7016BD808889A12E8F9E705A9EAFA /* RACSerialDisposable.m in Sources */ = {isa = PBXBuildFile; fileRef = 64A5AF0C72DB0257E6C231D0DE88BF33 /* RACSerialDisposable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 98DC7152B0792A78EBCF1E01EEB44EE0 /* fr.lproj in Resources */ = {isa = PBXBuildFile; fileRef = D1CAC98679B2EC99420EAAD6CC42FD4E /* fr.lproj */; }; + 99259C7BA5AB79360C72BF5B6842DB54 /* GULAppDelegateSwizzler_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 60E694E0032D9C53BFFC909C41684F58 /* GULAppDelegateSwizzler_Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 99C3157D6C24B6313766D8AC358CEAE4 /* MASShortcut-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E7E3B5FC8702522CBB493A5FEC043478 /* MASShortcut-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 99FF85D64D408B3148F45E75A56E6AAA /* FIRInstallationsStoredAuthToken.h in Headers */ = {isa = PBXBuildFile; fileRef = B5E1C5DE35F51CEC1FC2FF4EB9ED5961 /* FIRInstallationsStoredAuthToken.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9A597A653561E72D78F469066B2895F1 /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A9E909958E0C308188C32BF31E4F7CD0 /* AFNetworking-dummy.m */; }; + 9ABB1EE03E16CEA317C94740FA1E42D0 /* RACEmptySignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 39DCB3E395F34B2908BA0633BA97C812 /* RACEmptySignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9B487D0717BBE7A16B58C58C78505F7B /* DDMultiFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 86425451C2B72F68D89CA38BD92C07BF /* DDMultiFormatter.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9B4EA39A4FECC9D9C9A0486E926DFF5A /* en.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 9CD0EF998EAC78FDC67CDC6F46FB33EA /* en.lproj */; }; + 9BA289B9A97387364A7B455D8E6452B8 /* RACEXTKeyPathCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E4A9BF1EF1EFF9BBF061E3EE7096E3A /* RACEXTKeyPathCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9C833CC525D852B80C82F3F4CFC7E889 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 790BD6248FBDA5CB1CA516A6BB81FAAF /* Security.framework */; }; - 9D68B0BFC07FA2BDA5F4B9762131F73E /* FBLPromise+Retry.m in Sources */ = {isa = PBXBuildFile; fileRef = EAACE17841BC1026606CB559BDC75B4E /* FBLPromise+Retry.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9E0F4BFEB3736B96D2E36B0E31B37F5B /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DB60D9D9863371EEE59C51E381D817F /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9E10FCAF421FF2D3C1FA790FF463B880 /* FirebaseInstallations-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F56572217F4B4D8A01A5F9EBB204EF0 /* FirebaseInstallations-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9E75571BABA8A9EF2AA615B065BEF700 /* RACScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = E2237870946CC893397747F6ACBFBA63 /* RACScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9EC0C540EC73C9BBEFEE86715ECFBB53 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = D9767B170E9F2705902CD82227800886 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9FFDF56F1E0840F4D8029E9705686F47 /* GULReachabilityMessageCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F0AC615470EA531F8E4E32AA1178DAB /* GULReachabilityMessageCode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A0301AED7E0391CEDD4C30D8DF6A1B1C /* NSString+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 388400448D00420DD75453217D4446F1 /* NSString+MJExtension.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A05DB2FB1D83C0D2421A24F161B885AA /* FBKVOController.h in Headers */ = {isa = PBXBuildFile; fileRef = CE08A00C2DB03FA88AF72552A4F0EF99 /* FBKVOController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A082E32214E8EC9E424D950CB9B2F91C /* cs.lproj in Resources */ = {isa = PBXBuildFile; fileRef = C7C200F99FE9BFF382C5CC5BBBFE4A11 /* cs.lproj */; }; - A092720E7D4B15888F65279513596D71 /* FIRInstallationsIIDTokenStore.m in Sources */ = {isa = PBXBuildFile; fileRef = EC403AB8937B6490843976E81FF32310 /* FIRInstallationsIIDTokenStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A0A2AC6868ABDA7BA54AA455D5E90F19 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C1F0AD8F358DFFDF95B192EA9BC8BF8 /* DDFileLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A0C286BD41AE2F2CC527F45DFCD4A2E6 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 112AABDAA5669556C7C480D1449FF1B4 /* MASViewAttribute.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A0D96EAD8E08C4D60A24F4555DDB38F7 /* GULAppEnvironmentUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B4DE669C8529A15FC7B239D50AE5ECE /* GULAppEnvironmentUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A0FEF041FA2905719907E9336EA9FB2A /* FBLPromise+Always.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CD69D5D8284C5FE684863B5F5866531 /* FBLPromise+Always.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A13008AF74AFB78F4561BAE7E33809A1 /* FIRInstallationsItem.h in Headers */ = {isa = PBXBuildFile; fileRef = B8A70DB219F22B8231BBC7CD25F1F2F9 /* FIRInstallationsItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A187E01133F75585934F7DD31EC8ADF2 /* CLIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = ADBC8FF1BF66549F4C24261E6D6B53A2 /* CLIColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A22F05D6BA16470C55E1012F26456DDC /* RACDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08F2A2CAF4560F3A9484254A69A357F8 /* RACDelegateProxy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A2D4120DF4B0C5DBC0E0EAB3B1658687 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BB83140B8A745FD33C2E80D76DE2E54 /* DDTTYLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A2EC812DC322E4BDDC772EA662DB0A87 /* RACDisposable.m in Sources */ = {isa = PBXBuildFile; fileRef = 165B72EAB689AEAF1FAA23ACF481D999 /* RACDisposable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A36B349F4F080AAA4038E80CBFCD0140 /* NSObject+MJClass.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B92658824EB05F56E1E9C1EFE0254AA /* NSObject+MJClass.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A3DC32B52A76CF168FE0D0171CD7ED45 /* mz_strm_zlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C87286069E75B2DC30A148392A750FD /* mz_strm_zlib.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A3E2395155AB6B58D83633A0229DF34B /* FIRInstallationsIIDTokenStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 98E83326FEFF11614F51E206FE7D477B /* FIRInstallationsIIDTokenStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A3EB36BC1B7ADA57B83261D66743A1F6 /* NSObject+RACDeallocating.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E22B7B9DE233D5CECC172D85323973D /* NSObject+RACDeallocating.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A4387C455B8DFBCC22948EB90FD613C8 /* RACSubject.m in Sources */ = {isa = PBXBuildFile; fileRef = D9E39C50BB0D91A9BC5F9A128D8D3488 /* RACSubject.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A46DAB3244DDC84E1041F9C2CDFCC5AE /* DDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 9023087107D17E859494B87A27DCD9B8 /* DDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A4E0666FA7CB73704AFAE5A087AD02B6 /* RACIndexSetSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 81344CE8F727FC5A700E13F1462451B0 /* RACIndexSetSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A4F447FA7122B13300BD80CE080444F7 /* mz_strm.h in Headers */ = {isa = PBXBuildFile; fileRef = FFCD1E112A96B9E564E55F53CFF2F0CE /* mz_strm.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A4FB8903967F840D46D98B9F34932712 /* GULNetworkInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 67EE2226A27905743B12994240ABD0C8 /* GULNetworkInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A5124E461EC08DAEA4087ED81E61C837 /* FBLPromise+Delay.h in Headers */ = {isa = PBXBuildFile; fileRef = DFDD3B1CC5C9786B95651CC9DFB9DC23 /* FBLPromise+Delay.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A60BCBFD6EABE3B6D02BB8C7C26E97EC /* RACIndexSetSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 00AC38A44150F037A17C4ADD24DBDD3A /* RACIndexSetSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A60C18305C35802FCC00D5E69B018D95 /* mz_strm_split.c in Sources */ = {isa = PBXBuildFile; fileRef = 2E1C54E393146F406E1B9F073AA6FACA /* mz_strm_split.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A616E0E53E9057508D1CB68688DA5CF1 /* FBLPromise+Async.m in Sources */ = {isa = PBXBuildFile; fileRef = CD33BF9E5DD9F25BEE8DCD39837A5F93 /* FBLPromise+Async.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A6669EC44F099A10EF6E928532BF87FE /* FIRAppInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B8AB430D95483BCBDAE93772AB0F7EC7 /* FIRAppInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A6A6DD308EF1383CF3739A4431B6BC99 /* RACSubscriber.m in Sources */ = {isa = PBXBuildFile; fileRef = 69271018620F8D765E06F7501FC53A4E /* RACSubscriber.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A6C96B3DAF95525C7177908D82519DCE /* HeartbeatController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD2E8DAC8C65B05F7DB1A061E01EE1D9 /* HeartbeatController.swift */; }; - A706CB21B8DF7D9F414604D6FCE37E7B /* NSURLSession+GULPromises.m in Sources */ = {isa = PBXBuildFile; fileRef = 524160A2636274B67D1FFC59995D1DE2 /* NSURLSession+GULPromises.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A82ED4505010277F816EF2DB22312FF4 /* FBLPromise+Reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = 95B9B8D9872E5106AD605D3F76986A05 /* FBLPromise+Reduce.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A89EBD3C689D9B0770255B945078F8A9 /* FIRDependency.h in Headers */ = {isa = PBXBuildFile; fileRef = 529AD56195696EA0CD391BD9076BBE17 /* FIRDependency.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A8A4892864DCE2B02576F5D5770D8264 /* FIRInstallationsBackoffController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DA4489D4DF6D2406525FC8DA242D97C /* FIRInstallationsBackoffController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A938F21CAC87C5F8AADEF955F9127E3A /* MASPreferencesWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AC94CFFB540677F8D0472AE22898CD6 /* MASPreferencesWindowController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A96F51DCF1B9DA1894DC24DBF3CC95C2 /* FIRComponentContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BDD3892972F7995A1CC233184F23872 /* FIRComponentContainer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - A9B6C5BB3BBDA9138B560342263FC7B8 /* AFNetworking-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 21E62F699C94C1B146F865627FA81859 /* AFNetworking-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AA76E31369E7CD7000447A552E8C8E91 /* GULSceneDelegateSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = 37F1BFD9704B21991FCE48EAFCE5C50A /* GULSceneDelegateSwizzler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AA931561A4727F3976D057564447B2D1 /* mz_strm_os_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = 695DCC1221B40EFDBD7055BEEB81E198 /* mz_strm_os_posix.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AAB0384853C90088036B7501CA8ACFE0 /* mz_crypt.h in Headers */ = {isa = PBXBuildFile; fileRef = DE5D44F55044E9FD71469B518E5581CF /* mz_crypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AAD2F2A1CE6A3A621A882CB38806FFC6 /* FBLPromise+Timeout.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C3520F26513B85AC0F0835339E66762 /* FBLPromise+Timeout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ABAE72CC8268BA2A1EBBF300BB379B63 /* FIRInstallationsAuthTokenResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = E054C38A22581DD8B6BA1891F2C8CA0E /* FIRInstallationsAuthTokenResultInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AC437AB3F30FD2D50B2F02256A50BC22 /* NSObject+MJProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 3543F5665ADFC1CB26DEADD01EF2EA43 /* NSObject+MJProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AD1D995C2CEE4E7E25CAEE364A9C7826 /* DDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AAE1FF71356C3E86B69986B502D89D0 /* DDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF68A38290AA2FA3DAFAD968E4E06B1F /* RACQueueScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = 5374EFE206DE7D23F3769FDA706D7D32 /* RACQueueScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AF961BC9B2EE1D8F1CE78A2EF19FFF59 /* RACEmptySequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 49BD5740F963C873DC805F4BB8867F6C /* RACEmptySequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AFD5056411AA4A873FCFD0553B30172D /* GULLoggerCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 838AD86B819621E69D45ED5DE41010A7 /* GULLoggerCodes.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B01D0C7640BCE16285879367A57428D0 /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BC62D8612D45AFA5604A78A5A13FD58 /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B056A8EC4695FCF5D3BA48FC95F02F6B /* CLIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = C25C28B8300F81DC498B7E0C4B3412B1 /* CLIColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B09A689A08A98868AA77ABCFE1D84CC3 /* FIRAnalyticsConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 04FF49BBDAD7A0F0389F315899BC7AC2 /* FIRAnalyticsConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B11C2320F646B8FC241AEFE90DCBD589 /* StorageFactory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17621A66DE927854976A90357AB3D7C8 /* StorageFactory.swift */; }; - B1E797E27A7045BD45A24B182F7B43BC /* FIRInstallations.h in Headers */ = {isa = PBXBuildFile; fileRef = B8593C0E5353E97D4EFC8285825BBFE7 /* FIRInstallations.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B1F775EF2B72976B19E925E75C8FEA40 /* DDAssert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F3F9311303C975480F222815C85AC66 /* DDAssert.swift */; }; - B2C4971593724BBCC6DA58B5D01D1102 /* RACTargetQueueScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 360FCC11D9DF1412ECF3FC388AD3847C /* RACTargetQueueScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B2D767077E12511712E5AAF1783BFDB1 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 45775765D2A21F8C661CEC7F208DAF1B /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B33320880D9DB8519FE0AC78DA31293A /* DDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = BA1954E7D1685D586909CAC0BF720551 /* DDLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B3963E767222C159C03BBA43787770CC /* pb_common.c in Sources */ = {isa = PBXBuildFile; fileRef = 1313C7F05D0E0218F153571D42681AC1 /* pb_common.c */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks -fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B3AF49CCDED5981C450F075183EC8931 /* HeartbeatLoggingTestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24632470859A47B1836928F8D0B0F173 /* HeartbeatLoggingTestUtils.swift */; }; + 9CFBC655DBB0D495D0AE5B2F261E9D1C /* FBLPromise+Retry.m in Sources */ = {isa = PBXBuildFile; fileRef = C7BBC60EF61D90FBF76D253BCDD74503 /* FBLPromise+Retry.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9D523EE6D046D07253F6D6CD2ED52C45 /* HeartbeatsBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = C90BE4ABECDFAD0700652C66DC476869 /* HeartbeatsBundle.swift */; }; + 9D710E4DBB42452FC1B61974D61D21A2 /* FBLPromise+Timeout.m in Sources */ = {isa = PBXBuildFile; fileRef = EF4B307A3FD843E39D10C57A6263B590 /* FBLPromise+Timeout.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9E0F4BFEB3736B96D2E36B0E31B37F5B /* MASConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AE48696D567E222C0C256845E33BD8C /* MASConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9E75571BABA8A9EF2AA615B065BEF700 /* RACScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = B4152A8AEA876763E52E1B6514151A49 /* RACScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9EC0C540EC73C9BBEFEE86715ECFBB53 /* Masonry.h in Headers */ = {isa = PBXBuildFile; fileRef = AC9EA811E1FC95CFBA6BAECE8C707DE0 /* Masonry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9F4C4BAC48DCDC6AC96DF0A9A0E63741 /* FIROptionsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 885302F72FFC8DDE6B550C2CEC6B3CDB /* FIROptionsInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A0301AED7E0391CEDD4C30D8DF6A1B1C /* NSString+MJExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 2DDFEA7139B91DA58293C4AC9E2BA402 /* NSString+MJExtension.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A05DB2FB1D83C0D2421A24F161B885AA /* FBKVOController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B539DE75C7B6B035B001237D2E663C6 /* FBKVOController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A0A2AC6868ABDA7BA54AA455D5E90F19 /* DDFileLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = F7DC1DF009CA82DEC037BD43EC1D7237 /* DDFileLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A0C286BD41AE2F2CC527F45DFCD4A2E6 /* MASViewAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = D5D14BF947D5112DEE7575989D39FB78 /* MASViewAttribute.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A13052C67C414C303156585D98CAAD80 /* FIRLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = A25A87B140DCF902D4E3239752002613 /* FIRLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A187E01133F75585934F7DD31EC8ADF2 /* CLIColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 008CD2BB0405876BF3B5EB1B2696DA55 /* CLIColor.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A22F05D6BA16470C55E1012F26456DDC /* RACDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 049E2F9EDE780F821CF8B571D6B566DE /* RACDelegateProxy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A2D4120DF4B0C5DBC0E0EAB3B1658687 /* DDTTYLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = B2E61A58D3192D0D5C3DF670CFDCC32E /* DDTTYLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A2EC812DC322E4BDDC772EA662DB0A87 /* RACDisposable.m in Sources */ = {isa = PBXBuildFile; fileRef = 4021EE70850EA21AAAEF918B3DBA6ECC /* RACDisposable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A36B349F4F080AAA4038E80CBFCD0140 /* NSObject+MJClass.h in Headers */ = {isa = PBXBuildFile; fileRef = EDB9AD912C84FF94ABE3F36B4A5CA0BA /* NSObject+MJClass.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A3DC32B52A76CF168FE0D0171CD7ED45 /* mz_strm_zlib.c in Sources */ = {isa = PBXBuildFile; fileRef = 8BA6FAA843B87F1A6601D6A7A5E7857B /* mz_strm_zlib.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A3EB36BC1B7ADA57B83261D66743A1F6 /* NSObject+RACDeallocating.h in Headers */ = {isa = PBXBuildFile; fileRef = FB81E842AC0181DED44D98974FA8954F /* NSObject+RACDeallocating.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A4387C455B8DFBCC22948EB90FD613C8 /* RACSubject.m in Sources */ = {isa = PBXBuildFile; fileRef = D3BE68E978B56FB60D42E1FA0BA2F742 /* RACSubject.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A46DAB3244DDC84E1041F9C2CDFCC5AE /* DDAssertMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 6039600034EEB080B0D57C6F11F78CD6 /* DDAssertMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A4E0666FA7CB73704AFAE5A087AD02B6 /* RACIndexSetSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 95B24FBCB615636633E83982F8DEF3FB /* RACIndexSetSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A4F447FA7122B13300BD80CE080444F7 /* mz_strm.h in Headers */ = {isa = PBXBuildFile; fileRef = AF195D0BFDCA9B89610DF1A127A03BA6 /* mz_strm.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A54247ABA49583F293E707D8B5028B1A /* GULNetworkURLSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 27B59F20AE3AC645168DD2A9379351CD /* GULNetworkURLSession.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A56F2610AF8CCE323668172007CE4462 /* FIRFirebaseUserAgent.m in Sources */ = {isa = PBXBuildFile; fileRef = 65D09C82D64C5A2EDB7E599EB7160DFC /* FIRFirebaseUserAgent.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A60BCBFD6EABE3B6D02BB8C7C26E97EC /* RACIndexSetSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 60140B3219A36C6C4B1D3EF191CF841D /* RACIndexSetSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A60C18305C35802FCC00D5E69B018D95 /* mz_strm_split.c in Sources */ = {isa = PBXBuildFile; fileRef = 92C7175DDFEE3888902FE38C529F1A02 /* mz_strm_split.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A6A6DD308EF1383CF3739A4431B6BC99 /* RACSubscriber.m in Sources */ = {isa = PBXBuildFile; fileRef = 685FC462A09E8B973D39E98F5FB0D6C0 /* RACSubscriber.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A806C1F91999176464548E1DBB3B302B /* FBLPromiseError.h in Headers */ = {isa = PBXBuildFile; fileRef = B81DEBD594BE65BC2686D2DF3F682D19 /* FBLPromiseError.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A818DF199C8C4DFB7FC26302F1BE9CEC /* FIRHeartbeatLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A7B2B2645CDC8FCD150C6EBC9083957 /* FIRHeartbeatLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + A938F21CAC87C5F8AADEF955F9127E3A /* MASPreferencesWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = 53BD260A894276BCA87C1DB949F61FA0 /* MASPreferencesWindowController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A98B52095F9C489F119A94F427A11062 /* HeartbeatStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51BE34E44744AE297A333EB5BB59B390 /* HeartbeatStorage.swift */; }; + A9B6C5BB3BBDA9138B560342263FC7B8 /* AFNetworking-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F50A944CD6CC4ACE7D51C19CB1375133 /* AFNetworking-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AA931561A4727F3976D057564447B2D1 /* mz_strm_os_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = CA61BC9C3341FC1475881BCED935B4DA /* mz_strm_os_posix.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AAB0384853C90088036B7501CA8ACFE0 /* mz_crypt.h in Headers */ = {isa = PBXBuildFile; fileRef = BB2FD6D5217B6B2FE76160EAF18BBB66 /* mz_crypt.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC437AB3F30FD2D50B2F02256A50BC22 /* NSObject+MJProperty.h in Headers */ = {isa = PBXBuildFile; fileRef = 06A954C57A2969512D89EEEB618DF443 /* NSObject+MJProperty.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AD1D995C2CEE4E7E25CAEE364A9C7826 /* DDTTYLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 40CC7EABEF2944DCB92BFF0EAC1DF4E0 /* DDTTYLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AE4C6A459CA135ACA56556F0216D2589 /* FIRComponentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 750D4784392A940839C8C6199BB364B5 /* FIRComponentType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AE793D7A5BABA922A56226071BBCCA7E /* GULKeychainUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F68D95386C769D546500247D3D188FF /* GULKeychainUtils.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AF1DB01173080909C4F51F9D6566FE46 /* GULKeychainUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E03CD3F4CEB5E26476BFB319430412D /* GULKeychainUtils.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AF68A38290AA2FA3DAFAD968E4E06B1F /* RACQueueScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A12898DF91F3DB85C1E005984FF96AA /* RACQueueScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AF961BC9B2EE1D8F1CE78A2EF19FFF59 /* RACEmptySequence.m in Sources */ = {isa = PBXBuildFile; fileRef = B27D48BF0F0DDC61E642B3BC6545994A /* RACEmptySequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AFA0423FC19D69E5C239C3FDB613AB26 /* FBLPromise+Await.m in Sources */ = {isa = PBXBuildFile; fileRef = FB450E0AAB8EBA8D3BD094783F59F578 /* FBLPromise+Await.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AFEC04D39C87AC443522A9F8446986A9 /* FIRLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AD129061A908E01C291997B5C2F56BB /* FIRLibrary.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B01D0C7640BCE16285879367A57428D0 /* ViewController+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = A25FE1EFB94164FDA9E3D4119F0A8543 /* ViewController+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B056A8EC4695FCF5D3BA48FC95F02F6B /* CLIColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 627E0D220E600016FA7E99D7714EEE79 /* CLIColor.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B0C98A12FADD85724B284EB96967EA0A /* GULNetworkInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 835263838B5356B80988C6046BEBE257 /* GULNetworkInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B1F775EF2B72976B19E925E75C8FEA40 /* DDAssert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C04CBFBA4E6040E4887EC32D4DC383A /* DDAssert.swift */; }; + B2C4971593724BBCC6DA58B5D01D1102 /* RACTargetQueueScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = D9B5786B6DA830CEE84B272FEBF53FAC /* RACTargetQueueScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B2D767077E12511712E5AAF1783BFDB1 /* View+MASShorthandAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 33444CC38078B5392E768EE2B59EC0BA /* View+MASShorthandAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B33320880D9DB8519FE0AC78DA31293A /* DDLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 544F5469D562B7DB99546A9A1D10B065 /* DDLog.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B3BADF8B25C8615BC8A20C3C10481FAF /* FIRHeartbeatLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D4D92E50628B7E0C259156389E4E205 /* FIRHeartbeatLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B3F532F24F2446BA09C191837AB9F49F /* FIRInstallationsAuthTokenResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 047B6B408EAFE9EAAD499F1DD0044004 /* FIRInstallationsAuthTokenResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; B43CC37C065E2EAAACF54568F9271A81 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - B445F07005215B37980C2A024EEC2A2E /* JLRRouteResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = B8BE9AD92BC71875126CB5A42DD3289A /* JLRRouteResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B48D05DA5FB675DA8EE7A6A1911D8691 /* FBLPromiseError.h in Headers */ = {isa = PBXBuildFile; fileRef = FB83EF80CA63809AF00FAA676DC0583C /* FBLPromiseError.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B4DD91BFD30B30AD0D71DF9938702B75 /* FIRInstallationsItem+RegisterInstallationAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E8F99BD4977E32FAC145289201E4D57 /* FIRInstallationsItem+RegisterInstallationAPI.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B55C0A9F30DC3952089D04E8CC2655BF /* FBLPromise+Testing.m in Sources */ = {isa = PBXBuildFile; fileRef = C6B37FD57BA834215D9A7E7B6DFC1924 /* FBLPromise+Testing.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B5D8224B00DA2EC9A88614D4047CBBCA /* DDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = D0373B72F4990CF87C6BF427B06C321C /* DDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B5F23D960489F4DAC6E14853D328313C /* FIRFirebaseUserAgent.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DE85CEA42898B6CF075E2D78F18FB2B /* FIRFirebaseUserAgent.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B79696D30B3F5191904052EAF05C2151 /* NSObject+RACAppKitBindings.m in Sources */ = {isa = PBXBuildFile; fileRef = 95B7F9587875100D07C89C3A723AE426 /* NSObject+RACAppKitBindings.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B445F07005215B37980C2A024EEC2A2E /* JLRRouteResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = A8A265FF29CE15489289BE1050DA6209 /* JLRRouteResponse.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B5D8224B00DA2EC9A88614D4047CBBCA /* DDLogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B53E76BA286CD016D031C9C22BEE077 /* DDLogMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B613CAE3FF82BC0DDAE93524291C1480 /* FBLPromise+Wrap.h in Headers */ = {isa = PBXBuildFile; fileRef = A57E810C57E31937BFFECC46206FAF73 /* FBLPromise+Wrap.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B66E9352186FA183F800AD52E6E0F3C2 /* pb_common.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D3EC981CA50047587A5396D011261B0 /* pb_common.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B79696D30B3F5191904052EAF05C2151 /* NSObject+RACAppKitBindings.m in Sources */ = {isa = PBXBuildFile; fileRef = 40106C6B23760C3F9B8546ACCAAA3AD0 /* NSObject+RACAppKitBindings.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; B7FE21CBE9E55AAB77769EF33369909B /* MASPreferences-MASPreferences in Resources */ = {isa = PBXBuildFile; fileRef = 9D635ACBDB58BEC168F692A7F0132B89 /* MASPreferences-MASPreferences */; }; - B843C29FE9D5BCCD42B4DC51141173B4 /* RACChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = 43ADF3DD1B49443CA0236416D75575E2 /* RACChannel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B9081AED27E3F943F19570A6153FC4BE /* RACmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8394581ABD4204BC66681CDEB39DC380 /* RACmetamacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BA6C5F054C06296A9309B41979978171 /* DDLoggerNames.m in Sources */ = {isa = PBXBuildFile; fileRef = B8B4C317DA2F0E5D540CA191FB200DA6 /* DDLoggerNames.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BBB65B46F416323AB6212B908486F819 /* MASPreferencesWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B2E53E19D65BEAB194B05A6754E8B5E0 /* MASPreferencesWindow.xib */; }; - BBEF825EC3ADE75C2D0CAE4450D80A3E /* FIRCurrentDateProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 135B7D8B78B34C83936DAEDB491F8AD5 /* FIRCurrentDateProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BC1E6C4574CCE304E8F3A0C7BB6435D5 /* pb.h in Headers */ = {isa = PBXBuildFile; fileRef = 59D7547E3B7E3655488C6186E11926CC /* pb.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B843C29FE9D5BCCD42B4DC51141173B4 /* RACChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = D57483A7D62932379BB26E245E317823 /* RACChannel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B9081AED27E3F943F19570A6153FC4BE /* RACmetamacros.h in Headers */ = {isa = PBXBuildFile; fileRef = C3A2E67C6405F2B619C4AC5C00077B7B /* RACmetamacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA6C5F054C06296A9309B41979978171 /* DDLoggerNames.m in Sources */ = {isa = PBXBuildFile; fileRef = 39CB494C54822FD7F3C452A870A03558 /* DDLoggerNames.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BAEC1CE28F4FE728CC12D9EB776BAAA0 /* FIRInstallationsStoredItem.h in Headers */ = {isa = PBXBuildFile; fileRef = B458981F43DAC1B065927DC3C459C76D /* FIRInstallationsStoredItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB1B59672765D5D2F40D00CF97C4DD64 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 790BD6248FBDA5CB1CA516A6BB81FAAF /* Security.framework */; }; + BBE1B10F56669463F6558E212C4DEE71 /* FIRApp.m in Sources */ = {isa = PBXBuildFile; fileRef = 58E6A0E080546253762BA7E1737E0355 /* FIRApp.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; BC37334FECA38F44C28F422B0364387A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3743207240D54CEFFE648B7D626F359E /* Foundation.framework */; }; - BC54149DFCD9FE3FB07A35C2F0EB22CD /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; + BCCEB652DF206B6D1C4F198CC8502021 /* GULNetworkInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B2960659D759E2D577A273EBFB9AA16 /* GULNetworkInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; BD227A88D50B87748A8DB3C7D5C73656 /* MASShortcut-MASShortcut in Resources */ = {isa = PBXBuildFile; fileRef = 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut-MASShortcut */; }; - BD6C69FB00BFA15F5D129C9AAC46A45F /* FIRLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EF75B44D75BB901390A3136CED277A8 /* FIRLibrary.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BDEA39690C9B32888031D9507233D855 /* NSURLConnection+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B68174D2956E1AA709B48FE5D1C2EE3 /* NSURLConnection+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BED8E888D106997872D17351EDCAD07D /* NSString+RACKeyPathUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 432EC43F780BF830699F28024E55EE62 /* NSString+RACKeyPathUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BEF4CC97D88ADCD73B93AA179F7E1802 /* mz_compat.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E39C3428A71A3BF7ED9C73E2AAEF868 /* mz_compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BF11C0C9A6B6E3A502295E81561AEF89 /* FirebaseInstallationsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = D391692425DA6EBA50546E83E9C45AF0 /* FirebaseInstallationsInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BF58FCD1E04D71999A364CD7314771D5 /* FBLPromise+Reduce.m in Sources */ = {isa = PBXBuildFile; fileRef = EE103BF5B1484329CB2F3486237F3704 /* FBLPromise+Reduce.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C045F6A0277C6F70BFF8A833F50D7572 /* RACTestScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E6DD3CCDD89AA3B36E91FC8BDCD55CC /* RACTestScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C1814BC2A3238190536D412F2C0AD623 /* FIRDependency.m in Sources */ = {isa = PBXBuildFile; fileRef = 077874D9F3E8F0B6F73064F6C5618055 /* FIRDependency.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C262346A2C09ECF48E7858FEB13E5B12 /* FIRVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = AB5CB884D075E6DC0FB6E139219D3D9E /* FIRVersion.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C29320E20783BC40176A01DAD5E4EDAC /* RACCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 15543C915498F54D36A6E915DE44CFD4 /* RACCommand.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C2E06E8DE5FAD69F5A9B02BA6748E1D5 /* GULNSData+zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F0B0931DCAEA24C6F80C5789DC3B297 /* GULNSData+zlib.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C30DB8F46569FBD4D1C7D7DA0E4B67EC /* mz_zip_rw.h in Headers */ = {isa = PBXBuildFile; fileRef = 39158D548D9B123A69ED61C5D7210A62 /* mz_zip_rw.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C3D87040A83EA6075D62B4CDB7652116 /* NSObject+MJClass.m in Sources */ = {isa = PBXBuildFile; fileRef = 51CBBBB2525122228A1F1980DC53B67B /* NSObject+MJClass.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C404C936161582DD236AC6C32EB0A44E /* RACDisposable.h in Headers */ = {isa = PBXBuildFile; fileRef = E212D588DF5836946F908BDF6E998BBE /* RACDisposable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C491109A197639F64ABD4A2C7E8CF78B /* FBLPromise+Race.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E1477A80051D032D99B696727D59002 /* FBLPromise+Race.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C50E4AEAA79D1607A1303F7A63AA4392 /* RACSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 56B3CC7C7C154999C4CB47A4CA2A17F6 /* RACSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C60F78996F7A7815942E8C93F837CE4E /* FBLPromise+All.m in Sources */ = {isa = PBXBuildFile; fileRef = E1B67A6765F1EF1B0D0545E9E72B72A2 /* FBLPromise+All.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C633E62BE35A79083D0CFAD950438D06 /* MJFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = 69EE03BFB2EFD39C77A4E79F6B591218 /* MJFoundation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C6A6D25BCCBF4F4781E49D0C676F9818 /* ReactiveObjC-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 301DB1F6215086B00E6165113BAE1605 /* ReactiveObjC-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C6E449E02394F83976AB3C1CEF3E8C0C /* FIRComponentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FA3FC1156F75E1CB4E2A3BC005C25B9 /* FIRComponentType.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C6FB12795146624A3745348B3897939B /* RACTestScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = 2B8A0C33070BD25B2F01BE5F20E87A29 /* RACTestScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C87FD3D4480614278882845E5538BBBD /* HeartbeatsPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = F488F32F7ED73324394E1FF5BF49310C /* HeartbeatsPayload.swift */; }; - C9EEFEF1093831F4A8483E238DBF2A10 /* FBLPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F4D4C460928C103E8BAAB08BBB4176D /* FBLPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CB96DD5B6FCE2C32103DFB6178837A93 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = EEE82774C609969826F1B750EFA845D7 /* AFURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CC98B80E4E01EEE45C3DE01882693891 /* RACKVOTrampoline.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A07D15BAA4F532A8F528297A7172952 /* RACKVOTrampoline.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CCD3DECE9F5F165CC7A1C6B482F41381 /* GULHeartbeatDateStorageUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E2AF9D09B9B891DF58003A26E8A474D /* GULHeartbeatDateStorageUserDefaults.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CCD4362E8522B5BC2820666098E91B93 /* NSObject+MJCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 39442C557FFC3E015001AE3215C28D0B /* NSObject+MJCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CD48B797D8CD59CF9DFD83DD38EF93A0 /* MASShortcut.m in Sources */ = {isa = PBXBuildFile; fileRef = 62D97AFB07B0B6155DFC6B0321DF43A5 /* MASShortcut.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CD88789CEEB96BE0A419250A0CBD0636 /* mz_compat.c in Sources */ = {isa = PBXBuildFile; fileRef = 57483F73665803115655F86362BE7E18 /* mz_compat.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - CDCB8C57BE6F5749912B89808E77D1DE /* FBLPromise+Validate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D545ED036D87E1B7A8384ED767CBE4D /* FBLPromise+Validate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CE01329411A643C3D8BEBF2CDF7F4AD3 /* NSObject+RACPropertySubscribing.h in Headers */ = {isa = PBXBuildFile; fileRef = D8170D22FBC7D2212EC04D559D4BA50D /* NSObject+RACPropertySubscribing.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CE61BE07A118F709EAAFD0B1890FBD2F /* ZipArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = EFE27DBA5CC4FB506653433551B948E2 /* ZipArchive.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CE9F398B1DAD84FEA79B6E830A05E852 /* MJExtension-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 72F4D45ECE42AC9D985D813646FDA03C /* MJExtension-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CEA22B67F1AC2CA252B0FFA43C429B90 /* RACSubscriber.h in Headers */ = {isa = PBXBuildFile; fileRef = AF64895D44DD3B107B384CC6983A2ADE /* RACSubscriber.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D0686DCE9995201DBE501AECBB894F5C /* FIRAnalyticsConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DC33A6B5889844AC44512E25C1F69F4 /* FIRAnalyticsConfiguration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D091CFE2DDA3E224CA759B9E4C692426 /* GULNetworkURLSession.m in Sources */ = {isa = PBXBuildFile; fileRef = DA9DD4D2A87EB66034E0C6F3691E97F8 /* GULNetworkURLSession.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D091E979F9C6F69583FAD30DD0629289 /* FIRInstallationsAuthTokenResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 26785DD25FAE15762C7C3B4C4B6D12A6 /* FIRInstallationsAuthTokenResult.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D0CD06D691D4D6BBCDC90D0F84C6E21A /* GULNetworkMessageCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 861EE3FA281C4F297ABD22CE7419E214 /* GULNetworkMessageCode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D2B90BAE847AE8FEC37D87D24E324863 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = AD33DDDB67C05BA39F1DE48E3279605C /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D3BE1FD3043309DAF610AC08ACE160D2 /* MASPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1F8D0C4CCFACE12D1FEDF61A0EF89E /* MASPreferences.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D48CA23E5C7552041020764F3FC3D4FC /* FIRInstallationsLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = AF26C2E98EA6EB190353CBDE3BA1BD17 /* FIRInstallationsLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D49FEE7B31C8EE134E0A15331DF86564 /* NSFileHandle+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 8A4E26487E831DEC53D877B90AF76A86 /* NSFileHandle+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D4C959ABE1AF2C19B1CCE80E18A4D8C3 /* NSSet+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = AB410099EC115ED0F907AFFA8AF8DC64 /* NSSet+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D54914A48799B8023FBC5B06BBEC7033 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A60CFC28EFE537D195AC6987A41C114 /* AppKit.framework */; }; - D56CFB83AF4BDDFF1145069325594732 /* FBLPromise+All.h in Headers */ = {isa = PBXBuildFile; fileRef = D2E3846E51DF89E5654DC0EE4B1056AC /* FBLPromise+All.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D678EF770C22CBC3C96A65CC7764FDFE /* FIRInstallationsStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 1598148EA94913C192F756ADDBF32585 /* FIRInstallationsStatus.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D6B9216743757D8CCF0DC1BAFAAEFBE6 /* MJPropertyKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 027A86324E4024C36924D52B5477A6EE /* MJPropertyKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D6DFB6F5115E9971FCD81C378255F6A7 /* RACErrorSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = D8EA17B7F7040EEBC4E27777CF23241C /* RACErrorSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D75921CECF780F790933BD025E2811C0 /* RACScopedDisposable.h in Headers */ = {isa = PBXBuildFile; fileRef = 3933DACBE2AF9B60EA494E769FC50C5C /* RACScopedDisposable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D79956B372EC199A113824F8C87FF9D3 /* nanopb-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 727C521E341FFF0CC7A525EC7E181B64 /* nanopb-dummy.m */; }; + BDEA39690C9B32888031D9507233D855 /* NSURLConnection+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B162DECBC1E213DE303D429F0A80A34 /* NSURLConnection+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BED8E888D106997872D17351EDCAD07D /* NSString+RACKeyPathUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BCCF34D393DF8755877EA0DDC5C239D /* NSString+RACKeyPathUtilities.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + BEF4CC97D88ADCD73B93AA179F7E1802 /* mz_compat.h in Headers */ = {isa = PBXBuildFile; fileRef = B895D9F9C9285B20C3912A9469B29FC0 /* mz_compat.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BFB6F43CCCF2D46EB5DC2708363090ED /* FIRInstallationsStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 22FF5DB1B4F09DB5E4243157B967B147 /* FIRInstallationsStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C01D5A208773F5FC492970AC321DDE49 /* GULLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = E55BEF8F9C01938ED74FE9FAD9957DEB /* GULLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C045F6A0277C6F70BFF8A833F50D7572 /* RACTestScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 043D38E408E09D039542D315367A3489 /* RACTestScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C16651D6E856FBD9B69CF5E2817BB0CF /* FIRInstallationsIIDStore.m in Sources */ = {isa = PBXBuildFile; fileRef = A0B8B622E89FEED8CAEB35013F9FCFEE /* FIRInstallationsIIDStore.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C29320E20783BC40176A01DAD5E4EDAC /* RACCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F6E7A66874A13478A4DEE7513C847AC1 /* RACCommand.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C30DB8F46569FBD4D1C7D7DA0E4B67EC /* mz_zip_rw.h in Headers */ = {isa = PBXBuildFile; fileRef = F6C53EF74D9ED6699B523FC1E80D29BB /* mz_zip_rw.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C380FEDE48B95A70F3F4976FEEFB8D78 /* GULLoggerCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F1E40BD0CDA8E3D2EAFC1C269B30893 /* GULLoggerCodes.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C3D87040A83EA6075D62B4CDB7652116 /* NSObject+MJClass.m in Sources */ = {isa = PBXBuildFile; fileRef = 41B8812B3CEEA4F0AECD64E7AE86D790 /* NSObject+MJClass.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C3EA4DC3E450DEF5ED2E5F1E092BACBC /* FBLPromise.m in Sources */ = {isa = PBXBuildFile; fileRef = C522E98E447A8A58A0837A1524570627 /* FBLPromise.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C404C936161582DD236AC6C32EB0A44E /* RACDisposable.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D44B5CBE6B5D53B521B500B83F16DC1 /* RACDisposable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C50E4AEAA79D1607A1303F7A63AA4392 /* RACSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4503FD8D6CE1430DA58C82052F8E9B /* RACSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C633E62BE35A79083D0CFAD950438D06 /* MJFoundation.m in Sources */ = {isa = PBXBuildFile; fileRef = B908ABEC9AC3390E0CC7C073E36721E3 /* MJFoundation.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C6A6D25BCCBF4F4781E49D0C676F9818 /* ReactiveObjC-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 35747E68633EA60A46D54A7D04B4ACE3 /* ReactiveObjC-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C6FB12795146624A3745348B3897939B /* RACTestScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = CC5F1662C17473D3DAA25C58FF74F959 /* RACTestScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C772B21700DD2BD5C6C94840366F744C /* FIROptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 42C00F9B1A1D9B1A0B71B4632BE1EA04 /* FIROptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C79BE7915C9F88122EE4210D3DD8E79C /* GULKeychainStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6612C0D6BC21F1D3AD6A1F1948C6352A /* GULKeychainStorage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C8A7AD99D34AD9A5418C272E90AA793D /* GULUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 287E32A0B2BAD1ACE7342594F91FFC04 /* GULUserDefaults.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CAC4CECFC6F6D4B664BE057DEF311C73 /* FIRBundleUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = E23188E6FD3A731A34304EFA2F6FDBBD /* FIRBundleUtil.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CB96DD5B6FCE2C32103DFB6178837A93 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = DB6255273A61DDC6BA0657B642FE4792 /* AFURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CBF16C576CF899BF7299CEF8F839A3A0 /* FBLPromise+Timeout.h in Headers */ = {isa = PBXBuildFile; fileRef = C3754248866FE9BB56E970404DACBC24 /* FBLPromise+Timeout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC17F63B1DEE6D32B54212F1254A8222 /* FIRInstallationsLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 36F214DF65AD267C41859CF54D0FFC47 /* FIRInstallationsLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CC98B80E4E01EEE45C3DE01882693891 /* RACKVOTrampoline.m in Sources */ = {isa = PBXBuildFile; fileRef = 980AC595BAD91780EF16EA2F06233E70 /* RACKVOTrampoline.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CCD4362E8522B5BC2820666098E91B93 /* NSObject+MJCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = F2D055CB15A807C01C676DBE88A0830F /* NSObject+MJCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CCFE7851BCF0D1D1006B3A59A6A21A9C /* GULNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 7598DA896185B6AA2A36CCD54930A614 /* GULNSData+zlib.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CD2457269E918F6E4B9691F143E58BD0 /* FIRDependency.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F3597EEE784742B92F27E6BB8EB8D3 /* FIRDependency.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CD48B797D8CD59CF9DFD83DD38EF93A0 /* MASShortcut.m in Sources */ = {isa = PBXBuildFile; fileRef = F66C5DA628AEAA35C15C1229B138FE31 /* MASShortcut.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CD88789CEEB96BE0A419250A0CBD0636 /* mz_compat.c in Sources */ = {isa = PBXBuildFile; fileRef = FF7D24B1FDB750D082EA6C4C506C71E3 /* mz_compat.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CE01329411A643C3D8BEBF2CDF7F4AD3 /* NSObject+RACPropertySubscribing.h in Headers */ = {isa = PBXBuildFile; fileRef = B67767EEA86F8D498BF073CE7A453BA7 /* NSObject+RACPropertySubscribing.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CE61BE07A118F709EAAFD0B1890FBD2F /* ZipArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = BA611C306E6197F720EC7960B0F78DBD /* ZipArchive.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CE9F398B1DAD84FEA79B6E830A05E852 /* MJExtension-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A0BAA45263B76C83E934406299202672 /* MJExtension-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CEA22B67F1AC2CA252B0FFA43C429B90 /* RACSubscriber.h in Headers */ = {isa = PBXBuildFile; fileRef = F6F84DC6BF34A38F2B6464E6C4C6647E /* RACSubscriber.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CEAC1513332CCD1A74CBB6E3B9160257 /* GULHeartbeatDateStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 44DFBB653B76BAFA7F74528057DF634B /* GULHeartbeatDateStorage.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CF443E1D8984474E205256D55C8EDC39 /* FBLPromise+Any.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E5A0F25A33AAE2E6627143FE7633A21 /* FBLPromise+Any.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CFD6B36369A0F6AF7567A2BECACCF01F /* GoogleUtilities-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E4DAACE2E57E164555CC53706176C97D /* GoogleUtilities-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CFEA92A58B4128629FAC581DDAC74D04 /* FIRComponentContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = F80D2B19B1EE1E3899423621E1B81B70 /* FIRComponentContainer.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D2B90BAE847AE8FEC37D87D24E324863 /* View+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 08E4114E5007B4CEDBEC278A9370C186 /* View+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D2E98075AEBEE849065B09FE18CFA68D /* _ObjC_HeartbeatsPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1806A07E7CF6CA71BD5C56C5F8B3D20F /* _ObjC_HeartbeatsPayload.swift */; }; + D3AA5D2DC4CB6C91C4EB83EEF49C48FF /* GULAppDelegateSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = 377BAF8ADD5C343F8800CCABCBA38032 /* GULAppDelegateSwizzler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D3BE1FD3043309DAF610AC08ACE160D2 /* MASPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CC55F44352370169F84C3BF15DA36CC /* MASPreferences.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D441B48B193F0384A29A2FDDF9FB0D56 /* nanopb-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 90ED0249FFB72A538C343C6F92A48907 /* nanopb-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D47A1B561A6E7A150F86DB585B5FB282 /* FIRVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AFDA56968FA7F52ADD558AE1F40CC88 /* FIRVersion.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D49FEE7B31C8EE134E0A15331DF86564 /* NSFileHandle+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = D70F6BCC60410F79F03B6C767FAF8702 /* NSFileHandle+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D4C959ABE1AF2C19B1CCE80E18A4D8C3 /* NSSet+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = DA97D15CBF327ADC6C6F83F45FC29F03 /* NSSet+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D4D0288CF43797B7CE975A05562A04A8 /* IsAppEncrypted.h in Headers */ = {isa = PBXBuildFile; fileRef = C8EEAC52E9C20F9906EACFDBC71412DB /* IsAppEncrypted.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D5E0AD6F8F7F0C764B4BB90919EE5C1E /* FBLPromise+Race.h in Headers */ = {isa = PBXBuildFile; fileRef = 1391FBA196CF4D021D5B572050A4F88B /* FBLPromise+Race.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D657FAD184CC0EAF892643EE5DC71390 /* FIRLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = CF27EC3D1CC53098269E0FD8FED1952A /* FIRLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D6B9216743757D8CCF0DC1BAFAAEFBE6 /* MJPropertyKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 760B64647052C0A405923802E2EA0ED9 /* MJPropertyKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D6DFB6F5115E9971FCD81C378255F6A7 /* RACErrorSignal.m in Sources */ = {isa = PBXBuildFile; fileRef = 192A15F20E59A90657816317DF581DA3 /* RACErrorSignal.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D73AB871B459D3389C55E4DF695FCD25 /* GULSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = 53B27CA1C55A4872DCB4D05BE286AABF /* GULSwizzler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D75921CECF780F790933BD025E2811C0 /* RACScopedDisposable.h in Headers */ = {isa = PBXBuildFile; fileRef = FDD65183CCF525620A3B5F3BF1918AEE /* RACScopedDisposable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D78572D1CDA75EEEBEA8728F6E032FC2 /* FIRInstallationsHTTPError.h in Headers */ = {isa = PBXBuildFile; fileRef = A4AC1FD3ACE294C5C5DC3BEC9572C266 /* FIRInstallationsHTTPError.h */; settings = {ATTRIBUTES = (Project, ); }; }; D7BACCDBCFD6D790639E01FF764A13F8 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A60CFC28EFE537D195AC6987A41C114 /* AppKit.framework */; }; - D8F8571369A17704F77E1ED3021180FE /* CocoaLumberjack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5570FEFD608371217600AEDCE1F2E6CD /* CocoaLumberjack.swift */; }; - D9B6DCF62CAFAF0BA235118D026BB46F /* IsAppEncrypted.h in Headers */ = {isa = PBXBuildFile; fileRef = 72BA83405FFB47A1B1AD42A31A421490 /* IsAppEncrypted.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D9DDF2E4C525EF8F639E0CDBB52B3F56 /* NSNotificationCenter+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = A2983D779E330530E0765374C24D121D /* NSNotificationCenter+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9E26C0C6FC61FEED3D7E1A769F76238 /* FIRInstallationsErrorUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 15F687129819D3232E00B61C2A0FC706 /* FIRInstallationsErrorUtil.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DAB4D8569F95D1DF6EA46E745BE13082 /* DDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = A4502616F6BB4BDBE6014DFEB35A2A13 /* DDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DABBB1262760EFBA785B17EA8E96F5FB /* RACImmediateScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = E169E987EB7DB346C4464B6480224815 /* RACImmediateScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DAC3B17FF340FC3CA220D7351F6B4B13 /* FIRInstallationsStoredItem.m in Sources */ = {isa = PBXBuildFile; fileRef = EFF4AB53DD8AD41F1F09002C0B24C00C /* FIRInstallationsStoredItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DB23578F9ABA6E625B9D02580AC0C980 /* pt.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 5079D3060604202BDE85B6B687CD6F38 /* pt.lproj */; }; - DBDA0DEC6D22B2ED1E59152B01823BF2 /* GULReachabilityChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 89F4E69ABE2C151CF56923387054BCE9 /* GULReachabilityChecker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DC19322E1AC76B4FC16A52406F726CDD /* MASShortcutValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 7666AE1E8820189682FA27E983BB361D /* MASShortcutValidator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DC5DEA8E3D73E62560516C5B8723D8DE /* GULNetworkLoggerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C07640983AF6306ACDC2E35A492EA01 /* GULNetworkLoggerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DC6BD38EAAEDFDE949D984D9E1A54E5E /* NSString+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = FA42E02008A9B4376F302AE6F79DB479 /* NSString+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DCBE0E61BDBAB45458D251FAF1E77AB1 /* FBLPromise+Then.m in Sources */ = {isa = PBXBuildFile; fileRef = 6296FAFCFA06A519630F332B92D0FADB /* FBLPromise+Then.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DCFA26EA11F8C99F507E2F4A3C895715 /* MASShortcutBinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 253B2CFCFCB0EDDA1EA6E908F3A4A398 /* MASShortcutBinder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DCFB628680CE89BD2A3625E066C49EB0 /* _ObjC_HeartbeatsPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02524D89E21EA7415E08457D64F8F21D /* _ObjC_HeartbeatsPayload.swift */; }; - DD382469B1A414039F0E5534D8A7F169 /* CocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = 740F57C476C75B0B65D9FAE97C6DE054 /* CocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DD42A4EF091F949729E382AEDF5D97A5 /* FIRInstallationsStoredAuthToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 26747014BC578EE657DAE8FD9ED0368B /* FIRInstallationsStoredAuthToken.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DD60B6F0A6F57A3203F89A83DB9DA28E /* RACKVOChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A9D38883171355EFCCB626393CD03E6 /* RACKVOChannel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DD8FFF67D74BD3A0B33676226E7B9074 /* RACSignal+Operations.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B23C2D8434FC96B4D9EE629D86C1E3 /* RACSignal+Operations.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DDC8C594BD51FBBA9B1E9BF903917365 /* mz_crypt_apple.c in Sources */ = {isa = PBXBuildFile; fileRef = 3D508E9ACC0477ABFC51C185BC0045A0 /* mz_crypt_apple.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DDF903E13EFEC9DF34DA4931E25CAD57 /* mz_crypt.c in Sources */ = {isa = PBXBuildFile; fileRef = 39C376C6E8A2748E577D5799823D40E2 /* mz_crypt.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DE2D18458F26FD3078C49D1579C2ABEB /* DDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D0A389A731B83549F5A6E70A980EFE3 /* DDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DE5C95EBE816F475F7876F086A81D37B /* RACMulticastConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E12488E55D0E5DA957A979A3E7C2E47 /* RACMulticastConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DECC83DA6AE144C15DFFA3859F1B3F45 /* FirebaseCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 41FDCC15B0DA30998AA80DAE2B5F6455 /* FirebaseCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DF34BBCA918FCCB145A912997E7C1700 /* mz_os_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = AAA6776E6EE80F21802E04B8DADC63BB /* mz_os_posix.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DF3995875E0A180CA609AC93011CFE0A /* RACScopedDisposable.m in Sources */ = {isa = PBXBuildFile; fileRef = 05022F9B4C62FAAF500E396D8CC315CD /* RACScopedDisposable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DF6667198931BF4CF8833E73A91B644B /* DDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = D9AEE0E2D12407A6C811C5535CC7473C /* DDOSLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DFA0CE53A18E1B10D1FF48D14E2BCE03 /* RACKVOChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = CC913FE9D55A274C7D210679DE153E65 /* RACKVOChannel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DFD3D7741356C89A72808D72BB3B7298 /* NSDictionary+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = F7EF647ED010B45130C540DCBD3C9385 /* NSDictionary+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E00C87C2F3A77AF33D8D18761E440BE0 /* RACEagerSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = BE494D852DBA8FDCAEE9C42FF85D81F9 /* RACEagerSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E04EF19B8D61D83DFE848F3C441C9E48 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = C23DC9C94F4FDE6C3943D4E4DC6B4657 /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E0599F5B16B5FEAFE22991A67B2A03B3 /* RACChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = E0E93EFA2157643640443FB443441F03 /* RACChannel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E15140790FAE035434C8995CF5FB75D4 /* RACSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = A5175697FC35C4BA11F93256E0E4E762 /* RACSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E15CA15970D3B85AE90E3AD925D411EA /* RACCompoundDisposableProvider.d in Sources */ = {isa = PBXBuildFile; fileRef = E4E79EB31DBA654ACD1756C6E756A891 /* RACCompoundDisposableProvider.d */; }; - E1A65E122DDC1E06FAC465C08F5807A2 /* NSString+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AF8B5E25F0A568CA500B1BBE7CEB4FF /* NSString+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E3075471866A5050A2B318398C8E2890 /* RACSubscriptingAssignmentTrampoline.m in Sources */ = {isa = PBXBuildFile; fileRef = EA1C7BB3A60BA170348DE1A29A5109DD /* RACSubscriptingAssignmentTrampoline.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E326C5532807E4A75A87B76B087E96E5 /* FIRInstallationsStoredAuthToken.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D092C5DE556A854EA3436D893C530E3 /* FIRInstallationsStoredAuthToken.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E369D09C64733430A7227B9612CC03F5 /* RACKVOTrampoline.h in Headers */ = {isa = PBXBuildFile; fileRef = A6BB125706002F7A7EAB0F2E14F5BFA1 /* RACKVOTrampoline.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E37B1459FBD32504C3C26F42AC7221E2 /* GULSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = C06F1DC26B80928EEB1311A382CE2BDC /* GULSwizzler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E445F72759F8EFA05DEE8D36320188C9 /* NSObject+RACKVOWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E61DC60A4547F1A6070E311996746B /* NSObject+RACKVOWrapper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E4AB4D6B9EF4CB0A8B25C093E7A7EA80 /* FIRInstallationsItem+RegisterInstallationAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FB891C93542514B7F9FC2252058A62F /* FIRInstallationsItem+RegisterInstallationAPI.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E4C6CA66822B8958F08B7BBFA27E4E03 /* RACSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 43411F464157008120CAD0E05DC6E6DC /* RACSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E5E5165E185EAFC152225F93CD0E97B1 /* FIROptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 548667551809A1AE295A1930D4FA897E /* FIROptions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E65D60E3597E4A17834AEA20872F1094 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6035C3879308D38E2BB1C44D1B388AA2 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E68815D11DC1BDB8C793771D07986089 /* DDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = B7416A7423498A1D3351FC2D6B86A6E1 /* DDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E6EDBCFBC76BA560E899B44B3DEA69A4 /* GULAppDelegateSwizzler_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = B7418C60AA5BC3E7B472777586E8752D /* GULAppDelegateSwizzler_Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E8905332E322AA8C20CF95B0FD2FC6F3 /* NSObject+RACDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E3D5B6DCE51F21027AD96BED6D34887 /* NSObject+RACDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E8BA7D85CDCE36F37054F638D67D0203 /* CocoaLumberjack-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DA49FDBCEF65456C41B322DCCF421717 /* CocoaLumberjack-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E8C9BF119C56EC997921613B6CF44B1B /* FBLPromise+Await.h in Headers */ = {isa = PBXBuildFile; fileRef = A056B918FCD693593857436E322324D3 /* FBLPromise+Await.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E8D53CD260F83D749BE9BDC674A1DD49 /* FBLPromise+Validate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B53E22A00CD76B79D6B0195B2DE432A /* FBLPromise+Validate.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - E915F2E1B315C91CD81CE7D06883DF77 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 99D61218778584EE22B56A16266C7DAD /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E9AE0C8455FB34BD22F122828231B916 /* NSObject+RACAppKitBindings.h in Headers */ = {isa = PBXBuildFile; fileRef = F883D3D769A6A40D54AA7FC0B77B5C77 /* NSObject+RACAppKitBindings.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E9BA8DC2DBEB8B9D15C2BE2B7FA6815A /* pb_encode.h in Headers */ = {isa = PBXBuildFile; fileRef = 95975911BF2455BD97DF92871D0C4705 /* pb_encode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA27D6F84118470B684F0970D4F41A5B /* GULNetworkConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BC717CBD7C709E01994035C382E20CB /* GULNetworkConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EA6F50AFDA78A67CF005FD0D524F1E47 /* FIRInstallationsErrorUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = DCCA3C1563F343096CC57F7AA4E3B6F5 /* FIRInstallationsErrorUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EA819967C6E6F1B5E07557BF9328CCCC /* RACCompoundDisposable.h in Headers */ = {isa = PBXBuildFile; fileRef = CD76AA87198950C8D29AB7A08EE12B02 /* RACCompoundDisposable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D822383056983AB8DBBB13D6581B4734 /* FIRInstallationsBackoffController.h in Headers */ = {isa = PBXBuildFile; fileRef = 793A7C9C43610EC870A0676F221E0546 /* FIRInstallationsBackoffController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D8C9030BBFC1DEC530BC8CA415D1B375 /* nanopb-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FB2BCA4CF07B536D08C018126E83DC51 /* nanopb-dummy.m */; }; + D8F8571369A17704F77E1ED3021180FE /* CocoaLumberjack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25AD4A08C31C8F70001894C053A7E263 /* CocoaLumberjack.swift */; }; + D91E7B587DB73A8C485B57A7C7D6AFB6 /* FirebaseCore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B6228DFFD472D8AECA615124450DB5AC /* FirebaseCore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D9DDF2E4C525EF8F639E0CDBB52B3F56 /* NSNotificationCenter+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = FBC195C7643381B4ECF9F06F68D36A92 /* NSNotificationCenter+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D9E78D4668420BFA9D041614AFFB22A4 /* GULReachabilityChecker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C464BB87B50E1EE34759014BE1F4E50 /* GULReachabilityChecker.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DAB4D8569F95D1DF6EA46E745BE13082 /* DDMultiFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D78447B71BA8A98615CC759B1258CA0 /* DDMultiFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DABBB1262760EFBA785B17EA8E96F5FB /* RACImmediateScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FD236C4A9C3FE28B5AAC969E1DCBD0F /* RACImmediateScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DAEB8D9F100A8A22872C4ABB5391DFCF /* FIRFirebaseUserAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = B141C215E74D770A8724E99849592975 /* FIRFirebaseUserAgent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DC19322E1AC76B4FC16A52406F726CDD /* MASShortcutValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = E8F413775525AB446D53A28E9B98C362 /* MASShortcutValidator.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DC4CDE87E95F95C9AC37E91683698FC1 /* FIRComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = 15D666A76A0211836C450E104E7CC854 /* FIRComponent.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DC6BD38EAAEDFDE949D984D9E1A54E5E /* NSString+RACSequenceAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = C5F892CA5A799718D581EFC7AEC96577 /* NSString+RACSequenceAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DCFA26EA11F8C99F507E2F4A3C895715 /* MASShortcutBinder.m in Sources */ = {isa = PBXBuildFile; fileRef = 20376865525378ACD5F8A0A172F6F1F0 /* MASShortcutBinder.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DD382469B1A414039F0E5534D8A7F169 /* CocoaLumberjack.h in Headers */ = {isa = PBXBuildFile; fileRef = A9C24B2CA008C0BB9BAF812772501363 /* CocoaLumberjack.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DD60B6F0A6F57A3203F89A83DB9DA28E /* RACKVOChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = AC07F0436D9773959DD00FF69C93F2A9 /* RACKVOChannel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DD8FFF67D74BD3A0B33676226E7B9074 /* RACSignal+Operations.m in Sources */ = {isa = PBXBuildFile; fileRef = F5D9AE1276B519BC52D30EB6A5DDCD7C /* RACSignal+Operations.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DDC8C594BD51FBBA9B1E9BF903917365 /* mz_crypt_apple.c in Sources */ = {isa = PBXBuildFile; fileRef = 6CD8960113E8EA5396158286C7D80633 /* mz_crypt_apple.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DDF903E13EFEC9DF34DA4931E25CAD57 /* mz_crypt.c in Sources */ = {isa = PBXBuildFile; fileRef = A3AEF7359DCDBA2E91FF253A650D63D0 /* mz_crypt.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DE2D18458F26FD3078C49D1579C2ABEB /* DDDispatchQueueLogFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = CEEA6F353111C904701EF69770FD5F89 /* DDDispatchQueueLogFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DE5C95EBE816F475F7876F086A81D37B /* RACMulticastConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = B17E9A5FD4E475ADC09FF0860A074218 /* RACMulticastConnection.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DE827AFF18DDB324518A4E1E02CC73FF /* FIRDependency.h in Headers */ = {isa = PBXBuildFile; fileRef = 0980AE61E61641D1D345C5BD1D85C868 /* FIRDependency.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF34BBCA918FCCB145A912997E7C1700 /* mz_os_posix.c in Sources */ = {isa = PBXBuildFile; fileRef = 8C4158D16A134C331548292527690DDA /* mz_os_posix.c */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DF3995875E0A180CA609AC93011CFE0A /* RACScopedDisposable.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A6BB9FA5473B6444BD5DB1E3434EEE3 /* RACScopedDisposable.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DF6667198931BF4CF8833E73A91B644B /* DDOSLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = EAF9B7B0F6AFC404DAC1C15D3901D0B1 /* DDOSLogger.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DFA0CE53A18E1B10D1FF48D14E2BCE03 /* RACKVOChannel.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B6E77A67AF2FC8679166895407220B /* RACKVOChannel.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DFD3D7741356C89A72808D72BB3B7298 /* NSDictionary+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = EB6730691D1351195C95E33590259F2B /* NSDictionary+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + DFEA7F649892568F3DB20B6CC8C04F00 /* FBLPromise+Testing.h in Headers */ = {isa = PBXBuildFile; fileRef = D5FD1EF0F515CE441CAFB5EFF5347C15 /* FBLPromise+Testing.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E00C87C2F3A77AF33D8D18761E440BE0 /* RACEagerSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 6839D24E46ACAA92EC7B434A131C137C /* RACEagerSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E017BAFF21FC1FFCA4550F46A7621A75 /* FBLPromise+All.m in Sources */ = {isa = PBXBuildFile; fileRef = C63C08F1D42A2722B51847C3735E9D50 /* FBLPromise+All.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E04EF19B8D61D83DFE848F3C441C9E48 /* MASCompositeConstraint.h in Headers */ = {isa = PBXBuildFile; fileRef = 70751A57E425D328772E6E4FEBE5A8DD /* MASCompositeConstraint.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E0599F5B16B5FEAFE22991A67B2A03B3 /* RACChannel.h in Headers */ = {isa = PBXBuildFile; fileRef = ABC0C4DE065A85F00F75E607446D0D1F /* RACChannel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E15140790FAE035434C8995CF5FB75D4 /* RACSignal.h in Headers */ = {isa = PBXBuildFile; fileRef = A384AB9DC764DB45FCA0F8205F80417C /* RACSignal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E15CA15970D3B85AE90E3AD925D411EA /* RACCompoundDisposableProvider.d in Sources */ = {isa = PBXBuildFile; fileRef = F959B79F2B1C0C1EE131249C6C2E4523 /* RACCompoundDisposableProvider.d */; }; + E1A65E122DDC1E06FAC465C08F5807A2 /* NSString+RACSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F4B9D077AFF52994C4DCB28F8A0062D /* NSString+RACSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E2E2A6AACEB89DDFB6434BA3AAF7B4BD /* GULURLSessionDataResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = D81E52DEE6A3D5AAA7DBC4E4568D06AA /* GULURLSessionDataResponse.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E3075471866A5050A2B318398C8E2890 /* RACSubscriptingAssignmentTrampoline.m in Sources */ = {isa = PBXBuildFile; fileRef = B8FCBC5F53DB63E76A2599F99723E50B /* RACSubscriptingAssignmentTrampoline.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E362654BC529BD54F6B7F7A7E93084E3 /* GULAppDelegateSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C371FA08D1CE5B687693730362BB22 /* GULAppDelegateSwizzler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E369D09C64733430A7227B9612CC03F5 /* RACKVOTrampoline.h in Headers */ = {isa = PBXBuildFile; fileRef = F160282FC8B7C0AF1D7683B418AE9154 /* RACKVOTrampoline.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E36EDB7D9F3BF29441278396BAF57CC6 /* FBLPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 07428419111208D360703A291E70E7BE /* FBLPromise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E445F72759F8EFA05DEE8D36320188C9 /* NSObject+RACKVOWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = F2AB3C86291662977BE74F237AF16762 /* NSObject+RACKVOWrapper.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E4C6CA66822B8958F08B7BBFA27E4E03 /* RACSequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 914FF669E7284F0E626B01A8E73C1EDC /* RACSequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E640826D19B139E8D98B38304A804F51 /* FBLPromise+Then.m in Sources */ = {isa = PBXBuildFile; fileRef = DDF3DE7208AEE208EDA964D8EA1D1551 /* FBLPromise+Then.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + E65D60E3597E4A17834AEA20872F1094 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A2BEA946DA2409F28FDF2D796BA7B421 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E68815D11DC1BDB8C793771D07986089 /* DDASLLogCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AFC7F56B42393A9523A547E55DA9790 /* DDASLLogCapture.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E8322431126E5D9A7CAD0DDC97FDDB24 /* FIRComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = D371BDEB43CB71CA3BA33B41CB8BC7EB /* FIRComponent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E8905332E322AA8C20CF95B0FD2FC6F3 /* NSObject+RACDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = D9F1DDF5C4C0D5628DD7A3BA2FF44951 /* NSObject+RACDescription.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E8BA7D85CDCE36F37054F638D67D0203 /* CocoaLumberjack-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FB4EA758DDD1FE0B822702581540FA59 /* CocoaLumberjack-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E915F2E1B315C91CD81CE7D06883DF77 /* NSArray+MASAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 861236973289C6E2EA83250AE6036519 /* NSArray+MASAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E964E1D758734818D2D1F29E04CF2AE7 /* FIRComponentContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 49E910A6450B2D1A9A3B91FDA226F2BF /* FIRComponentContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E9AE0C8455FB34BD22F122828231B916 /* NSObject+RACAppKitBindings.h in Headers */ = {isa = PBXBuildFile; fileRef = 56E00986236947DCD43B4AE8EFFB61AE /* NSObject+RACAppKitBindings.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EA819967C6E6F1B5E07557BF9328CCCC /* RACCompoundDisposable.h in Headers */ = {isa = PBXBuildFile; fileRef = FF9F2DA86A234847675359D5775460CF /* RACCompoundDisposable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EABA2BDDACEED4C3B834C10BDF15778C /* FIROptionsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B3C157AB762D7B89C88A2896222F5683 /* FIROptionsInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; EAD5BE06B3B5DCE3F97230426902815F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - EB169FE87BA2FADF91380AAAC6D8FFB2 /* RACReplaySubject.h in Headers */ = {isa = PBXBuildFile; fileRef = 9761C68F31B8B0FD303942344EDEFAA1 /* RACReplaySubject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EC3217E01954C6A48347C1F07CD72C95 /* RACEagerSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = CED12F7ECEE3F877105C20A443BBC9B8 /* RACEagerSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ECF8E0036E1A866A16E85FF223EDDFE5 /* MASHotKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 44AB3A65329E7D2EF75C67199AB26047 /* MASHotKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - ED6668B229818FD7947EC5910C7FC952 /* pb_decode.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C6E75212079F3693B5124DB1E4C3231 /* pb_decode.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EDBC683F50B1FBF9118FA48205462C94 /* GULUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DA66546D21DCB2398601D942E38EB02 /* GULUserDefaults.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EDBD1C954537268932D953FB4AEA2A9A /* FIRComponentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 6116930C98FB94CD23C2576546362FAE /* FIRComponentType.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EDDCD019E5779C305C822EFB5FBD146C /* MJPropertyType.m in Sources */ = {isa = PBXBuildFile; fileRef = CBC372A9ABB5DC994DF4A5C939EA6EE5 /* MJPropertyType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EE424ECE443C88A654B2CC271E9F4874 /* mz_strm_wzaes.h in Headers */ = {isa = PBXBuildFile; fileRef = 34A3B03B08072830E9B02EF24B5E0CF8 /* mz_strm_wzaes.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EECCAA3AFE9CDFA9F3A57B4CD225D9BF /* FBLPromise+Timeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 08F5F3A0300FC8B8557ACE4F251B0330 /* FBLPromise+Timeout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EEE339B17992B7E84E9FA15DE70A0818 /* FIRInstallationsHTTPError.m in Sources */ = {isa = PBXBuildFile; fileRef = EE4AB61451CA6F4BFC1742AE88B1FECF /* FIRInstallationsHTTPError.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EF1E1D73BA982CE6F44BFBF9FC94A9BF /* FIRInstallationsBackoffController.m in Sources */ = {isa = PBXBuildFile; fileRef = 75F8026808DFC2D303AAB6E07A9ED6D3 /* FIRInstallationsBackoffController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EF6C63832640E6C32C8AD925D66B8164 /* RACPassthroughSubscriber.m in Sources */ = {isa = PBXBuildFile; fileRef = A42966795F418E3D604E132FE826F0BB /* RACPassthroughSubscriber.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EF9522478C1F9C1AE2B79C8E4B875675 /* RACSubscriptionScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 31F667E0051794B7C941787A5A19C67A /* RACSubscriptionScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EF97DAD218C088FBED655073542DD1AE /* NSOrderedSet+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = A5FC1C8A45115D785070EF947DB93E18 /* NSOrderedSet+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EF9C00E340B33BA67D9CEF5A2262D15E /* mz_strm_zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = F1D31FF52F629B58C6575A6C7CDB545F /* mz_strm_zlib.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F035E76CEBDC4D5EBE272710BB637AB9 /* FirebaseCoreInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B2324D3DD347C5BDF823ED4641FB87CB /* FirebaseCoreInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F04000A157F4A60BBE08879421963D9E /* MASDictionaryTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = AF70B520A909D539AB708DA11C68B056 /* MASDictionaryTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F160F6622F6705018E6DF5DEE37EA0F3 /* RACSubscriptionScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = 697002A21EBDC7613C0CA3F6244A037A /* RACSubscriptionScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F1687154C23215871A512A0E1CDC7C59 /* GULNetworkInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CC4DF2C607CBCA60A223126465F8D5F /* GULNetworkInfo.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F17D1F48BF71EA3D56458F9E65D3822A /* RACDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 30C4402A9DA44DF93957B2A115E7BCFF /* RACDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F22CB23F2A73D5DA5ED851D94EA97285 /* RACArraySequence.m in Sources */ = {isa = PBXBuildFile; fileRef = A1742075A127DCF40ECD1D3A7BEA6B47 /* RACArraySequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F236DABD5EEB0A064B4BBA8A1730EE2A /* FIRConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 788728BA0BD322FD6F35009C915E83E4 /* FIRConfiguration.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F25C250EBE865764D2B4C8A712DCB307 /* NSURLConnection+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B77CB94B10FFD666FAF597A4CE62E30 /* NSURLConnection+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F29AA39F3F4459869F0AB48F05C20C7E /* RACEXTScope.h in Headers */ = {isa = PBXBuildFile; fileRef = C9740105D243009C3AA85A9C5DFD2EE8 /* RACEXTScope.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F2D45B0102AEDA912217923B0D206F2B /* FBLPromise+Testing.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FD5229AFD820F75E7336DC5543A330B /* FBLPromise+Testing.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F3002C5905548A8797DB66441E64FFD8 /* FIRInstallationsStoredItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 577807F00300EAABBA26CC9B05D503BC /* FIRInstallationsStoredItem.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F3A96BDE1DCFEFD53FDB90B3A6F2EC43 /* FBLPromise+Await.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AFD5943976836C233A68622FA9F164 /* FBLPromise+Await.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F56D8C16963D30C4DB1CB476CACE97C7 /* FIRApp.h in Headers */ = {isa = PBXBuildFile; fileRef = F69C322959FEDDEB788BC59A36A8215F /* FIRApp.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F6329BD56B417E6974AA14A518334B66 /* FIRInstallationsSingleOperationPromiseCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 300B57F1BC71142721A5800374093A4B /* FIRInstallationsSingleOperationPromiseCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F6D62E14A618691D089901A8129F478A /* GULNetworkConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = A31A78BFBCCDDD690E7E85D3A42EACD1 /* GULNetworkConstants.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F8C49CDE272D461C160CB0CDFF3FD6D8 /* RACUnarySequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BBBB58194057C5903F81E84437AA744 /* RACUnarySequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F8EA57E0091477B90C686C7D7CD2CBC1 /* IsAppEncrypted.m in Sources */ = {isa = PBXBuildFile; fileRef = B42863C20BE12DC2A1165A36088ABE6C /* IsAppEncrypted.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F91074105E85511CD3970B3F76845289 /* GULNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = F204E1BA4178A8B574CB1A5DE2A26DDB /* GULNSData+zlib.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F95230BCE9AF76FE9713ADD87B101AE8 /* GoogleUtilities-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 49BD153F2F8B488A5884D7C7F69C6452 /* GoogleUtilities-dummy.m */; }; - F968724F52CDF671F14C391CDAFDF4D8 /* NSObject+RACDeallocating.m in Sources */ = {isa = PBXBuildFile; fileRef = D31729ACE2EFE9C043C4E8758B094BFF /* NSObject+RACDeallocating.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FB01A21AFF27B369AD27C4F56DD69A44 /* NSObject+FBKVOController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E451966FDDA5502148ED4DAADC8CB0A /* NSObject+FBKVOController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FB03F545B645582F1C713E263B5415D4 /* DDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 6CE39C7828C56903E4148BC0B07645B1 /* DDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FB47863E0EB625ACB20647FA758ABFB9 /* MJPropertyKey.m in Sources */ = {isa = PBXBuildFile; fileRef = D4D1F66E4FED808BD00223514C9303C0 /* MJPropertyKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FB8AFC91637879CDC139F8453DE87F29 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 4687EC661AEA45156E830BE20D604F7D /* MASCompositeConstraint.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FBD272BE5EA05F5FF4553A864B196C78 /* JLRoutes-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D0DF020DB5CEB74D7B0E96854E7A3B7 /* JLRoutes-dummy.m */; }; - FC3A8B75CE80847AA320A955B09A1064 /* FBLPromises.h in Headers */ = {isa = PBXBuildFile; fileRef = BA307D46D62245705525BBAE9A755E94 /* FBLPromises.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FD68516225C24EB2327FB1AD595B4DAF /* NSInvocation+RACTypeParsing.m in Sources */ = {isa = PBXBuildFile; fileRef = 82E7508E4CA7A1CF6AEEEC9BBADBCC14 /* NSInvocation+RACTypeParsing.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FD8B49A63FB75536530E9D6F4A8D16C6 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; - FDE9F7D0CF7E9A3B28E12BF7F210E1F1 /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = CD16A5CD83D2534629AD1C7D8D20DEA0 /* ViewController+MASAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FED65D6D50F9ECAC2D12C98932742DCE /* ReactiveObjC-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C680549AF04DF88A36E58511EE04E306 /* ReactiveObjC-dummy.m */; }; - FF097723176FF0B345A5E0C2615B0B61 /* NSArray+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = D21972F5ADF932EC8BCE3D32615BB0E4 /* NSArray+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FF38D577553D2ECB13BA144FE6CF5603 /* Heartbeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7051DE7C6BD01338F37D64659C42097D /* Heartbeat.swift */; }; - FFE77AD50E8784B95E4A1194E771CD37 /* GULHeartbeatDateStorable.h in Headers */ = {isa = PBXBuildFile; fileRef = AD95BA903CA206A6961CFED95EF5CF47 /* GULHeartbeatDateStorable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EB169FE87BA2FADF91380AAAC6D8FFB2 /* RACReplaySubject.h in Headers */ = {isa = PBXBuildFile; fileRef = 44A5938B592CDC751EA5C7FFCDC48E7F /* RACReplaySubject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EC3217E01954C6A48347C1F07CD72C95 /* RACEagerSequence.h in Headers */ = {isa = PBXBuildFile; fileRef = 76126DD632A0019B44A92B6A917BDC08 /* RACEagerSequence.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ECF8E0036E1A866A16E85FF223EDDFE5 /* MASHotKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 5859C52FC08015F54C46ECE6B553B717 /* MASHotKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + ED060AB935A27B3A0856B3138818913F /* GULReachabilityChecker+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E15B0A514B8F1A9B422901BE3B2C39C /* GULReachabilityChecker+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ED8A70F508FE13CD7FEA34E890767DA5 /* GULHeartbeatDateStorable.h in Headers */ = {isa = PBXBuildFile; fileRef = B627682E7A53A66BCED57C263EEBC3F1 /* GULHeartbeatDateStorable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EDAFE5260C83264B2C3F0C2DF3A05364 /* FIRHeartbeatLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BA54877E4F27E84EA72A0730CA15B93 /* FIRHeartbeatLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EDDCD019E5779C305C822EFB5FBD146C /* MJPropertyType.m in Sources */ = {isa = PBXBuildFile; fileRef = A31FBF89838193C99DF4F10BC44693FF /* MJPropertyType.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EE424ECE443C88A654B2CC271E9F4874 /* mz_strm_wzaes.h in Headers */ = {isa = PBXBuildFile; fileRef = FE00140F5C6F9D079710F7A9A8F1C71E /* mz_strm_wzaes.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EF6C63832640E6C32C8AD925D66B8164 /* RACPassthroughSubscriber.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D78CD45035132AA642BB51D6DABEAD3 /* RACPassthroughSubscriber.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EF9522478C1F9C1AE2B79C8E4B875675 /* RACSubscriptionScheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = A3170D9139D0144F2E2ABC804DC48531 /* RACSubscriptionScheduler.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EF97DAD218C088FBED655073542DD1AE /* NSOrderedSet+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 437F6F26BE7C735F083034D4AB2C6BB9 /* NSOrderedSet+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + EF9C00E340B33BA67D9CEF5A2262D15E /* mz_strm_zlib.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A14F6B3EA6481DEE62737D1C024149C /* mz_strm_zlib.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F04000A157F4A60BBE08879421963D9E /* MASDictionaryTransformer.h in Headers */ = {isa = PBXBuildFile; fileRef = 03E66F0A898FD37350BC6EBBD7EBB450 /* MASDictionaryTransformer.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F0A1D7D75657A49CD2646DCCBC5EDA9B /* FBLPromise+Delay.h in Headers */ = {isa = PBXBuildFile; fileRef = C9792DF54E48D169E467DCA88FFE27D0 /* FBLPromise+Delay.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F160F6622F6705018E6DF5DEE37EA0F3 /* RACSubscriptionScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = D273076AF2D74F264FE22B1BC85B9AF4 /* RACSubscriptionScheduler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F17BACE2CB77EF345726F7D9E76FEFDC /* FirebaseInstallationsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = A69A33AE9C7461A043CA8F315CB3BCCF /* FirebaseInstallationsInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F17D1F48BF71EA3D56458F9E65D3822A /* RACDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C448B6102D3720E0079E6D21AB942A8 /* RACDelegateProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F1C6BF328BE0765041A4BD07697D1ACC /* GULNetworkURLSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F1B870BC7E22E62814C9DBD3D9CA9E /* GULNetworkURLSession.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F22CB23F2A73D5DA5ED851D94EA97285 /* RACArraySequence.m in Sources */ = {isa = PBXBuildFile; fileRef = 49140BE7C824423AB3AE1235A2706A0D /* RACArraySequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F25C250EBE865764D2B4C8A712DCB307 /* NSURLConnection+RACSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 286AAFC794015DB3189DF3D4F835ABE5 /* NSURLConnection+RACSupport.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F26985F5ACDEC583366DF4D1960C5101 /* FIRInstallationsStoredAuthToken.m in Sources */ = {isa = PBXBuildFile; fileRef = A1EEFD9879355154D34D3419DD3B398D /* FIRInstallationsStoredAuthToken.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F29AA39F3F4459869F0AB48F05C20C7E /* RACEXTScope.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B924720F2525B0B35E6EE4822B5D26 /* RACEXTScope.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F2F454E618C6C806ECF6F238D6082CDC /* HeartbeatController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3EBF3F44A019AF03D13562999CDF8A9 /* HeartbeatController.swift */; }; + F35A88EC4B44BC6CA0452A1DB7E95A59 /* FBLPromise+Reduce.h in Headers */ = {isa = PBXBuildFile; fileRef = 952087317CC29D90D291D1B2F202CCF3 /* FBLPromise+Reduce.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F4DC366B72E3095BE6FD056EC1C99E93 /* Heartbeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6BA0C49FF9BC5167CC49D6618015C60 /* Heartbeat.swift */; }; + F5A1C4CFAB62D869D0C96D89D5DF09A0 /* FirebaseCoreInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 41C0D3EDE8BADAD090196768E0AC12F0 /* FirebaseCoreInternal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F6821BEC17A0BE43C392CC5012793DEE /* FIRDependency.h in Headers */ = {isa = PBXBuildFile; fileRef = 197ABEF43C67CB4D702E23A616337E6F /* FIRDependency.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F6B1EEB3CD0AF658C818752272603987 /* FIRCurrentDateProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 532B2C7BDACD190C51A1B8375BF91D1D /* FIRCurrentDateProvider.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F825084483FF6AB4288385D41C2FA424 /* FBLPromise+Validate.h in Headers */ = {isa = PBXBuildFile; fileRef = B3C515D092070D44465A22189264191F /* FBLPromise+Validate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F8C49CDE272D461C160CB0CDFF3FD6D8 /* RACUnarySequence.m in Sources */ = {isa = PBXBuildFile; fileRef = C08012BDBC112D17F57D2523EF132251 /* RACUnarySequence.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F910BD786EAC0827455DD4EB4F8BFF91 /* FBLPromise+Do.h in Headers */ = {isa = PBXBuildFile; fileRef = F166B8E7D450BA301EAEBCC0B6092485 /* FBLPromise+Do.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F94FF774BDA8F9371D430F0E756FC3E1 /* FIRInstallationsItem+RegisterInstallationAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 31B22A96E2577EED585708E05FB25C01 /* FIRInstallationsItem+RegisterInstallationAPI.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F968724F52CDF671F14C391CDAFDF4D8 /* NSObject+RACDeallocating.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B929C3E868F199CC2E67F084F275F43 /* NSObject+RACDeallocating.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F977D6C26D67BB9F71EFD5FBC5645B56 /* GULAppEnvironmentUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = 91651C5970D55CEE02527B3ECC985EE8 /* GULAppEnvironmentUtil.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FA016446F7567550C68525173AC55E2E /* _ObjC_HeartbeatController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0270AF95EE25EF539A72405D4F56FEA8 /* _ObjC_HeartbeatController.swift */; }; + FA52C929CAA789474C35E7555E3A34F3 /* GULHeartbeatDateStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = DC9AE1C4D7B08A8B23C5D914935227F4 /* GULHeartbeatDateStorage.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FAF1C8AD9786710E14B29870986B87A5 /* zh-Hans.lproj in Resources */ = {isa = PBXBuildFile; fileRef = F0703A3F39B1DB81B7FB2ADEE5CBD044 /* zh-Hans.lproj */; }; + FB01A21AFF27B369AD27C4F56DD69A44 /* NSObject+FBKVOController.h in Headers */ = {isa = PBXBuildFile; fileRef = 85D9AA6920A3422A5D6BEADEEB351FFF /* NSObject+FBKVOController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FB03F545B645582F1C713E263B5415D4 /* DDAbstractDatabaseLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 175EDBC1469453E34C0AB1435EC8706F /* DDAbstractDatabaseLogger.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FB0E753CFDE3A4CBC3BE0CF0150B5964 /* GULNetworkLoggerProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = E66976B548CE5067C6FB8496374EFECD /* GULNetworkLoggerProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FB16E6DA740554ECF92A48EEA02E392B /* GULSceneDelegateSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F81E58C21DCE9B23B65051A2BEC209B /* GULSceneDelegateSwizzler.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FB47863E0EB625ACB20647FA758ABFB9 /* MJPropertyKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 3023D63F9D741F704444CC478199CCB7 /* MJPropertyKey.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FB5F7FF62513F0DEB185C232F886B6EE /* FIRInstallationsItem.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F28E300B0C1643214B9138D8BDD47D /* FIRInstallationsItem.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FB8AFC91637879CDC139F8453DE87F29 /* MASCompositeConstraint.m in Sources */ = {isa = PBXBuildFile; fileRef = 45DB9F4D32F17AD8972525F9831FEF1A /* MASCompositeConstraint.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FBD272BE5EA05F5FF4553A864B196C78 /* JLRoutes-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 382A22417DB429648F54B0C0AF2343EA /* JLRoutes-dummy.m */; }; + FC01EA7BAB67836B2F93C5D8551BE6DF /* GULSecureCoding.h in Headers */ = {isa = PBXBuildFile; fileRef = 5CA5B8A0CC2A04D65296811FC21EAEFB /* GULSecureCoding.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FC9069E27B04DCA0AF361D261C5A5E6C /* GULOriginalIMPConvenienceMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = BB4DDD9194BC17B371DA38E9826F48A3 /* GULOriginalIMPConvenienceMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FD122F97B3EDA7EAA1A788AE1D6A8B78 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */; }; + FD33862AA28A79703A340ABBAD888754 /* FIRApp.h in Headers */ = {isa = PBXBuildFile; fileRef = EE40000F23331F27B54AEEFA0AE619B8 /* FIRApp.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FD68516225C24EB2327FB1AD595B4DAF /* NSInvocation+RACTypeParsing.m in Sources */ = {isa = PBXBuildFile; fileRef = E53C728E70FBF290AADC197A3B3D9127 /* NSInvocation+RACTypeParsing.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FDE9F7D0CF7E9A3B28E12BF7F210E1F1 /* ViewController+MASAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 205C1F0396927DDE56C2C54DEB99980B /* ViewController+MASAdditions.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0 -w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FE1969D109E4271946EABE52FB085C5C /* GoogleUtilities-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2519D7A49AC07097DF271452B3A8F167 /* GoogleUtilities-dummy.m */; }; + FED65D6D50F9ECAC2D12C98932742DCE /* ReactiveObjC-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9900E1B25AF91223A482143ED0CD4F44 /* ReactiveObjC-dummy.m */; }; + FF097723176FF0B345A5E0C2615B0B61 /* NSArray+RACSequenceAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EE141A9AFAC044BF8548F41B1ECEE92 /* NSArray+RACSequenceAdditions.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FF31B3CE78D562237757D3927DB7A69D /* FBLPromise+Await.h in Headers */ = {isa = PBXBuildFile; fileRef = E6B63FAC2BEE60799A69C401C7843729 /* FBLPromise+Await.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 01DBF2F6506777B01ED94B7A466DF660 /* PBXContainerItemProxy */ = { + 0841343322C767F0E420279F1558EB2D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4402AFF83DBDC4DD07E198685FDC2DF2; - remoteInfo = FirebaseCore; + remoteGlobalIDString = ED77B4B88587C894E85C361023D67C53; + remoteInfo = Sparkle; }; - 0C43CA6E97C610B5C3A9E6304A8AFFD0 /* PBXContainerItemProxy */ = { + 09E52036F18B454B0A99E710618CD00B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; - remoteInfo = GoogleUtilities; + remoteGlobalIDString = 2568F753F09C4DFFD8770DCC78EDAEAE; + remoteInfo = KVOController; }; - 103DB9E87D57E881B3AB0AF2F1483522 /* PBXContainerItemProxy */ = { + 0DA8716B441F4BE5FD7100717C136214 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = A3282A5B2437E609EEB85861D7ECE717; - remoteInfo = AppCenter; + remoteGlobalIDString = 4D3BA58D0583DF37575CACAB3DDADC85; + remoteInfo = MJExtension; }; - 1260EE87A474013350071FD0CCFCB1B5 /* PBXContainerItemProxy */ = { + 20564685512BD9ED7D8258BF56361C33 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; - remoteInfo = GoogleUtilities; + remoteGlobalIDString = 1CD0618C486973D5588EF20D2E8C0AEA; + remoteInfo = SwiftFormat; }; - 13C673096A2CFA7A970ABEE851EDB686 /* PBXContainerItemProxy */ = { + 2CEC1D6C600AC81290D0D1C603673694 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = CCE0F64E83CEAFEE20D04DC7BD57303E; remoteInfo = MASPreferences; }; - 1647DBAA1AA864B8D1573872AD54D80C /* PBXContainerItemProxy */ = { + 30A019EB9413EBC0FB989EF07D2FC5F5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 438B238ACC7DF1178D1BCE1A31983146; - remoteInfo = ReactiveObjC; + remoteGlobalIDString = 4402AFF83DBDC4DD07E198685FDC2DF2; + remoteInfo = FirebaseCore; }; - 1A984254CD0EDAB69D667D914B917BE3 /* PBXContainerItemProxy */ = { + 397D777E74EE6CF160896D32F5A2BB9E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 87803597EB3F20FC46472B85392EC4FD; - remoteInfo = FirebaseInstallations; + remoteGlobalIDString = 25E9E9A17BC3F670357D7385C521E48E; + remoteInfo = FirebaseCoreInternal; }; - 1F0B493CF6B5C726913F555EE0A51B05 /* PBXContainerItemProxy */ = { + 3C514B918CB07C3C39688381BC9DA102 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; - remoteInfo = GoogleUtilities; + remoteGlobalIDString = A3282A5B2437E609EEB85861D7ECE717; + remoteInfo = AppCenter; }; - 26229EA0BB1C18F6070EF97236103488 /* PBXContainerItemProxy */ = { + 3E9D742DF73887E191C4BDEC728A7C79 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4D3BA58D0583DF37575CACAB3DDADC85; - remoteInfo = MJExtension; + remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; + remoteInfo = GoogleUtilities; }; - 269411A9E6B3B9420CF9D03BBC332FD4 /* PBXContainerItemProxy */ = { + 461E5A04692B74F45383C5783E0BC005 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 94C1BAA17BCEBC27586488A205D2E0CB; - remoteInfo = JLRoutes; + remoteGlobalIDString = 2B2B481A164695722839BD581D442457; + remoteInfo = MASShortcut; }; - 26E90554516DA29A19378D623F212107 /* PBXContainerItemProxy */ = { + 5476933B60D486FEFEB0B0F4A656EA11 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 2568F753F09C4DFFD8770DCC78EDAEAE; - remoteInfo = KVOController; + remoteGlobalIDString = 438B238ACC7DF1178D1BCE1A31983146; + remoteInfo = ReactiveObjC; }; - 4056B33A23344D6D4F408104208CB591 /* PBXContainerItemProxy */ = { + 595B632000F2C998CA1A2DDF6F8F7477 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = ED77B4B88587C894E85C361023D67C53; - remoteInfo = Sparkle; + remoteGlobalIDString = E95654B155D25890BE8E26081FCA8265; + remoteInfo = CocoaLumberjack; }; - 442C7150D551D908C99AAF953BCBF2DC /* PBXContainerItemProxy */ = { + 5B66F42E3C75A60C8BA8EADB6061D53D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4402AFF83DBDC4DD07E198685FDC2DF2; - remoteInfo = FirebaseCore; + remoteGlobalIDString = 55AF53E6C77A10ED4985E04D74A8878E; + remoteInfo = Masonry; }; - 451522338161290239B64842106504AB /* PBXContainerItemProxy */ = { + 68F60A6A22D5A19813EAAA4BA3D4B860 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4D3BA58D0583DF37575CACAB3DDADC85; - remoteInfo = MJExtension; + remoteGlobalIDString = CCE0F64E83CEAFEE20D04DC7BD57303E; + remoteInfo = MASPreferences; }; - 4798AC760734FF0F791C02227927B348 /* PBXContainerItemProxy */ = { + 717812D660A10D38BDE763EF916D510F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = F60E38364AFF5E1349FF07415B944396; - remoteInfo = SSZipArchive; + remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; + remoteInfo = GoogleUtilities; }; - 5C56F8B6FC04BE19C6942DE03C1D3FA8 /* PBXContainerItemProxy */ = { + 73552FC10E8081670F4D6A45F45B0208 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; remoteInfo = GoogleUtilities; }; - 5FBC2E67B76297D7DD09CB2852B28CD9 /* PBXContainerItemProxy */ = { + 7392F452780401764C6048EC459CD856 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 55AF53E6C77A10ED4985E04D74A8878E; - remoteInfo = Masonry; + remoteGlobalIDString = 4402AFF83DBDC4DD07E198685FDC2DF2; + remoteInfo = FirebaseCore; }; - 636D323D8753253F8A95A6A4DD591943 /* PBXContainerItemProxy */ = { + 75E68FF209D9D8C5CE2EDD09BE68E2C2 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = B53D977A951AFC38B21751B706C1DF83; - remoteInfo = GoogleAppMeasurement; + remoteGlobalIDString = 73C37A16ECCEAD845651DCDEE95675BE; + remoteInfo = "MASShortcut-MASShortcut"; }; - 6758A8086071EA6EB98BC4FFD6B87433 /* PBXContainerItemProxy */ = { + 79297E59BB75F36694C8B551B5EDA8A6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; - remoteInfo = GoogleUtilities; + remoteGlobalIDString = 94C1BAA17BCEBC27586488A205D2E0CB; + remoteInfo = JLRoutes; }; - 68553DBC86D4A86DF4F273D74F4B834F /* PBXContainerItemProxy */ = { + 84B343ECD05EECFA03E3B1BCCFB19313 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 2568F753F09C4DFFD8770DCC78EDAEAE; - remoteInfo = KVOController; + remoteGlobalIDString = 438B238ACC7DF1178D1BCE1A31983146; + remoteInfo = ReactiveObjC; }; - 6954F195B39C0FA819939787CDF6421F /* PBXContainerItemProxy */ = { + 89B13785C6EC487D6366E4373347BD84 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 2BBF7206D7FAC92C82A042A99C4A98F8; - remoteInfo = PromisesObjC; + remoteGlobalIDString = 94C1BAA17BCEBC27586488A205D2E0CB; + remoteInfo = JLRoutes; }; - 7189A88455FEA80A5EAA78AB2CDE9BFC /* PBXContainerItemProxy */ = { + 8D3CBACF0B40F970B186CBAFCAE0475A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 2BBF7206D7FAC92C82A042A99C4A98F8; - remoteInfo = PromisesObjC; + remoteGlobalIDString = B53D977A951AFC38B21751B706C1DF83; + remoteInfo = GoogleAppMeasurement; }; - 7913070B0D530E485AC440E8B46E8C90 /* PBXContainerItemProxy */ = { + 8D6E90FF1F21508F89C70C6E4B0196B4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 2BBF7206D7FAC92C82A042A99C4A98F8; - remoteInfo = PromisesObjC; + remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; + remoteInfo = GoogleUtilities; }; - 7AA7CFF5A405A326B401E1E67E6B6BC1 /* PBXContainerItemProxy */ = { + 8EDA3DBB44F5833DEA7AAC051D5F2344 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 2B2B481A164695722839BD581D442457; - remoteInfo = MASShortcut; + remoteGlobalIDString = 2568F753F09C4DFFD8770DCC78EDAEAE; + remoteInfo = KVOController; }; - 7F45602B4361AE1077C630597632042D /* PBXContainerItemProxy */ = { + 902FF10EEC18D3A152B0B50B42512C23 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 25E9E9A17BC3F670357D7385C521E48E; - remoteInfo = FirebaseCoreInternal; + remoteGlobalIDString = D2B5E7DCCBBFB32341D857D01211A1A3; + remoteInfo = nanopb; }; - 87AA1EBF7D138CD0EF7C93FC2EC0B509 /* PBXContainerItemProxy */ = { + 97BC8A9B7F9E7173D1356A2927533FFB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 55AF53E6C77A10ED4985E04D74A8878E; - remoteInfo = Masonry; + remoteGlobalIDString = B53D977A951AFC38B21751B706C1DF83; + remoteInfo = GoogleAppMeasurement; }; - 891BC9F1ECB7A248B6CBE7BA582C98C3 /* PBXContainerItemProxy */ = { + B1C090F0C42AB041DF8A9F50727E7CEB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = E95654B155D25890BE8E26081FCA8265; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = D2B5E7DCCBBFB32341D857D01211A1A3; + remoteInfo = nanopb; }; - 8DFB02420105F3F0EA12E46FAC131C03 /* PBXContainerItemProxy */ = { + BA745C0DEB6B4B863E123B0109114253 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 94C1BAA17BCEBC27586488A205D2E0CB; - remoteInfo = JLRoutes; + remoteGlobalIDString = 0130B3724283586C0E9D2A112D4F2AA1; + remoteInfo = AFNetworking; }; - A0BC861B6B49C5668A83CF4B2913B65F /* PBXContainerItemProxy */ = { + BC5A21F35BB2A9837DBAC2914DA9F870 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = B53D977A951AFC38B21751B706C1DF83; - remoteInfo = GoogleAppMeasurement; + remoteGlobalIDString = 87803597EB3F20FC46472B85392EC4FD; + remoteInfo = FirebaseInstallations; }; - A2A1E39C14642E33BFDF11CDF6644A65 /* PBXContainerItemProxy */ = { + BE60430AD6D9AD56E25D88D6CD6312CC /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 438B238ACC7DF1178D1BCE1A31983146; - remoteInfo = ReactiveObjC; + remoteGlobalIDString = 4D3BA58D0583DF37575CACAB3DDADC85; + remoteInfo = MJExtension; }; - A6379A166936EB998BC0A49DBE10BCB6 /* PBXContainerItemProxy */ = { + C32CDDAB8B431C78820EC7EC7B0CB6FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = CCE0F64E83CEAFEE20D04DC7BD57303E; - remoteInfo = MASPreferences; + remoteGlobalIDString = C49E7A4D59E5C8BE8DE9FB1EFB150185; + remoteInfo = FirebaseAnalytics; }; - A7324E6AEB076DEC5CB6814261EB0887 /* PBXContainerItemProxy */ = { + C81B7AF59B736505DDE8E35E7BD57442 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 25E9E9A17BC3F670357D7385C521E48E; - remoteInfo = FirebaseCoreInternal; + remoteGlobalIDString = D2B5E7DCCBBFB32341D857D01211A1A3; + remoteInfo = nanopb; }; - AE557EA3CFD83C2AA96AA00A9781D87C /* PBXContainerItemProxy */ = { + C9BF68369ABF014BA3D07F62E5EC2963 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = F60E38364AFF5E1349FF07415B944396; - remoteInfo = SSZipArchive; + remoteGlobalIDString = 2BBF7206D7FAC92C82A042A99C4A98F8; + remoteInfo = PromisesObjC; }; - B0BBC49076E028BA6ADA99609A3DD55B /* PBXContainerItemProxy */ = { + D0620792E10BD2E77B94A84BA71C8192 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 0130B3724283586C0E9D2A112D4F2AA1; - remoteInfo = AFNetworking; + remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; + remoteInfo = GoogleUtilities; }; - B7C34F17CC6278BB68392627A3D5C0C2 /* PBXContainerItemProxy */ = { + D38A425280300171FDCEAC0639E498EB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 4402AFF83DBDC4DD07E198685FDC2DF2; - remoteInfo = FirebaseCore; + remoteGlobalIDString = 25E9E9A17BC3F670357D7385C521E48E; + remoteInfo = FirebaseCoreInternal; }; - BCC892042958895241EC8388890CDE39 /* PBXContainerItemProxy */ = { + D5F5855E3DD60CCC57D45D957B85BF84 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = E95654B155D25890BE8E26081FCA8265; - remoteInfo = CocoaLumberjack; + remoteGlobalIDString = 55AF53E6C77A10ED4985E04D74A8878E; + remoteInfo = Masonry; }; - C9221EA824720B8F27A64CF70E47DD53 /* PBXContainerItemProxy */ = { + DE90565BE91B94D712CAAC7C001A2B61 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 0A273FF147C6C1A3B504E3652CD01233; - remoteInfo = "MASPreferences-MASPreferences"; + remoteGlobalIDString = 2BBF7206D7FAC92C82A042A99C4A98F8; + remoteInfo = PromisesObjC; }; - CE0B8E5E47FA593386151334047DE99C /* PBXContainerItemProxy */ = { + E1ED68C63DE86E44A7066A4ABFE610C1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = C49E7A4D59E5C8BE8DE9FB1EFB150185; - remoteInfo = FirebaseAnalytics; + remoteGlobalIDString = F60E38364AFF5E1349FF07415B944396; + remoteInfo = SSZipArchive; }; - D9678A75C1486415FDA4C701F4DB3773 /* PBXContainerItemProxy */ = { + E69DBA16358ADEF2BE3DD65454E6D2DE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = D2B5E7DCCBBFB32341D857D01211A1A3; - remoteInfo = nanopb; + remoteGlobalIDString = 0130B3724283586C0E9D2A112D4F2AA1; + remoteInfo = AFNetworking; }; - E0C2D78646F83DB2B6CC3E7B400C9AF7 /* PBXContainerItemProxy */ = { + E79022D3D988311ED1F5793506F25824 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = E95654B155D25890BE8E26081FCA8265; + remoteInfo = CocoaLumberjack; + }; + E9EF83102526DB5E0E0554BBCBD4E1CE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 8D7F5D5DD528D21A72DC87ADA5B12E2D; remoteInfo = GoogleUtilities; }; - E9AF849E2E6559544CCC487177E29C2A /* PBXContainerItemProxy */ = { + ECB2A02B3A4FE50FDA2CDEB391755977 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 2B2B481A164695722839BD581D442457; - remoteInfo = MASShortcut; + remoteGlobalIDString = 87803597EB3F20FC46472B85392EC4FD; + remoteInfo = FirebaseInstallations; }; - F533734D49C3552F8170528AFCE4EA88 /* PBXContainerItemProxy */ = { + EECA3834B793342911FD97EB32611973 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = D2B5E7DCCBBFB32341D857D01211A1A3; - remoteInfo = nanopb; + remoteGlobalIDString = 4402AFF83DBDC4DD07E198685FDC2DF2; + remoteInfo = FirebaseCore; }; - FC06F4C5679CD071A6AC615365DD5D0E /* PBXContainerItemProxy */ = { + F3CFD3A36003B108E8D12A390C112B66 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 0130B3724283586C0E9D2A112D4F2AA1; - remoteInfo = AFNetworking; + remoteGlobalIDString = 2B2B481A164695722839BD581D442457; + remoteInfo = MASShortcut; }; - FC3B6B6C22F2F6194D8969AD05B337F9 /* PBXContainerItemProxy */ = { + F9554582D162271FFA82F58F1605EB79 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = D2B5E7DCCBBFB32341D857D01211A1A3; - remoteInfo = nanopb; + remoteGlobalIDString = F60E38364AFF5E1349FF07415B944396; + remoteInfo = SSZipArchive; }; - FEDFFF2892A349A3386EA12A47725523 /* PBXContainerItemProxy */ = { + FA7DC6709C1B6B2B93432D3B2CB46AD7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 73C37A16ECCEAD845651DCDEE95675BE; - remoteInfo = "MASShortcut-MASShortcut"; + remoteGlobalIDString = 0A273FF147C6C1A3B504E3652CD01233; + remoteInfo = "MASPreferences-MASPreferences"; }; - FF05EE75DB02D83DAB6D1386630861E8 /* PBXContainerItemProxy */ = { + FB1CE6306BABF94D6641FD357066DAD3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 87803597EB3F20FC46472B85392EC4FD; - remoteInfo = FirebaseInstallations; + remoteGlobalIDString = 2BBF7206D7FAC92C82A042A99C4A98F8; + remoteInfo = PromisesObjC; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0026861DE43C5A5EF086346FD5A4E917 /* SSZipArchive.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SSZipArchive.m; path = SSZipArchive/SSZipArchive.m; sourceTree = ""; }; - 00AC38A44150F037A17C4ADD24DBDD3A /* RACIndexSetSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACIndexSetSequence.m; path = ReactiveObjC/RACIndexSetSequence.m; sourceTree = ""; }; - 00E177242EA523EE88B973E43FFF4B99 /* GULKeychainStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULKeychainStorage.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainStorage.h; sourceTree = ""; }; - 01277E50C634B8441355B5F93755265C /* MJExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJExtension.debug.xcconfig; sourceTree = ""; }; - 012B75D1003A920BC7754E556D065741 /* MASConstraintMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraintMaker.h; path = Masonry/MASConstraintMaker.h; sourceTree = ""; }; - 022606E544A4233F1D922292776E0366 /* GULUserDefaults.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULUserDefaults.h; path = GoogleUtilities/UserDefaults/Public/GoogleUtilities/GULUserDefaults.h; sourceTree = ""; }; - 02524D89E21EA7415E08457D64F8F21D /* _ObjC_HeartbeatsPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = _ObjC_HeartbeatsPayload.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/_ObjC_HeartbeatsPayload.swift; sourceTree = ""; }; - 0259A0ABF52478A29E9AA01C21FB225A /* MJProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJProperty.h; path = MJExtension/MJProperty.h; sourceTree = ""; }; - 0262A4B7DACA86380992204940EA8668 /* NSObject+RACLifting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACLifting.h"; path = "ReactiveObjC/NSObject+RACLifting.h"; sourceTree = ""; }; - 027A86324E4024C36924D52B5477A6EE /* MJPropertyKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJPropertyKey.h; path = MJExtension/MJPropertyKey.h; sourceTree = ""; }; - 029C423CECDB3325E883E4CC9D387466 /* NSControl+RACTextSignalSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSControl+RACTextSignalSupport.h"; path = "ReactiveObjC/NSControl+RACTextSignalSupport.h"; sourceTree = ""; }; - 03A567BE743259443440AFABA4BC7241 /* RACSubject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSubject.h; path = ReactiveObjC/RACSubject.h; sourceTree = ""; }; - 04FF49BBDAD7A0F0389F315899BC7AC2 /* FIRAnalyticsConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAnalyticsConfiguration.h; path = FirebaseCore/Sources/FIRAnalyticsConfiguration.h; sourceTree = ""; }; - 05022F9B4C62FAAF500E396D8CC315CD /* RACScopedDisposable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACScopedDisposable.m; path = ReactiveObjC/RACScopedDisposable.m; sourceTree = ""; }; - 05099314B4BE38FA8C7F13C027C6A072 /* KVOController.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KVOController.debug.xcconfig; sourceTree = ""; }; - 05767C42466EC7E44F052F349D142CB0 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; - 059CE931A8E82677DB1C7490AB737989 /* PromisesObjC-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromisesObjC-umbrella.h"; sourceTree = ""; }; - 06098597133336AEE43C16D0B0EFDF4E /* mz_zip.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_zip.c; path = SSZipArchive/minizip/mz_zip.c; sourceTree = ""; }; - 061377C475382F5C433A6274E6C01613 /* SUAppcast.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUAppcast.h; path = Sparkle.framework/Versions/B/Headers/SUAppcast.h; sourceTree = ""; }; + 00503E6201D69A55E4735E488873F7C5 /* FIRConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRConfiguration.m; path = FirebaseCore/Sources/FIRConfiguration.m; sourceTree = ""; }; + 007B0E303A96E73E7EE417B7896B6F57 /* Sparkle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Sparkle.h; path = Sparkle.framework/Versions/B/Headers/Sparkle.h; sourceTree = ""; }; + 008CD2BB0405876BF3B5EB1B2696DA55 /* CLIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CLIColor.m; path = Sources/CocoaLumberjack/CLI/CLIColor.m; sourceTree = ""; }; + 012F9362EB4F259A12AAFD87E86F27FA /* RACCommand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACCommand.h; path = ReactiveObjC/RACCommand.h; sourceTree = ""; }; + 0185F4BF31D60F7AF916A585F6397BD0 /* FirebaseCore-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FirebaseCore-Info.plist"; sourceTree = ""; }; + 01D64B777E775755C45AC98987826C3E /* MASKeyCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyCodes.h; path = Framework/Model/MASKeyCodes.h; sourceTree = ""; }; + 01E3FF18023005338D08526786208C95 /* FIRInstallationsIIDTokenStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsIIDTokenStore.h; path = FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.h; sourceTree = ""; }; + 0207FE3FADE60C4041E109440F285444 /* FBLPromise+Retry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Retry.h"; path = "Sources/FBLPromises/include/FBLPromise+Retry.h"; sourceTree = ""; }; + 0270AF95EE25EF539A72405D4F56FEA8 /* _ObjC_HeartbeatController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = _ObjC_HeartbeatController.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/_ObjC_HeartbeatController.swift; sourceTree = ""; }; + 03125AC96C270B30979C7BD57EF02646 /* mz_strm_mem.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_mem.c; path = SSZipArchive/minizip/mz_strm_mem.c; sourceTree = ""; }; + 0371993261AE6E964B014660128A0595 /* AppCenterCrashes.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = AppCenterCrashes.xcframework; path = "AppCenter-SDK-Apple/AppCenterCrashes.xcframework"; sourceTree = ""; }; + 03E66F0A898FD37350BC6EBBD7EBB450 /* MASDictionaryTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASDictionaryTransformer.h; path = "Framework/User Defaults Storage/MASDictionaryTransformer.h"; sourceTree = ""; }; + 043D38E408E09D039542D315367A3489 /* RACTestScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACTestScheduler.h; path = ReactiveObjC/RACTestScheduler.h; sourceTree = ""; }; + 047B6B408EAFE9EAAD499F1DD0044004 /* FIRInstallationsAuthTokenResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsAuthTokenResult.h; path = FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsAuthTokenResult.h; sourceTree = ""; }; + 049E2F9EDE780F821CF8B571D6B566DE /* RACDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACDelegateProxy.m; path = ReactiveObjC/RACDelegateProxy.m; sourceTree = ""; }; + 04DF1186178576F4AEDD94CD17685B63 /* PromisesObjC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromisesObjC.release.xcconfig; sourceTree = ""; }; + 04F3597EEE784742B92F27E6BB8EB8D3 /* FIRDependency.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRDependency.m; path = FirebaseCore/Sources/FIRDependency.m; sourceTree = ""; }; + 05BBACF1ADC2F44DBB7AE20B6C97727D /* NSNotificationCenter+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+RACSupport.m"; path = "ReactiveObjC/NSNotificationCenter+RACSupport.m"; sourceTree = ""; }; + 06A954C57A2969512D89EEEB618DF443 /* NSObject+MJProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJProperty.h"; path = "MJExtension/NSObject+MJProperty.h"; sourceTree = ""; }; 06FC5C9CF96D60C50FCD47D339C91951 /* nanopb */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = nanopb; path = nanopb.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 06FF74C0A5B2643060F7C69389BF4555 /* RACScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACScheduler.h; path = ReactiveObjC/RACScheduler.h; sourceTree = ""; }; + 07428419111208D360703A291E70E7BE /* FBLPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBLPromise.h; path = Sources/FBLPromises/include/FBLPromise.h; sourceTree = ""; }; 075B59E91BF3BF5ABD9620878E2DB30F /* Pods-EasydictTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-EasydictTests-acknowledgements.markdown"; sourceTree = ""; }; 077721F948898091D9B33938E5F2054E /* Pods-Easydict-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Easydict-acknowledgements.plist"; sourceTree = ""; }; - 077874D9F3E8F0B6F73064F6C5618055 /* FIRDependency.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRDependency.m; path = FirebaseCore/Sources/FIRDependency.m; sourceTree = ""; }; - 07B1AC3655E9AE2669D41AAEA988C9D1 /* SPUUpdaterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdaterDelegate.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdaterDelegate.h; sourceTree = ""; }; - 08F2A2CAF4560F3A9484254A69A357F8 /* RACDelegateProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACDelegateProxy.m; path = ReactiveObjC/RACDelegateProxy.m; sourceTree = ""; }; - 08F5F3A0300FC8B8557ACE4F251B0330 /* FBLPromise+Timeout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Timeout.h"; path = "Sources/FBLPromises/include/FBLPromise+Timeout.h"; sourceTree = ""; }; - 09316B32F1E46B59F80844D4EEEA2843 /* RACCompoundDisposable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACCompoundDisposable.m; path = ReactiveObjC/RACCompoundDisposable.m; sourceTree = ""; }; - 0A166544F161846882635799D999AD28 /* RACSubscriptingAssignmentTrampoline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSubscriptingAssignmentTrampoline.h; path = ReactiveObjC/RACSubscriptingAssignmentTrampoline.h; sourceTree = ""; }; - 0A79CED8B4AB2E41A35B2B6FA22BF042 /* FBLPromise+Then.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Then.h"; path = "Sources/FBLPromises/include/FBLPromise+Then.h"; sourceTree = ""; }; - 0B4411AA78C08FFFBDE53765D72A9431 /* SSZipArchive-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SSZipArchive-Info.plist"; sourceTree = ""; }; - 0BE3BCEAB2A4D4EE917B5E7A3A6CA49F /* Masonry.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.release.xcconfig; sourceTree = ""; }; - 0BE7588F905FE15FAEB1FBA5B0AD86D7 /* AFNetworking-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AFNetworking-Info.plist"; sourceTree = ""; }; - 0C4B98333B9EFBBE0C43A09ABF4F80C2 /* RACKVOProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACKVOProxy.m; path = ReactiveObjC/RACKVOProxy.m; sourceTree = ""; }; - 0C4C4664E8CFAA23183697612E263013 /* JLRRouteDefinition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRRouteDefinition.m; path = JLRoutes/Classes/JLRRouteDefinition.m; sourceTree = ""; }; - 0CC8B3B40E151C7C9924D6D64BEC9916 /* FBLPromise+Any.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Any.h"; path = "Sources/FBLPromises/include/FBLPromise+Any.h"; sourceTree = ""; }; - 0D0A389A731B83549F5A6E70A980EFE3 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDDispatchQueueLogFormatter.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDDispatchQueueLogFormatter.h; sourceTree = ""; }; - 0D4332B00D1ADEB216D2034B139297DE /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = ""; }; + 078280E39F8D48CA347F1812F4325525 /* FIRAnalyticsConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRAnalyticsConfiguration.m; path = FirebaseCore/Sources/FIRAnalyticsConfiguration.m; sourceTree = ""; }; + 078F91F85261D973F1918F7B9396DA9A /* RACGroupedSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACGroupedSignal.h; path = ReactiveObjC/RACGroupedSignal.h; sourceTree = ""; }; + 07BF67A0A21788F11E9820ACD60D8D4B /* FIRInstallationsBackoffController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsBackoffController.m; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.m; sourceTree = ""; }; + 07F30AF02159CA4C3AEFDE62EBB710F3 /* GULSceneDelegateSwizzler_Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULSceneDelegateSwizzler_Private.h; path = GoogleUtilities/AppDelegateSwizzler/Internal/GULSceneDelegateSwizzler_Private.h; sourceTree = ""; }; + 084FFBD8161DA139955F5C495E977BC7 /* pb_decode.c */ = {isa = PBXFileReference; includeInIndex = 1; path = pb_decode.c; sourceTree = ""; }; + 08E4114E5007B4CEDBEC278A9370C186 /* View+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASAdditions.h"; path = "Masonry/View+MASAdditions.h"; sourceTree = ""; }; + 09351960E37B3303BF11E930F6217AD4 /* NSURLSession+GULPromises.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+GULPromises.h"; path = "GoogleUtilities/Environment/Public/GoogleUtilities/NSURLSession+GULPromises.h"; sourceTree = ""; }; + 0980AE61E61641D1D345C5BD1D85C868 /* FIRDependency.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRDependency.h; path = FirebaseCore/Extension/FIRDependency.h; sourceTree = ""; }; + 0A14F6B3EA6481DEE62737D1C024149C /* mz_strm_zlib.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_zlib.h; path = SSZipArchive/minizip/mz_strm_zlib.h; sourceTree = ""; }; + 0AD3854ADEF6948A5A636DA2784AF270 /* FirebaseInstallations-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseInstallations-umbrella.h"; sourceTree = ""; }; + 0AD8C29C96039C5BFEA470D634618821 /* MASKeyMasks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyMasks.h; path = Framework/Model/MASKeyMasks.h; sourceTree = ""; }; + 0AE48696D567E222C0C256845E33BD8C /* MASConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraint.h; path = Masonry/MASConstraint.h; sourceTree = ""; }; + 0B46495A9BF42C85115D939CBF2EFA8C /* MJExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJExtension.debug.xcconfig; sourceTree = ""; }; + 0C3ACB4FECC9B3CBC7EF3FE4E1DF913D /* JLRRouteHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRRouteHandler.h; path = JLRoutes/Classes/JLRRouteHandler.h; sourceTree = ""; }; + 0C448B6102D3720E0079E6D21AB942A8 /* RACDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACDelegateProxy.h; path = ReactiveObjC/RACDelegateProxy.h; sourceTree = ""; }; + 0C8453BA0010436442CCEABF3A8E0AA4 /* RACTupleSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACTupleSequence.m; path = ReactiveObjC/RACTupleSequence.m; sourceTree = ""; }; + 0D4BC739C5257F3ED80C13A3E8A86F00 /* RACBehaviorSubject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACBehaviorSubject.m; path = ReactiveObjC/RACBehaviorSubject.m; sourceTree = ""; }; 0D610BCDDE18DC2909FCA3135208FAB9 /* Pods-Easydict-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Easydict-dummy.m"; sourceTree = ""; }; - 0D70F6EB50DF3DEC7CEC430A41AD18CF /* FIRInstallationsAuthTokenResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsAuthTokenResult.h; path = FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsAuthTokenResult.h; sourceTree = ""; }; - 0E403A9620BBE446FD1BDAFEB3B46A7A /* CocoaLumberjack.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CocoaLumberjack.debug.xcconfig; sourceTree = ""; }; - 0F176BDD6E6FB57841F257AD3685A042 /* NSUserDefaults+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSUserDefaults+RACSupport.m"; path = "ReactiveObjC/NSUserDefaults+RACSupport.m"; sourceTree = ""; }; + 0DBB45C8C84154E38284FF237A132770 /* FIRInstallationsSingleOperationPromiseCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsSingleOperationPromiseCache.m; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.m; sourceTree = ""; }; + 0DBC28B410E6D882752DBD0FD7268A67 /* MASDictionaryTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASDictionaryTransformer.m; path = "Framework/User Defaults Storage/MASDictionaryTransformer.m"; sourceTree = ""; }; + 0DE398F512854E881F45C07A0B918771 /* FirebaseAnalytics.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = FirebaseAnalytics.xcframework; path = Frameworks/FirebaseAnalytics.xcframework; sourceTree = ""; }; + 0E95E9C6DE494E4BD3F9A0F94F2B72CF /* SSZipArchive-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSZipArchive-prefix.pch"; sourceTree = ""; }; + 0E97540173510268C0C11125F7F43851 /* Storage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Storage.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/Storage.swift; sourceTree = ""; }; + 0F018DD0C9733967F39BE4AE8D8B8BDC /* GoogleAppMeasurementIdentitySupport.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = GoogleAppMeasurementIdentitySupport.xcframework; path = Frameworks/GoogleAppMeasurementIdentitySupport.xcframework; sourceTree = ""; }; 0F1C25F44128BF7424E93AA5262DC85E /* Pods-Easydict.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Easydict.release.xcconfig"; sourceTree = ""; }; - 0F5EADF96595D2C8E68B8F2CA9FB04DB /* FIRVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRVersion.m; path = FirebaseCore/Sources/FIRVersion.m; sourceTree = ""; }; - 0FFF1E020E59B69AD2341FDF91BE5E8E /* FBLPromise+Do.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Do.m"; path = "Sources/FBLPromises/FBLPromise+Do.m"; sourceTree = ""; }; - 10C9273649D39C20759AB9E7DAE9B303 /* FIRHeartbeatLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRHeartbeatLogger.h; path = FirebaseCore/Extension/FIRHeartbeatLogger.h; sourceTree = ""; }; - 112AABDAA5669556C7C480D1449FF1B4 /* MASViewAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewAttribute.m; path = Masonry/MASViewAttribute.m; sourceTree = ""; }; - 11E34147A092828C8735FABD15BE6EF5 /* RACCommand.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACCommand.h; path = ReactiveObjC/RACCommand.h; sourceTree = ""; }; - 12833385D4140DCE3D9DFD2688A34A08 /* RACReplaySubject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACReplaySubject.m; path = ReactiveObjC/RACReplaySubject.m; sourceTree = ""; }; - 12E98664D1E403D95495D0FAB18C20C3 /* FIRInstallationsStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsStore.h; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.h; sourceTree = ""; }; - 1313C7F05D0E0218F153571D42681AC1 /* pb_common.c */ = {isa = PBXFileReference; includeInIndex = 1; path = pb_common.c; sourceTree = ""; }; - 1324341AA9C409D2BA1F414A46E83A89 /* JLRoutes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRoutes.m; path = JLRoutes/JLRoutes.m; sourceTree = ""; }; - 135B7D8B78B34C83936DAEDB491F8AD5 /* FIRCurrentDateProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRCurrentDateProvider.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.h; sourceTree = ""; }; - 136A0FE14FDEDE1924305FDFB94D89EA /* MASPreferences-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MASPreferences-dummy.m"; sourceTree = ""; }; - 13807E90C7C69F9F8AD21B60CCF0DB30 /* Masonry-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-prefix.pch"; sourceTree = ""; }; - 13B2185577A1A1FDA1EB507BC0486F0C /* GoogleUtilities-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GoogleUtilities-umbrella.h"; sourceTree = ""; }; + 0F2D2A6213ED42ED611A22A2519A354A /* Masonry-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-umbrella.h"; sourceTree = ""; }; + 0F68D95386C769D546500247D3D188FF /* GULKeychainUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULKeychainUtils.m; path = GoogleUtilities/Environment/SecureStorage/GULKeychainUtils.m; sourceTree = ""; }; + 0FD4072EFB581A732EC07091445602A4 /* FIRInstallationsSingleOperationPromiseCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsSingleOperationPromiseCache.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.h; sourceTree = ""; }; + 0FD5311C749B336FABF406B041145AAD /* SSZipArchive.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSZipArchive.h; path = SSZipArchive/SSZipArchive.h; sourceTree = ""; }; + 1037F5E5E79D393A5DCCBF9821E853CE /* KVOController-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KVOController-umbrella.h"; sourceTree = ""; }; + 10706F1C6A71EA2C3BC09E9A2714ECE0 /* MASShortcutValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutValidator.h; path = Framework/Model/MASShortcutValidator.h; sourceTree = ""; }; + 109DC147BDE72327ACDE8EF19B213083 /* FirebaseInstallations-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FirebaseInstallations-Info.plist"; sourceTree = ""; }; + 1361D2F48C1D00902788B885559E945E /* MASPreferences.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASPreferences.release.xcconfig; sourceTree = ""; }; + 1391FBA196CF4D021D5B572050A4F88B /* FBLPromise+Race.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Race.h"; path = "Sources/FBLPromises/include/FBLPromise+Race.h"; sourceTree = ""; }; + 13B6E77A67AF2FC8679166895407220B /* RACKVOChannel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACKVOChannel.m; path = ReactiveObjC/RACKVOChannel.m; sourceTree = ""; }; 13C8C8B254851998F9289F71229B28A2 /* FirebaseInstallations */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FirebaseInstallations; path = FirebaseInstallations.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 13F885E42810A88FF17B51D18733151F /* RACErrorSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACErrorSignal.h; path = ReactiveObjC/RACErrorSignal.h; sourceTree = ""; }; 148D0F9E8C7373FEAF40D800FC5F1BAA /* FirebaseCoreInternal */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FirebaseCoreInternal; path = FirebaseCoreInternal.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 14B6F5F0D12FDFE7AB1A5DDEF5D9A4EC /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; - 14DC47848741AF0B62B275D008EBF648 /* Sparkle.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Sparkle.debug.xcconfig; sourceTree = ""; }; - 15543C915498F54D36A6E915DE44CFD4 /* RACCommand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACCommand.m; path = ReactiveObjC/RACCommand.m; sourceTree = ""; }; - 1598148EA94913C192F756ADDBF32585 /* FIRInstallationsStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsStatus.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsStatus.h; sourceTree = ""; }; - 15F687129819D3232E00B61C2A0FC706 /* FIRInstallationsErrorUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsErrorUtil.h; path = FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.h; sourceTree = ""; }; - 160E976D8191C0D37CA60DF70CE967A4 /* CocoaLumberjack-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "CocoaLumberjack-Info.plist"; sourceTree = ""; }; - 16177EAF113ACDFB57D296A928AF3F47 /* RACReturnSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACReturnSignal.m; path = ReactiveObjC/RACReturnSignal.m; sourceTree = ""; }; - 165B72EAB689AEAF1FAA23ACF481D999 /* RACDisposable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACDisposable.m; path = ReactiveObjC/RACDisposable.m; sourceTree = ""; }; - 17621A66DE927854976A90357AB3D7C8 /* StorageFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StorageFactory.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/StorageFactory.swift; sourceTree = ""; }; - 179014CAF67F2F121814D749D3D2802A /* RACEmptySignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEmptySignal.h; path = ReactiveObjC/RACEmptySignal.h; sourceTree = ""; }; - 17A242F549501CE395B4FAED56DC1C96 /* NSData+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+RACSupport.m"; path = "ReactiveObjC/NSData+RACSupport.m"; sourceTree = ""; }; - 193DF24125966AE08DF194E6D84AD896 /* NSOrderedSet+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSOrderedSet+RACSequenceAdditions.h"; path = "ReactiveObjC/NSOrderedSet+RACSequenceAdditions.h"; sourceTree = ""; }; - 1A62D91A40C542CC6538060ACC881AE5 /* MASPreferences.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MASPreferences.modulemap; sourceTree = ""; }; - 1A81294FD761D6936DD1A779D7C60C93 /* GULNetwork.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULNetwork.m; path = GoogleUtilities/Network/GULNetwork.m; sourceTree = ""; }; - 1AC96AF838C43C79F0E0918A158573AB /* MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJExtension.h; path = MJExtension/MJExtension.h; sourceTree = ""; }; - 1B02C44318DF64E9BE4D9BE22A53CBBE /* NSControl+RACTextSignalSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSControl+RACTextSignalSupport.m"; path = "ReactiveObjC/NSControl+RACTextSignalSupport.m"; sourceTree = ""; }; - 1B6FC3399C0A391480F8416B26D1652E /* AppCenter-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "AppCenter-xcframeworks.sh"; sourceTree = ""; }; - 1B79C3B6C4E12E967F3F5967317D6BB5 /* MJExtension-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "MJExtension-Info.plist"; sourceTree = ""; }; - 1BB83140B8A745FD33C2E80D76DE2E54 /* DDTTYLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = Sources/CocoaLumberjack/DDTTYLogger.m; sourceTree = ""; }; - 1BC81542DA7335CAF98055D996BDE5AD /* SSZipArchive.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SSZipArchive.modulemap; sourceTree = ""; }; - 1C3520F26513B85AC0F0835339E66762 /* FBLPromise+Timeout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Timeout.m"; path = "Sources/FBLPromises/FBLPromise+Timeout.m"; sourceTree = ""; }; - 1C3A93282618B256264108B75910F473 /* RACDynamicSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACDynamicSignal.m; path = ReactiveObjC/RACDynamicSignal.m; sourceTree = ""; }; - 1C960C6A2753778D212E3578FA2CA9C5 /* _ObjC_HeartbeatController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = _ObjC_HeartbeatController.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/_ObjC_HeartbeatController.swift; sourceTree = ""; }; - 1CC1C0043A9052F90A74212B485C17D3 /* ReactiveObjC-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ReactiveObjC-Info.plist"; sourceTree = ""; }; - 1F063CF5CE998E5D8642A929F31C3DB0 /* NSObject+FBKVOController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+FBKVOController.m"; path = "FBKVOController/NSObject+FBKVOController.m"; sourceTree = ""; }; - 1F0AC615470EA531F8E4E32AA1178DAB /* GULReachabilityMessageCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULReachabilityMessageCode.h; path = GoogleUtilities/Reachability/GULReachabilityMessageCode.h; sourceTree = ""; }; - 1F4D4C460928C103E8BAAB08BBB4176D /* FBLPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBLPromise.m; path = Sources/FBLPromises/FBLPromise.m; sourceTree = ""; }; - 1F52ADF7BFF80B5D3E730E3A7F07C4C7 /* MASLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLocalization.h; path = Framework/UI/MASLocalization.h; sourceTree = ""; }; - 1FA9E901DBA316DBC3369E24B2C96F0C /* pb_decode.c */ = {isa = PBXFileReference; includeInIndex = 1; path = pb_decode.c; sourceTree = ""; }; - 1FEB7DD27733B82A7752B7CF5E59D2A5 /* FirebaseInstallations.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseInstallations.debug.xcconfig; sourceTree = ""; }; + 14BAB026E4918EF5CBF4DA88D4CDB86B /* MASShortcutView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutView.h; path = Framework/UI/MASShortcutView.h; sourceTree = ""; }; + 15ADD9E9C6ECE72BA108A16EF729DCB5 /* ko.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ko.lproj; path = Resources/ko.lproj; sourceTree = ""; }; + 15D666A76A0211836C450E104E7CC854 /* FIRComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponent.m; path = FirebaseCore/Sources/FIRComponent.m; sourceTree = ""; }; + 16D555AC9F4A92C6D4427CCFF69DD08A /* MASConstraintMaker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraintMaker.h; path = Masonry/MASConstraintMaker.h; sourceTree = ""; }; + 16E02478523EBF2D0AD82B02060A43D9 /* AppCenter.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = AppCenter.xcframework; path = "AppCenter-SDK-Apple/AppCenter.xcframework"; sourceTree = ""; }; + 1714B7470E22D2723A6B1983138285B2 /* RACValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACValueTransformer.m; path = ReactiveObjC/RACValueTransformer.m; sourceTree = ""; }; + 173D54D682B22EF5CEA5D6CB73A68F8F /* FBLPromise+Catch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Catch.m"; path = "Sources/FBLPromises/FBLPromise+Catch.m"; sourceTree = ""; }; + 175EDBC1469453E34C0AB1435EC8706F /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDAbstractDatabaseLogger.h; sourceTree = ""; }; + 1806A07E7CF6CA71BD5C56C5F8B3D20F /* _ObjC_HeartbeatsPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = _ObjC_HeartbeatsPayload.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/_ObjC_HeartbeatsPayload.swift; sourceTree = ""; }; + 1825F9286B8CD8E9381DB06170F68994 /* MJExtension.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MJExtension.modulemap; sourceTree = ""; }; + 18C9E45955627C593A1D553F775AA1EA /* MJExtension-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJExtension-prefix.pch"; sourceTree = ""; }; + 18F1B870BC7E22E62814C9DBD3D9CA9E /* GULNetworkURLSession.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkURLSession.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkURLSession.h; sourceTree = ""; }; + 1900018C9BABFFC7E4419FE3295784C7 /* mz_os.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_os.c; path = SSZipArchive/minizip/mz_os.c; sourceTree = ""; }; + 192A15F20E59A90657816317DF581DA3 /* RACErrorSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACErrorSignal.m; path = ReactiveObjC/RACErrorSignal.m; sourceTree = ""; }; + 197ABEF43C67CB4D702E23A616337E6F /* FIRDependency.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRDependency.h; path = FirebaseCore/Extension/FIRDependency.h; sourceTree = ""; }; + 19FF85FEFCEA28C75F88E113C66FF120 /* KVOController.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KVOController.release.xcconfig; sourceTree = ""; }; + 1A12898DF91F3DB85C1E005984FF96AA /* RACQueueScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACQueueScheduler.m; path = ReactiveObjC/RACQueueScheduler.m; sourceTree = ""; }; + 1A4503FD8D6CE1430DA58C82052F8E9B /* RACSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSignal.m; path = ReactiveObjC/RACSignal.m; sourceTree = ""; }; + 1B2960659D759E2D577A273EBFB9AA16 /* GULNetworkInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkInternal.h; path = GoogleUtilities/Network/GULNetworkInternal.h; sourceTree = ""; }; + 1B557AE6221C0036A8EF477E4AEEE970 /* mz_strm_pkcrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_pkcrypt.h; path = SSZipArchive/minizip/mz_strm_pkcrypt.h; sourceTree = ""; }; + 1BB1D08CA57F93E5789290449150805C /* SPUDownloadData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUDownloadData.h; path = Sparkle.framework/Versions/B/Headers/SPUDownloadData.h; sourceTree = ""; }; + 1BCCF34D393DF8755877EA0DDC5C239D /* NSString+RACKeyPathUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+RACKeyPathUtilities.m"; path = "ReactiveObjC/NSString+RACKeyPathUtilities.m"; sourceTree = ""; }; + 1BF0FC8BB1E81ACABC9794425B6A8C03 /* nanopb-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "nanopb-Info.plist"; sourceTree = ""; }; + 1C344F53515BA00521F5FFD7A9FB61ED /* SSZipArchive.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SSZipArchive.release.xcconfig; sourceTree = ""; }; + 1C7B081D4437F02910C873269722AB48 /* ResourceBundle-MASPreferences-MASPreferences-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-MASPreferences-MASPreferences-Info.plist"; sourceTree = ""; }; + 1CC55F44352370169F84C3BF15DA36CC /* MASPreferences.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASPreferences.h; path = Framework/MASPreferences.h; sourceTree = ""; }; + 1CD352E0D66E5A3B9071FA9E474D380E /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; + 1D44B5CBE6B5D53B521B500B83F16DC1 /* RACDisposable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACDisposable.h; path = ReactiveObjC/RACDisposable.h; sourceTree = ""; }; + 1D8061624702D4BF278437FFBD097B70 /* ReactiveObjC.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ReactiveObjC.h; path = ReactiveObjC/ReactiveObjC.h; sourceTree = ""; }; + 1E15B0A514B8F1A9B422901BE3B2C39C /* GULReachabilityChecker+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "GULReachabilityChecker+Internal.h"; path = "GoogleUtilities/Reachability/GULReachabilityChecker+Internal.h"; sourceTree = ""; }; + 1EE141A9AFAC044BF8548F41B1ECEE92 /* NSArray+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+RACSequenceAdditions.m"; path = "ReactiveObjC/NSArray+RACSequenceAdditions.m"; sourceTree = ""; }; + 1F04B80879EB8848A723E4FF7BA1800E /* FirebaseAnalytics.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseAnalytics.debug.xcconfig; sourceTree = ""; }; + 1F4B9D077AFF52994C4DCB28F8A0062D /* NSString+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+RACSupport.h"; path = "ReactiveObjC/NSString+RACSupport.h"; sourceTree = ""; }; + 1F6A9688883D909D7CE7AFF701ECA016 /* pl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = pl.lproj; path = Resources/pl.lproj; sourceTree = ""; }; 1FFED36A657123030ABB700256D73F15 /* Masonry */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Masonry; path = Masonry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 20FF9F98699EF40ECFFFD8A5E9E7B84A /* FirebaseCoreInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseCoreInternal.h; path = FirebaseCore/Extension/FirebaseCoreInternal.h; sourceTree = ""; }; - 21A2A159F1D0596746F9989AC5BB455C /* FBKVOController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBKVOController.m; path = FBKVOController/FBKVOController.m; sourceTree = ""; }; - 21E62F699C94C1B146F865627FA81859 /* AFNetworking-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-umbrella.h"; sourceTree = ""; }; + 2010079882908D2167EE3C1C1569ACE4 /* GULReachabilityChecker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULReachabilityChecker.h; path = GoogleUtilities/Reachability/Public/GoogleUtilities/GULReachabilityChecker.h; sourceTree = ""; }; + 20376865525378ACD5F8A0A172F6F1F0 /* MASShortcutBinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutBinder.m; path = "Framework/User Defaults Storage/MASShortcutBinder.m"; sourceTree = ""; }; + 205C1F0396927DDE56C2C54DEB99980B /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ViewController+MASAdditions.m"; path = "Masonry/ViewController+MASAdditions.m"; sourceTree = ""; }; + 20AC055AF058AB18C22E2EB61A25E431 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; + 20F9BEDF08779FA1CA59C530EAF6024D /* MASShortcutMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutMonitor.m; path = Framework/Monitoring/MASShortcutMonitor.m; sourceTree = ""; }; + 2223FC9AD427DD270681767655B7915D /* SPUStandardUpdaterController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUStandardUpdaterController.h; path = Sparkle.framework/Versions/B/Headers/SPUStandardUpdaterController.h; sourceTree = ""; }; + 22419CB25BB1BB9AAB7AC9C495BB53C7 /* FirebaseCoreInternal-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseCoreInternal-prefix.pch"; sourceTree = ""; }; 225198CE18CF6D457A07FFA8E1635FD6 /* Pods-EasydictTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EasydictTests.debug.xcconfig"; sourceTree = ""; }; - 2251F2661ABA3FEF7BB908C8AB62BA1B /* JLRRouteHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRRouteHandler.m; path = JLRoutes/Classes/JLRRouteHandler.m; sourceTree = ""; }; - 22736401C396CED477E8F10ADEA64A61 /* NSDictionary+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+RACSequenceAdditions.h"; path = "ReactiveObjC/NSDictionary+RACSequenceAdditions.h"; sourceTree = ""; }; + 22FF5DB1B4F09DB5E4243157B967B147 /* FIRInstallationsStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsStore.h; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.h; sourceTree = ""; }; 230F8208BE63C052A548A7D41A1158B2 /* MASShortcut-MASShortcut */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "MASShortcut-MASShortcut"; path = MASShortcut.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 233FB4ECC6B6FCF69868BD2A6E5BA511 /* AppCenter.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AppCenter.debug.xcconfig; sourceTree = ""; }; - 2348345A9A6B87047ACFE426DF9AB099 /* JLRoutes.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JLRoutes.release.xcconfig; sourceTree = ""; }; - 23B9E9495B9C8704E0593D642665110B /* ReactiveObjC-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReactiveObjC-prefix.pch"; sourceTree = ""; }; - 23D203524A47B748A1AD86FCC2BA8C1F /* AFNetworking.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.release.xcconfig; sourceTree = ""; }; - 23D592C3DEFD0BE137A647B4BCF36976 /* GoogleUtilities.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleUtilities.release.xcconfig; sourceTree = ""; }; - 246007C1BBBBA4F30B91E4299451687F /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; - 24632470859A47B1836928F8D0B0F173 /* HeartbeatLoggingTestUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatLoggingTestUtils.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatLoggingTestUtils.swift; sourceTree = ""; }; - 24BE397B182B810736A3A2B92C86304D /* FIRInstallationsAPIService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsAPIService.m; path = FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.m; sourceTree = ""; }; - 24D46D4E89AA2C4A80E5E5EE5AB28414 /* DDFileLogger+Buffering.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "DDFileLogger+Buffering.m"; path = "Sources/CocoaLumberjack/Extensions/DDFileLogger+Buffering.m"; sourceTree = ""; }; - 24F91137EC8B15B6FF34BE82B495B992 /* FIRHeartbeatLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRHeartbeatLogger.m; path = FirebaseCore/Sources/FIRHeartbeatLogger.m; sourceTree = ""; }; - 253B2CFCFCB0EDDA1EA6E908F3A4A398 /* MASShortcutBinder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutBinder.m; path = "Framework/User Defaults Storage/MASShortcutBinder.m"; sourceTree = ""; }; - 257FE9D06B43C7027E34137987DA960E /* SSZipArchive.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SSZipArchive.debug.xcconfig; sourceTree = ""; }; - 259286BC789EFC9EB297C914CA494282 /* FIRLibrary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLibrary.h; path = FirebaseCore/Extension/FIRLibrary.h; sourceTree = ""; }; - 25E59E700A1C39AB6DF670FD0B953BA9 /* RACUnarySequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACUnarySequence.h; path = ReactiveObjC/RACUnarySequence.h; sourceTree = ""; }; - 25E5BDBC00B6BA0DC8A2511EAD1E937A /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; - 260925E2D63BBA1E016C2CA597C8346E /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = Sources/CocoaLumberjack/DDAbstractDatabaseLogger.m; sourceTree = ""; }; - 26747014BC578EE657DAE8FD9ED0368B /* FIRInstallationsStoredAuthToken.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsStoredAuthToken.h; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.h; sourceTree = ""; }; - 26785DD25FAE15762C7C3B4C4B6D12A6 /* FIRInstallationsAuthTokenResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsAuthTokenResult.m; path = FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResult.m; sourceTree = ""; }; - 268F9B8A21FBF2D37B842192A8FF46DE /* mz_os.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_os.h; path = SSZipArchive/minizip/mz_os.h; sourceTree = ""; }; + 240E8D183AA9AF3F31E2CA529B12BF0A /* SPUUpdaterSettings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdaterSettings.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdaterSettings.h; sourceTree = ""; }; + 24BF7EC01DBDEAC2D409237393575B91 /* FirebaseInstallations.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseInstallations.release.xcconfig; sourceTree = ""; }; + 2501B0C0E6CE388D5A181E9AFB44319D /* RACSignalProvider.d */ = {isa = PBXFileReference; includeInIndex = 1; name = RACSignalProvider.d; path = ReactiveObjC/RACSignalProvider.d; sourceTree = ""; }; + 2519D7A49AC07097DF271452B3A8F167 /* GoogleUtilities-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GoogleUtilities-dummy.m"; sourceTree = ""; }; + 25A4879A14549DEAB2B62CA60E61A8BB /* MASPreferencesWindow.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = MASPreferencesWindow.xib; path = en.lproj/MASPreferencesWindow.xib; sourceTree = ""; }; + 25AD4A08C31C8F70001894C053A7E263 /* CocoaLumberjack.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CocoaLumberjack.swift; path = Sources/CocoaLumberjackSwift/CocoaLumberjack.swift; sourceTree = ""; }; + 25CA565A48F341B02CFA4491E868627F /* ReactiveObjC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReactiveObjC.debug.xcconfig; sourceTree = ""; }; + 260C5BC34E2901ABBEA06CB8A0A8898C /* GULNetworkConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkConstants.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkConstants.h; sourceTree = ""; }; 26A8810424438A12E7ADBFB3E068C658 /* MASShortcut */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = MASShortcut; path = MASShortcut.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 26B709F5C43C8E0A05F6D7B3A9BE3552 /* MASConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraint.m; path = Masonry/MASConstraint.m; sourceTree = ""; }; - 27E94BF83E6B4AEFC56E010F78A84F0D /* GoogleAppMeasurement.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleAppMeasurement.debug.xcconfig; sourceTree = ""; }; - 281ABF2FE9AF3CD99F02927F7EB1B89E /* NSObject+RACPropertySubscribing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACPropertySubscribing.m"; path = "ReactiveObjC/NSObject+RACPropertySubscribing.m"; sourceTree = ""; }; - 29A24D2863A4CA3867E12145BC9FBEAC /* FBLPromise+Recover.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Recover.h"; path = "Sources/FBLPromises/include/FBLPromise+Recover.h"; sourceTree = ""; }; - 2A285D08F88CC74E43C225C231C942F9 /* NSText+RACSignalSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSText+RACSignalSupport.m"; path = "ReactiveObjC/NSText+RACSignalSupport.m"; sourceTree = ""; }; - 2A8C0EE01DEBFC380A9CA049E718D5F6 /* FIRInstallationsLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsLogger.h; path = FirebaseInstallations/Source/Library/FIRInstallationsLogger.h; sourceTree = ""; }; + 26B8D148E2AEA9F404859BAC5ED75649 /* nanopb.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = nanopb.debug.xcconfig; sourceTree = ""; }; + 275158449F80AC670F254FD5B81EF3ED /* GULNetwork.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULNetwork.m; path = GoogleUtilities/Network/GULNetwork.m; sourceTree = ""; }; + 277E19D4915B81B52249AB695E4B8098 /* RACUnit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACUnit.m; path = ReactiveObjC/RACUnit.m; sourceTree = ""; }; + 27B59F20AE3AC645168DD2A9379351CD /* GULNetworkURLSession.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULNetworkURLSession.m; path = GoogleUtilities/Network/GULNetworkURLSession.m; sourceTree = ""; }; + 2854988BC599B89EF42966D485630F58 /* FBLPromise+Wrap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Wrap.m"; path = "Sources/FBLPromises/FBLPromise+Wrap.m"; sourceTree = ""; }; + 286AAFC794015DB3189DF3D4F835ABE5 /* NSURLConnection+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLConnection+RACSupport.m"; path = "ReactiveObjC/NSURLConnection+RACSupport.m"; sourceTree = ""; }; + 287E32A0B2BAD1ACE7342594F91FFC04 /* GULUserDefaults.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULUserDefaults.m; path = GoogleUtilities/UserDefaults/GULUserDefaults.m; sourceTree = ""; }; + 2916446300311955E4AA74AAA7C83967 /* RACAnnotations.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACAnnotations.h; path = ReactiveObjC/RACAnnotations.h; sourceTree = ""; }; + 29227DCF3170C35CF09683B5F2AF4028 /* MASPreferences-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MASPreferences-dummy.m"; sourceTree = ""; }; + 2A0BC286F143D70C3E47E980FF58B5E3 /* IsAppEncrypted.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IsAppEncrypted.m; path = third_party/IsAppEncrypted/IsAppEncrypted.m; sourceTree = ""; }; + 2A278A2720D0145417FE0558E6B82727 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; + 2A3E109E6D10C507E34592DF791A9FB1 /* FirebaseCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCore.release.xcconfig; sourceTree = ""; }; + 2A46E20D814C4E08E55E1E504DA6730B /* RACUnarySequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACUnarySequence.h; path = ReactiveObjC/RACUnarySequence.h; sourceTree = ""; }; 2B276B0A79173A1D6E83C9B4FB9A4A57 /* MJExtension */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = MJExtension; path = MJExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2B8A0C33070BD25B2F01BE5F20E87A29 /* RACTestScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACTestScheduler.m; path = ReactiveObjC/RACTestScheduler.m; sourceTree = ""; }; - 2BC9B203BB251EB4A749B4A2C42FDE05 /* HeartbeatStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatStorage.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatStorage.swift; sourceTree = ""; }; - 2BD4E96234596BB52CA296D888A0A16A /* FIRAppInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAppInternal.h; path = FirebaseCore/Extension/FIRAppInternal.h; sourceTree = ""; }; - 2BF1DA398243E13AEF7B32CBE6C13C4C /* FIRComponentContainerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainerInternal.h; path = FirebaseCore/Sources/FIRComponentContainerInternal.h; sourceTree = ""; }; - 2BF5CF7AA72B9D3C238DDA2196B2F77E /* RACSignalSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSignalSequence.m; path = ReactiveObjC/RACSignalSequence.m; sourceTree = ""; }; - 2C07640983AF6306ACDC2E35A492EA01 /* GULNetworkLoggerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkLoggerProtocol.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkLoggerProtocol.h; sourceTree = ""; }; - 2C69CF6F842EA1A10EAF1E2F7ECC0B9F /* FirebaseCoreInternal-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FirebaseCoreInternal-Info.plist"; sourceTree = ""; }; - 2DF7DA3305BF21B4332ADB6558CBE0DA /* GULSceneDelegateSwizzler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULSceneDelegateSwizzler.h; path = GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULSceneDelegateSwizzler.h; sourceTree = ""; }; - 2E1C54E393146F406E1B9F073AA6FACA /* mz_strm_split.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_split.c; path = SSZipArchive/minizip/mz_strm_split.c; sourceTree = ""; }; - 2E22B7B9DE233D5CECC172D85323973D /* NSObject+RACDeallocating.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACDeallocating.h"; path = "ReactiveObjC/NSObject+RACDeallocating.h"; sourceTree = ""; }; - 2E2AF9D09B9B891DF58003A26E8A474D /* GULHeartbeatDateStorageUserDefaults.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULHeartbeatDateStorageUserDefaults.m; path = GoogleUtilities/Environment/GULHeartbeatDateStorageUserDefaults.m; sourceTree = ""; }; - 2EB5A3B9340E360F36C5FFAD796AD56D /* MASLayoutConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLayoutConstraint.h; path = Masonry/MASLayoutConstraint.h; sourceTree = ""; }; - 2EF75B44D75BB901390A3136CED277A8 /* FIRLibrary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLibrary.h; path = FirebaseCore/Extension/FIRLibrary.h; sourceTree = ""; }; - 2F0F96E37AEAE911EEE640DB9C6ADDCC /* SPUUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdater.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdater.h; sourceTree = ""; }; - 2F56572217F4B4D8A01A5F9EBB204EF0 /* FirebaseInstallations-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseInstallations-umbrella.h"; sourceTree = ""; }; - 2FCA9E1C2BC38DE2A3DA30EE8BE1105E /* GULKeychainUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULKeychainUtils.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainUtils.h; sourceTree = ""; }; - 2FD5229AFD820F75E7336DC5543A330B /* FBLPromise+Testing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Testing.h"; path = "Sources/FBLPromises/include/FBLPromise+Testing.h"; sourceTree = ""; }; - 2FDB189ED1C91AE4C768F2D1B4B42E20 /* RACUnit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACUnit.h; path = ReactiveObjC/RACUnit.h; sourceTree = ""; }; - 300B57F1BC71142721A5800374093A4B /* FIRInstallationsSingleOperationPromiseCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsSingleOperationPromiseCache.m; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.m; sourceTree = ""; }; - 301DB1F6215086B00E6165113BAE1605 /* ReactiveObjC-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReactiveObjC-umbrella.h"; sourceTree = ""; }; - 307DE2C1A0EB008CA7B5AB3FCD583513 /* RACErrorSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACErrorSignal.h; path = ReactiveObjC/RACErrorSignal.h; sourceTree = ""; }; - 30AF218D2FEB0A0B41611A0F9589A5D4 /* WeakContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WeakContainer.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/WeakContainer.swift; sourceTree = ""; }; - 30C4402A9DA44DF93957B2A115E7BCFF /* RACDelegateProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACDelegateProxy.h; path = ReactiveObjC/RACDelegateProxy.h; sourceTree = ""; }; - 30EF18043EA40CBA2354DA01B7CD722B /* GULReachabilityChecker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULReachabilityChecker.h; path = GoogleUtilities/Reachability/Public/GoogleUtilities/GULReachabilityChecker.h; sourceTree = ""; }; - 31F667E0051794B7C941787A5A19C67A /* RACSubscriptionScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSubscriptionScheduler.h; path = ReactiveObjC/RACSubscriptionScheduler.h; sourceTree = ""; }; - 32DA4ACBB46C10C500899B727F7C4729 /* MASUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASUtilities.h; path = Masonry/MASUtilities.h; sourceTree = ""; }; - 32F6A4FD6D75C16DDA2734D43482351B /* CocoaLumberjack-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaLumberjack-prefix.pch"; sourceTree = ""; }; - 3339057536E15E76F6B3EC49C2AFB74D /* JLRRouteRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRRouteRequest.h; path = JLRoutes/Classes/JLRRouteRequest.h; sourceTree = ""; }; + 2B2F17D2B3C840B9C8D9961EB1F9AEAB /* GULNSData+zlib.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "GULNSData+zlib.h"; path = "GoogleUtilities/NSData+zlib/Public/GoogleUtilities/GULNSData+zlib.h"; sourceTree = ""; }; + 2BA54877E4F27E84EA72A0730CA15B93 /* FIRHeartbeatLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRHeartbeatLogger.h; path = FirebaseCore/Extension/FIRHeartbeatLogger.h; sourceTree = ""; }; + 2C5E848B4CD97F8C69DC4F1E308215A6 /* KVOController.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KVOController.debug.xcconfig; sourceTree = ""; }; + 2CFBA18443291B9C6E8DB07987535161 /* JLRParsingUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRParsingUtilities.m; path = JLRoutes/Classes/JLRParsingUtilities.m; sourceTree = ""; }; + 2D590F6CED67F5EAB8B43A4206C9075A /* RACMulticastConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACMulticastConnection.h; path = ReactiveObjC/RACMulticastConnection.h; sourceTree = ""; }; + 2D78447B71BA8A98615CC759B1258CA0 /* DDMultiFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMultiFormatter.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDMultiFormatter.h; sourceTree = ""; }; + 2DDFEA7139B91DA58293C4AC9E2BA402 /* NSString+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+MJExtension.m"; path = "MJExtension/NSString+MJExtension.m"; sourceTree = ""; }; + 2E235FB86F929521B6F003A4F02448E4 /* FIRConfigurationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRConfigurationInternal.h; path = FirebaseCore/Sources/FIRConfigurationInternal.h; sourceTree = ""; }; + 2E38B8311AB067C369C9F4C74DA83207 /* NSEnumerator+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSEnumerator+RACSequenceAdditions.m"; path = "ReactiveObjC/NSEnumerator+RACSequenceAdditions.m"; sourceTree = ""; }; + 2E4BAE06429EE75C060592CF7B2C7A5E /* pb_encode.c */ = {isa = PBXFileReference; includeInIndex = 1; path = pb_encode.c; sourceTree = ""; }; + 2E59C399F59C6CD4B422A8EF118B6078 /* SPUUserDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUserDriver.h; path = Sparkle.framework/Versions/B/Headers/SPUUserDriver.h; sourceTree = ""; }; + 2EA4EBEBE8717015AFE5A31DCBCAA334 /* RACKVOProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACKVOProxy.m; path = ReactiveObjC/RACKVOProxy.m; sourceTree = ""; }; + 2FBBA911C996589DBC93DE3CCDFC6976 /* RACQueueScheduler+Subclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACQueueScheduler+Subclass.h"; path = "ReactiveObjC/RACQueueScheduler+Subclass.h"; sourceTree = ""; }; + 3023D63F9D741F704444CC478199CCB7 /* MJPropertyKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJPropertyKey.m; path = MJExtension/MJPropertyKey.m; sourceTree = ""; }; + 310A391FA80F6380E55F3507073A7E98 /* SPUUpdaterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdaterDelegate.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdaterDelegate.h; sourceTree = ""; }; + 3158A4B666347A88BA194E5486016BFC /* de.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = de.lproj; path = Resources/de.lproj; sourceTree = ""; }; + 31B22A96E2577EED585708E05FB25C01 /* FIRInstallationsItem+RegisterInstallationAPI.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FIRInstallationsItem+RegisterInstallationAPI.h"; path = "FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.h"; sourceTree = ""; }; + 33444CC38078B5392E768EE2B59EC0BA /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASShorthandAdditions.h"; path = "Masonry/View+MASShorthandAdditions.h"; sourceTree = ""; }; 3347A1AB6546F0A3977529B8F199DC41 /* PromisesObjC */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = PromisesObjC; path = FBLPromises.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 34A3B03B08072830E9B02EF24B5E0CF8 /* mz_strm_wzaes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_wzaes.h; path = SSZipArchive/minizip/mz_strm_wzaes.h; sourceTree = ""; }; - 34DDB8E3F74E46FEFD55FA4264B9CC64 /* en.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = en.lproj; path = Resources/en.lproj; sourceTree = ""; }; - 3543F5665ADFC1CB26DEADD01EF2EA43 /* NSObject+MJProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJProperty.h"; path = "MJExtension/NSObject+MJProperty.h"; sourceTree = ""; }; - 360FCC11D9DF1412ECF3FC388AD3847C /* RACTargetQueueScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACTargetQueueScheduler.h; path = ReactiveObjC/RACTargetQueueScheduler.h; sourceTree = ""; }; - 3618EFFDF16413FFCB509E6CE61486F2 /* RACKVOProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACKVOProxy.h; path = ReactiveObjC/RACKVOProxy.h; sourceTree = ""; }; + 339DBFF04BF5B69045288571D7E37278 /* mz_strm_mem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_mem.h; path = SSZipArchive/minizip/mz_strm_mem.h; sourceTree = ""; }; + 345308E1BD97FCCAD7EF080EECEFEC49 /* WeakContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WeakContainer.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/WeakContainer.swift; sourceTree = ""; }; + 35747E68633EA60A46D54A7D04B4ACE3 /* ReactiveObjC-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReactiveObjC-umbrella.h"; sourceTree = ""; }; 36A4A62A1CCA6B9F3C0381439421C36C /* Pods-EasydictTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-EasydictTests.modulemap"; sourceTree = ""; }; - 36D21E0A37040278632063C5A3AEBA38 /* mz_strm_pkcrypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_pkcrypt.h; path = SSZipArchive/minizip/mz_strm_pkcrypt.h; sourceTree = ""; }; - 370BC7DF05B1971BAA83B6A1A8322985 /* NSEnumerator+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSEnumerator+RACSequenceAdditions.h"; path = "ReactiveObjC/NSEnumerator+RACSequenceAdditions.h"; sourceTree = ""; }; + 36F214DF65AD267C41859CF54D0FFC47 /* FIRInstallationsLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsLogger.m; path = FirebaseInstallations/Source/Library/FIRInstallationsLogger.m; sourceTree = ""; }; + 3702B9107B55ED3E30F29768615DF836 /* MASLayoutConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLayoutConstraint.m; path = Masonry/MASLayoutConstraint.m; sourceTree = ""; }; 3743207240D54CEFFE648B7D626F359E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 37EB752A12B2E15BE6A44C6A99D5289D /* RACQueueScheduler+Subclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACQueueScheduler+Subclass.h"; path = "ReactiveObjC/RACQueueScheduler+Subclass.h"; sourceTree = ""; }; - 37F1BFD9704B21991FCE48EAFCE5C50A /* GULSceneDelegateSwizzler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULSceneDelegateSwizzler.m; path = GoogleUtilities/AppDelegateSwizzler/GULSceneDelegateSwizzler.m; sourceTree = ""; }; - 38764A5327392A65480C903C2DD12673 /* FIRInstallationsAPIService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsAPIService.h; path = FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.h; sourceTree = ""; }; - 388400448D00420DD75453217D4446F1 /* NSString+MJExtension.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+MJExtension.m"; path = "MJExtension/NSString+MJExtension.m"; sourceTree = ""; }; + 375D9EDBB5FDCC95822ECC11DD9E3FBC /* GoogleUtilities.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleUtilities.debug.xcconfig; sourceTree = ""; }; + 377BAF8ADD5C343F8800CCABCBA38032 /* GULAppDelegateSwizzler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULAppDelegateSwizzler.h; path = GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULAppDelegateSwizzler.h; sourceTree = ""; }; + 37DC7887921BCB144A6E4E229590F09F /* AppCenter.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AppCenter.debug.xcconfig; sourceTree = ""; }; + 37F13D061C8037BCCC6C2C27099D2A67 /* RACReturnSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACReturnSignal.m; path = ReactiveObjC/RACReturnSignal.m; sourceTree = ""; }; + 382A22417DB429648F54B0C0AF2343EA /* JLRoutes-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "JLRoutes-dummy.m"; sourceTree = ""; }; + 382B4672C51C82D9000367A093E57F29 /* RACStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACStream.m; path = ReactiveObjC/RACStream.m; sourceTree = ""; }; + 38ABC152CE3C0620EC55E691FB25164C /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; 3906AD4DF1E6F559AA77E8B9CE6C6075 /* Pods-EasydictTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EasydictTests-Info.plist"; sourceTree = ""; }; - 39158D548D9B123A69ED61C5D7210A62 /* mz_zip_rw.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_zip_rw.h; path = SSZipArchive/minizip/mz_zip_rw.h; sourceTree = ""; }; - 3933DACBE2AF9B60EA494E769FC50C5C /* RACScopedDisposable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACScopedDisposable.h; path = ReactiveObjC/RACScopedDisposable.h; sourceTree = ""; }; - 39442C557FFC3E015001AE3215C28D0B /* NSObject+MJCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJCoding.h"; path = "MJExtension/NSObject+MJCoding.h"; sourceTree = ""; }; + 3994B1B78981BAF397703D97B0EC4FE7 /* DDLog+LOGV.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDLog+LOGV.h"; path = "Sources/CocoaLumberjack/include/CocoaLumberjack/DDLog+LOGV.h"; sourceTree = ""; }; 399EC9508E73C0D54D9BBD8741FBA137 /* KVOController */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = KVOController; path = KVOController.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 39C376C6E8A2748E577D5799823D40E2 /* mz_crypt.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_crypt.c; path = SSZipArchive/minizip/mz_crypt.c; sourceTree = ""; }; - 39DE9ACCBA300AA51EEB2B06B6593672 /* SPUUpdatePermissionRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdatePermissionRequest.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h; sourceTree = ""; }; - 3A2771228856CC56144093AC04A5F635 /* KVOController.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = KVOController.release.xcconfig; sourceTree = ""; }; - 3A716B8751B1B77A18182A697711CC31 /* FBLPromise+Race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Race.m"; path = "Sources/FBLPromises/FBLPromise+Race.m"; sourceTree = ""; }; - 3AF8B5E25F0A568CA500B1BBE7CEB4FF /* NSString+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+RACSupport.h"; path = "ReactiveObjC/NSString+RACSupport.h"; sourceTree = ""; }; - 3C5486F87DC72D5B5165889BBFC40BB0 /* RACBlockTrampoline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACBlockTrampoline.h; path = ReactiveObjC/RACBlockTrampoline.h; sourceTree = ""; }; - 3C87286069E75B2DC30A148392A750FD /* mz_strm_zlib.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_zlib.c; path = SSZipArchive/minizip/mz_strm_zlib.c; sourceTree = ""; }; - 3CA010AF40CBB4F01E9B091968D5185D /* KVOController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KVOController.h; path = FBKVOController/KVOController.h; sourceTree = ""; }; - 3CACEFE523636B0E3F1CD85D9BAC700A /* FIRLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLogger.h; path = FirebaseCore/Extension/FIRLogger.h; sourceTree = ""; }; - 3D0DA6FF238593871A59930241831C86 /* NSString+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+MJExtension.h"; path = "MJExtension/NSString+MJExtension.h"; sourceTree = ""; }; - 3D508E9ACC0477ABFC51C185BC0045A0 /* mz_crypt_apple.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_crypt_apple.c; path = SSZipArchive/minizip/mz_crypt_apple.c; sourceTree = ""; }; - 3DAD7D567D5574A81E795698EF2EC66B /* nanopb.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = nanopb.debug.xcconfig; sourceTree = ""; }; - 3E20D6E9E66775EF836AF9D7B333747D /* NSInvocation+RACTypeParsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+RACTypeParsing.h"; path = "ReactiveObjC/NSInvocation+RACTypeParsing.h"; sourceTree = ""; }; - 3E402BDEB65FB5C7A5D7B9F0F702C7BA /* MASShortcutView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutView.m; path = Framework/UI/MASShortcutView.m; sourceTree = ""; }; - 3F3F9311303C975480F222815C85AC66 /* DDAssert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDAssert.swift; path = Sources/CocoaLumberjackSwift/DDAssert.swift; sourceTree = ""; }; - 3FB891C93542514B7F9FC2252058A62F /* FIRInstallationsItem+RegisterInstallationAPI.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FIRInstallationsItem+RegisterInstallationAPI.m"; path = "FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.m"; sourceTree = ""; }; - 40517B8F8B34B1EFA69791ABB072911D /* RACValueTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACValueTransformer.h; path = ReactiveObjC/RACValueTransformer.h; sourceTree = ""; }; - 40AA778175BB88FEAC770B1A6280AEE7 /* MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "MASShortcut-Info.plist"; sourceTree = ""; }; - 4160AB7DDCFBC75A4AD88F479169A22B /* GULAppEnvironmentUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULAppEnvironmentUtil.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULAppEnvironmentUtil.h; sourceTree = ""; }; - 41FDCC15B0DA30998AA80DAE2B5F6455 /* FirebaseCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseCore.h; path = FirebaseCore/Sources/Public/FirebaseCore/FirebaseCore.h; sourceTree = ""; }; - 432EC43F780BF830699F28024E55EE62 /* NSString+RACKeyPathUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+RACKeyPathUtilities.m"; path = "ReactiveObjC/NSString+RACKeyPathUtilities.m"; sourceTree = ""; }; - 43411F464157008120CAD0E05DC6E6DC /* RACSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSequence.m; path = ReactiveObjC/RACSequence.m; sourceTree = ""; }; - 434A3038630BD141CF08BBAAB3F88CFC /* GULKeychainStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULKeychainStorage.m; path = GoogleUtilities/Environment/SecureStorage/GULKeychainStorage.m; sourceTree = ""; }; - 43ADF3DD1B49443CA0236416D75575E2 /* RACChannel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACChannel.m; path = ReactiveObjC/RACChannel.m; sourceTree = ""; }; - 43E523E11B2713F25B94FFE8B9D42650 /* GoogleUtilities.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleUtilities.debug.xcconfig; sourceTree = ""; }; + 39CB494C54822FD7F3C452A870A03558 /* DDLoggerNames.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDLoggerNames.m; path = Sources/CocoaLumberjack/DDLoggerNames.m; sourceTree = ""; }; + 39DCB3E395F34B2908BA0633BA97C812 /* RACEmptySignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEmptySignal.m; path = ReactiveObjC/RACEmptySignal.m; sourceTree = ""; }; + 3AD129061A908E01C291997B5C2F56BB /* FIRLibrary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLibrary.h; path = FirebaseCore/Extension/FIRLibrary.h; sourceTree = ""; }; + 3B30AF0E5D38ACC7A082EFACA5156375 /* ReactiveObjC.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ReactiveObjC.modulemap; sourceTree = ""; }; + 3D337E28205C3DB5DD1D609A3F31B42C /* FBLPromisePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBLPromisePrivate.h; path = Sources/FBLPromises/include/FBLPromisePrivate.h; sourceTree = ""; }; + 3D3EC981CA50047587A5396D011261B0 /* pb_common.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = pb_common.h; sourceTree = ""; }; + 3D4DA97F44A3E9B9DF8DE22D5F1013AA /* KVOController.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = KVOController.modulemap; sourceTree = ""; }; + 3D8DD889BB7D1080B15D98D04A421817 /* GoogleUtilities.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleUtilities.release.xcconfig; sourceTree = ""; }; + 3D9BEEC7F1141908D162C879AC1433B2 /* FIRInstallationsIIDTokenStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsIIDTokenStore.m; path = FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.m; sourceTree = ""; }; + 3E4A9BF1EF1EFF9BBF061E3EE7096E3A /* RACEXTKeyPathCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEXTKeyPathCoding.h; path = ReactiveObjC/extobjc/RACEXTKeyPathCoding.h; sourceTree = ""; }; + 3E5A0F25A33AAE2E6627143FE7633A21 /* FBLPromise+Any.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Any.m"; path = "Sources/FBLPromises/FBLPromise+Any.m"; sourceTree = ""; }; + 3EA423C8481A9EF549E84AF235D76E73 /* MASViewConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewConstraint.m; path = Masonry/MASViewConstraint.m; sourceTree = ""; }; + 3EAF784F7862C1985CD15FD146FC25C2 /* FIRBundleUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRBundleUtil.m; path = FirebaseCore/Sources/FIRBundleUtil.m; sourceTree = ""; }; + 3EEB861DC78A0491514953E4F808A1E2 /* mz_strm_wzaes.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_wzaes.c; path = SSZipArchive/minizip/mz_strm_wzaes.c; sourceTree = ""; }; + 3F81E58C21DCE9B23B65051A2BEC209B /* GULSceneDelegateSwizzler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULSceneDelegateSwizzler.m; path = GoogleUtilities/AppDelegateSwizzler/GULSceneDelegateSwizzler.m; sourceTree = ""; }; + 40106C6B23760C3F9B8546ACCAAA3AD0 /* NSObject+RACAppKitBindings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACAppKitBindings.m"; path = "ReactiveObjC/NSObject+RACAppKitBindings.m"; sourceTree = ""; }; + 4021EE70850EA21AAAEF918B3DBA6ECC /* RACDisposable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACDisposable.m; path = ReactiveObjC/RACDisposable.m; sourceTree = ""; }; + 402FF25527DC11DD8064B7A5CE853432 /* RACMulticastConnection+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACMulticastConnection+Private.h"; path = "ReactiveObjC/RACMulticastConnection+Private.h"; sourceTree = ""; }; + 40CC7EABEF2944DCB92BFF0EAC1DF4E0 /* DDTTYLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDTTYLogger.h; sourceTree = ""; }; + 41B8812B3CEEA4F0AECD64E7AE86D790 /* NSObject+MJClass.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJClass.m"; path = "MJExtension/NSObject+MJClass.m"; sourceTree = ""; }; + 41C0D3EDE8BADAD090196768E0AC12F0 /* FirebaseCoreInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseCoreInternal.h; path = FirebaseCore/Extension/FirebaseCoreInternal.h; sourceTree = ""; }; + 41C1354589322E0D90A4F33085CC73E9 /* AppCenter-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "AppCenter-xcframeworks.sh"; sourceTree = ""; }; + 41E79669F9CB170DE5EFD2ADCAE6FAC4 /* FIRAppInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAppInternal.h; path = FirebaseCore/Extension/FIRAppInternal.h; sourceTree = ""; }; + 428A30F6953C9758D81238BCA2C1F272 /* mz_strm_split.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_split.h; path = SSZipArchive/minizip/mz_strm_split.h; sourceTree = ""; }; + 42C00F9B1A1D9B1A0B71B4632BE1EA04 /* FIROptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptions.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h; sourceTree = ""; }; + 432CDBDC78DC209CE4BF6526DD9791A3 /* NSUserDefaults+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSUserDefaults+RACSupport.m"; path = "ReactiveObjC/NSUserDefaults+RACSupport.m"; sourceTree = ""; }; + 437F6F26BE7C735F083034D4AB2C6BB9 /* NSOrderedSet+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSOrderedSet+RACSequenceAdditions.m"; path = "ReactiveObjC/NSOrderedSet+RACSequenceAdditions.m"; sourceTree = ""; }; + 43A2D88D195790929513BFD8C3D7BCB8 /* GULURLSessionDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULURLSessionDataResponse.m; path = GoogleUtilities/Environment/URLSessionPromiseWrapper/GULURLSessionDataResponse.m; sourceTree = ""; }; + 43A3D8EDCA16E7A245409B6E1D4B5466 /* MASShortcut-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-prefix.pch"; sourceTree = ""; }; 43F9966E7614888A0CDCFAB2F62F2FDD /* MASPreferences */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = MASPreferences; path = MASPreferences.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 44AB3A65329E7D2EF75C67199AB26047 /* MASHotKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASHotKey.m; path = Framework/Monitoring/MASHotKey.m; sourceTree = ""; }; - 44C0850E1B7396B4A411CA9ADD2DA747 /* JLRoutes.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = JLRoutes.modulemap; sourceTree = ""; }; - 44D1031E2FDBA75D2F4CCC0AA6E9C4B6 /* fr.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = fr.lproj; path = Resources/fr.lproj; sourceTree = ""; }; - 45775765D2A21F8C661CEC7F208DAF1B /* View+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASShorthandAdditions.h"; path = "Masonry/View+MASShorthandAdditions.h"; sourceTree = ""; }; - 458F21944C16118A00971FBCA70DE06D /* RACEXTRuntimeExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEXTRuntimeExtensions.m; path = ReactiveObjC/extobjc/RACEXTRuntimeExtensions.m; sourceTree = ""; }; - 45C7F5E3481DD3EB014B8E548E063DEE /* SSZipArchive.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSZipArchive.h; path = SSZipArchive/SSZipArchive.h; sourceTree = ""; }; - 4666ABA44A20BD811D6652D5DE2013CC /* JLRRouteHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRRouteHandler.h; path = JLRoutes/Classes/JLRRouteHandler.h; sourceTree = ""; }; - 4677F3926E0E7D6AF5AB70A3FA6EDF86 /* MASKeyMasks.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyMasks.h; path = Framework/Model/MASKeyMasks.h; sourceTree = ""; }; - 4687EC661AEA45156E830BE20D604F7D /* MASCompositeConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASCompositeConstraint.m; path = Masonry/MASCompositeConstraint.m; sourceTree = ""; }; - 4693AE217C16B55F635823ABD54206E8 /* KVOController.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = KVOController.modulemap; sourceTree = ""; }; - 46BB7593006F6697DDC666A0C128B7A0 /* RACSerialDisposable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSerialDisposable.h; path = ReactiveObjC/RACSerialDisposable.h; sourceTree = ""; }; - 4712A5E8F191A5D666AE82700AD0EC73 /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; - 47234F8D46E941B5676F20B1F23F8684 /* SUVersionDisplayProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUVersionDisplayProtocol.h; path = Sparkle.framework/Versions/B/Headers/SUVersionDisplayProtocol.h; sourceTree = ""; }; - 47274F2CBDD87F8262894369CAFF599E /* MASShortcut-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-prefix.pch"; sourceTree = ""; }; - 4757D5399770E1093A76FC7713C35CA0 /* RACTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACTuple.m; path = ReactiveObjC/RACTuple.m; sourceTree = ""; }; - 47922AF05C19E281D9E2DC11A67D9552 /* JLRoutes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRoutes.h; path = JLRoutes/JLRoutes.h; sourceTree = ""; }; - 487CC32671C6FBB493BCAE25207581C4 /* MASShortcutValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutValidator.h; path = Framework/Model/MASShortcutValidator.h; sourceTree = ""; }; - 490AA6B03B1A291B27E0C0E8EC9E6F6E /* DDLegacyMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLegacyMacros.h; path = "Sources/CocoaLumberjack/Supporting Files/DDLegacyMacros.h"; sourceTree = ""; }; - 49BD153F2F8B488A5884D7C7F69C6452 /* GoogleUtilities-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "GoogleUtilities-dummy.m"; sourceTree = ""; }; - 49BD5740F963C873DC805F4BB8867F6C /* RACEmptySequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEmptySequence.m; path = ReactiveObjC/RACEmptySequence.m; sourceTree = ""; }; - 4A150939513362231FC41B3DDA68643F /* NSObject+MJKeyValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJKeyValue.h"; path = "MJExtension/NSObject+MJKeyValue.h"; sourceTree = ""; }; - 4A31987A148088857153F95C333C0044 /* AppCenterAnalytics.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = AppCenterAnalytics.xcframework; path = "AppCenter-SDK-Apple/AppCenterAnalytics.xcframework"; sourceTree = ""; }; - 4A5C878D37CB2C1C80F0C5325675E222 /* RACEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEvent.h; path = ReactiveObjC/RACEvent.h; sourceTree = ""; }; - 4A7A90F577016D738418B1B63623A55D /* FirebaseCoreInternal.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCoreInternal.debug.xcconfig; sourceTree = ""; }; - 4AEB2A453B35A48BDED6ADB1BF77F47E /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; - 4C4946CA25A36F83C837417F32152B01 /* MASPreferences-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASPreferences-umbrella.h"; sourceTree = ""; }; - 4D8C940F8455948001F1529FBFB76BAC /* RACAnnotations.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACAnnotations.h; path = ReactiveObjC/RACAnnotations.h; sourceTree = ""; }; - 4DD14E4250D140EFCA82E1372A6E5FD1 /* Masonry.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Masonry.modulemap; sourceTree = ""; }; - 4E12488E55D0E5DA957A979A3E7C2E47 /* RACMulticastConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACMulticastConnection.m; path = ReactiveObjC/RACMulticastConnection.m; sourceTree = ""; }; - 4E3D5B6DCE51F21027AD96BED6D34887 /* NSObject+RACDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACDescription.h"; path = "ReactiveObjC/NSObject+RACDescription.h"; sourceTree = ""; }; - 4ED54AAF410EAEA088ACB4FC94E87E4D /* mz_strm_wzaes.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_wzaes.c; path = SSZipArchive/minizip/mz_strm_wzaes.c; sourceTree = ""; }; - 4EDCC947CC32E76D0F949F2A7CB3A039 /* RACBehaviorSubject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACBehaviorSubject.m; path = ReactiveObjC/RACBehaviorSubject.m; sourceTree = ""; }; - 4F1F8D0C4CCFACE12D1FEDF61A0EF89E /* MASPreferences.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASPreferences.h; path = Framework/MASPreferences.h; sourceTree = ""; }; - 4FC6271CC501DA793C9D074DA5712701 /* GULMutableDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULMutableDictionary.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULMutableDictionary.h; sourceTree = ""; }; - 4FE0B3255323E0D372AE2C3B4D4DC788 /* MASLayoutConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLayoutConstraint.m; path = Masonry/MASLayoutConstraint.m; sourceTree = ""; }; - 5030B6F97B0FAB1561AB836A9C8BAEDB /* NSNotificationCenter+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSNotificationCenter+RACSupport.m"; path = "ReactiveObjC/NSNotificationCenter+RACSupport.m"; sourceTree = ""; }; - 5079D3060604202BDE85B6B687CD6F38 /* pt.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = pt.lproj; path = Resources/pt.lproj; sourceTree = ""; }; - 50D1EBC998B6F1F1A8E5CC3A2376470B /* mz_strm_split.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_split.h; path = SSZipArchive/minizip/mz_strm_split.h; sourceTree = ""; }; + 44373CF68A4C2CA93F30616352F16D5D /* RACSignal+Operations.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACSignal+Operations.h"; path = "ReactiveObjC/RACSignal+Operations.h"; sourceTree = ""; }; + 44A5938B592CDC751EA5C7FFCDC48E7F /* RACReplaySubject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACReplaySubject.h; path = ReactiveObjC/RACReplaySubject.h; sourceTree = ""; }; + 44DFBB653B76BAFA7F74528057DF634B /* GULHeartbeatDateStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULHeartbeatDateStorage.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorage.h; sourceTree = ""; }; + 455AA8836A363E4A9C906FA2B7BA980D /* FirebaseCoreInternal.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCoreInternal.debug.xcconfig; sourceTree = ""; }; + 45DB9F4D32F17AD8972525F9831FEF1A /* MASCompositeConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASCompositeConstraint.m; path = Masonry/MASCompositeConstraint.m; sourceTree = ""; }; + 45E803EF23746DB69100126A739825F0 /* JLRoutes-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "JLRoutes-Info.plist"; sourceTree = ""; }; + 46169382000143E692F6353F8B97DCE4 /* FIRInstallationsItem+RegisterInstallationAPI.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FIRInstallationsItem+RegisterInstallationAPI.m"; path = "FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.m"; sourceTree = ""; }; + 4731E367FB6938D056585FE37824535B /* FBLPromise+Async.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Async.m"; path = "Sources/FBLPromises/FBLPromise+Async.m"; sourceTree = ""; }; + 4748AB6DF24EB82DFA43BAD9A250B803 /* FIRInstallationsStoredItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsStoredItem.m; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.m; sourceTree = ""; }; + 47A370F3CF81CDD33EEBA4811D3684EB /* RACKVOProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACKVOProxy.h; path = ReactiveObjC/RACKVOProxy.h; sourceTree = ""; }; + 47B15B74AF6C85DF663C01906744A1AF /* SUVersionDisplayProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUVersionDisplayProtocol.h; path = Sparkle.framework/Versions/B/Headers/SUVersionDisplayProtocol.h; sourceTree = ""; }; + 47CAD935B8744B5378BB0250E7DBBB46 /* MASConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraint.m; path = Masonry/MASConstraint.m; sourceTree = ""; }; + 484519296B5DBB555B8228756C5AAE15 /* SUErrors.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUErrors.h; path = Sparkle.framework/Versions/B/Headers/SUErrors.h; sourceTree = ""; }; + 48A4D709C5807E7DF6202125E2EFD706 /* MJExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJExtension.release.xcconfig; sourceTree = ""; }; + 48C6D09298323D7FA1048B6A0F860C65 /* NSObject+RACKVOWrapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACKVOWrapper.h"; path = "ReactiveObjC/NSObject+RACKVOWrapper.h"; sourceTree = ""; }; + 49140BE7C824423AB3AE1235A2706A0D /* RACArraySequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACArraySequence.m; path = ReactiveObjC/RACArraySequence.m; sourceTree = ""; }; + 49E910A6450B2D1A9A3B91FDA226F2BF /* FIRComponentContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainer.h; path = FirebaseCore/Extension/FIRComponentContainer.h; sourceTree = ""; }; + 4A7B2B2645CDC8FCD150C6EBC9083957 /* FIRHeartbeatLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRHeartbeatLogger.m; path = FirebaseCore/Sources/FIRHeartbeatLogger.m; sourceTree = ""; }; + 4AC583CC850361E6D47F2BA0D37C7124 /* FBLPromise+Always.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Always.h"; path = "Sources/FBLPromises/include/FBLPromise+Always.h"; sourceTree = ""; }; + 4ADC4D5C35F076869C636B6C039AF694 /* SUAppcastItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUAppcastItem.h; path = Sparkle.framework/Versions/B/Headers/SUAppcastItem.h; sourceTree = ""; }; + 4B373978EC85346DE754039D359DF189 /* NSFileHandle+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSFileHandle+RACSupport.m"; path = "ReactiveObjC/NSFileHandle+RACSupport.m"; sourceTree = ""; }; + 4C38238A0DB03F6C09B6EEE4F5757820 /* NSObject+MJCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJCoding.m"; path = "MJExtension/NSObject+MJCoding.m"; sourceTree = ""; }; + 4D95A30EFC80203B17C573B069F04F39 /* Masonry.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.release.xcconfig; sourceTree = ""; }; + 4DC5C8EAA5B34B819A5D8D34421FF270 /* RACReplaySubject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACReplaySubject.m; path = ReactiveObjC/RACReplaySubject.m; sourceTree = ""; }; + 4DD209B975AD5530B733A9F9CB66DB16 /* NSIndexSet+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSIndexSet+RACSequenceAdditions.h"; path = "ReactiveObjC/NSIndexSet+RACSequenceAdditions.h"; sourceTree = ""; }; + 4E03CD3F4CEB5E26476BFB319430412D /* GULKeychainUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULKeychainUtils.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainUtils.h; sourceTree = ""; }; + 4ED97E9FCFCD4E0D48312012F7DD13F9 /* MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "MASShortcut-Info.plist"; sourceTree = ""; }; + 4F7C2E0445E2594D0F36B557E7F3BDAC /* RACSignalSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSignalSequence.h; path = ReactiveObjC/RACSignalSequence.h; sourceTree = ""; }; + 50595756AADA17B6D88C13C914E945E0 /* AFNetworking.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.debug.xcconfig; sourceTree = ""; }; + 50FDC20F58789CE9E7AD02FBB8A9F174 /* GoogleUtilities-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GoogleUtilities-Info.plist"; sourceTree = ""; }; 50FFBAE87DAAA5D19C6D04413ED5E6D3 /* JLRoutes */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = JLRoutes; path = JLRoutes.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 516F865062FD6D0012766CE885346764 /* MJExtensionConst.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJExtensionConst.m; path = MJExtension/MJExtensionConst.m; sourceTree = ""; }; - 51CBBBB2525122228A1F1980DC53B67B /* NSObject+MJClass.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJClass.m"; path = "MJExtension/NSObject+MJClass.m"; sourceTree = ""; }; - 524160A2636274B67D1FFC59995D1DE2 /* NSURLSession+GULPromises.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+GULPromises.m"; path = "GoogleUtilities/Environment/URLSessionPromiseWrapper/NSURLSession+GULPromises.m"; sourceTree = ""; }; - 5254A5C494B0AC2D46BAC7D340C969B0 /* PromisesObjC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromisesObjC.release.xcconfig; sourceTree = ""; }; - 52580D434A37F2A8D774DAC21DF337F2 /* MASShortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcut.h; path = Framework/Model/MASShortcut.h; sourceTree = ""; }; - 529AD56195696EA0CD391BD9076BBE17 /* FIRDependency.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRDependency.h; path = FirebaseCore/Extension/FIRDependency.h; sourceTree = ""; }; - 52D26F7F623666CB5DA490E2EA0F7246 /* FirebaseInstallations.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FirebaseInstallations.modulemap; sourceTree = ""; }; - 5374EFE206DE7D23F3769FDA706D7D32 /* RACQueueScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACQueueScheduler.m; path = ReactiveObjC/RACQueueScheduler.m; sourceTree = ""; }; - 53ECDD833E5562346AC067899825E227 /* FIRInstallations.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallations.m; path = FirebaseInstallations/Source/Library/FIRInstallations.m; sourceTree = ""; }; - 548667551809A1AE295A1930D4FA897E /* FIROptions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptions.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIROptions.h; sourceTree = ""; }; - 54A9F842955EFAA31168A1A7C6E207AE /* FirebaseInstallations-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FirebaseInstallations-dummy.m"; sourceTree = ""; }; - 552B6006E08C25B2465651DF0606D67F /* NSSet+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSSet+RACSequenceAdditions.m"; path = "ReactiveObjC/NSSet+RACSequenceAdditions.m"; sourceTree = ""; }; + 510E86632D39DC6251944E1A3AB7254E /* MJExtensionConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJExtensionConst.h; path = MJExtension/MJExtensionConst.h; sourceTree = ""; }; + 51BE34E44744AE297A333EB5BB59B390 /* HeartbeatStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatStorage.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatStorage.swift; sourceTree = ""; }; + 51C6721857B763BDCDC3EB45544B2A14 /* MASShortcut.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.release.xcconfig; sourceTree = ""; }; + 532B2C7BDACD190C51A1B8375BF91D1D /* FIRCurrentDateProvider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRCurrentDateProvider.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.h; sourceTree = ""; }; + 5397358700619E4CA7E94CCFE443BBC9 /* ja.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ja.lproj; path = Resources/ja.lproj; sourceTree = ""; }; + 53B27CA1C55A4872DCB4D05BE286AABF /* GULSwizzler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULSwizzler.m; path = GoogleUtilities/MethodSwizzler/GULSwizzler.m; sourceTree = ""; }; + 53BD260A894276BCA87C1DB949F61FA0 /* MASPreferencesWindowController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASPreferencesWindowController.h; path = Framework/MASPreferencesWindowController.h; sourceTree = ""; }; + 544F5469D562B7DB99546A9A1D10B065 /* DDLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDLog.h; sourceTree = ""; }; + 54966651A68A168B6042371643129CC2 /* NSObject+MJProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJProperty.m"; path = "MJExtension/NSObject+MJProperty.m"; sourceTree = ""; }; + 5531094EEE4EDE4763518DD2523E5476 /* RACEmptySignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEmptySignal.h; path = ReactiveObjC/RACEmptySignal.h; sourceTree = ""; }; + 554E64268FB16173A0B1C2BB61D3D032 /* MASViewConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewConstraint.h; path = Masonry/MASViewConstraint.h; sourceTree = ""; }; 555050235D41CC95CBC15C8F5B25D14D /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; - 5570FEFD608371217600AEDCE1F2E6CD /* CocoaLumberjack.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CocoaLumberjack.swift; path = Sources/CocoaLumberjackSwift/CocoaLumberjack.swift; sourceTree = ""; }; - 55F9552DB3E2CA38E47B2091F0DAAA29 /* SSZipArchive-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSZipArchive-umbrella.h"; sourceTree = ""; }; - 5688CF1DBC0DF8348B16D1981521965D /* GULLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULLogger.m; path = GoogleUtilities/Logger/GULLogger.m; sourceTree = ""; }; - 56B3CC7C7C154999C4CB47A4CA2A17F6 /* RACSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSignal.m; path = ReactiveObjC/RACSignal.m; sourceTree = ""; }; - 57483F73665803115655F86362BE7E18 /* mz_compat.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_compat.c; path = SSZipArchive/minizip/mz_compat.c; sourceTree = ""; }; - 574D7028FF1BA3AB6F2443208C34EEBD /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; - 577807F00300EAABBA26CC9B05D503BC /* FIRInstallationsStoredItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsStoredItem.h; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.h; sourceTree = ""; }; + 5582A38A07A69A7F0BCB25116BECD5B4 /* StorageFactory.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StorageFactory.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/StorageFactory.swift; sourceTree = ""; }; + 560651D979145680C05354423C911090 /* pb.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = pb.h; sourceTree = ""; }; + 5630A6818763CDDCBA097C4DB07A1E0D /* PromisesObjC-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PromisesObjC-umbrella.h"; sourceTree = ""; }; + 56BCB4658828541122E0011E901BF680 /* NSObject+FBKVOController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+FBKVOController.m"; path = "FBKVOController/NSObject+FBKVOController.m"; sourceTree = ""; }; + 56E00986236947DCD43B4AE8EFFB61AE /* NSObject+RACAppKitBindings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACAppKitBindings.h"; path = "ReactiveObjC/NSObject+RACAppKitBindings.h"; sourceTree = ""; }; + 57EFDF01CCC4914A6128FDDDA1C10D1C /* NSObject+RACDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACDescription.m"; path = "ReactiveObjC/NSObject+RACDescription.m"; sourceTree = ""; }; + 58121D619BB8B8A912754365B76F1BCA /* MASConstraintMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraintMaker.m; path = Masonry/MASConstraintMaker.m; sourceTree = ""; }; + 5859C52FC08015F54C46ECE6B553B717 /* MASHotKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASHotKey.m; path = Framework/Monitoring/MASHotKey.m; sourceTree = ""; }; + 58E6A0E080546253762BA7E1737E0355 /* FIRApp.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRApp.m; path = FirebaseCore/Sources/FIRApp.m; sourceTree = ""; }; 58F8F860EA8DF1085E93D2D8544AD638 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; - 59D7547E3B7E3655488C6186E11926CC /* pb.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = pb.h; sourceTree = ""; }; - 5A36BD763DB9E0593427049627E5BEB1 /* SSZipCommon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSZipCommon.h; path = SSZipArchive/SSZipCommon.h; sourceTree = ""; }; - 5A6FEC8530892F2BFA81E6896DCD54DA /* HeartbeatsBundle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatsBundle.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatsBundle.swift; sourceTree = ""; }; - 5AC915378D276FA9F1AA20D4E7ED6C9D /* GULAppDelegateSwizzler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULAppDelegateSwizzler.h; path = GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULAppDelegateSwizzler.h; sourceTree = ""; }; - 5B3B40F6E0F6A637342AF90EEB623F7F /* GULLoggerLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLoggerLevel.h; path = GoogleUtilities/Logger/Public/GoogleUtilities/GULLoggerLevel.h; sourceTree = ""; }; - 5B4DE669C8529A15FC7B239D50AE5ECE /* GULAppEnvironmentUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULAppEnvironmentUtil.m; path = GoogleUtilities/Environment/GULAppEnvironmentUtil.m; sourceTree = ""; }; - 5B68174D2956E1AA709B48FE5D1C2EE3 /* NSURLConnection+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLConnection+RACSupport.h"; path = "ReactiveObjC/NSURLConnection+RACSupport.h"; sourceTree = ""; }; - 5BA0283B90DA991EF5B95FD03048F6B3 /* de.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = de.lproj; path = Resources/de.lproj; sourceTree = ""; }; - 5BA1E07C72AC3EAE453EB7622186F25D /* MASShortcut-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MASShortcut-dummy.m"; sourceTree = ""; }; - 5BBBB58194057C5903F81E84437AA744 /* RACUnarySequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACUnarySequence.m; path = ReactiveObjC/RACUnarySequence.m; sourceTree = ""; }; - 5C67621C7BE33946304BD7E14C8CD4C4 /* FirebaseCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FirebaseCore-dummy.m"; sourceTree = ""; }; - 5CAA301B0EFA9C6A284A5BB5E3258512 /* MASPreferences-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "MASPreferences-Info.plist"; sourceTree = ""; }; - 5CD69D5D8284C5FE684863B5F5866531 /* FBLPromise+Always.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Always.h"; path = "Sources/FBLPromises/include/FBLPromise+Always.h"; sourceTree = ""; }; - 5E37AB2D6020F7F91A75A9C69D50E291 /* SPUStandardUserDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUStandardUserDriver.h; path = Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h; sourceTree = ""; }; - 5F09B37D2296BF0D4EB4A73A52418312 /* SwiftLogLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SwiftLogLevel.h; path = Sources/CocoaLumberjackSwiftSupport/include/CocoaLumberjackSwiftSupport/SwiftLogLevel.h; sourceTree = ""; }; - 5F39793A82120B7F55E29933226F1448 /* GoogleUtilities.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GoogleUtilities.modulemap; sourceTree = ""; }; - 5FA3FC1156F75E1CB4E2A3BC005C25B9 /* FIRComponentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentType.h; path = FirebaseCore/Extension/FIRComponentType.h; sourceTree = ""; }; - 5FF9E062E5EA5A278A9F02AF14911F14 /* Shortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Shortcut.h; path = Framework/Shortcut.h; sourceTree = ""; }; - 6035C3879308D38E2BB1C44D1B388AA2 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; + 5954A2852292F1EC4826DB6EF0E11C51 /* NSObject+RACLifting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACLifting.m"; path = "ReactiveObjC/NSObject+RACLifting.m"; sourceTree = ""; }; + 5962D56B95EFC52FD10B3165754F2411 /* DDASLLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = Sources/CocoaLumberjack/DDASLLogger.m; sourceTree = ""; }; + 5AFC7F56B42393A9523A547E55DA9790 /* DDASLLogCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDASLLogCapture.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDASLLogCapture.h; sourceTree = ""; }; + 5B3B6B47A80EF21FA144DB6EA9E34E0E /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+MASDebugAdditions.h"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = ""; }; + 5B55CA1052DB151F738DF87063DDF94D /* MASPreferences-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASPreferences-prefix.pch"; sourceTree = ""; }; + 5BDE04531299D1BB7CE5A17BC28BF929 /* FirebaseCoreInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseCoreInternal.h; path = FirebaseCore/Extension/FirebaseCoreInternal.h; sourceTree = ""; }; + 5CA5B8A0CC2A04D65296811FC21EAEFB /* GULSecureCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULSecureCoding.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULSecureCoding.h; sourceTree = ""; }; + 5CD1143CC3321136DE442A5C105F130B /* FIRInstallationsIIDStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsIIDStore.h; path = FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.h; sourceTree = ""; }; + 5D0A39F13CFDA3BC6316D693A993B637 /* Shortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Shortcut.h; path = Framework/Shortcut.h; sourceTree = ""; }; + 5DA99B9E23F8C76ADE6F91BA0971A2A8 /* zh-Hant.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = "zh-Hant.lproj"; path = "Resources/zh-Hant.lproj"; sourceTree = ""; }; + 5DB78DD8D56E1E67FCB0B3054A171FAD /* mz_strm_buf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_buf.h; path = SSZipArchive/minizip/mz_strm_buf.h; sourceTree = ""; }; + 5DCC971F019152723985B4910F76B53E /* FIRInstallationsErrorUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsErrorUtil.m; path = FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.m; sourceTree = ""; }; + 5E8609DA89C09834193B698A45055970 /* NSURLSession+GULPromises.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLSession+GULPromises.m"; path = "GoogleUtilities/Environment/URLSessionPromiseWrapper/NSURLSession+GULPromises.m"; sourceTree = ""; }; + 5EC6469C99997FB86DFDDFB44D59A373 /* DDLog+Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DDLog+Combine.swift"; path = "Sources/CocoaLumberjackSwift/DDLog+Combine.swift"; sourceTree = ""; }; + 5EF82EBB7643BA7083C69110B5CE58A3 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; + 5F209DBDA2149A0611C7D48D359B794D /* KVOController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = KVOController.h; path = FBKVOController/KVOController.h; sourceTree = ""; }; + 60140B3219A36C6C4B1D3EF191CF841D /* RACIndexSetSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACIndexSetSequence.m; path = ReactiveObjC/RACIndexSetSequence.m; sourceTree = ""; }; + 602C5C5FC51C55B4147E6D12C6C694DA /* FIRAnalyticsConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAnalyticsConfiguration.h; path = FirebaseCore/Sources/FIRAnalyticsConfiguration.h; sourceTree = ""; }; + 6039600034EEB080B0D57C6F11F78CD6 /* DDAssertMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDAssertMacros.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDAssertMacros.h; sourceTree = ""; }; + 60405D30C34CB5F7601F6122F4FACE92 /* MASHotKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASHotKey.h; path = Framework/Monitoring/MASHotKey.h; sourceTree = ""; }; + 609E77E4D2CCD96114D951A3BC472C14 /* FirebaseCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCore.debug.xcconfig; sourceTree = ""; }; 609FBC631238BFF4067769DA895D7F5D /* Pods-Easydict-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Easydict-frameworks.sh"; sourceTree = ""; }; - 6116930C98FB94CD23C2576546362FAE /* FIRComponentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentType.h; path = FirebaseCore/Extension/FIRComponentType.h; sourceTree = ""; }; - 61AC5D261469F4F859961AD455CE30F1 /* NSEnumerator+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSEnumerator+RACSequenceAdditions.m"; path = "ReactiveObjC/NSEnumerator+RACSequenceAdditions.m"; sourceTree = ""; }; - 61F97E6254C10366A69FE030E1BFA1CA /* FIRLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRLogger.m; path = FirebaseCore/Sources/FIRLogger.m; sourceTree = ""; }; - 622D369A406F6CA6145C6C4741350A8C /* JLRRouteDefinition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRRouteDefinition.h; path = JLRoutes/Classes/JLRRouteDefinition.h; sourceTree = ""; }; - 6282B19128E077E463403836D6F4647C /* nl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = nl.lproj; path = Resources/nl.lproj; sourceTree = ""; }; - 6296FAFCFA06A519630F332B92D0FADB /* FBLPromise+Then.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Then.m"; path = "Sources/FBLPromises/FBLPromise+Then.m"; sourceTree = ""; }; - 62D97AFB07B0B6155DFC6B0321DF43A5 /* MASShortcut.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcut.m; path = Framework/Model/MASShortcut.m; sourceTree = ""; }; - 63AFD5943976836C233A68622FA9F164 /* FBLPromise+Await.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Await.m"; path = "Sources/FBLPromises/FBLPromise+Await.m"; sourceTree = ""; }; - 642F3A18E00392A8620D2A5C64A11F2C /* RACEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEvent.m; path = ReactiveObjC/RACEvent.m; sourceTree = ""; }; - 65971BC8FBB7AE2C483F8B91221952F9 /* GoogleAppMeasurementIdentitySupport.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = GoogleAppMeasurementIdentitySupport.xcframework; path = Frameworks/GoogleAppMeasurementIdentitySupport.xcframework; sourceTree = ""; }; - 66C8BABE9AD7E3A34E46AB676FA8BA4C /* NSObject+RACSelectorSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACSelectorSignal.h"; path = "ReactiveObjC/NSObject+RACSelectorSignal.h"; sourceTree = ""; }; - 675D8F2A2ABA3759AF1B000501A90E4F /* NSString+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+RACSupport.m"; path = "ReactiveObjC/NSString+RACSupport.m"; sourceTree = ""; }; - 67B6E39B778CA578B3A02C8A55027CD2 /* NSIndexSet+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSIndexSet+RACSequenceAdditions.m"; path = "ReactiveObjC/NSIndexSet+RACSequenceAdditions.m"; sourceTree = ""; }; - 67EE2226A27905743B12994240ABD0C8 /* GULNetworkInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkInternal.h; path = GoogleUtilities/Network/GULNetworkInternal.h; sourceTree = ""; }; - 688F1ABDC42E2D681044E58E665EAE91 /* JLRoutes-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "JLRoutes-Info.plist"; sourceTree = ""; }; - 68F48234EFAA55126400F229E4DF079F /* ko.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ko.lproj; path = Resources/ko.lproj; sourceTree = ""; }; - 69271018620F8D765E06F7501FC53A4E /* RACSubscriber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSubscriber.m; path = ReactiveObjC/RACSubscriber.m; sourceTree = ""; }; - 695DCC1221B40EFDBD7055BEEB81E198 /* mz_strm_os_posix.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_os_posix.c; path = SSZipArchive/minizip/mz_strm_os_posix.c; sourceTree = ""; }; - 697002A21EBDC7613C0CA3F6244A037A /* RACSubscriptionScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSubscriptionScheduler.m; path = ReactiveObjC/RACSubscriptionScheduler.m; sourceTree = ""; }; - 69853FB30DCB59B08B341CE8938AADAC /* GULOriginalIMPConvenienceMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULOriginalIMPConvenienceMacros.h; path = GoogleUtilities/MethodSwizzler/Public/GoogleUtilities/GULOriginalIMPConvenienceMacros.h; sourceTree = ""; }; - 69EE03BFB2EFD39C77A4E79F6B591218 /* MJFoundation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJFoundation.m; path = MJExtension/MJFoundation.m; sourceTree = ""; }; - 6A07D15BAA4F532A8F528297A7172952 /* RACKVOTrampoline.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACKVOTrampoline.m; path = ReactiveObjC/RACKVOTrampoline.m; sourceTree = ""; }; - 6A6D7C02A62709425EB63A31A34D79FA /* RACEXTRuntimeExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEXTRuntimeExtensions.h; path = ReactiveObjC/extobjc/RACEXTRuntimeExtensions.h; sourceTree = ""; }; - 6A9D38883171355EFCCB626393CD03E6 /* RACKVOChannel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACKVOChannel.h; path = ReactiveObjC/RACKVOChannel.h; sourceTree = ""; }; - 6AE5002391A7A729D0758DEE68A6852A /* GoogleAppMeasurement.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = GoogleAppMeasurement.xcframework; path = Frameworks/GoogleAppMeasurement.xcframework; sourceTree = ""; }; - 6B251D338E066969D22B6BA4DA45F6D9 /* SUAppcastItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUAppcastItem.h; path = Sparkle.framework/Versions/B/Headers/SUAppcastItem.h; sourceTree = ""; }; - 6B92658824EB05F56E1E9C1EFE0254AA /* NSObject+MJClass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJClass.h"; path = "MJExtension/NSObject+MJClass.h"; sourceTree = ""; }; - 6B9EB60C28D35179D8EDB11262E41AF1 /* Masonry-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-umbrella.h"; sourceTree = ""; }; - 6BC62D8612D45AFA5604A78A5A13FD58 /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ViewController+MASAdditions.h"; path = "Masonry/ViewController+MASAdditions.h"; sourceTree = ""; }; - 6BDD3892972F7995A1CC233184F23872 /* FIRComponentContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponentContainer.m; path = FirebaseCore/Sources/FIRComponentContainer.m; sourceTree = ""; }; - 6C1F0AD8F358DFFDF95B192EA9BC8BF8 /* DDFileLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = Sources/CocoaLumberjack/DDFileLogger.m; sourceTree = ""; }; - 6C47DBCD195D5F791971164A3FFA8F7E /* DDLoggerNames.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLoggerNames.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDLoggerNames.h; sourceTree = ""; }; - 6C48901AEA0CBC5BC117D8B0A4532A80 /* FIRInstallationsItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsItem.m; path = FirebaseInstallations/Source/Library/FIRInstallationsItem.m; sourceTree = ""; }; - 6C51F58F5EFC3274695E7E5A5D0FCDCE /* FIRLoggerLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLoggerLevel.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h; sourceTree = ""; }; - 6C6118D41BDDA929ED2DA0F29C12F833 /* SSZipArchive.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SSZipArchive.release.xcconfig; sourceTree = ""; }; - 6CC159D0B2561BF405D2077850349F50 /* nanopb-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "nanopb-Info.plist"; sourceTree = ""; }; - 6CC4DF2C607CBCA60A223126465F8D5F /* GULNetworkInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULNetworkInfo.m; path = GoogleUtilities/Environment/NetworkInfo/GULNetworkInfo.m; sourceTree = ""; }; - 6CE39C7828C56903E4148BC0B07645B1 /* DDAbstractDatabaseLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDAbstractDatabaseLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDAbstractDatabaseLogger.h; sourceTree = ""; }; - 6D092C5DE556A854EA3436D893C530E3 /* FIRInstallationsStoredAuthToken.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsStoredAuthToken.m; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.m; sourceTree = ""; }; - 6D545ED036D87E1B7A8384ED767CBE4D /* FBLPromise+Validate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Validate.h"; path = "Sources/FBLPromises/include/FBLPromise+Validate.h"; sourceTree = ""; }; - 6D9FC3A4BD94CB7FB1E6C4ECE9BE4530 /* AppCenter.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = AppCenter.xcframework; path = "AppCenter-SDK-Apple/AppCenter.xcframework"; sourceTree = ""; }; - 6DC33A6B5889844AC44512E25C1F69F4 /* FIRAnalyticsConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRAnalyticsConfiguration.m; path = FirebaseCore/Sources/FIRAnalyticsConfiguration.m; sourceTree = ""; }; - 6E1477A80051D032D99B696727D59002 /* FBLPromise+Race.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Race.h"; path = "Sources/FBLPromises/include/FBLPromise+Race.h"; sourceTree = ""; }; - 6E39C3428A71A3BF7ED9C73E2AAEF868 /* mz_compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_compat.h; path = SSZipArchive/minizip/mz_compat.h; sourceTree = ""; }; - 6EFE3705CC0571B3A385302ABF23043A /* CocoaLumberjack.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CocoaLumberjack.release.xcconfig; sourceTree = ""; }; - 6F0B0931DCAEA24C6F80C5789DC3B297 /* GULNSData+zlib.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "GULNSData+zlib.h"; path = "GoogleUtilities/NSData+zlib/Public/GoogleUtilities/GULNSData+zlib.h"; sourceTree = ""; }; - 6F28316F04298D55AEB24761F4429943 /* FirebaseCoreInternal.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCoreInternal.release.xcconfig; sourceTree = ""; }; - 6F4396BA079B0885FF5210BE24A13C8F /* GULHeartbeatDateStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULHeartbeatDateStorage.m; path = GoogleUtilities/Environment/GULHeartbeatDateStorage.m; sourceTree = ""; }; - 6F9D94FE019462BACE3DB88260EC80DB /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MASAdditions.m"; path = "Masonry/NSArray+MASAdditions.m"; sourceTree = ""; }; - 6FB1CF631C8B541DC69838832FF3DD52 /* mz_zip.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_zip.h; path = SSZipArchive/minizip/mz_zip.h; sourceTree = ""; }; - 6FBD1BA5C0CB9B63663F882D145A4A1E /* FBLPromise+Catch.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Catch.m"; path = "Sources/FBLPromises/FBLPromise+Catch.m"; sourceTree = ""; }; - 7051DE7C6BD01338F37D64659C42097D /* Heartbeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Heartbeat.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/Heartbeat.swift; sourceTree = ""; }; - 70E756426EF8EAF367AB108C6C6B7094 /* ru.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ru.lproj; path = Resources/ru.lproj; sourceTree = ""; }; - 711EB7A4C680035497821423687A3CDD /* FirebaseCoreInternal-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FirebaseCoreInternal-dummy.m"; sourceTree = ""; }; - 71AA00C346E1B8DA79411E60F8B596BC /* pl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = pl.lproj; path = Resources/pl.lproj; sourceTree = ""; }; - 7232DA0A550267431C79681EB83266E6 /* FIRInstallationsIDController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsIDController.m; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.m; sourceTree = ""; }; - 723D909F99470C28AB4814F3037D6103 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDContextFilterLogFormatter.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDContextFilterLogFormatter.h; sourceTree = ""; }; - 725B4EFDA8141E06ECD4FD67A4ECEBFC /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; - 7263F01E83F143B613C1C6C5DE7BE4F9 /* NSControl+RACCommandSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSControl+RACCommandSupport.m"; path = "ReactiveObjC/NSControl+RACCommandSupport.m"; sourceTree = ""; }; - 727C521E341FFF0CC7A525EC7E181B64 /* nanopb-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "nanopb-dummy.m"; sourceTree = ""; }; - 728221625F5E757A9B18FF7B60D136A6 /* FIRComponentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponentType.m; path = FirebaseCore/Sources/FIRComponentType.m; sourceTree = ""; }; - 72BA83405FFB47A1B1AD42A31A421490 /* IsAppEncrypted.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IsAppEncrypted.h; path = third_party/IsAppEncrypted/Public/IsAppEncrypted.h; sourceTree = ""; }; - 72F4D45ECE42AC9D985D813646FDA03C /* MJExtension-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJExtension-umbrella.h"; sourceTree = ""; }; - 732CECAEA0618E1DB2B84455419A9101 /* NSData+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+RACSupport.h"; path = "ReactiveObjC/NSData+RACSupport.h"; sourceTree = ""; }; - 73F4585B5800096DD1A0F4A652E7DC5D /* RACValueTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACValueTransformer.m; path = ReactiveObjC/RACValueTransformer.m; sourceTree = ""; }; - 73FD27E2693D25D7290AE2CC781BA1FF /* nanopb.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = nanopb.release.xcconfig; sourceTree = ""; }; - 740F57C476C75B0B65D9FAE97C6DE054 /* CocoaLumberjack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CocoaLumberjack.h; path = "Sources/CocoaLumberjack/Supporting Files/CocoaLumberjack.h"; sourceTree = ""; }; - 748E22E036190201C0E31137238A35F9 /* SPUUserUpdateState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUserUpdateState.h; path = Sparkle.framework/Versions/B/Headers/SPUUserUpdateState.h; sourceTree = ""; }; - 75239341BFA2F7F1F8DDE4884CA6FB6C /* FIRLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLogger.h; path = FirebaseCore/Extension/FIRLogger.h; sourceTree = ""; }; - 754E3C8F2C98BD1843448178A715381F /* AppCenter.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AppCenter.release.xcconfig; sourceTree = ""; }; - 75854483937BE65758C8FEE5CB644BBE /* RACEmptySequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEmptySequence.h; path = ReactiveObjC/RACEmptySequence.h; sourceTree = ""; }; - 75D7977BBE899334361E2E373A757FAB /* GULURLSessionDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULURLSessionDataResponse.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULURLSessionDataResponse.h; sourceTree = ""; }; - 75F8026808DFC2D303AAB6E07A9ED6D3 /* FIRInstallationsBackoffController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsBackoffController.m; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.m; sourceTree = ""; }; - 7666AE1E8820189682FA27E983BB361D /* MASShortcutValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutValidator.m; path = Framework/Model/MASShortcutValidator.m; sourceTree = ""; }; - 7688F34E4976549A676FD1412141236A /* nanopb-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "nanopb-prefix.pch"; sourceTree = ""; }; - 77260539C57E31F6D0F3C256A030E2C7 /* ResourceBundle-MASShortcut-MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-MASShortcut-MASShortcut-Info.plist"; sourceTree = ""; }; - 77F90459830DEFC6FB638C7E74C478AB /* ja.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ja.lproj; path = Resources/ja.lproj; sourceTree = ""; }; - 780A9FA4B7C321BD7CB99AB735B699EF /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDContextFilterLogFormatter.m; path = Sources/CocoaLumberjack/Extensions/DDContextFilterLogFormatter.m; sourceTree = ""; }; - 788728BA0BD322FD6F35009C915E83E4 /* FIRConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRConfiguration.m; path = FirebaseCore/Sources/FIRConfiguration.m; sourceTree = ""; }; + 60E694E0032D9C53BFFC909C41684F58 /* GULAppDelegateSwizzler_Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULAppDelegateSwizzler_Private.h; path = GoogleUtilities/AppDelegateSwizzler/Internal/GULAppDelegateSwizzler_Private.h; sourceTree = ""; }; + 60F3046204DD2662529EC6181E8C1B7B /* RACGroupedSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACGroupedSignal.m; path = ReactiveObjC/RACGroupedSignal.m; sourceTree = ""; }; + 6279609618DE4793D65CE4DE50146D17 /* SwiftFormat.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.debug.xcconfig; sourceTree = ""; }; + 627E0D220E600016FA7E99D7714EEE79 /* CLIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLIColor.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/CLIColor.h; sourceTree = ""; }; + 629D17FE35087BEA2BFDD0321BB5D5E0 /* DDFileLogger+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDFileLogger+Internal.h"; path = "Sources/CocoaLumberjack/DDFileLogger+Internal.h"; sourceTree = ""; }; + 633D595E51B67C5E747FB8EE435D3140 /* pb_encode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = pb_encode.h; sourceTree = ""; }; + 64A5AF0C72DB0257E6C231D0DE88BF33 /* RACSerialDisposable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSerialDisposable.m; path = ReactiveObjC/RACSerialDisposable.m; sourceTree = ""; }; + 65D09C82D64C5A2EDB7E599EB7160DFC /* FIRFirebaseUserAgent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRFirebaseUserAgent.m; path = FirebaseCore/Sources/FIRFirebaseUserAgent.m; sourceTree = ""; }; + 65D0FD7FE6C9C23E76E522A5020790CC /* FIRComponentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentType.h; path = FirebaseCore/Extension/FIRComponentType.h; sourceTree = ""; }; + 6612C0D6BC21F1D3AD6A1F1948C6352A /* GULKeychainStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULKeychainStorage.m; path = GoogleUtilities/Environment/SecureStorage/GULKeychainStorage.m; sourceTree = ""; }; + 662916CD7A76562098B98708CCA720C7 /* RACQueueScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACQueueScheduler.h; path = ReactiveObjC/RACQueueScheduler.h; sourceTree = ""; }; + 665016A3420C45B4FE02498ECFEA7DE0 /* FIRComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponent.h; path = FirebaseCore/Extension/FIRComponent.h; sourceTree = ""; }; + 66A5AA3B6DD289B68B86A138EDAB67F3 /* NSIndexSet+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSIndexSet+RACSequenceAdditions.m"; path = "ReactiveObjC/NSIndexSet+RACSequenceAdditions.m"; sourceTree = ""; }; + 675425C34D81039EB4E0B2D94E7BC446 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; + 675F05A1F628D95DA68D9FF83209529F /* KVOController-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "KVOController-Info.plist"; sourceTree = ""; }; + 67862177F33EAD06D0DCE05AEB174A44 /* DDFileLogger+Buffering.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "DDFileLogger+Buffering.m"; path = "Sources/CocoaLumberjack/Extensions/DDFileLogger+Buffering.m"; sourceTree = ""; }; + 680A713EC63C3B1A2F97F1D6548EC799 /* ReactiveObjC-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReactiveObjC-prefix.pch"; sourceTree = ""; }; + 6839D24E46ACAA92EC7B434A131C137C /* RACEagerSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEagerSequence.m; path = ReactiveObjC/RACEagerSequence.m; sourceTree = ""; }; + 685FC462A09E8B973D39E98F5FB0D6C0 /* RACSubscriber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSubscriber.m; path = ReactiveObjC/RACSubscriber.m; sourceTree = ""; }; + 687BD844C921A57B199FB9345833BD8B /* FirebaseCoreInternal-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FirebaseCoreInternal-dummy.m"; sourceTree = ""; }; + 68C4C93A67B11A13201E04462A130F27 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASShorthandAdditions.h"; path = "Masonry/NSArray+MASShorthandAdditions.h"; sourceTree = ""; }; + 68DD661A6C0F7198565B7F0012DF261F /* Masonry.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Masonry.modulemap; sourceTree = ""; }; + 68ED30375AE07E4E2AE2632A3E9EBEEE /* GoogleUtilities.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = GoogleUtilities.modulemap; sourceTree = ""; }; + 697FDEF8A2EBE615EF291EFC2B309806 /* pb_common.c */ = {isa = PBXFileReference; includeInIndex = 1; path = pb_common.c; sourceTree = ""; }; + 69D22C84E90B5DCC2D4F0456DD630E2A /* SSZipArchive-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SSZipArchive-Info.plist"; sourceTree = ""; }; + 6A02F7250C79C56928DBD90D1C37C520 /* FBLPromiseError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBLPromiseError.m; path = Sources/FBLPromises/FBLPromiseError.m; sourceTree = ""; }; + 6AFDA56968FA7F52ADD558AE1F40CC88 /* FIRVersion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRVersion.m; path = FirebaseCore/Sources/FIRVersion.m; sourceTree = ""; }; + 6B523DFB6B1D69BA3BC8815B34AE29FE /* FIRComponentContainerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainerInternal.h; path = FirebaseCore/Sources/FIRComponentContainerInternal.h; sourceTree = ""; }; + 6BE3D63D680693D29B885F513E979F54 /* KVOController-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KVOController-prefix.pch"; sourceTree = ""; }; + 6C04CBFBA4E6040E4887EC32D4DC383A /* DDAssert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DDAssert.swift; path = Sources/CocoaLumberjackSwift/DDAssert.swift; sourceTree = ""; }; + 6C3B4754FFFD7E99942A16DDC2F73E23 /* FirebaseCoreInternal-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseCoreInternal-umbrella.h"; sourceTree = ""; }; + 6C81F337D12892E2D21AD386C11ECC43 /* JLRRouteRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRRouteRequest.m; path = JLRoutes/Classes/JLRRouteRequest.m; sourceTree = ""; }; + 6C8D2889D5709318AD50EA45EA9BDAA8 /* GULNetworkInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkInfo.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULNetworkInfo.h; sourceTree = ""; }; + 6CC2A829F79D047FCC851B0F0CC3D4E3 /* FIRLoggerLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLoggerLevel.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIRLoggerLevel.h; sourceTree = ""; }; + 6CD8960113E8EA5396158286C7D80633 /* mz_crypt_apple.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_crypt_apple.c; path = SSZipArchive/minizip/mz_crypt_apple.c; sourceTree = ""; }; + 6E1D7E4D4CD82BB1E9C902D6DCD01E9D /* FBKVOController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBKVOController.m; path = FBKVOController/FBKVOController.m; sourceTree = ""; }; + 6F4BF9D5EB2848303E8A57E459F7B478 /* CocoaLumberjack-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaLumberjack-prefix.pch"; sourceTree = ""; }; + 6F9AA08B58FF8462DF005F30AB125D69 /* GULLoggerLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLoggerLevel.h; path = GoogleUtilities/Logger/Public/GoogleUtilities/GULLoggerLevel.h; sourceTree = ""; }; + 6FD236C4A9C3FE28B5AAC969E1DCBD0F /* RACImmediateScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACImmediateScheduler.m; path = ReactiveObjC/RACImmediateScheduler.m; sourceTree = ""; }; + 702534DDEBA16BDD58955E2CC98DD1AE /* MASShortcut.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcut.h; path = Framework/Model/MASShortcut.h; sourceTree = ""; }; + 7052AC5D6D5654663A540260A790CAA5 /* FBLPromise+Then.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Then.h"; path = "Sources/FBLPromises/include/FBLPromise+Then.h"; sourceTree = ""; }; + 70751A57E425D328772E6E4FEBE5A8DD /* MASCompositeConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASCompositeConstraint.h; path = Masonry/MASCompositeConstraint.h; sourceTree = ""; }; + 70FA11005193B3DDC439142D07607F26 /* it.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = it.lproj; path = Resources/it.lproj; sourceTree = ""; }; + 710565F997165EDF9C25E73FEEE92B8E /* RACTupleSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACTupleSequence.h; path = ReactiveObjC/RACTupleSequence.h; sourceTree = ""; }; + 72AF7933E831E4644EAFCA8B05D61E2E /* nl.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = nl.lproj; path = Resources/nl.lproj; sourceTree = ""; }; + 72F2FE5BC6638B3327F3F4BB08D5F788 /* FirebaseCoreInternal.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCoreInternal.release.xcconfig; sourceTree = ""; }; + 7300DE90D5AACAA7388D97C414DC5149 /* GULSwizzler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULSwizzler.h; path = GoogleUtilities/MethodSwizzler/Public/GoogleUtilities/GULSwizzler.h; sourceTree = ""; }; + 73D7DBC34DA93D39AD1244574203E743 /* NSString+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+RACSupport.m"; path = "ReactiveObjC/NSString+RACSupport.m"; sourceTree = ""; }; + 73E21C90E47005A8826C8B195A87084B /* SUUpdaterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUUpdaterDelegate.h; path = Sparkle.framework/Versions/B/Headers/SUUpdaterDelegate.h; sourceTree = ""; }; + 74137358BAEFA80ABECDCE90B2EBDD7D /* GULNetworkConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULNetworkConstants.m; path = GoogleUtilities/Network/GULNetworkConstants.m; sourceTree = ""; }; + 750D4784392A940839C8C6199BB364B5 /* FIRComponentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponentType.m; path = FirebaseCore/Sources/FIRComponentType.m; sourceTree = ""; }; + 758BD4DBDBB97BCFAF33A0D6C8FAC2DA /* DDLoggerNames.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLoggerNames.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDLoggerNames.h; sourceTree = ""; }; + 7598DA896185B6AA2A36CCD54930A614 /* GULNSData+zlib.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "GULNSData+zlib.m"; path = "GoogleUtilities/NSData+zlib/GULNSData+zlib.m"; sourceTree = ""; }; + 760B64647052C0A405923802E2EA0ED9 /* MJPropertyKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJPropertyKey.h; path = MJExtension/MJPropertyKey.h; sourceTree = ""; }; + 76126DD632A0019B44A92B6A917BDC08 /* RACEagerSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEagerSequence.h; path = ReactiveObjC/RACEagerSequence.h; sourceTree = ""; }; + 763DE6B4EB08178B07CC11D933C942C3 /* RACEmptySequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEmptySequence.h; path = ReactiveObjC/RACEmptySequence.h; sourceTree = ""; }; + 772B62BFEEE5D0345BDC2451EC70433F /* RingBuffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RingBuffer.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/RingBuffer.swift; sourceTree = ""; }; + 77B3B590B210945E9576377854265468 /* FIRInstallationsIDController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsIDController.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.h; sourceTree = ""; }; + 789D1B32E38A7F853725517C1A23D572 /* FIRInstallations.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallations.m; path = FirebaseInstallations/Source/Library/FIRInstallations.m; sourceTree = ""; }; + 78BE4B2F95B687B52E987441C769B28E /* FIRComponentContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainer.h; path = FirebaseCore/Extension/FIRComponentContainer.h; sourceTree = ""; }; 790BD6248FBDA5CB1CA516A6BB81FAAF /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; 7928E94955D0DC03EACC29A7B0111C9C /* Pods-Easydict.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-Easydict.modulemap"; sourceTree = ""; }; - 797B0DEC5E8631CBBEE39D43863BF6C2 /* RACSubscriber+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACSubscriber+Private.h"; path = "ReactiveObjC/RACSubscriber+Private.h"; sourceTree = ""; }; - 79B2B067B858F128192C1916F0199A74 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; - 7A1166C23AE87E3404A6AF3F2E6A634C /* es.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = es.lproj; path = Resources/es.lproj; sourceTree = ""; }; - 7A7AA124B0C7E90A59D7557A7FCE2F63 /* FBLPromise+Catch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Catch.h"; path = "Sources/FBLPromises/include/FBLPromise+Catch.h"; sourceTree = ""; }; - 7AB03DB09E550BB37EA01EABE8E0DD60 /* MASKeyCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASKeyCodes.h; path = Framework/Model/MASKeyCodes.h; sourceTree = ""; }; - 7AB56C72CDC9F89D94421709FBA72DF6 /* PromisesObjC-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "PromisesObjC-Info.plist"; sourceTree = ""; }; - 7AC94CFFB540677F8D0472AE22898CD6 /* MASPreferencesWindowController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASPreferencesWindowController.h; path = Framework/MASPreferencesWindowController.h; sourceTree = ""; }; - 7AE1E78DBFADE6CFCA25251F934C632E /* DDASLLogCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDASLLogCapture.m; path = Sources/CocoaLumberjack/DDASLLogCapture.m; sourceTree = ""; }; - 7AE7C2FF8E11A8732192C52A0564923D /* JLRRouteResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRRouteResponse.h; path = JLRoutes/Classes/JLRRouteResponse.h; sourceTree = ""; }; - 7B77CB94B10FFD666FAF597A4CE62E30 /* NSURLConnection+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSURLConnection+RACSupport.m"; path = "ReactiveObjC/NSURLConnection+RACSupport.m"; sourceTree = ""; }; - 7B807C6E227F7823B199E9EE230142EB /* FIRCurrentDateProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRCurrentDateProvider.m; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.m; sourceTree = ""; }; - 7BC717CBD7C709E01994035C382E20CB /* GULNetworkConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkConstants.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkConstants.h; sourceTree = ""; }; - 7C818F5373BC8AE051AC26960B7A8362 /* KVOController-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "KVOController-Info.plist"; sourceTree = ""; }; - 7C85465E123D877BE6CE101A2040B6F2 /* zh-Hans.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = "zh-Hans.lproj"; path = "Resources/zh-Hans.lproj"; sourceTree = ""; }; - 7D185350283BADBF11F96A18E843C68B /* JLRParsingUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRParsingUtilities.h; path = JLRoutes/Classes/JLRParsingUtilities.h; sourceTree = ""; }; - 7D7CFD21166E04FC0B40DE0561E1EB2E /* RACTupleSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACTupleSequence.m; path = ReactiveObjC/RACTupleSequence.m; sourceTree = ""; }; - 7DA4489D4DF6D2406525FC8DA242D97C /* FIRInstallationsBackoffController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsBackoffController.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.h; sourceTree = ""; }; - 7DE601915D25BBD4170103C3873F5433 /* GoogleAppMeasurement-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "GoogleAppMeasurement-xcframeworks.sh"; sourceTree = ""; }; - 7DE85CEA42898B6CF075E2D78F18FB2B /* FIRFirebaseUserAgent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRFirebaseUserAgent.m; path = FirebaseCore/Sources/FIRFirebaseUserAgent.m; sourceTree = ""; }; - 7E438D0EC1FD58718BF15FE3A7E6E091 /* mz_zip_rw.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_zip_rw.c; path = SSZipArchive/minizip/mz_zip_rw.c; sourceTree = ""; }; - 7E451966FDDA5502148ED4DAADC8CB0A /* NSObject+FBKVOController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+FBKVOController.h"; path = "FBKVOController/NSObject+FBKVOController.h"; sourceTree = ""; }; - 7E4C0CD5719D393384A145CF7CEEEFB2 /* FIRConfigurationInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRConfigurationInternal.h; path = FirebaseCore/Sources/FIRConfigurationInternal.h; sourceTree = ""; }; - 7E537EE7E235292751A04A36F681F752 /* Masonry.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.debug.xcconfig; sourceTree = ""; }; - 7E6A426841A08A7DEA02267115494441 /* MASShortcut.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.debug.xcconfig; sourceTree = ""; }; - 7E8F99BD4977E32FAC145289201E4D57 /* FIRInstallationsItem+RegisterInstallationAPI.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FIRInstallationsItem+RegisterInstallationAPI.h"; path = "FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsItem+RegisterInstallationAPI.h"; sourceTree = ""; }; - 7F4B3369A56926499FC9F25514DE48EA /* MASPreferences.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASPreferences.release.xcconfig; sourceTree = ""; }; - 7F590A6FA21C3AD4B968B02A61A116EF /* SUUpdatePermissionResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUUpdatePermissionResponse.h; path = Sparkle.framework/Versions/B/Headers/SUUpdatePermissionResponse.h; sourceTree = ""; }; - 800939A243A162BDCAC28EE4A665D206 /* NSArray+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+RACSequenceAdditions.h"; path = "ReactiveObjC/NSArray+RACSequenceAdditions.h"; sourceTree = ""; }; - 8024EB1569A5AC4631933C2861E42305 /* mz_strm_buf.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_buf.c; path = SSZipArchive/minizip/mz_strm_buf.c; sourceTree = ""; }; - 806F26D9600D717A25C14EFA8E7114AC /* SUErrors.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUErrors.h; path = Sparkle.framework/Versions/B/Headers/SUErrors.h; sourceTree = ""; }; - 80DEBBF7810E31E33C990C6EB038567A /* DDOSLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDOSLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDOSLogger.h; sourceTree = ""; }; - 81344CE8F727FC5A700E13F1462451B0 /* RACIndexSetSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACIndexSetSequence.h; path = ReactiveObjC/RACIndexSetSequence.h; sourceTree = ""; }; - 81E333C6F5FBB2689C1567A0D326FA2A /* ReactiveObjC.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ReactiveObjC.modulemap; sourceTree = ""; }; - 822DB151A5E7EE73E613A79D85EB8FC0 /* pb_encode.c */ = {isa = PBXFileReference; includeInIndex = 1; path = pb_encode.c; sourceTree = ""; }; - 829961427891518B1A65312A991CE6E2 /* RACReturnSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACReturnSignal.h; path = ReactiveObjC/RACReturnSignal.h; sourceTree = ""; }; - 82D23B1751BDC20BEEB25FCED3986CC7 /* MASViewAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewAttribute.h; path = Masonry/MASViewAttribute.h; sourceTree = ""; }; - 82D41F351BF38A1278EED9958E294417 /* GULKeychainUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULKeychainUtils.m; path = GoogleUtilities/Environment/SecureStorage/GULKeychainUtils.m; sourceTree = ""; }; - 82E7508E4CA7A1CF6AEEEC9BBADBCC14 /* NSInvocation+RACTypeParsing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+RACTypeParsing.m"; path = "ReactiveObjC/NSInvocation+RACTypeParsing.m"; sourceTree = ""; }; - 832A38F24A7F6C564F78DAFA316707B2 /* MASShortcut-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-umbrella.h"; sourceTree = ""; }; - 833BECE6F334B7BA20DA7E45746A1EE6 /* mz.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz.h; path = SSZipArchive/minizip/mz.h; sourceTree = ""; }; - 838AD86B819621E69D45ED5DE41010A7 /* GULLoggerCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLoggerCodes.h; path = GoogleUtilities/Common/GULLoggerCodes.h; sourceTree = ""; }; - 8394581ABD4204BC66681CDEB39DC380 /* RACmetamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACmetamacros.h; path = ReactiveObjC/extobjc/RACmetamacros.h; sourceTree = ""; }; - 83AA4DD3F83FDFD25E189CA571D2DFC2 /* mz_strm_os.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_os.h; path = SSZipArchive/minizip/mz_strm_os.h; sourceTree = ""; }; - 83DB7844456FE19ECFF19C9C2751BB74 /* JLRParsingUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRParsingUtilities.m; path = JLRoutes/Classes/JLRParsingUtilities.m; sourceTree = ""; }; - 841A6F60B44FC37BD1406276545861F7 /* FirebaseInstallations.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseInstallations.h; path = FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FirebaseInstallations.h; sourceTree = ""; }; - 84D06F82B2C8DF85281AC6BD14C050CC /* MASViewConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewConstraint.h; path = Masonry/MASViewConstraint.h; sourceTree = ""; }; - 857573793813AFE6CB65AE4859889B2B /* mz_strm.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm.c; path = SSZipArchive/minizip/mz_strm.c; sourceTree = ""; }; - 8587A8FDA01AEDBB52A0BC426EA37821 /* RACSignalSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSignalSequence.h; path = ReactiveObjC/RACSignalSequence.h; sourceTree = ""; }; - 85F7689410B481AC8BA32EBDFFDF3D8C /* NSUserDefaults+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSUserDefaults+RACSupport.h"; path = "ReactiveObjC/NSUserDefaults+RACSupport.h"; sourceTree = ""; }; - 860EDF776A23BE8E45DA3786DB28D2B2 /* mz_strm_mem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_mem.h; path = SSZipArchive/minizip/mz_strm_mem.h; sourceTree = ""; }; - 861EE3FA281C4F297ABD22CE7419E214 /* GULNetworkMessageCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkMessageCode.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkMessageCode.h; sourceTree = ""; }; - 87E2715C339B7E78EBA82E6E13633A50 /* FBLPromise+Do.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Do.h"; path = "Sources/FBLPromises/include/FBLPromise+Do.h"; sourceTree = ""; }; - 88B5A722496EFF3B5D979F3D6A25409B /* mz_strm_pkcrypt.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_pkcrypt.c; path = SSZipArchive/minizip/mz_strm_pkcrypt.c; sourceTree = ""; }; - 8990ED32D1770EA4E78BFC12EB8EECFF /* KVOController-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "KVOController-dummy.m"; sourceTree = ""; }; - 89F4E69ABE2C151CF56923387054BCE9 /* GULReachabilityChecker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULReachabilityChecker.m; path = GoogleUtilities/Reachability/GULReachabilityChecker.m; sourceTree = ""; }; - 8A4E26487E831DEC53D877B90AF76A86 /* NSFileHandle+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSFileHandle+RACSupport.h"; path = "ReactiveObjC/NSFileHandle+RACSupport.h"; sourceTree = ""; }; + 793A7C9C43610EC870A0676F221E0546 /* FIRInstallationsBackoffController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsBackoffController.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsBackoffController.h; sourceTree = ""; }; + 799BF2AFE6BB8B6B149280270A8D4B12 /* RACDynamicSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACDynamicSequence.h; path = ReactiveObjC/RACDynamicSequence.h; sourceTree = ""; }; + 79B875A13641384623E6DDF6CFA12606 /* Masonry-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Masonry-prefix.pch"; sourceTree = ""; }; + 79C2D7EE2CB8E771F147AEC2FB61B2BE /* NSUserDefaults+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSUserDefaults+RACSupport.h"; path = "ReactiveObjC/NSUserDefaults+RACSupport.h"; sourceTree = ""; }; + 79C44CE459B0E1346D3BF9EBA7222D3D /* FIRCurrentDateProvider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRCurrentDateProvider.m; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRCurrentDateProvider.m; sourceTree = ""; }; + 7A6BB9FA5473B6444BD5DB1E3434EEE3 /* RACScopedDisposable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACScopedDisposable.m; path = ReactiveObjC/RACScopedDisposable.m; sourceTree = ""; }; + 7B4DBE49F9221CAE99D6DEDCB7B1C167 /* DDContextFilterLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDContextFilterLogFormatter.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDContextFilterLogFormatter.h; sourceTree = ""; }; + 7B6B861B3A13854A7F551B000F6F3027 /* MJPropertyType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJPropertyType.h; path = MJExtension/MJPropertyType.h; sourceTree = ""; }; + 7D3074BCA2B1CEF69464A5BC2592D701 /* Sparkle.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Sparkle.debug.xcconfig; sourceTree = ""; }; + 7E162513111EE19EC0ECAE87D47F904C /* RACStringSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACStringSequence.h; path = ReactiveObjC/RACStringSequence.h; sourceTree = ""; }; + 7E36C9508D91ACF5553876EA1063252A /* FBLPromise+Catch.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Catch.h"; path = "Sources/FBLPromises/include/FBLPromise+Catch.h"; sourceTree = ""; }; + 7F05B6E5E8E55313C5F01EE16ABFECEC /* FIRComponentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentType.h; path = FirebaseCore/Extension/FIRComponentType.h; sourceTree = ""; }; + 7F092E7C9E960B0D999712B4ADC01B77 /* MASShortcutBinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutBinder.h; path = "Framework/User Defaults Storage/MASShortcutBinder.h"; sourceTree = ""; }; + 7F1E40BD0CDA8E3D2EAFC1C269B30893 /* GULLoggerCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLoggerCodes.h; path = GoogleUtilities/Common/GULLoggerCodes.h; sourceTree = ""; }; + 806658A0740D453229ABF8453A3A9223 /* MJExtensionConst.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJExtensionConst.m; path = MJExtension/MJExtensionConst.m; sourceTree = ""; }; + 806E002D04712787CE1BD3CF70F58B25 /* FIRInstallationsHTTPError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsHTTPError.m; path = FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.m; sourceTree = ""; }; + 8075048914BF909B4FC3CA0BF8FF7566 /* MASPreferences-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "MASPreferences-Info.plist"; sourceTree = ""; }; + 80E35EF9FDF37455AF4720E99319674E /* SSZipArchive-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SSZipArchive-dummy.m"; sourceTree = ""; }; + 80F89DFEBA2B3FC15B8824F3974D887D /* FirebaseInstallations.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseInstallations.h; path = FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FirebaseInstallations.h; sourceTree = ""; }; + 81279A5A9A276E0BDFE022515147ADAF /* GULKeychainStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULKeychainStorage.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULKeychainStorage.h; sourceTree = ""; }; + 815562FDCA4521B5934A74A2CAE3E007 /* RACBehaviorSubject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACBehaviorSubject.h; path = ReactiveObjC/RACBehaviorSubject.h; sourceTree = ""; }; + 817C15479E428F985C065284F3020E1A /* NSString+RACKeyPathUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+RACKeyPathUtilities.h"; path = "ReactiveObjC/NSString+RACKeyPathUtilities.h"; sourceTree = ""; }; + 81A5F356054D66BCC7D09D71DE5A7A44 /* CocoaLumberjack-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "CocoaLumberjack-Info.plist"; sourceTree = ""; }; + 8201CBBCCC20A0AAD78D74D92B840574 /* RACUnit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACUnit.h; path = ReactiveObjC/RACUnit.h; sourceTree = ""; }; + 8262A7B8BBE6FE691525EA316333163C /* MASPreferences-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASPreferences-umbrella.h"; sourceTree = ""; }; + 8294875FC5A9201A0619E4A081668842 /* GULNetworkMessageCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkMessageCode.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkMessageCode.h; sourceTree = ""; }; + 8332D4067950F9C3F2FCB72122BBD101 /* JLRRouteDefinition.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRRouteDefinition.h; path = JLRoutes/Classes/JLRRouteDefinition.h; sourceTree = ""; }; + 835263838B5356B80988C6046BEBE257 /* GULNetworkInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULNetworkInfo.m; path = GoogleUtilities/Environment/NetworkInfo/GULNetworkInfo.m; sourceTree = ""; }; + 838E4DD371CE2E6744F72589106BAF2F /* SwiftLogLevel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SwiftLogLevel.h; path = Sources/CocoaLumberjackSwiftSupport/include/CocoaLumberjackSwiftSupport/SwiftLogLevel.h; sourceTree = ""; }; + 83AA8BB42D0F0ADBEC420AA5165A55F6 /* SPUStandardUserDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUStandardUserDriver.h; path = Sparkle.framework/Versions/B/Headers/SPUStandardUserDriver.h; sourceTree = ""; }; + 842780374856B0795D6632E3B2655C95 /* FIRInstallationsStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsStore.m; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.m; sourceTree = ""; }; + 8498E5ABD6DACF0F0D6184F107CE7F87 /* mz_strm.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm.c; path = SSZipArchive/minizip/mz_strm.c; sourceTree = ""; }; + 8537CBA4D20714FEAC208E7B2CF4F0BA /* NSControl+RACCommandSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSControl+RACCommandSupport.m"; path = "ReactiveObjC/NSControl+RACCommandSupport.m"; sourceTree = ""; }; + 85AC7FC5D0141B5EA2AC53D5B502C3DC /* JLRRouteRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRRouteRequest.h; path = JLRoutes/Classes/JLRRouteRequest.h; sourceTree = ""; }; + 85AD4FF46CE265896ECA71D5923C3AF6 /* sv.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = sv.lproj; path = Resources/sv.lproj; sourceTree = ""; }; + 85BDD5590E248A79825566148496D341 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + 85CBB43E97CCF22C8245C717A856BE25 /* Masonry-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Masonry-dummy.m"; sourceTree = ""; }; + 85D9AA6920A3422A5D6BEADEEB351FFF /* NSObject+FBKVOController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+FBKVOController.h"; path = "FBKVOController/NSObject+FBKVOController.h"; sourceTree = ""; }; + 861236973289C6E2EA83250AE6036519 /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASAdditions.h"; path = "Masonry/NSArray+MASAdditions.h"; sourceTree = ""; }; + 86315F0061C584291FBF259043FB0381 /* GULLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULLogger.m; path = GoogleUtilities/Logger/GULLogger.m; sourceTree = ""; }; + 86425451C2B72F68D89CA38BD92C07BF /* DDMultiFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMultiFormatter.m; path = Sources/CocoaLumberjack/Extensions/DDMultiFormatter.m; sourceTree = ""; }; + 86C2E96FE79FD09AD11741FC20827F0C /* SUUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUUpdater.h; path = Sparkle.framework/Versions/B/Headers/SUUpdater.h; sourceTree = ""; }; + 870E635E286D84B438B3BBE74B5D4D73 /* GULSceneDelegateSwizzler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULSceneDelegateSwizzler.h; path = GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULSceneDelegateSwizzler.h; sourceTree = ""; }; + 87D95C217008751659A5E22A916DF7C8 /* mz_os.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_os.h; path = SSZipArchive/minizip/mz_os.h; sourceTree = ""; }; + 8848FC407D058DFF452A23C1DAE40F0F /* SSZipArchive.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SSZipArchive.m; path = SSZipArchive/SSZipArchive.m; sourceTree = ""; }; + 884EEAC8F05B68762375389C15E8FDB5 /* nanopb-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "nanopb-prefix.pch"; sourceTree = ""; }; + 885302F72FFC8DDE6B550C2CEC6B3CDB /* FIROptionsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptionsInternal.h; path = FirebaseCore/Extension/FIROptionsInternal.h; sourceTree = ""; }; + 88714289F8DBC4AFF89C59E97D5686B0 /* MASConstraint+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASConstraint+Private.h"; path = "Masonry/MASConstraint+Private.h"; sourceTree = ""; }; + 89A1413AA83A65D98FFA263AA37EE654 /* FirebaseAnalytics-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "FirebaseAnalytics-xcframeworks.sh"; sourceTree = ""; }; + 8A203556EA7BF2AEED2B377211D8C98E /* NSData+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+RACSupport.m"; path = "ReactiveObjC/NSData+RACSupport.m"; sourceTree = ""; }; + 8A2AB3BA84501D0B9BE6B3F2F8415566 /* NSControl+RACTextSignalSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSControl+RACTextSignalSupport.m"; path = "ReactiveObjC/NSControl+RACTextSignalSupport.m"; sourceTree = ""; }; + 8A5C2B6EE9BE76F67FC9DA55CDDB2A95 /* MASShortcut.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.debug.xcconfig; sourceTree = ""; }; 8A60CFC28EFE537D195AC6987A41C114 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = DEVELOPER_DIR; }; - 8AF9F89DF5A27BFCA851FB3CD0CF7D28 /* RACUnit.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACUnit.m; path = ReactiveObjC/RACUnit.m; sourceTree = ""; }; + 8AB1DA88719666C7AF6C0E0555C0BF31 /* RACScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACScheduler.h; path = ReactiveObjC/RACScheduler.h; sourceTree = ""; }; + 8ADEA681B7DD4BA78B11ADF3BD110371 /* NSObject+RACSelectorSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACSelectorSignal.m"; path = "ReactiveObjC/NSObject+RACSelectorSignal.m"; sourceTree = ""; }; 8B00B1A7406B4F5FEEC4C4B39D91D48A /* Pods-Easydict.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Easydict.debug.xcconfig"; sourceTree = ""; }; - 8B53E22A00CD76B79D6B0195B2DE432A /* FBLPromise+Validate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Validate.m"; path = "Sources/FBLPromises/FBLPromise+Validate.m"; sourceTree = ""; }; - 8B5ECAF4FA53CFC4BEA14F589390EAA0 /* MASPreferencesWindow.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = MASPreferencesWindow.xib; path = en.lproj/MASPreferencesWindow.xib; sourceTree = ""; }; - 8BBE5010ABC39044374D2BE439B29883 /* FIRBundleUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRBundleUtil.m; path = FirebaseCore/Sources/FIRBundleUtil.m; sourceTree = ""; }; - 8C1FF87AC565F33148174169D4025F6A /* mz_os.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_os.c; path = SSZipArchive/minizip/mz_os.c; sourceTree = ""; }; - 8CFE78694626E98536B5044D3632AEA8 /* GULHeartbeatDateStorageUserDefaults.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULHeartbeatDateStorageUserDefaults.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorageUserDefaults.h; sourceTree = ""; }; - 8DA66546D21DCB2398601D942E38EB02 /* GULUserDefaults.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULUserDefaults.m; path = GoogleUtilities/UserDefaults/GULUserDefaults.m; sourceTree = ""; }; - 8E2B5FBC518CBFE9A182ADA4C855B164 /* RACTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACTuple.h; path = ReactiveObjC/RACTuple.h; sourceTree = ""; }; - 8EA1D230ABFEFE04CEA177B8726E4543 /* FirebaseAnalytics.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = FirebaseAnalytics.xcframework; path = Frameworks/FirebaseAnalytics.xcframework; sourceTree = ""; }; - 8ECA0CDDC60A6B799DB5A385B3DB6403 /* FIRDependency.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRDependency.h; path = FirebaseCore/Extension/FIRDependency.h; sourceTree = ""; }; - 9023087107D17E859494B87A27DCD9B8 /* DDAssertMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDAssertMacros.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDAssertMacros.h; sourceTree = ""; }; - 908AF1BF914FB2DBF63BB2402525F49F /* CocoaLumberjack-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CocoaLumberjack-dummy.m"; sourceTree = ""; }; - 90E99C6D3C10AA367B8890B4B83086BD /* NSIndexSet+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSIndexSet+RACSequenceAdditions.h"; path = "ReactiveObjC/NSIndexSet+RACSequenceAdditions.h"; sourceTree = ""; }; - 90F9B91976183B343883785BDD9AC363 /* FIRComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponent.h; path = FirebaseCore/Extension/FIRComponent.h; sourceTree = ""; }; - 910ECB9CD982EA87617DEBEB6763EDEA /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; + 8B2163CB3997D14FB0BA71D528539F4D /* FBLPromises.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBLPromises.h; path = Sources/FBLPromises/include/FBLPromises.h; sourceTree = ""; }; + 8B539DE75C7B6B035B001237D2E663C6 /* FBKVOController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBKVOController.h; path = FBKVOController/FBKVOController.h; sourceTree = ""; }; + 8B53E76BA286CD016D031C9C22BEE077 /* DDLogMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLogMacros.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDLogMacros.h; sourceTree = ""; }; + 8B929C3E868F199CC2E67F084F275F43 /* NSObject+RACDeallocating.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACDeallocating.m"; path = "ReactiveObjC/NSObject+RACDeallocating.m"; sourceTree = ""; }; + 8BA6FAA843B87F1A6601D6A7A5E7857B /* mz_strm_zlib.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_zlib.c; path = SSZipArchive/minizip/mz_strm_zlib.c; sourceTree = ""; }; + 8C4158D16A134C331548292527690DDA /* mz_os_posix.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_os_posix.c; path = SSZipArchive/minizip/mz_os_posix.c; sourceTree = ""; }; + 8C464BB87B50E1EE34759014BE1F4E50 /* GULReachabilityChecker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULReachabilityChecker.m; path = GoogleUtilities/Reachability/GULReachabilityChecker.m; sourceTree = ""; }; + 8C6530194599F9C00ED7D1CCAB132BBA /* mz_strm_os.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_os.h; path = SSZipArchive/minizip/mz_strm_os.h; sourceTree = ""; }; + 8C65659FEC215D80300D12797FA1C4BD /* GULMutableDictionary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULMutableDictionary.m; path = GoogleUtilities/Network/GULMutableDictionary.m; sourceTree = ""; }; + 8D27F42F3DDFF847CD8313FA242E7652 /* AFNetworking-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AFNetworking-Info.plist"; sourceTree = ""; }; + 8D60A87754C8D61F6A08EC9BEB906AFE /* pt.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = pt.lproj; path = Resources/pt.lproj; sourceTree = ""; }; + 8D78CD45035132AA642BB51D6DABEAD3 /* RACPassthroughSubscriber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACPassthroughSubscriber.m; path = ReactiveObjC/RACPassthroughSubscriber.m; sourceTree = ""; }; + 8D96D588570395B09A30ABBB4501CAC1 /* GULHeartbeatDateStorageUserDefaults.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULHeartbeatDateStorageUserDefaults.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorageUserDefaults.h; sourceTree = ""; }; + 8DB42D57FE417E3901E64C253A37E00E /* mz_strm_buf.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_buf.c; path = SSZipArchive/minizip/mz_strm_buf.c; sourceTree = ""; }; + 8DE77412DDCCDE41DD8BA5A58E04841F /* SSZipCommon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SSZipCommon.h; path = SSZipArchive/SSZipCommon.h; sourceTree = ""; }; + 8F03D2331EE58BB66172007398E223CB /* mz.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz.h; path = SSZipArchive/minizip/mz.h; sourceTree = ""; }; + 8F335E0764FC34597616ABBD11D4151D /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; + 8F747F14A9735FD0CD3A1D9BF1999AEA /* RACScheduler+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACScheduler+Private.h"; path = "ReactiveObjC/RACScheduler+Private.h"; sourceTree = ""; }; + 8F877C9E7C796F9F7E5FCA13F56CBA4E /* JLRRouteHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRRouteHandler.m; path = JLRoutes/Classes/JLRRouteHandler.m; sourceTree = ""; }; + 903CCE2F999159E7FC472C61B1455363 /* MASLocalization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLocalization.m; path = Framework/UI/MASLocalization.m; sourceTree = ""; }; + 90DE23E5C1C91033726687D9B265AC56 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = ""; }; + 90DE878488A979232F39E04808E619AE /* FBLPromise+Recover.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Recover.h"; path = "Sources/FBLPromises/include/FBLPromise+Recover.h"; sourceTree = ""; }; + 90ED0249FFB72A538C343C6F92A48907 /* nanopb-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "nanopb-umbrella.h"; sourceTree = ""; }; + 914FF669E7284F0E626B01A8E73C1EDC /* RACSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSequence.m; path = ReactiveObjC/RACSequence.m; sourceTree = ""; }; 91595758B02C3B624DAEBA1FA94E413B /* Pods-EasydictTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-EasydictTests-umbrella.h"; sourceTree = ""; }; + 91651C5970D55CEE02527B3ECC985EE8 /* GULAppEnvironmentUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULAppEnvironmentUtil.m; path = GoogleUtilities/Environment/GULAppEnvironmentUtil.m; sourceTree = ""; }; 91B23470DEB9A986332BEB5034234BC7 /* SSZipArchive */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SSZipArchive; path = SSZipArchive.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 91B4D3AB4BE485DBD47361731B9DA696 /* FBLPromise+Delay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Delay.m"; path = "Sources/FBLPromises/FBLPromise+Delay.m"; sourceTree = ""; }; - 91BF0D53C3A1A73B206B03F818AC4217 /* RingBuffer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RingBuffer.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/RingBuffer.swift; sourceTree = ""; }; - 91ECF043BD011C80EC016A13B14DD197 /* RACPassthroughSubscriber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACPassthroughSubscriber.h; path = ReactiveObjC/RACPassthroughSubscriber.h; sourceTree = ""; }; - 924F486F2B9FA02D3D2A91C538E893F5 /* FirebaseCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FirebaseCore.modulemap; sourceTree = ""; }; - 92CD385D10F1244A09D74D1718D6CA08 /* RACStream+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACStream+Private.h"; path = "ReactiveObjC/RACStream+Private.h"; sourceTree = ""; }; + 91BAE3F9E06C3E4BEF63F3A6585FE305 /* CocoaLumberjack.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CocoaLumberjack.release.xcconfig; sourceTree = ""; }; + 91C1918AD43101240A46A509DA60C988 /* NSObject+RACPropertySubscribing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACPropertySubscribing.m"; path = "ReactiveObjC/NSObject+RACPropertySubscribing.m"; sourceTree = ""; }; + 92B31DEACF7ACB54635AA1F8DC0AB194 /* GULMutableDictionary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULMutableDictionary.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULMutableDictionary.h; sourceTree = ""; }; + 92C371FA08D1CE5B687693730362BB22 /* GULAppDelegateSwizzler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULAppDelegateSwizzler.m; path = GoogleUtilities/AppDelegateSwizzler/GULAppDelegateSwizzler.m; sourceTree = ""; }; + 92C7175DDFEE3888902FE38C529F1A02 /* mz_strm_split.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_split.c; path = SSZipArchive/minizip/mz_strm_split.c; sourceTree = ""; }; 9312CC9A36808D0478AE8052EF3DF43A /* Pods-EasydictTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-EasydictTests-acknowledgements.plist"; sourceTree = ""; }; - 9371BDC7802D8CF4EF2B6398DEDC1A5B /* FBLPromise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBLPromise.h; path = Sources/FBLPromises/include/FBLPromise.h; sourceTree = ""; }; - 947869ECB3F328398BCE637F6653E521 /* NSFileHandle+RACSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSFileHandle+RACSupport.m"; path = "ReactiveObjC/NSFileHandle+RACSupport.m"; sourceTree = ""; }; - 9482DA45200ABEC95661B5A94599E29C /* GULNetwork.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetwork.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetwork.h; sourceTree = ""; }; - 94C783C474114F1D4DCF6FC615B795A8 /* JLRoutes-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JLRoutes-prefix.pch"; sourceTree = ""; }; - 952FF6D91E420761878604AE0DCA3D4F /* FIRInstallationsIDController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsIDController.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.h; sourceTree = ""; }; - 954D80EC120AA74F7DEE0081352B2EAD /* RACTupleSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACTupleSequence.h; path = ReactiveObjC/RACTupleSequence.h; sourceTree = ""; }; + 939271C307495FBB955DA6DD5A47A9ED /* RACBlockTrampoline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACBlockTrampoline.h; path = ReactiveObjC/RACBlockTrampoline.h; sourceTree = ""; }; + 93D0A390E4166525C8125F0A7DAFBA1A /* pb_decode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = pb_decode.h; sourceTree = ""; }; + 9404C5D2D5AD36330D2123A29D64D0AB /* nanopb.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = nanopb.release.xcconfig; sourceTree = ""; }; + 94904B46FBA86C8D1FFE3884D0650B72 /* FirebaseCore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FirebaseCore.modulemap; sourceTree = ""; }; + 94ADB8B579B7D040646F9E701B939090 /* FirebaseInstallations.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FirebaseInstallations.modulemap; sourceTree = ""; }; + 952087317CC29D90D291D1B2F202CCF3 /* FBLPromise+Reduce.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Reduce.h"; path = "Sources/FBLPromises/include/FBLPromise+Reduce.h"; sourceTree = ""; }; + 954E4C03C690623BD3DDDEE973850AB4 /* RACDynamicSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACDynamicSignal.m; path = ReactiveObjC/RACDynamicSignal.m; sourceTree = ""; }; 9557017CFFCCA6BDFC4839A96EFD0115 /* Pods-EasydictTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-EasydictTests-dummy.m"; sourceTree = ""; }; - 9590D904851456713B556BEAEC9BC174 /* DDFileLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDFileLogger.h; sourceTree = ""; }; - 95975911BF2455BD97DF92871D0C4705 /* pb_encode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = pb_encode.h; sourceTree = ""; }; - 95B7F9587875100D07C89C3A723AE426 /* NSObject+RACAppKitBindings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACAppKitBindings.m"; path = "ReactiveObjC/NSObject+RACAppKitBindings.m"; sourceTree = ""; }; - 95B9B8D9872E5106AD605D3F76986A05 /* FBLPromise+Reduce.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Reduce.h"; path = "Sources/FBLPromises/include/FBLPromise+Reduce.h"; sourceTree = ""; }; + 9567610AD1B46AB835BAE4D248FE4B77 /* HeartbeatsPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatsPayload.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatsPayload.swift; sourceTree = ""; }; + 95B24FBCB615636633E83982F8DEF3FB /* RACIndexSetSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACIndexSetSequence.h; path = ReactiveObjC/RACIndexSetSequence.h; sourceTree = ""; }; + 95CD5D0845CDE552D1AD0CF3E1DEA5BE /* PromisesObjC-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "PromisesObjC-Info.plist"; sourceTree = ""; }; + 96198E391D3C378290CEE94023BCDA79 /* FIRLibrary.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLibrary.h; path = FirebaseCore/Extension/FIRLibrary.h; sourceTree = ""; }; 9621C6383F5733C35183B2DE886C7EC6 /* ReactiveObjC */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ReactiveObjC; path = ReactiveObjC.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 969A7F719474238FC75CA27C7CA64CE3 /* RACMulticastConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACMulticastConnection.h; path = ReactiveObjC/RACMulticastConnection.h; sourceTree = ""; }; - 9761C68F31B8B0FD303942344EDEFAA1 /* RACReplaySubject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACReplaySubject.h; path = ReactiveObjC/RACReplaySubject.h; sourceTree = ""; }; - 97BBF63FC65BFF52F03C315C8E376F3B /* GULMutableDictionary.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULMutableDictionary.m; path = GoogleUtilities/Network/GULMutableDictionary.m; sourceTree = ""; }; - 985C8F7B08FC1F83E22AEE686D560835 /* FirebaseInstallations.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseInstallations.release.xcconfig; sourceTree = ""; }; - 988E3A13C4A5D756E2D54DEC7E0ECEDC /* FIRComponentContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainer.h; path = FirebaseCore/Extension/FIRComponentContainer.h; sourceTree = ""; }; - 9895A2D0BA4F5C7B18D5F38B51BB6BF3 /* SSZipArchive-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSZipArchive-prefix.pch"; sourceTree = ""; }; - 98E83326FEFF11614F51E206FE7D477B /* FIRInstallationsIIDTokenStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsIIDTokenStore.h; path = FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.h; sourceTree = ""; }; - 99B44E885B1F392355D61F9057C0D851 /* Sparkle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Sparkle.h; path = Sparkle.framework/Versions/B/Headers/Sparkle.h; sourceTree = ""; }; - 99D61218778584EE22B56A16266C7DAD /* NSArray+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASAdditions.h"; path = "Masonry/NSArray+MASAdditions.h"; sourceTree = ""; }; - 99DC280C8A6848978380D935D15AEAAC /* GULApplication.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULApplication.h; path = GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULApplication.h; sourceTree = ""; }; - 9A33107776FD0417FEEFBCBF6135FB26 /* SPUStandardUserDriverDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUStandardUserDriverDelegate.h; path = Sparkle.framework/Versions/B/Headers/SPUStandardUserDriverDelegate.h; sourceTree = ""; }; - 9A74BFD268259888998EB3C5ED9A7287 /* FIRInstallationsErrors.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsErrors.h; path = FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsErrors.h; sourceTree = ""; }; - 9AAE1FF71356C3E86B69986B502D89D0 /* DDTTYLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDTTYLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDTTYLogger.h; sourceTree = ""; }; + 9626AE9F8FA660DBE49A6781BF75A474 /* JLRRouteResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRRouteResponse.h; path = JLRoutes/Classes/JLRRouteResponse.h; sourceTree = ""; }; + 96A0B72DD6BEAC82BBDED0DF35D94CE1 /* NSObject+MJKeyValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJKeyValue.h"; path = "MJExtension/NSObject+MJKeyValue.h"; sourceTree = ""; }; + 96A0B792C216ABE4B3D515F6B956C0F3 /* MASUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASUtilities.h; path = Masonry/MASUtilities.h; sourceTree = ""; }; + 96CBD4FDD103BB55E139E180A0B5A2CC /* FIRInstallationsItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsItem.h; path = FirebaseInstallations/Source/Library/FIRInstallationsItem.h; sourceTree = ""; }; + 970179A39F2E652E194DF310A25DCB51 /* FirebaseCore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseCore.h; path = FirebaseCore/Sources/Public/FirebaseCore/FirebaseCore.h; sourceTree = ""; }; + 977C280154A64E4D8B793B039A2CA774 /* AppCenterAnalytics.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = AppCenterAnalytics.xcframework; path = "AppCenter-SDK-Apple/AppCenterAnalytics.xcframework"; sourceTree = ""; }; + 980AC595BAD91780EF16EA2F06233E70 /* RACKVOTrampoline.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACKVOTrampoline.m; path = ReactiveObjC/RACKVOTrampoline.m; sourceTree = ""; }; + 9900E1B25AF91223A482143ED0CD4F44 /* ReactiveObjC-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ReactiveObjC-dummy.m"; sourceTree = ""; }; + 99B65257C54DD3CC39E5EC355A89C1DC /* GoogleAppMeasurement.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = GoogleAppMeasurement.xcframework; path = Frameworks/GoogleAppMeasurement.xcframework; sourceTree = ""; }; + 9A19E63C2D74EE692430552EFC0FA42C /* FBLPromise+Delay.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Delay.m"; path = "Sources/FBLPromises/FBLPromise+Delay.m"; sourceTree = ""; }; + 9ACB6BE5C4D5684E26B7854F9974B769 /* FIRInstallationsAuthTokenResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsAuthTokenResultInternal.h; path = FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResultInternal.h; sourceTree = ""; }; + 9ADBDEA38C71D02602FCB48F1C5B961A /* DDFileLogger+Buffering.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDFileLogger+Buffering.h"; path = "Sources/CocoaLumberjack/include/CocoaLumberjack/DDFileLogger+Buffering.h"; sourceTree = ""; }; 9B03860033D4E77E2A17C8CEDAA65BA7 /* Pods-EasydictTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-EasydictTests.release.xcconfig"; sourceTree = ""; }; + 9B162DECBC1E213DE303D429F0A80A34 /* NSURLConnection+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLConnection+RACSupport.h"; path = "ReactiveObjC/NSURLConnection+RACSupport.h"; sourceTree = ""; }; 9B4352D1CD18BB2BDE8A51479B871C10 /* Pods-Easydict */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-Easydict"; path = Pods_Easydict.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9B7B448E0E519E0FAFC199FB1D2D1C66 /* GULReachabilityChecker+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "GULReachabilityChecker+Internal.h"; path = "GoogleUtilities/Reachability/GULReachabilityChecker+Internal.h"; sourceTree = ""; }; - 9BC2898039C7C6CE10FDA21E4657BFEB /* ReactiveObjC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReactiveObjC.debug.xcconfig; sourceTree = ""; }; - 9BDAB8DDC932103A8745324ED5A55DD1 /* FIRInstallationsHTTPError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsHTTPError.h; path = FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.h; sourceTree = ""; }; - 9C6E75212079F3693B5124DB1E4C3231 /* pb_decode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = pb_decode.h; sourceTree = ""; }; - 9C77B7010667A0E48437D279F6DF3FA9 /* RACSignalProvider.d */ = {isa = PBXFileReference; includeInIndex = 1; name = RACSignalProvider.d; path = ReactiveObjC/RACSignalProvider.d; sourceTree = ""; }; - 9D0DF020DB5CEB74D7B0E96854E7A3B7 /* JLRoutes-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "JLRoutes-dummy.m"; sourceTree = ""; }; + 9C1C6B6506CF88A49098C5BCCC4D433E /* RACSerialDisposable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSerialDisposable.h; path = ReactiveObjC/RACSerialDisposable.h; sourceTree = ""; }; + 9CD0EF998EAC78FDC67CDC6F46FB33EA /* en.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = en.lproj; path = Resources/en.lproj; sourceTree = ""; }; + 9CF768B69230F859A48EFB6A456B07D8 /* RACStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACStream.h; path = ReactiveObjC/RACStream.h; sourceTree = ""; }; + 9D4D92E50628B7E0C259156389E4E205 /* FIRHeartbeatLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRHeartbeatLogger.h; path = FirebaseCore/Extension/FIRHeartbeatLogger.h; sourceTree = ""; }; 9D635ACBDB58BEC168F692A7F0132B89 /* MASPreferences-MASPreferences */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = "MASPreferences-MASPreferences"; path = MASPreferences.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D820805EC2E422F22879E264A2F2EE2 /* RACStream.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACStream.m; path = ReactiveObjC/RACStream.m; sourceTree = ""; }; + 9D685CF55891BC5BF98B38FC1B2D3248 /* SSZipArchive.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SSZipArchive.debug.xcconfig; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9DA9642C74CC412BEE1D381309841C71 /* NSObject+RACDescription.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACDescription.m"; path = "ReactiveObjC/NSObject+RACDescription.m"; sourceTree = ""; }; - 9DB43481D074FD29451A21717C890B60 /* SUExport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUExport.h; path = Sparkle.framework/Versions/B/Headers/SUExport.h; sourceTree = ""; }; - 9DB60D9D9863371EEE59C51E381D817F /* MASConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASConstraint.h; path = Masonry/MASConstraint.h; sourceTree = ""; }; - 9DFB749F6883E1B5DFCA483F86420864 /* NSObject+RACLifting.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACLifting.m"; path = "ReactiveObjC/NSObject+RACLifting.m"; sourceTree = ""; }; - 9E6DD3CCDD89AA3B36E91FC8BDCD55CC /* RACTestScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACTestScheduler.h; path = ReactiveObjC/RACTestScheduler.h; sourceTree = ""; }; - A02E798A1992B963DE0A52599A73F281 /* RACStringSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACStringSequence.m; path = ReactiveObjC/RACStringSequence.m; sourceTree = ""; }; - A030DE3A7E5C1554694CD0FDC8F2150F /* GoogleUtilities-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "GoogleUtilities-Info.plist"; sourceTree = ""; }; - A056B918FCD693593857436E322324D3 /* FBLPromise+Await.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Await.h"; path = "Sources/FBLPromises/include/FBLPromise+Await.h"; sourceTree = ""; }; - A0BA49435E1215626EC76CDB48D450ED /* FirebaseAnalytics.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseAnalytics.release.xcconfig; sourceTree = ""; }; - A0F8A5FDE9A266B11A3D3CBB15EA4E8A /* MJExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MJExtension.release.xcconfig; sourceTree = ""; }; - A1742075A127DCF40ECD1D3A7BEA6B47 /* RACArraySequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACArraySequence.m; path = ReactiveObjC/RACArraySequence.m; sourceTree = ""; }; - A182734D57517BCB756ECECC85CF8309 /* SPUDownloadData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUDownloadData.h; path = Sparkle.framework/Versions/B/Headers/SPUDownloadData.h; sourceTree = ""; }; - A1C5030F52C1CC970D3C1FC9D6C21552 /* MJProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJProperty.m; path = MJExtension/MJProperty.m; sourceTree = ""; }; - A21E0740E7CC8265EE6D1FF71DEC95B9 /* RACStringSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACStringSequence.h; path = ReactiveObjC/RACStringSequence.h; sourceTree = ""; }; - A2983D779E330530E0765374C24D121D /* NSNotificationCenter+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+RACSupport.h"; path = "ReactiveObjC/NSNotificationCenter+RACSupport.h"; sourceTree = ""; }; - A29EA27499E5A988F88732AFAE877228 /* MASHotKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASHotKey.h; path = Framework/Monitoring/MASHotKey.h; sourceTree = ""; }; - A31A78BFBCCDDD690E7E85D3A42EACD1 /* GULNetworkConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULNetworkConstants.m; path = GoogleUtilities/Network/GULNetworkConstants.m; sourceTree = ""; }; - A3E9524399622C6D31859BF37573B82B /* MJExtensionConst.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJExtensionConst.h; path = MJExtension/MJExtensionConst.h; sourceTree = ""; }; - A3E952C6AC5D6CF1F9CB9B1DC26B0E4A /* GULNetworkURLSession.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkURLSession.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkURLSession.h; sourceTree = ""; }; - A42966795F418E3D604E132FE826F0BB /* RACPassthroughSubscriber.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACPassthroughSubscriber.m; path = ReactiveObjC/RACPassthroughSubscriber.m; sourceTree = ""; }; - A4502616F6BB4BDBE6014DFEB35A2A13 /* DDMultiFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDMultiFormatter.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDMultiFormatter.h; sourceTree = ""; }; - A4D86126F8F88D62A808DEEC753D6F09 /* FirebaseCoreInternal.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FirebaseCoreInternal.modulemap; sourceTree = ""; }; + 9DA80CC63D15B5B65B326FB83282B9B9 /* RACSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSequence.h; path = ReactiveObjC/RACSequence.h; sourceTree = ""; }; + 9E330B3B4235ADB63C9F3459D634224C /* RACSubject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSubject.h; path = ReactiveObjC/RACSubject.h; sourceTree = ""; }; + 9E82D3FE833AE0CCE70D0DB66E7A5296 /* JLRoutes.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = JLRoutes.modulemap; sourceTree = ""; }; + 9EE19076692527A9F0D44437B752AE7E /* PromisesObjC-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromisesObjC-dummy.m"; sourceTree = ""; }; + 9EF3DEB38F0123335954D77CA738A601 /* MJProperty.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJProperty.h; path = MJExtension/MJProperty.h; sourceTree = ""; }; + 9F5557DE315FAF32C08E1625C1EF3665 /* RACTargetQueueScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACTargetQueueScheduler.m; path = ReactiveObjC/RACTargetQueueScheduler.m; sourceTree = ""; }; + A027C9905E70BDB1F975EA72C2BECEFC /* NSSet+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSSet+RACSequenceAdditions.m"; path = "ReactiveObjC/NSSet+RACSequenceAdditions.m"; sourceTree = ""; }; + A04EC495FC3F245C92DED23861AA9885 /* NSControl+RACTextSignalSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSControl+RACTextSignalSupport.h"; path = "ReactiveObjC/NSControl+RACTextSignalSupport.h"; sourceTree = ""; }; + A0B8B622E89FEED8CAEB35013F9FCFEE /* FIRInstallationsIIDStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsIIDStore.m; path = FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.m; sourceTree = ""; }; + A0BAA45263B76C83E934406299202672 /* MJExtension-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJExtension-umbrella.h"; sourceTree = ""; }; + A102FCDCE6DDFE1B30AD2D473E151A10 /* DDASLLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDASLLogger.h; sourceTree = ""; }; + A1411614EB442FBBF01108E457A800D3 /* RACScheduler+Subclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACScheduler+Subclass.h"; path = "ReactiveObjC/RACScheduler+Subclass.h"; sourceTree = ""; }; + A14D53457BAF60E40DCC96DFB085C596 /* JLRoutes-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JLRoutes-umbrella.h"; sourceTree = ""; }; + A1EEFD9879355154D34D3419DD3B398D /* FIRInstallationsStoredAuthToken.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsStoredAuthToken.m; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.m; sourceTree = ""; }; + A21ABB599790B4F3F3D012CE91464D94 /* MJExtension-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "MJExtension-Info.plist"; sourceTree = ""; }; + A25A87B140DCF902D4E3239752002613 /* FIRLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRLogger.m; path = FirebaseCore/Sources/FIRLogger.m; sourceTree = ""; }; + A25FE1EFB94164FDA9E3D4119F0A8543 /* ViewController+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ViewController+MASAdditions.h"; path = "Masonry/ViewController+MASAdditions.h"; sourceTree = ""; }; + A2BEA946DA2409F28FDF2D796BA7B421 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; + A3170D9139D0144F2E2ABC804DC48531 /* RACSubscriptionScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSubscriptionScheduler.h; path = ReactiveObjC/RACSubscriptionScheduler.h; sourceTree = ""; }; + A31E17F9F5A72BE898B1319436003407 /* ReactiveObjC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReactiveObjC.release.xcconfig; sourceTree = ""; }; + A31FBF89838193C99DF4F10BC44693FF /* MJPropertyType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJPropertyType.m; path = MJExtension/MJPropertyType.m; sourceTree = ""; }; + A377CCEA25CCC17BFC69C2DF468BAB1A /* SPUStandardUserDriverDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUStandardUserDriverDelegate.h; path = Sparkle.framework/Versions/B/Headers/SPUStandardUserDriverDelegate.h; sourceTree = ""; }; + A384AB9DC764DB45FCA0F8205F80417C /* RACSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSignal.h; path = ReactiveObjC/RACSignal.h; sourceTree = ""; }; + A3AEF7359DCDBA2E91FF253A650D63D0 /* mz_crypt.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_crypt.c; path = SSZipArchive/minizip/mz_crypt.c; sourceTree = ""; }; + A4414BB3B780D6EC2894CC78F381D7FA /* CocoaLumberjack.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CocoaLumberjack.debug.xcconfig; sourceTree = ""; }; + A4AC1FD3ACE294C5C5DC3BEC9572C266 /* FIRInstallationsHTTPError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsHTTPError.h; path = FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.h; sourceTree = ""; }; + A4AEF4FF778BEB823F09E4786D2EE68A /* SUAppcast.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUAppcast.h; path = Sparkle.framework/Versions/B/Headers/SUAppcast.h; sourceTree = ""; }; A4FA15D44DF6BAC7550EDEED10862AA3 /* AFNetworking */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AFNetworking; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A5175697FC35C4BA11F93256E0E4E762 /* RACSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSignal.h; path = ReactiveObjC/RACSignal.h; sourceTree = ""; }; - A5FC1C8A45115D785070EF947DB93E18 /* NSOrderedSet+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSOrderedSet+RACSequenceAdditions.m"; path = "ReactiveObjC/NSOrderedSet+RACSequenceAdditions.m"; sourceTree = ""; }; - A63AD2CDF417EB31899D37704462088E /* FirebaseCoreInternal-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseCoreInternal-prefix.pch"; sourceTree = ""; }; - A6BB125706002F7A7EAB0F2E14F5BFA1 /* RACKVOTrampoline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACKVOTrampoline.h; path = ReactiveObjC/RACKVOTrampoline.h; sourceTree = ""; }; - A71743BB346E386912CE11B7E3CDD0B9 /* FBLPromise+Always.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Always.m"; path = "Sources/FBLPromises/FBLPromise+Always.m"; sourceTree = ""; }; - A858613BF3184F809B6714D3769B8FF3 /* FirebaseCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCore.debug.xcconfig; sourceTree = ""; }; - A86D42B731EA1293D043A49FBDC04F7C /* SUUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUUpdater.h; path = Sparkle.framework/Versions/B/Headers/SUUpdater.h; sourceTree = ""; }; + A5218C8E8F188F3BD68AAAF13EEBB1AD /* RACSubscriptingAssignmentTrampoline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSubscriptingAssignmentTrampoline.h; path = ReactiveObjC/RACSubscriptingAssignmentTrampoline.h; sourceTree = ""; }; + A565DBA2B609B783BF07FAC1B5AC4D01 /* RACReturnSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACReturnSignal.h; path = ReactiveObjC/RACReturnSignal.h; sourceTree = ""; }; + A57E810C57E31937BFFECC46206FAF73 /* FBLPromise+Wrap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Wrap.h"; path = "Sources/FBLPromises/include/FBLPromise+Wrap.h"; sourceTree = ""; }; + A69A33AE9C7461A043CA8F315CB3BCCF /* FirebaseInstallationsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseInstallationsInternal.h; path = FirebaseInstallations/Source/Library/Private/FirebaseInstallationsInternal.h; sourceTree = ""; }; + A83640DD8FBAF1CEABEB312F19E40149 /* RACCompoundDisposable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACCompoundDisposable.m; path = ReactiveObjC/RACCompoundDisposable.m; sourceTree = ""; }; A8855B8F589FC345830C0325F4E7724D /* Pods-Easydict-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Easydict-Info.plist"; sourceTree = ""; }; - A96E3AA047887C76B796492BB46C290D /* ResourceBundle-MASPreferences-MASPreferences-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-MASPreferences-MASPreferences-Info.plist"; sourceTree = ""; }; - AA231B06CAAC20004BDA9A641C6494B6 /* GULSecureCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULSecureCoding.m; path = GoogleUtilities/Environment/GULSecureCoding.m; sourceTree = ""; }; - AAA6776E6EE80F21802E04B8DADC63BB /* mz_os_posix.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_os_posix.c; path = SSZipArchive/minizip/mz_os_posix.c; sourceTree = ""; }; - AB410099EC115ED0F907AFFA8AF8DC64 /* NSSet+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSSet+RACSequenceAdditions.h"; path = "ReactiveObjC/NSSet+RACSequenceAdditions.h"; sourceTree = ""; }; - AB5CB884D075E6DC0FB6E139219D3D9E /* FIRVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRVersion.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIRVersion.h; sourceTree = ""; }; - AB7E46935839163CE8C378F9DA2C06B4 /* FBLPromise+Any.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Any.m"; path = "Sources/FBLPromises/FBLPromise+Any.m"; sourceTree = ""; }; - ABD4B192C7438DB86E5DF5EAE7179F3B /* PromisesObjC-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PromisesObjC-dummy.m"; sourceTree = ""; }; - ACE4C189D987CFEDE9C81D36900C7A07 /* MASShortcutBinder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutBinder.h; path = "Framework/User Defaults Storage/MASShortcutBinder.h"; sourceTree = ""; }; - AD0C00D6A7B100B981223484B38A0D77 /* FirebaseAnalytics.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseAnalytics.debug.xcconfig; sourceTree = ""; }; + A8A265FF29CE15489289BE1050DA6209 /* JLRRouteResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRRouteResponse.m; path = JLRoutes/Classes/JLRRouteResponse.m; sourceTree = ""; }; + A8FC37205DE2229489E297D96F85E41A /* mz_zip_rw.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_zip_rw.c; path = SSZipArchive/minizip/mz_zip_rw.c; sourceTree = ""; }; + A8FD3F53DFF80D2D2BED72FC2487DAB9 /* NSString+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+RACSequenceAdditions.m"; path = "ReactiveObjC/NSString+RACSequenceAdditions.m"; sourceTree = ""; }; + A917F20A967D4A566374BED4D6273E43 /* View+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "View+MASAdditions.m"; path = "Masonry/View+MASAdditions.m"; sourceTree = ""; }; + A97BEC96D92A6F8320B0C1B4A10FB67E /* FBLPromise+Async.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Async.h"; path = "Sources/FBLPromises/include/FBLPromise+Async.h"; sourceTree = ""; }; + A9C24B2CA008C0BB9BAF812772501363 /* CocoaLumberjack.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CocoaLumberjack.h; path = "Sources/CocoaLumberjack/Supporting Files/CocoaLumberjack.h"; sourceTree = ""; }; + A9D6C7E79C4BD1FC056E8DAB4DAC1091 /* RACStream+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACStream+Private.h"; path = "ReactiveObjC/RACStream+Private.h"; sourceTree = ""; }; + A9E909958E0C308188C32BF31E4F7CD0 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; + AADAFE53B685AED532FE572D802192FB /* FBLPromise+Testing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Testing.m"; path = "Sources/FBLPromises/FBLPromise+Testing.m"; sourceTree = ""; }; + ABC0C4DE065A85F00F75E607446D0D1F /* RACChannel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACChannel.h; path = ReactiveObjC/RACChannel.h; sourceTree = ""; }; + ABCCB934892895EB26DDB2C0B9FDC152 /* FirebaseAnalytics.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseAnalytics.release.xcconfig; sourceTree = ""; }; + AC07F0436D9773959DD00FF69C93F2A9 /* RACKVOChannel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACKVOChannel.h; path = ReactiveObjC/RACKVOChannel.h; sourceTree = ""; }; + AC30EFFB6D67A23EF2009FAF742665C8 /* SUVersionComparisonProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUVersionComparisonProtocol.h; path = Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h; sourceTree = ""; }; + AC7ACCB46FA0F946F6813F7ACCEF24B2 /* DDASLLogCapture.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDASLLogCapture.m; path = Sources/CocoaLumberjack/DDASLLogCapture.m; sourceTree = ""; }; + AC9EA811E1FC95CFBA6BAECE8C707DE0 /* Masonry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Masonry.h; path = Masonry/Masonry.h; sourceTree = ""; }; + ACF074090100DAD339372C9E197817A0 /* DDFileLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDFileLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDFileLogger.h; sourceTree = ""; }; + AD0DE75FC612455545A0E04C33E8AE42 /* RACEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEvent.m; path = ReactiveObjC/RACEvent.m; sourceTree = ""; }; AD1B09D61061D25891A8EE8B6F4A8D29 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CoreServices.framework; sourceTree = DEVELOPER_DIR; }; - AD2E8DAC8C65B05F7DB1A061E01EE1D9 /* HeartbeatController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatController.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatController.swift; sourceTree = ""; }; - AD33DDDB67C05BA39F1DE48E3279605C /* View+MASAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "View+MASAdditions.h"; path = "Masonry/View+MASAdditions.h"; sourceTree = ""; }; - AD5F848138B77AEB6F5EB86EABB250E1 /* FIRInstallationsIIDStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsIIDStore.m; path = FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.m; sourceTree = ""; }; - AD864ABF73F4701EBB4B8F808E7A5562 /* JLRoutes-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JLRoutes-umbrella.h"; sourceTree = ""; }; - AD95BA903CA206A6961CFED95EF5CF47 /* GULHeartbeatDateStorable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULHeartbeatDateStorable.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorable.h; sourceTree = ""; }; - ADA44E77878BA9ECA1F81F0ECACB5AE2 /* NSObject+MJProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJProperty.m"; path = "MJExtension/NSObject+MJProperty.m"; sourceTree = ""; }; - ADBC8FF1BF66549F4C24261E6D6B53A2 /* CLIColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CLIColor.m; path = Sources/CocoaLumberjack/CLI/CLIColor.m; sourceTree = ""; }; - AF26C2E98EA6EB190353CBDE3BA1BD17 /* FIRInstallationsLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsLogger.m; path = FirebaseInstallations/Source/Library/FIRInstallationsLogger.m; sourceTree = ""; }; - AF64895D44DD3B107B384CC6983A2ADE /* RACSubscriber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSubscriber.h; path = ReactiveObjC/RACSubscriber.h; sourceTree = ""; }; - AF70B520A909D539AB708DA11C68B056 /* MASDictionaryTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASDictionaryTransformer.h; path = "Framework/User Defaults Storage/MASDictionaryTransformer.h"; sourceTree = ""; }; - B0666358E63C23DBAB82502CA8CB1282 /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+MASDebugAdditions.m"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = ""; }; - B1879D7A52C9450570BB87017043443B /* RACEmptySignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEmptySignal.m; path = ReactiveObjC/RACEmptySignal.m; sourceTree = ""; }; - B2324D3DD347C5BDF823ED4641FB87CB /* FirebaseCoreInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseCoreInternal.h; path = FirebaseCore/Extension/FirebaseCoreInternal.h; sourceTree = ""; }; + AE60E983EFE3DC595C64CF2CFE3C70D1 /* NSString+MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+MJExtension.h"; path = "MJExtension/NSString+MJExtension.h"; sourceTree = ""; }; + AE9AF75579936752E2B9F72417AE5C7B /* NSOrderedSet+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSOrderedSet+RACSequenceAdditions.h"; path = "ReactiveObjC/NSOrderedSet+RACSequenceAdditions.h"; sourceTree = ""; }; + AF195D0BFDCA9B89610DF1A127A03BA6 /* mz_strm.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm.h; path = SSZipArchive/minizip/mz_strm.h; sourceTree = ""; }; + AF3D00BE84C9EFD7C4952CF033937DCF /* SPUUpdateCheck.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdateCheck.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h; sourceTree = ""; }; + AFA15FFC36D1BEFA94DEE3853812DE01 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; + AFCA7AA3E6FAF5E819AA157BA7124605 /* FIRInstallationsErrorUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsErrorUtil.h; path = FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.h; sourceTree = ""; }; + B02F3DF7C24B086BAFA97A512CA926A1 /* FIRInstallationsIDController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsIDController.m; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsIDController.m; sourceTree = ""; }; + B141C215E74D770A8724E99849592975 /* FIRFirebaseUserAgent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRFirebaseUserAgent.h; path = FirebaseCore/Sources/FIRFirebaseUserAgent.h; sourceTree = ""; }; + B151E2383E5B032C52AF205B86D599EF /* RACEXTRuntimeExtensions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEXTRuntimeExtensions.m; path = ReactiveObjC/extobjc/RACEXTRuntimeExtensions.m; sourceTree = ""; }; + B17E9A5FD4E475ADC09FF0860A074218 /* RACMulticastConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACMulticastConnection.m; path = ReactiveObjC/RACMulticastConnection.m; sourceTree = ""; }; + B1D394F2CAAA6FFD919EF2D35945E546 /* DDLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = Sources/CocoaLumberjack/DDLog.m; sourceTree = ""; }; + B229791FF80A5FEAA340132BFCB88DD3 /* PromisesObjC.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromisesObjC.modulemap; sourceTree = ""; }; + B27D48BF0F0DDC61E642B3BC6545994A /* RACEmptySequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEmptySequence.m; path = ReactiveObjC/RACEmptySequence.m; sourceTree = ""; }; B2CC38EAB95AC4B0E4103F60A7133C2A /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Carbon.framework; sourceTree = DEVELOPER_DIR; }; - B342DEA9A0A118655BC2CA3112D8F102 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; - B3B4B65C9E9EC6926CF0C213931B840B /* FirebaseAnalytics-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "FirebaseAnalytics-xcframeworks.sh"; sourceTree = ""; }; - B42863C20BE12DC2A1165A36088ABE6C /* IsAppEncrypted.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = IsAppEncrypted.m; path = third_party/IsAppEncrypted/IsAppEncrypted.m; sourceTree = ""; }; + B2E61A58D3192D0D5C3DF670CFDCC32E /* DDTTYLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDTTYLogger.m; path = Sources/CocoaLumberjack/DDTTYLogger.m; sourceTree = ""; }; + B306B6D5C04FEBF70BD09CB97013FAE6 /* FIRInstallationsStatus.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsStatus.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsStatus.h; sourceTree = ""; }; + B31949005F7BB55713000DC9BCDC48B6 /* GoogleAppMeasurement.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleAppMeasurement.release.xcconfig; sourceTree = ""; }; + B342395E9B0AD13506E78381565229F0 /* ResourceBundle-MASShortcut-MASShortcut-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-MASShortcut-MASShortcut-Info.plist"; sourceTree = ""; }; + B3C157AB762D7B89C88A2896222F5683 /* FIROptionsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptionsInternal.h; path = FirebaseCore/Extension/FIROptionsInternal.h; sourceTree = ""; }; + B3C515D092070D44465A22189264191F /* FBLPromise+Validate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Validate.h"; path = "Sources/FBLPromises/include/FBLPromise+Validate.h"; sourceTree = ""; }; + B3F4861B7A3C01047BCB7EFC762190B3 /* Masonry-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Masonry-Info.plist"; sourceTree = ""; }; + B4152A8AEA876763E52E1B6514151A49 /* RACScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACScheduler.m; path = ReactiveObjC/RACScheduler.m; sourceTree = ""; }; + B4197DD19E49234E24B1720AEA3EF4B3 /* MJFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJFoundation.h; path = MJExtension/MJFoundation.h; sourceTree = ""; }; B43874C6CBB50E7134FBEC24BABFE14F /* GoogleUtilities */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = GoogleUtilities; path = GoogleUtilities.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B43CF529E1F7D0CBC78C616AE177AFDE /* RACMulticastConnection+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACMulticastConnection+Private.h"; path = "ReactiveObjC/RACMulticastConnection+Private.h"; sourceTree = ""; }; - B460678EAA288593BEC095234D548D76 /* GULAppDelegateSwizzler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULAppDelegateSwizzler.m; path = GoogleUtilities/AppDelegateSwizzler/GULAppDelegateSwizzler.m; sourceTree = ""; }; - B465B5BFB627F619E7D7616802C81DD4 /* FIROptionsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptionsInternal.h; path = FirebaseCore/Extension/FIROptionsInternal.h; sourceTree = ""; }; - B50ACA0B4F64DC04506BD1F71FB164C4 /* RACTargetQueueScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACTargetQueueScheduler.m; path = ReactiveObjC/RACTargetQueueScheduler.m; sourceTree = ""; }; - B5179C62A8E3B5EB181B77B9B31A0A00 /* NSObject+RACSelectorSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACSelectorSignal.m"; path = "ReactiveObjC/NSObject+RACSelectorSignal.m"; sourceTree = ""; }; - B58520A59F7A794C5B285E93BCFF13B5 /* GoogleAppMeasurement.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleAppMeasurement.release.xcconfig; sourceTree = ""; }; - B594D4A078C1C80D06C3918ACE33DE42 /* SUStandardVersionComparator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUStandardVersionComparator.h; path = Sparkle.framework/Versions/B/Headers/SUStandardVersionComparator.h; sourceTree = ""; }; - B72EE42DAE4F8BF4E6D8C2386D1F8D0D /* View+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "View+MASAdditions.m"; path = "Masonry/View+MASAdditions.m"; sourceTree = ""; }; - B7416A7423498A1D3351FC2D6B86A6E1 /* DDASLLogCapture.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDASLLogCapture.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDASLLogCapture.h; sourceTree = ""; }; - B7418C60AA5BC3E7B472777586E8752D /* GULAppDelegateSwizzler_Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULAppDelegateSwizzler_Private.h; path = GoogleUtilities/AppDelegateSwizzler/Internal/GULAppDelegateSwizzler_Private.h; sourceTree = ""; }; - B77B3FD89EDDEC87925CD616602BEF99 /* FBLPromise+Wrap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Wrap.h"; path = "Sources/FBLPromises/include/FBLPromise+Wrap.h"; sourceTree = ""; }; + B458981F43DAC1B065927DC3C459C76D /* FIRInstallationsStoredItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsStoredItem.h; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.h; sourceTree = ""; }; + B58420553C2C05721595A07121C1DF5D /* MASPreferencesViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASPreferencesViewController.h; path = Framework/MASPreferencesViewController.h; sourceTree = ""; }; + B59F0A841F5A7B8E3B69C62CFBBBA435 /* ReactiveObjC-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ReactiveObjC-Info.plist"; sourceTree = ""; }; + B5E1C5DE35F51CEC1FC2FF4EB9ED5961 /* FIRInstallationsStoredAuthToken.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsStoredAuthToken.h; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredAuthToken.h; sourceTree = ""; }; + B5F2B7B47D94597A73DB30305FC040CB /* GoogleAppMeasurement-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "GoogleAppMeasurement-xcframeworks.sh"; sourceTree = ""; }; + B6228DFFD472D8AECA615124450DB5AC /* FirebaseCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseCore-umbrella.h"; sourceTree = ""; }; + B627682E7A53A66BCED57C263EEBC3F1 /* GULHeartbeatDateStorable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULHeartbeatDateStorable.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorable.h; sourceTree = ""; }; + B67767EEA86F8D498BF073CE7A453BA7 /* NSObject+RACPropertySubscribing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACPropertySubscribing.h"; path = "ReactiveObjC/NSObject+RACPropertySubscribing.h"; sourceTree = ""; }; + B6C449EB89004DBD7A50DBF2B9145EEA /* NSArray+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+MASAdditions.m"; path = "Masonry/NSArray+MASAdditions.m"; sourceTree = ""; }; + B780E0A68621576718D820F08584BD02 /* cs.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = cs.lproj; path = Resources/cs.lproj; sourceTree = ""; }; + B81DEBD594BE65BC2686D2DF3F682D19 /* FBLPromiseError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBLPromiseError.h; path = Sources/FBLPromises/include/FBLPromiseError.h; sourceTree = ""; }; B845C2ACCFEF00A5B6C2314BC9ACE0DD /* Pods-Easydict-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Easydict-umbrella.h"; sourceTree = ""; }; - B8593C0E5353E97D4EFC8285825BBFE7 /* FIRInstallations.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallations.h; path = FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallations.h; sourceTree = ""; }; - B897AB3A453C960EB972432782577638 /* PromisesObjC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromisesObjC.debug.xcconfig; sourceTree = ""; }; - B8A183217E34554C17BC9FB6DF63DF5C /* FIRApp.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRApp.m; path = FirebaseCore/Sources/FIRApp.m; sourceTree = ""; }; - B8A70DB219F22B8231BBC7CD25F1F2F9 /* FIRInstallationsItem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsItem.h; path = FirebaseInstallations/Source/Library/FIRInstallationsItem.h; sourceTree = ""; }; - B8AB430D95483BCBDAE93772AB0F7EC7 /* FIRAppInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAppInternal.h; path = FirebaseCore/Extension/FIRAppInternal.h; sourceTree = ""; }; - B8B4C317DA2F0E5D540CA191FB200DA6 /* DDLoggerNames.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDLoggerNames.m; path = Sources/CocoaLumberjack/DDLoggerNames.m; sourceTree = ""; }; - B8BE9AD92BC71875126CB5A42DD3289A /* JLRRouteResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRRouteResponse.m; path = JLRoutes/Classes/JLRRouteResponse.m; sourceTree = ""; }; - B8DA71807A6AF2C229ADC226F3AA807C /* FBLPromise+Recover.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Recover.m"; path = "Sources/FBLPromises/FBLPromise+Recover.m"; sourceTree = ""; }; - B9588A80D3E7AA0935856F0F1D4BA493 /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDDispatchQueueLogFormatter.m; path = Sources/CocoaLumberjack/Extensions/DDDispatchQueueLogFormatter.m; sourceTree = ""; }; - BA1954E7D1685D586909CAC0BF720551 /* DDLog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLog.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDLog.h; sourceTree = ""; }; - BA307D46D62245705525BBAE9A755E94 /* FBLPromises.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBLPromises.h; path = Sources/FBLPromises/include/FBLPromises.h; sourceTree = ""; }; - BA934CC95A3611B714CB868FC2E018E2 /* FirebaseCore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseCore-umbrella.h"; sourceTree = ""; }; - BADE54E823064055147C6EBA4BC98476 /* FIROptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIROptions.m; path = FirebaseCore/Sources/FIROptions.m; sourceTree = ""; }; - BAE1E5FCD86F90B0D043456EEF9E68F1 /* ReactiveObjC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReactiveObjC.release.xcconfig; sourceTree = ""; }; - BAE65CE5CC19994824C8ECB150312BA0 /* SUUpdaterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUUpdaterDelegate.h; path = Sparkle.framework/Versions/B/Headers/SUUpdaterDelegate.h; sourceTree = ""; }; - BB4C452B9EAF0F179D7B7A32911C4FFC /* CocoaLumberjack.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CocoaLumberjack.modulemap; sourceTree = ""; }; - BB9C6F4616C9C3DE051CF5009AB3AEF3 /* sv.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = sv.lproj; path = Resources/sv.lproj; sourceTree = ""; }; - BBCC3911D7A93E00A42ED2E5130FDAA4 /* MJFoundation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJFoundation.h; path = MJExtension/MJFoundation.h; sourceTree = ""; }; - BC3DDE72B95B2FBB432A33151C936EBA /* Storage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Storage.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/Storage.swift; sourceTree = ""; }; - BDBE48FB1E6C4627869067768F4A8892 /* RACImmediateScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACImmediateScheduler.h; path = ReactiveObjC/RACImmediateScheduler.h; sourceTree = ""; }; - BE494D852DBA8FDCAEE9C42FF85D81F9 /* RACEagerSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACEagerSequence.m; path = ReactiveObjC/RACEagerSequence.m; sourceTree = ""; }; - BFB1A14E736DD9A75C9E44C007992D5B /* GULHeartbeatDateStorage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULHeartbeatDateStorage.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULHeartbeatDateStorage.h; sourceTree = ""; }; - BFC4952D74220881B978087115627152 /* MJExtension-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MJExtension-prefix.pch"; sourceTree = ""; }; - BFD31C5A7769458587B59C8978BD2BF2 /* nanopb.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = nanopb.modulemap; sourceTree = ""; }; - C03D847B855A399F3A458B9F261603EE /* DDFileLogger+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDFileLogger+Internal.h"; path = "Sources/CocoaLumberjack/DDFileLogger+Internal.h"; sourceTree = ""; }; - C04C65F6271CD58F799ACF36FA394049 /* FBLPromiseError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBLPromiseError.m; path = Sources/FBLPromises/FBLPromiseError.m; sourceTree = ""; }; - C06F1DC26B80928EEB1311A382CE2BDC /* GULSwizzler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULSwizzler.m; path = GoogleUtilities/MethodSwizzler/GULSwizzler.m; sourceTree = ""; }; - C1FA6D3608326AA91049B37E82C61EB4 /* FIRComponentContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponentContainer.h; path = FirebaseCore/Extension/FIRComponentContainer.h; sourceTree = ""; }; - C23DC9C94F4FDE6C3943D4E4DC6B4657 /* MASCompositeConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASCompositeConstraint.h; path = Masonry/MASCompositeConstraint.h; sourceTree = ""; }; - C25C28B8300F81DC498B7E0C4B3412B1 /* CLIColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLIColor.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/CLIColor.h; sourceTree = ""; }; + B895D9F9C9285B20C3912A9469B29FC0 /* mz_compat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_compat.h; path = SSZipArchive/minizip/mz_compat.h; sourceTree = ""; }; + B8A592F1AB84E52282FDC935B383C6A2 /* FIRInstallationsAuthTokenResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsAuthTokenResult.m; path = FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResult.m; sourceTree = ""; }; + B8FCBC5F53DB63E76A2599F99723E50B /* RACSubscriptingAssignmentTrampoline.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSubscriptingAssignmentTrampoline.m; path = ReactiveObjC/RACSubscriptingAssignmentTrampoline.m; sourceTree = ""; }; + B908ABEC9AC3390E0CC7C073E36721E3 /* MJFoundation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJFoundation.m; path = MJExtension/MJFoundation.m; sourceTree = ""; }; + B969010B6688844D2ECA0D0CE1A1CC10 /* Masonry.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Masonry.debug.xcconfig; sourceTree = ""; }; + BA611C306E6197F720EC7960B0F78DBD /* ZipArchive.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZipArchive.h; path = SSZipArchive/ZipArchive.h; sourceTree = ""; }; + BB2FD6D5217B6B2FE76160EAF18BBB66 /* mz_crypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_crypt.h; path = SSZipArchive/minizip/mz_crypt.h; sourceTree = ""; }; + BB3016688D89FBAD7FA129492A3C39B5 /* SPUUserUpdateState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUserUpdateState.h; path = Sparkle.framework/Versions/B/Headers/SPUUserUpdateState.h; sourceTree = ""; }; + BB4DDD9194BC17B371DA38E9826F48A3 /* GULOriginalIMPConvenienceMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULOriginalIMPConvenienceMacros.h; path = GoogleUtilities/MethodSwizzler/Public/GoogleUtilities/GULOriginalIMPConvenienceMacros.h; sourceTree = ""; }; + BC5DC2E1D21621BF948EAACFDDA1FD57 /* NSObject+MJKeyValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJKeyValue.m"; path = "MJExtension/NSObject+MJKeyValue.m"; sourceTree = ""; }; + BCD53D209929BA5128CBFE7703733130 /* Sparkle.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Sparkle.release.xcconfig; sourceTree = ""; }; + BD6725DD23772D8E10E61AFCFD9780F3 /* SPUUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdater.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdater.h; sourceTree = ""; }; + BE3D730583DF23D745F5CB7FB45A54C3 /* NSLayoutConstraint+MASDebugAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+MASDebugAdditions.m"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.m"; sourceTree = ""; }; + BE9CCF5193A03D9E080CFCE14512A8B9 /* RACSignalSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSignalSequence.m; path = ReactiveObjC/RACSignalSequence.m; sourceTree = ""; }; + BEFCC9FAA335AFCF00612B46FC891DAF /* RACArraySequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACArraySequence.h; path = ReactiveObjC/RACArraySequence.h; sourceTree = ""; }; + BFDCE7686FAC3D4554B710BAADBF3C57 /* FIRLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLogger.h; path = FirebaseCore/Extension/FIRLogger.h; sourceTree = ""; }; + C060501DDE4B699010EFF3D61B1D3DD6 /* MASShortcut-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MASShortcut-dummy.m"; sourceTree = ""; }; + C08012BDBC112D17F57D2523EF132251 /* RACUnarySequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACUnarySequence.m; path = ReactiveObjC/RACUnarySequence.m; sourceTree = ""; }; + C086C63C1E3DF73232D29A8877F65205 /* FirebaseCoreInternal.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FirebaseCoreInternal.modulemap; sourceTree = ""; }; + C08B67CD618CE207EA95841264F6265F /* MJProperty.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJProperty.m; path = MJExtension/MJProperty.m; sourceTree = ""; }; + C09EF0B7E8F1C182E8F70877A4B34A55 /* NSArray+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+RACSequenceAdditions.h"; path = "ReactiveObjC/NSArray+RACSequenceAdditions.h"; sourceTree = ""; }; + C1C683BC460672E84D619553DC2AD42F /* FIRInstallationsAPIService.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsAPIService.m; path = FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.m; sourceTree = ""; }; + C1F28E300B0C1643214B9138D8BDD47D /* FIRInstallationsItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsItem.m; path = FirebaseInstallations/Source/Library/FIRInstallationsItem.m; sourceTree = ""; }; C261436D14052AE3C35F240BCD155CAC /* CocoaLumberjack */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CocoaLumberjack; path = CocoaLumberjack.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C2CD15B6870AFBD8017C99764DCDEE19 /* GULSceneDelegateSwizzler_Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULSceneDelegateSwizzler_Private.h; path = GoogleUtilities/AppDelegateSwizzler/Internal/GULSceneDelegateSwizzler_Private.h; sourceTree = ""; }; - C2E17595BEBBE53BBADDB7C09551CD8A /* RACGroupedSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACGroupedSignal.m; path = ReactiveObjC/RACGroupedSignal.m; sourceTree = ""; }; - C3CDC2E4254BD0CFCB7A52675D55ACF4 /* NSString+RACKeyPathUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+RACKeyPathUtilities.h"; path = "ReactiveObjC/NSString+RACKeyPathUtilities.h"; sourceTree = ""; }; - C51D6C4F577F42DC529DE2C3147D762A /* FIRComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponent.m; path = FirebaseCore/Sources/FIRComponent.m; sourceTree = ""; }; - C55993BE83DCF8845E3FEAAC667D05FE /* MASPreferencesWindowController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASPreferencesWindowController.m; path = Framework/MASPreferencesWindowController.m; sourceTree = ""; }; - C680549AF04DF88A36E58511EE04E306 /* ReactiveObjC-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ReactiveObjC-dummy.m"; sourceTree = ""; }; - C6B37FD57BA834215D9A7E7B6DFC1924 /* FBLPromise+Testing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Testing.m"; path = "Sources/FBLPromises/FBLPromise+Testing.m"; sourceTree = ""; }; - C70C3070C8D127470BB6821D2F804A34 /* FirebaseCoreInternal-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FirebaseCoreInternal-umbrella.h"; sourceTree = ""; }; - C7C200F99FE9BFF382C5CC5BBBFE4A11 /* cs.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = cs.lproj; path = Resources/cs.lproj; sourceTree = ""; }; - C814DC6B706488C031C32396F29245B8 /* NSControl+RACCommandSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSControl+RACCommandSupport.h"; path = "ReactiveObjC/NSControl+RACCommandSupport.h"; sourceTree = ""; }; - C9740105D243009C3AA85A9C5DFD2EE8 /* RACEXTScope.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEXTScope.h; path = ReactiveObjC/extobjc/RACEXTScope.h; sourceTree = ""; }; - C996B558D6B8BA0D5C364E261B6DF222 /* RACDynamicSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACDynamicSignal.h; path = ReactiveObjC/RACDynamicSignal.h; sourceTree = ""; }; - C9D741A769FA94D00FDD6418D4244744 /* RACScheduler+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACScheduler+Private.h"; path = "ReactiveObjC/RACScheduler+Private.h"; sourceTree = ""; }; - CA39D9A204BB00884E42CEC76055652A /* MJExtension.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MJExtension.modulemap; sourceTree = ""; }; + C32F4AED06731D2F5CD4C03E554098BB /* ru.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = ru.lproj; path = Resources/ru.lproj; sourceTree = ""; }; + C3754248866FE9BB56E970404DACBC24 /* FBLPromise+Timeout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Timeout.h"; path = "Sources/FBLPromises/include/FBLPromise+Timeout.h"; sourceTree = ""; }; + C3A2E67C6405F2B619C4AC5C00077B7B /* RACmetamacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACmetamacros.h; path = ReactiveObjC/extobjc/RACmetamacros.h; sourceTree = ""; }; + C522E98E447A8A58A0837A1524570627 /* FBLPromise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBLPromise.m; path = Sources/FBLPromises/FBLPromise.m; sourceTree = ""; }; + C52D7DA0ED60A919990DE1B02D332096 /* RACDynamicSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACDynamicSignal.h; path = ReactiveObjC/RACDynamicSignal.h; sourceTree = ""; }; + C594937FC2962C39FCABFDE1D2BD20CF /* RACEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEvent.h; path = ReactiveObjC/RACEvent.h; sourceTree = ""; }; + C5A5CF15ED5E51F9575BF4AE58B134D7 /* JLRoutes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRoutes.h; path = JLRoutes/JLRoutes.h; sourceTree = ""; }; + C5F892CA5A799718D581EFC7AEC96577 /* NSString+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+RACSequenceAdditions.h"; path = "ReactiveObjC/NSString+RACSequenceAdditions.h"; sourceTree = ""; }; + C63C08F1D42A2722B51847C3735E9D50 /* FBLPromise+All.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+All.m"; path = "Sources/FBLPromises/FBLPromise+All.m"; sourceTree = ""; }; + C654C41DCE7E7A0626A1A5ED9E7EA45A /* RACValueTransformer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACValueTransformer.h; path = ReactiveObjC/RACValueTransformer.h; sourceTree = ""; }; + C6C479FA18F3BD2247184134065799F6 /* SPUUpdatePermissionRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdatePermissionRequest.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdatePermissionRequest.h; sourceTree = ""; }; + C6E82FCECACAEAF5BDF7811479E9679F /* RACTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACTuple.m; path = ReactiveObjC/RACTuple.m; sourceTree = ""; }; + C75B39926F38C66443C2FA3F77C5904B /* AppCenter.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AppCenter.release.xcconfig; sourceTree = ""; }; + C7672053F16C7833506522B062C9E0F7 /* CocoaLumberjack.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CocoaLumberjack.modulemap; sourceTree = ""; }; + C7BBC60EF61D90FBF76D253BCDD74503 /* FBLPromise+Retry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Retry.m"; path = "Sources/FBLPromises/FBLPromise+Retry.m"; sourceTree = ""; }; + C7C684DDF5BDBEAD4F89E1E350B97E1A /* FirebaseInstallations.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseInstallations.debug.xcconfig; sourceTree = ""; }; + C89CD4E24276D7608D4BE81DED6E2514 /* MASPreferences.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASPreferences.debug.xcconfig; sourceTree = ""; }; + C8EEAC52E9C20F9906EACFDBC71412DB /* IsAppEncrypted.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = IsAppEncrypted.h; path = third_party/IsAppEncrypted/Public/IsAppEncrypted.h; sourceTree = ""; }; + C90BE4ABECDFAD0700652C66DC476869 /* HeartbeatsBundle.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatsBundle.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatsBundle.swift; sourceTree = ""; }; + C9792DF54E48D169E467DCA88FFE27D0 /* FBLPromise+Delay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Delay.h"; path = "Sources/FBLPromises/include/FBLPromise+Delay.h"; sourceTree = ""; }; + C98FC3AB154FE05458C94DA9BE25701A /* NSText+RACSignalSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSText+RACSignalSupport.h"; path = "ReactiveObjC/NSText+RACSignalSupport.h"; sourceTree = ""; }; + CA1F5099C6A1F5D152D13378E822FA64 /* FBLPromise+Reduce.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Reduce.m"; path = "Sources/FBLPromises/FBLPromise+Reduce.m"; sourceTree = ""; }; + CA1F9BA1FF9B7CEC32F1DCA0703620E2 /* MASPreferences.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MASPreferences.modulemap; sourceTree = ""; }; + CA61BC9C3341FC1475881BCED935B4DA /* mz_strm_os_posix.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_os_posix.c; path = SSZipArchive/minizip/mz_strm_os_posix.c; sourceTree = ""; }; CA7E6DB6AFE7635C9077622C743F91CC /* Pods-EasydictTests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-EasydictTests"; path = Pods_EasydictTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CAD97DF3898EA8AEA3B5EF4E5C9B0575 /* NSLayoutConstraint+MASDebugAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+MASDebugAdditions.h"; path = "Masonry/NSLayoutConstraint+MASDebugAdditions.h"; sourceTree = ""; }; - CB35353A584F59F3EE6579F6B31A110D /* MASLocalization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASLocalization.m; path = Framework/UI/MASLocalization.m; sourceTree = ""; }; - CB5E64FBE87BA2C4FE877389496B4F36 /* it.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = it.lproj; path = Resources/it.lproj; sourceTree = ""; }; - CB7927834E3BF41B37968ED4F1C3A9CB /* MASDictionaryTransformer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASDictionaryTransformer.m; path = "Framework/User Defaults Storage/MASDictionaryTransformer.m"; sourceTree = ""; }; - CBC372A9ABB5DC994DF4A5C939EA6EE5 /* MJPropertyType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJPropertyType.m; path = MJExtension/MJPropertyType.m; sourceTree = ""; }; - CC0E7968348F8FB8C315889F911B9196 /* NSObject+MJCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJCoding.m"; path = "MJExtension/NSObject+MJCoding.m"; sourceTree = ""; }; - CC913FE9D55A274C7D210679DE153E65 /* RACKVOChannel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACKVOChannel.m; path = ReactiveObjC/RACKVOChannel.m; sourceTree = ""; }; - CCA6F39F718E158731C34F83DFC90BB9 /* FirebaseInstallations-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FirebaseInstallations-Info.plist"; sourceTree = ""; }; - CCCC4045A7AB641422C884226CD0DDF0 /* FIRFirebaseUserAgent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRFirebaseUserAgent.h; path = FirebaseCore/Sources/FIRFirebaseUserAgent.h; sourceTree = ""; }; - CD16A5CD83D2534629AD1C7D8D20DEA0 /* ViewController+MASAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ViewController+MASAdditions.m"; path = "Masonry/ViewController+MASAdditions.m"; sourceTree = ""; }; - CD33BF9E5DD9F25BEE8DCD39837A5F93 /* FBLPromise+Async.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Async.m"; path = "Sources/FBLPromises/FBLPromise+Async.m"; sourceTree = ""; }; - CD3BEED450D50B90E7F743D9C57F2894 /* MASShortcutMonitor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutMonitor.m; path = Framework/Monitoring/MASShortcutMonitor.m; sourceTree = ""; }; - CD76AA87198950C8D29AB7A08EE12B02 /* RACCompoundDisposable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACCompoundDisposable.h; path = ReactiveObjC/RACCompoundDisposable.h; sourceTree = ""; }; - CE08A00C2DB03FA88AF72552A4F0EF99 /* FBKVOController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBKVOController.h; path = FBKVOController/FBKVOController.h; sourceTree = ""; }; - CE9345C0E7A81298D832EBE9D2789C78 /* MJExtension-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MJExtension-dummy.m"; sourceTree = ""; }; - CED12F7ECEE3F877105C20A443BBC9B8 /* RACEagerSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEagerSequence.h; path = ReactiveObjC/RACEagerSequence.h; sourceTree = ""; }; - CF469E5DCB9C308BAA21537051D6D3FE /* FirebaseCore-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FirebaseCore-Info.plist"; sourceTree = ""; }; - CFB5012346A2A2E2C2E09A8B1A34EBB6 /* FIRInstallationsStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsStore.m; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStore.m; sourceTree = ""; }; - D034039889B8389F714239605BE85392 /* MASShortcut.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MASShortcut.modulemap; sourceTree = ""; }; - D0373B72F4990CF87C6BF427B06C321C /* DDLogMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLogMacros.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDLogMacros.h; sourceTree = ""; }; - D08501C5C80F626DF32612687C6C0E0B /* DDFileLogger+Buffering.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDFileLogger+Buffering.h"; path = "Sources/CocoaLumberjack/include/CocoaLumberjack/DDFileLogger+Buffering.h"; sourceTree = ""; }; - D0E61DC60A4547F1A6070E311996746B /* NSObject+RACKVOWrapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACKVOWrapper.m"; path = "ReactiveObjC/NSObject+RACKVOWrapper.m"; sourceTree = ""; }; - D1807A1A24F50C7BC99C99FA6F17556E /* GULLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLogger.h; path = GoogleUtilities/Logger/Public/GoogleUtilities/GULLogger.h; sourceTree = ""; }; - D1DDFF1BA98CC0D71AD8F66BC69DC906 /* NSText+RACSignalSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSText+RACSignalSupport.h"; path = "ReactiveObjC/NSText+RACSignalSupport.h"; sourceTree = ""; }; - D21972F5ADF932EC8BCE3D32615BB0E4 /* NSArray+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+RACSequenceAdditions.m"; path = "ReactiveObjC/NSArray+RACSequenceAdditions.m"; sourceTree = ""; }; - D28E993E67C12389BF3A2DF4EA4BEDA6 /* MASShortcut.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASShortcut.release.xcconfig; sourceTree = ""; }; - D2A4F86803E230DBD115EC869690636B /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; - D2B608BEE9548AB53E7A8BEE06E16C85 /* FIRComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponent.h; path = FirebaseCore/Extension/FIRComponent.h; sourceTree = ""; }; - D2E3846E51DF89E5654DC0EE4B1056AC /* FBLPromise+All.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+All.h"; path = "Sources/FBLPromises/include/FBLPromise+All.h"; sourceTree = ""; }; - D2F7362DB621B4D8EB8F5154F86AD9B1 /* MASShortcutView+Bindings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASShortcutView+Bindings.h"; path = "Framework/UI/MASShortcutView+Bindings.h"; sourceTree = ""; }; - D30C9E095E9C7871CDA36FEBB976099E /* MASPreferencesViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASPreferencesViewController.h; path = Framework/MASPreferencesViewController.h; sourceTree = ""; }; - D31729ACE2EFE9C043C4E8758B094BFF /* NSObject+RACDeallocating.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACDeallocating.m"; path = "ReactiveObjC/NSObject+RACDeallocating.m"; sourceTree = ""; }; - D391692425DA6EBA50546E83E9C45AF0 /* FirebaseInstallationsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FirebaseInstallationsInternal.h; path = FirebaseInstallations/Source/Library/Private/FirebaseInstallationsInternal.h; sourceTree = ""; }; - D3C71195FB26F7162A922AC184B5F53C /* NSObject+RACKVOWrapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACKVOWrapper.h"; path = "ReactiveObjC/NSObject+RACKVOWrapper.h"; sourceTree = ""; }; + CC002DB602B9751C7A6A99701FF6D888 /* MASShortcutView+Bindings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MASShortcutView+Bindings.m"; path = "Framework/UI/MASShortcutView+Bindings.m"; sourceTree = ""; }; + CC5F1662C17473D3DAA25C58FF74F959 /* RACTestScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACTestScheduler.m; path = ReactiveObjC/RACTestScheduler.m; sourceTree = ""; }; + CE190B5C58B99B1D9670F7E44FA773F6 /* MASLayoutConstraint.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLayoutConstraint.h; path = Masonry/MASLayoutConstraint.h; sourceTree = ""; }; + CE9567F3F1761BB1A9AF92D3A2F244B8 /* NSDictionary+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDictionary+RACSequenceAdditions.h"; path = "ReactiveObjC/NSDictionary+RACSequenceAdditions.h"; sourceTree = ""; }; + CEEA6F353111C904701EF69770FD5F89 /* DDDispatchQueueLogFormatter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDDispatchQueueLogFormatter.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDDispatchQueueLogFormatter.h; sourceTree = ""; }; + CF04CE3AB789118673A0FD489501C521 /* RACBlockTrampoline.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACBlockTrampoline.m; path = ReactiveObjC/RACBlockTrampoline.m; sourceTree = ""; }; + CF27EC3D1CC53098269E0FD8FED1952A /* FIRLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRLogger.h; path = FirebaseCore/Extension/FIRLogger.h; sourceTree = ""; }; + CF68D8F610F80781FD93D14CB3F6128F /* NSInvocation+RACTypeParsing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSInvocation+RACTypeParsing.h"; path = "ReactiveObjC/NSInvocation+RACTypeParsing.h"; sourceTree = ""; }; + CFD1A2D8B6B997E2F64671D632D2A495 /* RACImmediateScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACImmediateScheduler.h; path = ReactiveObjC/RACImmediateScheduler.h; sourceTree = ""; }; + D0E7BA84FD0C4920F52D36732948A9AE /* RACPassthroughSubscriber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACPassthroughSubscriber.h; path = ReactiveObjC/RACPassthroughSubscriber.h; sourceTree = ""; }; + D1135818C1EB691A323D7D1F94327202 /* NSControl+RACCommandSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSControl+RACCommandSupport.h"; path = "ReactiveObjC/NSControl+RACCommandSupport.h"; sourceTree = ""; }; + D13521A18FFDAF36F0F473BD14CAB7C0 /* HeartbeatLoggingTestUtils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatLoggingTestUtils.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatLoggingTestUtils.swift; sourceTree = ""; }; + D1CAC98679B2EC99420EAAD6CC42FD4E /* fr.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = fr.lproj; path = Resources/fr.lproj; sourceTree = ""; }; + D1FDF2EA14DF73EEB918629E35A4D3B8 /* RACSubscriber+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACSubscriber+Private.h"; path = "ReactiveObjC/RACSubscriber+Private.h"; sourceTree = ""; }; + D266AB2087DAC41494C1A83FE2DE43D3 /* NSEnumerator+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSEnumerator+RACSequenceAdditions.h"; path = "ReactiveObjC/NSEnumerator+RACSequenceAdditions.h"; sourceTree = ""; }; + D273076AF2D74F264FE22B1BC85B9AF4 /* RACSubscriptionScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSubscriptionScheduler.m; path = ReactiveObjC/RACSubscriptionScheduler.m; sourceTree = ""; }; + D371BDEB43CB71CA3BA33B41CB8BC7EB /* FIRComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRComponent.h; path = FirebaseCore/Extension/FIRComponent.h; sourceTree = ""; }; + D3B74A2C8B17871AE7DD7D04D0BBFE25 /* SUExport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUExport.h; path = Sparkle.framework/Versions/B/Headers/SUExport.h; sourceTree = ""; }; + D3B924720F2525B0B35E6EE4822B5D26 /* RACEXTScope.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEXTScope.h; path = ReactiveObjC/extobjc/RACEXTScope.h; sourceTree = ""; }; + D3BE68E978B56FB60D42E1FA0BA2F742 /* RACSubject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSubject.m; path = ReactiveObjC/RACSubject.m; sourceTree = ""; }; + D3EBF3F44A019AF03D13562999CDF8A9 /* HeartbeatController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatController.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatController.swift; sourceTree = ""; }; + D40D4D1BD694EDAD8BAA79A407423D7A /* CocoaLumberjack-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CocoaLumberjack-dummy.m"; sourceTree = ""; }; D4577EDD80EE21A830A0D562EA93FACB /* Pods-Easydict-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Easydict-acknowledgements.markdown"; sourceTree = ""; }; - D4B9A42724F06493123566C60517F161 /* KVOController-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KVOController-prefix.pch"; sourceTree = ""; }; - D4D1F66E4FED808BD00223514C9303C0 /* MJPropertyKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MJPropertyKey.m; path = MJExtension/MJPropertyKey.m; sourceTree = ""; }; - D6124E6EEFDC708D0ABEC43697AA4F44 /* RACSignal+Operations.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACSignal+Operations.h"; path = "ReactiveObjC/RACSignal+Operations.h"; sourceTree = ""; }; - D616E1CF24F051EF0220D582FC194AE6 /* FirebaseCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FirebaseCore.release.xcconfig; sourceTree = ""; }; - D656660201A0545C0FAEF2B9ACE3D727 /* SPUUserDriver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUserDriver.h; path = Sparkle.framework/Versions/B/Headers/SPUUserDriver.h; sourceTree = ""; }; - D68E67D419F6FBD2B27B83316F7F2DB2 /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; - D73E43D2C411958804F103D5F44EAD71 /* mz_strm_buf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_buf.h; path = SSZipArchive/minizip/mz_strm_buf.h; sourceTree = ""; }; - D7AF4737DB0F8CAC93AFB005102C0BBA /* RACEXTKeyPathCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEXTKeyPathCoding.h; path = ReactiveObjC/extobjc/RACEXTKeyPathCoding.h; sourceTree = ""; }; - D8170D22FBC7D2212EC04D559D4BA50D /* NSObject+RACPropertySubscribing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACPropertySubscribing.h"; path = "ReactiveObjC/NSObject+RACPropertySubscribing.h"; sourceTree = ""; }; - D8EA17B7F7040EEBC4E27777CF23241C /* RACErrorSignal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACErrorSignal.m; path = ReactiveObjC/RACErrorSignal.m; sourceTree = ""; }; - D96F91D7A94143AF8CC1EFA86A636677 /* MASConstraintMaker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASConstraintMaker.m; path = Masonry/MASConstraintMaker.m; sourceTree = ""; }; - D9767B170E9F2705902CD82227800886 /* Masonry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Masonry.h; path = Masonry/Masonry.h; sourceTree = ""; }; - D9ADC706267A7984747F18651ED098FB /* FIRInstallationsIIDStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsIIDStore.h; path = FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDStore.h; sourceTree = ""; }; - D9AEE0E2D12407A6C811C5535CC7473C /* DDOSLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDOSLogger.m; path = Sources/CocoaLumberjack/DDOSLogger.m; sourceTree = ""; }; - D9E39C50BB0D91A9BC5F9A128D8D3488 /* RACSubject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSubject.m; path = ReactiveObjC/RACSubject.m; sourceTree = ""; }; - DA49BCABA14A3DB1C63A4947D459EE86 /* JLRRouteRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRRouteRequest.m; path = JLRoutes/Classes/JLRRouteRequest.m; sourceTree = ""; }; - DA49FDBCEF65456C41B322DCCF421717 /* CocoaLumberjack-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaLumberjack-umbrella.h"; sourceTree = ""; }; - DA9DD4D2A87EB66034E0C6F3691E97F8 /* GULNetworkURLSession.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULNetworkURLSession.m; path = GoogleUtilities/Network/GULNetworkURLSession.m; sourceTree = ""; }; - DB80443A286142BB0026AA2343E7AC56 /* RACArraySequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACArraySequence.h; path = ReactiveObjC/RACArraySequence.h; sourceTree = ""; }; - DBF41CE713E4E4BEE7AED83AE80EB661 /* pb_common.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = pb_common.h; sourceTree = ""; }; - DCBEE0AFA836D574F93CF195AE25E89C /* SPUStandardUpdaterController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUStandardUpdaterController.h; path = Sparkle.framework/Versions/B/Headers/SPUStandardUpdaterController.h; sourceTree = ""; }; - DCCA3C1563F343096CC57F7AA4E3B6F5 /* FIRInstallationsErrorUtil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsErrorUtil.m; path = FirebaseInstallations/Source/Library/Errors/FIRInstallationsErrorUtil.m; sourceTree = ""; }; - DD0D399F45683D98A57536950B03B4AE /* RACGroupedSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACGroupedSignal.h; path = ReactiveObjC/RACGroupedSignal.h; sourceTree = ""; }; - DDA7D8C2E0433CC7D6CCF1E85CE6F35B /* Masonry-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Masonry-Info.plist"; sourceTree = ""; }; - DE5D44F55044E9FD71469B518E5581CF /* mz_crypt.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_crypt.h; path = SSZipArchive/minizip/mz_crypt.h; sourceTree = ""; }; - DEB0FCDCFA15ADD9042E715DA25CB2A4 /* RACScheduler+Subclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "RACScheduler+Subclass.h"; path = "ReactiveObjC/RACScheduler+Subclass.h"; sourceTree = ""; }; - DEF53E2D0902CC6622A588A2105277AB /* FIRBundleUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRBundleUtil.h; path = FirebaseCore/Sources/FIRBundleUtil.h; sourceTree = ""; }; - DF2E5624817742D2F918CC31FAD4A675 /* FBLPromise+Retry.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Retry.h"; path = "Sources/FBLPromises/include/FBLPromise+Retry.h"; sourceTree = ""; }; - DFDD3B1CC5C9786B95651CC9DFB9DC23 /* FBLPromise+Delay.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Delay.h"; path = "Sources/FBLPromises/include/FBLPromise+Delay.h"; sourceTree = ""; }; - E054C38A22581DD8B6BA1891F2C8CA0E /* FIRInstallationsAuthTokenResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsAuthTokenResultInternal.h; path = FirebaseInstallations/Source/Library/FIRInstallationsAuthTokenResultInternal.h; sourceTree = ""; }; - E0605F8DC53F73B008023C63CC3599CC /* DDMultiFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDMultiFormatter.m; path = Sources/CocoaLumberjack/Extensions/DDMultiFormatter.m; sourceTree = ""; }; - E06D8E900F97EF4CA4C84721CDD30DAD /* RACDynamicSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACDynamicSequence.m; path = ReactiveObjC/RACDynamicSequence.m; sourceTree = ""; }; - E09A9D6D87DAAF6632CA611F76ADF740 /* FIRHeartbeatLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRHeartbeatLogger.h; path = FirebaseCore/Extension/FIRHeartbeatLogger.h; sourceTree = ""; }; - E0E93EFA2157643640443FB443441F03 /* RACChannel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACChannel.h; path = ReactiveObjC/RACChannel.h; sourceTree = ""; }; - E0F7176089012C101EB95403DAC30508 /* SPUUpdaterSettings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdaterSettings.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdaterSettings.h; sourceTree = ""; }; - E142292B52B18D4B9F52B9266EEA6388 /* MASConstraint+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASConstraint+Private.h"; path = "Masonry/MASConstraint+Private.h"; sourceTree = ""; }; - E169E987EB7DB346C4464B6480224815 /* RACImmediateScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACImmediateScheduler.m; path = ReactiveObjC/RACImmediateScheduler.m; sourceTree = ""; }; - E1B67A6765F1EF1B0D0545E9E72B72A2 /* FBLPromise+All.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+All.m"; path = "Sources/FBLPromises/FBLPromise+All.m"; sourceTree = ""; }; - E1D921F0AD25D8B1E927496E7A35BC90 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; - E212D588DF5836946F908BDF6E998BBE /* RACDisposable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACDisposable.h; path = ReactiveObjC/RACDisposable.h; sourceTree = ""; }; - E2237870946CC893397747F6ACBFBA63 /* RACScheduler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACScheduler.m; path = ReactiveObjC/RACScheduler.m; sourceTree = ""; }; - E28D12A1B2A82AA0C028867B9E97732B /* FIROptionsInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIROptionsInternal.h; path = FirebaseCore/Extension/FIROptionsInternal.h; sourceTree = ""; }; + D4A290C7DD62A4E21DEB32E6FECE03A1 /* mz_zip.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_zip.c; path = SSZipArchive/minizip/mz_zip.c; sourceTree = ""; }; + D4D9F0D4E60EFBF91EC058208FB4F4FE /* FIRInstallationsErrors.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsErrors.h; path = FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallationsErrors.h; sourceTree = ""; }; + D57483A7D62932379BB26E245E317823 /* RACChannel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACChannel.m; path = ReactiveObjC/RACChannel.m; sourceTree = ""; }; + D5D14BF947D5112DEE7575989D39FB78 /* MASViewAttribute.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewAttribute.m; path = Masonry/MASViewAttribute.m; sourceTree = ""; }; + D5FD1EF0F515CE441CAFB5EFF5347C15 /* FBLPromise+Testing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Testing.h"; path = "Sources/FBLPromises/include/FBLPromise+Testing.h"; sourceTree = ""; }; + D6BA0C49FF9BC5167CC49D6618015C60 /* Heartbeat.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Heartbeat.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/Heartbeat.swift; sourceTree = ""; }; + D70C59D7A1B2B9CD323277E0AB0E2B05 /* FirebaseInstallations-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FirebaseInstallations-dummy.m"; sourceTree = ""; }; + D70F6BCC60410F79F03B6C767FAF8702 /* NSFileHandle+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSFileHandle+RACSupport.h"; path = "ReactiveObjC/NSFileHandle+RACSupport.h"; sourceTree = ""; }; + D736AFA9A254522BFE2E0CAEC0049E78 /* GoogleAppMeasurement.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = GoogleAppMeasurement.debug.xcconfig; sourceTree = ""; }; + D7A78477506C04205936E362C53A60DD /* FBLPromise+Any.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Any.h"; path = "Sources/FBLPromises/include/FBLPromise+Any.h"; sourceTree = ""; }; + D81E52DEE6A3D5AAA7DBC4E4568D06AA /* GULURLSessionDataResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULURLSessionDataResponse.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULURLSessionDataResponse.h; sourceTree = ""; }; + D87CB9BD130D9DE858B5476F72537063 /* RACDynamicSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACDynamicSequence.m; path = ReactiveObjC/RACDynamicSequence.m; sourceTree = ""; }; + D9B5786B6DA830CEE84B272FEBF53FAC /* RACTargetQueueScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACTargetQueueScheduler.h; path = ReactiveObjC/RACTargetQueueScheduler.h; sourceTree = ""; }; + D9F1DDF5C4C0D5628DD7A3BA2FF44951 /* NSObject+RACDescription.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACDescription.h"; path = "ReactiveObjC/NSObject+RACDescription.h"; sourceTree = ""; }; + DA97D15CBF327ADC6C6F83F45FC29F03 /* NSSet+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSSet+RACSequenceAdditions.h"; path = "ReactiveObjC/NSSet+RACSequenceAdditions.h"; sourceTree = ""; }; + DB198564B6CD5B9D3DCC9CEB35D674FE /* FIRVersion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRVersion.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIRVersion.h; sourceTree = ""; }; + DB6255273A61DDC6BA0657B642FE4792 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; + DBDBB0E52C48D45AB02939B6AD1AD441 /* FirebaseCoreInternal-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FirebaseCoreInternal-Info.plist"; sourceTree = ""; }; + DC414FD46D0F823FB7A12474862FDE2D /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; + DC58C24B9224766C4025B825F5F0E985 /* FIRInstallations.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallations.h; path = FirebaseInstallations/Source/Library/Public/FirebaseInstallations/FIRInstallations.h; sourceTree = ""; }; + DC9AE1C4D7B08A8B23C5D914935227F4 /* GULHeartbeatDateStorage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULHeartbeatDateStorage.m; path = GoogleUtilities/Environment/GULHeartbeatDateStorage.m; sourceTree = ""; }; + DCD471D706BC4AB2D9B38610FE0A587A /* GULReachabilityMessageCode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULReachabilityMessageCode.h; path = GoogleUtilities/Reachability/GULReachabilityMessageCode.h; sourceTree = ""; }; + DCDAFFC1C0B94B510D3CF380B6EA8F40 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; + DD1FFF85B3F38B0E3B7DF645D37B771A /* FirebaseCore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FirebaseCore-dummy.m"; sourceTree = ""; }; + DDF3DE7208AEE208EDA964D8EA1D1551 /* FBLPromise+Then.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Then.m"; path = "Sources/FBLPromises/FBLPromise+Then.m"; sourceTree = ""; }; + DE752AD9385E065B073A2359902A0DC7 /* SwiftFormat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftFormat.release.xcconfig; sourceTree = ""; }; + E034A92E25A61CB44A9AB28CE9C4A5BB /* PromisesObjC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PromisesObjC.debug.xcconfig; sourceTree = ""; }; + E0E408CBC4F5D9D7CDFEA38DEECE13B1 /* SUUpdatePermissionResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUUpdatePermissionResponse.h; path = Sparkle.framework/Versions/B/Headers/SUUpdatePermissionResponse.h; sourceTree = ""; }; + E23188E6FD3A731A34304EFA2F6FDBBD /* FIRBundleUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRBundleUtil.h; path = FirebaseCore/Sources/FIRBundleUtil.h; sourceTree = ""; }; E2B63D462DB7F827C4B11FD51E4F8E2D /* FirebaseCore */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FirebaseCore; path = FirebaseCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E3ADB4DA991E23168BB0FF9B3C4811B4 /* JLRoutes.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JLRoutes.debug.xcconfig; sourceTree = ""; }; - E42B4C79BB4429B1A294B8AACB7E1174 /* KVOController-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "KVOController-umbrella.h"; sourceTree = ""; }; - E456EE4FE3529002B8578D44BD08F01E /* MJPropertyType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJPropertyType.h; path = MJExtension/MJPropertyType.h; sourceTree = ""; }; - E4CA6B6D114CC0F4FF843B0C048674BC /* SUVersionComparisonProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUVersionComparisonProtocol.h; path = Sparkle.framework/Versions/B/Headers/SUVersionComparisonProtocol.h; sourceTree = ""; }; - E4E79EB31DBA654ACD1756C6E756A891 /* RACCompoundDisposableProvider.d */ = {isa = PBXFileReference; includeInIndex = 1; name = RACCompoundDisposableProvider.d; path = ReactiveObjC/RACCompoundDisposableProvider.d; sourceTree = ""; }; - E5532DAD8710DC8EAB1CD5647780B17E /* ReactiveObjC.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ReactiveObjC.h; path = ReactiveObjC/ReactiveObjC.h; sourceTree = ""; }; - E5A4EC49F988E4AE9EAABA7E6E06C0E1 /* Sparkle.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Sparkle.release.xcconfig; sourceTree = ""; }; - E6CDD2A4B9C53B6103A959099F687BD4 /* DDASLLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDASLLogger.m; path = Sources/CocoaLumberjack/DDASLLogger.m; sourceTree = ""; }; - E6DCD53DE1B12968851F9151C3E64074 /* RACSerialDisposable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSerialDisposable.m; path = ReactiveObjC/RACSerialDisposable.m; sourceTree = ""; }; - E75C537282E558744402FD49753EEA03 /* SPUUpdateCheck.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPUUpdateCheck.h; path = Sparkle.framework/Versions/B/Headers/SPUUpdateCheck.h; sourceTree = ""; }; - E7AAAFE06B63912DB463010C5C113B7C /* nanopb-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "nanopb-umbrella.h"; sourceTree = ""; }; - E7B721887606F56108417FDDAA9DCF42 /* AFNetworking.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AFNetworking.modulemap; sourceTree = ""; }; - E7F99694FB9C037799B1F66C50CFCC73 /* NSURLSession+GULPromises.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSURLSession+GULPromises.h"; path = "GoogleUtilities/Environment/Public/GoogleUtilities/NSURLSession+GULPromises.h"; sourceTree = ""; }; - E821AD87F3540C86F9BD014CEDF164A3 /* DDLog+LOGV.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DDLog+LOGV.h"; path = "Sources/CocoaLumberjack/include/CocoaLumberjack/DDLog+LOGV.h"; sourceTree = ""; }; - E93DE43A839E0EFB480B908FA4A26874 /* FBLPromise+Wrap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Wrap.m"; path = "Sources/FBLPromises/FBLPromise+Wrap.m"; sourceTree = ""; }; - EA1C7BB3A60BA170348DE1A29A5109DD /* RACSubscriptingAssignmentTrampoline.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACSubscriptingAssignmentTrampoline.m; path = ReactiveObjC/RACSubscriptingAssignmentTrampoline.m; sourceTree = ""; }; - EAACE17841BC1026606CB559BDC75B4E /* FBLPromise+Retry.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Retry.m"; path = "Sources/FBLPromises/FBLPromise+Retry.m"; sourceTree = ""; }; - EAF2E6F3DF63742ADE2510FE68E6CCC2 /* NSArray+MASShorthandAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+MASShorthandAdditions.h"; path = "Masonry/NSArray+MASShorthandAdditions.h"; sourceTree = ""; }; - EC403AB8937B6490843976E81FF32310 /* FIRInstallationsIIDTokenStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsIIDTokenStore.m; path = FirebaseInstallations/Source/Library/IIDMigration/FIRInstallationsIIDTokenStore.m; sourceTree = ""; }; - EDAE432DF79F7967F4091824C7C191E5 /* RACBehaviorSubject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACBehaviorSubject.h; path = ReactiveObjC/RACBehaviorSubject.h; sourceTree = ""; }; - EE103BF5B1484329CB2F3486237F3704 /* FBLPromise+Reduce.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Reduce.m"; path = "Sources/FBLPromises/FBLPromise+Reduce.m"; sourceTree = ""; }; - EE4AB61451CA6F4BFC1742AE88B1FECF /* FIRInstallationsHTTPError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsHTTPError.m; path = FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.m; sourceTree = ""; }; - EEB261445749571F2BAA6FC50774FBD6 /* AFNetworking.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.debug.xcconfig; sourceTree = ""; }; - EEE82774C609969826F1B750EFA845D7 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; - EF42A60D866E9FFF5EDFC12C417F1A7F /* MASShortcutView+Bindings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "MASShortcutView+Bindings.m"; path = "Framework/UI/MASShortcutView+Bindings.m"; sourceTree = ""; }; - EFE27DBA5CC4FB506653433551B948E2 /* ZipArchive.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ZipArchive.h; path = SSZipArchive/ZipArchive.h; sourceTree = ""; }; - EFF4AB53DD8AD41F1F09002C0B24C00C /* FIRInstallationsStoredItem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRInstallationsStoredItem.m; path = FirebaseInstallations/Source/Library/InstallationsStore/FIRInstallationsStoredItem.m; sourceTree = ""; }; - F01189283C509B70EEE48FA74ED215A9 /* FIRConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRConfiguration.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIRConfiguration.h; sourceTree = ""; }; - F03DDD6227E2167782531237A2A69A35 /* GULSwizzler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULSwizzler.h; path = GoogleUtilities/MethodSwizzler/Public/GoogleUtilities/GULSwizzler.h; sourceTree = ""; }; - F0DF70D2B196A123A2C27E0600D89EDE /* SSZipArchive-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SSZipArchive-dummy.m"; sourceTree = ""; }; - F1B08E954F771D1963E61C06D434F3F0 /* RACQueueScheduler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACQueueScheduler.h; path = ReactiveObjC/RACQueueScheduler.h; sourceTree = ""; }; - F1D31FF52F629B58C6575A6C7CDB545F /* mz_strm_zlib.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_zlib.h; path = SSZipArchive/minizip/mz_strm_zlib.h; sourceTree = ""; }; - F204E1BA4178A8B574CB1A5DE2A26DDB /* GULNSData+zlib.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "GULNSData+zlib.m"; path = "GoogleUtilities/NSData+zlib/GULNSData+zlib.m"; sourceTree = ""; }; - F376B73D06E98B8C3300F5789038547A /* PromisesObjC.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = PromisesObjC.modulemap; sourceTree = ""; }; - F391BBAB44C1F7AD014C672FA3D3FA74 /* FBLPromise+Async.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Async.h"; path = "Sources/FBLPromises/include/FBLPromise+Async.h"; sourceTree = ""; }; - F488F32F7ED73324394E1FF5BF49310C /* HeartbeatsPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HeartbeatsPayload.swift; path = FirebaseCore/Internal/Sources/HeartbeatLogging/HeartbeatsPayload.swift; sourceTree = ""; }; - F4B09A287210308FBF83C1ED631D788E /* RACDynamicSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACDynamicSequence.h; path = ReactiveObjC/RACDynamicSequence.h; sourceTree = ""; }; - F4B23C2D8434FC96B4D9EE629D86C1E3 /* RACSignal+Operations.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "RACSignal+Operations.m"; path = "ReactiveObjC/RACSignal+Operations.m"; sourceTree = ""; }; - F5E1DE6ED485483FBEE8F016CFC51829 /* FIRInstallationsSingleOperationPromiseCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsSingleOperationPromiseCache.h; path = FirebaseInstallations/Source/Library/InstallationsIDController/FIRInstallationsSingleOperationPromiseCache.h; sourceTree = ""; }; - F5E9539F405FB07BBA1659A1509602B1 /* DDLog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDLog.m; path = Sources/CocoaLumberjack/DDLog.m; sourceTree = ""; }; - F61EB2A128AF8AEA9D92E519362375FB /* NSObject+MJKeyValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+MJKeyValue.m"; path = "MJExtension/NSObject+MJKeyValue.m"; sourceTree = ""; }; - F67F2ACAB9A5F31F1236D73B51D1BA73 /* MASViewConstraint.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASViewConstraint.m; path = Masonry/MASViewConstraint.m; sourceTree = ""; }; - F69C322959FEDDEB788BC59A36A8215F /* FIRApp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRApp.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIRApp.h; sourceTree = ""; }; + E3BCC61F38E8E426E6EAA67A05B62C38 /* GULHeartbeatDateStorageUserDefaults.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULHeartbeatDateStorageUserDefaults.m; path = GoogleUtilities/Environment/GULHeartbeatDateStorageUserDefaults.m; sourceTree = ""; }; + E47F4E7A23DEFD11EB98985979D3BDA6 /* FIRConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRConfiguration.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIRConfiguration.h; sourceTree = ""; }; + E4DAACE2E57E164555CC53706176C97D /* GoogleUtilities-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "GoogleUtilities-umbrella.h"; sourceTree = ""; }; + E502DCB349E734215CDBCEAA88BFBC92 /* es.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = es.lproj; path = Resources/es.lproj; sourceTree = ""; }; + E51987050B0AD979AF5440B8F644E61C /* MASViewAttribute.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASViewAttribute.h; path = Masonry/MASViewAttribute.h; sourceTree = ""; }; + E53C728E70FBF290AADC197A3B3D9127 /* NSInvocation+RACTypeParsing.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSInvocation+RACTypeParsing.m"; path = "ReactiveObjC/NSInvocation+RACTypeParsing.m"; sourceTree = ""; }; + E55BEF8F9C01938ED74FE9FAD9957DEB /* GULLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULLogger.h; path = GoogleUtilities/Logger/Public/GoogleUtilities/GULLogger.h; sourceTree = ""; }; + E5F667C7A82BFB7C725B29099A4AC186 /* FBLPromise+Validate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Validate.m"; path = "Sources/FBLPromises/FBLPromise+Validate.m"; sourceTree = ""; }; + E66976B548CE5067C6FB8496374EFECD /* GULNetworkLoggerProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkLoggerProtocol.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetworkLoggerProtocol.h; sourceTree = ""; }; + E692477A5A8E075F8D9D7846CC4DC0D2 /* DDOSLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDOSLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDOSLogger.h; sourceTree = ""; }; + E6B63FAC2BEE60799A69C401C7843729 /* FBLPromise+Await.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Await.h"; path = "Sources/FBLPromises/include/FBLPromise+Await.h"; sourceTree = ""; }; + E7E3B5FC8702522CBB493A5FEC043478 /* MASShortcut-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASShortcut-umbrella.h"; sourceTree = ""; }; + E863ABD7D7FD89DCE1BC6B302A9134CC /* FBLPromise+Do.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Do.m"; path = "Sources/FBLPromises/FBLPromise+Do.m"; sourceTree = ""; }; + E8F413775525AB446D53A28E9B98C362 /* MASShortcutValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutValidator.m; path = Framework/Model/MASShortcutValidator.m; sourceTree = ""; }; + E97F9191C15F8F647C782588ADFF4D5B /* AFNetworking.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.release.xcconfig; sourceTree = ""; }; + E9AC92ADFAC02492991483A9DBFDBB6B /* NSText+RACSignalSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSText+RACSignalSupport.m"; path = "ReactiveObjC/NSText+RACSignalSupport.m"; sourceTree = ""; }; + EA207EB10F7BEB60AD0321A7D614C0BA /* GULNetwork.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetwork.h; path = GoogleUtilities/Network/Public/GoogleUtilities/GULNetwork.h; sourceTree = ""; }; + EA9D2E7EC91691C1ECD93374F0E20DF3 /* MJExtension.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MJExtension.h; path = MJExtension/MJExtension.h; sourceTree = ""; }; + EAE297DCE6A0C66165F35F80E1D183D1 /* MASShortcutMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutMonitor.h; path = Framework/Monitoring/MASShortcutMonitor.h; sourceTree = ""; }; + EAF9B7B0F6AFC404DAC1C15D3901D0B1 /* DDOSLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDOSLogger.m; path = Sources/CocoaLumberjack/DDOSLogger.m; sourceTree = ""; }; + EB6730691D1351195C95E33590259F2B /* NSDictionary+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+RACSequenceAdditions.m"; path = "ReactiveObjC/NSDictionary+RACSequenceAdditions.m"; sourceTree = ""; }; + EB856A6BF20729B51592E149EFCBCD00 /* FIRAppInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRAppInternal.h; path = FirebaseCore/Extension/FIRAppInternal.h; sourceTree = ""; }; + ECB13541CEA71ADCD31E7804C45F7549 /* GULApplication.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULApplication.h; path = GoogleUtilities/AppDelegateSwizzler/Public/GoogleUtilities/GULApplication.h; sourceTree = ""; }; + ECE0CE1F5C39AAB0ADFF4E39CEE2AAE1 /* FBLPromise+Race.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Race.m"; path = "Sources/FBLPromises/FBLPromise+Race.m"; sourceTree = ""; }; + EDB9AD912C84FF94ABE3F36B4A5CA0BA /* NSObject+MJClass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJClass.h"; path = "MJExtension/NSObject+MJClass.h"; sourceTree = ""; }; + EE001557DAF31FD0CC5D592A434E8C07 /* NSObject+RACLifting.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACLifting.h"; path = "ReactiveObjC/NSObject+RACLifting.h"; sourceTree = ""; }; + EE0D2B857953774CD2D005F8EA3E03A1 /* FBLPromise+Recover.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Recover.m"; path = "Sources/FBLPromises/FBLPromise+Recover.m"; sourceTree = ""; }; + EE3B1E01909A7BBA83EDE0BE7ED89F1C /* SSZipArchive.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SSZipArchive.modulemap; sourceTree = ""; }; + EE40000F23331F27B54AEEFA0AE619B8 /* FIRApp.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRApp.h; path = FirebaseCore/Sources/Public/FirebaseCore/FIRApp.h; sourceTree = ""; }; + EE4CB1059E51277D733804DB367C4522 /* GULUserDefaults.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULUserDefaults.h; path = GoogleUtilities/UserDefaults/Public/GoogleUtilities/GULUserDefaults.h; sourceTree = ""; }; + EE7013FAE73C6AB13E0335EDA7762D19 /* MASShortcut.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = MASShortcut.modulemap; sourceTree = ""; }; + EF4B307A3FD843E39D10C57A6263B590 /* FBLPromise+Timeout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Timeout.m"; path = "Sources/FBLPromises/FBLPromise+Timeout.m"; sourceTree = ""; }; + F0454752C5AA5F6505761B06100305C2 /* FIRInstallationsAPIService.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsAPIService.h; path = FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.h; sourceTree = ""; }; + F0703A3F39B1DB81B7FB2ADEE5CBD044 /* zh-Hans.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = "zh-Hans.lproj"; path = "Resources/zh-Hans.lproj"; sourceTree = ""; }; + F10991A90F61D5B8AFACF733BB6ED6A1 /* SUStandardVersionComparator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SUStandardVersionComparator.h; path = Sparkle.framework/Versions/B/Headers/SUStandardVersionComparator.h; sourceTree = ""; }; + F120A88696F0C5DD7FC93EC25FF767AE /* RACStringSequence.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACStringSequence.m; path = ReactiveObjC/RACStringSequence.m; sourceTree = ""; }; + F12D070207CD36F48D1B2024B30D7354 /* RACEXTRuntimeExtensions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACEXTRuntimeExtensions.h; path = ReactiveObjC/extobjc/RACEXTRuntimeExtensions.h; sourceTree = ""; }; + F160282FC8B7C0AF1D7683B418AE9154 /* RACKVOTrampoline.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACKVOTrampoline.h; path = ReactiveObjC/RACKVOTrampoline.h; sourceTree = ""; }; + F166B8E7D450BA301EAEBCC0B6092485 /* FBLPromise+Do.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+Do.h"; path = "Sources/FBLPromises/include/FBLPromise+Do.h"; sourceTree = ""; }; + F1FA7021849434D5223B692FD549309A /* mz_strm_pkcrypt.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_pkcrypt.c; path = SSZipArchive/minizip/mz_strm_pkcrypt.c; sourceTree = ""; }; + F21B52959855B9E7C64BECFCD34641C7 /* FIRInstallationsLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FIRInstallationsLogger.h; path = FirebaseInstallations/Source/Library/FIRInstallationsLogger.h; sourceTree = ""; }; + F255351D0A8061B242BF10480EEF3448 /* mz_zip.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_zip.h; path = SSZipArchive/minizip/mz_zip.h; sourceTree = ""; }; + F2A292C84E0672A6AB870E90C2E1A782 /* KVOController-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "KVOController-dummy.m"; sourceTree = ""; }; + F2AB3C86291662977BE74F237AF16762 /* NSObject+RACKVOWrapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RACKVOWrapper.m"; path = "ReactiveObjC/NSObject+RACKVOWrapper.m"; sourceTree = ""; }; + F2CBE1A33F02A8F4F632FC9F8ADD49CF /* DDLegacyMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDLegacyMacros.h; path = "Sources/CocoaLumberjack/Supporting Files/DDLegacyMacros.h"; sourceTree = ""; }; + F2D055CB15A807C01C676DBE88A0830F /* NSObject+MJCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+MJCoding.h"; path = "MJExtension/NSObject+MJCoding.h"; sourceTree = ""; }; + F2F153F4CF8753B638C56A7596FC9B98 /* JLRRouteDefinition.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRRouteDefinition.m; path = JLRoutes/Classes/JLRRouteDefinition.m; sourceTree = ""; }; + F391E4EC039B3906EF13881151D99003 /* DDContextFilterLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDContextFilterLogFormatter.m; path = Sources/CocoaLumberjack/Extensions/DDContextFilterLogFormatter.m; sourceTree = ""; }; + F3B9664304A486033DC2DC45E4FAE785 /* SSZipArchive-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SSZipArchive-umbrella.h"; sourceTree = ""; }; + F493DBAA683AC805B441ACC888A0B05F /* DDAbstractDatabaseLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDAbstractDatabaseLogger.m; path = Sources/CocoaLumberjack/DDAbstractDatabaseLogger.m; sourceTree = ""; }; + F50A944CD6CC4ACE7D51C19CB1375133 /* AFNetworking-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-umbrella.h"; sourceTree = ""; }; + F50D6F2EB9D7EE15D8A0DE6C6710506A /* RACTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACTuple.h; path = ReactiveObjC/RACTuple.h; sourceTree = ""; }; + F529CB57A55B6397CE7B2ECD19EE3C2B /* MASPreferencesWindowController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASPreferencesWindowController.m; path = Framework/MASPreferencesWindowController.m; sourceTree = ""; }; + F541C03C193E1F9D191A15AAE5604752 /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; + F5BBD2EB2D4B4407C3E45A883D9E3B02 /* JLRoutes.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JLRoutes.m; path = JLRoutes/JLRoutes.m; sourceTree = ""; }; + F5D9AE1276B519BC52D30EB6A5DDCD7C /* RACSignal+Operations.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "RACSignal+Operations.m"; path = "ReactiveObjC/RACSignal+Operations.m"; sourceTree = ""; }; + F5F023365F19429AA284155F5358BE7A /* JLRoutes.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JLRoutes.debug.xcconfig; sourceTree = ""; }; + F66C5DA628AEAA35C15C1229B138FE31 /* MASShortcut.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcut.m; path = Framework/Model/MASShortcut.m; sourceTree = ""; }; F6AC3A4C0F4CF68BC61D5D70CB9B9971 /* Pods-EasydictTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-EasydictTests-frameworks.sh"; sourceTree = ""; }; - F77DDBC6AC3B1FDBA9A4BEF661508CEA /* MASPreferences-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASPreferences-prefix.pch"; sourceTree = ""; }; - F7EF647ED010B45130C540DCBD3C9385 /* NSDictionary+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDictionary+RACSequenceAdditions.m"; path = "ReactiveObjC/NSDictionary+RACSequenceAdditions.m"; sourceTree = ""; }; - F801F0E7CC76DF9B11E65CA96201FE92 /* GULSecureCoding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULSecureCoding.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULSecureCoding.h; sourceTree = ""; }; - F80ACC42D906B1904F340D9751A4E1AC /* GULURLSessionDataResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULURLSessionDataResponse.m; path = GoogleUtilities/Environment/URLSessionPromiseWrapper/GULURLSessionDataResponse.m; sourceTree = ""; }; - F81B1CB804E12956908AB06FC316614A /* RACBlockTrampoline.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACBlockTrampoline.m; path = ReactiveObjC/RACBlockTrampoline.m; sourceTree = ""; }; - F82AB599FD4C8AE6689C86C0DC75CD0C /* DDLog+Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DDLog+Combine.swift"; path = "Sources/CocoaLumberjackSwift/DDLog+Combine.swift"; sourceTree = ""; }; - F883D3D769A6A40D54AA7FC0B77B5C77 /* NSObject+RACAppKitBindings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACAppKitBindings.h"; path = "ReactiveObjC/NSObject+RACAppKitBindings.h"; sourceTree = ""; }; - F933F82775ECC24D0CB28EE9515262B4 /* AppCenterCrashes.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = AppCenterCrashes.xcframework; path = "AppCenter-SDK-Apple/AppCenterCrashes.xcframework"; sourceTree = ""; }; - FA42E02008A9B4376F302AE6F79DB479 /* NSString+RACSequenceAdditions.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+RACSequenceAdditions.h"; path = "ReactiveObjC/NSString+RACSequenceAdditions.h"; sourceTree = ""; }; - FA8B4DD908991F82A4392DAACAEB74B0 /* MASShortcutMonitor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutMonitor.h; path = Framework/Monitoring/MASShortcutMonitor.h; sourceTree = ""; }; - FAFF2FBECCC952475F56C02E77A506EB /* DDASLLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDASLLogger.h; path = Sources/CocoaLumberjack/include/CocoaLumberjack/DDASLLogger.h; sourceTree = ""; }; - FB7AB15612865D39BA03F644C7923925 /* MASPreferences.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASPreferences.debug.xcconfig; sourceTree = ""; }; - FB83EF80CA63809AF00FAA676DC0583C /* FBLPromiseError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBLPromiseError.h; path = Sources/FBLPromises/include/FBLPromiseError.h; sourceTree = ""; }; - FB8641ED4AD080BEE2C10B7CC7AE69CB /* NSString+RACSequenceAdditions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+RACSequenceAdditions.m"; path = "ReactiveObjC/NSString+RACSequenceAdditions.m"; sourceTree = ""; }; - FBB8EC4A83A10CE1315DD023B0982CED /* Masonry-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Masonry-dummy.m"; sourceTree = ""; }; - FCDD3D90BB222555E9B2864B2C7B2BEC /* MASShortcutView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASShortcutView.h; path = Framework/UI/MASShortcutView.h; sourceTree = ""; }; - FD28846515D11A3024E2116B367F4A98 /* zh-Hant.lproj */ = {isa = PBXFileReference; includeInIndex = 1; name = "zh-Hant.lproj"; path = "Resources/zh-Hant.lproj"; sourceTree = ""; }; - FDA3A05E9CAF77FA3122FE2B657275B3 /* RACSequence.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSequence.h; path = ReactiveObjC/RACSequence.h; sourceTree = ""; }; - FDD1868ADFF057114B9A272A5D81C158 /* RACStream.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACStream.h; path = ReactiveObjC/RACStream.h; sourceTree = ""; }; - FE5F0A026371167057EBDAF8BFE254E1 /* GULNetworkInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULNetworkInfo.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULNetworkInfo.h; sourceTree = ""; }; - FE8B1BAB9DBA5509FDC50FCE5E616C93 /* mz_strm_mem.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_strm_mem.c; path = SSZipArchive/minizip/mz_strm_mem.c; sourceTree = ""; }; - FEA513695625D1E2412F5439477004B5 /* FBLPromisePrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBLPromisePrivate.h; path = Sources/FBLPromises/include/FBLPromisePrivate.h; sourceTree = ""; }; - FFCD1E112A96B9E564E55F53CFF2F0CE /* mz_strm.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm.h; path = SSZipArchive/minizip/mz_strm.h; sourceTree = ""; }; + F6C53EF74D9ED6699B523FC1E80D29BB /* mz_zip_rw.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_zip_rw.h; path = SSZipArchive/minizip/mz_zip_rw.h; sourceTree = ""; }; + F6CE1F94282B977C8D9AFFA2B10D325F /* FBLPromise+Always.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Always.m"; path = "Sources/FBLPromises/FBLPromise+Always.m"; sourceTree = ""; }; + F6E7A66874A13478A4DEE7513C847AC1 /* RACCommand.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RACCommand.m; path = ReactiveObjC/RACCommand.m; sourceTree = ""; }; + F6F84DC6BF34A38F2B6464E6C4C6647E /* RACSubscriber.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACSubscriber.h; path = ReactiveObjC/RACSubscriber.h; sourceTree = ""; }; + F75B4B01BB1BD426998A76F2B5D668C9 /* MASLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASLocalization.h; path = Framework/UI/MASLocalization.h; sourceTree = ""; }; + F7DC1DF009CA82DEC037BD43EC1D7237 /* DDFileLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDFileLogger.m; path = Sources/CocoaLumberjack/DDFileLogger.m; sourceTree = ""; }; + F803D40759184C33B0B5017CFF355929 /* JLRoutes.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JLRoutes.release.xcconfig; sourceTree = ""; }; + F80D2B19B1EE1E3899423621E1B81B70 /* FIRComponentContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIRComponentContainer.m; path = FirebaseCore/Sources/FIRComponentContainer.m; sourceTree = ""; }; + F8A92C1A0A3B20E3EA28AB39636B4DB1 /* GULSecureCoding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = GULSecureCoding.m; path = GoogleUtilities/Environment/GULSecureCoding.m; sourceTree = ""; }; + F8E0C7BDC8E3BE2E36DD07A7F9146741 /* AFNetworking.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AFNetworking.modulemap; sourceTree = ""; }; + F959B79F2B1C0C1EE131249C6C2E4523 /* RACCompoundDisposableProvider.d */ = {isa = PBXFileReference; includeInIndex = 1; name = RACCompoundDisposableProvider.d; path = ReactiveObjC/RACCompoundDisposableProvider.d; sourceTree = ""; }; + FAC8DF07C9E62CDC341DC021993D08B7 /* MASShortcutView+Bindings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "MASShortcutView+Bindings.h"; path = "Framework/UI/MASShortcutView+Bindings.h"; sourceTree = ""; }; + FB2BCA4CF07B536D08C018126E83DC51 /* nanopb-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "nanopb-dummy.m"; sourceTree = ""; }; + FB450E0AAB8EBA8D3BD094783F59F578 /* FBLPromise+Await.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "FBLPromise+Await.m"; path = "Sources/FBLPromises/FBLPromise+Await.m"; sourceTree = ""; }; + FB4EA758DDD1FE0B822702581540FA59 /* CocoaLumberjack-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CocoaLumberjack-umbrella.h"; sourceTree = ""; }; + FB54FABA71FFAACD20FA4729662D489D /* NSData+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+RACSupport.h"; path = "ReactiveObjC/NSData+RACSupport.h"; sourceTree = ""; }; + FB81E842AC0181DED44D98974FA8954F /* NSObject+RACDeallocating.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACDeallocating.h"; path = "ReactiveObjC/NSObject+RACDeallocating.h"; sourceTree = ""; }; + FBC195C7643381B4ECF9F06F68D36A92 /* NSNotificationCenter+RACSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSNotificationCenter+RACSupport.h"; path = "ReactiveObjC/NSNotificationCenter+RACSupport.h"; sourceTree = ""; }; + FBED67EB294DDA1774EA3BCA3A047F27 /* JLRParsingUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JLRParsingUtilities.h; path = JLRoutes/Classes/JLRParsingUtilities.h; sourceTree = ""; }; + FC8C2E6651F4C13D269FC21522C89BB8 /* NSObject+RACSelectorSignal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RACSelectorSignal.h"; path = "ReactiveObjC/NSObject+RACSelectorSignal.h"; sourceTree = ""; }; + FD33CA205FADE88FDBAE579A65E96EE4 /* JLRoutes-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JLRoutes-prefix.pch"; sourceTree = ""; }; + FD7306624EDD3714C415BE90EECB4342 /* nanopb.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = nanopb.modulemap; sourceTree = ""; }; + FDD65183CCF525620A3B5F3BF1918AEE /* RACScopedDisposable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACScopedDisposable.h; path = ReactiveObjC/RACScopedDisposable.h; sourceTree = ""; }; + FE00140F5C6F9D079710F7A9A8F1C71E /* mz_strm_wzaes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = mz_strm_wzaes.h; path = SSZipArchive/minizip/mz_strm_wzaes.h; sourceTree = ""; }; + FE038AFBD3D69796701659E8AD23C166 /* GULAppEnvironmentUtil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = GULAppEnvironmentUtil.h; path = GoogleUtilities/Environment/Public/GoogleUtilities/GULAppEnvironmentUtil.h; sourceTree = ""; }; + FE163D4A5D7FDF3BEDF57DAAFCC707AF /* DDDispatchQueueLogFormatter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDDispatchQueueLogFormatter.m; path = Sources/CocoaLumberjack/Extensions/DDDispatchQueueLogFormatter.m; sourceTree = ""; }; + FE9C3E5E4BAF1B95EB79937D96DC8F8A /* MASShortcutView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASShortcutView.m; path = Framework/UI/MASShortcutView.m; sourceTree = ""; }; + FEDC5BF64D97C4FD74178266EF6D2AA0 /* FIROptions.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FIROptions.m; path = FirebaseCore/Sources/FIROptions.m; sourceTree = ""; }; + FF6806FC054052F0C537610DEE67D28C /* FBLPromise+All.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBLPromise+All.h"; path = "Sources/FBLPromises/include/FBLPromise+All.h"; sourceTree = ""; }; + FF7D24B1FDB750D082EA6C4C506C71E3 /* mz_compat.c */ = {isa = PBXFileReference; includeInIndex = 1; name = mz_compat.c; path = SSZipArchive/minizip/mz_compat.c; sourceTree = ""; }; + FF9F2DA86A234847675359D5775460CF /* RACCompoundDisposable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RACCompoundDisposable.h; path = ReactiveObjC/RACCompoundDisposable.h; sourceTree = ""; }; + FFDACBB5807D2354F7B963DC06B83715 /* MJExtension-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MJExtension-dummy.m"; sourceTree = ""; }; + FFE71E26364B6DE008287D29241C3ACD /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1753,18 +1771,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 11701DFF7C25D391D1ED8A43BB7E948D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FD8B49A63FB75536530E9D6F4A8D16C6 /* Cocoa.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 1E2FBFD519CBC27AA609351040BE5DAA /* Frameworks */ = { + 180110205825ACB6E8675379233DE4EA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 66E7ECBE68A54291D01249912472AFA2 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1787,87 +1798,83 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 33D31E591DEDF62944821273FAAD5C76 /* Frameworks */ = { + 308160FDB8E37F176A0AAECC9FB5B84D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5318A0FC54E0C337BB2C048D3489A57E /* Cocoa.framework in Frameworks */, + 570C9736CAA005114C373F0A80D43C4D /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3A9E28BAC7C8F671D47A9B0E7C79490E /* Frameworks */ = { + 3F16934004F26E1B958D2DD15E7FF1DE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 30AE2CB3B172CA0F64E9304998437CD7 /* Cocoa.framework in Frameworks */, + 5B516E9999397C8117A3E79A16D000D6 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4A8F7B3996BA271F1FA0508948F3E13B /* Frameworks */ = { + 446C86D91F42D83E02B06298C7C050CA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8677BB28A889433C2632F2C1829F2F3A /* Cocoa.framework in Frameworks */, + 1EAA0EC36B79C08EA3D9BA26F5158956 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 53B89818E0F94453AABC1D91DD0D00CC /* Frameworks */ = { + 4A8F7B3996BA271F1FA0508948F3E13B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 603C9389FA7851613185C94F3D5661DD /* Cocoa.framework in Frameworks */, + 8677BB28A889433C2632F2C1829F2F3A /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 756975389DB158F36AD7266CC7D90B49 /* Frameworks */ = { + 53B89818E0F94453AABC1D91DD0D00CC /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8D1041565BCC3CD7C38D565F0AF0C746 /* Cocoa.framework in Frameworks */, + 603C9389FA7851613185C94F3D5661DD /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7D3C25995DFAF012589094F338EB538D /* Frameworks */ = { + 5D1AAEC90711265793F76F65572D17B8 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 72CC8F371AD383A9E33920DC023E79D0 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8A0D9764ADAB05E1ED77008009363A36 /* Frameworks */ = { + 635CD641E539B3601D3185ED1B6F5569 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D54914A48799B8023FBC5B06BBEC7033 /* AppKit.framework in Frameworks */, - 6136DFF3F10F418EA26165FF95256B07 /* Cocoa.framework in Frameworks */, - 7B05A2482792E0B086CA8DF76830D825 /* Foundation.framework in Frameworks */, + 8AB9464A34F698261E28D7519E1CDCA3 /* AppKit.framework in Frameworks */, + 5C094C1CA5DFEB066B954EEA4E79B19B /* Cocoa.framework in Frameworks */, + 19BD047B73F68A5373D8C6DEEE36C0EA /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8A778FDDAA23F21D75490CD5FD965341 /* Frameworks */ = { + 6ADEE4EFD08BD087C209B85181550B2B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 91C8DCC714A0C3F8A29251AD4D8519E2 /* Frameworks */ = { + 756975389DB158F36AD7266CC7D90B49 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 84495983E3D414E46242F6C636D10610 /* Cocoa.framework in Frameworks */, - 1130FC6C1481C4E8B85BFDDE463188B9 /* Security.framework in Frameworks */, + 8D1041565BCC3CD7C38D565F0AF0C746 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9B7D8DD2B275B11E9E0F5BDE6AA12117 /* Frameworks */ = { + 7D3C25995DFAF012589094F338EB538D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BC54149DFCD9FE3FB07A35C2F0EB22CD /* Cocoa.framework in Frameworks */, - 409B6AD026FC71BEC4D1DB9D56412BBD /* Security.framework in Frameworks */, - 70C5DBDB3056ECDC43869BB9C1EBD6D2 /* SystemConfiguration.framework in Frameworks */, + 72CC8F371AD383A9E33920DC023E79D0 /* Cocoa.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1881,6 +1888,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + CADF2AB0D10344CE210EF2069035DCDA /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0431DB05B4B617C62678E8F976440239 /* Cocoa.framework in Frameworks */, + BB1B59672765D5D2F40D00CF97C4DD64 /* Security.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D2D2F3D20275848C21C4E03DC145FCA7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1890,11 +1906,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - FFC79891FE1286A33824FCC1F1D68B95 /* Frameworks */ = { + E4161178434919DACF6B7A64E3CFBFAB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 706DF9E16D5CF115D0548D102486FDCB /* Cocoa.framework in Frameworks */, + FD122F97B3EDA7EAA1A788AE1D6A8B78 /* Cocoa.framework in Frameworks */, + 010FED8B8EF12070170DCAF366003E7B /* Security.framework in Frameworks */, + 108BC6B1AA15319A2FDADAB9122C4AA3 /* SystemConfiguration.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1910,162 +1928,186 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 04EBBFD92C4C890FAD1E2DC66C01C9C5 /* Support Files */ = { + 00E075C497D12E1F3717F00E9A4E2A16 /* MASShortcut */ = { + isa = PBXGroup; + children = ( + 03E66F0A898FD37350BC6EBBD7EBB450 /* MASDictionaryTransformer.h */, + 0DBC28B410E6D882752DBD0FD7268A67 /* MASDictionaryTransformer.m */, + 60405D30C34CB5F7601F6122F4FACE92 /* MASHotKey.h */, + 5859C52FC08015F54C46ECE6B553B717 /* MASHotKey.m */, + 01D64B777E775755C45AC98987826C3E /* MASKeyCodes.h */, + 0AD8C29C96039C5BFEA470D634618821 /* MASKeyMasks.h */, + F75B4B01BB1BD426998A76F2B5D668C9 /* MASLocalization.h */, + 903CCE2F999159E7FC472C61B1455363 /* MASLocalization.m */, + 702534DDEBA16BDD58955E2CC98DD1AE /* MASShortcut.h */, + F66C5DA628AEAA35C15C1229B138FE31 /* MASShortcut.m */, + 7F092E7C9E960B0D999712B4ADC01B77 /* MASShortcutBinder.h */, + 20376865525378ACD5F8A0A172F6F1F0 /* MASShortcutBinder.m */, + EAE297DCE6A0C66165F35F80E1D183D1 /* MASShortcutMonitor.h */, + 20F9BEDF08779FA1CA59C530EAF6024D /* MASShortcutMonitor.m */, + 10706F1C6A71EA2C3BC09E9A2714ECE0 /* MASShortcutValidator.h */, + E8F413775525AB446D53A28E9B98C362 /* MASShortcutValidator.m */, + 14BAB026E4918EF5CBF4DA88D4CDB86B /* MASShortcutView.h */, + FE9C3E5E4BAF1B95EB79937D96DC8F8A /* MASShortcutView.m */, + FAC8DF07C9E62CDC341DC021993D08B7 /* MASShortcutView+Bindings.h */, + CC002DB602B9751C7A6A99701FF6D888 /* MASShortcutView+Bindings.m */, + 5D0A39F13CFDA3BC6316D693A993B637 /* Shortcut.h */, + 7072A91A54360AEB9F6F402CFB3F5B6B /* Resources */, + 24701BF3984A7439017698858EC0F675 /* Support Files */, + ); + name = MASShortcut; + path = MASShortcut; + sourceTree = ""; + }; + 0341EBD38F8CCA2A25F1B37E17FAB559 /* Support Files */ = { isa = PBXGroup; children = ( - 4DD14E4250D140EFCA82E1372A6E5FD1 /* Masonry.modulemap */, - FBB8EC4A83A10CE1315DD023B0982CED /* Masonry-dummy.m */, - DDA7D8C2E0433CC7D6CCF1E85CE6F35B /* Masonry-Info.plist */, - 13807E90C7C69F9F8AD21B60CCF0DB30 /* Masonry-prefix.pch */, - 6B9EB60C28D35179D8EDB11262E41AF1 /* Masonry-umbrella.h */, - 7E537EE7E235292751A04A36F681F752 /* Masonry.debug.xcconfig */, - 0BE3BCEAB2A4D4EE917B5E7A3A6CA49F /* Masonry.release.xcconfig */, + 89A1413AA83A65D98FFA263AA37EE654 /* FirebaseAnalytics-xcframeworks.sh */, + 1F04B80879EB8848A723E4FF7BA1800E /* FirebaseAnalytics.debug.xcconfig */, + ABCCB934892895EB26DDB2C0B9FDC152 /* FirebaseAnalytics.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/Masonry"; + path = "../Target Support Files/FirebaseAnalytics"; sourceTree = ""; }; - 067FEE48B27B519A696152ABC6F24622 /* Support Files */ = { + 0591AF2992E6E315D390BFB88F350AB6 /* Support Files */ = { isa = PBXGroup; children = ( - 1B6FC3399C0A391480F8416B26D1652E /* AppCenter-xcframeworks.sh */, - 233FB4ECC6B6FCF69868BD2A6E5BA511 /* AppCenter.debug.xcconfig */, - 754E3C8F2C98BD1843448178A715381F /* AppCenter.release.xcconfig */, + 68DD661A6C0F7198565B7F0012DF261F /* Masonry.modulemap */, + 85CBB43E97CCF22C8245C717A856BE25 /* Masonry-dummy.m */, + B3F4861B7A3C01047BCB7EFC762190B3 /* Masonry-Info.plist */, + 79B875A13641384623E6DDF6CFA12606 /* Masonry-prefix.pch */, + 0F2D2A6213ED42ED611A22A2519A354A /* Masonry-umbrella.h */, + B969010B6688844D2ECA0D0CE1A1CC10 /* Masonry.debug.xcconfig */, + 4D95A30EFC80203B17C573B069F04F39 /* Masonry.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/AppCenter"; + path = "../Target Support Files/Masonry"; sourceTree = ""; }; - 0AF67235297E2EDA495A4A8F906D1FF3 /* Support Files */ = { + 0CC879A03E376706ED40650E2409A6BF /* Support Files */ = { isa = PBXGroup; children = ( - 1BC81542DA7335CAF98055D996BDE5AD /* SSZipArchive.modulemap */, - F0DF70D2B196A123A2C27E0600D89EDE /* SSZipArchive-dummy.m */, - 0B4411AA78C08FFFBDE53765D72A9431 /* SSZipArchive-Info.plist */, - 9895A2D0BA4F5C7B18D5F38B51BB6BF3 /* SSZipArchive-prefix.pch */, - 55F9552DB3E2CA38E47B2091F0DAAA29 /* SSZipArchive-umbrella.h */, - 257FE9D06B43C7027E34137987DA960E /* SSZipArchive.debug.xcconfig */, - 6C6118D41BDDA929ED2DA0F29C12F833 /* SSZipArchive.release.xcconfig */, + 7D3074BCA2B1CEF69464A5BC2592D701 /* Sparkle.debug.xcconfig */, + BCD53D209929BA5128CBFE7703733130 /* Sparkle.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/SSZipArchive"; + path = "../Target Support Files/Sparkle"; sourceTree = ""; }; - 1002BD7B7683AD6BC1201BCBF587001B /* Security */ = { + 10DA6FADA21B3622228601C1486D95C9 /* Security */ = { isa = PBXGroup; children = ( - 725B4EFDA8141E06ECD4FD67A4ECEBFC /* AFSecurityPolicy.h */, - D2A4F86803E230DBD115EC869690636B /* AFSecurityPolicy.m */, + 2A278A2720D0145417FE0558E6B82727 /* AFSecurityPolicy.h */, + FFE71E26364B6DE008287D29241C3ACD /* AFSecurityPolicy.m */, ); name = Security; sourceTree = ""; }; - 12EE67D71C9C5F89FB9831C1C9BE6DE7 /* Frameworks */ = { + 1A3671033765A58D80CFD48B53F6B140 /* GoogleUtilities */ = { isa = PBXGroup; children = ( - 65971BC8FBB7AE2C483F8B91221952F9 /* GoogleAppMeasurementIdentitySupport.xcframework */, + 36F80AA6DA219AE012E89CCF5F3BCE61 /* AppDelegateSwizzler */, + DF371BCA90900FB75250D13A8BD75832 /* Environment */, + CFF25C335678C0D98018EEC6DD34AEC9 /* Logger */, + 8E1561D1B82BA6CBAAD620428B7655C2 /* MethodSwizzler */, + 5CF69AD90333913B3531509D285C3A3A /* Network */, + CF2563711691F249592AF9DA1B42BEB4 /* NSData+zlib */, + 538ADA23A7FC24B5251FC53D07751035 /* Reachability */, + 3140C5A43BC10EFB6FCD4D970AFCFB89 /* Support Files */, + 600540E759B217470BA1EB64BE17E134 /* UserDefaults */, ); - name = Frameworks; + name = GoogleUtilities; + path = GoogleUtilities; sourceTree = ""; }; - 19472709B0F10C4886F6E52EEBBD2C84 /* AFNetworking */ = { + 1AEBA4C8B5D17862F63AC2356A038B34 /* Pods */ = { isa = PBXGroup; children = ( - 910ECB9CD982EA87617DEBEB6763EDEA /* AFNetworking.h */, - 6E52F409BD0D67032329FE8BE6BFF868 /* NSURLSession */, - C8CB7D07CA676B5ABEFCAC611A12CD12 /* Reachability */, - 1002BD7B7683AD6BC1201BCBF587001B /* Security */, - BCE0AA55F3FA69DC995B75DA920869F4 /* Serialization */, - AE90F927C361551AA076249BC44B3DCB /* Support Files */, + BBD19C22F60A39510D96A6960274EB1E /* AFNetworking */, + D50291AB9E756F69C42CD15271DAA6CA /* AppCenter */, + 1F38752FB1C27AEA8876863C81CBDADB /* CocoaLumberjack */, + 445158C98BD960720E8404414254233F /* FirebaseAnalytics */, + 44C7B5B13C2E97D409955F434DEE807E /* FirebaseCore */, + CB3F257FDEA6A6A096C316E82AC2FCED /* FirebaseCoreInternal */, + B912466DD4E51BC8914607B7C069A5B6 /* FirebaseInstallations */, + 2A2EEECE35BF9A0A206917A9EAC7E9CB /* GoogleAppMeasurement */, + 1A3671033765A58D80CFD48B53F6B140 /* GoogleUtilities */, + BE092DD585441F578BD5835644D94957 /* JLRoutes */, + A76E7480DFDCDA258E24F6C6D5806DA4 /* KVOController */, + 95A19CBAF6636C65D73751E7DBAD86EF /* Masonry */, + 71456520FA6BA63BAACF92DEEE29AFBB /* MASPreferences */, + 00E075C497D12E1F3717F00E9A4E2A16 /* MASShortcut */, + 7E586452DF1524E2BB2CF744C8C13B36 /* MJExtension */, + C0B0AA81B814C674C5474CD107738B23 /* nanopb */, + 60D77D8C86FED2CC7B924E53F36D1074 /* PromisesObjC */, + 98B82BB1BCAD894F3F6D2270FFBB0AE1 /* ReactiveObjC */, + 62DFB8ACF8DCA13B1ACF7847D2E263CC /* Sparkle */, + C34330F8AADC653AEFB468155EAFFEA4 /* SSZipArchive */, + 9833658CD44EE765236A656EC809CEF5 /* SwiftFormat */, ); - name = AFNetworking; - path = AFNetworking; + name = Pods; sourceTree = ""; }; - 19625303D0E4422B97FE2A4B1289BC11 /* SSZipArchive */ = { + 1F38752FB1C27AEA8876863C81CBDADB /* CocoaLumberjack */ = { isa = PBXGroup; children = ( - 833BECE6F334B7BA20DA7E45746A1EE6 /* mz.h */, - 57483F73665803115655F86362BE7E18 /* mz_compat.c */, - 6E39C3428A71A3BF7ED9C73E2AAEF868 /* mz_compat.h */, - 39C376C6E8A2748E577D5799823D40E2 /* mz_crypt.c */, - DE5D44F55044E9FD71469B518E5581CF /* mz_crypt.h */, - 3D508E9ACC0477ABFC51C185BC0045A0 /* mz_crypt_apple.c */, - 8C1FF87AC565F33148174169D4025F6A /* mz_os.c */, - 268F9B8A21FBF2D37B842192A8FF46DE /* mz_os.h */, - AAA6776E6EE80F21802E04B8DADC63BB /* mz_os_posix.c */, - 857573793813AFE6CB65AE4859889B2B /* mz_strm.c */, - FFCD1E112A96B9E564E55F53CFF2F0CE /* mz_strm.h */, - 8024EB1569A5AC4631933C2861E42305 /* mz_strm_buf.c */, - D73E43D2C411958804F103D5F44EAD71 /* mz_strm_buf.h */, - FE8B1BAB9DBA5509FDC50FCE5E616C93 /* mz_strm_mem.c */, - 860EDF776A23BE8E45DA3786DB28D2B2 /* mz_strm_mem.h */, - 83AA4DD3F83FDFD25E189CA571D2DFC2 /* mz_strm_os.h */, - 695DCC1221B40EFDBD7055BEEB81E198 /* mz_strm_os_posix.c */, - 88B5A722496EFF3B5D979F3D6A25409B /* mz_strm_pkcrypt.c */, - 36D21E0A37040278632063C5A3AEBA38 /* mz_strm_pkcrypt.h */, - 2E1C54E393146F406E1B9F073AA6FACA /* mz_strm_split.c */, - 50D1EBC998B6F1F1A8E5CC3A2376470B /* mz_strm_split.h */, - 4ED54AAF410EAEA088ACB4FC94E87E4D /* mz_strm_wzaes.c */, - 34A3B03B08072830E9B02EF24B5E0CF8 /* mz_strm_wzaes.h */, - 3C87286069E75B2DC30A148392A750FD /* mz_strm_zlib.c */, - F1D31FF52F629B58C6575A6C7CDB545F /* mz_strm_zlib.h */, - 06098597133336AEE43C16D0B0EFDF4E /* mz_zip.c */, - 6FB1CF631C8B541DC69838832FF3DD52 /* mz_zip.h */, - 7E438D0EC1FD58718BF15FE3A7E6E091 /* mz_zip_rw.c */, - 39158D548D9B123A69ED61C5D7210A62 /* mz_zip_rw.h */, - 45C7F5E3481DD3EB014B8E548E063DEE /* SSZipArchive.h */, - 0026861DE43C5A5EF086346FD5A4E917 /* SSZipArchive.m */, - 5A36BD763DB9E0593427049627E5BEB1 /* SSZipCommon.h */, - EFE27DBA5CC4FB506653433551B948E2 /* ZipArchive.h */, - 0AF67235297E2EDA495A4A8F906D1FF3 /* Support Files */, + D9AA7D1AD4C1D2BEB1EC2E742BC08FC8 /* Core */, + 5F9DBE2E26F15234B464A9BA54B615C9 /* Support Files */, + 24A3A4AE69FE382416E3B1647E308E94 /* Swift */, ); - name = SSZipArchive; - path = SSZipArchive; + name = CocoaLumberjack; + path = CocoaLumberjack; sourceTree = ""; }; - 1AB0AB4BDCA2D7C63CF4178A7743F7C1 /* Support Files */ = { + 1FF557D24B9F83B57B572434333E0729 /* encode */ = { isa = PBXGroup; children = ( - A4D86126F8F88D62A808DEEC753D6F09 /* FirebaseCoreInternal.modulemap */, - 711EB7A4C680035497821423687A3CDD /* FirebaseCoreInternal-dummy.m */, - 2C69CF6F842EA1A10EAF1E2F7ECC0B9F /* FirebaseCoreInternal-Info.plist */, - A63AD2CDF417EB31899D37704462088E /* FirebaseCoreInternal-prefix.pch */, - C70C3070C8D127470BB6821D2F804A34 /* FirebaseCoreInternal-umbrella.h */, - 4A7A90F577016D738418B1B63623A55D /* FirebaseCoreInternal.debug.xcconfig */, - 6F28316F04298D55AEB24761F4429943 /* FirebaseCoreInternal.release.xcconfig */, ); - name = "Support Files"; - path = "../Target Support Files/FirebaseCoreInternal"; + name = encode; sourceTree = ""; }; - 1F46CF57C76F6F268A26F1A0739EDD6D /* Frameworks */ = { + 2045F0E96DD0254E1EEBDA4518994EB3 /* Frameworks */ = { isa = PBXGroup; children = ( - 8EA1D230ABFEFE04CEA177B8726E4543 /* FirebaseAnalytics.xcframework */, + 90DE23E5C1C91033726687D9B265AC56 /* Sparkle.framework */, ); name = Frameworks; sourceTree = ""; }; - 22CF8B382FC11A98A84F701153B1DBD0 /* FirebaseCoreInternal */ = { + 24701BF3984A7439017698858EC0F675 /* Support Files */ = { isa = PBXGroup; children = ( - 1C960C6A2753778D212E3578FA2CA9C5 /* _ObjC_HeartbeatController.swift */, - 02524D89E21EA7415E08457D64F8F21D /* _ObjC_HeartbeatsPayload.swift */, - 7051DE7C6BD01338F37D64659C42097D /* Heartbeat.swift */, - AD2E8DAC8C65B05F7DB1A061E01EE1D9 /* HeartbeatController.swift */, - 24632470859A47B1836928F8D0B0F173 /* HeartbeatLoggingTestUtils.swift */, - 5A6FEC8530892F2BFA81E6896DCD54DA /* HeartbeatsBundle.swift */, - F488F32F7ED73324394E1FF5BF49310C /* HeartbeatsPayload.swift */, - 2BC9B203BB251EB4A749B4A2C42FDE05 /* HeartbeatStorage.swift */, - 91BF0D53C3A1A73B206B03F818AC4217 /* RingBuffer.swift */, - BC3DDE72B95B2FBB432A33151C936EBA /* Storage.swift */, - 17621A66DE927854976A90357AB3D7C8 /* StorageFactory.swift */, - 30AF218D2FEB0A0B41611A0F9589A5D4 /* WeakContainer.swift */, - 1AB0AB4BDCA2D7C63CF4178A7743F7C1 /* Support Files */, + EE7013FAE73C6AB13E0335EDA7762D19 /* MASShortcut.modulemap */, + C060501DDE4B699010EFF3D61B1D3DD6 /* MASShortcut-dummy.m */, + 4ED97E9FCFCD4E0D48312012F7DD13F9 /* MASShortcut-Info.plist */, + 43A3D8EDCA16E7A245409B6E1D4B5466 /* MASShortcut-prefix.pch */, + E7E3B5FC8702522CBB493A5FEC043478 /* MASShortcut-umbrella.h */, + 8A5C2B6EE9BE76F67FC9DA55CDDB2A95 /* MASShortcut.debug.xcconfig */, + 51C6721857B763BDCDC3EB45544B2A14 /* MASShortcut.release.xcconfig */, + B342395E9B0AD13506E78381565229F0 /* ResourceBundle-MASShortcut-MASShortcut-Info.plist */, ); - name = FirebaseCoreInternal; - path = FirebaseCoreInternal; + name = "Support Files"; + path = "../Target Support Files/MASShortcut"; + sourceTree = ""; + }; + 24A3A4AE69FE382416E3B1647E308E94 /* Swift */ = { + isa = PBXGroup; + children = ( + 25AD4A08C31C8F70001894C053A7E263 /* CocoaLumberjack.swift */, + 6C04CBFBA4E6040E4887EC32D4DC383A /* DDAssert.swift */, + 5EC6469C99997FB86DFDDFB44D59A373 /* DDLog+Combine.swift */, + 838E4DD371CE2E6744F72589106BAF2F /* SwiftLogLevel.h */, + ); + name = Swift; + sourceTree = ""; + }; + 24F3F205B3B4BA716EC089528DD004E0 /* AdIdSupport */ = { + isa = PBXGroup; + children = ( + 8E4E43EB0556753F3120AA6A625AD69A /* Frameworks */, + ); + name = AdIdSupport; sourceTree = ""; }; 277079E64D587828BC84168A65DD46C6 /* Pods-EasydictTests */ = { @@ -2085,28 +2127,59 @@ path = "Target Support Files/Pods-EasydictTests"; sourceTree = ""; }; - 27E33E1DAB07AEABA2786CDA9B1B763D /* FirebaseAnalytics */ = { + 2A2EEECE35BF9A0A206917A9EAC7E9CB /* GoogleAppMeasurement */ = { isa = PBXGroup; children = ( - 3F5A821FFB085B8117BDCC1FE43AA34B /* AdIdSupport */, - B5E9D3BA2D819D85E58B6E56F022C788 /* Support Files */, + 5EF70F7ADC19DE03FA89A2A4546843E3 /* AdIdSupport */, + B08084F9173C21603F72C1B7AEF75F40 /* Support Files */, + 854A1AB5070A29EDC92CC835E6EDCB98 /* WithoutAdIdSupport */, ); - name = FirebaseAnalytics; - path = FirebaseAnalytics; + name = GoogleAppMeasurement; + path = GoogleAppMeasurement; sourceTree = ""; }; - 3C828FECFF1DBE1E099C4D08EFBE2E0A /* MASPreferences */ = { + 3140C5A43BC10EFB6FCD4D970AFCFB89 /* Support Files */ = { isa = PBXGroup; children = ( - 4F1F8D0C4CCFACE12D1FEDF61A0EF89E /* MASPreferences.h */, - D30C9E095E9C7871CDA36FEBB976099E /* MASPreferencesViewController.h */, - 7AC94CFFB540677F8D0472AE22898CD6 /* MASPreferencesWindowController.h */, - C55993BE83DCF8845E3FEAAC667D05FE /* MASPreferencesWindowController.m */, - 86F1611140269C416932BCFA699CF876 /* Resources */, - 5DA4C95D65CCCB6E3D1BDEBAFFACD6A4 /* Support Files */, + 68ED30375AE07E4E2AE2632A3E9EBEEE /* GoogleUtilities.modulemap */, + 2519D7A49AC07097DF271452B3A8F167 /* GoogleUtilities-dummy.m */, + 50FDC20F58789CE9E7AD02FBB8A9F174 /* GoogleUtilities-Info.plist */, + E4DAACE2E57E164555CC53706176C97D /* GoogleUtilities-umbrella.h */, + 375D9EDBB5FDCC95822ECC11DD9E3FBC /* GoogleUtilities.debug.xcconfig */, + 3D8DD889BB7D1080B15D98D04A421817 /* GoogleUtilities.release.xcconfig */, ); - name = MASPreferences; - path = MASPreferences; + name = "Support Files"; + path = "../Target Support Files/GoogleUtilities"; + sourceTree = ""; + }; + 36F80AA6DA219AE012E89CCF5F3BCE61 /* AppDelegateSwizzler */ = { + isa = PBXGroup; + children = ( + 377BAF8ADD5C343F8800CCABCBA38032 /* GULAppDelegateSwizzler.h */, + 92C371FA08D1CE5B687693730362BB22 /* GULAppDelegateSwizzler.m */, + 60E694E0032D9C53BFFC909C41684F58 /* GULAppDelegateSwizzler_Private.h */, + ECB13541CEA71ADCD31E7804C45F7549 /* GULApplication.h */, + 7F1E40BD0CDA8E3D2EAFC1C269B30893 /* GULLoggerCodes.h */, + 870E635E286D84B438B3BBE74B5D4D73 /* GULSceneDelegateSwizzler.h */, + 3F81E58C21DCE9B23B65051A2BEC209B /* GULSceneDelegateSwizzler.m */, + 07F30AF02159CA4C3AEFDE62EBB710F3 /* GULSceneDelegateSwizzler_Private.h */, + ); + name = AppDelegateSwizzler; + sourceTree = ""; + }; + 37D159A7FE493587803F6FE522F94E0F /* Support Files */ = { + isa = PBXGroup; + children = ( + 3B30AF0E5D38ACC7A082EFACA5156375 /* ReactiveObjC.modulemap */, + 9900E1B25AF91223A482143ED0CD4F44 /* ReactiveObjC-dummy.m */, + B59F0A841F5A7B8E3B69C62CFBBBA435 /* ReactiveObjC-Info.plist */, + 680A713EC63C3B1A2F97F1D6548EC799 /* ReactiveObjC-prefix.pch */, + 35747E68633EA60A46D54A7D04B4ACE3 /* ReactiveObjC-umbrella.h */, + 25CA565A48F341B02CFA4491E868627F /* ReactiveObjC.debug.xcconfig */, + A31E17F9F5A72BE898B1319436003407 /* ReactiveObjC.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/ReactiveObjC"; sourceTree = ""; }; 3D866075C3D3015C6742E23645E52689 /* Pods-Easydict */ = { @@ -2126,97 +2199,79 @@ path = "Target Support Files/Pods-Easydict"; sourceTree = ""; }; - 3F2DF16108547579C839D088E644D5A2 /* Support Files */ = { - isa = PBXGroup; - children = ( - 52D26F7F623666CB5DA490E2EA0F7246 /* FirebaseInstallations.modulemap */, - 54A9F842955EFAA31168A1A7C6E207AE /* FirebaseInstallations-dummy.m */, - CCA6F39F718E158731C34F83DFC90BB9 /* FirebaseInstallations-Info.plist */, - 2F56572217F4B4D8A01A5F9EBB204EF0 /* FirebaseInstallations-umbrella.h */, - 1FEB7DD27733B82A7752B7CF5E59D2A5 /* FirebaseInstallations.debug.xcconfig */, - 985C8F7B08FC1F83E22AEE686D560835 /* FirebaseInstallations.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/FirebaseInstallations"; - sourceTree = ""; - }; - 3F5A821FFB085B8117BDCC1FE43AA34B /* AdIdSupport */ = { + 445158C98BD960720E8404414254233F /* FirebaseAnalytics */ = { isa = PBXGroup; children = ( - 1F46CF57C76F6F268A26F1A0739EDD6D /* Frameworks */, + 24F3F205B3B4BA716EC089528DD004E0 /* AdIdSupport */, + 0341EBD38F8CCA2A25F1B37E17FAB559 /* Support Files */, ); - name = AdIdSupport; + name = FirebaseAnalytics; + path = FirebaseAnalytics; sourceTree = ""; }; - 41EFBA8E572194A1A2424A20E471686F /* Support Files */ = { + 44C7B5B13C2E97D409955F434DEE807E /* FirebaseCore */ = { isa = PBXGroup; children = ( - 44C0850E1B7396B4A411CA9ADD2DA747 /* JLRoutes.modulemap */, - 9D0DF020DB5CEB74D7B0E96854E7A3B7 /* JLRoutes-dummy.m */, - 688F1ABDC42E2D681044E58E665EAE91 /* JLRoutes-Info.plist */, - 94C783C474114F1D4DCF6FC615B795A8 /* JLRoutes-prefix.pch */, - AD864ABF73F4701EBB4B8F808E7A5562 /* JLRoutes-umbrella.h */, - E3ADB4DA991E23168BB0FF9B3C4811B4 /* JLRoutes.debug.xcconfig */, - 2348345A9A6B87047ACFE426DF9AB099 /* JLRoutes.release.xcconfig */, + 602C5C5FC51C55B4147E6D12C6C694DA /* FIRAnalyticsConfiguration.h */, + 078280E39F8D48CA347F1812F4325525 /* FIRAnalyticsConfiguration.m */, + EE40000F23331F27B54AEEFA0AE619B8 /* FIRApp.h */, + 58E6A0E080546253762BA7E1737E0355 /* FIRApp.m */, + 41E79669F9CB170DE5EFD2ADCAE6FAC4 /* FIRAppInternal.h */, + E23188E6FD3A731A34304EFA2F6FDBBD /* FIRBundleUtil.h */, + 3EAF784F7862C1985CD15FD146FC25C2 /* FIRBundleUtil.m */, + 665016A3420C45B4FE02498ECFEA7DE0 /* FIRComponent.h */, + 15D666A76A0211836C450E104E7CC854 /* FIRComponent.m */, + 49E910A6450B2D1A9A3B91FDA226F2BF /* FIRComponentContainer.h */, + F80D2B19B1EE1E3899423621E1B81B70 /* FIRComponentContainer.m */, + 6B523DFB6B1D69BA3BC8815B34AE29FE /* FIRComponentContainerInternal.h */, + 7F05B6E5E8E55313C5F01EE16ABFECEC /* FIRComponentType.h */, + 750D4784392A940839C8C6199BB364B5 /* FIRComponentType.m */, + E47F4E7A23DEFD11EB98985979D3BDA6 /* FIRConfiguration.h */, + 00503E6201D69A55E4735E488873F7C5 /* FIRConfiguration.m */, + 2E235FB86F929521B6F003A4F02448E4 /* FIRConfigurationInternal.h */, + 0980AE61E61641D1D345C5BD1D85C868 /* FIRDependency.h */, + 04F3597EEE784742B92F27E6BB8EB8D3 /* FIRDependency.m */, + 970179A39F2E652E194DF310A25DCB51 /* FirebaseCore.h */, + 5BDE04531299D1BB7CE5A17BC28BF929 /* FirebaseCoreInternal.h */, + B141C215E74D770A8724E99849592975 /* FIRFirebaseUserAgent.h */, + 65D09C82D64C5A2EDB7E599EB7160DFC /* FIRFirebaseUserAgent.m */, + 2BA54877E4F27E84EA72A0730CA15B93 /* FIRHeartbeatLogger.h */, + 4A7B2B2645CDC8FCD150C6EBC9083957 /* FIRHeartbeatLogger.m */, + 3AD129061A908E01C291997B5C2F56BB /* FIRLibrary.h */, + CF27EC3D1CC53098269E0FD8FED1952A /* FIRLogger.h */, + A25A87B140DCF902D4E3239752002613 /* FIRLogger.m */, + 6CC2A829F79D047FCC851B0F0CC3D4E3 /* FIRLoggerLevel.h */, + 42C00F9B1A1D9B1A0B71B4632BE1EA04 /* FIROptions.h */, + FEDC5BF64D97C4FD74178266EF6D2AA0 /* FIROptions.m */, + 885302F72FFC8DDE6B550C2CEC6B3CDB /* FIROptionsInternal.h */, + DB198564B6CD5B9D3DCC9CEB35D674FE /* FIRVersion.h */, + 6AFDA56968FA7F52ADD558AE1F40CC88 /* FIRVersion.m */, + 8A9CCCF4F7F1E420E335F39D1259E0C2 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/JLRoutes"; + name = FirebaseCore; + path = FirebaseCore; sourceTree = ""; }; - 4381D169E612BE4203F959FAB18EC836 /* encode */ = { + 538ADA23A7FC24B5251FC53D07751035 /* Reachability */ = { isa = PBXGroup; children = ( + 2010079882908D2167EE3C1C1569ACE4 /* GULReachabilityChecker.h */, + 8C464BB87B50E1EE34759014BE1F4E50 /* GULReachabilityChecker.m */, + 1E15B0A514B8F1A9B422901BE3B2C39C /* GULReachabilityChecker+Internal.h */, + DCD471D706BC4AB2D9B38610FE0A587A /* GULReachabilityMessageCode.h */, ); - name = encode; + name = Reachability; sourceTree = ""; }; - 4F5AA6E6AFA68899D224F564CB7815D2 /* PromisesObjC */ = { + 54ABAA0DA9668674565C12B682056F71 /* Serialization */ = { isa = PBXGroup; children = ( - 9371BDC7802D8CF4EF2B6398DEDC1A5B /* FBLPromise.h */, - 1F4D4C460928C103E8BAAB08BBB4176D /* FBLPromise.m */, - D2E3846E51DF89E5654DC0EE4B1056AC /* FBLPromise+All.h */, - E1B67A6765F1EF1B0D0545E9E72B72A2 /* FBLPromise+All.m */, - 5CD69D5D8284C5FE684863B5F5866531 /* FBLPromise+Always.h */, - A71743BB346E386912CE11B7E3CDD0B9 /* FBLPromise+Always.m */, - 0CC8B3B40E151C7C9924D6D64BEC9916 /* FBLPromise+Any.h */, - AB7E46935839163CE8C378F9DA2C06B4 /* FBLPromise+Any.m */, - F391BBAB44C1F7AD014C672FA3D3FA74 /* FBLPromise+Async.h */, - CD33BF9E5DD9F25BEE8DCD39837A5F93 /* FBLPromise+Async.m */, - A056B918FCD693593857436E322324D3 /* FBLPromise+Await.h */, - 63AFD5943976836C233A68622FA9F164 /* FBLPromise+Await.m */, - 7A7AA124B0C7E90A59D7557A7FCE2F63 /* FBLPromise+Catch.h */, - 6FBD1BA5C0CB9B63663F882D145A4A1E /* FBLPromise+Catch.m */, - DFDD3B1CC5C9786B95651CC9DFB9DC23 /* FBLPromise+Delay.h */, - 91B4D3AB4BE485DBD47361731B9DA696 /* FBLPromise+Delay.m */, - 87E2715C339B7E78EBA82E6E13633A50 /* FBLPromise+Do.h */, - 0FFF1E020E59B69AD2341FDF91BE5E8E /* FBLPromise+Do.m */, - 6E1477A80051D032D99B696727D59002 /* FBLPromise+Race.h */, - 3A716B8751B1B77A18182A697711CC31 /* FBLPromise+Race.m */, - 29A24D2863A4CA3867E12145BC9FBEAC /* FBLPromise+Recover.h */, - B8DA71807A6AF2C229ADC226F3AA807C /* FBLPromise+Recover.m */, - 95B9B8D9872E5106AD605D3F76986A05 /* FBLPromise+Reduce.h */, - EE103BF5B1484329CB2F3486237F3704 /* FBLPromise+Reduce.m */, - DF2E5624817742D2F918CC31FAD4A675 /* FBLPromise+Retry.h */, - EAACE17841BC1026606CB559BDC75B4E /* FBLPromise+Retry.m */, - 2FD5229AFD820F75E7336DC5543A330B /* FBLPromise+Testing.h */, - C6B37FD57BA834215D9A7E7B6DFC1924 /* FBLPromise+Testing.m */, - 0A79CED8B4AB2E41A35B2B6FA22BF042 /* FBLPromise+Then.h */, - 6296FAFCFA06A519630F332B92D0FADB /* FBLPromise+Then.m */, - 08F5F3A0300FC8B8557ACE4F251B0330 /* FBLPromise+Timeout.h */, - 1C3520F26513B85AC0F0835339E66762 /* FBLPromise+Timeout.m */, - 6D545ED036D87E1B7A8384ED767CBE4D /* FBLPromise+Validate.h */, - 8B53E22A00CD76B79D6B0195B2DE432A /* FBLPromise+Validate.m */, - B77B3FD89EDDEC87925CD616602BEF99 /* FBLPromise+Wrap.h */, - E93DE43A839E0EFB480B908FA4A26874 /* FBLPromise+Wrap.m */, - FB83EF80CA63809AF00FAA676DC0583C /* FBLPromiseError.h */, - C04C65F6271CD58F799ACF36FA394049 /* FBLPromiseError.m */, - FEA513695625D1E2412F5439477004B5 /* FBLPromisePrivate.h */, - BA307D46D62245705525BBAE9A755E94 /* FBLPromises.h */, - B8863B6FA7835FD5C26FFA8E2176347A /* Support Files */, + 675425C34D81039EB4E0B2D94E7BC446 /* AFURLRequestSerialization.h */, + AFA15FFC36D1BEFA94DEE3853812DE01 /* AFURLRequestSerialization.m */, + DCDAFFC1C0B94B510D3CF380B6EA8F40 /* AFURLResponseSerialization.h */, + DB6255273A61DDC6BA0657B642FE4792 /* AFURLResponseSerialization.m */, ); - name = PromisesObjC; - path = PromisesObjC; + name = Serialization; sourceTree = ""; }; 5693BBAC8BA81E6BB21D5358033E736E /* Products */ = { @@ -2246,447 +2301,543 @@ name = Products; sourceTree = ""; }; - 56FADA3886E9CD5BDCCCBDFD8FE7B22A /* Support Files */ = { - isa = PBXGroup; - children = ( - 4693AE217C16B55F635823ABD54206E8 /* KVOController.modulemap */, - 8990ED32D1770EA4E78BFC12EB8EECFF /* KVOController-dummy.m */, - 7C818F5373BC8AE051AC26960B7A8362 /* KVOController-Info.plist */, - D4B9A42724F06493123566C60517F161 /* KVOController-prefix.pch */, - E42B4C79BB4429B1A294B8AACB7E1174 /* KVOController-umbrella.h */, - 05099314B4BE38FA8C7F13C027C6A072 /* KVOController.debug.xcconfig */, - 3A2771228856CC56144093AC04A5F635 /* KVOController.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/KVOController"; - sourceTree = ""; - }; - 586D92D3AFE491EEAFD046D466AD2E44 /* decode */ = { + 5863BA3F0369256C7E39C6B39FB7EFE4 /* Crashes */ = { isa = PBXGroup; children = ( + E82339B44942E537E6B232809FCDD1F0 /* Frameworks */, ); - name = decode; + name = Crashes; sourceTree = ""; }; - 59D93310FD6238B7442529B269DFD3D0 /* Support Files */ = { + 5CF69AD90333913B3531509D285C3A3A /* Network */ = { isa = PBXGroup; children = ( - 5F39793A82120B7F55E29933226F1448 /* GoogleUtilities.modulemap */, - 49BD153F2F8B488A5884D7C7F69C6452 /* GoogleUtilities-dummy.m */, - A030DE3A7E5C1554694CD0FDC8F2150F /* GoogleUtilities-Info.plist */, - 13B2185577A1A1FDA1EB507BC0486F0C /* GoogleUtilities-umbrella.h */, - 43E523E11B2713F25B94FFE8B9D42650 /* GoogleUtilities.debug.xcconfig */, - 23D592C3DEFD0BE137A647B4BCF36976 /* GoogleUtilities.release.xcconfig */, + 92B31DEACF7ACB54635AA1F8DC0AB194 /* GULMutableDictionary.h */, + 8C65659FEC215D80300D12797FA1C4BD /* GULMutableDictionary.m */, + EA207EB10F7BEB60AD0321A7D614C0BA /* GULNetwork.h */, + 275158449F80AC670F254FD5B81EF3ED /* GULNetwork.m */, + 260C5BC34E2901ABBEA06CB8A0A8898C /* GULNetworkConstants.h */, + 74137358BAEFA80ABECDCE90B2EBDD7D /* GULNetworkConstants.m */, + 1B2960659D759E2D577A273EBFB9AA16 /* GULNetworkInternal.h */, + E66976B548CE5067C6FB8496374EFECD /* GULNetworkLoggerProtocol.h */, + 8294875FC5A9201A0619E4A081668842 /* GULNetworkMessageCode.h */, + 18F1B870BC7E22E62814C9DBD3D9CA9E /* GULNetworkURLSession.h */, + 27B59F20AE3AC645168DD2A9379351CD /* GULNetworkURLSession.m */, ); - name = "Support Files"; - path = "../Target Support Files/GoogleUtilities"; + name = Network; sourceTree = ""; }; - 5B5EA7233EFE85A78815203F58887DE4 /* Frameworks */ = { + 5EF70F7ADC19DE03FA89A2A4546843E3 /* AdIdSupport */ = { isa = PBXGroup; children = ( - 6AE5002391A7A729D0758DEE68A6852A /* GoogleAppMeasurement.xcframework */, + 7130C993D8C604134BB5773BF03757A8 /* Frameworks */, ); - name = Frameworks; + name = AdIdSupport; sourceTree = ""; }; - 5DA4C95D65CCCB6E3D1BDEBAFFACD6A4 /* Support Files */ = { + 5F9DBE2E26F15234B464A9BA54B615C9 /* Support Files */ = { isa = PBXGroup; children = ( - 1A62D91A40C542CC6538060ACC881AE5 /* MASPreferences.modulemap */, - 136A0FE14FDEDE1924305FDFB94D89EA /* MASPreferences-dummy.m */, - 5CAA301B0EFA9C6A284A5BB5E3258512 /* MASPreferences-Info.plist */, - F77DDBC6AC3B1FDBA9A4BEF661508CEA /* MASPreferences-prefix.pch */, - 4C4946CA25A36F83C837417F32152B01 /* MASPreferences-umbrella.h */, - FB7AB15612865D39BA03F644C7923925 /* MASPreferences.debug.xcconfig */, - 7F4B3369A56926499FC9F25514DE48EA /* MASPreferences.release.xcconfig */, - A96E3AA047887C76B796492BB46C290D /* ResourceBundle-MASPreferences-MASPreferences-Info.plist */, + C7672053F16C7833506522B062C9E0F7 /* CocoaLumberjack.modulemap */, + D40D4D1BD694EDAD8BAA79A407423D7A /* CocoaLumberjack-dummy.m */, + 81A5F356054D66BCC7D09D71DE5A7A44 /* CocoaLumberjack-Info.plist */, + 6F4BF9D5EB2848303E8A57E459F7B478 /* CocoaLumberjack-prefix.pch */, + FB4EA758DDD1FE0B822702581540FA59 /* CocoaLumberjack-umbrella.h */, + A4414BB3B780D6EC2894CC78F381D7FA /* CocoaLumberjack.debug.xcconfig */, + 91BAE3F9E06C3E4BEF63F3A6585FE305 /* CocoaLumberjack.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/MASPreferences"; + path = "../Target Support Files/CocoaLumberjack"; sourceTree = ""; }; - 60B71924C56F8CFE484FC3D62E654C34 /* Support Files */ = { + 600540E759B217470BA1EB64BE17E134 /* UserDefaults */ = { isa = PBXGroup; children = ( - D034039889B8389F714239605BE85392 /* MASShortcut.modulemap */, - 5BA1E07C72AC3EAE453EB7622186F25D /* MASShortcut-dummy.m */, - 40AA778175BB88FEAC770B1A6280AEE7 /* MASShortcut-Info.plist */, - 47274F2CBDD87F8262894369CAFF599E /* MASShortcut-prefix.pch */, - 832A38F24A7F6C564F78DAFA316707B2 /* MASShortcut-umbrella.h */, - 7E6A426841A08A7DEA02267115494441 /* MASShortcut.debug.xcconfig */, - D28E993E67C12389BF3A2DF4EA4BEDA6 /* MASShortcut.release.xcconfig */, - 77260539C57E31F6D0F3C256A030E2C7 /* ResourceBundle-MASShortcut-MASShortcut-Info.plist */, + EE4CB1059E51277D733804DB367C4522 /* GULUserDefaults.h */, + 287E32A0B2BAD1ACE7342594F91FFC04 /* GULUserDefaults.m */, ); - name = "Support Files"; - path = "../Target Support Files/MASShortcut"; + name = UserDefaults; sourceTree = ""; }; - 64401F50630CA983BBE06E33848E05A9 /* Support Files */ = { + 60D77D8C86FED2CC7B924E53F36D1074 /* PromisesObjC */ = { isa = PBXGroup; children = ( - 7DE601915D25BBD4170103C3873F5433 /* GoogleAppMeasurement-xcframeworks.sh */, - 27E94BF83E6B4AEFC56E010F78A84F0D /* GoogleAppMeasurement.debug.xcconfig */, - B58520A59F7A794C5B285E93BCFF13B5 /* GoogleAppMeasurement.release.xcconfig */, + 07428419111208D360703A291E70E7BE /* FBLPromise.h */, + C522E98E447A8A58A0837A1524570627 /* FBLPromise.m */, + FF6806FC054052F0C537610DEE67D28C /* FBLPromise+All.h */, + C63C08F1D42A2722B51847C3735E9D50 /* FBLPromise+All.m */, + 4AC583CC850361E6D47F2BA0D37C7124 /* FBLPromise+Always.h */, + F6CE1F94282B977C8D9AFFA2B10D325F /* FBLPromise+Always.m */, + D7A78477506C04205936E362C53A60DD /* FBLPromise+Any.h */, + 3E5A0F25A33AAE2E6627143FE7633A21 /* FBLPromise+Any.m */, + A97BEC96D92A6F8320B0C1B4A10FB67E /* FBLPromise+Async.h */, + 4731E367FB6938D056585FE37824535B /* FBLPromise+Async.m */, + E6B63FAC2BEE60799A69C401C7843729 /* FBLPromise+Await.h */, + FB450E0AAB8EBA8D3BD094783F59F578 /* FBLPromise+Await.m */, + 7E36C9508D91ACF5553876EA1063252A /* FBLPromise+Catch.h */, + 173D54D682B22EF5CEA5D6CB73A68F8F /* FBLPromise+Catch.m */, + C9792DF54E48D169E467DCA88FFE27D0 /* FBLPromise+Delay.h */, + 9A19E63C2D74EE692430552EFC0FA42C /* FBLPromise+Delay.m */, + F166B8E7D450BA301EAEBCC0B6092485 /* FBLPromise+Do.h */, + E863ABD7D7FD89DCE1BC6B302A9134CC /* FBLPromise+Do.m */, + 1391FBA196CF4D021D5B572050A4F88B /* FBLPromise+Race.h */, + ECE0CE1F5C39AAB0ADFF4E39CEE2AAE1 /* FBLPromise+Race.m */, + 90DE878488A979232F39E04808E619AE /* FBLPromise+Recover.h */, + EE0D2B857953774CD2D005F8EA3E03A1 /* FBLPromise+Recover.m */, + 952087317CC29D90D291D1B2F202CCF3 /* FBLPromise+Reduce.h */, + CA1F5099C6A1F5D152D13378E822FA64 /* FBLPromise+Reduce.m */, + 0207FE3FADE60C4041E109440F285444 /* FBLPromise+Retry.h */, + C7BBC60EF61D90FBF76D253BCDD74503 /* FBLPromise+Retry.m */, + D5FD1EF0F515CE441CAFB5EFF5347C15 /* FBLPromise+Testing.h */, + AADAFE53B685AED532FE572D802192FB /* FBLPromise+Testing.m */, + 7052AC5D6D5654663A540260A790CAA5 /* FBLPromise+Then.h */, + DDF3DE7208AEE208EDA964D8EA1D1551 /* FBLPromise+Then.m */, + C3754248866FE9BB56E970404DACBC24 /* FBLPromise+Timeout.h */, + EF4B307A3FD843E39D10C57A6263B590 /* FBLPromise+Timeout.m */, + B3C515D092070D44465A22189264191F /* FBLPromise+Validate.h */, + E5F667C7A82BFB7C725B29099A4AC186 /* FBLPromise+Validate.m */, + A57E810C57E31937BFFECC46206FAF73 /* FBLPromise+Wrap.h */, + 2854988BC599B89EF42966D485630F58 /* FBLPromise+Wrap.m */, + B81DEBD594BE65BC2686D2DF3F682D19 /* FBLPromiseError.h */, + 6A02F7250C79C56928DBD90D1C37C520 /* FBLPromiseError.m */, + 3D337E28205C3DB5DD1D609A3F31B42C /* FBLPromisePrivate.h */, + 8B2163CB3997D14FB0BA71D528539F4D /* FBLPromises.h */, + C6C922A2BA31C7F28D1556CD64FB56C4 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/GoogleAppMeasurement"; + name = PromisesObjC; + path = PromisesObjC; sourceTree = ""; }; - 6A65BDBBB3F31CE5A698B8E96E1500F7 /* JLRoutes */ = { + 62DFB8ACF8DCA13B1ACF7847D2E263CC /* Sparkle */ = { isa = PBXGroup; children = ( - 47922AF05C19E281D9E2DC11A67D9552 /* JLRoutes.h */, - 1324341AA9C409D2BA1F414A46E83A89 /* JLRoutes.m */, - 7D185350283BADBF11F96A18E843C68B /* JLRParsingUtilities.h */, - 83DB7844456FE19ECFF19C9C2751BB74 /* JLRParsingUtilities.m */, - 622D369A406F6CA6145C6C4741350A8C /* JLRRouteDefinition.h */, - 0C4C4664E8CFAA23183697612E263013 /* JLRRouteDefinition.m */, - 4666ABA44A20BD811D6652D5DE2013CC /* JLRRouteHandler.h */, - 2251F2661ABA3FEF7BB908C8AB62BA1B /* JLRRouteHandler.m */, - 3339057536E15E76F6B3EC49C2AFB74D /* JLRRouteRequest.h */, - DA49BCABA14A3DB1C63A4947D459EE86 /* JLRRouteRequest.m */, - 7AE7C2FF8E11A8732192C52A0564923D /* JLRRouteResponse.h */, - B8BE9AD92BC71875126CB5A42DD3289A /* JLRRouteResponse.m */, - 41EFBA8E572194A1A2424A20E471686F /* Support Files */, + 007B0E303A96E73E7EE417B7896B6F57 /* Sparkle.h */, + 1BB1D08CA57F93E5789290449150805C /* SPUDownloadData.h */, + 2223FC9AD427DD270681767655B7915D /* SPUStandardUpdaterController.h */, + 83AA8BB42D0F0ADBEC420AA5165A55F6 /* SPUStandardUserDriver.h */, + A377CCEA25CCC17BFC69C2DF468BAB1A /* SPUStandardUserDriverDelegate.h */, + AF3D00BE84C9EFD7C4952CF033937DCF /* SPUUpdateCheck.h */, + C6C479FA18F3BD2247184134065799F6 /* SPUUpdatePermissionRequest.h */, + BD6725DD23772D8E10E61AFCFD9780F3 /* SPUUpdater.h */, + 310A391FA80F6380E55F3507073A7E98 /* SPUUpdaterDelegate.h */, + 240E8D183AA9AF3F31E2CA529B12BF0A /* SPUUpdaterSettings.h */, + 2E59C399F59C6CD4B422A8EF118B6078 /* SPUUserDriver.h */, + BB3016688D89FBAD7FA129492A3C39B5 /* SPUUserUpdateState.h */, + A4AEF4FF778BEB823F09E4786D2EE68A /* SUAppcast.h */, + 4ADC4D5C35F076869C636B6C039AF694 /* SUAppcastItem.h */, + 484519296B5DBB555B8228756C5AAE15 /* SUErrors.h */, + D3B74A2C8B17871AE7DD7D04D0BBFE25 /* SUExport.h */, + F10991A90F61D5B8AFACF733BB6ED6A1 /* SUStandardVersionComparator.h */, + E0E408CBC4F5D9D7CDFEA38DEECE13B1 /* SUUpdatePermissionResponse.h */, + 86C2E96FE79FD09AD11741FC20827F0C /* SUUpdater.h */, + 73E21C90E47005A8826C8B195A87084B /* SUUpdaterDelegate.h */, + AC30EFFB6D67A23EF2009FAF742665C8 /* SUVersionComparisonProtocol.h */, + 47B15B74AF6C85DF663C01906744A1AF /* SUVersionDisplayProtocol.h */, + 2045F0E96DD0254E1EEBDA4518994EB3 /* Frameworks */, + 0CC879A03E376706ED40650E2409A6BF /* Support Files */, ); - name = JLRoutes; - path = JLRoutes; + name = Sparkle; + path = Sparkle; sourceTree = ""; }; - 6E52F409BD0D67032329FE8BE6BFF868 /* NSURLSession */ = { + 6FBE0A61CD6E6B904D9FEDD7200CB86C /* NSURLSession */ = { isa = PBXGroup; children = ( - 246007C1BBBBA4F30B91E4299451687F /* AFCompatibilityMacros.h */, - 05767C42466EC7E44F052F349D142CB0 /* AFHTTPSessionManager.h */, - E1D921F0AD25D8B1E927496E7A35BC90 /* AFHTTPSessionManager.m */, - D68E67D419F6FBD2B27B83316F7F2DB2 /* AFURLSessionManager.h */, - 4712A5E8F191A5D666AE82700AD0EC73 /* AFURLSessionManager.m */, + 38ABC152CE3C0620EC55E691FB25164C /* AFCompatibilityMacros.h */, + 20AC055AF058AB18C22E2EB61A25E431 /* AFHTTPSessionManager.h */, + 85BDD5590E248A79825566148496D341 /* AFHTTPSessionManager.m */, + 8F335E0764FC34597616ABBD11D4151D /* AFURLSessionManager.h */, + F541C03C193E1F9D191A15AAE5604752 /* AFURLSessionManager.m */, ); name = NSURLSession; sourceTree = ""; }; - 6FCD49F43B6DAC9B0167E4732DB31F2A /* Environment */ = { + 7067D651188BC7621BDA2A7C82934B7E /* Frameworks */ = { isa = PBXGroup; children = ( - 4160AB7DDCFBC75A4AD88F479169A22B /* GULAppEnvironmentUtil.h */, - 5B4DE669C8529A15FC7B239D50AE5ECE /* GULAppEnvironmentUtil.m */, - AD95BA903CA206A6961CFED95EF5CF47 /* GULHeartbeatDateStorable.h */, - BFB1A14E736DD9A75C9E44C007992D5B /* GULHeartbeatDateStorage.h */, - 6F4396BA079B0885FF5210BE24A13C8F /* GULHeartbeatDateStorage.m */, - 8CFE78694626E98536B5044D3632AEA8 /* GULHeartbeatDateStorageUserDefaults.h */, - 2E2AF9D09B9B891DF58003A26E8A474D /* GULHeartbeatDateStorageUserDefaults.m */, - 00E177242EA523EE88B973E43FFF4B99 /* GULKeychainStorage.h */, - 434A3038630BD141CF08BBAAB3F88CFC /* GULKeychainStorage.m */, - 2FCA9E1C2BC38DE2A3DA30EE8BE1105E /* GULKeychainUtils.h */, - 82D41F351BF38A1278EED9958E294417 /* GULKeychainUtils.m */, - FE5F0A026371167057EBDAF8BFE254E1 /* GULNetworkInfo.h */, - 6CC4DF2C607CBCA60A223126465F8D5F /* GULNetworkInfo.m */, - F801F0E7CC76DF9B11E65CA96201FE92 /* GULSecureCoding.h */, - AA231B06CAAC20004BDA9A641C6494B6 /* GULSecureCoding.m */, - 75D7977BBE899334361E2E373A757FAB /* GULURLSessionDataResponse.h */, - F80ACC42D906B1904F340D9751A4E1AC /* GULURLSessionDataResponse.m */, - 72BA83405FFB47A1B1AD42A31A421490 /* IsAppEncrypted.h */, - B42863C20BE12DC2A1165A36088ABE6C /* IsAppEncrypted.m */, - E7F99694FB9C037799B1F66C50CFCC73 /* NSURLSession+GULPromises.h */, - 524160A2636274B67D1FFC59995D1DE2 /* NSURLSession+GULPromises.m */, + 9AA2C8ADF007298CF825A87AE19EBD00 /* OS X */, ); - name = Environment; + name = Frameworks; sourceTree = ""; }; - 7067D651188BC7621BDA2A7C82934B7E /* Frameworks */ = { + 7072A91A54360AEB9F6F402CFB3F5B6B /* Resources */ = { isa = PBXGroup; children = ( - 9AA2C8ADF007298CF825A87AE19EBD00 /* OS X */, + B780E0A68621576718D820F08584BD02 /* cs.lproj */, + 3158A4B666347A88BA194E5486016BFC /* de.lproj */, + 9CD0EF998EAC78FDC67CDC6F46FB33EA /* en.lproj */, + E502DCB349E734215CDBCEAA88BFBC92 /* es.lproj */, + D1CAC98679B2EC99420EAAD6CC42FD4E /* fr.lproj */, + 70FA11005193B3DDC439142D07607F26 /* it.lproj */, + 5397358700619E4CA7E94CCFE443BBC9 /* ja.lproj */, + 15ADD9E9C6ECE72BA108A16EF729DCB5 /* ko.lproj */, + 72AF7933E831E4644EAFCA8B05D61E2E /* nl.lproj */, + 1F6A9688883D909D7CE7AFF701ECA016 /* pl.lproj */, + 8D60A87754C8D61F6A08EC9BEB906AFE /* pt.lproj */, + C32F4AED06731D2F5CD4C03E554098BB /* ru.lproj */, + 85AD4FF46CE265896ECA71D5923C3AF6 /* sv.lproj */, + F0703A3F39B1DB81B7FB2ADEE5CBD044 /* zh-Hans.lproj */, + 5DA99B9E23F8C76ADE6F91BA0971A2A8 /* zh-Hant.lproj */, ); - name = Frameworks; + name = Resources; sourceTree = ""; }; - 76A8DAC0872BED7FE4EEE7566D7F7649 /* Support Files */ = { + 7130C993D8C604134BB5773BF03757A8 /* Frameworks */ = { isa = PBXGroup; children = ( - 924F486F2B9FA02D3D2A91C538E893F5 /* FirebaseCore.modulemap */, - 5C67621C7BE33946304BD7E14C8CD4C4 /* FirebaseCore-dummy.m */, - CF469E5DCB9C308BAA21537051D6D3FE /* FirebaseCore-Info.plist */, - BA934CC95A3611B714CB868FC2E018E2 /* FirebaseCore-umbrella.h */, - A858613BF3184F809B6714D3769B8FF3 /* FirebaseCore.debug.xcconfig */, - D616E1CF24F051EF0220D582FC194AE6 /* FirebaseCore.release.xcconfig */, + 0F018DD0C9733967F39BE4AE8D8B8BDC /* GoogleAppMeasurementIdentitySupport.xcframework */, ); - name = "Support Files"; - path = "../Target Support Files/FirebaseCore"; + name = Frameworks; sourceTree = ""; }; - 779005ADBD2084F9F26A851BAB9DFDB9 /* AppDelegateSwizzler */ = { + 71456520FA6BA63BAACF92DEEE29AFBB /* MASPreferences */ = { isa = PBXGroup; children = ( - 5AC915378D276FA9F1AA20D4E7ED6C9D /* GULAppDelegateSwizzler.h */, - B460678EAA288593BEC095234D548D76 /* GULAppDelegateSwizzler.m */, - B7418C60AA5BC3E7B472777586E8752D /* GULAppDelegateSwizzler_Private.h */, - 99DC280C8A6848978380D935D15AEAAC /* GULApplication.h */, - 838AD86B819621E69D45ED5DE41010A7 /* GULLoggerCodes.h */, - 2DF7DA3305BF21B4332ADB6558CBE0DA /* GULSceneDelegateSwizzler.h */, - 37F1BFD9704B21991FCE48EAFCE5C50A /* GULSceneDelegateSwizzler.m */, - C2CD15B6870AFBD8017C99764DCDEE19 /* GULSceneDelegateSwizzler_Private.h */, + 1CC55F44352370169F84C3BF15DA36CC /* MASPreferences.h */, + B58420553C2C05721595A07121C1DF5D /* MASPreferencesViewController.h */, + 53BD260A894276BCA87C1DB949F61FA0 /* MASPreferencesWindowController.h */, + F529CB57A55B6397CE7B2ECD19EE3C2B /* MASPreferencesWindowController.m */, + F9D553B5F5C6C66DB72C816CB2F78331 /* Resources */, + 7BAA8D63B801ED38F7D8FA4674320655 /* Support Files */, ); - name = AppDelegateSwizzler; + name = MASPreferences; + path = MASPreferences; sourceTree = ""; }; - 7812521B59963D2A66D088C555316CDA /* GoogleUtilities */ = { + 7B8F7087C2430586DAF3B85E88DAA059 /* decode */ = { isa = PBXGroup; children = ( - 779005ADBD2084F9F26A851BAB9DFDB9 /* AppDelegateSwizzler */, - 6FCD49F43B6DAC9B0167E4732DB31F2A /* Environment */, - EFE06B29701A698E8452C9E358C6D290 /* Logger */, - AD1DFD09988F22C02A35FDCE974818C4 /* MethodSwizzler */, - 8CEAFFB7A7C3B6CC52A2AB642322031A /* Network */, - 81AA42024ECC9ACE284C7DDE1AA6C96D /* NSData+zlib */, - 8428B35780D9CAEE9846FBB904CDCAE3 /* Reachability */, - 59D93310FD6238B7442529B269DFD3D0 /* Support Files */, - AA0166B0E640416A1B5B837314CD3719 /* UserDefaults */, ); - name = GoogleUtilities; - path = GoogleUtilities; + name = decode; sourceTree = ""; }; - 7A21655AADD7998ADCFA48D83189ED9E /* Support Files */ = { + 7BAA8D63B801ED38F7D8FA4674320655 /* Support Files */ = { isa = PBXGroup; children = ( - 81E333C6F5FBB2689C1567A0D326FA2A /* ReactiveObjC.modulemap */, - C680549AF04DF88A36E58511EE04E306 /* ReactiveObjC-dummy.m */, - 1CC1C0043A9052F90A74212B485C17D3 /* ReactiveObjC-Info.plist */, - 23B9E9495B9C8704E0593D642665110B /* ReactiveObjC-prefix.pch */, - 301DB1F6215086B00E6165113BAE1605 /* ReactiveObjC-umbrella.h */, - 9BC2898039C7C6CE10FDA21E4657BFEB /* ReactiveObjC.debug.xcconfig */, - BAE1E5FCD86F90B0D043456EEF9E68F1 /* ReactiveObjC.release.xcconfig */, + CA1F9BA1FF9B7CEC32F1DCA0703620E2 /* MASPreferences.modulemap */, + 29227DCF3170C35CF09683B5F2AF4028 /* MASPreferences-dummy.m */, + 8075048914BF909B4FC3CA0BF8FF7566 /* MASPreferences-Info.plist */, + 5B55CA1052DB151F738DF87063DDF94D /* MASPreferences-prefix.pch */, + 8262A7B8BBE6FE691525EA316333163C /* MASPreferences-umbrella.h */, + C89CD4E24276D7608D4BE81DED6E2514 /* MASPreferences.debug.xcconfig */, + 1361D2F48C1D00902788B885559E945E /* MASPreferences.release.xcconfig */, + 1C7B081D4437F02910C873269722AB48 /* ResourceBundle-MASPreferences-MASPreferences-Info.plist */, ); name = "Support Files"; - path = "../Target Support Files/ReactiveObjC"; + path = "../Target Support Files/MASPreferences"; sourceTree = ""; }; - 7A71C3B007423B85BB2EEDC3E3A51A54 /* Resources */ = { + 7D926FC189F759FF1483700C3B74F0E1 /* Support Files */ = { isa = PBXGroup; children = ( - C7C200F99FE9BFF382C5CC5BBBFE4A11 /* cs.lproj */, - 5BA0283B90DA991EF5B95FD03048F6B3 /* de.lproj */, - 34DDB8E3F74E46FEFD55FA4264B9CC64 /* en.lproj */, - 7A1166C23AE87E3404A6AF3F2E6A634C /* es.lproj */, - 44D1031E2FDBA75D2F4CCC0AA6E9C4B6 /* fr.lproj */, - CB5E64FBE87BA2C4FE877389496B4F36 /* it.lproj */, - 77F90459830DEFC6FB638C7E74C478AB /* ja.lproj */, - 68F48234EFAA55126400F229E4DF079F /* ko.lproj */, - 6282B19128E077E463403836D6F4647C /* nl.lproj */, - 71AA00C346E1B8DA79411E60F8B596BC /* pl.lproj */, - 5079D3060604202BDE85B6B687CD6F38 /* pt.lproj */, - 70E756426EF8EAF367AB108C6C6B7094 /* ru.lproj */, - BB9C6F4616C9C3DE051CF5009AB3AEF3 /* sv.lproj */, - 7C85465E123D877BE6CE101A2040B6F2 /* zh-Hans.lproj */, - FD28846515D11A3024E2116B367F4A98 /* zh-Hant.lproj */, + C086C63C1E3DF73232D29A8877F65205 /* FirebaseCoreInternal.modulemap */, + 687BD844C921A57B199FB9345833BD8B /* FirebaseCoreInternal-dummy.m */, + DBDBB0E52C48D45AB02939B6AD1AD441 /* FirebaseCoreInternal-Info.plist */, + 22419CB25BB1BB9AAB7AC9C495BB53C7 /* FirebaseCoreInternal-prefix.pch */, + 6C3B4754FFFD7E99942A16DDC2F73E23 /* FirebaseCoreInternal-umbrella.h */, + 455AA8836A363E4A9C906FA2B7BA980D /* FirebaseCoreInternal.debug.xcconfig */, + 72F2FE5BC6638B3327F3F4BB08D5F788 /* FirebaseCoreInternal.release.xcconfig */, ); - name = Resources; + name = "Support Files"; + path = "../Target Support Files/FirebaseCoreInternal"; sourceTree = ""; }; - 7AAED97565F853C7587C1F0A791B584F /* CocoaLumberjack */ = { + 7E586452DF1524E2BB2CF744C8C13B36 /* MJExtension */ = { isa = PBXGroup; children = ( - 88FE33DE8B4E2FCE514560A2495EB9EF /* Core */, - B0772CD0A8FC5734E57D9DFD03F567BA /* Support Files */, - 98F36825AD2E4E930686AFFE19FDE3EF /* Swift */, + EA9D2E7EC91691C1ECD93374F0E20DF3 /* MJExtension.h */, + 510E86632D39DC6251944E1A3AB7254E /* MJExtensionConst.h */, + 806658A0740D453229ABF8453A3A9223 /* MJExtensionConst.m */, + B4197DD19E49234E24B1720AEA3EF4B3 /* MJFoundation.h */, + B908ABEC9AC3390E0CC7C073E36721E3 /* MJFoundation.m */, + 9EF3DEB38F0123335954D77CA738A601 /* MJProperty.h */, + C08B67CD618CE207EA95841264F6265F /* MJProperty.m */, + 760B64647052C0A405923802E2EA0ED9 /* MJPropertyKey.h */, + 3023D63F9D741F704444CC478199CCB7 /* MJPropertyKey.m */, + 7B6B861B3A13854A7F551B000F6F3027 /* MJPropertyType.h */, + A31FBF89838193C99DF4F10BC44693FF /* MJPropertyType.m */, + EDB9AD912C84FF94ABE3F36B4A5CA0BA /* NSObject+MJClass.h */, + 41B8812B3CEEA4F0AECD64E7AE86D790 /* NSObject+MJClass.m */, + F2D055CB15A807C01C676DBE88A0830F /* NSObject+MJCoding.h */, + 4C38238A0DB03F6C09B6EEE4F5757820 /* NSObject+MJCoding.m */, + 96A0B72DD6BEAC82BBDED0DF35D94CE1 /* NSObject+MJKeyValue.h */, + BC5DC2E1D21621BF948EAACFDDA1FD57 /* NSObject+MJKeyValue.m */, + 06A954C57A2969512D89EEEB618DF443 /* NSObject+MJProperty.h */, + 54966651A68A168B6042371643129CC2 /* NSObject+MJProperty.m */, + AE60E983EFE3DC595C64CF2CFE3C70D1 /* NSString+MJExtension.h */, + 2DDFEA7139B91DA58293C4AC9E2BA402 /* NSString+MJExtension.m */, + CDDA3DF5E5D807B8D7DAD32145F5CCFD /* Support Files */, ); - name = CocoaLumberjack; - path = CocoaLumberjack; + name = MJExtension; + path = MJExtension; sourceTree = ""; }; - 7E1E7F16934684D0ECA7E9ADD48AF253 /* MASShortcut */ = { + 809FB4B79F1DF8914DDC781BD5DB5EB3 /* Frameworks */ = { isa = PBXGroup; children = ( - AF70B520A909D539AB708DA11C68B056 /* MASDictionaryTransformer.h */, - CB7927834E3BF41B37968ED4F1C3A9CB /* MASDictionaryTransformer.m */, - A29EA27499E5A988F88732AFAE877228 /* MASHotKey.h */, - 44AB3A65329E7D2EF75C67199AB26047 /* MASHotKey.m */, - 7AB03DB09E550BB37EA01EABE8E0DD60 /* MASKeyCodes.h */, - 4677F3926E0E7D6AF5AB70A3FA6EDF86 /* MASKeyMasks.h */, - 1F52ADF7BFF80B5D3E730E3A7F07C4C7 /* MASLocalization.h */, - CB35353A584F59F3EE6579F6B31A110D /* MASLocalization.m */, - 52580D434A37F2A8D774DAC21DF337F2 /* MASShortcut.h */, - 62D97AFB07B0B6155DFC6B0321DF43A5 /* MASShortcut.m */, - ACE4C189D987CFEDE9C81D36900C7A07 /* MASShortcutBinder.h */, - 253B2CFCFCB0EDDA1EA6E908F3A4A398 /* MASShortcutBinder.m */, - FA8B4DD908991F82A4392DAACAEB74B0 /* MASShortcutMonitor.h */, - CD3BEED450D50B90E7F743D9C57F2894 /* MASShortcutMonitor.m */, - 487CC32671C6FBB493BCAE25207581C4 /* MASShortcutValidator.h */, - 7666AE1E8820189682FA27E983BB361D /* MASShortcutValidator.m */, - FCDD3D90BB222555E9B2864B2C7B2BEC /* MASShortcutView.h */, - 3E402BDEB65FB5C7A5D7B9F0F702C7BA /* MASShortcutView.m */, - D2F7362DB621B4D8EB8F5154F86AD9B1 /* MASShortcutView+Bindings.h */, - EF42A60D866E9FFF5EDFC12C417F1A7F /* MASShortcutView+Bindings.m */, - 5FF9E062E5EA5A278A9F02AF14911F14 /* Shortcut.h */, - 7A71C3B007423B85BB2EEDC3E3A51A54 /* Resources */, - 60B71924C56F8CFE484FC3D62E654C34 /* Support Files */, + 16E02478523EBF2D0AD82B02060A43D9 /* AppCenter.xcframework */, ); - name = MASShortcut; - path = MASShortcut; + name = Frameworks; sourceTree = ""; }; - 81AA42024ECC9ACE284C7DDE1AA6C96D /* NSData+zlib */ = { + 854A1AB5070A29EDC92CC835E6EDCB98 /* WithoutAdIdSupport */ = { isa = PBXGroup; children = ( - 6F0B0931DCAEA24C6F80C5789DC3B297 /* GULNSData+zlib.h */, - F204E1BA4178A8B574CB1A5DE2A26DDB /* GULNSData+zlib.m */, + F01C24DE2EEECE1F09C44619394667C9 /* Frameworks */, ); - name = "NSData+zlib"; + name = WithoutAdIdSupport; sourceTree = ""; }; - 8428B35780D9CAEE9846FBB904CDCAE3 /* Reachability */ = { + 8A9CCCF4F7F1E420E335F39D1259E0C2 /* Support Files */ = { isa = PBXGroup; children = ( - 30EF18043EA40CBA2354DA01B7CD722B /* GULReachabilityChecker.h */, - 89F4E69ABE2C151CF56923387054BCE9 /* GULReachabilityChecker.m */, - 9B7B448E0E519E0FAFC199FB1D2D1C66 /* GULReachabilityChecker+Internal.h */, - 1F0AC615470EA531F8E4E32AA1178DAB /* GULReachabilityMessageCode.h */, + 94904B46FBA86C8D1FFE3884D0650B72 /* FirebaseCore.modulemap */, + DD1FFF85B3F38B0E3B7DF645D37B771A /* FirebaseCore-dummy.m */, + 0185F4BF31D60F7AF916A585F6397BD0 /* FirebaseCore-Info.plist */, + B6228DFFD472D8AECA615124450DB5AC /* FirebaseCore-umbrella.h */, + 609E77E4D2CCD96114D951A3BC472C14 /* FirebaseCore.debug.xcconfig */, + 2A3E109E6D10C507E34592DF791A9FB1 /* FirebaseCore.release.xcconfig */, ); - name = Reachability; + name = "Support Files"; + path = "../Target Support Files/FirebaseCore"; sourceTree = ""; }; - 86F1611140269C416932BCFA699CF876 /* Resources */ = { + 8E1561D1B82BA6CBAAD620428B7655C2 /* MethodSwizzler */ = { isa = PBXGroup; children = ( - B2E53E19D65BEAB194B05A6754E8B5E0 /* MASPreferencesWindow.xib */, + BB4DDD9194BC17B371DA38E9826F48A3 /* GULOriginalIMPConvenienceMacros.h */, + 7300DE90D5AACAA7388D97C414DC5149 /* GULSwizzler.h */, + 53B27CA1C55A4872DCB4D05BE286AABF /* GULSwizzler.m */, ); - name = Resources; + name = MethodSwizzler; sourceTree = ""; }; - 88FE33DE8B4E2FCE514560A2495EB9EF /* Core */ = { + 8E4E43EB0556753F3120AA6A625AD69A /* Frameworks */ = { isa = PBXGroup; children = ( - C25C28B8300F81DC498B7E0C4B3412B1 /* CLIColor.h */, - ADBC8FF1BF66549F4C24261E6D6B53A2 /* CLIColor.m */, - 740F57C476C75B0B65D9FAE97C6DE054 /* CocoaLumberjack.h */, - 6CE39C7828C56903E4148BC0B07645B1 /* DDAbstractDatabaseLogger.h */, - 260925E2D63BBA1E016C2CA597C8346E /* DDAbstractDatabaseLogger.m */, - B7416A7423498A1D3351FC2D6B86A6E1 /* DDASLLogCapture.h */, - 7AE1E78DBFADE6CFCA25251F934C632E /* DDASLLogCapture.m */, - FAFF2FBECCC952475F56C02E77A506EB /* DDASLLogger.h */, - E6CDD2A4B9C53B6103A959099F687BD4 /* DDASLLogger.m */, - 9023087107D17E859494B87A27DCD9B8 /* DDAssertMacros.h */, - 723D909F99470C28AB4814F3037D6103 /* DDContextFilterLogFormatter.h */, - 780A9FA4B7C321BD7CB99AB735B699EF /* DDContextFilterLogFormatter.m */, - 0D0A389A731B83549F5A6E70A980EFE3 /* DDDispatchQueueLogFormatter.h */, - B9588A80D3E7AA0935856F0F1D4BA493 /* DDDispatchQueueLogFormatter.m */, - 9590D904851456713B556BEAEC9BC174 /* DDFileLogger.h */, - 6C1F0AD8F358DFFDF95B192EA9BC8BF8 /* DDFileLogger.m */, - D08501C5C80F626DF32612687C6C0E0B /* DDFileLogger+Buffering.h */, - 24D46D4E89AA2C4A80E5E5EE5AB28414 /* DDFileLogger+Buffering.m */, - C03D847B855A399F3A458B9F261603EE /* DDFileLogger+Internal.h */, - 490AA6B03B1A291B27E0C0E8EC9E6F6E /* DDLegacyMacros.h */, - BA1954E7D1685D586909CAC0BF720551 /* DDLog.h */, - F5E9539F405FB07BBA1659A1509602B1 /* DDLog.m */, - E821AD87F3540C86F9BD014CEDF164A3 /* DDLog+LOGV.h */, - 6C47DBCD195D5F791971164A3FFA8F7E /* DDLoggerNames.h */, - B8B4C317DA2F0E5D540CA191FB200DA6 /* DDLoggerNames.m */, - D0373B72F4990CF87C6BF427B06C321C /* DDLogMacros.h */, - A4502616F6BB4BDBE6014DFEB35A2A13 /* DDMultiFormatter.h */, - E0605F8DC53F73B008023C63CC3599CC /* DDMultiFormatter.m */, - 80DEBBF7810E31E33C990C6EB038567A /* DDOSLogger.h */, - D9AEE0E2D12407A6C811C5535CC7473C /* DDOSLogger.m */, - 9AAE1FF71356C3E86B69986B502D89D0 /* DDTTYLogger.h */, - 1BB83140B8A745FD33C2E80D76DE2E54 /* DDTTYLogger.m */, + 0DE398F512854E881F45C07A0B918771 /* FirebaseAnalytics.xcframework */, ); - name = Core; + name = Frameworks; sourceTree = ""; }; - 891F6AE3FE1A332B78ED39D9DA84B4E1 /* FirebaseInstallations */ = { + 95A19CBAF6636C65D73751E7DBAD86EF /* Masonry */ = { isa = PBXGroup; children = ( - 2BD4E96234596BB52CA296D888A0A16A /* FIRAppInternal.h */, - 90F9B91976183B343883785BDD9AC363 /* FIRComponent.h */, - 988E3A13C4A5D756E2D54DEC7E0ECEDC /* FIRComponentContainer.h */, - 6116930C98FB94CD23C2576546362FAE /* FIRComponentType.h */, - 135B7D8B78B34C83936DAEDB491F8AD5 /* FIRCurrentDateProvider.h */, - 7B807C6E227F7823B199E9EE230142EB /* FIRCurrentDateProvider.m */, - 8ECA0CDDC60A6B799DB5A385B3DB6403 /* FIRDependency.h */, - 20FF9F98699EF40ECFFFD8A5E9E7B84A /* FirebaseCoreInternal.h */, - 841A6F60B44FC37BD1406276545861F7 /* FirebaseInstallations.h */, - D391692425DA6EBA50546E83E9C45AF0 /* FirebaseInstallationsInternal.h */, - E09A9D6D87DAAF6632CA611F76ADF740 /* FIRHeartbeatLogger.h */, - B8593C0E5353E97D4EFC8285825BBFE7 /* FIRInstallations.h */, - 53ECDD833E5562346AC067899825E227 /* FIRInstallations.m */, - 38764A5327392A65480C903C2DD12673 /* FIRInstallationsAPIService.h */, - 24BE397B182B810736A3A2B92C86304D /* FIRInstallationsAPIService.m */, - 0D70F6EB50DF3DEC7CEC430A41AD18CF /* FIRInstallationsAuthTokenResult.h */, - 26785DD25FAE15762C7C3B4C4B6D12A6 /* FIRInstallationsAuthTokenResult.m */, - E054C38A22581DD8B6BA1891F2C8CA0E /* FIRInstallationsAuthTokenResultInternal.h */, - 7DA4489D4DF6D2406525FC8DA242D97C /* FIRInstallationsBackoffController.h */, - 75F8026808DFC2D303AAB6E07A9ED6D3 /* FIRInstallationsBackoffController.m */, - 9A74BFD268259888998EB3C5ED9A7287 /* FIRInstallationsErrors.h */, - 15F687129819D3232E00B61C2A0FC706 /* FIRInstallationsErrorUtil.h */, - DCCA3C1563F343096CC57F7AA4E3B6F5 /* FIRInstallationsErrorUtil.m */, - 9BDAB8DDC932103A8745324ED5A55DD1 /* FIRInstallationsHTTPError.h */, - EE4AB61451CA6F4BFC1742AE88B1FECF /* FIRInstallationsHTTPError.m */, - 952FF6D91E420761878604AE0DCA3D4F /* FIRInstallationsIDController.h */, - 7232DA0A550267431C79681EB83266E6 /* FIRInstallationsIDController.m */, - D9ADC706267A7984747F18651ED098FB /* FIRInstallationsIIDStore.h */, - AD5F848138B77AEB6F5EB86EABB250E1 /* FIRInstallationsIIDStore.m */, - 98E83326FEFF11614F51E206FE7D477B /* FIRInstallationsIIDTokenStore.h */, - EC403AB8937B6490843976E81FF32310 /* FIRInstallationsIIDTokenStore.m */, - B8A70DB219F22B8231BBC7CD25F1F2F9 /* FIRInstallationsItem.h */, - 6C48901AEA0CBC5BC117D8B0A4532A80 /* FIRInstallationsItem.m */, - 7E8F99BD4977E32FAC145289201E4D57 /* FIRInstallationsItem+RegisterInstallationAPI.h */, - 3FB891C93542514B7F9FC2252058A62F /* FIRInstallationsItem+RegisterInstallationAPI.m */, - 2A8C0EE01DEBFC380A9CA049E718D5F6 /* FIRInstallationsLogger.h */, - AF26C2E98EA6EB190353CBDE3BA1BD17 /* FIRInstallationsLogger.m */, - F5E1DE6ED485483FBEE8F016CFC51829 /* FIRInstallationsSingleOperationPromiseCache.h */, - 300B57F1BC71142721A5800374093A4B /* FIRInstallationsSingleOperationPromiseCache.m */, - 1598148EA94913C192F756ADDBF32585 /* FIRInstallationsStatus.h */, - 12E98664D1E403D95495D0FAB18C20C3 /* FIRInstallationsStore.h */, - CFB5012346A2A2E2C2E09A8B1A34EBB6 /* FIRInstallationsStore.m */, - 26747014BC578EE657DAE8FD9ED0368B /* FIRInstallationsStoredAuthToken.h */, - 6D092C5DE556A854EA3436D893C530E3 /* FIRInstallationsStoredAuthToken.m */, - 577807F00300EAABBA26CC9B05D503BC /* FIRInstallationsStoredItem.h */, - EFF4AB53DD8AD41F1F09002C0B24C00C /* FIRInstallationsStoredItem.m */, - 259286BC789EFC9EB297C914CA494282 /* FIRLibrary.h */, - 75239341BFA2F7F1F8DDE4884CA6FB6C /* FIRLogger.h */, - E28D12A1B2A82AA0C028867B9E97732B /* FIROptionsInternal.h */, - 3F2DF16108547579C839D088E644D5A2 /* Support Files */, + 70751A57E425D328772E6E4FEBE5A8DD /* MASCompositeConstraint.h */, + 45DB9F4D32F17AD8972525F9831FEF1A /* MASCompositeConstraint.m */, + 0AE48696D567E222C0C256845E33BD8C /* MASConstraint.h */, + 47CAD935B8744B5378BB0250E7DBBB46 /* MASConstraint.m */, + 88714289F8DBC4AFF89C59E97D5686B0 /* MASConstraint+Private.h */, + 16D555AC9F4A92C6D4427CCFF69DD08A /* MASConstraintMaker.h */, + 58121D619BB8B8A912754365B76F1BCA /* MASConstraintMaker.m */, + CE190B5C58B99B1D9670F7E44FA773F6 /* MASLayoutConstraint.h */, + 3702B9107B55ED3E30F29768615DF836 /* MASLayoutConstraint.m */, + AC9EA811E1FC95CFBA6BAECE8C707DE0 /* Masonry.h */, + 96A0B792C216ABE4B3D515F6B956C0F3 /* MASUtilities.h */, + E51987050B0AD979AF5440B8F644E61C /* MASViewAttribute.h */, + D5D14BF947D5112DEE7575989D39FB78 /* MASViewAttribute.m */, + 554E64268FB16173A0B1C2BB61D3D032 /* MASViewConstraint.h */, + 3EA423C8481A9EF549E84AF235D76E73 /* MASViewConstraint.m */, + 861236973289C6E2EA83250AE6036519 /* NSArray+MASAdditions.h */, + B6C449EB89004DBD7A50DBF2B9145EEA /* NSArray+MASAdditions.m */, + 68C4C93A67B11A13201E04462A130F27 /* NSArray+MASShorthandAdditions.h */, + 5B3B6B47A80EF21FA144DB6EA9E34E0E /* NSLayoutConstraint+MASDebugAdditions.h */, + BE3D730583DF23D745F5CB7FB45A54C3 /* NSLayoutConstraint+MASDebugAdditions.m */, + 08E4114E5007B4CEDBEC278A9370C186 /* View+MASAdditions.h */, + A917F20A967D4A566374BED4D6273E43 /* View+MASAdditions.m */, + 33444CC38078B5392E768EE2B59EC0BA /* View+MASShorthandAdditions.h */, + A25FE1EFB94164FDA9E3D4119F0A8543 /* ViewController+MASAdditions.h */, + 205C1F0396927DDE56C2C54DEB99980B /* ViewController+MASAdditions.m */, + 0591AF2992E6E315D390BFB88F350AB6 /* Support Files */, ); - name = FirebaseInstallations; - path = FirebaseInstallations; + name = Masonry; + path = Masonry; sourceTree = ""; }; - 8B725F1BBE089E570B06E297981C6EAE /* Frameworks */ = { + 97E4D7C4448F492A6E045F2EAB7E52CC /* Support Files */ = { isa = PBXGroup; children = ( - 6D9FC3A4BD94CB7FB1E6C4ECE9BE4530 /* AppCenter.xcframework */, + 41C1354589322E0D90A4F33085CC73E9 /* AppCenter-xcframeworks.sh */, + 37DC7887921BCB144A6E4E229590F09F /* AppCenter.debug.xcconfig */, + C75B39926F38C66443C2FA3F77C5904B /* AppCenter.release.xcconfig */, ); - name = Frameworks; + name = "Support Files"; + path = "../Target Support Files/AppCenter"; sourceTree = ""; }; - 8CEAFFB7A7C3B6CC52A2AB642322031A /* Network */ = { + 9833658CD44EE765236A656EC809CEF5 /* SwiftFormat */ = { isa = PBXGroup; children = ( - 4FC6271CC501DA793C9D074DA5712701 /* GULMutableDictionary.h */, - 97BBF63FC65BFF52F03C315C8E376F3B /* GULMutableDictionary.m */, - 9482DA45200ABEC95661B5A94599E29C /* GULNetwork.h */, - 1A81294FD761D6936DD1A779D7C60C93 /* GULNetwork.m */, - 7BC717CBD7C709E01994035C382E20CB /* GULNetworkConstants.h */, - A31A78BFBCCDDD690E7E85D3A42EACD1 /* GULNetworkConstants.m */, - 67EE2226A27905743B12994240ABD0C8 /* GULNetworkInternal.h */, - 2C07640983AF6306ACDC2E35A492EA01 /* GULNetworkLoggerProtocol.h */, - 861EE3FA281C4F297ABD22CE7419E214 /* GULNetworkMessageCode.h */, - A3E952C6AC5D6CF1F9CB9B1DC26B0E4A /* GULNetworkURLSession.h */, - DA9DD4D2A87EB66034E0C6F3691E97F8 /* GULNetworkURLSession.m */, + A03223A9F4830980ADAE73CD8BE14C22 /* Support Files */, ); - name = Network; + name = SwiftFormat; + path = SwiftFormat; sourceTree = ""; }; - 98F36825AD2E4E930686AFFE19FDE3EF /* Swift */ = { + 98B82BB1BCAD894F3F6D2270FFBB0AE1 /* ReactiveObjC */ = { isa = PBXGroup; children = ( - 5570FEFD608371217600AEDCE1F2E6CD /* CocoaLumberjack.swift */, - 3F3F9311303C975480F222815C85AC66 /* DDAssert.swift */, - F82AB599FD4C8AE6689C86C0DC75CD0C /* DDLog+Combine.swift */, - 5F09B37D2296BF0D4EB4A73A52418312 /* SwiftLogLevel.h */, + C09EF0B7E8F1C182E8F70877A4B34A55 /* NSArray+RACSequenceAdditions.h */, + 1EE141A9AFAC044BF8548F41B1ECEE92 /* NSArray+RACSequenceAdditions.m */, + D1135818C1EB691A323D7D1F94327202 /* NSControl+RACCommandSupport.h */, + 8537CBA4D20714FEAC208E7B2CF4F0BA /* NSControl+RACCommandSupport.m */, + A04EC495FC3F245C92DED23861AA9885 /* NSControl+RACTextSignalSupport.h */, + 8A2AB3BA84501D0B9BE6B3F2F8415566 /* NSControl+RACTextSignalSupport.m */, + FB54FABA71FFAACD20FA4729662D489D /* NSData+RACSupport.h */, + 8A203556EA7BF2AEED2B377211D8C98E /* NSData+RACSupport.m */, + CE9567F3F1761BB1A9AF92D3A2F244B8 /* NSDictionary+RACSequenceAdditions.h */, + EB6730691D1351195C95E33590259F2B /* NSDictionary+RACSequenceAdditions.m */, + D266AB2087DAC41494C1A83FE2DE43D3 /* NSEnumerator+RACSequenceAdditions.h */, + 2E38B8311AB067C369C9F4C74DA83207 /* NSEnumerator+RACSequenceAdditions.m */, + D70F6BCC60410F79F03B6C767FAF8702 /* NSFileHandle+RACSupport.h */, + 4B373978EC85346DE754039D359DF189 /* NSFileHandle+RACSupport.m */, + 4DD209B975AD5530B733A9F9CB66DB16 /* NSIndexSet+RACSequenceAdditions.h */, + 66A5AA3B6DD289B68B86A138EDAB67F3 /* NSIndexSet+RACSequenceAdditions.m */, + CF68D8F610F80781FD93D14CB3F6128F /* NSInvocation+RACTypeParsing.h */, + E53C728E70FBF290AADC197A3B3D9127 /* NSInvocation+RACTypeParsing.m */, + FBC195C7643381B4ECF9F06F68D36A92 /* NSNotificationCenter+RACSupport.h */, + 05BBACF1ADC2F44DBB7AE20B6C97727D /* NSNotificationCenter+RACSupport.m */, + 56E00986236947DCD43B4AE8EFFB61AE /* NSObject+RACAppKitBindings.h */, + 40106C6B23760C3F9B8546ACCAAA3AD0 /* NSObject+RACAppKitBindings.m */, + FB81E842AC0181DED44D98974FA8954F /* NSObject+RACDeallocating.h */, + 8B929C3E868F199CC2E67F084F275F43 /* NSObject+RACDeallocating.m */, + D9F1DDF5C4C0D5628DD7A3BA2FF44951 /* NSObject+RACDescription.h */, + 57EFDF01CCC4914A6128FDDDA1C10D1C /* NSObject+RACDescription.m */, + 48C6D09298323D7FA1048B6A0F860C65 /* NSObject+RACKVOWrapper.h */, + F2AB3C86291662977BE74F237AF16762 /* NSObject+RACKVOWrapper.m */, + EE001557DAF31FD0CC5D592A434E8C07 /* NSObject+RACLifting.h */, + 5954A2852292F1EC4826DB6EF0E11C51 /* NSObject+RACLifting.m */, + B67767EEA86F8D498BF073CE7A453BA7 /* NSObject+RACPropertySubscribing.h */, + 91C1918AD43101240A46A509DA60C988 /* NSObject+RACPropertySubscribing.m */, + FC8C2E6651F4C13D269FC21522C89BB8 /* NSObject+RACSelectorSignal.h */, + 8ADEA681B7DD4BA78B11ADF3BD110371 /* NSObject+RACSelectorSignal.m */, + AE9AF75579936752E2B9F72417AE5C7B /* NSOrderedSet+RACSequenceAdditions.h */, + 437F6F26BE7C735F083034D4AB2C6BB9 /* NSOrderedSet+RACSequenceAdditions.m */, + DA97D15CBF327ADC6C6F83F45FC29F03 /* NSSet+RACSequenceAdditions.h */, + A027C9905E70BDB1F975EA72C2BECEFC /* NSSet+RACSequenceAdditions.m */, + 817C15479E428F985C065284F3020E1A /* NSString+RACKeyPathUtilities.h */, + 1BCCF34D393DF8755877EA0DDC5C239D /* NSString+RACKeyPathUtilities.m */, + C5F892CA5A799718D581EFC7AEC96577 /* NSString+RACSequenceAdditions.h */, + A8FD3F53DFF80D2D2BED72FC2487DAB9 /* NSString+RACSequenceAdditions.m */, + 1F4B9D077AFF52994C4DCB28F8A0062D /* NSString+RACSupport.h */, + 73D7DBC34DA93D39AD1244574203E743 /* NSString+RACSupport.m */, + C98FC3AB154FE05458C94DA9BE25701A /* NSText+RACSignalSupport.h */, + E9AC92ADFAC02492991483A9DBFDBB6B /* NSText+RACSignalSupport.m */, + 9B162DECBC1E213DE303D429F0A80A34 /* NSURLConnection+RACSupport.h */, + 286AAFC794015DB3189DF3D4F835ABE5 /* NSURLConnection+RACSupport.m */, + 79C2D7EE2CB8E771F147AEC2FB61B2BE /* NSUserDefaults+RACSupport.h */, + 432CDBDC78DC209CE4BF6526DD9791A3 /* NSUserDefaults+RACSupport.m */, + 2916446300311955E4AA74AAA7C83967 /* RACAnnotations.h */, + BEFCC9FAA335AFCF00612B46FC891DAF /* RACArraySequence.h */, + 49140BE7C824423AB3AE1235A2706A0D /* RACArraySequence.m */, + 815562FDCA4521B5934A74A2CAE3E007 /* RACBehaviorSubject.h */, + 0D4BC739C5257F3ED80C13A3E8A86F00 /* RACBehaviorSubject.m */, + 939271C307495FBB955DA6DD5A47A9ED /* RACBlockTrampoline.h */, + CF04CE3AB789118673A0FD489501C521 /* RACBlockTrampoline.m */, + ABC0C4DE065A85F00F75E607446D0D1F /* RACChannel.h */, + D57483A7D62932379BB26E245E317823 /* RACChannel.m */, + 012F9362EB4F259A12AAFD87E86F27FA /* RACCommand.h */, + F6E7A66874A13478A4DEE7513C847AC1 /* RACCommand.m */, + FF9F2DA86A234847675359D5775460CF /* RACCompoundDisposable.h */, + A83640DD8FBAF1CEABEB312F19E40149 /* RACCompoundDisposable.m */, + F959B79F2B1C0C1EE131249C6C2E4523 /* RACCompoundDisposableProvider.d */, + 0C448B6102D3720E0079E6D21AB942A8 /* RACDelegateProxy.h */, + 049E2F9EDE780F821CF8B571D6B566DE /* RACDelegateProxy.m */, + 1D44B5CBE6B5D53B521B500B83F16DC1 /* RACDisposable.h */, + 4021EE70850EA21AAAEF918B3DBA6ECC /* RACDisposable.m */, + 799BF2AFE6BB8B6B149280270A8D4B12 /* RACDynamicSequence.h */, + D87CB9BD130D9DE858B5476F72537063 /* RACDynamicSequence.m */, + C52D7DA0ED60A919990DE1B02D332096 /* RACDynamicSignal.h */, + 954E4C03C690623BD3DDDEE973850AB4 /* RACDynamicSignal.m */, + 76126DD632A0019B44A92B6A917BDC08 /* RACEagerSequence.h */, + 6839D24E46ACAA92EC7B434A131C137C /* RACEagerSequence.m */, + 763DE6B4EB08178B07CC11D933C942C3 /* RACEmptySequence.h */, + B27D48BF0F0DDC61E642B3BC6545994A /* RACEmptySequence.m */, + 5531094EEE4EDE4763518DD2523E5476 /* RACEmptySignal.h */, + 39DCB3E395F34B2908BA0633BA97C812 /* RACEmptySignal.m */, + 13F885E42810A88FF17B51D18733151F /* RACErrorSignal.h */, + 192A15F20E59A90657816317DF581DA3 /* RACErrorSignal.m */, + C594937FC2962C39FCABFDE1D2BD20CF /* RACEvent.h */, + AD0DE75FC612455545A0E04C33E8AE42 /* RACEvent.m */, + 3E4A9BF1EF1EFF9BBF061E3EE7096E3A /* RACEXTKeyPathCoding.h */, + F12D070207CD36F48D1B2024B30D7354 /* RACEXTRuntimeExtensions.h */, + B151E2383E5B032C52AF205B86D599EF /* RACEXTRuntimeExtensions.m */, + D3B924720F2525B0B35E6EE4822B5D26 /* RACEXTScope.h */, + 078F91F85261D973F1918F7B9396DA9A /* RACGroupedSignal.h */, + 60F3046204DD2662529EC6181E8C1B7B /* RACGroupedSignal.m */, + CFD1A2D8B6B997E2F64671D632D2A495 /* RACImmediateScheduler.h */, + 6FD236C4A9C3FE28B5AAC969E1DCBD0F /* RACImmediateScheduler.m */, + 95B24FBCB615636633E83982F8DEF3FB /* RACIndexSetSequence.h */, + 60140B3219A36C6C4B1D3EF191CF841D /* RACIndexSetSequence.m */, + AC07F0436D9773959DD00FF69C93F2A9 /* RACKVOChannel.h */, + 13B6E77A67AF2FC8679166895407220B /* RACKVOChannel.m */, + 47A370F3CF81CDD33EEBA4811D3684EB /* RACKVOProxy.h */, + 2EA4EBEBE8717015AFE5A31DCBCAA334 /* RACKVOProxy.m */, + F160282FC8B7C0AF1D7683B418AE9154 /* RACKVOTrampoline.h */, + 980AC595BAD91780EF16EA2F06233E70 /* RACKVOTrampoline.m */, + C3A2E67C6405F2B619C4AC5C00077B7B /* RACmetamacros.h */, + 2D590F6CED67F5EAB8B43A4206C9075A /* RACMulticastConnection.h */, + B17E9A5FD4E475ADC09FF0860A074218 /* RACMulticastConnection.m */, + 402FF25527DC11DD8064B7A5CE853432 /* RACMulticastConnection+Private.h */, + D0E7BA84FD0C4920F52D36732948A9AE /* RACPassthroughSubscriber.h */, + 8D78CD45035132AA642BB51D6DABEAD3 /* RACPassthroughSubscriber.m */, + 662916CD7A76562098B98708CCA720C7 /* RACQueueScheduler.h */, + 1A12898DF91F3DB85C1E005984FF96AA /* RACQueueScheduler.m */, + 2FBBA911C996589DBC93DE3CCDFC6976 /* RACQueueScheduler+Subclass.h */, + 44A5938B592CDC751EA5C7FFCDC48E7F /* RACReplaySubject.h */, + 4DC5C8EAA5B34B819A5D8D34421FF270 /* RACReplaySubject.m */, + A565DBA2B609B783BF07FAC1B5AC4D01 /* RACReturnSignal.h */, + 37F13D061C8037BCCC6C2C27099D2A67 /* RACReturnSignal.m */, + 8AB1DA88719666C7AF6C0E0555C0BF31 /* RACScheduler.h */, + B4152A8AEA876763E52E1B6514151A49 /* RACScheduler.m */, + 8F747F14A9735FD0CD3A1D9BF1999AEA /* RACScheduler+Private.h */, + A1411614EB442FBBF01108E457A800D3 /* RACScheduler+Subclass.h */, + FDD65183CCF525620A3B5F3BF1918AEE /* RACScopedDisposable.h */, + 7A6BB9FA5473B6444BD5DB1E3434EEE3 /* RACScopedDisposable.m */, + 9DA80CC63D15B5B65B326FB83282B9B9 /* RACSequence.h */, + 914FF669E7284F0E626B01A8E73C1EDC /* RACSequence.m */, + 9C1C6B6506CF88A49098C5BCCC4D433E /* RACSerialDisposable.h */, + 64A5AF0C72DB0257E6C231D0DE88BF33 /* RACSerialDisposable.m */, + A384AB9DC764DB45FCA0F8205F80417C /* RACSignal.h */, + 1A4503FD8D6CE1430DA58C82052F8E9B /* RACSignal.m */, + 44373CF68A4C2CA93F30616352F16D5D /* RACSignal+Operations.h */, + F5D9AE1276B519BC52D30EB6A5DDCD7C /* RACSignal+Operations.m */, + 2501B0C0E6CE388D5A181E9AFB44319D /* RACSignalProvider.d */, + 4F7C2E0445E2594D0F36B557E7F3BDAC /* RACSignalSequence.h */, + BE9CCF5193A03D9E080CFCE14512A8B9 /* RACSignalSequence.m */, + 9CF768B69230F859A48EFB6A456B07D8 /* RACStream.h */, + 382B4672C51C82D9000367A093E57F29 /* RACStream.m */, + A9D6C7E79C4BD1FC056E8DAB4DAC1091 /* RACStream+Private.h */, + 7E162513111EE19EC0ECAE87D47F904C /* RACStringSequence.h */, + F120A88696F0C5DD7FC93EC25FF767AE /* RACStringSequence.m */, + 9E330B3B4235ADB63C9F3459D634224C /* RACSubject.h */, + D3BE68E978B56FB60D42E1FA0BA2F742 /* RACSubject.m */, + F6F84DC6BF34A38F2B6464E6C4C6647E /* RACSubscriber.h */, + 685FC462A09E8B973D39E98F5FB0D6C0 /* RACSubscriber.m */, + D1FDF2EA14DF73EEB918629E35A4D3B8 /* RACSubscriber+Private.h */, + A5218C8E8F188F3BD68AAAF13EEBB1AD /* RACSubscriptingAssignmentTrampoline.h */, + B8FCBC5F53DB63E76A2599F99723E50B /* RACSubscriptingAssignmentTrampoline.m */, + A3170D9139D0144F2E2ABC804DC48531 /* RACSubscriptionScheduler.h */, + D273076AF2D74F264FE22B1BC85B9AF4 /* RACSubscriptionScheduler.m */, + D9B5786B6DA830CEE84B272FEBF53FAC /* RACTargetQueueScheduler.h */, + 9F5557DE315FAF32C08E1625C1EF3665 /* RACTargetQueueScheduler.m */, + 043D38E408E09D039542D315367A3489 /* RACTestScheduler.h */, + CC5F1662C17473D3DAA25C58FF74F959 /* RACTestScheduler.m */, + F50D6F2EB9D7EE15D8A0DE6C6710506A /* RACTuple.h */, + C6E82FCECACAEAF5BDF7811479E9679F /* RACTuple.m */, + 710565F997165EDF9C25E73FEEE92B8E /* RACTupleSequence.h */, + 0C8453BA0010436442CCEABF3A8E0AA4 /* RACTupleSequence.m */, + 2A46E20D814C4E08E55E1E504DA6730B /* RACUnarySequence.h */, + C08012BDBC112D17F57D2523EF132251 /* RACUnarySequence.m */, + 8201CBBCCC20A0AAD78D74D92B840574 /* RACUnit.h */, + 277E19D4915B81B52249AB695E4B8098 /* RACUnit.m */, + C654C41DCE7E7A0626A1A5ED9E7EA45A /* RACValueTransformer.h */, + 1714B7470E22D2723A6B1983138285B2 /* RACValueTransformer.m */, + 1D8061624702D4BF278437FFBD097B70 /* ReactiveObjC.h */, + 37D159A7FE493587803F6FE522F94E0F /* Support Files */, ); - name = Swift; + name = ReactiveObjC; + path = ReactiveObjC; sourceTree = ""; }; 9AA2C8ADF007298CF825A87AE19EBD00 /* OS X */ = { @@ -2703,459 +2854,356 @@ name = "OS X"; sourceTree = ""; }; - 9F5D7E0902889D854BFC775CC996F709 /* nanopb */ = { + 9B4956D717E3588F39966B44757E5382 /* Core */ = { isa = PBXGroup; children = ( - 59D7547E3B7E3655488C6186E11926CC /* pb.h */, - 1313C7F05D0E0218F153571D42681AC1 /* pb_common.c */, - DBF41CE713E4E4BEE7AED83AE80EB661 /* pb_common.h */, - 1FA9E901DBA316DBC3369E24B2C96F0C /* pb_decode.c */, - 9C6E75212079F3693B5124DB1E4C3231 /* pb_decode.h */, - 822DB151A5E7EE73E613A79D85EB8FC0 /* pb_encode.c */, - 95975911BF2455BD97DF92871D0C4705 /* pb_encode.h */, - 586D92D3AFE491EEAFD046D466AD2E44 /* decode */, - 4381D169E612BE4203F959FAB18EC836 /* encode */, - EB63E02B9B7F6B0BC8002B1ADBB7A4E2 /* Support Files */, + 809FB4B79F1DF8914DDC781BD5DB5EB3 /* Frameworks */, ); - name = nanopb; - path = nanopb; - sourceTree = ""; - }; - A33334E46F16286FBCDC027E7F48835E /* Analytics */ = { - isa = PBXGroup; - children = ( - FF3CB4E6CA7F5E334458CE7B1B0F1ACA /* Frameworks */, - ); - name = Analytics; + name = Core; sourceTree = ""; }; - A5EA001750E35C2AC177F45726E09631 /* GoogleAppMeasurement */ = { + 9FDB714F44705D26EE317CF6FEC24702 /* Support Files */ = { isa = PBXGroup; children = ( - AD89259679F108BFAD62D0B8FB3B805C /* AdIdSupport */, - 64401F50630CA983BBE06E33848E05A9 /* Support Files */, - C7A9209B3B76D6DDAB7FDFBA155E1BC2 /* WithoutAdIdSupport */, + EE3B1E01909A7BBA83EDE0BE7ED89F1C /* SSZipArchive.modulemap */, + 80E35EF9FDF37455AF4720E99319674E /* SSZipArchive-dummy.m */, + 69D22C84E90B5DCC2D4F0456DD630E2A /* SSZipArchive-Info.plist */, + 0E95E9C6DE494E4BD3F9A0F94F2B72CF /* SSZipArchive-prefix.pch */, + F3B9664304A486033DC2DC45E4FAE785 /* SSZipArchive-umbrella.h */, + 9D685CF55891BC5BF98B38FC1B2D3248 /* SSZipArchive.debug.xcconfig */, + 1C344F53515BA00521F5FFD7A9FB61ED /* SSZipArchive.release.xcconfig */, ); - name = GoogleAppMeasurement; - path = GoogleAppMeasurement; + name = "Support Files"; + path = "../Target Support Files/SSZipArchive"; sourceTree = ""; }; - A6B45C9C9D40C5B8F7A6AB770658A15C /* Frameworks */ = { + A03223A9F4830980ADAE73CD8BE14C22 /* Support Files */ = { isa = PBXGroup; children = ( - 0D4332B00D1ADEB216D2034B139297DE /* Sparkle.framework */, + 6279609618DE4793D65CE4DE50146D17 /* SwiftFormat.debug.xcconfig */, + DE752AD9385E065B073A2359902A0DC7 /* SwiftFormat.release.xcconfig */, ); - name = Frameworks; + name = "Support Files"; + path = "../Target Support Files/SwiftFormat"; sourceTree = ""; }; - A715C183A9A9103A1FD3EF80DE37CB11 /* Sparkle */ = { + A3BA232A27908F62A987B3CFD75D9898 /* Support Files */ = { isa = PBXGroup; children = ( - 99B44E885B1F392355D61F9057C0D851 /* Sparkle.h */, - A182734D57517BCB756ECECC85CF8309 /* SPUDownloadData.h */, - DCBEE0AFA836D574F93CF195AE25E89C /* SPUStandardUpdaterController.h */, - 5E37AB2D6020F7F91A75A9C69D50E291 /* SPUStandardUserDriver.h */, - 9A33107776FD0417FEEFBCBF6135FB26 /* SPUStandardUserDriverDelegate.h */, - E75C537282E558744402FD49753EEA03 /* SPUUpdateCheck.h */, - 39DE9ACCBA300AA51EEB2B06B6593672 /* SPUUpdatePermissionRequest.h */, - 2F0F96E37AEAE911EEE640DB9C6ADDCC /* SPUUpdater.h */, - 07B1AC3655E9AE2669D41AAEA988C9D1 /* SPUUpdaterDelegate.h */, - E0F7176089012C101EB95403DAC30508 /* SPUUpdaterSettings.h */, - D656660201A0545C0FAEF2B9ACE3D727 /* SPUUserDriver.h */, - 748E22E036190201C0E31137238A35F9 /* SPUUserUpdateState.h */, - 061377C475382F5C433A6274E6C01613 /* SUAppcast.h */, - 6B251D338E066969D22B6BA4DA45F6D9 /* SUAppcastItem.h */, - 806F26D9600D717A25C14EFA8E7114AC /* SUErrors.h */, - 9DB43481D074FD29451A21717C890B60 /* SUExport.h */, - B594D4A078C1C80D06C3918ACE33DE42 /* SUStandardVersionComparator.h */, - 7F590A6FA21C3AD4B968B02A61A116EF /* SUUpdatePermissionResponse.h */, - A86D42B731EA1293D043A49FBDC04F7C /* SUUpdater.h */, - BAE65CE5CC19994824C8ECB150312BA0 /* SUUpdaterDelegate.h */, - E4CA6B6D114CC0F4FF843B0C048674BC /* SUVersionComparisonProtocol.h */, - 47234F8D46E941B5676F20B1F23F8684 /* SUVersionDisplayProtocol.h */, - A6B45C9C9D40C5B8F7A6AB770658A15C /* Frameworks */, - D66C5E410A022DC6E3432463C14BB1E2 /* Support Files */, + FD7306624EDD3714C415BE90EECB4342 /* nanopb.modulemap */, + FB2BCA4CF07B536D08C018126E83DC51 /* nanopb-dummy.m */, + 1BF0FC8BB1E81ACABC9794425B6A8C03 /* nanopb-Info.plist */, + 884EEAC8F05B68762375389C15E8FDB5 /* nanopb-prefix.pch */, + 90ED0249FFB72A538C343C6F92A48907 /* nanopb-umbrella.h */, + 26B8D148E2AEA9F404859BAC5ED75649 /* nanopb.debug.xcconfig */, + 9404C5D2D5AD36330D2123A29D64D0AB /* nanopb.release.xcconfig */, ); - name = Sparkle; - path = Sparkle; + name = "Support Files"; + path = "../Target Support Files/nanopb"; sourceTree = ""; }; - AA0166B0E640416A1B5B837314CD3719 /* UserDefaults */ = { + A76E7480DFDCDA258E24F6C6D5806DA4 /* KVOController */ = { isa = PBXGroup; children = ( - 022606E544A4233F1D922292776E0366 /* GULUserDefaults.h */, - 8DA66546D21DCB2398601D942E38EB02 /* GULUserDefaults.m */, + 8B539DE75C7B6B035B001237D2E663C6 /* FBKVOController.h */, + 6E1D7E4D4CD82BB1E9C902D6DCD01E9D /* FBKVOController.m */, + 5F209DBDA2149A0611C7D48D359B794D /* KVOController.h */, + 85D9AA6920A3422A5D6BEADEEB351FFF /* NSObject+FBKVOController.h */, + 56BCB4658828541122E0011E901BF680 /* NSObject+FBKVOController.m */, + FD9A095A034275DDD4B641A19EDD2858 /* Support Files */, ); - name = UserDefaults; + name = KVOController; + path = KVOController; sourceTree = ""; }; - AD1DFD09988F22C02A35FDCE974818C4 /* MethodSwizzler */ = { + A79DC697E3E7F33AC7DC3A1CB78E4434 /* Analytics */ = { isa = PBXGroup; children = ( - 69853FB30DCB59B08B341CE8938AADAC /* GULOriginalIMPConvenienceMacros.h */, - F03DDD6227E2167782531237A2A69A35 /* GULSwizzler.h */, - C06F1DC26B80928EEB1311A382CE2BDC /* GULSwizzler.m */, + EBBDE2C3D691907F1E7E3A6AACC6E659 /* Frameworks */, ); - name = MethodSwizzler; + name = Analytics; sourceTree = ""; }; - AD89259679F108BFAD62D0B8FB3B805C /* AdIdSupport */ = { + A93DFA15A6EE690875D05CFEC90AFC05 /* Support Files */ = { isa = PBXGroup; children = ( - 12EE67D71C9C5F89FB9831C1C9BE6DE7 /* Frameworks */, + 9E82D3FE833AE0CCE70D0DB66E7A5296 /* JLRoutes.modulemap */, + 382A22417DB429648F54B0C0AF2343EA /* JLRoutes-dummy.m */, + 45E803EF23746DB69100126A739825F0 /* JLRoutes-Info.plist */, + FD33CA205FADE88FDBAE579A65E96EE4 /* JLRoutes-prefix.pch */, + A14D53457BAF60E40DCC96DFB085C596 /* JLRoutes-umbrella.h */, + F5F023365F19429AA284155F5358BE7A /* JLRoutes.debug.xcconfig */, + F803D40759184C33B0B5017CFF355929 /* JLRoutes.release.xcconfig */, ); - name = AdIdSupport; + name = "Support Files"; + path = "../Target Support Files/JLRoutes"; sourceTree = ""; }; - AE90F927C361551AA076249BC44B3DCB /* Support Files */ = { + B08084F9173C21603F72C1B7AEF75F40 /* Support Files */ = { isa = PBXGroup; children = ( - E7B721887606F56108417FDDAA9DCF42 /* AFNetworking.modulemap */, - 25E5BDBC00B6BA0DC8A2511EAD1E937A /* AFNetworking-dummy.m */, - 0BE7588F905FE15FAEB1FBA5B0AD86D7 /* AFNetworking-Info.plist */, - B342DEA9A0A118655BC2CA3112D8F102 /* AFNetworking-prefix.pch */, - 21E62F699C94C1B146F865627FA81859 /* AFNetworking-umbrella.h */, - EEB261445749571F2BAA6FC50774FBD6 /* AFNetworking.debug.xcconfig */, - 23D203524A47B748A1AD86FCC2BA8C1F /* AFNetworking.release.xcconfig */, + B5F2B7B47D94597A73DB30305FC040CB /* GoogleAppMeasurement-xcframeworks.sh */, + D736AFA9A254522BFE2E0CAEC0049E78 /* GoogleAppMeasurement.debug.xcconfig */, + B31949005F7BB55713000DC9BCDC48B6 /* GoogleAppMeasurement.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/AFNetworking"; + path = "../Target Support Files/GoogleAppMeasurement"; sourceTree = ""; }; - AF1322FB169C85C69247701B5A53945E /* ReactiveObjC */ = { + B912466DD4E51BC8914607B7C069A5B6 /* FirebaseInstallations */ = { isa = PBXGroup; children = ( - 800939A243A162BDCAC28EE4A665D206 /* NSArray+RACSequenceAdditions.h */, - D21972F5ADF932EC8BCE3D32615BB0E4 /* NSArray+RACSequenceAdditions.m */, - C814DC6B706488C031C32396F29245B8 /* NSControl+RACCommandSupport.h */, - 7263F01E83F143B613C1C6C5DE7BE4F9 /* NSControl+RACCommandSupport.m */, - 029C423CECDB3325E883E4CC9D387466 /* NSControl+RACTextSignalSupport.h */, - 1B02C44318DF64E9BE4D9BE22A53CBBE /* NSControl+RACTextSignalSupport.m */, - 732CECAEA0618E1DB2B84455419A9101 /* NSData+RACSupport.h */, - 17A242F549501CE395B4FAED56DC1C96 /* NSData+RACSupport.m */, - 22736401C396CED477E8F10ADEA64A61 /* NSDictionary+RACSequenceAdditions.h */, - F7EF647ED010B45130C540DCBD3C9385 /* NSDictionary+RACSequenceAdditions.m */, - 370BC7DF05B1971BAA83B6A1A8322985 /* NSEnumerator+RACSequenceAdditions.h */, - 61AC5D261469F4F859961AD455CE30F1 /* NSEnumerator+RACSequenceAdditions.m */, - 8A4E26487E831DEC53D877B90AF76A86 /* NSFileHandle+RACSupport.h */, - 947869ECB3F328398BCE637F6653E521 /* NSFileHandle+RACSupport.m */, - 90E99C6D3C10AA367B8890B4B83086BD /* NSIndexSet+RACSequenceAdditions.h */, - 67B6E39B778CA578B3A02C8A55027CD2 /* NSIndexSet+RACSequenceAdditions.m */, - 3E20D6E9E66775EF836AF9D7B333747D /* NSInvocation+RACTypeParsing.h */, - 82E7508E4CA7A1CF6AEEEC9BBADBCC14 /* NSInvocation+RACTypeParsing.m */, - A2983D779E330530E0765374C24D121D /* NSNotificationCenter+RACSupport.h */, - 5030B6F97B0FAB1561AB836A9C8BAEDB /* NSNotificationCenter+RACSupport.m */, - F883D3D769A6A40D54AA7FC0B77B5C77 /* NSObject+RACAppKitBindings.h */, - 95B7F9587875100D07C89C3A723AE426 /* NSObject+RACAppKitBindings.m */, - 2E22B7B9DE233D5CECC172D85323973D /* NSObject+RACDeallocating.h */, - D31729ACE2EFE9C043C4E8758B094BFF /* NSObject+RACDeallocating.m */, - 4E3D5B6DCE51F21027AD96BED6D34887 /* NSObject+RACDescription.h */, - 9DA9642C74CC412BEE1D381309841C71 /* NSObject+RACDescription.m */, - D3C71195FB26F7162A922AC184B5F53C /* NSObject+RACKVOWrapper.h */, - D0E61DC60A4547F1A6070E311996746B /* NSObject+RACKVOWrapper.m */, - 0262A4B7DACA86380992204940EA8668 /* NSObject+RACLifting.h */, - 9DFB749F6883E1B5DFCA483F86420864 /* NSObject+RACLifting.m */, - D8170D22FBC7D2212EC04D559D4BA50D /* NSObject+RACPropertySubscribing.h */, - 281ABF2FE9AF3CD99F02927F7EB1B89E /* NSObject+RACPropertySubscribing.m */, - 66C8BABE9AD7E3A34E46AB676FA8BA4C /* NSObject+RACSelectorSignal.h */, - B5179C62A8E3B5EB181B77B9B31A0A00 /* NSObject+RACSelectorSignal.m */, - 193DF24125966AE08DF194E6D84AD896 /* NSOrderedSet+RACSequenceAdditions.h */, - A5FC1C8A45115D785070EF947DB93E18 /* NSOrderedSet+RACSequenceAdditions.m */, - AB410099EC115ED0F907AFFA8AF8DC64 /* NSSet+RACSequenceAdditions.h */, - 552B6006E08C25B2465651DF0606D67F /* NSSet+RACSequenceAdditions.m */, - C3CDC2E4254BD0CFCB7A52675D55ACF4 /* NSString+RACKeyPathUtilities.h */, - 432EC43F780BF830699F28024E55EE62 /* NSString+RACKeyPathUtilities.m */, - FA42E02008A9B4376F302AE6F79DB479 /* NSString+RACSequenceAdditions.h */, - FB8641ED4AD080BEE2C10B7CC7AE69CB /* NSString+RACSequenceAdditions.m */, - 3AF8B5E25F0A568CA500B1BBE7CEB4FF /* NSString+RACSupport.h */, - 675D8F2A2ABA3759AF1B000501A90E4F /* NSString+RACSupport.m */, - D1DDFF1BA98CC0D71AD8F66BC69DC906 /* NSText+RACSignalSupport.h */, - 2A285D08F88CC74E43C225C231C942F9 /* NSText+RACSignalSupport.m */, - 5B68174D2956E1AA709B48FE5D1C2EE3 /* NSURLConnection+RACSupport.h */, - 7B77CB94B10FFD666FAF597A4CE62E30 /* NSURLConnection+RACSupport.m */, - 85F7689410B481AC8BA32EBDFFDF3D8C /* NSUserDefaults+RACSupport.h */, - 0F176BDD6E6FB57841F257AD3685A042 /* NSUserDefaults+RACSupport.m */, - 4D8C940F8455948001F1529FBFB76BAC /* RACAnnotations.h */, - DB80443A286142BB0026AA2343E7AC56 /* RACArraySequence.h */, - A1742075A127DCF40ECD1D3A7BEA6B47 /* RACArraySequence.m */, - EDAE432DF79F7967F4091824C7C191E5 /* RACBehaviorSubject.h */, - 4EDCC947CC32E76D0F949F2A7CB3A039 /* RACBehaviorSubject.m */, - 3C5486F87DC72D5B5165889BBFC40BB0 /* RACBlockTrampoline.h */, - F81B1CB804E12956908AB06FC316614A /* RACBlockTrampoline.m */, - E0E93EFA2157643640443FB443441F03 /* RACChannel.h */, - 43ADF3DD1B49443CA0236416D75575E2 /* RACChannel.m */, - 11E34147A092828C8735FABD15BE6EF5 /* RACCommand.h */, - 15543C915498F54D36A6E915DE44CFD4 /* RACCommand.m */, - CD76AA87198950C8D29AB7A08EE12B02 /* RACCompoundDisposable.h */, - 09316B32F1E46B59F80844D4EEEA2843 /* RACCompoundDisposable.m */, - E4E79EB31DBA654ACD1756C6E756A891 /* RACCompoundDisposableProvider.d */, - 30C4402A9DA44DF93957B2A115E7BCFF /* RACDelegateProxy.h */, - 08F2A2CAF4560F3A9484254A69A357F8 /* RACDelegateProxy.m */, - E212D588DF5836946F908BDF6E998BBE /* RACDisposable.h */, - 165B72EAB689AEAF1FAA23ACF481D999 /* RACDisposable.m */, - F4B09A287210308FBF83C1ED631D788E /* RACDynamicSequence.h */, - E06D8E900F97EF4CA4C84721CDD30DAD /* RACDynamicSequence.m */, - C996B558D6B8BA0D5C364E261B6DF222 /* RACDynamicSignal.h */, - 1C3A93282618B256264108B75910F473 /* RACDynamicSignal.m */, - CED12F7ECEE3F877105C20A443BBC9B8 /* RACEagerSequence.h */, - BE494D852DBA8FDCAEE9C42FF85D81F9 /* RACEagerSequence.m */, - 75854483937BE65758C8FEE5CB644BBE /* RACEmptySequence.h */, - 49BD5740F963C873DC805F4BB8867F6C /* RACEmptySequence.m */, - 179014CAF67F2F121814D749D3D2802A /* RACEmptySignal.h */, - B1879D7A52C9450570BB87017043443B /* RACEmptySignal.m */, - 307DE2C1A0EB008CA7B5AB3FCD583513 /* RACErrorSignal.h */, - D8EA17B7F7040EEBC4E27777CF23241C /* RACErrorSignal.m */, - 4A5C878D37CB2C1C80F0C5325675E222 /* RACEvent.h */, - 642F3A18E00392A8620D2A5C64A11F2C /* RACEvent.m */, - D7AF4737DB0F8CAC93AFB005102C0BBA /* RACEXTKeyPathCoding.h */, - 6A6D7C02A62709425EB63A31A34D79FA /* RACEXTRuntimeExtensions.h */, - 458F21944C16118A00971FBCA70DE06D /* RACEXTRuntimeExtensions.m */, - C9740105D243009C3AA85A9C5DFD2EE8 /* RACEXTScope.h */, - DD0D399F45683D98A57536950B03B4AE /* RACGroupedSignal.h */, - C2E17595BEBBE53BBADDB7C09551CD8A /* RACGroupedSignal.m */, - BDBE48FB1E6C4627869067768F4A8892 /* RACImmediateScheduler.h */, - E169E987EB7DB346C4464B6480224815 /* RACImmediateScheduler.m */, - 81344CE8F727FC5A700E13F1462451B0 /* RACIndexSetSequence.h */, - 00AC38A44150F037A17C4ADD24DBDD3A /* RACIndexSetSequence.m */, - 6A9D38883171355EFCCB626393CD03E6 /* RACKVOChannel.h */, - CC913FE9D55A274C7D210679DE153E65 /* RACKVOChannel.m */, - 3618EFFDF16413FFCB509E6CE61486F2 /* RACKVOProxy.h */, - 0C4B98333B9EFBBE0C43A09ABF4F80C2 /* RACKVOProxy.m */, - A6BB125706002F7A7EAB0F2E14F5BFA1 /* RACKVOTrampoline.h */, - 6A07D15BAA4F532A8F528297A7172952 /* RACKVOTrampoline.m */, - 8394581ABD4204BC66681CDEB39DC380 /* RACmetamacros.h */, - 969A7F719474238FC75CA27C7CA64CE3 /* RACMulticastConnection.h */, - 4E12488E55D0E5DA957A979A3E7C2E47 /* RACMulticastConnection.m */, - B43CF529E1F7D0CBC78C616AE177AFDE /* RACMulticastConnection+Private.h */, - 91ECF043BD011C80EC016A13B14DD197 /* RACPassthroughSubscriber.h */, - A42966795F418E3D604E132FE826F0BB /* RACPassthroughSubscriber.m */, - F1B08E954F771D1963E61C06D434F3F0 /* RACQueueScheduler.h */, - 5374EFE206DE7D23F3769FDA706D7D32 /* RACQueueScheduler.m */, - 37EB752A12B2E15BE6A44C6A99D5289D /* RACQueueScheduler+Subclass.h */, - 9761C68F31B8B0FD303942344EDEFAA1 /* RACReplaySubject.h */, - 12833385D4140DCE3D9DFD2688A34A08 /* RACReplaySubject.m */, - 829961427891518B1A65312A991CE6E2 /* RACReturnSignal.h */, - 16177EAF113ACDFB57D296A928AF3F47 /* RACReturnSignal.m */, - 06FF74C0A5B2643060F7C69389BF4555 /* RACScheduler.h */, - E2237870946CC893397747F6ACBFBA63 /* RACScheduler.m */, - C9D741A769FA94D00FDD6418D4244744 /* RACScheduler+Private.h */, - DEB0FCDCFA15ADD9042E715DA25CB2A4 /* RACScheduler+Subclass.h */, - 3933DACBE2AF9B60EA494E769FC50C5C /* RACScopedDisposable.h */, - 05022F9B4C62FAAF500E396D8CC315CD /* RACScopedDisposable.m */, - FDA3A05E9CAF77FA3122FE2B657275B3 /* RACSequence.h */, - 43411F464157008120CAD0E05DC6E6DC /* RACSequence.m */, - 46BB7593006F6697DDC666A0C128B7A0 /* RACSerialDisposable.h */, - E6DCD53DE1B12968851F9151C3E64074 /* RACSerialDisposable.m */, - A5175697FC35C4BA11F93256E0E4E762 /* RACSignal.h */, - 56B3CC7C7C154999C4CB47A4CA2A17F6 /* RACSignal.m */, - D6124E6EEFDC708D0ABEC43697AA4F44 /* RACSignal+Operations.h */, - F4B23C2D8434FC96B4D9EE629D86C1E3 /* RACSignal+Operations.m */, - 9C77B7010667A0E48437D279F6DF3FA9 /* RACSignalProvider.d */, - 8587A8FDA01AEDBB52A0BC426EA37821 /* RACSignalSequence.h */, - 2BF5CF7AA72B9D3C238DDA2196B2F77E /* RACSignalSequence.m */, - FDD1868ADFF057114B9A272A5D81C158 /* RACStream.h */, - 9D820805EC2E422F22879E264A2F2EE2 /* RACStream.m */, - 92CD385D10F1244A09D74D1718D6CA08 /* RACStream+Private.h */, - A21E0740E7CC8265EE6D1FF71DEC95B9 /* RACStringSequence.h */, - A02E798A1992B963DE0A52599A73F281 /* RACStringSequence.m */, - 03A567BE743259443440AFABA4BC7241 /* RACSubject.h */, - D9E39C50BB0D91A9BC5F9A128D8D3488 /* RACSubject.m */, - AF64895D44DD3B107B384CC6983A2ADE /* RACSubscriber.h */, - 69271018620F8D765E06F7501FC53A4E /* RACSubscriber.m */, - 797B0DEC5E8631CBBEE39D43863BF6C2 /* RACSubscriber+Private.h */, - 0A166544F161846882635799D999AD28 /* RACSubscriptingAssignmentTrampoline.h */, - EA1C7BB3A60BA170348DE1A29A5109DD /* RACSubscriptingAssignmentTrampoline.m */, - 31F667E0051794B7C941787A5A19C67A /* RACSubscriptionScheduler.h */, - 697002A21EBDC7613C0CA3F6244A037A /* RACSubscriptionScheduler.m */, - 360FCC11D9DF1412ECF3FC388AD3847C /* RACTargetQueueScheduler.h */, - B50ACA0B4F64DC04506BD1F71FB164C4 /* RACTargetQueueScheduler.m */, - 9E6DD3CCDD89AA3B36E91FC8BDCD55CC /* RACTestScheduler.h */, - 2B8A0C33070BD25B2F01BE5F20E87A29 /* RACTestScheduler.m */, - 8E2B5FBC518CBFE9A182ADA4C855B164 /* RACTuple.h */, - 4757D5399770E1093A76FC7713C35CA0 /* RACTuple.m */, - 954D80EC120AA74F7DEE0081352B2EAD /* RACTupleSequence.h */, - 7D7CFD21166E04FC0B40DE0561E1EB2E /* RACTupleSequence.m */, - 25E59E700A1C39AB6DF670FD0B953BA9 /* RACUnarySequence.h */, - 5BBBB58194057C5903F81E84437AA744 /* RACUnarySequence.m */, - 2FDB189ED1C91AE4C768F2D1B4B42E20 /* RACUnit.h */, - 8AF9F89DF5A27BFCA851FB3CD0CF7D28 /* RACUnit.m */, - 40517B8F8B34B1EFA69791ABB072911D /* RACValueTransformer.h */, - 73F4585B5800096DD1A0F4A652E7DC5D /* RACValueTransformer.m */, - E5532DAD8710DC8EAB1CD5647780B17E /* ReactiveObjC.h */, - 7A21655AADD7998ADCFA48D83189ED9E /* Support Files */, + EB856A6BF20729B51592E149EFCBCD00 /* FIRAppInternal.h */, + D371BDEB43CB71CA3BA33B41CB8BC7EB /* FIRComponent.h */, + 78BE4B2F95B687B52E987441C769B28E /* FIRComponentContainer.h */, + 65D0FD7FE6C9C23E76E522A5020790CC /* FIRComponentType.h */, + 532B2C7BDACD190C51A1B8375BF91D1D /* FIRCurrentDateProvider.h */, + 79C44CE459B0E1346D3BF9EBA7222D3D /* FIRCurrentDateProvider.m */, + 197ABEF43C67CB4D702E23A616337E6F /* FIRDependency.h */, + 41C0D3EDE8BADAD090196768E0AC12F0 /* FirebaseCoreInternal.h */, + 80F89DFEBA2B3FC15B8824F3974D887D /* FirebaseInstallations.h */, + A69A33AE9C7461A043CA8F315CB3BCCF /* FirebaseInstallationsInternal.h */, + 9D4D92E50628B7E0C259156389E4E205 /* FIRHeartbeatLogger.h */, + DC58C24B9224766C4025B825F5F0E985 /* FIRInstallations.h */, + 789D1B32E38A7F853725517C1A23D572 /* FIRInstallations.m */, + F0454752C5AA5F6505761B06100305C2 /* FIRInstallationsAPIService.h */, + C1C683BC460672E84D619553DC2AD42F /* FIRInstallationsAPIService.m */, + 047B6B408EAFE9EAAD499F1DD0044004 /* FIRInstallationsAuthTokenResult.h */, + B8A592F1AB84E52282FDC935B383C6A2 /* FIRInstallationsAuthTokenResult.m */, + 9ACB6BE5C4D5684E26B7854F9974B769 /* FIRInstallationsAuthTokenResultInternal.h */, + 793A7C9C43610EC870A0676F221E0546 /* FIRInstallationsBackoffController.h */, + 07BF67A0A21788F11E9820ACD60D8D4B /* FIRInstallationsBackoffController.m */, + D4D9F0D4E60EFBF91EC058208FB4F4FE /* FIRInstallationsErrors.h */, + AFCA7AA3E6FAF5E819AA157BA7124605 /* FIRInstallationsErrorUtil.h */, + 5DCC971F019152723985B4910F76B53E /* FIRInstallationsErrorUtil.m */, + A4AC1FD3ACE294C5C5DC3BEC9572C266 /* FIRInstallationsHTTPError.h */, + 806E002D04712787CE1BD3CF70F58B25 /* FIRInstallationsHTTPError.m */, + 77B3B590B210945E9576377854265468 /* FIRInstallationsIDController.h */, + B02F3DF7C24B086BAFA97A512CA926A1 /* FIRInstallationsIDController.m */, + 5CD1143CC3321136DE442A5C105F130B /* FIRInstallationsIIDStore.h */, + A0B8B622E89FEED8CAEB35013F9FCFEE /* FIRInstallationsIIDStore.m */, + 01E3FF18023005338D08526786208C95 /* FIRInstallationsIIDTokenStore.h */, + 3D9BEEC7F1141908D162C879AC1433B2 /* FIRInstallationsIIDTokenStore.m */, + 96CBD4FDD103BB55E139E180A0B5A2CC /* FIRInstallationsItem.h */, + C1F28E300B0C1643214B9138D8BDD47D /* FIRInstallationsItem.m */, + 31B22A96E2577EED585708E05FB25C01 /* FIRInstallationsItem+RegisterInstallationAPI.h */, + 46169382000143E692F6353F8B97DCE4 /* FIRInstallationsItem+RegisterInstallationAPI.m */, + F21B52959855B9E7C64BECFCD34641C7 /* FIRInstallationsLogger.h */, + 36F214DF65AD267C41859CF54D0FFC47 /* FIRInstallationsLogger.m */, + 0FD4072EFB581A732EC07091445602A4 /* FIRInstallationsSingleOperationPromiseCache.h */, + 0DBB45C8C84154E38284FF237A132770 /* FIRInstallationsSingleOperationPromiseCache.m */, + B306B6D5C04FEBF70BD09CB97013FAE6 /* FIRInstallationsStatus.h */, + 22FF5DB1B4F09DB5E4243157B967B147 /* FIRInstallationsStore.h */, + 842780374856B0795D6632E3B2655C95 /* FIRInstallationsStore.m */, + B5E1C5DE35F51CEC1FC2FF4EB9ED5961 /* FIRInstallationsStoredAuthToken.h */, + A1EEFD9879355154D34D3419DD3B398D /* FIRInstallationsStoredAuthToken.m */, + B458981F43DAC1B065927DC3C459C76D /* FIRInstallationsStoredItem.h */, + 4748AB6DF24EB82DFA43BAD9A250B803 /* FIRInstallationsStoredItem.m */, + 96198E391D3C378290CEE94023BCDA79 /* FIRLibrary.h */, + BFDCE7686FAC3D4554B710BAADBF3C57 /* FIRLogger.h */, + B3C157AB762D7B89C88A2896222F5683 /* FIROptionsInternal.h */, + D07CAF9C1B9B6BD1A0255836BE79A907 /* Support Files */, ); - name = ReactiveObjC; - path = ReactiveObjC; + name = FirebaseInstallations; + path = FirebaseInstallations; sourceTree = ""; }; - B0772CD0A8FC5734E57D9DFD03F567BA /* Support Files */ = { + BBD19C22F60A39510D96A6960274EB1E /* AFNetworking */ = { isa = PBXGroup; children = ( - BB4C452B9EAF0F179D7B7A32911C4FFC /* CocoaLumberjack.modulemap */, - 908AF1BF914FB2DBF63BB2402525F49F /* CocoaLumberjack-dummy.m */, - 160E976D8191C0D37CA60DF70CE967A4 /* CocoaLumberjack-Info.plist */, - 32F6A4FD6D75C16DDA2734D43482351B /* CocoaLumberjack-prefix.pch */, - DA49FDBCEF65456C41B322DCCF421717 /* CocoaLumberjack-umbrella.h */, - 0E403A9620BBE446FD1BDAFEB3B46A7A /* CocoaLumberjack.debug.xcconfig */, - 6EFE3705CC0571B3A385302ABF23043A /* CocoaLumberjack.release.xcconfig */, + DC414FD46D0F823FB7A12474862FDE2D /* AFNetworking.h */, + 6FBE0A61CD6E6B904D9FEDD7200CB86C /* NSURLSession */, + C51575073C8D91C25390D95E618430AF /* Reachability */, + 10DA6FADA21B3622228601C1486D95C9 /* Security */, + 54ABAA0DA9668674565C12B682056F71 /* Serialization */, + FB48FAFE1194A7C4E46D784D8DEDCFB9 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/CocoaLumberjack"; + name = AFNetworking; + path = AFNetworking; sourceTree = ""; }; - B5E9D3BA2D819D85E58B6E56F022C788 /* Support Files */ = { + BE092DD585441F578BD5835644D94957 /* JLRoutes */ = { isa = PBXGroup; children = ( - B3B4B65C9E9EC6926CF0C213931B840B /* FirebaseAnalytics-xcframeworks.sh */, - AD0C00D6A7B100B981223484B38A0D77 /* FirebaseAnalytics.debug.xcconfig */, - A0BA49435E1215626EC76CDB48D450ED /* FirebaseAnalytics.release.xcconfig */, + C5A5CF15ED5E51F9575BF4AE58B134D7 /* JLRoutes.h */, + F5BBD2EB2D4B4407C3E45A883D9E3B02 /* JLRoutes.m */, + FBED67EB294DDA1774EA3BCA3A047F27 /* JLRParsingUtilities.h */, + 2CFBA18443291B9C6E8DB07987535161 /* JLRParsingUtilities.m */, + 8332D4067950F9C3F2FCB72122BBD101 /* JLRRouteDefinition.h */, + F2F153F4CF8753B638C56A7596FC9B98 /* JLRRouteDefinition.m */, + 0C3ACB4FECC9B3CBC7EF3FE4E1DF913D /* JLRRouteHandler.h */, + 8F877C9E7C796F9F7E5FCA13F56CBA4E /* JLRRouteHandler.m */, + 85AC7FC5D0141B5EA2AC53D5B502C3DC /* JLRRouteRequest.h */, + 6C81F337D12892E2D21AD386C11ECC43 /* JLRRouteRequest.m */, + 9626AE9F8FA660DBE49A6781BF75A474 /* JLRRouteResponse.h */, + A8A265FF29CE15489289BE1050DA6209 /* JLRRouteResponse.m */, + A93DFA15A6EE690875D05CFEC90AFC05 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/FirebaseAnalytics"; + name = JLRoutes; + path = JLRoutes; sourceTree = ""; }; - B8863B6FA7835FD5C26FFA8E2176347A /* Support Files */ = { + C0B0AA81B814C674C5474CD107738B23 /* nanopb */ = { isa = PBXGroup; children = ( - F376B73D06E98B8C3300F5789038547A /* PromisesObjC.modulemap */, - ABD4B192C7438DB86E5DF5EAE7179F3B /* PromisesObjC-dummy.m */, - 7AB56C72CDC9F89D94421709FBA72DF6 /* PromisesObjC-Info.plist */, - 059CE931A8E82677DB1C7490AB737989 /* PromisesObjC-umbrella.h */, - B897AB3A453C960EB972432782577638 /* PromisesObjC.debug.xcconfig */, - 5254A5C494B0AC2D46BAC7D340C969B0 /* PromisesObjC.release.xcconfig */, + 560651D979145680C05354423C911090 /* pb.h */, + 697FDEF8A2EBE615EF291EFC2B309806 /* pb_common.c */, + 3D3EC981CA50047587A5396D011261B0 /* pb_common.h */, + 084FFBD8161DA139955F5C495E977BC7 /* pb_decode.c */, + 93D0A390E4166525C8125F0A7DAFBA1A /* pb_decode.h */, + 2E4BAE06429EE75C060592CF7B2C7A5E /* pb_encode.c */, + 633D595E51B67C5E747FB8EE435D3140 /* pb_encode.h */, + 7B8F7087C2430586DAF3B85E88DAA059 /* decode */, + 1FF557D24B9F83B57B572434333E0729 /* encode */, + A3BA232A27908F62A987B3CFD75D9898 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/PromisesObjC"; + name = nanopb; + path = nanopb; sourceTree = ""; }; - B911B54D3AF649FF28B18F87CC2A839E /* Frameworks */ = { + C34330F8AADC653AEFB468155EAFFEA4 /* SSZipArchive */ = { isa = PBXGroup; children = ( - F933F82775ECC24D0CB28EE9515262B4 /* AppCenterCrashes.xcframework */, + 8F03D2331EE58BB66172007398E223CB /* mz.h */, + FF7D24B1FDB750D082EA6C4C506C71E3 /* mz_compat.c */, + B895D9F9C9285B20C3912A9469B29FC0 /* mz_compat.h */, + A3AEF7359DCDBA2E91FF253A650D63D0 /* mz_crypt.c */, + BB2FD6D5217B6B2FE76160EAF18BBB66 /* mz_crypt.h */, + 6CD8960113E8EA5396158286C7D80633 /* mz_crypt_apple.c */, + 1900018C9BABFFC7E4419FE3295784C7 /* mz_os.c */, + 87D95C217008751659A5E22A916DF7C8 /* mz_os.h */, + 8C4158D16A134C331548292527690DDA /* mz_os_posix.c */, + 8498E5ABD6DACF0F0D6184F107CE7F87 /* mz_strm.c */, + AF195D0BFDCA9B89610DF1A127A03BA6 /* mz_strm.h */, + 8DB42D57FE417E3901E64C253A37E00E /* mz_strm_buf.c */, + 5DB78DD8D56E1E67FCB0B3054A171FAD /* mz_strm_buf.h */, + 03125AC96C270B30979C7BD57EF02646 /* mz_strm_mem.c */, + 339DBFF04BF5B69045288571D7E37278 /* mz_strm_mem.h */, + 8C6530194599F9C00ED7D1CCAB132BBA /* mz_strm_os.h */, + CA61BC9C3341FC1475881BCED935B4DA /* mz_strm_os_posix.c */, + F1FA7021849434D5223B692FD549309A /* mz_strm_pkcrypt.c */, + 1B557AE6221C0036A8EF477E4AEEE970 /* mz_strm_pkcrypt.h */, + 92C7175DDFEE3888902FE38C529F1A02 /* mz_strm_split.c */, + 428A30F6953C9758D81238BCA2C1F272 /* mz_strm_split.h */, + 3EEB861DC78A0491514953E4F808A1E2 /* mz_strm_wzaes.c */, + FE00140F5C6F9D079710F7A9A8F1C71E /* mz_strm_wzaes.h */, + 8BA6FAA843B87F1A6601D6A7A5E7857B /* mz_strm_zlib.c */, + 0A14F6B3EA6481DEE62737D1C024149C /* mz_strm_zlib.h */, + D4A290C7DD62A4E21DEB32E6FECE03A1 /* mz_zip.c */, + F255351D0A8061B242BF10480EEF3448 /* mz_zip.h */, + A8FC37205DE2229489E297D96F85E41A /* mz_zip_rw.c */, + F6C53EF74D9ED6699B523FC1E80D29BB /* mz_zip_rw.h */, + 0FD5311C749B336FABF406B041145AAD /* SSZipArchive.h */, + 8848FC407D058DFF452A23C1DAE40F0F /* SSZipArchive.m */, + 8DE77412DDCCDE41DD8BA5A58E04841F /* SSZipCommon.h */, + BA611C306E6197F720EC7960B0F78DBD /* ZipArchive.h */, + 9FDB714F44705D26EE317CF6FEC24702 /* Support Files */, ); - name = Frameworks; + name = SSZipArchive; + path = SSZipArchive; sourceTree = ""; }; - B9807E0C162D8E61A8C2E2D3BA9F65E0 /* Masonry */ = { + C51575073C8D91C25390D95E618430AF /* Reachability */ = { isa = PBXGroup; children = ( - C23DC9C94F4FDE6C3943D4E4DC6B4657 /* MASCompositeConstraint.h */, - 4687EC661AEA45156E830BE20D604F7D /* MASCompositeConstraint.m */, - 9DB60D9D9863371EEE59C51E381D817F /* MASConstraint.h */, - 26B709F5C43C8E0A05F6D7B3A9BE3552 /* MASConstraint.m */, - E142292B52B18D4B9F52B9266EEA6388 /* MASConstraint+Private.h */, - 012B75D1003A920BC7754E556D065741 /* MASConstraintMaker.h */, - D96F91D7A94143AF8CC1EFA86A636677 /* MASConstraintMaker.m */, - 2EB5A3B9340E360F36C5FFAD796AD56D /* MASLayoutConstraint.h */, - 4FE0B3255323E0D372AE2C3B4D4DC788 /* MASLayoutConstraint.m */, - D9767B170E9F2705902CD82227800886 /* Masonry.h */, - 32DA4ACBB46C10C500899B727F7C4729 /* MASUtilities.h */, - 82D23B1751BDC20BEEB25FCED3986CC7 /* MASViewAttribute.h */, - 112AABDAA5669556C7C480D1449FF1B4 /* MASViewAttribute.m */, - 84D06F82B2C8DF85281AC6BD14C050CC /* MASViewConstraint.h */, - F67F2ACAB9A5F31F1236D73B51D1BA73 /* MASViewConstraint.m */, - 99D61218778584EE22B56A16266C7DAD /* NSArray+MASAdditions.h */, - 6F9D94FE019462BACE3DB88260EC80DB /* NSArray+MASAdditions.m */, - EAF2E6F3DF63742ADE2510FE68E6CCC2 /* NSArray+MASShorthandAdditions.h */, - CAD97DF3898EA8AEA3B5EF4E5C9B0575 /* NSLayoutConstraint+MASDebugAdditions.h */, - B0666358E63C23DBAB82502CA8CB1282 /* NSLayoutConstraint+MASDebugAdditions.m */, - AD33DDDB67C05BA39F1DE48E3279605C /* View+MASAdditions.h */, - B72EE42DAE4F8BF4E6D8C2386D1F8D0D /* View+MASAdditions.m */, - 45775765D2A21F8C661CEC7F208DAF1B /* View+MASShorthandAdditions.h */, - 6BC62D8612D45AFA5604A78A5A13FD58 /* ViewController+MASAdditions.h */, - CD16A5CD83D2534629AD1C7D8D20DEA0 /* ViewController+MASAdditions.m */, - 04EBBFD92C4C890FAD1E2DC66C01C9C5 /* Support Files */, + A2BEA946DA2409F28FDF2D796BA7B421 /* AFNetworkReachabilityManager.h */, + 5EF82EBB7643BA7083C69110B5CE58A3 /* AFNetworkReachabilityManager.m */, ); - name = Masonry; - path = Masonry; + name = Reachability; sourceTree = ""; }; - BCE0AA55F3FA69DC995B75DA920869F4 /* Serialization */ = { + C6C922A2BA31C7F28D1556CD64FB56C4 /* Support Files */ = { isa = PBXGroup; children = ( - 4AEB2A453B35A48BDED6ADB1BF77F47E /* AFURLRequestSerialization.h */, - 14B6F5F0D12FDFE7AB1A5DDEF5D9A4EC /* AFURLRequestSerialization.m */, - 79B2B067B858F128192C1916F0199A74 /* AFURLResponseSerialization.h */, - EEE82774C609969826F1B750EFA845D7 /* AFURLResponseSerialization.m */, + B229791FF80A5FEAA340132BFCB88DD3 /* PromisesObjC.modulemap */, + 9EE19076692527A9F0D44437B752AE7E /* PromisesObjC-dummy.m */, + 95CD5D0845CDE552D1AD0CF3E1DEA5BE /* PromisesObjC-Info.plist */, + 5630A6818763CDDCBA097C4DB07A1E0D /* PromisesObjC-umbrella.h */, + E034A92E25A61CB44A9AB28CE9C4A5BB /* PromisesObjC.debug.xcconfig */, + 04DF1186178576F4AEDD94CD17685B63 /* PromisesObjC.release.xcconfig */, ); - name = Serialization; + name = "Support Files"; + path = "../Target Support Files/PromisesObjC"; sourceTree = ""; }; - C415437E6ED152F2528CC356AE6616D9 /* Pods */ = { + CB3F257FDEA6A6A096C316E82AC2FCED /* FirebaseCoreInternal */ = { isa = PBXGroup; children = ( - 19472709B0F10C4886F6E52EEBBD2C84 /* AFNetworking */, - D886FD4A29F76620CA01B5BAAC5E20F7 /* AppCenter */, - 7AAED97565F853C7587C1F0A791B584F /* CocoaLumberjack */, - 27E33E1DAB07AEABA2786CDA9B1B763D /* FirebaseAnalytics */, - DD3F07F519551F22858C7EE955C6B8F6 /* FirebaseCore */, - 22CF8B382FC11A98A84F701153B1DBD0 /* FirebaseCoreInternal */, - 891F6AE3FE1A332B78ED39D9DA84B4E1 /* FirebaseInstallations */, - A5EA001750E35C2AC177F45726E09631 /* GoogleAppMeasurement */, - 7812521B59963D2A66D088C555316CDA /* GoogleUtilities */, - 6A65BDBBB3F31CE5A698B8E96E1500F7 /* JLRoutes */, - C5E4229E047B5A92E93AFD82DED505AB /* KVOController */, - B9807E0C162D8E61A8C2E2D3BA9F65E0 /* Masonry */, - 3C828FECFF1DBE1E099C4D08EFBE2E0A /* MASPreferences */, - 7E1E7F16934684D0ECA7E9ADD48AF253 /* MASShortcut */, - F17402F7B7308905E5736D590181CB29 /* MJExtension */, - 9F5D7E0902889D854BFC775CC996F709 /* nanopb */, - 4F5AA6E6AFA68899D224F564CB7815D2 /* PromisesObjC */, - AF1322FB169C85C69247701B5A53945E /* ReactiveObjC */, - A715C183A9A9103A1FD3EF80DE37CB11 /* Sparkle */, - 19625303D0E4422B97FE2A4B1289BC11 /* SSZipArchive */, + 0270AF95EE25EF539A72405D4F56FEA8 /* _ObjC_HeartbeatController.swift */, + 1806A07E7CF6CA71BD5C56C5F8B3D20F /* _ObjC_HeartbeatsPayload.swift */, + D6BA0C49FF9BC5167CC49D6618015C60 /* Heartbeat.swift */, + D3EBF3F44A019AF03D13562999CDF8A9 /* HeartbeatController.swift */, + D13521A18FFDAF36F0F473BD14CAB7C0 /* HeartbeatLoggingTestUtils.swift */, + C90BE4ABECDFAD0700652C66DC476869 /* HeartbeatsBundle.swift */, + 9567610AD1B46AB835BAE4D248FE4B77 /* HeartbeatsPayload.swift */, + 51BE34E44744AE297A333EB5BB59B390 /* HeartbeatStorage.swift */, + 772B62BFEEE5D0345BDC2451EC70433F /* RingBuffer.swift */, + 0E97540173510268C0C11125F7F43851 /* Storage.swift */, + 5582A38A07A69A7F0BCB25116BECD5B4 /* StorageFactory.swift */, + 345308E1BD97FCCAD7EF080EECEFEC49 /* WeakContainer.swift */, + 7D926FC189F759FF1483700C3B74F0E1 /* Support Files */, ); - name = Pods; + name = FirebaseCoreInternal; + path = FirebaseCoreInternal; sourceTree = ""; }; - C5E4229E047B5A92E93AFD82DED505AB /* KVOController */ = { + CDDA3DF5E5D807B8D7DAD32145F5CCFD /* Support Files */ = { isa = PBXGroup; children = ( - CE08A00C2DB03FA88AF72552A4F0EF99 /* FBKVOController.h */, - 21A2A159F1D0596746F9989AC5BB455C /* FBKVOController.m */, - 3CA010AF40CBB4F01E9B091968D5185D /* KVOController.h */, - 7E451966FDDA5502148ED4DAADC8CB0A /* NSObject+FBKVOController.h */, - 1F063CF5CE998E5D8642A929F31C3DB0 /* NSObject+FBKVOController.m */, - 56FADA3886E9CD5BDCCCBDFD8FE7B22A /* Support Files */, + 1825F9286B8CD8E9381DB06170F68994 /* MJExtension.modulemap */, + FFDACBB5807D2354F7B963DC06B83715 /* MJExtension-dummy.m */, + A21ABB599790B4F3F3D012CE91464D94 /* MJExtension-Info.plist */, + 18C9E45955627C593A1D553F775AA1EA /* MJExtension-prefix.pch */, + A0BAA45263B76C83E934406299202672 /* MJExtension-umbrella.h */, + 0B46495A9BF42C85115D939CBF2EFA8C /* MJExtension.debug.xcconfig */, + 48A4D709C5807E7DF6202125E2EFD706 /* MJExtension.release.xcconfig */, ); - name = KVOController; - path = KVOController; + name = "Support Files"; + path = "../Target Support Files/MJExtension"; sourceTree = ""; }; - C7A9209B3B76D6DDAB7FDFBA155E1BC2 /* WithoutAdIdSupport */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - 5B5EA7233EFE85A78815203F58887DE4 /* Frameworks */, + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 7067D651188BC7621BDA2A7C82934B7E /* Frameworks */, + 1AEBA4C8B5D17862F63AC2356A038B34 /* Pods */, + 5693BBAC8BA81E6BB21D5358033E736E /* Products */, + D1E0CB3188DEDB5AE871914790FAE975 /* Targets Support Files */, ); - name = WithoutAdIdSupport; sourceTree = ""; }; - C8CB7D07CA676B5ABEFCAC611A12CD12 /* Reachability */ = { + CF2563711691F249592AF9DA1B42BEB4 /* NSData+zlib */ = { isa = PBXGroup; children = ( - 6035C3879308D38E2BB1C44D1B388AA2 /* AFNetworkReachabilityManager.h */, - 574D7028FF1BA3AB6F2443208C34EEBD /* AFNetworkReachabilityManager.m */, + 2B2F17D2B3C840B9C8D9961EB1F9AEAB /* GULNSData+zlib.h */, + 7598DA896185B6AA2A36CCD54930A614 /* GULNSData+zlib.m */, ); - name = Reachability; + name = "NSData+zlib"; sourceTree = ""; }; - CB19D397137DCAFCC0BF3F4702A7FBF2 /* Core */ = { + CFF25C335678C0D98018EEC6DD34AEC9 /* Logger */ = { isa = PBXGroup; children = ( - 8B725F1BBE089E570B06E297981C6EAE /* Frameworks */, + E55BEF8F9C01938ED74FE9FAD9957DEB /* GULLogger.h */, + 86315F0061C584291FBF259043FB0381 /* GULLogger.m */, + 6F9AA08B58FF8462DF005F30AB125D69 /* GULLoggerLevel.h */, ); - name = Core; + name = Logger; sourceTree = ""; }; - CF1408CF629C7361332E53B88F7BD30C = { + D07CAF9C1B9B6BD1A0255836BE79A907 /* Support Files */ = { isa = PBXGroup; children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 7067D651188BC7621BDA2A7C82934B7E /* Frameworks */, - C415437E6ED152F2528CC356AE6616D9 /* Pods */, - 5693BBAC8BA81E6BB21D5358033E736E /* Products */, - D1E0CB3188DEDB5AE871914790FAE975 /* Targets Support Files */, + 94ADB8B579B7D040646F9E701B939090 /* FirebaseInstallations.modulemap */, + D70C59D7A1B2B9CD323277E0AB0E2B05 /* FirebaseInstallations-dummy.m */, + 109DC147BDE72327ACDE8EF19B213083 /* FirebaseInstallations-Info.plist */, + 0AD3854ADEF6948A5A636DA2784AF270 /* FirebaseInstallations-umbrella.h */, + C7C684DDF5BDBEAD4F89E1E350B97E1A /* FirebaseInstallations.debug.xcconfig */, + 24BF7EC01DBDEAC2D409237393575B91 /* FirebaseInstallations.release.xcconfig */, ); + name = "Support Files"; + path = "../Target Support Files/FirebaseInstallations"; sourceTree = ""; }; D1E0CB3188DEDB5AE871914790FAE975 /* Targets Support Files */ = { @@ -3167,155 +3215,145 @@ name = "Targets Support Files"; sourceTree = ""; }; - D66C5E410A022DC6E3432463C14BB1E2 /* Support Files */ = { + D50291AB9E756F69C42CD15271DAA6CA /* AppCenter */ = { isa = PBXGroup; children = ( - 14DC47848741AF0B62B275D008EBF648 /* Sparkle.debug.xcconfig */, - E5A4EC49F988E4AE9EAABA7E6E06C0E1 /* Sparkle.release.xcconfig */, + A79DC697E3E7F33AC7DC3A1CB78E4434 /* Analytics */, + 9B4956D717E3588F39966B44757E5382 /* Core */, + 5863BA3F0369256C7E39C6B39FB7EFE4 /* Crashes */, + 97E4D7C4448F492A6E045F2EAB7E52CC /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Sparkle"; + name = AppCenter; + path = AppCenter; sourceTree = ""; }; - D886FD4A29F76620CA01B5BAAC5E20F7 /* AppCenter */ = { + D9AA7D1AD4C1D2BEB1EC2E742BC08FC8 /* Core */ = { isa = PBXGroup; children = ( - A33334E46F16286FBCDC027E7F48835E /* Analytics */, - CB19D397137DCAFCC0BF3F4702A7FBF2 /* Core */, - F461AF16C9812AE5FFA76EE8426F7A4A /* Crashes */, - 067FEE48B27B519A696152ABC6F24622 /* Support Files */, + 627E0D220E600016FA7E99D7714EEE79 /* CLIColor.h */, + 008CD2BB0405876BF3B5EB1B2696DA55 /* CLIColor.m */, + A9C24B2CA008C0BB9BAF812772501363 /* CocoaLumberjack.h */, + 175EDBC1469453E34C0AB1435EC8706F /* DDAbstractDatabaseLogger.h */, + F493DBAA683AC805B441ACC888A0B05F /* DDAbstractDatabaseLogger.m */, + 5AFC7F56B42393A9523A547E55DA9790 /* DDASLLogCapture.h */, + AC7ACCB46FA0F946F6813F7ACCEF24B2 /* DDASLLogCapture.m */, + A102FCDCE6DDFE1B30AD2D473E151A10 /* DDASLLogger.h */, + 5962D56B95EFC52FD10B3165754F2411 /* DDASLLogger.m */, + 6039600034EEB080B0D57C6F11F78CD6 /* DDAssertMacros.h */, + 7B4DBE49F9221CAE99D6DEDCB7B1C167 /* DDContextFilterLogFormatter.h */, + F391E4EC039B3906EF13881151D99003 /* DDContextFilterLogFormatter.m */, + CEEA6F353111C904701EF69770FD5F89 /* DDDispatchQueueLogFormatter.h */, + FE163D4A5D7FDF3BEDF57DAAFCC707AF /* DDDispatchQueueLogFormatter.m */, + ACF074090100DAD339372C9E197817A0 /* DDFileLogger.h */, + F7DC1DF009CA82DEC037BD43EC1D7237 /* DDFileLogger.m */, + 9ADBDEA38C71D02602FCB48F1C5B961A /* DDFileLogger+Buffering.h */, + 67862177F33EAD06D0DCE05AEB174A44 /* DDFileLogger+Buffering.m */, + 629D17FE35087BEA2BFDD0321BB5D5E0 /* DDFileLogger+Internal.h */, + F2CBE1A33F02A8F4F632FC9F8ADD49CF /* DDLegacyMacros.h */, + 544F5469D562B7DB99546A9A1D10B065 /* DDLog.h */, + B1D394F2CAAA6FFD919EF2D35945E546 /* DDLog.m */, + 3994B1B78981BAF397703D97B0EC4FE7 /* DDLog+LOGV.h */, + 758BD4DBDBB97BCFAF33A0D6C8FAC2DA /* DDLoggerNames.h */, + 39CB494C54822FD7F3C452A870A03558 /* DDLoggerNames.m */, + 8B53E76BA286CD016D031C9C22BEE077 /* DDLogMacros.h */, + 2D78447B71BA8A98615CC759B1258CA0 /* DDMultiFormatter.h */, + 86425451C2B72F68D89CA38BD92C07BF /* DDMultiFormatter.m */, + E692477A5A8E075F8D9D7846CC4DC0D2 /* DDOSLogger.h */, + EAF9B7B0F6AFC404DAC1C15D3901D0B1 /* DDOSLogger.m */, + 40CC7EABEF2944DCB92BFF0EAC1DF4E0 /* DDTTYLogger.h */, + B2E61A58D3192D0D5C3DF670CFDCC32E /* DDTTYLogger.m */, ); - name = AppCenter; - path = AppCenter; + name = Core; sourceTree = ""; }; - DC2FC9FCEB8AC3802CDE8388A5566E3E /* Support Files */ = { + DF371BCA90900FB75250D13A8BD75832 /* Environment */ = { isa = PBXGroup; children = ( - CA39D9A204BB00884E42CEC76055652A /* MJExtension.modulemap */, - CE9345C0E7A81298D832EBE9D2789C78 /* MJExtension-dummy.m */, - 1B79C3B6C4E12E967F3F5967317D6BB5 /* MJExtension-Info.plist */, - BFC4952D74220881B978087115627152 /* MJExtension-prefix.pch */, - 72F4D45ECE42AC9D985D813646FDA03C /* MJExtension-umbrella.h */, - 01277E50C634B8441355B5F93755265C /* MJExtension.debug.xcconfig */, - A0F8A5FDE9A266B11A3D3CBB15EA4E8A /* MJExtension.release.xcconfig */, + FE038AFBD3D69796701659E8AD23C166 /* GULAppEnvironmentUtil.h */, + 91651C5970D55CEE02527B3ECC985EE8 /* GULAppEnvironmentUtil.m */, + B627682E7A53A66BCED57C263EEBC3F1 /* GULHeartbeatDateStorable.h */, + 44DFBB653B76BAFA7F74528057DF634B /* GULHeartbeatDateStorage.h */, + DC9AE1C4D7B08A8B23C5D914935227F4 /* GULHeartbeatDateStorage.m */, + 8D96D588570395B09A30ABBB4501CAC1 /* GULHeartbeatDateStorageUserDefaults.h */, + E3BCC61F38E8E426E6EAA67A05B62C38 /* GULHeartbeatDateStorageUserDefaults.m */, + 81279A5A9A276E0BDFE022515147ADAF /* GULKeychainStorage.h */, + 6612C0D6BC21F1D3AD6A1F1948C6352A /* GULKeychainStorage.m */, + 4E03CD3F4CEB5E26476BFB319430412D /* GULKeychainUtils.h */, + 0F68D95386C769D546500247D3D188FF /* GULKeychainUtils.m */, + 6C8D2889D5709318AD50EA45EA9BDAA8 /* GULNetworkInfo.h */, + 835263838B5356B80988C6046BEBE257 /* GULNetworkInfo.m */, + 5CA5B8A0CC2A04D65296811FC21EAEFB /* GULSecureCoding.h */, + F8A92C1A0A3B20E3EA28AB39636B4DB1 /* GULSecureCoding.m */, + D81E52DEE6A3D5AAA7DBC4E4568D06AA /* GULURLSessionDataResponse.h */, + 43A2D88D195790929513BFD8C3D7BCB8 /* GULURLSessionDataResponse.m */, + C8EEAC52E9C20F9906EACFDBC71412DB /* IsAppEncrypted.h */, + 2A0BC286F143D70C3E47E980FF58B5E3 /* IsAppEncrypted.m */, + 09351960E37B3303BF11E930F6217AD4 /* NSURLSession+GULPromises.h */, + 5E8609DA89C09834193B698A45055970 /* NSURLSession+GULPromises.m */, ); - name = "Support Files"; - path = "../Target Support Files/MJExtension"; + name = Environment; sourceTree = ""; }; - DD3F07F519551F22858C7EE955C6B8F6 /* FirebaseCore */ = { + E82339B44942E537E6B232809FCDD1F0 /* Frameworks */ = { isa = PBXGroup; children = ( - 04FF49BBDAD7A0F0389F315899BC7AC2 /* FIRAnalyticsConfiguration.h */, - 6DC33A6B5889844AC44512E25C1F69F4 /* FIRAnalyticsConfiguration.m */, - F69C322959FEDDEB788BC59A36A8215F /* FIRApp.h */, - B8A183217E34554C17BC9FB6DF63DF5C /* FIRApp.m */, - B8AB430D95483BCBDAE93772AB0F7EC7 /* FIRAppInternal.h */, - DEF53E2D0902CC6622A588A2105277AB /* FIRBundleUtil.h */, - 8BBE5010ABC39044374D2BE439B29883 /* FIRBundleUtil.m */, - D2B608BEE9548AB53E7A8BEE06E16C85 /* FIRComponent.h */, - C51D6C4F577F42DC529DE2C3147D762A /* FIRComponent.m */, - C1FA6D3608326AA91049B37E82C61EB4 /* FIRComponentContainer.h */, - 6BDD3892972F7995A1CC233184F23872 /* FIRComponentContainer.m */, - 2BF1DA398243E13AEF7B32CBE6C13C4C /* FIRComponentContainerInternal.h */, - 5FA3FC1156F75E1CB4E2A3BC005C25B9 /* FIRComponentType.h */, - 728221625F5E757A9B18FF7B60D136A6 /* FIRComponentType.m */, - F01189283C509B70EEE48FA74ED215A9 /* FIRConfiguration.h */, - 788728BA0BD322FD6F35009C915E83E4 /* FIRConfiguration.m */, - 7E4C0CD5719D393384A145CF7CEEEFB2 /* FIRConfigurationInternal.h */, - 529AD56195696EA0CD391BD9076BBE17 /* FIRDependency.h */, - 077874D9F3E8F0B6F73064F6C5618055 /* FIRDependency.m */, - 41FDCC15B0DA30998AA80DAE2B5F6455 /* FirebaseCore.h */, - B2324D3DD347C5BDF823ED4641FB87CB /* FirebaseCoreInternal.h */, - CCCC4045A7AB641422C884226CD0DDF0 /* FIRFirebaseUserAgent.h */, - 7DE85CEA42898B6CF075E2D78F18FB2B /* FIRFirebaseUserAgent.m */, - 10C9273649D39C20759AB9E7DAE9B303 /* FIRHeartbeatLogger.h */, - 24F91137EC8B15B6FF34BE82B495B992 /* FIRHeartbeatLogger.m */, - 2EF75B44D75BB901390A3136CED277A8 /* FIRLibrary.h */, - 3CACEFE523636B0E3F1CD85D9BAC700A /* FIRLogger.h */, - 61F97E6254C10366A69FE030E1BFA1CA /* FIRLogger.m */, - 6C51F58F5EFC3274695E7E5A5D0FCDCE /* FIRLoggerLevel.h */, - 548667551809A1AE295A1930D4FA897E /* FIROptions.h */, - BADE54E823064055147C6EBA4BC98476 /* FIROptions.m */, - B465B5BFB627F619E7D7616802C81DD4 /* FIROptionsInternal.h */, - AB5CB884D075E6DC0FB6E139219D3D9E /* FIRVersion.h */, - 0F5EADF96595D2C8E68B8F2CA9FB04DB /* FIRVersion.m */, - 76A8DAC0872BED7FE4EEE7566D7F7649 /* Support Files */, + 0371993261AE6E964B014660128A0595 /* AppCenterCrashes.xcframework */, ); - name = FirebaseCore; - path = FirebaseCore; + name = Frameworks; sourceTree = ""; }; - EB63E02B9B7F6B0BC8002B1ADBB7A4E2 /* Support Files */ = { + EBBDE2C3D691907F1E7E3A6AACC6E659 /* Frameworks */ = { isa = PBXGroup; children = ( - BFD31C5A7769458587B59C8978BD2BF2 /* nanopb.modulemap */, - 727C521E341FFF0CC7A525EC7E181B64 /* nanopb-dummy.m */, - 6CC159D0B2561BF405D2077850349F50 /* nanopb-Info.plist */, - 7688F34E4976549A676FD1412141236A /* nanopb-prefix.pch */, - E7AAAFE06B63912DB463010C5C113B7C /* nanopb-umbrella.h */, - 3DAD7D567D5574A81E795698EF2EC66B /* nanopb.debug.xcconfig */, - 73FD27E2693D25D7290AE2CC781BA1FF /* nanopb.release.xcconfig */, + 977C280154A64E4D8B793B039A2CA774 /* AppCenterAnalytics.xcframework */, ); - name = "Support Files"; - path = "../Target Support Files/nanopb"; + name = Frameworks; sourceTree = ""; }; - EFE06B29701A698E8452C9E358C6D290 /* Logger */ = { + F01C24DE2EEECE1F09C44619394667C9 /* Frameworks */ = { isa = PBXGroup; children = ( - D1807A1A24F50C7BC99C99FA6F17556E /* GULLogger.h */, - 5688CF1DBC0DF8348B16D1981521965D /* GULLogger.m */, - 5B3B40F6E0F6A637342AF90EEB623F7F /* GULLoggerLevel.h */, + 99B65257C54DD3CC39E5EC355A89C1DC /* GoogleAppMeasurement.xcframework */, ); - name = Logger; + name = Frameworks; sourceTree = ""; }; - F17402F7B7308905E5736D590181CB29 /* MJExtension */ = { + F9D553B5F5C6C66DB72C816CB2F78331 /* Resources */ = { isa = PBXGroup; children = ( - 1AC96AF838C43C79F0E0918A158573AB /* MJExtension.h */, - A3E9524399622C6D31859BF37573B82B /* MJExtensionConst.h */, - 516F865062FD6D0012766CE885346764 /* MJExtensionConst.m */, - BBCC3911D7A93E00A42ED2E5130FDAA4 /* MJFoundation.h */, - 69EE03BFB2EFD39C77A4E79F6B591218 /* MJFoundation.m */, - 0259A0ABF52478A29E9AA01C21FB225A /* MJProperty.h */, - A1C5030F52C1CC970D3C1FC9D6C21552 /* MJProperty.m */, - 027A86324E4024C36924D52B5477A6EE /* MJPropertyKey.h */, - D4D1F66E4FED808BD00223514C9303C0 /* MJPropertyKey.m */, - E456EE4FE3529002B8578D44BD08F01E /* MJPropertyType.h */, - CBC372A9ABB5DC994DF4A5C939EA6EE5 /* MJPropertyType.m */, - 6B92658824EB05F56E1E9C1EFE0254AA /* NSObject+MJClass.h */, - 51CBBBB2525122228A1F1980DC53B67B /* NSObject+MJClass.m */, - 39442C557FFC3E015001AE3215C28D0B /* NSObject+MJCoding.h */, - CC0E7968348F8FB8C315889F911B9196 /* NSObject+MJCoding.m */, - 4A150939513362231FC41B3DDA68643F /* NSObject+MJKeyValue.h */, - F61EB2A128AF8AEA9D92E519362375FB /* NSObject+MJKeyValue.m */, - 3543F5665ADFC1CB26DEADD01EF2EA43 /* NSObject+MJProperty.h */, - ADA44E77878BA9ECA1F81F0ECACB5AE2 /* NSObject+MJProperty.m */, - 3D0DA6FF238593871A59930241831C86 /* NSString+MJExtension.h */, - 388400448D00420DD75453217D4446F1 /* NSString+MJExtension.m */, - DC2FC9FCEB8AC3802CDE8388A5566E3E /* Support Files */, + DE09D58D8F6416B0621F85CCBC40977C /* MASPreferencesWindow.xib */, ); - name = MJExtension; - path = MJExtension; + name = Resources; sourceTree = ""; }; - F461AF16C9812AE5FFA76EE8426F7A4A /* Crashes */ = { + FB48FAFE1194A7C4E46D784D8DEDCFB9 /* Support Files */ = { isa = PBXGroup; children = ( - B911B54D3AF649FF28B18F87CC2A839E /* Frameworks */, + F8E0C7BDC8E3BE2E36DD07A7F9146741 /* AFNetworking.modulemap */, + A9E909958E0C308188C32BF31E4F7CD0 /* AFNetworking-dummy.m */, + 8D27F42F3DDFF847CD8313FA242E7652 /* AFNetworking-Info.plist */, + 1CD352E0D66E5A3B9071FA9E474D380E /* AFNetworking-prefix.pch */, + F50A944CD6CC4ACE7D51C19CB1375133 /* AFNetworking-umbrella.h */, + 50595756AADA17B6D88C13C914E945E0 /* AFNetworking.debug.xcconfig */, + E97F9191C15F8F647C782588ADFF4D5B /* AFNetworking.release.xcconfig */, ); - name = Crashes; + name = "Support Files"; + path = "../Target Support Files/AFNetworking"; sourceTree = ""; }; - FF3CB4E6CA7F5E334458CE7B1B0F1ACA /* Frameworks */ = { + FD9A095A034275DDD4B641A19EDD2858 /* Support Files */ = { isa = PBXGroup; children = ( - 4A31987A148088857153F95C333C0044 /* AppCenterAnalytics.xcframework */, + 3D4DA97F44A3E9B9DF8DE22D5F1013AA /* KVOController.modulemap */, + F2A292C84E0672A6AB870E90C2E1A782 /* KVOController-dummy.m */, + 675F05A1F628D95DA68D9FF83209529F /* KVOController-Info.plist */, + 6BE3D63D680693D29B885F513E979F54 /* KVOController-prefix.pch */, + 1037F5E5E79D393A5DCCBF9821E853CE /* KVOController-umbrella.h */, + 2C5E848B4CD97F8C69DC4F1E308215A6 /* KVOController.debug.xcconfig */, + 19FF85FEFCEA28C75F88E113C66FF120 /* KVOController.release.xcconfig */, ); - name = Frameworks; + name = "Support Files"; + path = "../Target Support Files/KVOController"; sourceTree = ""; }; /* End PBXGroup section */ @@ -3329,6 +3367,104 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 0D318E33925F4D6751990129780459A9 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + E36EDB7D9F3BF29441278396BAF57CC6 /* FBLPromise.h in Headers */, + 10E74043EED4469BAF7AC389CBEB3393 /* FBLPromise+All.h in Headers */, + 2518EDD9A6F0AE26D47181E7ED9183F2 /* FBLPromise+Always.h in Headers */, + 545BE3599D55062C08E927E0F50F6DAC /* FBLPromise+Any.h in Headers */, + 589A405ED7C0749CD183211F015F0C26 /* FBLPromise+Async.h in Headers */, + FF31B3CE78D562237757D3927DB7A69D /* FBLPromise+Await.h in Headers */, + 55CB62D1F7EE6429A7834E3AAE77A0BB /* FBLPromise+Catch.h in Headers */, + F0A1D7D75657A49CD2646DCCBC5EDA9B /* FBLPromise+Delay.h in Headers */, + F910BD786EAC0827455DD4EB4F8BFF91 /* FBLPromise+Do.h in Headers */, + D5E0AD6F8F7F0C764B4BB90919EE5C1E /* FBLPromise+Race.h in Headers */, + 2156F19816CFDDC3D576270E8FD9707E /* FBLPromise+Recover.h in Headers */, + F35A88EC4B44BC6CA0452A1DB7E95A59 /* FBLPromise+Reduce.h in Headers */, + 1FBBB6026829431F0C0A1F37D3C91205 /* FBLPromise+Retry.h in Headers */, + DFEA7F649892568F3DB20B6CC8C04F00 /* FBLPromise+Testing.h in Headers */, + 5C3F7FA1D14C0D299270BF4CBA6CB76C /* FBLPromise+Then.h in Headers */, + CBF16C576CF899BF7299CEF8F839A3A0 /* FBLPromise+Timeout.h in Headers */, + F825084483FF6AB4288385D41C2FA424 /* FBLPromise+Validate.h in Headers */, + B613CAE3FF82BC0DDAE93524291C1480 /* FBLPromise+Wrap.h in Headers */, + A806C1F91999176464548E1DBB3B302B /* FBLPromiseError.h in Headers */, + 52030D53950AA0A754838F8381DF1D24 /* FBLPromisePrivate.h in Headers */, + 4F26CB82782248B671F06D1A742D816F /* FBLPromises.h in Headers */, + 4D6C431F21D310FC56360368F7E65586 /* PromisesObjC-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 191AFD5B761D09494C38685D3E99001C /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 460144EF3793D4C5273B18B57702FA44 /* FIRAnalyticsConfiguration.h in Headers */, + FD33862AA28A79703A340ABBAD888754 /* FIRApp.h in Headers */, + 27927F8A16313BF1F508FB5FA7E21183 /* FIRAppInternal.h in Headers */, + CAC4CECFC6F6D4B664BE057DEF311C73 /* FIRBundleUtil.h in Headers */, + 2BB636C193D7074F0D85AE4802FAE04B /* FIRComponent.h in Headers */, + E964E1D758734818D2D1F29E04CF2AE7 /* FIRComponentContainer.h in Headers */, + 67F00DF287F5E1CCAFC1245566CDFE57 /* FIRComponentContainerInternal.h in Headers */, + 09CCBA4ABEE08F93EF36D85B5015D3B0 /* FIRComponentType.h in Headers */, + 0587C12497CE2FD9B88B8A433CD95824 /* FIRConfiguration.h in Headers */, + 07FC6DCD4D07EF0B3509946BFABA3059 /* FIRConfigurationInternal.h in Headers */, + DE827AFF18DDB324518A4E1E02CC73FF /* FIRDependency.h in Headers */, + 375992668DB7E07D93C6DE42811C3201 /* FirebaseCore.h in Headers */, + D91E7B587DB73A8C485B57A7C7D6AFB6 /* FirebaseCore-umbrella.h in Headers */, + 50AB0E1A988012F4FD975666F0316A4F /* FirebaseCoreInternal.h in Headers */, + DAEB8D9F100A8A22872C4ABB5391DFCF /* FIRFirebaseUserAgent.h in Headers */, + EDAFE5260C83264B2C3F0C2DF3A05364 /* FIRHeartbeatLogger.h in Headers */, + AFEC04D39C87AC443522A9F8446986A9 /* FIRLibrary.h in Headers */, + D657FAD184CC0EAF892643EE5DC71390 /* FIRLogger.h in Headers */, + 67F37C3E91B6C5D51F0B70BABE5698B7 /* FIRLoggerLevel.h in Headers */, + C772B21700DD2BD5C6C94840366F744C /* FIROptions.h in Headers */, + 9F4C4BAC48DCDC6AC96DF0A9A0E63741 /* FIROptionsInternal.h in Headers */, + 1ABEC7D5F9E81F20BF11C90C2B447144 /* FIRVersion.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 19D8BC86CEB2D6DFF00F295ED7540EF0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 2CE54DAE0FFCBDA8862E457991A7935A /* FIRAppInternal.h in Headers */, + E8322431126E5D9A7CAD0DDC97FDDB24 /* FIRComponent.h in Headers */, + 743EA59AD23FC8A38376E6B36D3A1EE4 /* FIRComponentContainer.h in Headers */, + 843557639FD0DFB0B5BB9CDA5DACB29F /* FIRComponentType.h in Headers */, + F6B1EEB3CD0AF658C818752272603987 /* FIRCurrentDateProvider.h in Headers */, + F6821BEC17A0BE43C392CC5012793DEE /* FIRDependency.h in Headers */, + F5A1C4CFAB62D869D0C96D89D5DF09A0 /* FirebaseCoreInternal.h in Headers */, + 3FC32ADBE6B79E8637E573CCA6D2B597 /* FirebaseInstallations.h in Headers */, + 0A7C40131C6F1FBC61A532C77B6CC771 /* FirebaseInstallations-umbrella.h in Headers */, + F17BACE2CB77EF345726F7D9E76FEFDC /* FirebaseInstallationsInternal.h in Headers */, + B3BADF8B25C8615BC8A20C3C10481FAF /* FIRHeartbeatLogger.h in Headers */, + 189975C0472C77627A5EDA083B18DFC7 /* FIRInstallations.h in Headers */, + 84C2473F66484C373BF1485758CFCEDD /* FIRInstallationsAPIService.h in Headers */, + B3F532F24F2446BA09C191837AB9F49F /* FIRInstallationsAuthTokenResult.h in Headers */, + 77F920CCE30ED45F7D1945CC428B5ECA /* FIRInstallationsAuthTokenResultInternal.h in Headers */, + D822383056983AB8DBBB13D6581B4734 /* FIRInstallationsBackoffController.h in Headers */, + 0542328DDE14EE114ECBAD75F7F6663F /* FIRInstallationsErrors.h in Headers */, + 43CF837FAE14BD5BF13E0AC9CD9BF40D /* FIRInstallationsErrorUtil.h in Headers */, + D78572D1CDA75EEEBEA8728F6E032FC2 /* FIRInstallationsHTTPError.h in Headers */, + 8EB850C83CE115C31E35B12B18A7A923 /* FIRInstallationsIDController.h in Headers */, + 7CB9816F33BD9B26822CB0E442547ACC /* FIRInstallationsIIDStore.h in Headers */, + 1FC92644E8AD8917857F1A2E8F4D09D5 /* FIRInstallationsIIDTokenStore.h in Headers */, + 4D253B0E0F21EE9EF8EEA0F8BD63E6D1 /* FIRInstallationsItem.h in Headers */, + F94FF774BDA8F9371D430F0E756FC3E1 /* FIRInstallationsItem+RegisterInstallationAPI.h in Headers */, + 67171A31C86CCF921A26BF0A4D802A6A /* FIRInstallationsLogger.h in Headers */, + 79416C10D4656F084ABF44DF277B74CC /* FIRInstallationsSingleOperationPromiseCache.h in Headers */, + 2234E4D42CEC4B2C10CC5D4AF2787F6D /* FIRInstallationsStatus.h in Headers */, + BFB6F43CCCF2D46EB5DC2708363090ED /* FIRInstallationsStore.h in Headers */, + 99FF85D64D408B3148F45E75A56E6AAA /* FIRInstallationsStoredAuthToken.h in Headers */, + BAEC1CE28F4FE728CC12D9EB776BAAA0 /* FIRInstallationsStoredItem.h in Headers */, + 9580BD8962D522E923426210CC9A5E25 /* FIRLibrary.h in Headers */, + 51855AF76FFA872B225C03E0017B7A1F /* FIRLogger.h in Headers */, + EABA2BDDACEED4C3B834C10BDF15778C /* FIROptionsInternal.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 1BB27CBA7E548CAF9DC8C4ACE697C2DB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -3345,14 +3481,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 2419D325EC7BC55965F08D5ACB4B598A /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 265AA3CA3BA051E29410384EC6E6C422 /* Pods-Easydict-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 27FF3BDB330FA77A1EBDA55E2A1656DB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -3455,43 +3583,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 556B276231CCC1BAAB0EC145753D0E29 /* Headers */ = { + 3A9704169CCCDA4EE04BB0C5132C5588 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2401F66A507A63733C5D0BAA1BE8014D /* FIRAppInternal.h in Headers */, - 1F4A8853D5BDC90239244C75EA9D516A /* FIRComponent.h in Headers */, - 2ECC0298D44D9F46856774DCBC57E1B4 /* FIRComponentContainer.h in Headers */, - EDBD1C954537268932D953FB4AEA2A9A /* FIRComponentType.h in Headers */, - BBEF825EC3ADE75C2D0CAE4450D80A3E /* FIRCurrentDateProvider.h in Headers */, - 447C10B3933495DF0EEE62E74AAB3DBA /* FIRDependency.h in Headers */, - 776BC19323A64FFBAACF2DCDC4AFFD0A /* FirebaseCoreInternal.h in Headers */, - 16F88B51CD84CDC0A367EB8754630B94 /* FirebaseInstallations.h in Headers */, - 9E10FCAF421FF2D3C1FA790FF463B880 /* FirebaseInstallations-umbrella.h in Headers */, - BF11C0C9A6B6E3A502295E81561AEF89 /* FirebaseInstallationsInternal.h in Headers */, - 5FE17569F2659E57D062BBF382D184EF /* FIRHeartbeatLogger.h in Headers */, - B1E797E27A7045BD45A24B182F7B43BC /* FIRInstallations.h in Headers */, - 86C2549401346803A2B4405EBB568023 /* FIRInstallationsAPIService.h in Headers */, - 02233F20F0DFBCDCA6341A4B064A85AD /* FIRInstallationsAuthTokenResult.h in Headers */, - ABAE72CC8268BA2A1EBBF300BB379B63 /* FIRInstallationsAuthTokenResultInternal.h in Headers */, - A8A4892864DCE2B02576F5D5770D8264 /* FIRInstallationsBackoffController.h in Headers */, - 1B83AD8CF159933060B4F757388C4F9B /* FIRInstallationsErrors.h in Headers */, - D9E26C0C6FC61FEED3D7E1A769F76238 /* FIRInstallationsErrorUtil.h in Headers */, - 82EFD56B8E0B0EB2026FCA3D538A2E10 /* FIRInstallationsHTTPError.h in Headers */, - 6974E24BE9E3AC5B24E3BD0163661858 /* FIRInstallationsIDController.h in Headers */, - 84ACC3AF89A877AAB82B319A477B6EDD /* FIRInstallationsIIDStore.h in Headers */, - A3E2395155AB6B58D83633A0229DF34B /* FIRInstallationsIIDTokenStore.h in Headers */, - A13008AF74AFB78F4561BAE7E33809A1 /* FIRInstallationsItem.h in Headers */, - B4DD91BFD30B30AD0D71DF9938702B75 /* FIRInstallationsItem+RegisterInstallationAPI.h in Headers */, - 53818D3AE23820A3368641805A2539F3 /* FIRInstallationsLogger.h in Headers */, - 52DF66534085FEC572B47B1E7DA8EC63 /* FIRInstallationsSingleOperationPromiseCache.h in Headers */, - D678EF770C22CBC3C96A65CC7764FDFE /* FIRInstallationsStatus.h in Headers */, - 9698FB9E0A8A85823713D9A3E1330A2D /* FIRInstallationsStore.h in Headers */, - DD42A4EF091F949729E382AEDF5D97A5 /* FIRInstallationsStoredAuthToken.h in Headers */, - F3002C5905548A8797DB66441E64FFD8 /* FIRInstallationsStoredItem.h in Headers */, - 42D04E25F53FF4091097276EA54DBAA4 /* FIRLibrary.h in Headers */, - 4A77960882DD38977EDE08E2D176EFA0 /* FIRLogger.h in Headers */, - 424BD8D5270287AD5A3422E570FA1539 /* FIROptionsInternal.h in Headers */, + D441B48B193F0384A29A2FDDF9FB0D56 /* nanopb-umbrella.h in Headers */, + 1D87A247C0C84AAF87FCB358A8C688E7 /* pb.h in Headers */, + B66E9352186FA183F800AD52E6E0F3C2 /* pb_common.h in Headers */, + 959D567188348BC0FFFD2E5EAC3AF0F3 /* pb_decode.h in Headers */, + 22E8811D3EB29F546237BAAD7201D90F /* pb_encode.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3545,52 +3645,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 693E25528031102F3202E9DA7D1A8326 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 786881B4FA7A1E65877C18000E0A10EE /* FirebaseCoreInternal-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 7EB7437F3B2C03F7E3D6E5D751D630BB /* Headers */ = { + 72FA3D91FC443FA38354F93765DA088B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1B27AE2125DAD92C0F085A6472EE694D /* GoogleUtilities-umbrella.h in Headers */, - 6704D4966416ACF3B3E6449FE17FAEC5 /* GULAppDelegateSwizzler.h in Headers */, - E6EDBCFBC76BA560E899B44B3DEA69A4 /* GULAppDelegateSwizzler_Private.h in Headers */, - 7ED69AB3F6E6ABB3474EB29D26B2FA9D /* GULAppEnvironmentUtil.h in Headers */, - 2B6646F45BA5DBE0D6D8686D7E03E2F6 /* GULApplication.h in Headers */, - FFE77AD50E8784B95E4A1194E771CD37 /* GULHeartbeatDateStorable.h in Headers */, - 2E88E7A795A6C6A347FC3B1CC25773D4 /* GULHeartbeatDateStorage.h in Headers */, - 40072A9DA09966111A22BB7DEE744844 /* GULHeartbeatDateStorageUserDefaults.h in Headers */, - 8302731384FB73D5762C8655FFB60F9E /* GULKeychainStorage.h in Headers */, - 559BBBD0CC974781E561BC9B5E861199 /* GULKeychainUtils.h in Headers */, - 273EB6CC0A70A65C84C2377CA6109790 /* GULLogger.h in Headers */, - AFD5056411AA4A873FCFD0553B30172D /* GULLoggerCodes.h in Headers */, - 0EF189DC74A38E6448BE199A23E7443F /* GULLoggerLevel.h in Headers */, - 15584B80506E4B9C2B8C15970ED0474A /* GULMutableDictionary.h in Headers */, - 234432DA09C7AE862D1DE968615D834A /* GULNetwork.h in Headers */, - EA27D6F84118470B684F0970D4F41A5B /* GULNetworkConstants.h in Headers */, - 031E96C37FCD4E19D118DD165B6105DD /* GULNetworkInfo.h in Headers */, - A4FB8903967F840D46D98B9F34932712 /* GULNetworkInternal.h in Headers */, - DC5DEA8E3D73E62560516C5B8723D8DE /* GULNetworkLoggerProtocol.h in Headers */, - D0CD06D691D4D6BBCDC90D0F84C6E21A /* GULNetworkMessageCode.h in Headers */, - 195948579E7024F4EDA079C5561FA173 /* GULNetworkURLSession.h in Headers */, - C2E06E8DE5FAD69F5A9B02BA6748E1D5 /* GULNSData+zlib.h in Headers */, - 7CAF4C538E7EBD2FA7167E6CA4E05A0B /* GULOriginalIMPConvenienceMacros.h in Headers */, - 7A28D53E407EE66B11009F914ED777CA /* GULReachabilityChecker.h in Headers */, - 4C08399B96931890F341554D43942CE7 /* GULReachabilityChecker+Internal.h in Headers */, - 9FFDF56F1E0840F4D8029E9705686F47 /* GULReachabilityMessageCode.h in Headers */, - 91033607F2490695CDBB73CD67B62C1E /* GULSceneDelegateSwizzler.h in Headers */, - 5A38E0D8BD6D997B568E0BAAEDBDD1DA /* GULSceneDelegateSwizzler_Private.h in Headers */, - 8B5AA9A05281D48C9A99BE1C42C0AB1F /* GULSecureCoding.h in Headers */, - 0190C8AFABE58BAFDF40CB7BF72D27B0 /* GULSwizzler.h in Headers */, - 072A708AB75BAA94E21FFFDF24632514 /* GULURLSessionDataResponse.h in Headers */, - 215453AF9E570E6E68CF2192982A0B28 /* GULUserDefaults.h in Headers */, - D9B6DCF62CAFAF0BA235118D026BB46F /* IsAppEncrypted.h in Headers */, - 974D8A2F96CAE4285036628F2AAE3B3F /* NSURLSession+GULPromises.h in Headers */, + 4953F4740D1DEF0E6B8008CBFCAA5CC6 /* FirebaseCoreInternal-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3608,61 +3667,52 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 95DCD3C6E4CFC95192A14DDDA1BC6AA9 /* Headers */ = { + A3C4C1A0E71F68953482D38FA68CF9D3 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B09A689A08A98868AA77ABCFE1D84CC3 /* FIRAnalyticsConfiguration.h in Headers */, - F56D8C16963D30C4DB1CB476CACE97C7 /* FIRApp.h in Headers */, - A6669EC44F099A10EF6E928532BF87FE /* FIRAppInternal.h in Headers */, - 84C7942AEEA6CDC932C537A94FBDDDDB /* FIRBundleUtil.h in Headers */, - 8650C0BF10BB7E1C8131AEB0B06248FA /* FIRComponent.h in Headers */, - 01C71B51D3A2D41135BC2DB8A00680F3 /* FIRComponentContainer.h in Headers */, - 7B2B68522D4BF5168531352A043D7A73 /* FIRComponentContainerInternal.h in Headers */, - C6E449E02394F83976AB3C1CEF3E8C0C /* FIRComponentType.h in Headers */, - 49A9E1E796A8E36FA3FA424C1A765FF5 /* FIRConfiguration.h in Headers */, - 02A998B2C651F3A8A815362C499713E6 /* FIRConfigurationInternal.h in Headers */, - A89EBD3C689D9B0770255B945078F8A9 /* FIRDependency.h in Headers */, - DECC83DA6AE144C15DFFA3859F1B3F45 /* FirebaseCore.h in Headers */, - 140E9C8007B136E3019F4D7FBAE762BC /* FirebaseCore-umbrella.h in Headers */, - F035E76CEBDC4D5EBE272710BB637AB9 /* FirebaseCoreInternal.h in Headers */, - 5F2300DCDCA698067B78C061F40767D7 /* FIRFirebaseUserAgent.h in Headers */, - 93605887C8C794E9B0BBDF943998FCD8 /* FIRHeartbeatLogger.h in Headers */, - BD6C69FB00BFA15F5D129C9AAC46A45F /* FIRLibrary.h in Headers */, - 008CC7F8BC9F08506C96979B0C3CCE88 /* FIRLogger.h in Headers */, - 5C2EB7BFE856F3FEA9B7034CCB88B5B1 /* FIRLoggerLevel.h in Headers */, - E5E5165E185EAFC152225F93CD0E97B1 /* FIROptions.h in Headers */, - 3893D01BDB111CEFA938A12B338CB291 /* FIROptionsInternal.h in Headers */, - C262346A2C09ECF48E7858FEB13E5B12 /* FIRVersion.h in Headers */, + 2CFD4BE29D8D282CE49973B515DBB124 /* Pods-Easydict-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A22F09BCA57250A9315A3755B74777E5 /* Headers */ = { + AA47AA2BABD2B50AE12B073AE3B2FFF8 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 47066D24FADF2B05F47D547AF195CA7C /* FBLPromise.h in Headers */, - D56CFB83AF4BDDFF1145069325594732 /* FBLPromise+All.h in Headers */, - A0FEF041FA2905719907E9336EA9FB2A /* FBLPromise+Always.h in Headers */, - 6095B659DA0C927065C3B3B3250F3F28 /* FBLPromise+Any.h in Headers */, - 53CC05713E78DE3F121CA57C4E59ECBF /* FBLPromise+Async.h in Headers */, - E8C9BF119C56EC997921613B6CF44B1B /* FBLPromise+Await.h in Headers */, - 29E770F0234DEEA08D9E835D911A93A4 /* FBLPromise+Catch.h in Headers */, - A5124E461EC08DAEA4087ED81E61C837 /* FBLPromise+Delay.h in Headers */, - 7F3AA6AD766DE6997AB2F5F20B1DD041 /* FBLPromise+Do.h in Headers */, - C491109A197639F64ABD4A2C7E8CF78B /* FBLPromise+Race.h in Headers */, - 8F789E287D8A1A54A054A0E116135EF2 /* FBLPromise+Recover.h in Headers */, - A82ED4505010277F816EF2DB22312FF4 /* FBLPromise+Reduce.h in Headers */, - 74E7ECA70FD8819C3F30722EF834B8F4 /* FBLPromise+Retry.h in Headers */, - F2D45B0102AEDA912217923B0D206F2B /* FBLPromise+Testing.h in Headers */, - 3414CD31272ADCBBDFB403D26A0AA0BA /* FBLPromise+Then.h in Headers */, - EECCAA3AFE9CDFA9F3A57B4CD225D9BF /* FBLPromise+Timeout.h in Headers */, - CDCB8C57BE6F5749912B89808E77D1DE /* FBLPromise+Validate.h in Headers */, - 074609EE3FE31B9DF1A6606D642EE0E7 /* FBLPromise+Wrap.h in Headers */, - B48D05DA5FB675DA8EE7A6A1911D8691 /* FBLPromiseError.h in Headers */, - 78C941181BE02EB8A4916ECBEB7EAF81 /* FBLPromisePrivate.h in Headers */, - FC3A8B75CE80847AA320A955B09A1064 /* FBLPromises.h in Headers */, - 57419946A9A8A6527131343101E02C48 /* PromisesObjC-umbrella.h in Headers */, + CFD6B36369A0F6AF7567A2BECACCF01F /* GoogleUtilities-umbrella.h in Headers */, + D3AA5D2DC4CB6C91C4EB83EEF49C48FF /* GULAppDelegateSwizzler.h in Headers */, + 99259C7BA5AB79360C72BF5B6842DB54 /* GULAppDelegateSwizzler_Private.h in Headers */, + 086EE2D0770A1BB4EF0C9C19FD778224 /* GULAppEnvironmentUtil.h in Headers */, + 08C12A6AF41D98739C78D0511D32EA11 /* GULApplication.h in Headers */, + ED8A70F508FE13CD7FEA34E890767DA5 /* GULHeartbeatDateStorable.h in Headers */, + CEAC1513332CCD1A74CBB6E3B9160257 /* GULHeartbeatDateStorage.h in Headers */, + 4BA257E775CCF680B435F94C9586A3C1 /* GULHeartbeatDateStorageUserDefaults.h in Headers */, + 7C4A62574F134FF6C56AC0A3D3D6D901 /* GULKeychainStorage.h in Headers */, + AF1DB01173080909C4F51F9D6566FE46 /* GULKeychainUtils.h in Headers */, + C01D5A208773F5FC492970AC321DDE49 /* GULLogger.h in Headers */, + C380FEDE48B95A70F3F4976FEEFB8D78 /* GULLoggerCodes.h in Headers */, + 155D189BF61FDB2312D889F0F44DA613 /* GULLoggerLevel.h in Headers */, + 39E6C7F1D3C32B69C7BFC7E7795D6B3F /* GULMutableDictionary.h in Headers */, + 0DCB939F27AF4550E3BA1B3C184AAF88 /* GULNetwork.h in Headers */, + 63762380D6B86A596C393CAF0BF4FCA0 /* GULNetworkConstants.h in Headers */, + 2792FA7044941175FE0521CC5600658D /* GULNetworkInfo.h in Headers */, + BCCEB652DF206B6D1C4F198CC8502021 /* GULNetworkInternal.h in Headers */, + FB0E753CFDE3A4CBC3BE0CF0150B5964 /* GULNetworkLoggerProtocol.h in Headers */, + 4F7DB4073B5C0AF463FE66038905910A /* GULNetworkMessageCode.h in Headers */, + F1C6BF328BE0765041A4BD07697D1ACC /* GULNetworkURLSession.h in Headers */, + 932B1F2E7AAB54683E2EB46D2308412A /* GULNSData+zlib.h in Headers */, + FC9069E27B04DCA0AF361D261C5A5E6C /* GULOriginalIMPConvenienceMacros.h in Headers */, + 8F0BA1EA7E1132FCCB2BD85A6F982586 /* GULReachabilityChecker.h in Headers */, + ED060AB935A27B3A0856B3138818913F /* GULReachabilityChecker+Internal.h in Headers */, + 750014FD2A30381DA5049E57C7F28053 /* GULReachabilityMessageCode.h in Headers */, + 85D2AB6BFCA86D718B7EFBB333B17657 /* GULSceneDelegateSwizzler.h in Headers */, + 05A83C90873359548F0BFDCA99648C69 /* GULSceneDelegateSwizzler_Private.h in Headers */, + FC01EA7BAB67836B2F93C5D8551BE6DF /* GULSecureCoding.h in Headers */, + 4339A5B07FA81E703B5F57B914EE5A61 /* GULSwizzler.h in Headers */, + E2E2A6AACEB89DDFB6434BA3AAF7B4BD /* GULURLSessionDataResponse.h in Headers */, + 5ED446040E44AEAC3F9AD5BBBDEF4992 /* GULUserDefaults.h in Headers */, + D4D0288CF43797B7CE975A05562A04A8 /* IsAppEncrypted.h in Headers */, + 3FF07E6B05079878C66F10917CC040C5 /* NSURLSession+GULPromises.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3742,18 +3792,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - DC3CFE0DB018FFA6D77049B816C362A8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 242E65E5F54EE3814671901B6C830629 /* nanopb-umbrella.h in Headers */, - BC1E6C4574CCE304E8F3A0C7BB6435D5 /* pb.h in Headers */, - 26AB3315F36F4A1C47FA55C92201A5C3 /* pb_common.h in Headers */, - ED6668B229818FD7947EC5910C7FC952 /* pb_decode.h in Headers */, - E9BA8DC2DBEB8B9D15C2BE2B7FA6815A /* pb_encode.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -3787,16 +3825,16 @@ buildRules = ( ); dependencies = ( - 242313A871FF495527FEB858EA147FC7 /* PBXTargetDependency */, - A85EDBFC883EF9BB4684D856048EBF98 /* PBXTargetDependency */, - 67B8075CAD307596F7F9E3F8487F42A9 /* PBXTargetDependency */, - 59DF162CF1FECD7ED20EE2A6951CD7DE /* PBXTargetDependency */, - 052345630E7F022DFDEDE142648F3EE6 /* PBXTargetDependency */, - 00AF18CC8D08AA93BBB84C756D617274 /* PBXTargetDependency */, - 0B31E8B0A46B94DB9ED633C4361E934A /* PBXTargetDependency */, - A109C639D336D23B36F5ACD1B432473E /* PBXTargetDependency */, - 3A9A0F16B43AD0FEA04A79E248C49708 /* PBXTargetDependency */, - 1BF70B0FB2332B53F5DEC7E38E2FA8A5 /* PBXTargetDependency */, + 3E0FA81F6E4F747455BC2447F35EB75B /* PBXTargetDependency */, + 8E176676A5A64AF9B6F33DFB53101A4D /* PBXTargetDependency */, + B8EC4B0DEAFB7C9F197095634539A332 /* PBXTargetDependency */, + 7CD5ED4639A3F07AB5CA68E27850D222 /* PBXTargetDependency */, + 31E496309BEACA18FE8779EA19402912 /* PBXTargetDependency */, + 24AA67FAD742C0DA3FE6F3C26618B007 /* PBXTargetDependency */, + 9179D7D37C4952EEAABE67BBD87A442B /* PBXTargetDependency */, + ED417472E6BAB4AAAE06BA82DE9825BB /* PBXTargetDependency */, + 0CA6065F24C95A1F5F80C4FB4A41FF81 /* PBXTargetDependency */, + E4465491036FDE3E24E82EC2B0139E7E /* PBXTargetDependency */, ); name = "Pods-EasydictTests"; productName = Pods_EasydictTests; @@ -3805,11 +3843,11 @@ }; 0A273FF147C6C1A3B504E3652CD01233 /* MASPreferences-MASPreferences */ = { isa = PBXNativeTarget; - buildConfigurationList = 0D89A2B24024F7106EA968FCCAAEB729 /* Build configuration list for PBXNativeTarget "MASPreferences-MASPreferences" */; + buildConfigurationList = EC16C017DE1417167E6F5BA25580BFAD /* Build configuration list for PBXNativeTarget "MASPreferences-MASPreferences" */; buildPhases = ( - 0C018DAB67AADCC50CA0E395CF0F1C91 /* Sources */, - 8A778FDDAA23F21D75490CD5FD965341 /* Frameworks */, - 7A0CD16781359866E89C818562591798 /* Resources */, + 23244956864A83194BB70BC612F81A2B /* Sources */, + 6ADEE4EFD08BD087C209B85181550B2B /* Frameworks */, + 7DA106AE1A5955CAEBB1BCF570FE930F /* Resources */, ); buildRules = ( ); @@ -3840,17 +3878,17 @@ }; 25E9E9A17BC3F670357D7385C521E48E /* FirebaseCoreInternal */ = { isa = PBXNativeTarget; - buildConfigurationList = F1BAC2455D58D20D2D59C820938165CF /* Build configuration list for PBXNativeTarget "FirebaseCoreInternal" */; + buildConfigurationList = 81D9229A14FCC5DBB8606112BCB23C05 /* Build configuration list for PBXNativeTarget "FirebaseCoreInternal" */; buildPhases = ( - 693E25528031102F3202E9DA7D1A8326 /* Headers */, - E5177B7A656A06AD0EB6E452EAE32164 /* Sources */, - FFC79891FE1286A33824FCC1F1D68B95 /* Frameworks */, - 0076ADBF72CA895DA808989234302432 /* Resources */, + 72FA3D91FC443FA38354F93765DA088B /* Headers */, + 0B9DCE554BDF015C4240C012A97B0F15 /* Sources */, + 180110205825ACB6E8675379233DE4EA /* Frameworks */, + 49CEDBC4729A0493E18CDE34CAC651BE /* Resources */, ); buildRules = ( ); dependencies = ( - EA4422BBB0666854090397CC6CB3580E /* PBXTargetDependency */, + 554F629475EA1394D349AE5FC18A8794 /* PBXTargetDependency */, ); name = FirebaseCoreInternal; productName = FirebaseCoreInternal; @@ -3869,7 +3907,7 @@ buildRules = ( ); dependencies = ( - 19F080FCBC978EB6C7962BC16F8179EA /* PBXTargetDependency */, + 4F2665BA56C4CDE7AA567983F7EDB927 /* PBXTargetDependency */, ); name = MASShortcut; productName = MASShortcut; @@ -3878,12 +3916,12 @@ }; 2BBF7206D7FAC92C82A042A99C4A98F8 /* PromisesObjC */ = { isa = PBXNativeTarget; - buildConfigurationList = 964FDA7CAB7E332C0AFAA3CA7DFE5A86 /* Build configuration list for PBXNativeTarget "PromisesObjC" */; + buildConfigurationList = EFA4EA5EAF05B398BD4A386874D8E204 /* Build configuration list for PBXNativeTarget "PromisesObjC" */; buildPhases = ( - A22F09BCA57250A9315A3755B74777E5 /* Headers */, - 270868762D8A18E69764E3BC71386FB5 /* Sources */, - 3A9E28BAC7C8F671D47A9B0E7C79490E /* Frameworks */, - C132A95467368B580271EBEBBB5D19C2 /* Resources */, + 0D318E33925F4D6751990129780459A9 /* Headers */, + B0B32545ED756F4BA65F43BE0085044A /* Sources */, + 3F16934004F26E1B958D2DD15E7FF1DE /* Frameworks */, + 9235036D04E84353C9AD751EAD910D64 /* Resources */, ); buildRules = ( ); @@ -3914,18 +3952,18 @@ }; 4402AFF83DBDC4DD07E198685FDC2DF2 /* FirebaseCore */ = { isa = PBXNativeTarget; - buildConfigurationList = 651D874DDF4D0C9385A74BBCAE5E0B82 /* Build configuration list for PBXNativeTarget "FirebaseCore" */; + buildConfigurationList = E9F3E887C1BA120BCD805CBA3851D8C3 /* Build configuration list for PBXNativeTarget "FirebaseCore" */; buildPhases = ( - 95DCD3C6E4CFC95192A14DDDA1BC6AA9 /* Headers */, - 3468A71DF707E1D964E97E46EB1A5919 /* Sources */, - 8A0D9764ADAB05E1ED77008009363A36 /* Frameworks */, - AC36AAE41BA41E9AB493C4F2C49AB480 /* Resources */, + 191AFD5B761D09494C38685D3E99001C /* Headers */, + DD3B49BA662ACE4B6991D75DAD462654 /* Sources */, + 635CD641E539B3601D3185ED1B6F5569 /* Frameworks */, + 11508672D74E31FADFD857A374AE5DCD /* Resources */, ); buildRules = ( ); dependencies = ( - AEF864CD290E5058346FCEDF8222CCB1 /* PBXTargetDependency */, - 7253370BAF0893A9FE7501B52E6F94D4 /* PBXTargetDependency */, + 43513606CA33BF0A2E9EC074104F2CB5 /* PBXTargetDependency */, + 86D4FE1ED31E64C1226662F80FAEC331 /* PBXTargetDependency */, ); name = FirebaseCore; productName = FirebaseCore; @@ -3970,11 +4008,11 @@ }; 73C37A16ECCEAD845651DCDEE95675BE /* MASShortcut-MASShortcut */ = { isa = PBXNativeTarget; - buildConfigurationList = DC195D840964813A1F35EA5F90F418AB /* Build configuration list for PBXNativeTarget "MASShortcut-MASShortcut" */; + buildConfigurationList = 80AEA59C9AA721689B4B67E2B1668292 /* Build configuration list for PBXNativeTarget "MASShortcut-MASShortcut" */; buildPhases = ( - C14F91E034F958AE344AEBC9B25106E7 /* Sources */, - 1E2FBFD519CBC27AA609351040BE5DAA /* Frameworks */, - 842CCA2B7325841F52E9F3315BC64CCF /* Resources */, + 8704E14A9523B4FEC5D6B9A602D62747 /* Sources */, + 5D1AAEC90711265793F76F65572D17B8 /* Frameworks */, + 7E9DFCFBC3082C6D97E2EFF6E59D593B /* Resources */, ); buildRules = ( ); @@ -3987,36 +4025,37 @@ }; 85E42DEBB9BFEB455B18B8D5F0F36F65 /* Pods-Easydict */ = { isa = PBXNativeTarget; - buildConfigurationList = 1447DE5AAD99E4164D2C11321743DAE1 /* Build configuration list for PBXNativeTarget "Pods-Easydict" */; + buildConfigurationList = D08975B1202A946E3AD8AA36B6C7F82C /* Build configuration list for PBXNativeTarget "Pods-Easydict" */; buildPhases = ( - 2419D325EC7BC55965F08D5ACB4B598A /* Headers */, - F09F2DD0E19E5B3C63CEC460519536ED /* Sources */, - 33D31E591DEDF62944821273FAAD5C76 /* Frameworks */, - 8C88FDFA153E34717515A02202B38509 /* Resources */, + A3C4C1A0E71F68953482D38FA68CF9D3 /* Headers */, + 4F4A4B4E5C61EA687D4122EB8252A1A2 /* Sources */, + 446C86D91F42D83E02B06298C7C050CA /* Frameworks */, + 4737FD0FA802C943B62FC4B64B43D287 /* Resources */, ); buildRules = ( ); dependencies = ( - D7271BF6045D59C4FA6155D05BCA816D /* PBXTargetDependency */, - 0E63C0E97473991F1F3A5AEE0995694F /* PBXTargetDependency */, - D3CC9A6E9A0C458F07E78CA7884479A2 /* PBXTargetDependency */, - 52434FB7D38CD5163D9090B5EC71C963 /* PBXTargetDependency */, - C527083A8DB486D12A5EB2A56300E785 /* PBXTargetDependency */, - 8A4321D3290A5AD80379BF25B6677711 /* PBXTargetDependency */, - C4B32BE3F6EA77EF7DC18FBD3A6F71FD /* PBXTargetDependency */, - 585BCC888E36F32C25C79D8CAAD86059 /* PBXTargetDependency */, - 86654CB0CD6391B433196263BF54FE3F /* PBXTargetDependency */, - 8F49C490C7F7354ED80CA5B3FC0BCB12 /* PBXTargetDependency */, - 50474BCFBF6A3BACF207D960D1E9291F /* PBXTargetDependency */, - 835BB5458299DD831ED13CB647099D84 /* PBXTargetDependency */, - D8D14B56DEF36955FD4897B42F28AEEA /* PBXTargetDependency */, - DBDCA2D9AC307198256B5919F8EE5C3F /* PBXTargetDependency */, - D787D9BAB8F227D8F0A457B5EEC4288D /* PBXTargetDependency */, - 4964C92B8DA49E522632E894EB66DDC2 /* PBXTargetDependency */, - CA2A1CBCFC96975955B342605F7E8948 /* PBXTargetDependency */, - 6B5A3F7C4EF8B7E9557869D966BC239A /* PBXTargetDependency */, - 15278DA47671CF8773438552FA5FEB5E /* PBXTargetDependency */, - B23C33B191EB43FD1AE557830436B512 /* PBXTargetDependency */, + 5BB8E9D46EEAE9658FE5DC375798D959 /* PBXTargetDependency */, + 5B1C1B21239BD64A470DB107BA1E8960 /* PBXTargetDependency */, + CD1C4BDE0FC6B0204681C16360732CFB /* PBXTargetDependency */, + B5B8DDF88E634B17D401C2BA3A096BA7 /* PBXTargetDependency */, + 1B55DB1E87B627232A71494FDC845A31 /* PBXTargetDependency */, + EB42863F0F416DC20F7F77380F58489C /* PBXTargetDependency */, + 64F7FB687543B3A852E078FDB678146B /* PBXTargetDependency */, + B869FBD0AC18AA1D39C0E7617526FF7A /* PBXTargetDependency */, + 812C5F61FF174429239D80F1049B247B /* PBXTargetDependency */, + F2C876C11D39194B4ABB365BDDD73ECE /* PBXTargetDependency */, + 2DE62283987322C13F4D41B8CB5E0C6C /* PBXTargetDependency */, + BB985B29222136F780D49E741753A4D0 /* PBXTargetDependency */, + EE5EDCF7922963C033ACC9B8DBD128F6 /* PBXTargetDependency */, + F8BA06BC7B72614DB8D4FB9D7C972EDE /* PBXTargetDependency */, + 626D97300D6BABB34E34E8A80DB1C988 /* PBXTargetDependency */, + 0A2F80DD78BFA6CB22D437469D036754 /* PBXTargetDependency */, + 697B4ABB09A5991CBF628AB9FB636113 /* PBXTargetDependency */, + 16D2FDA2D20308248C3F1583738DC10E /* PBXTargetDependency */, + 83842C63E3BBC3FF6061221E95343210 /* PBXTargetDependency */, + 5B4F5A7E347204B273441B9103A0E2FF /* PBXTargetDependency */, + B9FFEDEA914A2A9D9A6B832C51046278 /* PBXTargetDependency */, ); name = "Pods-Easydict"; productName = Pods_Easydict; @@ -4025,19 +4064,19 @@ }; 87803597EB3F20FC46472B85392EC4FD /* FirebaseInstallations */ = { isa = PBXNativeTarget; - buildConfigurationList = CF2779F7D8532B969E2B2B663A656815 /* Build configuration list for PBXNativeTarget "FirebaseInstallations" */; + buildConfigurationList = 9C1BC0289F5518779B8A4E9C21CF25F1 /* Build configuration list for PBXNativeTarget "FirebaseInstallations" */; buildPhases = ( - 556B276231CCC1BAAB0EC145753D0E29 /* Headers */, - 5484FAB3845AD0D2E05E6B24DF69C753 /* Sources */, - 91C8DCC714A0C3F8A29251AD4D8519E2 /* Frameworks */, - FDEA9E5CD564E2BC8D4695E7ACCAB366 /* Resources */, + 19D8BC86CEB2D6DFF00F295ED7540EF0 /* Headers */, + 453DCFD75603B95C74F0CD01A6DBA834 /* Sources */, + CADF2AB0D10344CE210EF2069035DCDA /* Frameworks */, + D2331F66FAEBB0D68535530A1D359EFA /* Resources */, ); buildRules = ( ); dependencies = ( - AAEF4C9CD6F059D78D2C1C0D29ABCAFA /* PBXTargetDependency */, - 82D2326ECDDFF035BDCCAFFA269A7E29 /* PBXTargetDependency */, - 4C2B20A002D3C0F4E887FCE04921E11E /* PBXTargetDependency */, + 8EA50CA4CC82BC4CDC68FEF846CF9484 /* PBXTargetDependency */, + 520D69300853BFCFB6CC6C8716F0F780 /* PBXTargetDependency */, + BC28F4AB19C8963E1A84D7CC5DAF07CF /* PBXTargetDependency */, ); name = FirebaseInstallations; productName = FirebaseInstallations; @@ -4046,17 +4085,17 @@ }; 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */ = { isa = PBXNativeTarget; - buildConfigurationList = B6292C36AB884273D28D86B88ED52EB9 /* Build configuration list for PBXNativeTarget "GoogleUtilities" */; + buildConfigurationList = DA72AAEE3E36AFCA94C19EBE2F25C1A9 /* Build configuration list for PBXNativeTarget "GoogleUtilities" */; buildPhases = ( - 7EB7437F3B2C03F7E3D6E5D751D630BB /* Headers */, - 127D6D46F9DEF5B6B1CB0BAA35EB5C69 /* Sources */, - 9B7D8DD2B275B11E9E0F5BDE6AA12117 /* Frameworks */, - 5F6D9F999ECE33E1853C3218EBB55E98 /* Resources */, + AA47AA2BABD2B50AE12B073AE3B2FFF8 /* Headers */, + 3AAF346C35069EF1804CCADD096866B0 /* Sources */, + E4161178434919DACF6B7A64E3CFBFAB /* Frameworks */, + A7860947436667175AEACFEF84276231 /* Resources */, ); buildRules = ( ); dependencies = ( - 8EC6E930B106BCAEB4DBEC91460EDC13 /* PBXTargetDependency */, + D8835A95807AE8342DECDCA68650C2F2 /* PBXTargetDependency */, ); name = GoogleUtilities; productName = GoogleUtilities; @@ -4093,7 +4132,7 @@ buildRules = ( ); dependencies = ( - 6057FD346DAD2286627B5684A72194D4 /* PBXTargetDependency */, + 94BD046E8E20E54ECD1EEBDEDD1B6162 /* PBXTargetDependency */, ); name = MASPreferences; productName = MASPreferences; @@ -4102,12 +4141,12 @@ }; D2B5E7DCCBBFB32341D857D01211A1A3 /* nanopb */ = { isa = PBXNativeTarget; - buildConfigurationList = 7261C2F727FCABD5407B1302976F19FF /* Build configuration list for PBXNativeTarget "nanopb" */; + buildConfigurationList = C0670BF75A5B356D4CC5B641C6DF3111 /* Build configuration list for PBXNativeTarget "nanopb" */; buildPhases = ( - DC3CFE0DB018FFA6D77049B816C362A8 /* Headers */, - 26BD09234528F6363E629124968CB9AF /* Sources */, - 11701DFF7C25D391D1ED8A43BB7E948D /* Frameworks */, - A55BA71A3BA74F77B518A07A67666022 /* Resources */, + 3A9704169CCCDA4EE04BB0C5132C5588 /* Headers */, + E87178DE6C98F942C03B8B58C5287AAA /* Sources */, + 308160FDB8E37F176A0AAECC9FB5B84D /* Frameworks */, + 730EA9CBDEAF81C2DBF62B85B335CD5F /* Resources */, ); buildRules = ( ); @@ -4214,19 +4253,20 @@ 438B238ACC7DF1178D1BCE1A31983146 /* ReactiveObjC */, ED77B4B88587C894E85C361023D67C53 /* Sparkle */, F60E38364AFF5E1349FF07415B944396 /* SSZipArchive */, + 1CD0618C486973D5588EF20D2E8C0AEA /* SwiftFormat */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 0076ADBF72CA895DA808989234302432 /* Resources */ = { + 03FB874D61C08CF15D4C7AD474AB66CE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 03FB874D61C08CF15D4C7AD474AB66CE /* Resources */ = { + 11508672D74E31FADFD857A374AE5DCD /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -4247,133 +4287,133 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 4C01DE77BA52FE917D39D96D38D157F7 /* Resources */ = { + 4737FD0FA802C943B62FC4B64B43D287 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5F6D9F999ECE33E1853C3218EBB55E98 /* Resources */ = { + 49CEDBC4729A0493E18CDE34CAC651BE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 74397A5E64F3D58831A4F0E31F95ABA5 /* Resources */ = { + 4C01DE77BA52FE917D39D96D38D157F7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 7A0CD16781359866E89C818562591798 /* Resources */ = { + 730EA9CBDEAF81C2DBF62B85B335CD5F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - BBB65B46F416323AB6212B908486F819 /* MASPreferencesWindow.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 842CCA2B7325841F52E9F3315BC64CCF /* Resources */ = { + 74397A5E64F3D58831A4F0E31F95ABA5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - A082E32214E8EC9E424D950CB9B2F91C /* cs.lproj in Resources */, - 393A8AB1B67DDE4A5140143A8D6229BD /* de.lproj in Resources */, - 21B1A5A8FEC9C16520436ED4B9B30D36 /* en.lproj in Resources */, - 57878CB028C2C7B660CF6A90424A6E10 /* es.lproj in Resources */, - 1C02C6CDD6C51CBA8785416876E1CF58 /* fr.lproj in Resources */, - 8FDDA09F9302E9C797285E9B3EAB21EC /* it.lproj in Resources */, - 0C321C16C2171131ADCDDD6FABB222FB /* ja.lproj in Resources */, - 8E150CE71807FBE277110978EA1C551C /* ko.lproj in Resources */, - 8A59667D60B188E1F45E8FA8119C52A0 /* nl.lproj in Resources */, - 1F195000D76F5E50003E82488FDAFF21 /* pl.lproj in Resources */, - DB23578F9ABA6E625B9D02580AC0C980 /* pt.lproj in Resources */, - 11BBB5143BBA50165ABDE41BBECF9C95 /* ru.lproj in Resources */, - 6A9DB9EE3C062C273001986F241B1162 /* sv.lproj in Resources */, - 8C94DDAE7AD73D38A505E350DA72FD3E /* zh-Hans.lproj in Resources */, - 6D970EEF75E30A4589A0CB0C296DCC6C /* zh-Hant.lproj in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8C88FDFA153E34717515A02202B38509 /* Resources */ = { + 7DA106AE1A5955CAEBB1BCF570FE930F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5A22A330C53999AA43D354D5F231B038 /* MASPreferencesWindow.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9A01F4331891131499B095412DD98450 /* Resources */ = { + 7E9DFCFBC3082C6D97E2EFF6E59D593B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - B7FE21CBE9E55AAB77769EF33369909B /* MASPreferences-MASPreferences in Resources */, + 51993D641741D58D777B76E993B651BA /* cs.lproj in Resources */, + 94CA83498BA942E7E82ED9F61508E5BC /* de.lproj in Resources */, + 9B4EA39A4FECC9D9C9A0486E926DFF5A /* en.lproj in Resources */, + 94FCBBC643961AFA76DD54E1DC82B6F0 /* es.lproj in Resources */, + 98DC7152B0792A78EBCF1E01EEB44EE0 /* fr.lproj in Resources */, + 50F2EC880CE83074B385855D143C76B4 /* it.lproj in Resources */, + 8832124D709A94D868383E10A05A1F9F /* ja.lproj in Resources */, + 07A348719B789867F67783951EE3985D /* ko.lproj in Resources */, + 3915A579539CDFCC3A29C64E351D8345 /* nl.lproj in Resources */, + 212235F044881DE7E457984F342F2C1C /* pl.lproj in Resources */, + 707B82F63FF56E0AA36A5E6BB820E749 /* pt.lproj in Resources */, + 29F83A3316B93DB5CA2C02DFB2E3CD88 /* ru.lproj in Resources */, + 732891897D61A904D068FF8CBD5D2DB7 /* sv.lproj in Resources */, + FAF1C8AD9786710E14B29870986B87A5 /* zh-Hans.lproj in Resources */, + 5D975092790052FDDED833BF4E191935 /* zh-Hant.lproj in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A55BA71A3BA74F77B518A07A67666022 /* Resources */ = { + 9235036D04E84353C9AD751EAD910D64 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A66CA23A56A2FF4A3BDDEDD5B1558478 /* Resources */ = { + 9A01F4331891131499B095412DD98450 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + B7FE21CBE9E55AAB77769EF33369909B /* MASPreferences-MASPreferences in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - AC36AAE41BA41E9AB493C4F2C49AB480 /* Resources */ = { + A66CA23A56A2FF4A3BDDEDD5B1558478 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - B8E8D5E5D1ED0D861BF0C3F5228B5E45 /* Resources */ = { + A7860947436667175AEACFEF84276231 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - BC665AA86AC9AA7A4AD82F95245A797D /* Resources */ = { + B8E8D5E5D1ED0D861BF0C3F5228B5E45 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - C132A95467368B580271EBEBBB5D19C2 /* Resources */ = { + BC665AA86AC9AA7A4AD82F95245A797D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E420804F27DACB76E420C2CAA565E1C5 /* Resources */ = { + D2331F66FAEBB0D68535530A1D359EFA /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - EC9D27D180C0FA7E66832358606C5F56 /* Resources */ = { + E420804F27DACB76E420C2CAA565E1C5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - BD227A88D50B87748A8DB3C7D5C73656 /* MASShortcut-MASShortcut in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - FDEA9E5CD564E2BC8D4695E7ACCAB366 /* Resources */ = { + EC9D27D180C0FA7E66832358606C5F56 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + BD227A88D50B87748A8DB3C7D5C73656 /* MASShortcut-MASShortcut in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4397,76 +4437,60 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/FirebaseAnalytics/FirebaseAnalytics-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; - AAD7D4593ED3B713FDA455F0E36487CE /* [CP] Copy XCFrameworks */ = { + 9AAC30B184A9031FCED5484923D3AD91 /* [CP] Copy XCFrameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/AppCenter/AppCenter-xcframeworks-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-input-files.xcfilelist", ); name = "[CP] Copy XCFrameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/AppCenter/AppCenter-xcframeworks-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/AppCenter/AppCenter-xcframeworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; - D815A93A8D74AA895507EA8BF6B77242 /* [CP] Copy XCFrameworks */ = { + AAD7D4593ED3B713FDA455F0E36487CE /* [CP] Copy XCFrameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/AppCenter/AppCenter-xcframeworks-input-files.xcfilelist", ); name = "[CP] Copy XCFrameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/AppCenter/AppCenter-xcframeworks-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/GoogleAppMeasurement/GoogleAppMeasurement-xcframeworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/AppCenter/AppCenter-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 0C018DAB67AADCC50CA0E395CF0F1C91 /* Sources */ = { + 0B9DCE554BDF015C4240C012A97B0F15 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 127D6D46F9DEF5B6B1CB0BAA35EB5C69 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F95230BCE9AF76FE9713ADD87B101AE8 /* GoogleUtilities-dummy.m in Sources */, - 4904B0F013486619BC08C7CC7CF3B04A /* GULAppDelegateSwizzler.m in Sources */, - A0D96EAD8E08C4D60A24F4555DDB38F7 /* GULAppEnvironmentUtil.m in Sources */, - 43AB7E9C72087115B8DD59172F6CDB0B /* GULHeartbeatDateStorage.m in Sources */, - CCD3DECE9F5F165CC7A1C6B482F41381 /* GULHeartbeatDateStorageUserDefaults.m in Sources */, - 20BE34E818A866F1FB23D3DA1325F894 /* GULKeychainStorage.m in Sources */, - 80257B34E56F13857C770E6035C5985B /* GULKeychainUtils.m in Sources */, - 30185292153197485A2C262D9E103298 /* GULLogger.m in Sources */, - 20D02DDA359CAD54D9545358D27AA025 /* GULMutableDictionary.m in Sources */, - 1D5CFD7AF9FF02F4F9C8BA831B74BCB2 /* GULNetwork.m in Sources */, - F6D62E14A618691D089901A8129F478A /* GULNetworkConstants.m in Sources */, - F1687154C23215871A512A0E1CDC7C59 /* GULNetworkInfo.m in Sources */, - D091CFE2DDA3E224CA759B9E4C692426 /* GULNetworkURLSession.m in Sources */, - F91074105E85511CD3970B3F76845289 /* GULNSData+zlib.m in Sources */, - DBDA0DEC6D22B2ED1E59152B01823BF2 /* GULReachabilityChecker.m in Sources */, - AA76E31369E7CD7000447A552E8C8E91 /* GULSceneDelegateSwizzler.m in Sources */, - 0F2122C8040ECB8D8FCFEDE1D7244047 /* GULSecureCoding.m in Sources */, - E37B1459FBD32504C3C26F42AC7221E2 /* GULSwizzler.m in Sources */, - 5EDCF088536DFCC8C2918F4BDA9CFA30 /* GULURLSessionDataResponse.m in Sources */, - EDBC683F50B1FBF9118FA48205462C94 /* GULUserDefaults.m in Sources */, - F8EA57E0091477B90C686C7D7CD2CBC1 /* IsAppEncrypted.m in Sources */, - A706CB21B8DF7D9F414604D6FCE37E7B /* NSURLSession+GULPromises.m in Sources */, + FA016446F7567550C68525173AC55E2E /* _ObjC_HeartbeatController.swift in Sources */, + D2E98075AEBEE849065B09FE18CFA68D /* _ObjC_HeartbeatsPayload.swift in Sources */, + 4E79AE7205066B877683EAE42848FCE8 /* FirebaseCoreInternal-dummy.m in Sources */, + F4DC366B72E3095BE6FD056EC1C99E93 /* Heartbeat.swift in Sources */, + F2F454E618C6C806ECF6F238D6082CDC /* HeartbeatController.swift in Sources */, + 2CED8655895D228B964F57DB1D8C34F8 /* HeartbeatLoggingTestUtils.swift in Sources */, + 9D523EE6D046D07253F6D6CD2ED52C45 /* HeartbeatsBundle.swift in Sources */, + 0C9E5A02EC07D8C009DD30E2EAF69EE6 /* HeartbeatsPayload.swift in Sources */, + A98B52095F9C489F119A94F427A11062 /* HeartbeatStorage.swift in Sources */, + 7D5BD4C0794690E8C9A22126B8D1D897 /* RingBuffer.swift in Sources */, + 3A763A53191897A405DA2D3409DFB72A /* Storage.swift in Sources */, + 792285DF92F2C67CF52E334069B8DE3A /* StorageFactory.swift in Sources */, + 755FC4FC87ECED46E3E9921443B1B6EE /* WeakContainer.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4512,62 +4536,72 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 26BD09234528F6363E629124968CB9AF /* Sources */ = { + 23244956864A83194BB70BC612F81A2B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D79956B372EC199A113824F8C87FF9D3 /* nanopb-dummy.m in Sources */, - B3963E767222C159C03BBA43787770CC /* pb_common.c in Sources */, - 5BEAECD58B240C8420A8196832FF034D /* pb_decode.c in Sources */, - 58E31391E1A73C0176491F5543AE4971 /* pb_encode.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 270868762D8A18E69764E3BC71386FB5 /* Sources */ = { + 3AAF346C35069EF1804CCADD096866B0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C9EEFEF1093831F4A8483E238DBF2A10 /* FBLPromise.m in Sources */, - C60F78996F7A7815942E8C93F837CE4E /* FBLPromise+All.m in Sources */, - 2720630959C37A2025225C4092A82ECC /* FBLPromise+Always.m in Sources */, - 26B22C5F48EA728EFBAD02F3481E5846 /* FBLPromise+Any.m in Sources */, - A616E0E53E9057508D1CB68688DA5CF1 /* FBLPromise+Async.m in Sources */, - F3A96BDE1DCFEFD53FDB90B3A6F2EC43 /* FBLPromise+Await.m in Sources */, - 05659BC3887625C4AD8ADEB4175CCC5A /* FBLPromise+Catch.m in Sources */, - 833AAE7B7D0D511E672BD80917296DD8 /* FBLPromise+Delay.m in Sources */, - 06EE09087204F5800F182BE92AAE97A0 /* FBLPromise+Do.m in Sources */, - 2E4ABDEF0677BAAEF548FE482B19D039 /* FBLPromise+Race.m in Sources */, - 1A7861C9C253A651196F19F3E4E300DC /* FBLPromise+Recover.m in Sources */, - BF58FCD1E04D71999A364CD7314771D5 /* FBLPromise+Reduce.m in Sources */, - 9D68B0BFC07FA2BDA5F4B9762131F73E /* FBLPromise+Retry.m in Sources */, - B55C0A9F30DC3952089D04E8CC2655BF /* FBLPromise+Testing.m in Sources */, - DCBE0E61BDBAB45458D251FAF1E77AB1 /* FBLPromise+Then.m in Sources */, - AAD2F2A1CE6A3A621A882CB38806FFC6 /* FBLPromise+Timeout.m in Sources */, - E8D53CD260F83D749BE9BDC674A1DD49 /* FBLPromise+Validate.m in Sources */, - 83FFAA59271E8762D6EF4CD3FA29A03C /* FBLPromise+Wrap.m in Sources */, - 61F3788E76CC22E839E99CD9B32915A4 /* FBLPromiseError.m in Sources */, - 629C7DC5FC90AA184D863CC0C1863C2F /* PromisesObjC-dummy.m in Sources */, + FE1969D109E4271946EABE52FB085C5C /* GoogleUtilities-dummy.m in Sources */, + E362654BC529BD54F6B7F7A7E93084E3 /* GULAppDelegateSwizzler.m in Sources */, + F977D6C26D67BB9F71EFD5FBC5645B56 /* GULAppEnvironmentUtil.m in Sources */, + FA52C929CAA789474C35E7555E3A34F3 /* GULHeartbeatDateStorage.m in Sources */, + 513F6A2BB479B6F854D23DE357BB9C2A /* GULHeartbeatDateStorageUserDefaults.m in Sources */, + C79BE7915C9F88122EE4210D3DD8E79C /* GULKeychainStorage.m in Sources */, + AE793D7A5BABA922A56226071BBCCA7E /* GULKeychainUtils.m in Sources */, + 72D017AADCB1C59BECF76DEC2A8FBD48 /* GULLogger.m in Sources */, + 5D1535B195A20A83DAB1A5830D71E0A2 /* GULMutableDictionary.m in Sources */, + 161F8584C26C2D29C50FD9DD650C6BB5 /* GULNetwork.m in Sources */, + 7DD2344DE7877A6AE87A7B3F638A6C9E /* GULNetworkConstants.m in Sources */, + B0C98A12FADD85724B284EB96967EA0A /* GULNetworkInfo.m in Sources */, + A54247ABA49583F293E707D8B5028B1A /* GULNetworkURLSession.m in Sources */, + CCFE7851BCF0D1D1006B3A59A6A21A9C /* GULNSData+zlib.m in Sources */, + D9E78D4668420BFA9D041614AFFB22A4 /* GULReachabilityChecker.m in Sources */, + FB16E6DA740554ECF92A48EEA02E392B /* GULSceneDelegateSwizzler.m in Sources */, + 0F39E96C39E0B0CB71B268F5FD1AA4CB /* GULSecureCoding.m in Sources */, + D73AB871B459D3389C55E4DF695FCD25 /* GULSwizzler.m in Sources */, + 1433200D31E98ABA204D865F1279F4C5 /* GULURLSessionDataResponse.m in Sources */, + C8A7AD99D34AD9A5418C272E90AA793D /* GULUserDefaults.m in Sources */, + 91BBBE3D0B2DD981C830135D9F6152A6 /* IsAppEncrypted.m in Sources */, + 0789BD6BE484AD4F73DD0AEAF0E80584 /* NSURLSession+GULPromises.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3468A71DF707E1D964E97E46EB1A5919 /* Sources */ = { + 453DCFD75603B95C74F0CD01A6DBA834 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D0686DCE9995201DBE501AECBB894F5C /* FIRAnalyticsConfiguration.m in Sources */, - 6CE789048B8D7BF74CAF222812793988 /* FIRApp.m in Sources */, - 6D3806F03535D399AB7564F3B7ED5F40 /* FIRBundleUtil.m in Sources */, - 931DD5876CCF2F87AC131BBABA3A3553 /* FIRComponent.m in Sources */, - A96F51DCF1B9DA1894DC24DBF3CC95C2 /* FIRComponentContainer.m in Sources */, - 7C463BF5DAEC76808A9913E1ADF5CABA /* FIRComponentType.m in Sources */, - F236DABD5EEB0A064B4BBA8A1730EE2A /* FIRConfiguration.m in Sources */, - C1814BC2A3238190536D412F2C0AD623 /* FIRDependency.m in Sources */, - 7A53EB4750CD3B4FA5048CE5F5684B9B /* FirebaseCore-dummy.m in Sources */, - B5F23D960489F4DAC6E14853D328313C /* FIRFirebaseUserAgent.m in Sources */, - 2EA57A3FDBF1FFB39D73E18117CE981F /* FIRHeartbeatLogger.m in Sources */, - 7763A2A812D1404E0F045F9A8861A4C8 /* FIRLogger.m in Sources */, - 1F51E0FA541FD9C63D7E5BAE1C2CBC16 /* FIROptions.m in Sources */, - 492F9A8CF929FB75C6794155EB6F569B /* FIRVersion.m in Sources */, + 318342C929C4A8AB22627B7AC8449B42 /* FIRCurrentDateProvider.m in Sources */, + 0B49E69109C29E8604C9B5E68504CB05 /* FirebaseInstallations-dummy.m in Sources */, + 917C0C4610DB4424D13D8DC963FF7F93 /* FIRInstallations.m in Sources */, + 1347CB06E821EB204920E1A014487269 /* FIRInstallationsAPIService.m in Sources */, + 78641A1AC7029D3F0F32249B97470016 /* FIRInstallationsAuthTokenResult.m in Sources */, + 5B527713CA77A1B78FADDAEE9B945934 /* FIRInstallationsBackoffController.m in Sources */, + 2903825E4B8C2D7CE6CB88AE0374ED88 /* FIRInstallationsErrorUtil.m in Sources */, + 8B704183EDA24926F08CF253ED169997 /* FIRInstallationsHTTPError.m in Sources */, + 80D808E01AC20178B60DEFD0D2BD4488 /* FIRInstallationsIDController.m in Sources */, + C16651D6E856FBD9B69CF5E2817BB0CF /* FIRInstallationsIIDStore.m in Sources */, + 45343C6BD68389D5D64F67ADA774B647 /* FIRInstallationsIIDTokenStore.m in Sources */, + FB5F7FF62513F0DEB185C232F886B6EE /* FIRInstallationsItem.m in Sources */, + 5A63F9704F32CB07506406B4982999F4 /* FIRInstallationsItem+RegisterInstallationAPI.m in Sources */, + CC17F63B1DEE6D32B54212F1254A8222 /* FIRInstallationsLogger.m in Sources */, + 8955255AD7B8EBBEFD6411AFDEB454A3 /* FIRInstallationsSingleOperationPromiseCache.m in Sources */, + 20EA9F154FBFA9F3E96D4DA8A654E4F6 /* FIRInstallationsStore.m in Sources */, + F26985F5ACDEC583366DF4D1960C5101 /* FIRInstallationsStoredAuthToken.m in Sources */, + 8AB027F62A2F4180EBF517771A936A0B /* FIRInstallationsStoredItem.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4F4A4B4E5C61EA687D4122EB8252A1A2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 27FA476DD7EA07E724F086D79724DE4F /* Pods-Easydict-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4588,31 +4622,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 5484FAB3845AD0D2E05E6B24DF69C753 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5319F74751D2102193BAFEF50452DEAE /* FIRCurrentDateProvider.m in Sources */, - 9AEF34A17DEB9365A1AB6A7D3E3A52BB /* FirebaseInstallations-dummy.m in Sources */, - 2C2D2DCABEF0BF5114B0CE559335EAE6 /* FIRInstallations.m in Sources */, - 7402093F84437A81B63605FDB795B736 /* FIRInstallationsAPIService.m in Sources */, - D091E979F9C6F69583FAD30DD0629289 /* FIRInstallationsAuthTokenResult.m in Sources */, - EF1E1D73BA982CE6F44BFBF9FC94A9BF /* FIRInstallationsBackoffController.m in Sources */, - EA6F50AFDA78A67CF005FD0D524F1E47 /* FIRInstallationsErrorUtil.m in Sources */, - EEE339B17992B7E84E9FA15DE70A0818 /* FIRInstallationsHTTPError.m in Sources */, - 75EFBB60E7901AA87AC1650C3A8BEB5E /* FIRInstallationsIDController.m in Sources */, - 4674CD72FE1F6D68E4F0D8D7825B300D /* FIRInstallationsIIDStore.m in Sources */, - A092720E7D4B15888F65279513596D71 /* FIRInstallationsIIDTokenStore.m in Sources */, - 92983E11297EFAC67C2D6E5A53E7C5B8 /* FIRInstallationsItem.m in Sources */, - E4AB4D6B9EF4CB0A8B25C093E7A7EA80 /* FIRInstallationsItem+RegisterInstallationAPI.m in Sources */, - D48CA23E5C7552041020764F3FC3D4FC /* FIRInstallationsLogger.m in Sources */, - F6329BD56B417E6974AA14A518334B66 /* FIRInstallationsSingleOperationPromiseCache.m in Sources */, - 7A4B0BB16889A106436DAC25A2EA69D5 /* FIRInstallationsStore.m in Sources */, - E326C5532807E4A75A87B76B087E96E5 /* FIRInstallationsStoredAuthToken.m in Sources */, - DAC3B17FF340FC3CA220D7351F6B4B13 /* FIRInstallationsStoredItem.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 5AC53CC697F127ADF0973B065FD17CAA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -4637,6 +4646,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 8704E14A9523B4FEC5D6B9A602D62747 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97B2896CCF84E3668832C8689BE0917F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -4741,6 +4757,33 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B0B32545ED756F4BA65F43BE0085044A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C3EA4DC3E450DEF5ED2E5F1E092BACBC /* FBLPromise.m in Sources */, + E017BAFF21FC1FFCA4550F46A7621A75 /* FBLPromise+All.m in Sources */, + 0F481D0A96EE9DCE7A6193E47F6DAF8D /* FBLPromise+Always.m in Sources */, + CF443E1D8984474E205256D55C8EDC39 /* FBLPromise+Any.m in Sources */, + 2D4795E535C6A217D59965856FD46ADA /* FBLPromise+Async.m in Sources */, + AFA0423FC19D69E5C239C3FDB613AB26 /* FBLPromise+Await.m in Sources */, + 67F96398C771B9F675F87F094C687E68 /* FBLPromise+Catch.m in Sources */, + 347F3E6A9A9F0806BC89BE784599C294 /* FBLPromise+Delay.m in Sources */, + 4B3358E6832754AEAC4316657F43AB9E /* FBLPromise+Do.m in Sources */, + 27E92806A67BFA5B98E4A668C458C06F /* FBLPromise+Race.m in Sources */, + 5426622DBB8ABCC3B2A5D30D5E94FF5A /* FBLPromise+Recover.m in Sources */, + 1DC5EC6ABC6261ABEBB0DE86860DF9CD /* FBLPromise+Reduce.m in Sources */, + 9CFBC655DBB0D495D0AE5B2F261E9D1C /* FBLPromise+Retry.m in Sources */, + 79435F7F18365077BC0B4FD7605F8030 /* FBLPromise+Testing.m in Sources */, + E640826D19B139E8D98B38304A804F51 /* FBLPromise+Then.m in Sources */, + 9D710E4DBB42452FC1B61974D61D21A2 /* FBLPromise+Timeout.m in Sources */, + 1BCB76FDC8BD5F4E908700C27731B591 /* FBLPromise+Validate.m in Sources */, + 9886A202743C3D756057B418ECA92694 /* FBLPromise+Wrap.m in Sources */, + 7362960416D1EC319EED7C3B29DF9128 /* FBLPromiseError.m in Sources */, + 5A8E2F824945E88A1A22CC766A2D8C85 /* PromisesObjC-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; B361498D1FAB5FF404561E9A03BCEBC2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -4765,13 +4808,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C14F91E034F958AE344AEBC9B25106E7 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; C6023C2AE78CB93A694CD9A3AEE44D1E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -4799,320 +4835,330 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E5177B7A656A06AD0EB6E452EAE32164 /* Sources */ = { + DD3B49BA662ACE4B6991D75DAD462654 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2C6D749808683145EBEFC6531902706E /* _ObjC_HeartbeatController.swift in Sources */, - DCFB628680CE89BD2A3625E066C49EB0 /* _ObjC_HeartbeatsPayload.swift in Sources */, - 137AEF9A7D90D14861DC67D08A9B8285 /* FirebaseCoreInternal-dummy.m in Sources */, - FF38D577553D2ECB13BA144FE6CF5603 /* Heartbeat.swift in Sources */, - A6C96B3DAF95525C7177908D82519DCE /* HeartbeatController.swift in Sources */, - B3AF49CCDED5981C450F075183EC8931 /* HeartbeatLoggingTestUtils.swift in Sources */, - 21D9876308662C241CFFFA0FE1E1B8EB /* HeartbeatsBundle.swift in Sources */, - C87FD3D4480614278882845E5538BBBD /* HeartbeatsPayload.swift in Sources */, - 8FFB527EC591BB17639B7A25C2C7F828 /* HeartbeatStorage.swift in Sources */, - 7AC49087D4FEE0FD4F1B8C028653B39D /* RingBuffer.swift in Sources */, - 8AB8A4E03CDD857972A39FD1FFCAAE5F /* Storage.swift in Sources */, - B11C2320F646B8FC241AEFE90DCBD589 /* StorageFactory.swift in Sources */, - 1709FC4E3A0B4666BB06312BC0928533 /* WeakContainer.swift in Sources */, + 0F60B5A390A684C7D939B1A98185A223 /* FIRAnalyticsConfiguration.m in Sources */, + BBE1B10F56669463F6558E212C4DEE71 /* FIRApp.m in Sources */, + 7001DA3BD8F4DFFCFE00A56DCFC61999 /* FIRBundleUtil.m in Sources */, + DC4CDE87E95F95C9AC37E91683698FC1 /* FIRComponent.m in Sources */, + CFEA92A58B4128629FAC581DDAC74D04 /* FIRComponentContainer.m in Sources */, + AE4C6A459CA135ACA56556F0216D2589 /* FIRComponentType.m in Sources */, + 942CA8EC04306F3DB8859494E56E96D5 /* FIRConfiguration.m in Sources */, + CD2457269E918F6E4B9691F143E58BD0 /* FIRDependency.m in Sources */, + 4F565B7D5C2751816379B9D5C7BB4388 /* FirebaseCore-dummy.m in Sources */, + A56F2610AF8CCE323668172007CE4462 /* FIRFirebaseUserAgent.m in Sources */, + A818DF199C8C4DFB7FC26302F1BE9CEC /* FIRHeartbeatLogger.m in Sources */, + A13052C67C414C303156585D98CAAD80 /* FIRLogger.m in Sources */, + 4BEC6B973C1B0375CA1B143019BFC230 /* FIROptions.m in Sources */, + D47A1B561A6E7A150F86DB585B5FB282 /* FIRVersion.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - F09F2DD0E19E5B3C63CEC460519536ED /* Sources */ = { + E87178DE6C98F942C03B8B58C5287AAA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 257CD9A105CC3D316999722C03E42EBC /* Pods-Easydict-dummy.m in Sources */, + D8C9030BBFC1DEC530BC8CA415D1B375 /* nanopb-dummy.m in Sources */, + 144C471186A0CC15A7EF0E25C9AE4D97 /* pb_common.c in Sources */, + 20BBC159A514E4FB84568689CFE68C40 /* pb_decode.c in Sources */, + 6589FBEEE26D7F6E58F3BECF1FFBD42F /* pb_encode.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 00AF18CC8D08AA93BBB84C756D617274 /* PBXTargetDependency */ = { + 0A2F80DD78BFA6CB22D437469D036754 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = PromisesObjC; + target = 2BBF7206D7FAC92C82A042A99C4A98F8 /* PromisesObjC */; + targetProxy = DE90565BE91B94D712CAAC7C001A2B61 /* PBXContainerItemProxy */; + }; + 0CA6065F24C95A1F5F80C4FB4A41FF81 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = ReactiveObjC; + target = 438B238ACC7DF1178D1BCE1A31983146 /* ReactiveObjC */; + targetProxy = 84B343ECD05EECFA03E3B1BCCFB19313 /* PBXContainerItemProxy */; + }; + 16D2FDA2D20308248C3F1583738DC10E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SSZipArchive; + target = F60E38364AFF5E1349FF07415B944396 /* SSZipArchive */; + targetProxy = F9554582D162271FFA82F58F1605EB79 /* PBXContainerItemProxy */; + }; + 1B55DB1E87B627232A71494FDC845A31 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FirebaseCore; + target = 4402AFF83DBDC4DD07E198685FDC2DF2 /* FirebaseCore */; + targetProxy = 7392F452780401764C6048EC459CD856 /* PBXContainerItemProxy */; + }; + 22009A41713836CEDA21CBC7ED4EBA05 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FirebaseInstallations; + target = 87803597EB3F20FC46472B85392EC4FD /* FirebaseInstallations */; + targetProxy = BC5A21F35BB2A9837DBAC2914DA9F870 /* PBXContainerItemProxy */; + }; + 24AA67FAD742C0DA3FE6F3C26618B007 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = MASShortcut; target = 2B2B481A164695722839BD581D442457 /* MASShortcut */; - targetProxy = E9AF849E2E6559544CCC487177E29C2A /* PBXContainerItemProxy */; + targetProxy = 461E5A04692B74F45383C5783E0BC005 /* PBXContainerItemProxy */; }; - 052345630E7F022DFDEDE142648F3EE6 /* PBXTargetDependency */ = { + 2DE62283987322C13F4D41B8CB5E0C6C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = MASPreferences; - target = CCE0F64E83CEAFEE20D04DC7BD57303E /* MASPreferences */; - targetProxy = 13C673096A2CFA7A970ABEE851EDB686 /* PBXContainerItemProxy */; + name = KVOController; + target = 2568F753F09C4DFFD8770DCC78EDAEAE /* KVOController */; + targetProxy = 8EDA3DBB44F5833DEA7AAC051D5F2344 /* PBXContainerItemProxy */; }; - 0B31E8B0A46B94DB9ED633C4361E934A /* PBXTargetDependency */ = { + 31E496309BEACA18FE8779EA19402912 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = MJExtension; - target = 4D3BA58D0583DF37575CACAB3DDADC85 /* MJExtension */; - targetProxy = 451522338161290239B64842106504AB /* PBXContainerItemProxy */; + name = MASPreferences; + target = CCE0F64E83CEAFEE20D04DC7BD57303E /* MASPreferences */; + targetProxy = 68F60A6A22D5A19813EAAA4BA3D4B860 /* PBXContainerItemProxy */; }; - 0E63C0E97473991F1F3A5AEE0995694F /* PBXTargetDependency */ = { + 3E0FA81F6E4F747455BC2447F35EB75B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AppCenter; - target = A3282A5B2437E609EEB85861D7ECE717 /* AppCenter */; - targetProxy = 103DB9E87D57E881B3AB0AF2F1483522 /* PBXContainerItemProxy */; + name = AFNetworking; + target = 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */; + targetProxy = BA745C0DEB6B4B863E123B0109114253 /* PBXContainerItemProxy */; }; - 15278DA47671CF8773438552FA5FEB5E /* PBXTargetDependency */ = { + 43513606CA33BF0A2E9EC074104F2CB5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Sparkle; - target = ED77B4B88587C894E85C361023D67C53 /* Sparkle */; - targetProxy = 4056B33A23344D6D4F408104208CB591 /* PBXContainerItemProxy */; + name = FirebaseCoreInternal; + target = 25E9E9A17BC3F670357D7385C521E48E /* FirebaseCoreInternal */; + targetProxy = D38A425280300171FDCEAC0639E498EB /* PBXContainerItemProxy */; }; - 19F080FCBC978EB6C7962BC16F8179EA /* PBXTargetDependency */ = { + 4F2665BA56C4CDE7AA567983F7EDB927 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "MASShortcut-MASShortcut"; target = 73C37A16ECCEAD845651DCDEE95675BE /* MASShortcut-MASShortcut */; - targetProxy = FEDFFF2892A349A3386EA12A47725523 /* PBXContainerItemProxy */; + targetProxy = 75E68FF209D9D8C5CE2EDD09BE68E2C2 /* PBXContainerItemProxy */; }; - 1BF70B0FB2332B53F5DEC7E38E2FA8A5 /* PBXTargetDependency */ = { + 520D69300853BFCFB6CC6C8716F0F780 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SSZipArchive; - target = F60E38364AFF5E1349FF07415B944396 /* SSZipArchive */; - targetProxy = AE557EA3CFD83C2AA96AA00A9781D87C /* PBXContainerItemProxy */; + name = GoogleUtilities; + target = 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */; + targetProxy = 3E9D742DF73887E191C4BDEC728A7C79 /* PBXContainerItemProxy */; }; - 242313A871FF495527FEB858EA147FC7 /* PBXTargetDependency */ = { + 554F629475EA1394D349AE5FC18A8794 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AFNetworking; - target = 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */; - targetProxy = B0BBC49076E028BA6ADA99609A3DD55B /* PBXContainerItemProxy */; + name = GoogleUtilities; + target = 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */; + targetProxy = 717812D660A10D38BDE763EF916D510F /* PBXContainerItemProxy */; }; - 3970311367F47A43C4FB8A4EB5E6C439 /* PBXTargetDependency */ = { + 5B1C1B21239BD64A470DB107BA1E8960 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = nanopb; - target = D2B5E7DCCBBFB32341D857D01211A1A3 /* nanopb */; - targetProxy = D9678A75C1486415FDA4C701F4DB3773 /* PBXContainerItemProxy */; + name = AppCenter; + target = A3282A5B2437E609EEB85861D7ECE717 /* AppCenter */; + targetProxy = 3C514B918CB07C3C39688381BC9DA102 /* PBXContainerItemProxy */; }; - 3A9A0F16B43AD0FEA04A79E248C49708 /* PBXTargetDependency */ = { + 5B4F5A7E347204B273441B9103A0E2FF /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = ReactiveObjC; - target = 438B238ACC7DF1178D1BCE1A31983146 /* ReactiveObjC */; - targetProxy = A2A1E39C14642E33BFDF11CDF6644A65 /* PBXContainerItemProxy */; + name = SwiftFormat; + target = 1CD0618C486973D5588EF20D2E8C0AEA /* SwiftFormat */; + targetProxy = 20564685512BD9ED7D8258BF56361C33 /* PBXContainerItemProxy */; }; - 4964C92B8DA49E522632E894EB66DDC2 /* PBXTargetDependency */ = { + 5BB8E9D46EEAE9658FE5DC375798D959 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromisesObjC; - target = 2BBF7206D7FAC92C82A042A99C4A98F8 /* PromisesObjC */; - targetProxy = 7913070B0D530E485AC440E8B46E8C90 /* PBXContainerItemProxy */; + name = AFNetworking; + target = 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */; + targetProxy = E69DBA16358ADEF2BE3DD65454E6D2DE /* PBXContainerItemProxy */; }; - 4C2B20A002D3C0F4E887FCE04921E11E /* PBXTargetDependency */ = { + 626D97300D6BABB34E34E8A80DB1C988 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromisesObjC; - target = 2BBF7206D7FAC92C82A042A99C4A98F8 /* PromisesObjC */; - targetProxy = 6954F195B39C0FA819939787CDF6421F /* PBXContainerItemProxy */; + name = Masonry; + target = 55AF53E6C77A10ED4985E04D74A8878E /* Masonry */; + targetProxy = 5B66F42E3C75A60C8BA8EADB6061D53D /* PBXContainerItemProxy */; }; - 50474BCFBF6A3BACF207D960D1E9291F /* PBXTargetDependency */ = { + 64F7FB687543B3A852E078FDB678146B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = KVOController; - target = 2568F753F09C4DFFD8770DCC78EDAEAE /* KVOController */; - targetProxy = 68553DBC86D4A86DF4F273D74F4B834F /* PBXContainerItemProxy */; + name = FirebaseInstallations; + target = 87803597EB3F20FC46472B85392EC4FD /* FirebaseInstallations */; + targetProxy = ECB2A02B3A4FE50FDA2CDEB391755977 /* PBXContainerItemProxy */; }; - 52434FB7D38CD5163D9090B5EC71C963 /* PBXTargetDependency */ = { + 697B4ABB09A5991CBF628AB9FB636113 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FirebaseAnalytics; - target = C49E7A4D59E5C8BE8DE9FB1EFB150185 /* FirebaseAnalytics */; - targetProxy = CE0B8E5E47FA593386151334047DE99C /* PBXContainerItemProxy */; + name = ReactiveObjC; + target = 438B238ACC7DF1178D1BCE1A31983146 /* ReactiveObjC */; + targetProxy = 5476933B60D486FEFEB0B0F4A656EA11 /* PBXContainerItemProxy */; }; - 585BCC888E36F32C25C79D8CAAD86059 /* PBXTargetDependency */ = { + 6BD97CE664536B0531A83F74E7710D78 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = GoogleAppMeasurement; target = B53D977A951AFC38B21751B706C1DF83 /* GoogleAppMeasurement */; - targetProxy = A0BC861B6B49C5668A83CF4B2913B65F /* PBXContainerItemProxy */; + targetProxy = 8D3CBACF0B40F970B186CBAFCAE0475A /* PBXContainerItemProxy */; }; - 59DF162CF1FECD7ED20EE2A6951CD7DE /* PBXTargetDependency */ = { + 7CD5ED4639A3F07AB5CA68E27850D222 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = KVOController; target = 2568F753F09C4DFFD8770DCC78EDAEAE /* KVOController */; - targetProxy = 26E90554516DA29A19378D623F212107 /* PBXContainerItemProxy */; - }; - 6057FD346DAD2286627B5684A72194D4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "MASPreferences-MASPreferences"; - target = 0A273FF147C6C1A3B504E3652CD01233 /* MASPreferences-MASPreferences */; - targetProxy = C9221EA824720B8F27A64CF70E47DD53 /* PBXContainerItemProxy */; + targetProxy = 09E52036F18B454B0A99E710618CD00B /* PBXContainerItemProxy */; }; - 67B8075CAD307596F7F9E3F8487F42A9 /* PBXTargetDependency */ = { + 812C5F61FF174429239D80F1049B247B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = JLRoutes; - target = 94C1BAA17BCEBC27586488A205D2E0CB /* JLRoutes */; - targetProxy = 8DFB02420105F3F0EA12E46FAC131C03 /* PBXContainerItemProxy */; + name = GoogleUtilities; + target = 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */; + targetProxy = 73552FC10E8081670F4D6A45F45B0208 /* PBXContainerItemProxy */; }; - 6B5A3F7C4EF8B7E9557869D966BC239A /* PBXTargetDependency */ = { + 83842C63E3BBC3FF6061221E95343210 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SSZipArchive; - target = F60E38364AFF5E1349FF07415B944396 /* SSZipArchive */; - targetProxy = 4798AC760734FF0F791C02227927B348 /* PBXContainerItemProxy */; + name = Sparkle; + target = ED77B4B88587C894E85C361023D67C53 /* Sparkle */; + targetProxy = 0841343322C767F0E420279F1558EB2D /* PBXContainerItemProxy */; }; - 7253370BAF0893A9FE7501B52E6F94D4 /* PBXTargetDependency */ = { + 866018C2922349D976E2A124225BAD77 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = GoogleUtilities; target = 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */; - targetProxy = 1260EE87A474013350071FD0CCFCB1B5 /* PBXContainerItemProxy */; + targetProxy = E9EF83102526DB5E0E0554BBCBD4E1CE /* PBXContainerItemProxy */; }; - 77F623880103ED61FCB26B7FA7FAC61C /* PBXTargetDependency */ = { + 86D4FE1ED31E64C1226662F80FAEC331 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = GoogleUtilities; target = 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */; - targetProxy = 1F0B493CF6B5C726913F555EE0A51B05 /* PBXContainerItemProxy */; + targetProxy = 8D6E90FF1F21508F89C70C6E4B0196B4 /* PBXContainerItemProxy */; }; - 7F638950736B1521C707A34766A15FA0 /* PBXTargetDependency */ = { + 8E176676A5A64AF9B6F33DFB53101A4D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = GoogleAppMeasurement; - target = B53D977A951AFC38B21751B706C1DF83 /* GoogleAppMeasurement */; - targetProxy = 636D323D8753253F8A95A6A4DD591943 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E95654B155D25890BE8E26081FCA8265 /* CocoaLumberjack */; + targetProxy = 595B632000F2C998CA1A2DDF6F8F7477 /* PBXContainerItemProxy */; }; - 82D2326ECDDFF035BDCCAFFA269A7E29 /* PBXTargetDependency */ = { + 8EA50CA4CC82BC4CDC68FEF846CF9484 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = GoogleUtilities; - target = 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */; - targetProxy = 6758A8086071EA6EB98BC4FFD6B87433 /* PBXContainerItemProxy */; + name = FirebaseCore; + target = 4402AFF83DBDC4DD07E198685FDC2DF2 /* FirebaseCore */; + targetProxy = EECA3834B793342911FD97EB32611973 /* PBXContainerItemProxy */; }; - 835BB5458299DD831ED13CB647099D84 /* PBXTargetDependency */ = { + 9179D7D37C4952EEAABE67BBD87A442B /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = MASPreferences; - target = CCE0F64E83CEAFEE20D04DC7BD57303E /* MASPreferences */; - targetProxy = A6379A166936EB998BC0A49DBE10BCB6 /* PBXContainerItemProxy */; + name = MJExtension; + target = 4D3BA58D0583DF37575CACAB3DDADC85 /* MJExtension */; + targetProxy = 0DA8716B441F4BE5FD7100717C136214 /* PBXContainerItemProxy */; }; - 861B08A0C54C285ECB30DAD1D7D63008 /* PBXTargetDependency */ = { + 94BD046E8E20E54ECD1EEBDEDD1B6162 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = GoogleUtilities; - target = 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */; - targetProxy = 5C56F8B6FC04BE19C6942DE03C1D3FA8 /* PBXContainerItemProxy */; + name = "MASPreferences-MASPreferences"; + target = 0A273FF147C6C1A3B504E3652CD01233 /* MASPreferences-MASPreferences */; + targetProxy = FA7DC6709C1B6B2B93432D3B2CB46AD7 /* PBXContainerItemProxy */; }; - 86654CB0CD6391B433196263BF54FE3F /* PBXTargetDependency */ = { + 9C7321F75711435715C54E172DCAB5A3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = GoogleUtilities; target = 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */; - targetProxy = 0C43CA6E97C610B5C3A9E6304A8AFFD0 /* PBXContainerItemProxy */; - }; - 8A4321D3290A5AD80379BF25B6677711 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FirebaseCoreInternal; - target = 25E9E9A17BC3F670357D7385C521E48E /* FirebaseCoreInternal */; - targetProxy = 7F45602B4361AE1077C630597632042D /* PBXContainerItemProxy */; + targetProxy = D0620792E10BD2E77B94A84BA71C8192 /* PBXContainerItemProxy */; }; - 8EC6E930B106BCAEB4DBEC91460EDC13 /* PBXTargetDependency */ = { + A12FF3D47E43927B48291647EED6F436 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = PromisesObjC; - target = 2BBF7206D7FAC92C82A042A99C4A98F8 /* PromisesObjC */; - targetProxy = 7189A88455FEA80A5EAA78AB2CDE9BFC /* PBXContainerItemProxy */; + name = nanopb; + target = D2B5E7DCCBBFB32341D857D01211A1A3 /* nanopb */; + targetProxy = C81B7AF59B736505DDE8E35E7BD57442 /* PBXContainerItemProxy */; }; - 8F49C490C7F7354ED80CA5B3FC0BCB12 /* PBXTargetDependency */ = { + B5B8DDF88E634B17D401C2BA3A096BA7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = JLRoutes; - target = 94C1BAA17BCEBC27586488A205D2E0CB /* JLRoutes */; - targetProxy = 269411A9E6B3B9420CF9D03BBC332FD4 /* PBXContainerItemProxy */; + name = FirebaseAnalytics; + target = C49E7A4D59E5C8BE8DE9FB1EFB150185 /* FirebaseAnalytics */; + targetProxy = C32CDDAB8B431C78820EC7EC7B0CB6FD /* PBXContainerItemProxy */; }; - A109C639D336D23B36F5ACD1B432473E /* PBXTargetDependency */ = { + B869FBD0AC18AA1D39C0E7617526FF7A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Masonry; - target = 55AF53E6C77A10ED4985E04D74A8878E /* Masonry */; - targetProxy = 5FBC2E67B76297D7DD09CB2852B28CD9 /* PBXContainerItemProxy */; + name = GoogleAppMeasurement; + target = B53D977A951AFC38B21751B706C1DF83 /* GoogleAppMeasurement */; + targetProxy = 97BC8A9B7F9E7173D1356A2927533FFB /* PBXContainerItemProxy */; }; - A85EDBFC883EF9BB4684D856048EBF98 /* PBXTargetDependency */ = { + B8EC4B0DEAFB7C9F197095634539A332 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E95654B155D25890BE8E26081FCA8265 /* CocoaLumberjack */; - targetProxy = 891BC9F1ECB7A248B6CBE7BA582C98C3 /* PBXContainerItemProxy */; + name = JLRoutes; + target = 94C1BAA17BCEBC27586488A205D2E0CB /* JLRoutes */; + targetProxy = 79297E59BB75F36694C8B551B5EDA8A6 /* PBXContainerItemProxy */; }; - AAEF4C9CD6F059D78D2C1C0D29ABCAFA /* PBXTargetDependency */ = { + B9FFEDEA914A2A9D9A6B832C51046278 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FirebaseCore; - target = 4402AFF83DBDC4DD07E198685FDC2DF2 /* FirebaseCore */; - targetProxy = 01DBF2F6506777B01ED94B7A466DF660 /* PBXContainerItemProxy */; + name = nanopb; + target = D2B5E7DCCBBFB32341D857D01211A1A3 /* nanopb */; + targetProxy = 902FF10EEC18D3A152B0B50B42512C23 /* PBXContainerItemProxy */; }; - AEF864CD290E5058346FCEDF8222CCB1 /* PBXTargetDependency */ = { + BB985B29222136F780D49E741753A4D0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FirebaseCoreInternal; - target = 25E9E9A17BC3F670357D7385C521E48E /* FirebaseCoreInternal */; - targetProxy = A7324E6AEB076DEC5CB6814261EB0887 /* PBXContainerItemProxy */; + name = MASPreferences; + target = CCE0F64E83CEAFEE20D04DC7BD57303E /* MASPreferences */; + targetProxy = 2CEC1D6C600AC81290D0D1C603673694 /* PBXContainerItemProxy */; }; - B23C33B191EB43FD1AE557830436B512 /* PBXTargetDependency */ = { + BC28F4AB19C8963E1A84D7CC5DAF07CF /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = nanopb; - target = D2B5E7DCCBBFB32341D857D01211A1A3 /* nanopb */; - targetProxy = FC3B6B6C22F2F6194D8969AD05B337F9 /* PBXContainerItemProxy */; + name = PromisesObjC; + target = 2BBF7206D7FAC92C82A042A99C4A98F8 /* PromisesObjC */; + targetProxy = C9BF68369ABF014BA3D07F62E5EC2963 /* PBXContainerItemProxy */; }; - C4B32BE3F6EA77EF7DC18FBD3A6F71FD /* PBXTargetDependency */ = { + CD1C4BDE0FC6B0204681C16360732CFB /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FirebaseInstallations; - target = 87803597EB3F20FC46472B85392EC4FD /* FirebaseInstallations */; - targetProxy = FF05EE75DB02D83DAB6D1386630861E8 /* PBXContainerItemProxy */; + name = CocoaLumberjack; + target = E95654B155D25890BE8E26081FCA8265 /* CocoaLumberjack */; + targetProxy = E79022D3D988311ED1F5793506F25824 /* PBXContainerItemProxy */; }; - C527083A8DB486D12A5EB2A56300E785 /* PBXTargetDependency */ = { + D8835A95807AE8342DECDCA68650C2F2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FirebaseCore; - target = 4402AFF83DBDC4DD07E198685FDC2DF2 /* FirebaseCore */; - targetProxy = 442C7150D551D908C99AAF953BCBF2DC /* PBXContainerItemProxy */; + name = PromisesObjC; + target = 2BBF7206D7FAC92C82A042A99C4A98F8 /* PromisesObjC */; + targetProxy = FB1CE6306BABF94D6641FD357066DAD3 /* PBXContainerItemProxy */; }; - CA2A1CBCFC96975955B342605F7E8948 /* PBXTargetDependency */ = { + E4465491036FDE3E24E82EC2B0139E7E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = ReactiveObjC; - target = 438B238ACC7DF1178D1BCE1A31983146 /* ReactiveObjC */; - targetProxy = 1647DBAA1AA864B8D1573872AD54D80C /* PBXContainerItemProxy */; + name = SSZipArchive; + target = F60E38364AFF5E1349FF07415B944396 /* SSZipArchive */; + targetProxy = E1ED68C63DE86E44A7066A4ABFE610C1 /* PBXContainerItemProxy */; }; - D3CC9A6E9A0C458F07E78CA7884479A2 /* PBXTargetDependency */ = { + EB42863F0F416DC20F7F77380F58489C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CocoaLumberjack; - target = E95654B155D25890BE8E26081FCA8265 /* CocoaLumberjack */; - targetProxy = BCC892042958895241EC8388890CDE39 /* PBXContainerItemProxy */; + name = FirebaseCoreInternal; + target = 25E9E9A17BC3F670357D7385C521E48E /* FirebaseCoreInternal */; + targetProxy = 397D777E74EE6CF160896D32F5A2BB9E /* PBXContainerItemProxy */; }; - D7271BF6045D59C4FA6155D05BCA816D /* PBXTargetDependency */ = { + ECFDCEF8F93C562CA49F166E92B44523 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = AFNetworking; - target = 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */; - targetProxy = FC06F4C5679CD071A6AC615365DD5D0E /* PBXContainerItemProxy */; + name = FirebaseCore; + target = 4402AFF83DBDC4DD07E198685FDC2DF2 /* FirebaseCore */; + targetProxy = 30A019EB9413EBC0FB989EF07D2FC5F5 /* PBXContainerItemProxy */; }; - D787D9BAB8F227D8F0A457B5EEC4288D /* PBXTargetDependency */ = { + ED417472E6BAB4AAAE06BA82DE9825BB /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Masonry; target = 55AF53E6C77A10ED4985E04D74A8878E /* Masonry */; - targetProxy = 87AA1EBF7D138CD0EF7C93FC2EC0B509 /* PBXContainerItemProxy */; + targetProxy = D5F5855E3DD60CCC57D45D957B85BF84 /* PBXContainerItemProxy */; }; - D8D14B56DEF36955FD4897B42F28AEEA /* PBXTargetDependency */ = { + EE5EDCF7922963C033ACC9B8DBD128F6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = MASShortcut; target = 2B2B481A164695722839BD581D442457 /* MASShortcut */; - targetProxy = 7AA7CFF5A405A326B401E1E67E6B6BC1 /* PBXContainerItemProxy */; + targetProxy = F3CFD3A36003B108E8D12A390C112B66 /* PBXContainerItemProxy */; }; - D98AE70F2031EB098703C000ADC48339 /* PBXTargetDependency */ = { + F2C876C11D39194B4ABB365BDDD73ECE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FirebaseInstallations; - target = 87803597EB3F20FC46472B85392EC4FD /* FirebaseInstallations */; - targetProxy = 1A984254CD0EDAB69D667D914B917BE3 /* PBXContainerItemProxy */; + name = JLRoutes; + target = 94C1BAA17BCEBC27586488A205D2E0CB /* JLRoutes */; + targetProxy = 89B13785C6EC487D6366E4373347BD84 /* PBXContainerItemProxy */; }; - DA0A6D28CFCBA08BF7435064108547BE /* PBXTargetDependency */ = { + F4736D37E369BA6D69FDB1883DABBE9E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = FirebaseCore; - target = 4402AFF83DBDC4DD07E198685FDC2DF2 /* FirebaseCore */; - targetProxy = B7C34F17CC6278BB68392627A3D5C0C2 /* PBXContainerItemProxy */; + name = nanopb; + target = D2B5E7DCCBBFB32341D857D01211A1A3 /* nanopb */; + targetProxy = B1C090F0C42AB041DF8A9F50727E7CEB /* PBXContainerItemProxy */; }; - DBDCA2D9AC307198256B5919F8EE5C3F /* PBXTargetDependency */ = { + F8BA06BC7B72614DB8D4FB9D7C972EDE /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = MJExtension; target = 4D3BA58D0583DF37575CACAB3DDADC85 /* MJExtension */; - targetProxy = 26229EA0BB1C18F6070EF97236103488 /* PBXContainerItemProxy */; - }; - EA4422BBB0666854090397CC6CB3580E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = GoogleUtilities; - target = 8D7F5D5DD528D21A72DC87ADA5B12E2D /* GoogleUtilities */; - targetProxy = E0C2D78646F83DB2B6CC3E7B400C9AF7 /* PBXContainerItemProxy */; - }; - EFE7F6D5C8B26CF42EC4E15448212EA7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = nanopb; - target = D2B5E7DCCBBFB32341D857D01211A1A3 /* nanopb */; - targetProxy = F533734D49C3552F8170528AFCE4EA88 /* PBXContainerItemProxy */; + targetProxy = BE60430AD6D9AD56E25D88D6CD6312CC /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - B2E53E19D65BEAB194B05A6754E8B5E0 /* MASPreferencesWindow.xib */ = { + DE09D58D8F6416B0621F85CCBC40977C /* MASPreferencesWindow.xib */ = { isa = PBXVariantGroup; children = ( - 8B5ECAF4FA53CFC4BEA14F589390EAA0 /* MASPreferencesWindow.xib */, + 25A4879A14549DEAB2B62CA60E61A8BB /* MASPreferencesWindow.xib */, ); name = MASPreferencesWindow.xib; path = Framework; @@ -5121,9 +5167,9 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 02866CF63C6CA8658E66D3F9FE5AD8C9 /* Release */ = { + 01CF7441D6164D79F691962E13035299 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 985C8F7B08FC1F83E22AEE686D560835 /* FirebaseInstallations.release.xcconfig */; + baseConfigurationReference = 72F2FE5BC6638B3327F3F4BB08D5F788 /* FirebaseCoreInternal.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -5136,7 +5182,8 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -5144,9 +5191,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap"; - PRODUCT_MODULE_NAME = FirebaseInstallations; - PRODUCT_NAME = FirebaseInstallations; + MODULEMAP_FILE = "Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap"; + PRODUCT_MODULE_NAME = FirebaseCoreInternal; + PRODUCT_NAME = FirebaseCoreInternal; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -5158,7 +5205,7 @@ }; 043770A62E4D6E4557524616820F24D9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7E537EE7E235292751A04A36F681F752 /* Masonry.debug.xcconfig */; + baseConfigurationReference = B969010B6688844D2ECA0D0CE1A1CC10 /* Masonry.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5193,7 +5240,7 @@ }; 0447264BBB1ADDAB8D840537AB3D9373 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 233FB4ECC6B6FCF69868BD2A6E5BA511 /* AppCenter.debug.xcconfig */; + baseConfigurationReference = 37DC7887921BCB144A6E4E229590F09F /* AppCenter.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -5209,45 +5256,9 @@ }; name = Debug; }; - 0C0FD866D8E471B7918EA49896103C5B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D28E993E67C12389BF3A2DF4EA4BEDA6 /* MASShortcut.release.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/MASShortcut/MASShortcut-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; - PRODUCT_MODULE_NAME = MASShortcut; - PRODUCT_NAME = MASShortcut; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 0F35C9F9AD8B75461A25BC23081D327B /* Debug */ = { + 077232498F91DC1CCF08986D3B261E87 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3DAD7D567D5574A81E795698EF2EC66B /* nanopb.debug.xcconfig */; + baseConfigurationReference = 609E77E4D2CCD96114D951A3BC472C14 /* FirebaseCore.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -5260,79 +5271,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/nanopb/nanopb-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/nanopb/nanopb-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/nanopb/nanopb.modulemap"; - PRODUCT_MODULE_NAME = nanopb; - PRODUCT_NAME = nanopb; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 117F3536A75693E09A1203CA08F69E8C /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7E6A426841A08A7DEA02267115494441 /* MASShortcut.debug.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = NO; - COMBINE_HIDPI_IMAGES = YES; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; - IBSC_MODULE = MASShortcut; - INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-MASShortcut-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - MACOSX_DEPLOYMENT_TARGET = 11.0; - PRODUCT_NAME = MASShortcut; - SDKROOT = macosx; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 1828014C0F0C0641474983807486B5E9 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FB7AB15612865D39BA03F644C7923925 /* MASPreferences.debug.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = NO; - COMBINE_HIDPI_IMAGES = YES; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASPreferences"; - IBSC_MODULE = MASPreferences; - INFOPLIST_FILE = "Target Support Files/MASPreferences/ResourceBundle-MASPreferences-MASPreferences-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - MACOSX_DEPLOYMENT_TARGET = 11.0; - PRODUCT_NAME = MASPreferences; - SDKROOT = macosx; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 2F56E83552421DE5781CDF6A7F5E81DE /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 05099314B4BE38FA8C7F13C027C6A072 /* KVOController.debug.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/KVOController/KVOController-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/KVOController/KVOController-Info.plist"; + INFOPLIST_FILE = "Target Support Files/FirebaseCore/FirebaseCore-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -5340,24 +5279,24 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/KVOController/KVOController.modulemap"; - PRODUCT_MODULE_NAME = KVOController; - PRODUCT_NAME = KVOController; + MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; + PRODUCT_MODULE_NAME = FirebaseCore; + PRODUCT_NAME = FirebaseCore; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5.3; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 3095F6F94A725F51E97469D559AB4E37 /* Release */ = { + 0C0FD866D8E471B7918EA49896103C5B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0F1C25F44128BF7424E93AA5262DC85E /* Pods-Easydict.release.xcconfig */; + baseConfigurationReference = 51C6721857B763BDCDC3EB45544B2A14 /* MASShortcut.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -5367,34 +5306,50 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Easydict/Pods-Easydict-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/MASShortcut/MASShortcut-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/MASShortcut/MASShortcut-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/Pods-Easydict/Pods-Easydict.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/MASShortcut/MASShortcut.modulemap"; + PRODUCT_MODULE_NAME = MASShortcut; + PRODUCT_NAME = MASShortcut; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 30EBB00160021A8A53D19C65D57131F1 /* Release */ = { + 112424DC22F34F1375280D72BD3AEEDF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 51C6721857B763BDCDC3EB45544B2A14 /* MASShortcut.release.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; + IBSC_MODULE = MASShortcut; + INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-MASShortcut-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + MACOSX_DEPLOYMENT_TARGET = 11.0; + PRODUCT_NAME = MASShortcut; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + 2F56E83552421DE5781CDF6A7F5E81DE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 23D592C3DEFD0BE137A647B4BCF36976 /* GoogleUtilities.release.xcconfig */; + baseConfigurationReference = 2C5E848B4CD97F8C69DC4F1E308215A6 /* KVOController.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -5404,7 +5359,8 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/KVOController/KVOController-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/KVOController/KVOController-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -5412,9 +5368,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; - PRODUCT_MODULE_NAME = GoogleUtilities; - PRODUCT_NAME = GoogleUtilities; + MODULEMAP_FILE = "Target Support Files/KVOController/KVOController.modulemap"; + PRODUCT_MODULE_NAME = KVOController; + PRODUCT_NAME = KVOController; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -5422,11 +5378,11 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 31CCC3E65C5F3199484421502A03D5C4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BAE1E5FCD86F90B0D043456EEF9E68F1 /* ReactiveObjC.release.xcconfig */; + baseConfigurationReference = A31E17F9F5A72BE898B1319436003407 /* ReactiveObjC.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5461,7 +5417,7 @@ }; 3F7EC0EEDA0FA79BAEEFD18E6B60EC59 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7E6A426841A08A7DEA02267115494441 /* MASShortcut.debug.xcconfig */; + baseConfigurationReference = 8A5C2B6EE9BE76F67FC9DA55CDDB2A95 /* MASShortcut.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -5495,12 +5451,11 @@ }; name = Debug; }; - 41E5D4164220B1AD7D119E3133D6CB7C /* Release */ = { + 45F693C9DA8B3438A0F53CB630A06C26 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D616E1CF24F051EF0220D582FC194AE6 /* FirebaseCore.release.xcconfig */; + baseConfigurationReference = 4D95A30EFC80203B17C573B069F04F39 /* Masonry.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -5510,7 +5465,8 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/FirebaseCore/FirebaseCore-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Masonry/Masonry-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -5518,22 +5474,23 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; - PRODUCT_MODULE_NAME = FirebaseCore; - PRODUCT_NAME = FirebaseCore; + MODULEMAP_FILE = "Target Support Files/Masonry/Masonry.modulemap"; + PRODUCT_MODULE_NAME = Masonry; + PRODUCT_NAME = Masonry; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.3; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 45F693C9DA8B3438A0F53CB630A06C26 /* Release */ = { + 46536E6F0D167A675FDDAEF9174088BD /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0BE3BCEAB2A4D4EE917B5E7A3A6CA49F /* Masonry.release.xcconfig */; + baseConfigurationReference = 8B00B1A7406B4F5FEEC4C4B39D91D48A /* Pods-Easydict.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -5544,30 +5501,31 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Masonry/Masonry-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Masonry/Masonry-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-Easydict/Pods-Easydict-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); + MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/Masonry/Masonry.modulemap"; - PRODUCT_MODULE_NAME = Masonry; - PRODUCT_NAME = Masonry; + MODULEMAP_FILE = "Target Support Files/Pods-Easydict/Pods-Easydict.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 49F8208D973FABD9F73891F11AE4E14B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 257FE9D06B43C7027E34137987DA960E /* SSZipArchive.debug.xcconfig */; + baseConfigurationReference = 9D685CF55891BC5BF98B38FC1B2D3248 /* SSZipArchive.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5599,9 +5557,9 @@ }; name = Debug; }; - 4C3DBBE548200B9C96B1D1A65C41B1E7 /* Release */ = { + 5021E89C0B18ABB9526F892E06C0914A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5254A5C494B0AC2D46BAC7D340C969B0 /* PromisesObjC.release.xcconfig */; + baseConfigurationReference = 3D8DD889BB7D1080B15D98D04A421817 /* GoogleUtilities.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -5610,10 +5568,11 @@ "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/PromisesObjC/PromisesObjC-Info.plist"; + INFOPLIST_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -5621,9 +5580,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/PromisesObjC/PromisesObjC.modulemap"; - PRODUCT_MODULE_NAME = FBLPromises; - PRODUCT_NAME = FBLPromises; + MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; + PRODUCT_MODULE_NAME = GoogleUtilities; + PRODUCT_NAME = GoogleUtilities; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -5670,12 +5629,29 @@ }; name = Release; }; - 56BB612A11DEA2B0ED2A5322A8AC8E6F /* Debug */ = { + 5A14571C465F404CA10D9C1CB6D6E351 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A858613BF3184F809B6714D3769B8FF3 /* FirebaseCore.debug.xcconfig */; + baseConfigurationReference = D736AFA9A254522BFE2E0CAEC0049E78 /* GoogleAppMeasurement.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; + COMBINE_HIDPI_IMAGES = YES; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 11.0; + SDKROOT = macosx; + }; + name = Debug; + }; + 62F6FD063953FA192F4B3A673FE97AFC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0B46495A9BF42C85115D939CBF2EFA8C /* MJExtension.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -5685,7 +5661,8 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/FirebaseCore/FirebaseCore-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/MJExtension/MJExtension-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/MJExtension/MJExtension-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -5693,21 +5670,21 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; - PRODUCT_MODULE_NAME = FirebaseCore; - PRODUCT_NAME = FirebaseCore; + MODULEMAP_FILE = "Target Support Files/MJExtension/MJExtension.modulemap"; + PRODUCT_MODULE_NAME = MJExtension; + PRODUCT_NAME = MJExtension; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.3; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 62F6FD063953FA192F4B3A673FE97AFC /* Debug */ = { + 6474019BC5D37ED1C67F92B552F1A4E7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 01277E50C634B8441355B5F93755265C /* MJExtension.debug.xcconfig */; + baseConfigurationReference = 1C344F53515BA00521F5FFD7A9FB61ED /* SSZipArchive.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5715,12 +5692,11 @@ "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/MJExtension/MJExtension-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/MJExtension/MJExtension-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SSZipArchive/SSZipArchive-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SSZipArchive/SSZipArchive-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -5728,9 +5704,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/MJExtension/MJExtension.modulemap"; - PRODUCT_MODULE_NAME = MJExtension; - PRODUCT_NAME = MJExtension; + MODULEMAP_FILE = "Target Support Files/SSZipArchive/SSZipArchive.modulemap"; + PRODUCT_MODULE_NAME = SSZipArchive; + PRODUCT_NAME = SSZipArchive; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -5738,31 +5714,49 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 63D5D264201963A064281F2DAAC3ABAF /* Debug */ = { + 6C24299D9142F3C4E7BF568C9125199A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27E94BF83E6B4AEFC56E010F78A84F0D /* GoogleAppMeasurement.debug.xcconfig */; + baseConfigurationReference = 2A3E109E6D10C507E34592DF791A9FB1 /* FirebaseCore.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/FirebaseCore/FirebaseCore-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", + "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; + MODULEMAP_FILE = "Target Support Files/FirebaseCore/FirebaseCore.modulemap"; + PRODUCT_MODULE_NAME = FirebaseCore; + PRODUCT_NAME = FirebaseCore; SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.3; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 6474019BC5D37ED1C67F92B552F1A4E7 /* Release */ = { + 6E06E9C2C84E36C5B979851911A3BBBC /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6C6118D41BDDA929ED2DA0F29C12F833 /* SSZipArchive.release.xcconfig */; + baseConfigurationReference = E034A92E25A61CB44A9AB28CE9C4A5BB /* PromisesObjC.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -5771,8 +5765,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SSZipArchive/SSZipArchive-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SSZipArchive/SSZipArchive-Info.plist"; + INFOPLIST_FILE = "Target Support Files/PromisesObjC/PromisesObjC-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -5780,9 +5773,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/SSZipArchive/SSZipArchive.modulemap"; - PRODUCT_MODULE_NAME = SSZipArchive; - PRODUCT_NAME = SSZipArchive; + MODULEMAP_FILE = "Target Support Files/PromisesObjC/PromisesObjC.modulemap"; + PRODUCT_MODULE_NAME = FBLPromises; + PRODUCT_NAME = FBLPromises; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -5790,11 +5783,11 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 6F812174E894466E66069688252D0EB7 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0E403A9620BBE446FD1BDAFEB3B46A7A /* CocoaLumberjack.debug.xcconfig */; + baseConfigurationReference = A4414BB3B780D6EC2894CC78F381D7FA /* CocoaLumberjack.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -5830,7 +5823,7 @@ }; 7198CE043F7549A17243F7D986CC7DE9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FB7AB15612865D39BA03F644C7923925 /* MASPreferences.debug.xcconfig */; + baseConfigurationReference = C89CD4E24276D7608D4BE81DED6E2514 /* MASPreferences.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -5864,9 +5857,9 @@ }; name = Debug; }; - 71A2221797B52CC1A851D5F0FEFA80CA /* Release */ = { + 7496E5B793F62B279404B467920A0A3F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6F28316F04298D55AEB24761F4429943 /* FirebaseCoreInternal.release.xcconfig */; + baseConfigurationReference = 91BAE3F9E06C3E4BEF63F3A6585FE305 /* CocoaLumberjack.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -5879,8 +5872,8 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CocoaLumberjack/CocoaLumberjack-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -5888,24 +5881,24 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/FirebaseCoreInternal/FirebaseCoreInternal.modulemap"; - PRODUCT_MODULE_NAME = FirebaseCoreInternal; - PRODUCT_NAME = FirebaseCoreInternal; + MODULEMAP_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack.modulemap"; + PRODUCT_MODULE_NAME = CocoaLumberjack; + PRODUCT_NAME = CocoaLumberjack; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.3; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 7496E5B793F62B279404B467920A0A3F /* Release */ = { + 7569CA0D54160F94E56ADEFEF66EBCFD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6EFE3705CC0571B3A385302ABF23043A /* CocoaLumberjack.release.xcconfig */; + baseConfigurationReference = 0F1C25F44128BF7424E93AA5262DC85E /* Pods-Easydict.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -5915,22 +5908,23 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CocoaLumberjack/CocoaLumberjack-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-Easydict/Pods-Easydict-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); + MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/CocoaLumberjack/CocoaLumberjack.modulemap"; - PRODUCT_MODULE_NAME = CocoaLumberjack; - PRODUCT_NAME = CocoaLumberjack; + MODULEMAP_FILE = "Target Support Files/Pods-Easydict/Pods-Easydict.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -5938,7 +5932,7 @@ }; 77A9A4C7C0E39F315878AECFE0340C85 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3A2771228856CC56144093AC04A5F635 /* KVOController.release.xcconfig */; + baseConfigurationReference = 19FF85FEFCEA28C75F88E113C66FF120 /* KVOController.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5971,29 +5965,12 @@ }; name = Release; }; - 7D3C658CD800B9C703CDEE49B83B6CF5 /* Release */ = { + 7AEC175576326A3359933A93C5904F7E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B58520A59F7A794C5B285E93BCFF13B5 /* GoogleAppMeasurement.release.xcconfig */; + baseConfigurationReference = 375D9EDBB5FDCC95822ECC11DD9E3FBC /* GoogleUtilities.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; - COMBINE_HIDPI_IMAGES = YES; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 11.0; - SDKROOT = macosx; - }; - name = Release; - }; - 7DFA6BE9948EE0D520F94690444EEFF4 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9BC2898039C7C6CE10FDA21E4657BFEB /* ReactiveObjC.debug.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -6003,8 +5980,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/ReactiveObjC/ReactiveObjC-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ReactiveObjC/ReactiveObjC-Info.plist"; + INFOPLIST_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -6012,9 +5988,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/ReactiveObjC/ReactiveObjC.modulemap"; - PRODUCT_MODULE_NAME = ReactiveObjC; - PRODUCT_NAME = ReactiveObjC; + MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; + PRODUCT_MODULE_NAME = GoogleUtilities; + PRODUCT_NAME = GoogleUtilities; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -6024,12 +6000,11 @@ }; name = Debug; }; - 7F886C9E831D23D87BD3058977966818 /* Release */ = { + 7DFA6BE9948EE0D520F94690444EEFF4 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 73FD27E2693D25D7290AE2CC781BA1FF /* nanopb.release.xcconfig */; + baseConfigurationReference = 25CA565A48F341B02CFA4491E868627F /* ReactiveObjC.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -6039,8 +6014,8 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/nanopb/nanopb-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/nanopb/nanopb-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/ReactiveObjC/ReactiveObjC-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ReactiveObjC/ReactiveObjC-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -6048,9 +6023,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/nanopb/nanopb.modulemap"; - PRODUCT_MODULE_NAME = nanopb; - PRODUCT_NAME = nanopb; + MODULEMAP_FILE = "Target Support Files/ReactiveObjC/ReactiveObjC.modulemap"; + PRODUCT_MODULE_NAME = ReactiveObjC; + PRODUCT_NAME = ReactiveObjC; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -6058,11 +6033,11 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 80FE3E30DE35C00EEF289734BD6835A1 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A0F8A5FDE9A266B11A3D3CBB15EA4E8A /* MJExtension.release.xcconfig */; + baseConfigurationReference = 48A4D709C5807E7DF6202125E2EFD706 /* MJExtension.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6097,7 +6072,7 @@ }; 81598A85C9E566CD3600642CF0AF261D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 23D203524A47B748A1AD86FCC2BA8C1F /* AFNetworking.release.xcconfig */; + baseConfigurationReference = E97F9191C15F8F647C782588ADFF4D5B /* AFNetworking.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6194,7 +6169,7 @@ }; 89EEAA3D4B5AE73BC396E346297A72CC /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 14DC47848741AF0B62B275D008EBF648 /* Sparkle.debug.xcconfig */; + baseConfigurationReference = 7D3074BCA2B1CEF69464A5BC2592D701 /* Sparkle.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -6210,9 +6185,45 @@ }; name = Debug; }; - 91F03193DA37C6A97E9E0BDBF10F882E /* Debug */ = { + 8A7CF22B789381EF6A9890BE0B775CAC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 26B8D148E2AEA9F404859BAC5ED75649 /* nanopb.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/nanopb/nanopb-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/nanopb/nanopb-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 11.0; + MODULEMAP_FILE = "Target Support Files/nanopb/nanopb.modulemap"; + PRODUCT_MODULE_NAME = nanopb; + PRODUCT_NAME = nanopb; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 9748303096CF9169AFD78EDF245DB510 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B897AB3A453C960EB972432782577638 /* PromisesObjC.debug.xcconfig */; + baseConfigurationReference = 9404C5D2D5AD36330D2123A29D64D0AB /* nanopb.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -6221,10 +6232,12 @@ "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/PromisesObjC/PromisesObjC-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/nanopb/nanopb-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/nanopb/nanopb-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -6232,9 +6245,9 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/PromisesObjC/PromisesObjC.modulemap"; - PRODUCT_MODULE_NAME = FBLPromises; - PRODUCT_NAME = FBLPromises; + MODULEMAP_FILE = "Target Support Files/nanopb/nanopb.modulemap"; + PRODUCT_MODULE_NAME = nanopb; + PRODUCT_NAME = nanopb; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -6242,29 +6255,29 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 93761B1D4855F7BC17DED146A4D29CEA /* Release */ = { + 9A66EEEFC4B04886F5D0D7FEFDDE947E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D28E993E67C12389BF3A2DF4EA4BEDA6 /* MASShortcut.release.xcconfig */; + baseConfigurationReference = C89CD4E24276D7608D4BE81DED6E2514 /* MASPreferences.debug.xcconfig */; buildSettings = { CODE_SIGNING_ALLOWED = NO; COMBINE_HIDPI_IMAGES = YES; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; - IBSC_MODULE = MASShortcut; - INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-MASShortcut-Info.plist"; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASPreferences"; + IBSC_MODULE = MASPreferences; + INFOPLIST_FILE = "Target Support Files/MASPreferences/ResourceBundle-MASPreferences-MASPreferences-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; MACOSX_DEPLOYMENT_TARGET = 11.0; - PRODUCT_NAME = MASShortcut; + PRODUCT_NAME = MASPreferences; SDKROOT = macosx; SKIP_INSTALL = YES; WRAPPER_EXTENSION = bundle; }; - name = Release; + name = Debug; }; 9D56C7C807BEF554AE693FC1C147A3D6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E3ADB4DA991E23168BB0FF9B3C4811B4 /* JLRoutes.debug.xcconfig */; + baseConfigurationReference = F5F023365F19429AA284155F5358BE7A /* JLRoutes.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -6300,7 +6313,7 @@ }; 9F6B4AB21290A67737A24D8105A17E76 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2348345A9A6B87047ACFE426DF9AB099 /* JLRoutes.release.xcconfig */; + baseConfigurationReference = F803D40759184C33B0B5017CFF355929 /* JLRoutes.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -6336,7 +6349,7 @@ }; A1B8D9C6673EE83E3F80E3B3F66FF70C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EEB261445749571F2BAA6FC50774FBD6 /* AFNetworking.debug.xcconfig */; + baseConfigurationReference = 50595756AADA17B6D88C13C914E945E0 /* AFNetworking.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -6371,7 +6384,7 @@ }; A942265E7027F239A3D0EB8401940DA6 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E5A4EC49F988E4AE9EAABA7E6E06C0E1 /* Sparkle.release.xcconfig */; + baseConfigurationReference = BCD53D209929BA5128CBFE7703733130 /* Sparkle.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -6387,12 +6400,12 @@ }; name = Release; }; - AC5D0484993A6A5E33263FC46181CD59 /* Debug */ = { + AF4AA58D045759F2C56CDEBFF198AC54 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1FEB7DD27733B82A7752B7CF5E59D2A5 /* FirebaseInstallations.debug.xcconfig */; + baseConfigurationReference = 225198CE18CF6D457A07FFA8E1635FD6 /* Pods-EasydictTests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -6402,66 +6415,83 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-EasydictTests/Pods-EasydictTests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); + MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap"; - PRODUCT_MODULE_NAME = FirebaseInstallations; - PRODUCT_NAME = FirebaseInstallations; + MODULEMAP_FILE = "Target Support Files/Pods-EasydictTests/Pods-EasydictTests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = macosx; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.3; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - AF4AA58D045759F2C56CDEBFF198AC54 /* Debug */ = { + B5AFB2BA06A7EE797AC0A92EB7CB7FBD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 225198CE18CF6D457A07FFA8E1635FD6 /* Pods-EasydictTests.debug.xcconfig */; + baseConfigurationReference = 04DF1186178576F4AEDD94CD17685B63 /* PromisesObjC.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-EasydictTests/Pods-EasydictTests-Info.plist"; + INFOPLIST_FILE = "Target Support Files/PromisesObjC/PromisesObjC-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/Pods-EasydictTests/Pods-EasydictTests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/PromisesObjC/PromisesObjC.modulemap"; + PRODUCT_MODULE_NAME = FBLPromises; + PRODUCT_NAME = FBLPromises; SDKROOT = macosx; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; + name = Release; + }; + B6BA742924E0E5E87AB0C87DB332BA28 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6279609618DE4793D65CE4DE50146D17 /* SwiftFormat.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_OBJC_WEAK = NO; + COMBINE_HIDPI_IMAGES = YES; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 11.0; + SDKROOT = macosx; + }; name = Debug; }; B8AB58FFE3F91D564D5CC07CF3F3DD83 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A0BA49435E1215626EC76CDB48D450ED /* FirebaseAnalytics.release.xcconfig */; + baseConfigurationReference = ABCCB934892895EB26DDB2C0B9FDC152 /* FirebaseAnalytics.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -6479,7 +6509,7 @@ }; C0F3506412CA0D28220A8C3FC819CBAE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7F4B3369A56926499FC9F25514DE48EA /* MASPreferences.release.xcconfig */; + baseConfigurationReference = 1361D2F48C1D00902788B885559E945E /* MASPreferences.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -6515,7 +6545,43 @@ }; C548A4D61BDEE3659C3AC387BD31DBDD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 754E3C8F2C98BD1843448178A715381F /* AppCenter.release.xcconfig */; + baseConfigurationReference = C75B39926F38C66443C2FA3F77C5904B /* AppCenter.release.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_OBJC_WEAK = NO; + COMBINE_HIDPI_IMAGES = YES; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 11.0; + SDKROOT = macosx; + }; + name = Release; + }; + CE1D8F34DAED867CC09C0E142A535BCA /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1361D2F48C1D00902788B885559E945E /* MASPreferences.release.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASPreferences"; + IBSC_MODULE = MASPreferences; + INFOPLIST_FILE = "Target Support Files/MASPreferences/ResourceBundle-MASPreferences-MASPreferences-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + MACOSX_DEPLOYMENT_TARGET = 11.0; + PRODUCT_NAME = MASPreferences; + SDKROOT = macosx; + SKIP_INSTALL = YES; + WRAPPER_EXTENSION = bundle; + }; + name = Release; + }; + CE466BE2EA36869F615413F9FA519750 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DE752AD9385E065B073A2359902A0DC7 /* SwiftFormat.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -6531,6 +6597,41 @@ }; name = Release; }; + D2F37465C34749E9601A7B438450C1EB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C7C684DDF5BDBEAD4F89E1E350B97E1A /* FirebaseInstallations.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 11.0; + MODULEMAP_FILE = "Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap"; + PRODUCT_MODULE_NAME = FirebaseInstallations; + PRODUCT_NAME = FirebaseInstallations; + SDKROOT = macosx; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.3; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; D39E634FC2CFF97419EB3682DD2807FA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -6599,7 +6700,7 @@ }; D91B5BBC97E5FC80EDCDD0CC963F2C9B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD0C00D6A7B100B981223484B38A0D77 /* FirebaseAnalytics.debug.xcconfig */; + baseConfigurationReference = 1F04B80879EB8848A723E4FF7BA1800E /* FirebaseAnalytics.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -6615,46 +6716,45 @@ }; name = Debug; }; - DB3249BDE1F7163521D0518DB04EC321 /* Debug */ = { + DFF6873187004C47C2C2FDF19437B886 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8B00B1A7406B4F5FEEC4C4B39D91D48A /* Pods-Easydict.debug.xcconfig */; + baseConfigurationReference = B31949005F7BB55713000DC9BCDC48B6 /* GoogleAppMeasurement.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_OBJC_WEAK = NO; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-Easydict/Pods-Easydict-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", - "@loader_path/Frameworks", ); - MACH_O_TYPE = staticlib; MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/Pods-Easydict/Pods-Easydict.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = macosx; + }; + name = Release; + }; + E7F0D5582C97133CE1CD9F6E86A838CD /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8A5C2B6EE9BE76F67FC9DA55CDDB2A95 /* MASShortcut.debug.xcconfig */; + buildSettings = { + CODE_SIGNING_ALLOWED = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASShortcut"; + IBSC_MODULE = MASShortcut; + INFOPLIST_FILE = "Target Support Files/MASShortcut/ResourceBundle-MASShortcut-MASShortcut-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; + MACOSX_DEPLOYMENT_TARGET = 11.0; + PRODUCT_NAME = MASShortcut; SDKROOT = macosx; SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; + WRAPPER_EXTENSION = bundle; }; name = Debug; }; - DE06AC3E62BF2865E04B77418A6FDAC6 /* Debug */ = { + ED90AC9E0B8394B82516067B142E2F25 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4A7A90F577016D738418B1B63623A55D /* FirebaseCoreInternal.debug.xcconfig */; + baseConfigurationReference = 455AA8836A363E4A9C906FA2B7BA980D /* FirebaseCoreInternal.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -6688,9 +6788,9 @@ }; name = Debug; }; - DEB2B1826D8B633F00EE532B5C0A4B7A /* Debug */ = { + F5B743C354EDDFD0AC1097962DED20E9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 43E523E11B2713F25B94FFE8B9D42650 /* GoogleUtilities.debug.xcconfig */; + baseConfigurationReference = 24BF7EC01DBDEAC2D409237393575B91 /* FirebaseInstallations.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -6703,7 +6803,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities-Info.plist"; + INFOPLIST_FILE = "Target Support Files/FirebaseInstallations/FirebaseInstallations-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -6711,34 +6811,16 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 11.0; - MODULEMAP_FILE = "Target Support Files/GoogleUtilities/GoogleUtilities.modulemap"; - PRODUCT_MODULE_NAME = GoogleUtilities; - PRODUCT_NAME = GoogleUtilities; + MODULEMAP_FILE = "Target Support Files/FirebaseInstallations/FirebaseInstallations.modulemap"; + PRODUCT_MODULE_NAME = FirebaseInstallations; + PRODUCT_NAME = FirebaseInstallations; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5.3; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; - }; - FC06667C655F5B6546C620D543FA8259 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7F4B3369A56926499FC9F25514DE48EA /* MASPreferences.release.xcconfig */; - buildSettings = { - CODE_SIGNING_ALLOWED = NO; - COMBINE_HIDPI_IMAGES = YES; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/MASPreferences"; - IBSC_MODULE = MASPreferences; - INFOPLIST_FILE = "Target Support Files/MASPreferences/ResourceBundle-MASPreferences-MASPreferences-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - MACOSX_DEPLOYMENT_TARGET = 11.0; - PRODUCT_NAME = MASPreferences; - SDKROOT = macosx; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; name = Release; }; /* End XCBuildConfiguration section */ @@ -6753,24 +6835,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 0D89A2B24024F7106EA968FCCAAEB729 /* Build configuration list for PBXNativeTarget "MASPreferences-MASPreferences" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1828014C0F0C0641474983807486B5E9 /* Debug */, - FC06667C655F5B6546C620D543FA8259 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 1447DE5AAD99E4164D2C11321743DAE1 /* Build configuration list for PBXNativeTarget "Pods-Easydict" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DB3249BDE1F7163521D0518DB04EC321 /* Debug */, - 3095F6F94A725F51E97469D559AB4E37 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 2734D298ADB3BB6DE1AD51B10EB2EFF2 /* Build configuration list for PBXNativeTarget "KVOController" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -6780,15 +6844,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 29C79C37EF8E4B36CFAEFB387F0F0AA8 /* Build configuration list for PBXAggregateTarget "GoogleAppMeasurement" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 63D5D264201963A064281F2DAAC3ABAF /* Debug */, - 7D3C658CD800B9C703CDEE49B83B6CF5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 2C8D06A2289713323892B3638F08AC0B /* Build configuration list for PBXAggregateTarget "Sparkle" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -6861,20 +6916,38 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 651D874DDF4D0C9385A74BBCAE5E0B82 /* Build configuration list for PBXNativeTarget "FirebaseCore" */ = { + 6B2B7DF197DF6A7CA487150557230A41 /* Build configuration list for PBXAggregateTarget "SwiftFormat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B6BA742924E0E5E87AB0C87DB332BA28 /* Debug */, + CE466BE2EA36869F615413F9FA519750 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 7A95A43F0AF95493CA77391D4D8C1FBC /* Build configuration list for PBXAggregateTarget "GoogleAppMeasurement" */ = { isa = XCConfigurationList; buildConfigurations = ( - 56BB612A11DEA2B0ED2A5322A8AC8E6F /* Debug */, - 41E5D4164220B1AD7D119E3133D6CB7C /* Release */, + 5A14571C465F404CA10D9C1CB6D6E351 /* Debug */, + DFF6873187004C47C2C2FDF19437B886 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7261C2F727FCABD5407B1302976F19FF /* Build configuration list for PBXNativeTarget "nanopb" */ = { + 80AEA59C9AA721689B4B67E2B1668292 /* Build configuration list for PBXNativeTarget "MASShortcut-MASShortcut" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0F35C9F9AD8B75461A25BC23081D327B /* Debug */, - 7F886C9E831D23D87BD3058977966818 /* Release */, + E7F0D5582C97133CE1CD9F6E86A838CD /* Debug */, + 112424DC22F34F1375280D72BD3AEEDF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 81D9229A14FCC5DBB8606112BCB23C05 /* Build configuration list for PBXNativeTarget "FirebaseCoreInternal" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + ED90AC9E0B8394B82516067B142E2F25 /* Debug */, + 01CF7441D6164D79F691962E13035299 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -6897,11 +6970,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 964FDA7CAB7E332C0AFAA3CA7DFE5A86 /* Build configuration list for PBXNativeTarget "PromisesObjC" */ = { + 9C1BC0289F5518779B8A4E9C21CF25F1 /* Build configuration list for PBXNativeTarget "FirebaseInstallations" */ = { isa = XCConfigurationList; buildConfigurations = ( - 91F03193DA37C6A97E9E0BDBF10F882E /* Debug */, - 4C3DBBE548200B9C96B1D1A65C41B1E7 /* Release */, + D2F37465C34749E9601A7B438450C1EB /* Debug */, + F5B743C354EDDFD0AC1097962DED20E9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -6924,47 +6997,65 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B6292C36AB884273D28D86B88ED52EB9 /* Build configuration list for PBXNativeTarget "GoogleUtilities" */ = { + C0670BF75A5B356D4CC5B641C6DF3111 /* Build configuration list for PBXNativeTarget "nanopb" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8A7CF22B789381EF6A9890BE0B775CAC /* Debug */, + 9748303096CF9169AFD78EDF245DB510 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D01333115484DA24340B13CDA70830A4 /* Build configuration list for PBXNativeTarget "Pods-EasydictTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - DEB2B1826D8B633F00EE532B5C0A4B7A /* Debug */, - 30EBB00160021A8A53D19C65D57131F1 /* Release */, + AF4AA58D045759F2C56CDEBFF198AC54 /* Debug */, + 5514564CAA23842906E959FB0AFF2AA2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - CF2779F7D8532B969E2B2B663A656815 /* Build configuration list for PBXNativeTarget "FirebaseInstallations" */ = { + D08975B1202A946E3AD8AA36B6C7F82C /* Build configuration list for PBXNativeTarget "Pods-Easydict" */ = { isa = XCConfigurationList; buildConfigurations = ( - AC5D0484993A6A5E33263FC46181CD59 /* Debug */, - 02866CF63C6CA8658E66D3F9FE5AD8C9 /* Release */, + 46536E6F0D167A675FDDAEF9174088BD /* Debug */, + 7569CA0D54160F94E56ADEFEF66EBCFD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D01333115484DA24340B13CDA70830A4 /* Build configuration list for PBXNativeTarget "Pods-EasydictTests" */ = { + DA72AAEE3E36AFCA94C19EBE2F25C1A9 /* Build configuration list for PBXNativeTarget "GoogleUtilities" */ = { isa = XCConfigurationList; buildConfigurations = ( - AF4AA58D045759F2C56CDEBFF198AC54 /* Debug */, - 5514564CAA23842906E959FB0AFF2AA2 /* Release */, + 7AEC175576326A3359933A93C5904F7E /* Debug */, + 5021E89C0B18ABB9526F892E06C0914A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E9F3E887C1BA120BCD805CBA3851D8C3 /* Build configuration list for PBXNativeTarget "FirebaseCore" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 077232498F91DC1CCF08986D3B261E87 /* Debug */, + 6C24299D9142F3C4E7BF568C9125199A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DC195D840964813A1F35EA5F90F418AB /* Build configuration list for PBXNativeTarget "MASShortcut-MASShortcut" */ = { + EC16C017DE1417167E6F5BA25580BFAD /* Build configuration list for PBXNativeTarget "MASPreferences-MASPreferences" */ = { isa = XCConfigurationList; buildConfigurations = ( - 117F3536A75693E09A1203CA08F69E8C /* Debug */, - 93761B1D4855F7BC17DED146A4D29CEA /* Release */, + 9A66EEEFC4B04886F5D0D7FEFDDE947E /* Debug */, + CE1D8F34DAED867CC09C0E142A535BCA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F1BAC2455D58D20D2D59C820938165CF /* Build configuration list for PBXNativeTarget "FirebaseCoreInternal" */ = { + EFA4EA5EAF05B398BD4A386874D8E204 /* Build configuration list for PBXNativeTarget "PromisesObjC" */ = { isa = XCConfigurationList; buildConfigurations = ( - DE06AC3E62BF2865E04B77418A6FDAC6 /* Debug */, - 71A2221797B52CC1A851D5F0FEFA80CA /* Release */, + 6E06E9C2C84E36C5B979851911A3BBBC /* Debug */, + B5AFB2BA06A7EE797AC0A92EB7CB7FBD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Pods/SwiftFormat/CommandLineTool/swiftformat b/Pods/SwiftFormat/CommandLineTool/swiftformat new file mode 100755 index 000000000..0a6601155 Binary files /dev/null and b/Pods/SwiftFormat/CommandLineTool/swiftformat differ diff --git a/Pods/SwiftFormat/LICENSE.md b/Pods/SwiftFormat/LICENSE.md new file mode 100755 index 000000000..6fc7a2cec --- /dev/null +++ b/Pods/SwiftFormat/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Nick Lockwood + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Pods/SwiftFormat/README.md b/Pods/SwiftFormat/README.md new file mode 100644 index 000000000..f78c19438 --- /dev/null +++ b/Pods/SwiftFormat/README.md @@ -0,0 +1,972 @@ +![](EditorExtension/Application/Assets.xcassets/AppIcon.appiconset/icon_256x256.png) + +[![PayPal](https://img.shields.io/badge/paypal-donate-blue.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9ZGWNK5FEZFF6&source=url) +[![Build](https://github.com/nicklockwood/SwiftFormat/actions/workflows/build.yml/badge.svg)](https://github.com/nicklockwood/SwiftFormat/actions/workflows/build.yml) +[![Codecov](https://codecov.io/gh/nicklockwood/SwiftFormat/graphs/badge.svg)](https://codecov.io/gh/nicklockwood/SwiftFormat) +[![Swift 5.1](https://img.shields.io/badge/swift-5.1-red.svg?style=flat)](https://developer.apple.com/swift) +[![License](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://opensource.org/licenses/MIT) +[![Mastodon](https://img.shields.io/badge/mastodon-@nicklockwood@mastodon.social-636dff.svg)](https://mastodon.social/@nicklockwood) + +Table of Contents +----------------- + +- [What?](#what-is-this) +- [Why?](#why-would-i-want-to-do-that) +- [How?](#how-do-i-install-it) + - [Command-line tool](#command-line-tool) + - [Xcode source editor extension](#xcode-source-editor-extension) + - [Xcode build phase](#xcode-build-phase) + - [Swift Package Manager plugin](#swift-package-manager-plugin) + - [Via Applescript](#via-applescript) + - [VSCode plugin](#vscode-plugin) + - [Sublime Text plugin](#sublime-text-plugin) + - [Nova plugin](nova-plugin) + - [Git pre-commit hook](#git-pre-commit-hook) + - [On CI using Danger](#on-ci-using-danger) + - [Bazel build](#bazel-build) + - [Docker](#docker) +- [Configuration](#configuration) + - [Options](#options) + - [Rules](#rules) + - [Swift version](#swift-version) + - [Config file](#config-file) + - [Globs](#globs) + - [Linting](#linting) + - [Error codes](#error-codes) + - [Cache](#cache) + - [File headers](#file-headers) +- [FAQ](#faq) +- [Known issues](#known-issues) +- [Tip Jar](#tip-jar) +- [Credits](#credits) + + +What is this? +---------------- + +SwiftFormat is a code library and command-line tool for reformatting Swift code on macOS, Linux or Windows. + +SwiftFormat goes above and beyond what you might expect from a code formatter. In addition to adjusting white space it can insert or remove implicit `self`, remove redundant parentheses, and correct many other deviations from the standard Swift idioms. + + +Why would I want to do that? +----------------------------- + +Many programmers have a preferred style for formatting their code, and others seem entirely blind to the existing formatting conventions of a project (to the enragement of their colleagues). + +When collaborating on a project, it can be helpful to agree on a common coding style, but enforcing that manually is tedious and error-prone, and can lead to arguments if some participants take it more seriously than others. + +Having a tool to automatically enforce a common style eliminates those issues, and lets you focus on the behavior of the code, not its presentation. + + +How do I install it? +--------------------- + +That depends - There are several ways you can use SwiftFormat: + +1. As a command-line tool that you run manually, or as part of some other toolchain +2. As a Source Editor Extension that you can invoke via the Editor > SwiftFormat menu within Xcode +3. As a build phase in your Xcode project, so that it runs every time you press Cmd-R or Cmd-B, or +4. As a Git pre-commit hook, so that it runs on any files you've changed before you check them in + + +Command-line tool +------------------- + +**NOTE:** if you are using any of the following methods to install SwiftFormat on macOS 10.14.3 or earlier and are experiencing a crash on launch, you may need to install the [Swift 5 Runtime Support for Command Line Tools](https://support.apple.com/kb/DL1998). See [known issues](#known-issues) for details. + +**Installation:** + +You can install the `swiftformat` command-line tool on macOS or Linux using [Homebrew](http://brew.sh/). Assuming you already have Homebrew installed, just type: + +```bash +$ brew install swiftformat +``` + +To update to the latest version once installed: + +```bash +$ brew upgrade swiftformat +``` + +Alternatively, you can install the tool on macOS or Linux by using [Mint](https://github.com/yonaskolb/Mint) as follows: + +```bash +$ mint install nicklockwood/SwiftFormat@main +``` + +Or if you prefer, you can check out and build SwiftFormat manually on macOS, Linux or Windows as follows: + +```bash +$ git clone https://github.com/nicklockwood/SwiftFormat +$ cd SwiftFormat +$ swift build -c release +``` + +If you are installing SwiftFormat into your project directory, you can use [CocoaPods](https://cocoapods.org/) on macOS to automatically install the swiftformat binary along with your other pods - see the Xcode build phase instructions below for details. + +Another option is to include the binary artifactbundle in your `Package.swift`: + +```swift +.binaryTarget( + name: "swiftformat", + url: "https://github.com/nicklockwood/SwiftFormat/releases/download/0.49.12/swiftformat-macos.artifactbundle.zip", + checksum: "CHECKSUM" +), +``` + +If you would prefer not to use a package manager, you can build the command-line app manually: + +1. open `SwiftFormat.xcodeproj` and build the `SwiftFormat (Application)` scheme. + +2. Drag the `swiftformat` binary into `/usr/local/bin/` (this is a hidden folder, but you can use the Finder's `Go > Go to Folder...` menu to open it). + +3. Open `~/.bash_profile` in your favorite text editor (this is a hidden file, but you can type `open ~/.bash_profile` in the terminal to open it). + +4. Add the following line to the file: `alias swiftformat="/usr/local/bin/swiftformat --indent 4"` (you can omit the `--indent 4`, or replace it with something else. Run `swiftformat --help` to see the available options). + +5. Save the `.bash_profile` file and run the command `source ~/.bash_profile` for the changes to take effect. + +**Usage:** + +If you followed the installation instructions above, you can now just type + +```bash +$ swiftformat . +``` + +(that's a space and then a period after the command) in the terminal to format any Swift files in the current directory. In place of the `.`, you can instead type an absolute or relative path to the file or directory that you want to format. + +**WARNING:** `swiftformat .` will overwrite any Swift files it finds in the current directory, and any subfolders therein. If you run it in your home directory, it will probably reformat every Swift file on your hard drive. + +To use it safely, do the following: + +1. Choose a file or directory that you want to apply the changes to. + +2. Make sure that you have committed all your changes to that code safely in git (or whatever source control system you use). + +3. (Optional) In Terminal, type `swiftformat --inferoptions "/path/to/your/code/"`. This will suggest a set of formatting options to use that match your existing project style (but you are free to ignore these and use the defaults, or your own settings if you prefer). + + The path can point to either a single Swift file or a directory of files. It can be either be absolute, or relative to the current directory. The `""` quotes around the path are optional, but if the path contains spaces then you either need to use quotes, or escape each space with `\`. You may include multiple paths separated by spaces. + +4. In Terminal, type `swiftformat "/path/to/your/code/"`. The same rules apply as above with respect to paths, and multiple space-delimited paths are allowed. + + If you used `--inferoptions` to generate a suggested set of options in step 3, you should copy and paste them into the command, either before or after the path(s) to your source files. + + If you have created a [config file](#config-file), you can specify its path using `--config "/path/to/your/config-file/"`. Alternatively, if you name the file `.swiftformat` and place it inside the project you are formatting, it will be picked up automatically. + +5. Press enter to begin formatting. Once the formatting is complete, use your source control system to check the changes, and verify that no undesirable changes have been introduced. If they have, revert the changes, tweak the options and try again. + +6. (Optional) commit the changes. + +Following these instructions *should* ensure that you avoid catastrophic data loss, but in the unlikely event that it wipes your hard drive, **please note that I accept no responsibility**. + +**Using Standard Input/Output:** + +If you prefer, you can use unix pipes to include SwiftFormat as part of a command chain. For example, this is an alternative way to format a file: + +```bash +$ cat /path/to/file.swift | swiftformat --output /path/to/file.swift +``` + +Omitting the `--output /path/to/file.swift` will print the formatted file to Standard Output (stdout). You can also pass "stdout" explicitly as the output path: + +```bash +$ cat /path/to/file.swift | swiftformat --output stdout +``` + +Or you can use `>` to specify the output path as follows: + +```bash +$ cat /path/to/file.swift | swiftformat > /path/to/file.swift +``` + +If you do not supply an input file, SwiftFormat will automatically take its input from Standard Input (stdin), but will time-out if no input is received immediately and display the help screen. To make it explicit, pass "stdin" as the input path: + +```bash +$ cat /path/to/file.swift | swiftformat stdin +``` + +When using stdin, SwiftFormat does not have access to the file path of the input, so features that rely on the file location (such as inserting the creation date into header comments, or detecting `.swiftformat` configuration files in the file path) will not work. To solve this, you can provide the file path using the `--stdinpath` argument: + +```bash +$ cat /path/to/file.swift | swiftformat stdin --stdinpath /path/to/file.swift +``` + + +Xcode source editor extension +----------------------------- + +**Installation:** + +Like the command-line tool, you can install the SwiftFormat for Xcode extension application via [Homebrew](http://brew.sh/). Assuming you already have Homebrew installed, type: + +```bash +$ brew install --cask swiftformat-for-xcode +``` + +This will install SwiftFormat for Xcode in your Applications folder. Double-click the app to launch it, and then follow the on-screen instructions. + +**NOTE:** The app should be correctly signed, but if you get a Gatekeeper warning when trying to open it you can bypass this by right-clicking (or control-clicking) the app and selecting `Open`. + +To update to the latest version once installed use: + +```bash +$ brew upgrade --cask swiftformat-for-xcode +``` + +Alternatively, if you prefer not to use Homebrew, you'll find the latest version of the SwiftFormat for Xcode application on the [GitHub Releases](https://github.com/nicklockwood/SwiftFormat/releases) page. Download and unpack the zip archive, then drag `SwiftFormat for Xcode.app` into your `Applications` folder. + +**Usage:** + +Once you have launched the app and restarted Xcode, you'll find a SwiftFormat option under Xcode's Editor menu. If the SwiftFormat menu does not appear [this thread](https://github.com/nicklockwood/SwiftFormat/issues/494) may help. + +You can configure the formatting [rules](#rules) and [options](#options) using the SwiftFormat for Xcode host application. There is currently no way to override these per-project, however, you can import and export different configurations using the File menu. You will need to do this again each time you switch projects. + +The format of the configuration file is described in the [Config section](#config-file) below. + +**Note:** SwiftFormat for Xcode cannot automatically detect changes to an imported configuration file. If you update the `.swiftformat` file for your project, you will need to manually re-import that file into SwiftFormat for Xcode in order for the Xcode source editor extension to use the new configuration. + + +Xcode build phase +------------------- + +**NOTE:** Adding this script will overwrite your source files as you work on them, which has the annoying side-effect of clearing the undo history. You may wish to add the script to your test target rather than your main target, so that it is invoked only when you run the unit tests, and not every time you build the app. + +Alternatively, you might want to consider running SwiftFormat in [lint](#linting) mode as part of your normal build, and then running a formatting pass manually, or as part of a less-frequent build target (such as the tests). + +### Using Swift Package Manager + +To set up SwiftFormat as an Xcode build phase, do the following: + +#### 1) Create a BuildTools folder and Package.swift + +1. Create a folder called `BuildTools` in the same folder as your xcodeproj file +2. In this folder, create a file called `Package.swift`, with the following contents: +```swift +// swift-tools-version:5.1 +import PackageDescription + +let package = Package( + name: "BuildTools", + platforms: [.macOS(.v10_11)], + dependencies: [ + .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.49.0"), + ], + targets: [.target(name: "BuildTools", path: "")] +) +``` +3. If you are running Xcode 11.4 or later, in the `BuildTools` folder create a file called `Empty.swift` with nothing in it. This is to satisfy a change in Swift Package Manager. + +#### 2) Add a Build phase to your app target + +1. Click on your project in the file list, choose your target under `TARGETS`, click the `Build Phases` tab +2. Add a `New Run Script Phase` by clicking the little plus icon in the top left +3. Uncheck the `Based on dependency analysis` checkbox +4. Drag the new `Run Script` phase **above** the `Compile Sources` phase, expand it and paste the following script: + + ```bash + cd BuildTools + SDKROOT=(xcrun --sdk macosx --show-sdk-path) + #swift package update #Uncomment this line temporarily to update the version used to the latest matching your BuildTools/Package.swift file + swift run -c release swiftformat "$SRCROOT" + ``` + +You can also use `swift run -c release --package-path BuildTools swiftformat "$SRCROOT"` if you need a more complex script and `cd BuildTools` breaks stuff. + +**NOTE:** You may wish to check BuildTools/Package.swift into your source control so that the version used by your run-script phase is kept in version control. It is recommended to add the following to your .gitignore file: `BuildTools/.build` and `BuildTools/.swiftpm`. + +**NOTE (2):** If you are using Xcode 15 or later, make sure that the `ENABLE_USER_SCRIPT_SANDBOXING` (aka "User Script Sandboxing") option is set to NO, otherwise SwiftFormat won't be able to run correctly. + +### Using CocoaPods + +#### 1) Add the SwiftFormat CLI to your Podfile + +1. Add the `swiftformat` binary to your project directory via [CocoaPods](https://cocoapods.org/), by adding the following line to your Podfile then running `pod install`: + + ```ruby + pod 'SwiftFormat/CLI', '~> 0.49' + ``` + +**NOTE:** This will only install the pre-built command-line app, not the source code for the SwiftFormat framework. + +**NOTE (2):** When installing this way, GateKeeper may block swiftformat from running until you open it manually the first time by right-clicking in the Finder and selecting "Open". + +#### 2) Add a Build phase to your app target + +1. Click on your project in the file list, choose your target under `TARGETS`, click the `Build Phases` tab +2. Add a `New Run Script Phase` by clicking the little plus icon in the top left +3. Uncheck the `Based on dependency analysis` checkbox +4. Drag the new `Run Script` phase **above** the `Compile Sources` phase, expand it and paste the following script: + + ```bash + "${PODS_ROOT}/SwiftFormat/CommandLineTool/swiftformat" "$SRCROOT" + ``` + +### Alternative: Locally installed SwiftFormat + +Alternatively, you could use a locally installed swiftformat command-line tool instead by putting the following in your Run Script build phase: + +```bash +if which swiftformat >/dev/null; then + swiftformat . +else + echo "warning: SwiftFormat not installed, download from https://github.com/nicklockwood/SwiftFormat" +fi +``` + +This is not recommended for shared projects however, as different team members using different versions of SwiftFormat may result in noise in the commit history as code gets reformatted inconsistently. + +If you installed SwiftFormat via Homebrew on Apple Silicon, you might experience this warning: + +> warning: SwiftFormat not installed, download from https://github.com/nicklockwood/SwiftFormat + +That is because Homebrew on Apple Silicon installs the binaries into the `/opt/homebrew/bin` +folder by default. To instruct Xcode where to find SwiftFormat, you can either add +`/opt/homebrew/bin` to the `PATH` environment variable in your build phase + +```bash +if [[ "$(uname -m)" == arm64 ]]; then + export PATH="/opt/homebrew/bin:$PATH" +fi + +if which swiftformat > /dev/null; then + swiftformat . +else + echo "warning: SwiftFormat not installed, download from https://github.com/nicklockwood/SwiftFormat" +fi +``` + +or you can create a symbolic link in `/usr/local/bin` pointing to the actual binary: + +```bash +ln -s /opt/homebrew/bin/swiftformat /usr/local/bin/swiftformat +``` + +Swift Package Manager plugin +----------------------------- + +You can use `SwiftFormat` as a SwiftPM command plugin. + +**NOTE:** Swift 5.6 or higher is required. Add the package to your dependencies in your `Package.swift` file. + +```swift +dependencies: [ + // ... + .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.50.4"), +] +``` + +The plugin will find an existing `.swiftformat` in your package root folder and honor it automatically. + +### Trigger Plugin From Command-Line + +```bash +swift package plugin --allow-writing-to-package-directory swiftformat +``` + +You can limit the formatting to a particular target with `--target` option. + +You can also specify `SwiftFormat` arguments, e.g. `--swiftversion`. + +Example + +```bash +swift package plugin --allow-writing-to-package-directory swiftformat --target MyLibrary --swiftversion 5.6 --verbose +``` + +### Trigger Plugin From Xcode + +In Xcode 14 you can trigger the command plugin execution for a Swift package or an Xcode project. + +For an Xcode project the project's main directory will be processed and the `--target` option will be ignored. + +You can also specify `SwiftFormat` arguments, e.g. `--swiftversion`. + +![Run plugin in Xcode 14](https://user-images.githubusercontent.com/4176826/179352584-db7f7f42-452c-4a42-a329-01b115a237a7.gif) + +Via AppleScript +---------------- + +To run SwiftFormat on the frontmost Xcode document (project or workspace) you can use the following AppleScript: + +```applescript +tell application "Xcode" + set frontWindow to the first window + set myPath to path of document of frontWindow + do shell script "cd " & myPath & ";cd ..; /usr/local/bin/swiftformat ." +end tell +``` + +Some Apps you can trigger this from are [BetterTouchTool](https://folivora.ai), [Alfred](https://www.alfredapp.com) or [Keyboard Maestro](https://www.keyboardmaestro.com/main/). Another option is to define a QuickAction for Xcode via Automator and then assign a keyboard shortcut for it in the System Preferences. + + +VSCode plugin +-------------- + +If you prefer to use Microsoft's [VSCode](https://code.visualstudio.com) editor for writing Swift, [Valentin Knabel](https://github.com/vknabel) has created a [VSCode plugin](https://marketplace.visualstudio.com/items?itemName=vknabel.vscode-swiftformat) for SwiftFormat. + + +Sublime Text plugin +-------------------- + +If you prefer to use the [Sublime Text](https://www.sublimetext.com) editor, try the [Sublime-Swift-Format plugin](https://github.com/aerobounce/Sublime-Swift-Format) by [Aerobounce](https://github.com/aerobounce). + + +Nova plugin +----------- + +If you prefer to use the [Nova](https://panic.com/nova) editor, try the [SwiftFormat extension](https://extensions.panic.com/extensions/org.padraig/org.padraig.SwiftFormat/) by [Pádraig Ó Cinnéide](https://mastodon.social/@PadraigOCinneide). + + +Git pre-commit hook +--------------------- + +1. Follow the instructions for installing the SwiftFormat command-line tool. + +2. Install [git-format-staged](https://github.com/hallettj/git-format-staged). + +3. Edit or create a `.git/hooks/pre-commit` file in your project folder. The .git folder is hidden but should already exist if you are using Git with your project, so open it with the terminal, or the Finder's `Go > Go to Folder...` menu. + +4. Add the following line in the pre-commit file. The `{}` will be replaced automatically by the path to the Swift file being formatted: + + ```bash + #!/bin/bash + git-format-staged --formatter "swiftformat stdin --stdinpath '{}'" "*.swift" + ``` + + (Note that this example uses your locally installed version of SwiftFormat, not a separate copy in your project repository. You can replace `swiftformat` with the path to a copy inside your project if you prefer.) + +5. enable the hook by typing `chmod +x .git/hooks/pre-commit` in the terminal. + +The pre-commit hook will now run whenever you run `git commit`. Running `git commit --no-verify` will skip the pre-commit hook. + +**NOTE:** If you are using Git via a GUI client such as [Tower](https://www.git-tower.com), [additional steps](https://www.git-tower.com/help/mac/faq-and-tips/faq/hook-scripts) may be needed. + +**NOTE (2):** Unlike the Xcode build phase approach, git pre-commit hook won't be checked in to source control, and there's no way to guarantee that all users of the project are using the same version of SwiftFormat. For a collaborative project, you might want to consider a *post*-commit hook instead, which would run on your continuous integration server. + +On CI using Danger +------------------- + +To setup SwiftFormat to be used by your continuous integration system using [Danger](http://danger.systems/ruby/), do the following: + +1. Follow the [`instructions`](http://danger.systems/guides/getting_started.html) to setup Danger. +2. Add the [`danger-swiftformat`](https://github.com/garriguv/danger-ruby-swiftformat) plugin to your `Gemfile`. +3. Add the following to your `Dangerfile`: + + ```ruby + swiftformat.binary_path = "/path/to/swiftformat" # optional + swiftformat.additional_args = "--indent tab --self insert" # optional + swiftformat.check_format(fail_on_error: true) + ``` + + **NOTE:** It is recommended to add the `swiftformat` binary to your project directory to ensure the same version is used each time (see the [Xcode build phase](#xcode-build-phase) instructions above). + + +Bazel Build +----------- + +If you use [Bazel](https://bazel.build/) to build your Swift projects and want to ensure that only properly formatted code is merged to your main branch, try [rules_swiftformat](https://github.com/cgrindel/rules_swiftformat). The repository contains Bazel rules and macros that format Swift source files using SwiftFormat, test that the formatted files exist in the workspace directory, and copy the formatted files to the workspace directory. + + +Docker +----------- + +SwiftFormat publishes releases into [GitHub Packages](https://github.com/features/packages) Docker registry. To pull the image call: + +```bash +$ docker pull ghcr.io/nicklockwood/swiftformat:latest +``` + +By default, the container runs `swiftformat .` Therefore, you need to provide a path either via an argument: + +```bash +docker run --rm -v /local/source/path:/work ghcr.io/nicklockwood/swiftformat:latest /work +``` + +or by changing the working dir: + +```bash +docker run --rm -v /local/source/path:/work -w /work ghcr.io/nicklockwood/swiftformat:latest +``` + +To check the installed SwiftFormat version: + +```bash +docker run --rm ghcr.io/nicklockwood/swiftformat:latest --version +``` + +Linting example: + +```bash +docker run --rm -v /local/source/path:/work ghcr.io/nicklockwood/swiftformat:latest /work --lint +``` + +Configuration +------------- + +SwiftFormat's configuration is split between **rules** and **options**. Rules are functions in the SwiftFormat library that apply changes to the code. Options are settings that control the behavior of the rules. + + +Options +------- + +The options available in SwiftFormat can be displayed using the `--options` command-line argument. The default value for each option is indicated in the help text. + +Rules are configured by adding `--[option_name] [value]` to your command-line arguments, or by creating a `.swiftformat` [config file](#config-file) and placing it in your project directory. + +A given option may affect multiple rules. Use `--ruleinfo [rule_name]` command for details about which options affect a given rule, or see the [Rules.md](https://github.com/nicklockwood/SwiftFormat/blob/main/Rules.md) file. + +You can configure options for specific files or code ranges by using `swiftformat:options` directive in comments inside your Swift file. To temporarily set one or more options inside a source file, use: + +```swift +// swiftformat:options --indent 2 --allman true +``` + +To apply an options override only to a particular line, use the `:next` modifier: + +```swift +// swiftformat:options:next --semicolons inline +doTheThing(); print("Did the thing") +``` + + +Rules +----- + +SwiftFormat includes over 50 rules, and new ones are added all the time. An up-to-date list can be found in [Rules.md](https://github.com/nicklockwood/SwiftFormat/blob/main/Rules.md) along with documentation for how they are used. + +The list of available rules can be displayed within the command-line app using the `--rules` argument. Rules can be either enabled or disabled. Most are enabled by default. Disabled rules are marked with "(disabled)" when displayed using `--rules`. + +You can use the `--ruleinfo [rule_name]` command to get information about a specific rule. Pass a comma-delimited list of rule names to get information for multiple rules at once, or use `--ruleinfo` with no argument for info on all rules. + +You can disable rules individually using `--disable` followed by a list of one or more comma-delimited rule names, or enable opt-in rules using `--enable` followed by the rule names: + +```bash +--disable redundantSelf,trailingClosures +--enable isEmpty +``` + +If you prefer, you can use multiple `--enable`/`--disable` arguments instead of using commas: + +```bash +--disable indent +--disable linebreaks +--disable redundantSelf +``` + +Alternatively, you can use the line continuation character `\` to wrap a single argument over multiple line: + +```bash +--disable \ + indent, \ + linebreaks, \ + redundantSelf +``` + +To avoid automatically opting-in to new rules when SwiftFormat is updated, you can disable all rules using: + +```bash +--disable all +``` + +And then individually enable just the rules you want. Alternatively, use the`--rules` argument to *only* enable the rules you specify: + +```bash +--rules indent,linebreaks +``` + +As above, you may include multiple `--rules` arguments, or use the line continuation character `\` to wrap the rules onto separate lines: + +```bash +--rules redundantSelf +--rules \ + indent, \ + linebreaks +``` + +To see exactly which rules were applied to a given file, you can use the `--verbose` command-line option to force SwiftFormat to print a more detailed log as it applies the formatting. **NOTE:** running in verbose mode is slower than the default mode. + +You can disable rules for specific files or code ranges by using `swiftformat:` directives in comments inside your Swift file. To temporarily disable one or more rules inside a source file, use: + +```swift +// swiftformat:disable [ [rule<3> ...]] +``` + +To enable the rule(s) again, use: + +```swift +// swiftformat:enable [ [rule<3> ...]] +``` + +To disable all rules use: + +```swift +// swiftformat:disable all +``` + +And to enable them all again, use: + +```swift +// swiftformat:enable all +``` + +To temporarily prevent one or more rules being applied to just the next line, use: + +```swift +// swiftformat:disable:next [ [rule<3> ...]] +let foo = bar // rule(s) will be disabled for this line +let bar = baz // rule(s) will be re-enabled for this line +``` + +There is no need to manually re-enable a rule after using the `next` directive. + +**NOTE:** The `swiftformat:enable` directives only serves to counter a previous `swiftformat:disable` directive in the same file. It is not possible to use `swiftformat:enable` to enable a rule that was not already enabled when formatting started. + + +Swift version +------------- + +Most SwiftFormat rules are version-agnostic, but some are applicable only to newer Swift versions. These rules will be disabled automatically if the Swift version is not specified, so to make sure that the full functionality is available you should specify the version of Swift that is used by your project. + +You can specify the Swift version in one of two ways: + +The preferred option is to add a `.swift-version` file to your project directory. This is a text file that should contain the minimum Swift version supported by your project, and is a standard already used by other tools. + +The `.swift-version` file applies hierarchically; If you have submodules in your project that use a different Swift version, you can add separate `.swift-version` files to those directories. + +The other option to specify the Swift version using the `--swiftversion` command line argument. Note that this will be overridden by any `.swift-version` files encountered while processing. + + +Config file +----------- + +Although it is possible to configure SwiftFormat directly by using the command-line [options](#options) and [rules](#rules) detailed above, it is sometimes more convenient to create a configuration file, which can be added to your project and shared with other developers. + +A SwiftFormat configuration file consists of one or more command-line options, split onto separate lines, e.g: + +``` +--allman true +--indent tab +--disable elseOnSameLine,semicolons +``` + +While formatting, SwiftFormat will automatically check inside each subdirectory for the presence of a `.swiftformat` file and will apply any options that it finds there to the files in that directory. + +This allows you to override certain rules or formatting options just for a particular directory of files. You can also specify excluded files relative to that directory using `--exclude`, which may be more convenient than specifying them at the top-level: + +``` +--exclude Pods,Generated +``` + +The `--exclude` option takes a comma-delimited list of file or directory paths to exclude from formatting. Excluded paths are relative to the config file containing the `--exclude` command. The excluded paths can include wildcards, specified using Unix "Glob" syntax, as [documented below](#globs). + +Config files named ".swiftformat" will be processed automatically, however, you can select an additional configuration file to use for formatting using the `--config "path/to/config/file"` command-line argument. A configuration file selected using `--config` does not need to be named ".swiftformat", and can be located outside of the project directory. + +The config file format is designed to be edited by hand. You may include blank lines for readability, and can also add comments using a hash prefix (#), e.g. + +``` +# format options +--allman true +--indent tab # tabs FTW! + +# file options +--exclude Pods + +# rules +--disable elseOnSameLine,semicolons +``` + +If you would prefer not to edit the configuration file by hand, you can use the [SwiftFormat for Xcode](#xcode-source-editor-extension) app to edit the configuration and export a configuration file. You can also use the swiftformat command-line-tool's `--inferoptions` command to generate a config file from your existing project, like this: + +```bash +$ cd /path/to/project +$ swiftformat --inferoptions . --output .swiftformat +``` + +Globs +----- + +When excluding files from formatting using the `--exclude` option, you may wish to make use of wildcard paths (aka "Globs") to match all files that match a particular naming convention without having to manually list them all. + +SwiftFormat's glob syntax is based on Ruby's implementation, which varies slightly from the Unix standard. The following patterns are supported: + +* `*` - A single star matches zero or more characters in a filename, but *not* a `/`. + +* `**` - A double star will match anything, including one or more `/`. + +* `?` - A question mark will match any single character except `/`. + +* `[abc]` - Matches any single character inside the brackets. + +* `[a-z]` - Matches a single character in the specified range in the brackets. + +* `{foo,bar}` - Matches any one of the comma-delimited strings inside the braces. + +Examples: + +* `foo.swift` - Matches the file "foo.swift" in the same directory as the config file. + +* `*.swift` - Matches any Swift file in the same directory as the config file. + +* `foo/bar.swift` - Matches the file "bar.swift" in the directory "foo". + +* `**/foo.swift` - Matches any file named "foo.swift" in the project. + +* `**/*.swift` - Matches any Swift file in the project. + +* `**/Generated` - Matches any folder called `Generated` in the project. + +* `**/*_generated.swift` - Matches any Swift file with the suffix "_generated" in the project. + + +Linting +------- + +SwiftFormat is primarily designed as a formatter rather than a linter, i.e. it is designed to fix your code rather than tell you what's wrong with it. However, sometimes it can be useful to verify that code has been formatted in a context where it is not desirable to actually change it. + +A typical example would be as part of a CI (Continuous Integration) process, where you may wish to have an automated script that checks committed code for style violations. While you can use a separate tool such as [SwiftLint](https://github.com/realm/SwiftLint) for this, it makes sense to be able to validate the formatting against the exact same rules as you are using to apply it. + +In order to run SwiftFormat as a linter, you can use the `--lint` command-line option: + +```bash +$ swiftformat --lint path/to/project +``` + +This runs the same rules as format mode, and all the same configuration options apply, however, no files will be modified. Instead, SwiftFormat will format each file in memory and then compare the result against the input and report the lines that required changes. + +The `--lint` option is similar to `--dryrun`, but `--lint` returns warnings for every line that required changes, and will return a nonzero error code (see [Error codes](#error-codes) below) if any changes are detected, which is useful if you want it to fail a build step on your CI server. + +If you would prefer `--lint` not to fail your build, you can use the `--lenient` option to force SwiftFormat to return success in `--lint` mode even when formatting issues were detected. + +```bash +$ swiftformat --lint --lenient path/to/project +``` + +By default, `--lint` will only report lines that require formatting, but you can use the additional `--verbose` flag to display additional info about which files were checked, even if there were no changes needed. + +If you would prefer not to see a warning for each and every formatting change, you can use the `--quiet` flag to suppress all output except errors. + +Sometimes you may wish to autoformat some rules, but only lint others. To do that, use the `--lintonly` option in your config file to specify rules that should only be applied in `--lint` mode: + +``` +--rules braces,indent +--lintonly trailingClosures,unusedArguments +``` + + +Error codes +----------- + +The swiftformat command-line tool will always exit with one of the following codes: + +* 0 - Success. This code will be returned in the event of a successful formatting run or if `--lint` detects no violations. +* 1 - Lint failure. This code will be returned only when running in `--lint` mode if the input requires formatting. +* 70 - Program error. This code will be returned if there is a problem with the input or configuration arguments. + + +Cache +------ + +SwiftFormat uses a cache file to avoid reformatting files that haven't changed. For a large project, this can significantly reduce processing time. + +By default, the cache is stored in `~/Library/Caches/com.charcoaldesign.swiftformat` on macOS, or `/var/tmp/com.charcoaldesign.swiftformat` on Linux. Use the command-line option `--cache ignore` to ignore the cached version and re-apply formatting to all files. Alternatively, you can use `--cache clear` to delete the cache (or you can just manually delete the cache file). + +The cache is shared between all projects. The file is fairly small, as it only stores the path and size for each file, not the contents. If you do start experiencing slowdown due to the cache growing too large, you might want to consider using a separate cache file for each project. + +You can specify a custom cache file location by passing a path as the `--cache` option value. For example, you might want to store the cache file inside your project directory. It is fine to check in the cache file if you want to share it between different users of your project, as the paths stored in the cache are relative to the location of the formatted files. + + +File headers +------------- + +SwiftFormat can be configured to strip or replace the header comments in every file with a template. The "header comment" is defined as a comment block that begins on the first nonblank line in the file, and is followed by at least one blank line. This may consist of a single comment body, or multiple comments on consecutive lines: + +```swift +// This is a header comment +``` + +```swift +// This is a regular comment +func foo(bar: Int) -> Void { ... } +``` + +The header template is a string that you provide using the `--header` command-line option. Passing a value of `ignore` (the default) will leave the header comments unmodified. Passing `strip` or an empty string `""` will remove them. If you wish to provide a custom header template, the format is as follows: + +For a single-line template: `--header "Copyright (c) 2017 Foobar Industries"` + +For a multiline comment, mark linebreaks with `\n`: `--header "First line\nSecond line"` + +You can optionally include Swift comment markup in the template if you wish: `--header "/*--- Header comment ---*/"` + +If you do not include comment markup, each line in the template will be prepended with `//` and a single space. + +It is common practice to include the file name, creation date and/or the current year in a comment header copyright notice. To do that, you can use the following placeholders: + +* `{file}` - the name of the file +* `{year}` - the current year +* `{created}` - the date on which the file was created +* `{created.year}` - the year in which the file was created + +For example, a header template of: + +```bash +--header "{file}\nCopyright (c) {year} Foobar Industries\nCreated by John Smith on {created}." +``` + +Will be formatted as: + +```swift +// SomeFile.swift +// Copyright (c) 2019 Foobar Industries +// Created by John Smith on 01/02/2016. +``` + +**NOTE:** the `{year}` value and `{created}` date format are determined from the current locale and timezone of the machine running the script. + + +FAQ +----- + +*Q. How is this different from SwiftLint?* + +> A. SwiftLint is primarily designed to find and report code smells and style violations in your code. SwiftFormat is designed to fix them. While SwiftLint can autocorrect some issues, and SwiftFormat has some support for [linting](#linting), their primary functions are different. + + +*Q. Can SwiftFormat and SwiftLint be used together?* + +> A. Absolutely! The style rules encouraged by both tools are quite similar, and SwiftFormat even fixes some style violations that SwiftLint warns about but can't currently autocorrect. + + +*Q. What platforms does SwiftFormat support?* + +> A. SwiftFormat works on macOS 10.13 (High Sierra) and above, and also runs on Ubuntu Linux and Windows. + + +*Q. What versions of Swift are supported?* + +> A. The SwiftFormat framework and command-line tool can be compiled using Swift 4.2 and above, and can format programs written in Swift 4.x or 5. Swift 3.x is no longer actively supported. If you are still using Swift 3.x or earlier and find that SwiftFormat breaks your code, the best solution is probably to revert to an earlier SwiftFormat release, or enable only a small subset of rules. Use the `--swiftversion` argument to enable additional rules specific to later Swift versions. + + +*Q. SwiftFormat made changes I didn't want it to. How can I find out which rules to disable?* + +> A. If you run SwiftFormat using the `--verbose` option, it will tell you which rules were applied to each file. You can then selectively disable certain rules using the `--disable` argument (see below). + + +*Q. People on my team have different SwiftFormat versions installed. How can we ensure consistent formatting? + +> A. You can specify a `--minversion` argument in your project's .swiftformat` file to fail the build if developers attempt to use an older SwiftFormat version. + + +*Q. How can I modify the formatting rules?* + +> A. Many configuration options are exposed in the command-line interface or `.swiftformat` configuration file. You can either set these manually, or use the `--inferoptions` argument to automatically generate the configuration from your existing project. + +> If there is a rule that you don't like, and which cannot be configured to your liking via the command-line options, you can disable one or more rules by using the `--disable` argument, followed by the name of the rules, separated by commas. You can display a list of all supported rules using the `--rules` argument, and their behaviors are documented above this section in the README. + +> If you are using the Xcode source editor extension, rules and options can be configured using the [SwiftFormat for Xcode](#xcode-source-editor-extension) host application. Unfortunately, due to limitation of the Extensions API, there is no way to configure these on a per-project basis. + +> If the options you want aren't exposed, and disabling the rule doesn't solve the problem, the rules are implemented in the file `Rules.swift`, so you can modify them and build a new version of the command-line tool. If you think your changes might be generally useful, make a pull request. + + +Q. I don't want to be surprised by new rules added when I upgrade SwiftFormat. How can I prevent this? + +> A. You can use the `--rules` argument to specify an exclusive list of rules to run. If new rules are added, they won't be enabled if you have specified a `--rules` list in your SwiftFormat configuration. + + +*Q. Why can't I set the indent width or choose between tabs/spaces in the [SwiftFormat for Xcode](#xcode-source-editor-extension) options?* + +> Indent width and tabs/spaces can be configured in Xcode on a per project-basis. You'll find the option under "Text Settings" in the Files inspector of the right-hand sidebar. + + +*Q. After applying SwiftFormat, my code won't compile. Is that a bug?* + +> A. SwiftFormat should ideally never break your code. Check the [known issues](#known-issues), and if it's not already listed there, or the suggested workaround doesn't solve your problem, please [open an issue on GitHub](https://github.com/nicklockwood/SwiftFormat/issues). + + +*Q. Can I use SwiftFormat to lint my code without changing it?* + +> A. Yes, see the [linting](#linting) section above for details. + + +*Q. Can I use the `SwiftFormat.framework` inside another app?* + +> A. Yes, the SwiftFormat framework can be included in an app or test target, and used for many kinds of parsing and processing of Swift source code besides formatting. The SwiftFormat framework is available as a [CocoaPod](https://cocoapods.org/pods/SwiftFormat) for easy integration. + + +Known issues +--------------- + +* When using the Xcode Source Editor Extension, the SwiftFormat menu sometimes disappears from Xcode. If this happens, try moving or renaming Xcode temporarily and then changing it back. Failing that, the suggestions in [this thread](https://github.com/nicklockwood/SwiftFormat/issues/494) may help. + +* The `enumNamespaces` rule replaces classes that have only static members with an `enum`. If the class is subclassed, or if there is code that depends on the class exposing certain runtime behaviors, this may break the program. To solve this you can either fix it on a per-case basis by adding a `// swiftformat:disable:next enumNamespaces` comment directive above the class declaration, or you can add `--enumnamespaces structs-only` to prevent the rule being applied to classes, or you can just disable the `enumNamespaces` rule completely. + +* The `redundantVoidReturnType` rule can inadvertently alter the type signature for closures, for example in cases where the closure calls a `@discardableResult` function. To solve this you can either fix it on a per-case basis by adding a `// swiftformat:disable:next redundantVoidReturnType` comment directive to disable the rule for a specific call site, or you can add `--closurevoid preserve` to your [configuration](#configuration) to disable the rule completely for closures (regular functions or methods aren't affected). + +* The `redundantType` rule can introduce ambiguous code in certain cases when using the default mode of `--redundanttype inferred`. This can be worked around by by using `--redundanttype explicit`, or by manually removing the redundant type reference on the affected line, or by using the `// swiftformat:disable:next redundantType` comment directive to disable the rule at the call site (or just disable the `redundantType` rule completely). + +* If a type initializer or factory method returns an implicitly unwrapped optional value then the `redundantType` rule may remove the explicit type in a situation where it's actually required. To work around this you can either use `--redundanttype explicit`, or use the `// swiftformat:disable:next redundantType` comment directive to disable the rule at the call site (or just disable the `redundantType` rule completely). + +* When using the `initCoderUnavailable` rule, if an `init` that is marked as unavailable is overridden elsewhere in the program then it will cause a compilation error. The recommended workaround is to remove the override (which shouldn't affect the program behavior if the init was really unused) or use the `// swiftformat:disable:next initCoderUnavailable` comment directive to disable the rule for the overridden init (or just disable the `initCoderUnavailable` rule completely). + +* When using the `extensionAccessControl` rule with the `--extensionacl on-extension` option, if you have public methods defined on an internal type defined in another file, the resultant public extension will no longer compile. The recommended solution is to manually remove the `public` modifier (this won't change the program behavior) or disable the `extensionAccessControl` rule. + +* When using the `preferKeyPath` rule, conversion of `compactMap { $0.foo }` to `compactMap(\.foo)` or `flatMap { $0.foo }` to `flatMap(\.foo)` will result in code that fails to compile if `foo` is not an `Optional` property. This is due to a difference in the way that Swift handles type inference for closures vs keyPaths, as discussed [here](https://bugs.swift.org/browse/SR-13347). The recommended workaround is to replace `compactMap()` or `flatMap()` with `map()` in these cases, which will not change the behavior of the code. + +* When using the `--self remove` option, the `redundantSelf` rule will remove references to `self` in autoclosure arguments, which may change the meaning of the code, or cause it not to compile. To work around this issue, use the `--selfrequired` option to provide a comma-delimited list of methods to be excluded from the rule. The `expect()` function from the popular [Nimble](https://github.com/Quick/Nimble) unit testing framework is already excluded by default. If you are using the `--self insert` option then this is not an issue. + +* If you assign `SomeClass.self` to a variable and then instantiate an instance of the class using that variable, Swift requires that you use an explicit `.init()`, however, the `redundantInit` rule is not currently capable of detecting this situation in all cases, and may remove the `.init`. To work around this issue, use the `// swiftformat:disable:next redundantInit` comment directive to disable the rule for any affected lines of code (or just disable the `redundantInit` rule completely). + +* The `--self insert` option can only recognize locally declared member variables, not ones inherited from superclasses or extensions in other files, so it cannot insert missing `self` references for those. Note that the reverse is not true: `--self remove` should remove *all* redundant `self` references. + +* The `trailingClosures` rule can generate ambiguous code if a function has multiple optional closure arguments, or if multiple functions have signatures differing only by the name of the closure argument. For this reason, the rule is limited to anonymous closure arguments by default. You can use the `--trailingclosures` and `--nevertrailing` arguments to explicitly opt in or out of trailing closure support for specific functions. + +* The `isEmpty` rule will convert `count == 0` to `isEmpty` even for types that do not have an `isEmpty` method, such as `NSArray`/`NSDictionary`/etc. Use of Foundation collections in Swift code is pretty rare, but just in case, the rule is disabled by default. + +* If a file begins with a comment, the `stripHeaders` rule will remove it if it is followed by a blank line. To avoid this, make sure that the first comment is directly followed by a line of code. + +* When running a version of SwiftFormat built using Xcode 10.2 on macOS 10.14.3 or earlier, you may experience a crash with the error "dyld: Library not loaded: @rpath/libswiftCore.dylib". To fix this, you need to install the [Swift 5 Runtime Support for Command Line Tools](https://support.apple.com/kb/DL1998). These tools are included by default in macOS 10.14.4 and later. + +* If you have a generic typealias that defines a closure (e.g. `typealias ResultCompletion = (Result) -> Void`) and use this closure as an argument in a generic function (e.g. `func handle(_ completion: ResultCompletion)`), the `opaqueGenericParameters` rule may update the function definition to use `some` syntax (e.g. `func handle(_ completion: ResultCompletion)`). `some` syntax is not permitted in closure parameters, so this will no longer compile. Workarounds include spelling out the closure explicitly in the generic function (instead of using a `typealias`) or disabling the `opaqueGenericParameters` rule (e.g. with `// swiftformat:next:disable opaqueGenericParameters`). + +* If compiling for macOS with Xcode 14.0 and configuring SwiftFormat with `--swift-version 5.7`, the `genericExtensions` rule may cause a build failure by updating extensions of the format `extension Collection where Element == Foo` to `extension Collection`. This fails to compile for macOS in Xcode 14.0, because the macOS SDK in that version of Xcode [does not include](https://forums.swift.org/t/xcode-14-rc-cannot-specialize-protocol-type/60171) the Swift 5.7 standard library. Workarounds include using `--swift-version 5.6` instead, updating to Xcode 14.1+, or disabling the `genericExtensions` rule (e.g. with `// swiftformat:next:disable genericExtensions`). + + +Tip Jar +----------- + +SwiftFormat is not a commercially-funded product, it's a labor of love given freely to the community. If you find it useful, please consider making a donation. + +[![Donate via PayPal](https://www.paypalobjects.com/en_GB/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9ZGWNK5FEZFF6&source=url) + + +Credits +------------ + +* [Tony Arnold](https://github.com/tonyarnold) - SwiftFormat for Xcode +* [Vincent Bernier](https://github.com/vinceburn) - SwiftFormat for Xcode settings UI +* [Vikram Kriplaney](https://github.com/markiv) - SwiftFormat for Xcode icon and search feature +* [Hyperphonic](https://github.com/hyperphonic0) - Xcode 12 compatibility for SwiftFormat +* [Maxime Marinel](https://github.com/bourvill) - Git pre-commit hook script +* [Romain Pouclet](https://github.com/palleas) - Homebrew formula +* [Aerobounce](https://github.com/aerobounce) - Homebrew cask and Sublime Text plugin +* [Cal Stephens](https://github.com/calda) - Several new formatting rules and options +* [Facundo Menzella](https://github.com/facumenzella) - Several new formatting rules and options +* [Ali Akhtarzada](https://github.com/aliak00) - Several path-related CLI enhancements +* [Yonas Kolb](https://github.com/yonaskolb) - Swift Package Manager integration +* [Wolfgang Lutz](https://github.com/Lutzifer) - AppleScript integration instructions +* [Balázs Kilvády](https://github.com/balitm) - Xcode lint warning integration +* [Anthony Miller](https://github.com/AnthonyMDev) - Improvements to wrap/indent logic +* [Shingo Takagi](https://github.com/zizi4n5) - Several brace-related bug fixes +* [Benedek Kozma](https://github.com/cyberbeni) - Lint-only rules option +* [Juri Pakaste](https://github.com/juri) - Filelist feature +* [Jim Puls](https://github.com/puls) - Big Sur icon update +* [Daniele Formichelli](https://github.com/danyf90) - JSON reporter +* [Jonas Boberg](https://github.com/bobergj) - Github actions log reporter +* [Mahdi Bchatnia](https://github.com/inket) - Linux build workflow +* [Saleem Abdulrasool](https://github.com/compnerd) - Windows build workflow +* [Arthur Semenyutin](https://github.com/vox-humana) - Docker image +* [Marco Eidinger](https://github.com/MarcoEidinger) - Swift Package Manager plugin +* [Nick Lockwood](https://github.com/nicklockwood) - Everything else + +([Full list of contributors](https://github.com/nicklockwood/SwiftFormat/graphs/contributors)) diff --git a/Pods/Target Support Files/Pods-Easydict/Pods-Easydict-acknowledgements.markdown b/Pods/Target Support Files/Pods-Easydict/Pods-Easydict-acknowledgements.markdown index eb33523e9..29ca3f893 100644 --- a/Pods/Target Support Files/Pods-Easydict/Pods-Easydict-acknowledgements.markdown +++ b/Pods/Target Support Files/Pods-Easydict/Pods-Easydict-acknowledgements.markdown @@ -1460,6 +1460,31 @@ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +## SwiftFormat + +MIT License + +Copyright (c) 2016 Nick Lockwood + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + ## nanopb Copyright (c) 2011 Petteri Aimonen diff --git a/Pods/Target Support Files/Pods-Easydict/Pods-Easydict-acknowledgements.plist b/Pods/Target Support Files/Pods-Easydict/Pods-Easydict-acknowledgements.plist index ee704038d..ac197ecfc 100644 --- a/Pods/Target Support Files/Pods-Easydict/Pods-Easydict-acknowledgements.plist +++ b/Pods/Target Support Files/Pods-Easydict/Pods-Easydict-acknowledgements.plist @@ -1585,6 +1585,37 @@ POSSIBILITY OF SUCH DAMAGE. Type PSGroupSpecifier + + FooterText + MIT License + +Copyright (c) 2016 Nick Lockwood + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + License + MIT + Title + SwiftFormat + Type + PSGroupSpecifier + FooterText Copyright (c) 2011 Petteri Aimonen <jpa at nanopb.mail.kapsi.fi> diff --git a/Pods/Target Support Files/Pods-EasydictTests/Pods-EasydictTests.debug.xcconfig b/Pods/Target Support Files/Pods-EasydictTests/Pods-EasydictTests.debug.xcconfig index 2d62c6f8e..9f7bc14fa 100644 --- a/Pods/Target Support Files/Pods-EasydictTests/Pods-EasydictTests.debug.xcconfig +++ b/Pods/Target Support Files/Pods-EasydictTests/Pods-EasydictTests.debug.xcconfig @@ -1,5 +1,5 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/JLRoutes" "${PODS_CONFIGURATION_BUILD_DIR}/KVOController" "${PODS_CONFIGURATION_BUILD_DIR}/MASPreferences" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/ReactiveObjC" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JLRoutes/JLRoutes.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/KVOController/KVOController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MASPreferences/MASPreferences.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut/MASShortcut.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension/MJExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReactiveObjC/ReactiveObjC.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" diff --git a/Pods/Target Support Files/Pods-EasydictTests/Pods-EasydictTests.release.xcconfig b/Pods/Target Support Files/Pods-EasydictTests/Pods-EasydictTests.release.xcconfig index 2d62c6f8e..9f7bc14fa 100644 --- a/Pods/Target Support Files/Pods-EasydictTests/Pods-EasydictTests.release.xcconfig +++ b/Pods/Target Support Files/Pods-EasydictTests/Pods-EasydictTests.release.xcconfig @@ -1,5 +1,5 @@ +ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack" "${PODS_CONFIGURATION_BUILD_DIR}/JLRoutes" "${PODS_CONFIGURATION_BUILD_DIR}/KVOController" "${PODS_CONFIGURATION_BUILD_DIR}/MASPreferences" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/ReactiveObjC" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CocoaLumberjack/CocoaLumberjack.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JLRoutes/JLRoutes.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/KVOController/KVOController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MASPreferences/MASPreferences.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MASShortcut/MASShortcut.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension/MJExtension.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReactiveObjC/ReactiveObjC.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SSZipArchive/SSZipArchive.framework/Headers" diff --git a/Pods/Target Support Files/SwiftFormat/SwiftFormat.debug.xcconfig b/Pods/Target Support Files/SwiftFormat/SwiftFormat.debug.xcconfig new file mode 100644 index 000000000..93f4f23cd --- /dev/null +++ b/Pods/Target Support Files/SwiftFormat/SwiftFormat.debug.xcconfig @@ -0,0 +1,15 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CODE_SIGN_IDENTITY = +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftFormat +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftFormat +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Pods/Target Support Files/SwiftFormat/SwiftFormat.release.xcconfig b/Pods/Target Support Files/SwiftFormat/SwiftFormat.release.xcconfig new file mode 100644 index 000000000..93f4f23cd --- /dev/null +++ b/Pods/Target Support Files/SwiftFormat/SwiftFormat.release.xcconfig @@ -0,0 +1,15 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CODE_SIGN_IDENTITY = +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftFormat +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +LIBRARY_SEARCH_PATHS = $(inherited) "${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftFormat +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/README.md b/README.md index f5b2adb3e..e6fc9f82d 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ ## Easydict -`Easydict` 是一个简洁易用的词典翻译 macOS App,能够轻松优雅地查找单词或翻译文本。Easydict 开箱即用,能自动识别输入文本语言,支持输入翻译,划词翻译和 OCR 截图翻译,可同时查询多个翻译服务结果,目前支持 [有道词典](https://www.youdao.com/),[**🍎 苹果系统词典**](./docs/How-to-use-macOS-system-dictionary-in-Easydict-zh.md),[🍎 **苹果系统翻译**](./docs/How-to-use-macOS-system-translation-in-Easydict-zh.md),[OpenAI (ChatGPT)](https://chat.openai.com/),[DeepL](https://www.deepl.com/translator),[Google](https://translate.google.com),[Bing](https://www.bing.com/translator),[百度](https://fanyi.baidu.com/),[小牛翻译](https://niutrans.com/),[彩云小译](https://fanyi.caiyunapp.com/) 和 [火山翻译](https://translate.volcengine.com/translate)。 +`Easydict` 是一个简洁易用的词典翻译 macOS App,能够轻松优雅地查找单词或翻译文本。Easydict 开箱即用,能自动识别输入文本语言,支持输入翻译,划词翻译和 OCR 截图翻译,可同时查询多个翻译服务结果,目前支持 [有道词典](https://www.youdao.com/),[**🍎 苹果系统词典**](./docs/How-to-use-macOS-system-dictionary-in-Easydict-zh.md),[🍎 **苹果系统翻译**](./docs/How-to-use-macOS-system-translation-in-Easydict-zh.md),[OpenAI (ChatGPT)](https://chat.openai.com/),[DeepL](https://www.deepl.com/translator),[Google](https://translate.google.com),[腾讯](https://fanyi.qq.com/),[Bing](https://www.bing.com/translator),[百度](https://fanyi.baidu.com/),[小牛翻译](https://niutrans.com/),[彩云小译](https://fanyi.caiyunapp.com/) 和 [火山翻译](https://translate.volcengine.com/translate)。 ![Log](https://raw.githubusercontent.com/tisfeng/ImageBed/main/uPic/Log-1688378715.png) @@ -42,7 +42,7 @@ - [x] 支持系统 TTS,支持 Bing,Google,有道和百度在线 TTS 服务。 - [x] 支持 [🍎 苹果系统词典](./docs/How-to-use-macOS-system-dictionary-in-Easydict-zh.md),支持第三方词典,可手动导入 mdict 词典。 - [x] 支持 macOS 系统翻译。详情请看 [如何在 Easydict 中使用 🍎 macOS 系统翻译?](./docs/How-to-use-macOS-system-translation-in-Easydict-zh.md) -- [x] 支持有道词典,OpenAI (ChatGPT),DeepL,Google,Bing,百度,小牛,彩云和火山翻译。 +- [x] 支持有道词典,OpenAI (ChatGPT),DeepL,Google,Bing,腾讯,百度,小牛,彩云和火山翻译。 - [x] 支持 48 种语言。 **如果觉得这个应用还不错,给个 [Star](https://github.com/tisfeng/Easydict) ⭐️ 支持一下吧 (^-^)** @@ -74,7 +74,9 @@ - [自定义设置](#自定义设置) - [DeepL 翻译](#deepl-翻译) - [配置 AuthKey](#配置-authkey) + - [自定义 DeepL 接口地址](#自定义-deepl-接口地址) - [配置 API 调用方式](#配置-api-调用方式) + - [腾讯翻译](#腾讯翻译) - [Bing 翻译](#bing-翻译) - [小牛翻译](#小牛翻译) - [彩云小译](#彩云小译) @@ -341,15 +343,17 @@ Easydict 自动支持词典 App 中系统自带的词典,如牛津英汉汉英 #### 配置 APIKey -``` +```bash easydict://writeKeyValue?EZOpenAIAPIKey=sk-xxx ``` +
查看 APIKey (其他 key 类似),如果查询成功,会将结果写到剪贴板。 -``` + +```bash easydict://readValueOfKey?EZOpenAIAPIKey ``` @@ -365,11 +369,11 @@ easydict://readValueOfKey?EZOpenAIAPIKey 考虑到 OpenAI 的 token 费用因素,因此提供默认关闭选项,写入下面命令后,OpenAI 将默认关闭查询,仅在用户手动点击展开按钮时才查询 -``` +```bash easydict://writeKeyValue?EZOpenAIServiceUsageStatusKey=1 ``` -``` +```bash // 关闭查单词 easydict://writeKeyValue?EZOpenAIDictionaryKey=0 @@ -385,7 +389,7 @@ easydict://writeKeyValue?EZOpenAISentenceKey=0 支持设置自定义域名和模型 -``` +```bash // xxx 是 host,默认是 api.openai.com easydict://writeKeyValue?EZOpenAIDomainKey=xxx @@ -411,30 +415,61 @@ DeepL 免费版网页 API 对用户单个 IP 有频率限制,频繁使用会 在输入框输入下面代码,xxx 是你的 DeepL AuthKey,然后 Enter -``` +```bash easydict://writeKeyValue?EZDeepLAuthKey=xxx ``` +#### 自定义 DeepL 接口地址 + +如果没有自己的 AuthKey,又需要大量使用 DeepL 翻译,那么可以考虑自己部署支持 DeepL 的接口服务,或者使用支持 DeepL 的第三方服务。 + +这种情况需要设置自定义 DeepL 接口地址,其中 EZDeepLTranslateEndPointKey 的值应该是完整的请求 URL,例如 DeepL 官方接口是 https://api-free.deepl.com/v2/translate ,如果自定义接口需要 AuthKey,配置方式和前面一样,接口参数和 DeepL 官方保持一致。 + +使用自定义 DeepL 接口地址的方式,在 Easydict 程序中等同于 DeepL 官方 AuthKey API 形式。 + +```bash +easydict://writeKeyValue?EZDeepLTranslateEndPointKey=xxx +``` +借助下面开源项目,可以在自己的服务器或者 Cloudflare 上部署支持 DeepL 翻译的接口服务: + +- [deeplx-for-cloudflare](https://github.com/ifyour/deeplx-for-cloudflare) +- [DeepLX](https://github.com/OwO-Network/DeepLX) + + #### 配置 API 调用方式 1. 默认优先使用网页版 API,在网页版 API 失败时会使用个人的 AuthKey(如果有) -``` +```bash easydict://writeKeyValue?EZDeepLTranslationAPIKey=0 ``` 2. 优先使用个人的 AuthKey,失败时使用网页版 API。若高频率使用 DeepL,建议使用这种方式,能减少一次失败的请求,提高响应速度。 -``` +```bash easydict://writeKeyValue?EZDeepLTranslationAPIKey=1 ``` 3. 只使用个人的 AuthKey -``` +```bash easydict://writeKeyValue?EZDeepLTranslationAPIKey=2 ``` +### 腾讯翻译 + +[腾讯翻译](https://fanyi.qq.com/) 需要 API key,为使用方便,我们内置了一个 key,这个 key 有额度限制,不保证一直能用。 + +建议使用自己的 API key,每个注册用户腾讯翻译每月赠送 500 万字符流量,足以日常使用了。 + +```bash +// xxx 腾讯翻译的 SecretId +easydict://writeKeyValue?EZTencentSecretId=xxx + +// xxx 腾讯翻译的 SecretKey +easydict://writeKeyValue?EZTencentSecretKey=xxx +``` + ### Bing 翻译 目前 Bing 翻译使用的是网页接口,当触发频率限制 429 报错时,除了切换代理,还可以通过手动设置请求 cookie 来续命,具体续命多久暂时不清楚。 @@ -447,7 +482,7 @@ cookieStore.get("MUID").then(result => console.log(encodeURIComponent("MUID=" + 最后将 cookie 使用命令写入 Easydict -``` +```bash // xxx 是前面获取的 cookie easydict://writeKeyValue?EZBingCookieKey=xxx ``` @@ -456,11 +491,11 @@ easydict://writeKeyValue?EZBingCookieKey=xxx ### 小牛翻译 -[小牛翻译](https://niutrans.com/) 需要 APIKey,为使用方便,我们内置了一个 key,这个 key 有额度限制,不保证一直能用。 +[小牛翻译](https://niutrans.com/) 需要 API key,为使用方便,我们内置了一个 key,这个 key 有额度限制,不保证一直能用。 -建议使用自己的 APIKey,每个注册用户小牛翻译每日赠送 20 万字符流量,足以日常使用了。 +建议使用自己的 API key,每个注册用户小牛翻译每日赠送 20 万字符流量。 -``` +```bash // xxx 小牛翻译的 APIKey easydict://writeKeyValue?EZNiuTransAPIKey=xxx ``` @@ -469,9 +504,9 @@ easydict://writeKeyValue?EZNiuTransAPIKey=xxx [彩云小译](https://fanyi.caiyunapp.com/) 需要 Token,为使用方便,我们内置了一个 token,这个 token 有一定限制,不保证一直能用。 -建议使用自己的 Token,新用户注册会获得 100 万字的免费翻译额度,足以日常使用了。 +建议使用自己的 Token,新用户注册会获得 100 万字的免费翻译额度。 -``` +```bash // xxx 彩云小译的 Token easydict://writeKeyValue?EZCaiyunToken=xxx ``` @@ -497,19 +532,19 @@ Easydict 可以根据查询文本的内容,自动启用相应的查询服务 默认情况下,所有的翻译服务都支持单词查询(单词也属于文本的一种),用户可以手动调整,如设置 Google 智能模式只翻译文本,只需要使用下面命令修改为 `translation | sentence` 即可。 -``` +```bash easydict://writeKeyValue?Google-IntelligentQueryTextType=5 ``` 同样,对于一些同时支持查询单词和翻译文本的服务,如有道词典,也可以设置它智能模式只查询单词,设置类型为 `dictionary` -``` +```bash easydict://writeKeyValue?Youdao-IntelligentQueryTextType=2 ``` 默认情况下,只有【迷你窗口】启用了智能查询模式,用户也可以手动对【侧悬浮窗口】启用智能查询模式: -``` +```bash easydict://writeKeyValue?IntelligentQueryMode-window2=1 ``` window1 代表迷你窗口,window2 代表侧悬浮窗口,赋值 0 表示关闭,1 表示开启。 @@ -543,45 +578,22 @@ Easydict 支持 URL scheme 快速查询:`easydict://query?text=xxx`,如 `eas ## 配合 PopClip 使用 -你需要先安装 [PopClip](https://pilotmoon.com/popclip/),然后选中以下代码块,`PopClip` 会显示 "安装扩展 Easydict",点击它即可。(感谢 **[liziqiang](https://github.com/liziqiang)**) - -```shell -#! /bin/zsh -# #popclip -# name: Easydict -# icon: iconify:ri:translate -checkAppRunning() { - result=$(ps aux | grep Easydict.app | wc -l) - echo $result -} -# Open Easydict.app, it takes about 1s -openApp() { - open /Applications/Easydict.app -} -# Loop wait until Easydict.app is opened -waitAppOpen() { - while true; do - result=$(checkAppRunning) - if [[ $result -ge 2 ]]; then - break - fi - sleep 0.2 # wait 0.2s at a time - done -} -# Check if Easydict.app is running -appResult=$(checkAppRunning) -if [[ $appResult -lt 2 ]]; then - openApp - waitAppOpen -fi - -# Use URL scheme to send query text to Easydict.app -open "easydict://query?text=$POPCLIP_TEXT" +你需要先安装 [PopClip](https://pilotmoon.com/popclip/),然后选中以下代码块,`PopClip` 会显示 "安装扩展 Easydict",点击它即可。 + +```applescript +-- #popclip +-- name: Easydict +-- icon: iconify:ri:translate +-- language: applescript +tell application "Easydict" + launch + open location "easydict://query?text={popclip text}" +end tell ``` -![image-20231206110523253](https://raw.githubusercontent.com/tisfeng/ImageBed/main/uPic/image-20231206110523253-1701831923.png) +![image-20231215193536900](https://raw.githubusercontent.com/tisfeng/ImageBed/main/uPic/image-20231215193536900-1702640137.png) -> 参考:https://www.popclip.app/dev/shell-script-actions +> 参考:https://www.popclip.app/dev/applescript-actions ## 设置 diff --git a/README_EN.md b/README_EN.md index 6b42c83ac..997635fb4 100644 --- a/README_EN.md +++ b/README_EN.md @@ -20,7 +20,7 @@ ## Easydict -`Easydict` is a concise and easy-to-use translation dictionary macOS App that allows you to easily and elegantly look up words or translate text. Easydict is ready to use out of the box, can automatically recognize the language of the input text, supports input translate, select translate, and OCR screenshot translate, and can query multiple translation services results at the same time. Currently, it supports [Youdao Dictionary](https://www.youdao.com/), [**🍎 Apple System Dictionary**](./docs/How-to-use-macOS-system-dictionary-in-Easydict-en.md), [**🍎 macOS System Translation**](./docs/How-to-use-macOS-system-dictionary-in-Easydict-zh.md), [OpenAI(ChatGPT)](https://chat.openai.com/), [DeepL](https://www.deepl.com/translator), [Google](https://translate.google.com/), [Bing Translate](https://www.bing.com/translator), [Baidu](https://fanyi.baidu.com/), [Niutrans](https://niutrans.com/), [Lingocloud](https://fanyi.caiyunapp.com/#/) and [Volcano Translation](https://translate.volcengine.com/translate). +`Easydict` is a concise and easy-to-use translation dictionary macOS App that allows you to easily and elegantly look up words or translate text. Easydict is ready to use out of the box, can automatically recognize the language of the input text, supports input translate, select translate, and OCR screenshot translate, and can query multiple translation services results at the same time. Currently, it supports [Youdao Dictionary](https://www.youdao.com/), [**🍎 Apple System Dictionary**](./docs/How-to-use-macOS-system-dictionary-in-Easydict-en.md), [**🍎 macOS System Translation**](./docs/How-to-use-macOS-system-dictionary-in-Easydict-zh.md), [OpenAI(ChatGPT)](https://chat.openai.com/), [DeepL](https://www.deepl.com/translator), [Google](https://translate.google.com/), [Tencent](https://fanyi.qq.com/), [Bing](https://www.bing.com/translator), [Baidu](https://fanyi.baidu.com/), [Niutrans](https://niutrans.com/), [Lingocloud](https://fanyi.caiyunapp.com/#/) and [Volcano Translation](https://translate.volcengine.com/translate). ![Log](https://raw.githubusercontent.com/tisfeng/ImageBed/main/uPic/Log-1688378715.png) @@ -41,7 +41,7 @@ - [x] Support system TTS, along with online services from Bing, Google, Youdao and Baidu Cloud. - [x] Support [🍎 Apple System Dictionary](./docs/How-to-use-macOS-system-dictionary-in-Easydict-en.md), support third-party dictionaries with manual mdict dictionaries import functionalities. - [x] Support macOS system translation. (_Please see [How to use 🍎 macOS system translation in Easydict?](./docs/How-to-use-macOS-system-dictionary-in-Easydict-en.md)_) -- [x] Support Youdao Dictionary, DeepL, OpenAI (ChatGPT), Google, Bing, Baidu, Niutrans, Lingocloud and Volcano Translate. +- [x] Support Youdao Dictionary, DeepL, OpenAI (ChatGPT), Google, Tencent, Bing, Baidu, Niutrans, Lingocloud and Volcano Translate. - [x] Support for 48 languages. **If you like this app, please consider giving it a [Star](https://github.com/tisfeng/Easydict) ⭐️, thanks! (^-^)** @@ -73,7 +73,9 @@ - [Customizations](#customizations) - [DeepL Translate](#deepl-translate) - [Configure AuthKey](#configure-authkey) + - [Configure API endpoint](#configure-api-endpoint) - [Configure API call method](#configure-api-call-method) + - [Tencent Translate](#tencent-translate) - [Bing Translate](#bing-translate) - [Niutrans](#niutrans) - [Lingocloud](#lingocloud) @@ -135,7 +137,7 @@ git update-index --skip-worktree Easydict-debug.xcconfig ``` #### Build Environment - + Xcode 13+, macOS Big Sur 11.3+. To avoid unnecessary problems, it is recommended to use the latest Xcode and macOS version https://github.com/tisfeng/Easydict/issues/79 > [!NOTE] @@ -339,7 +341,7 @@ Please make sure you have an APIKey. #### Configure APIKey -``` +```bash easydict://writeKeyValue?EZOpenAIAPIKey=sk-xxx ``` @@ -348,7 +350,8 @@ easydict://writeKeyValue?EZOpenAIAPIKey=sk-xxx Lookup for APIKey (similar to other keys), if the query succeeds, the result will be written to the clipboard. -``` + +```bash easydict://readValueOfKey?EZOpenAIAPIKey ``` @@ -364,11 +367,11 @@ Currently, OpenAI translation supports three query modes: word lookup, sentence Considering the token cost associated with OpenAI, a default 'Close' option has been implemented. After executing the following command, OpenAI will automatically stop the queries by default, and it will only be queried when the user manually clicks the 'Expand' button. -``` +```bash easydict://writeKeyValue?EZOpenAIServiceUsageStatusKey=1 ``` -``` +```bash // Disable word lookup easydict://writeKeyValue?EZOpenAIDictionaryKey=0 @@ -384,7 +387,7 @@ A quick tip: If you only want to exclude occasional sentence analysis without tu Support custom domains and models -``` +```bash // xxx is the host, the default one is api.openai.com easydict://writeKeyValue?EZOpenAIDomainKey=xxx @@ -410,30 +413,61 @@ If you have DeepL AuthKey, it is recommended to use personal AuthKey, so as to a Enter the following code in the input box, xxx is your DeepL AuthKey, and then Enter -``` +```bash easydict://writeKeyValue?EZDeepLAuthKey=xxx ``` +#### Configure API endpoint + +If you don't have your own AuthKey and need to use DeepL translation a lot, you can consider deploying your own interface service that supports DeepL, or using a third-party service that supports DeepL. + +In this case, you need to set a custom DeepL interface address, where the value of EZDeepLTranslateEndPointKey should be the complete request URL, for example, the DeepL official interface is https://api-free.deepl.com/v2/translate. If the custom interface requires AuthKey, the configuration method is the same as before, and the interface parameters are consistent with the DeepL official. + +The way to customize the DeepL interface address is equivalent to the DeepL official AuthKey API form in the Easydict program. + +```bash +easydict://writeKeyValue?EZDeepLTranslateEndPointKey=xxx +``` + +With the help of the following open source projects, you can deploy a DeepL translation interface service that supports DeepL translation on your own server or Cloudflare: + +- [deeplx-for-cloudflare](https://github.com/ifyour/deeplx-for-cloudflare) +- [DeepLX](https://github.com/OwO-Network/DeepLX) + #### Configure API call method 1. The web version API is used by default, and the personal AuthKey will be used when the web version API fails (if any) -``` +```bash easydict://writeKeyValue?EZDeepLTranslationAPIKey=0 ``` 2. Use personal AuthKey first, and use web version API when it fails. If you use DeepL frequently, it is recommended to use this method, which can reduce one failed request and improve response speed. -``` +```bash easydict://writeKeyValue?EZDeepLTranslationAPIKey=1 ``` 3. Only use personal AuthKey -``` +```bash easydict://writeKeyValue?EZDeepLTranslationAPIKey=2 ``` +### Tencent Translate + +[Tencent Translate](https://fanyi.qq.com/) requires an APIKey, for ease of use, we have built-in a key, this key has a limit on the amount, not guaranteed to be available all the time. + +It is recommended to use your own APIKey, each registered user of Tencent Translate is given 5 million characters of traffic per month, which is enough for daily use. + +```bash +// xxx is the SecretId of Tencent Translate +easydict://writeKeyValue?EZTencentSecretId=xxx + +// xxx is the SecretKey of Tencent Translate +easydict://writeKeyValue?EZTencentSecretKey=xxx +``` + ### Bing Translate At present, Bing Translator uses a web interface. When encountering a 429 error due to triggering rate limits, you can extend the usage by manually setting request cookies, aside from switching proxies. The exact duration of the time extension is currently unclear. @@ -446,7 +480,7 @@ cookieStore.get("MUID").then(result => console.log(encodeURIComponent("MUID=" +r Finally, use the command to write the cookie in Easydict -``` +```bash // xxx is the obtained cookie easydict://writeKeyValue?EZBingCookieKey=xxx ``` @@ -455,11 +489,11 @@ easydict://writeKeyValue?EZBingCookieKey=xxx ### Niutrans -[Niutrans](https://niutrans.com/) requires an APIKey, for ease of use, we have built-in a key, this key has a limit on the amount, not guaranteed to be available all the time. +[Niutrans](https://niutrans.com/) requires an API key, for ease of use, we have built-in a key, this key has a limit on the amount, not guaranteed to be available all the time. -It is recommended to use your own APIKey, each registered user of Niutrans is given 200,000 characters of traffic per day, which is enough for daily use. +It is recommended to use your own API key, each registered user of Niutrans is given 200,000 characters of traffic per day. -``` +```bash // xxx is the APIKey of Niutrans easydict://writeKeyValue?EZNiuTransAPIKey=xxx ``` @@ -468,9 +502,9 @@ easydict://writeKeyValue?EZNiuTransAPIKey=xxx [Lingocloud](https://fanyi.caiyunapp.com/#/) needs an Token, for ease of use, we have built-in a token, this token has a limit on the amount, not guaranteed to be available all the time. -It is recommended to use your own Token, each registered user of Lingocloud is given 100,000 characters of traffic per day, which is enough for daily use. +It is recommended to use your own Token, each registered user of Lingocloud is given 100,000 characters of traffic per day. -``` +```bash // xxx is the Token of Lingocloud easydict://writeKeyValue?EZCaiyunToken=xxx ``` @@ -496,19 +530,19 @@ For vocabularies, services that support vocabularies lookup work significantly b By default, all translation services support vocabularies lookup (vocabularies are also a kind of text), users can adjust it manually. For example, to set Google to translate text only, just use the following command to change the property to `translation | sentence`. -``` +```bash easydict://writeKeyValue?Google-IntelligentQueryTextType=5 ``` Similarly, for some services that support looking up vocabulary and translating text at the same time, such as Youdao Dictionary, you can set its query mode to look up only vocabulary by setting the type to `dictionary`. -``` +```bash easydict://writeKeyValue?Youdao-IntelligentQueryTextType=2 ``` By default, only [Mini Window] is enabled for Smart Query Mode, users can also enable Smart Query Mode manually for [Hover Window]: -``` +```bash easydict://writeKeyValue?IntelligentQueryMode-window2=1 ``` window1 represents the mini window, while window2 represents hover window, value 0 represents disabled, while 1 represents enabled. @@ -541,45 +575,22 @@ If the query content xxx contains special characters, URL encoding is needed, su ## Use with PopClip -You need to install [PopClip](https://pilotmoon.com/popclip/) first, then select the following code block, `PopClip` will show "Install Extension Easydict", just click it. (Thanks [liziqiang](https://github.com/liziqiang)) - -```shell -#! /bin/zsh -# #popclip -# name: Easydict -# icon: iconify:ri:translate -checkAppRunning() { - result=$(ps aux | grep Easydict.app | wc -l) - echo $result -} -# Open Easydict.app, it takes about 1s -openApp() { - open /Applications/Easydict.app -} -# Loop wait until Easydict.app is opened -waitAppOpen() { - while true; do - result=$(checkAppRunning) - if [[ $result -ge 2 ]]; then - break - fi - sleep 0.2 # wait 0.2s at a time - done -} -# Check if Easydict.app is running -appResult=$(checkAppRunning) -if [[ $appResult -lt 2 ]]; then - openApp - waitAppOpen -fi - -# Use URL scheme to send query text to Easydict.app -open "easydict://query?text=$POPCLIP_TEXT" +You need to install [PopClip](https://pilotmoon.com/popclip/) first, then select the following code block, `PopClip` will show "Install Extension Easydict", just click it. + +```applescript +-- #popclip +-- name: Easydict +-- icon: iconify:ri:translate +-- language: applescript +tell application "Easydict" + launch + open location "easydict://query?text={popclip text}" +end tell ``` -![image-20231206111101898](https://raw.githubusercontent.com/tisfeng/ImageBed/main/uPic/image-20231206111101898-1701832262.png) +![image-20231215193814591](https://raw.githubusercontent.com/tisfeng/ImageBed/main/uPic/image-20231215193814591-1702640294.png) -> Ref: https://www.popclip.app/dev/shell-script-actions +> Refer: https://www.popclip.app/dev/applescript-actions ## Settings diff --git a/appcast.xml b/appcast.xml index fa6efcbee..65fc38c37 100755 --- a/appcast.xml +++ b/appcast.xml @@ -3,14 +3,24 @@ Easydict + + 2.4.1 + Mon, 18 Dec 2023 21:40:00 +0800 + 30 + 2.4.1 + 11.0 + https://github.com/tisfeng/easydict/releases/tag/2.4.1 + + + 2.4.0 - Sun, 10 Dec 2023 19:30:00 +0800 + Mon, 18 Dec 2023 20:00:00 +0800 29 2.4.0 11.0 - https://github.com/tisfeng/easydict/releases/tag/2.3.0 - + https://github.com/tisfeng/easydict/releases/tag/2.4.0 +