diff --git a/.DS_Store b/.DS_Store index 2c4ebf1..46425b3 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/AuthenticationErrors.swift b/AuthenticationErrors.swift deleted file mode 100755 index 4f00313..0000000 --- a/AuthenticationErrors.swift +++ /dev/null @@ -1,77 +0,0 @@ -// -// AuthenticationErrors.swift -// BiometricAuthentication -// -// Copyright (c) 2018 Rushi Sangani -// -// 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. -// - -import Foundation -import LocalAuthentication - -/// Authentication Errors -public enum AuthenticationError: Error { - - case failed, canceledByUser, fallback, canceledBySystem, passcodeNotSet, biometryNotAvailable, biometryNotEnrolled, biometryLockedout, other - - public static func initWithError(_ error: LAError) -> AuthenticationError { - switch Int32(error.errorCode) { - - case kLAErrorAuthenticationFailed: - return failed - case kLAErrorUserCancel: - return canceledByUser - case kLAErrorUserFallback: - return fallback - case kLAErrorSystemCancel: - return canceledBySystem - case kLAErrorPasscodeNotSet: - return passcodeNotSet - case kLAErrorBiometryNotAvailable: - return biometryNotAvailable - case kLAErrorBiometryNotEnrolled: - return biometryNotEnrolled - case kLAErrorBiometryLockout: - return biometryLockedout - default: - return other - } - } - - // get error message based on type - public func message() -> String { - let isFaceIdDevice = BioMetricAuthenticator.shared.isFaceIdDevice() - - switch self { - case .canceledByUser, .fallback, .canceledBySystem: - return "" - case .passcodeNotSet: - return isFaceIdDevice ? kSetPasscodeToUseFaceID : kSetPasscodeToUseTouchID - case .biometryNotAvailable: - return kBiometryNotAvailableReason - case .biometryNotEnrolled: - return isFaceIdDevice ? kNoFaceIdentityEnrolled : kNoFingerprintEnrolled - case .biometryLockedout: - return isFaceIdDevice ? kFaceIdPasscodeAuthenticationReason : kTouchIdPasscodeAuthenticationReason - default: - return isFaceIdDevice ? kDefaultFaceIDAuthenticationFailedReason : kDefaultTouchIDAuthenticationFailedReason - } - } -} diff --git a/BioMetricAuthenticator.swift b/BioMetricAuthenticator.swift deleted file mode 100755 index 8a5ac0b..0000000 --- a/BioMetricAuthenticator.swift +++ /dev/null @@ -1,187 +0,0 @@ -// -// BioMetricAuthenticator.swift -// BiometricAuthentication -// -// Copyright (c) 2018 Rushi Sangani -// -// 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. -// - -import UIKit -import LocalAuthentication - -open class BioMetricAuthenticator: NSObject { - - // MARK: - Singleton - public static let shared = BioMetricAuthenticator() - - // MARK: - Private - private override init() {} - private lazy var context: LAContext? = { - return LAContext() - }() - - // MARK: - Public - public var allowableReuseDuration: TimeInterval? = nil { - didSet { - guard let duration = allowableReuseDuration else { - return - } - if #available(iOS 9.0, *) { - self.context?.touchIDAuthenticationAllowableReuseDuration = duration - } - } - } -} - -// MARK:- Public - -public extension BioMetricAuthenticator { - - /// checks if biometric authentication can be performed currently on the device. - class func canAuthenticate() -> Bool { - - var isBiometricAuthenticationAvailable = false - var error: NSError? = nil - - if LAContext().canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error) { - isBiometricAuthenticationAvailable = (error == nil) - } - return isBiometricAuthenticationAvailable - } - - /// Check for biometric authentication - class func authenticateWithBioMetrics(reason: String, fallbackTitle: String? = "", cancelTitle: String? = "", completion: @escaping (Result) -> Void) { - - // reason - let reasonString = reason.isEmpty ? BioMetricAuthenticator.shared.defaultBiometricAuthenticationReason() : reason - - // context - var context: LAContext! - if BioMetricAuthenticator.shared.isReuseDurationSet() { - context = BioMetricAuthenticator.shared.context - }else { - context = LAContext() - } - context.localizedFallbackTitle = fallbackTitle - - // cancel button title - if #available(iOS 10.0, *) { - context.localizedCancelTitle = cancelTitle - } - - // authenticate - BioMetricAuthenticator.shared.evaluate(policy: .deviceOwnerAuthenticationWithBiometrics, with: context, reason: reasonString, completion: completion) - } - - /// Check for device passcode authentication - class func authenticateWithPasscode(reason: String, cancelTitle: String? = "", completion: @escaping (Result) -> ()) { - - // reason - let reasonString = reason.isEmpty ? BioMetricAuthenticator.shared.defaultPasscodeAuthenticationReason() : reason - - let context = LAContext() - - // cancel button title - if #available(iOS 10.0, *) { - context.localizedCancelTitle = cancelTitle - } - - // authenticate - if #available(iOS 9.0, *) { - BioMetricAuthenticator.shared.evaluate(policy: .deviceOwnerAuthentication, with: context, reason: reasonString, completion: completion) - } else { - // Fallback on earlier versions - BioMetricAuthenticator.shared.evaluate(policy: .deviceOwnerAuthenticationWithBiometrics, with: context, reason: reasonString, completion: completion) - } - } - - /// checks if device supports face id and authentication can be done - func faceIDAvailable() -> Bool { - let context = LAContext() - var error: NSError? - - let canEvaluate = context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error) - if #available(iOS 11.0, *) { - return canEvaluate && context.biometryType == .faceID - } - return canEvaluate - } - - /// checks if device supports touch id and authentication can be done - func touchIDAvailable() -> Bool { - let context = LAContext() - var error: NSError? - - let canEvaluate = context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error) - if #available(iOS 11.0, *) { - return canEvaluate && context.biometryType == .touchID - } - return canEvaluate - } - - /// checks if device has faceId - /// this is added to identify if device has faceId or touchId - /// note: this will not check if devices can perform biometric authentication - func isFaceIdDevice() -> Bool { - let context = LAContext() - _ = context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: nil) - if #available(iOS 11.0, *) { - return context.biometryType == .faceID - } - return false - } -} - -// MARK:- Private -extension BioMetricAuthenticator { - - /// get authentication reason to show while authentication - private func defaultBiometricAuthenticationReason() -> String { - return faceIDAvailable() ? kFaceIdAuthenticationReason : kTouchIdAuthenticationReason - } - - /// get passcode authentication reason to show while entering device passcode after multiple failed attempts. - private func defaultPasscodeAuthenticationReason() -> String { - return faceIDAvailable() ? kFaceIdPasscodeAuthenticationReason : kTouchIdPasscodeAuthenticationReason - } - - /// checks if allowableReuseDuration is set - private func isReuseDurationSet() -> Bool { - guard allowableReuseDuration != nil else { - return false - } - return true - } - - /// evaluate policy - private func evaluate(policy: LAPolicy, with context: LAContext, reason: String, completion: @escaping (Result) -> ()) { - - context.evaluatePolicy(policy, localizedReason: reason) { (success, err) in - DispatchQueue.main.async { - if success { - completion(.success(true)) - }else { - let errorType = AuthenticationError.initWithError(err as! LAError) - completion(.failure(errorType)) - } - } - } - } -} diff --git a/BiometricAuthenticationConstants.swift b/BiometricAuthenticationConstants.swift deleted file mode 100755 index 1243f0a..0000000 --- a/BiometricAuthenticationConstants.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// BiometricAuthenticationConstants.swift -// BiometricAuthentication -// -// Created by Rushi on 27/10/17. -// Copyright © 2018 Rushi Sangani. All rights reserved. -// - -import Foundation -import LocalAuthentication - -let kBiometryNotAvailableReason = "Biometric authentication is not available for this device." - -/// **************** Touch ID ****************** /// - -let kTouchIdAuthenticationReason = "지문 센서를 터치해 주세요." -let kTouchIdPasscodeAuthenticationReason = "Touch ID is locked now, because of too many failed attempts. Enter passcode to unlock Touch ID." - -/// Error Messages Touch ID -let kSetPasscodeToUseTouchID = "Please set device passcode to use Touch ID for authentication." -let kNoFingerprintEnrolled = "There are no fingerprints enrolled in the device. Please go to Device Settings -> Touch ID & Passcode and enroll your fingerprints." -let kDefaultTouchIDAuthenticationFailedReason = "Touch ID does not recognize your fingerprint. Please try again with your enrolled fingerprint." - -/// **************** Face ID ****************** /// - -let kFaceIdAuthenticationReason = "Confirm your face to authenticate." -let kFaceIdPasscodeAuthenticationReason = "Face ID is locked now, because of too many failed attempts. Enter passcode to unlock Face ID." - -/// Error Messages Face ID -let kSetPasscodeToUseFaceID = "Please set device passcode to use Face ID for authentication." -let kNoFaceIdentityEnrolled = "There is no face enrolled in the device. Please go to Device Settings -> Face ID & Passcode and enroll your face." -let kDefaultFaceIDAuthenticationFailedReason = "Face ID does not recognize your face. Please try again with your enrolled face." diff --git a/BiometricPay/BootpayAuthWebView.swift b/BiometricPay/BootpayAuthWebView.swift deleted file mode 100644 index 2990f2b..0000000 --- a/BiometricPay/BootpayAuthWebView.swift +++ /dev/null @@ -1,150 +0,0 @@ -// -// BootpayAuthWebView.swift -// Alamofire -// -// Created by Taesup Yoon on 12/10/2020. -// - -import UIKit -import WebKit - -@objc public protocol BootpayAuthProtocol { - @objc(verifyCancel:) func verifyCancel(data: [String: Any]) - @objc(verifyError:) func verifyError(data: [String: Any]) - @objc(verifySuccess:) func verifySuccess(data: [String: Any]) -} - - -@objc class BootpayAuthWebView: UIView { - var wv: WKWebView! - let configuration = WKWebViewConfiguration() - final let BASE_URL = Bootpay.URL - final let bridgeName = "Bootpay_iOS" - var userToken = "" - var firstLoad = false - var sendable: BootpayAuthProtocol? - - func request() { - - HTTPCookieStorage.shared.cookieAcceptPolicy = HTTPCookie.AcceptPolicy.always // 현대카드 등 쿠키설정 이슈 해결을 위해 필요 - configuration.userContentController.add(self, name: bridgeName) - wv = WKWebView(frame: self.bounds, configuration: configuration) - wv.uiDelegate = self - wv.navigationDelegate = self - self.addSubview(wv) - self.loadUrl(BASE_URL) - } -} - -extension BootpayAuthWebView { - - - internal func doJavascript(_ script: String) { - wv.evaluateJavaScript(script, completionHandler: nil) - } - - internal func loadUrl(_ urlString: String) { - let url = URL(string: urlString) - if let url = url { - let request = URLRequest(url: url) - wv.load(request) - } - } - - func registerAppId() { -// let app_id = "5b8f6a4d396fa665fdc2b5e9" - let app_id = "5b9f51264457636ab9a07cdd" - doJavascript("window.BootPay.setApplicationId('\(app_id)');") - } - - func setDevelopMode() { - doJavascript("window.BootPay.setMode('development');") - } - - internal func setDevice() { - doJavascript("window.BootPay.setDevice('IOS');") - } - - internal func setAnalytics() { - if Bootpay.sharedInstance.sk_time == 0 { - NSLog("Bootpay Analytics Warning: setAnalytics() not Work!! Please session active in AppDelegate") - return - } - - doJavascript("window.BootPay.setAnalyticsData({" - + "sk: '\(Bootpay.sharedInstance.sk)', " - + "sk_time: \(Bootpay.sharedInstance.sk_time), " - + "uuid: '\(Bootpay.sharedInstance.uuid)'" - + "});") - } - - func generateScript() -> String { - if userToken == "" { - print("userToken이 없습니다") - return "" - } - - let array = [ - "BootPay.verifyPassword({", - "userToken: '\(self.userToken)',", - "deviceId: '\(Bootpay.getUUID())',", - "message: '생체인식결제를 활성화합니다'", - "}).verifyCancel(function (data) {", - "webkit.messageHandlers.\(self.bridgeName).postMessage(data);", - "}).verifyError(function (data) {", - "webkit.messageHandlers.\(self.bridgeName).postMessage(data);", - "}).verifySuccess(function (data) {", - "webkit.messageHandlers.\(self.bridgeName).postMessage(data);", - "});" - ] - return array.reduce("", +) - } - - func authStart() { - print(generateScript()) - doJavascript(generateScript()) - } -} - -extension BootpayAuthWebView: WKNavigationDelegate, WKUIDelegate, WKScriptMessageHandler { - func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { - if firstLoad == false { - - firstLoad = true - registerAppId() - setDevelopMode() - setDevice() - setAnalytics() - authStart() - } - } - - - func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { - decisionHandler(.allow) - } - - func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { - if(message.name == self.bridgeName) { - guard let body = message.body as? [String: Any] else { return } - guard let action = body["action"] as? String else { return } - - if action == "BootpayVerifyCancel" { - sendable?.verifyCancel(data: body) - } else if action == "BootpayVerifyError" { - sendable?.verifyError(data: body) - } else if action == "BootpayVerifySuccess" { - sendable?.verifySuccess(data: body) - } - } - } - - func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Swift.Void) { - if(challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust) { - let cred = URLCredential(trust: challenge.protectionSpace.serverTrust!) - completionHandler(.useCredential, cred) - } else { - completionHandler(.performDefaultHandling, nil) - } - } -} diff --git a/BiometricPay/CardSelectView.swift b/BiometricPay/CardSelectView.swift deleted file mode 100644 index 665de3b..0000000 --- a/BiometricPay/CardSelectView.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// CardSelectView.swift -// SwiftyBootpay -// -// Created by Taesup Yoon on 13/10/2020. -// - -import Foundation diff --git a/BootpayAuthController.swift b/BootpayAuthController.swift deleted file mode 100644 index cd05e52..0000000 --- a/BootpayAuthController.swift +++ /dev/null @@ -1,8 +0,0 @@ -// -// BootpayAuthController.swift -// Alamofire -// -// Created by Taesup Yoon on 12/10/2020. -// - -import Foundation diff --git a/Example/.DS_Store b/Example/.DS_Store index cd5cc5e..4a8c1a9 100644 Binary files a/Example/.DS_Store and b/Example/.DS_Store differ diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 3858db3..79c2781 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,12 +1,12 @@ PODS: - Alamofire (5.2.2) - - CryptoSwift (1.3.2) + - CryptoSwift (1.3.7) - JGProgressHUD (2.2) - ObjectMapper (4.2.0) - SnapKit (5.0.1) - - SwiftOTP (2.0.2): + - SwiftOTP (2.0.3): - CryptoSwift (>= 1.0.0) - - SwiftyBootpay (3.3.13): + - SwiftyBootpay (3.4.107): - Alamofire (~> 5.2.2) - CryptoSwift - JGProgressHUD @@ -32,13 +32,13 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Alamofire: 814429acc853c6c54ff123fc3d2ef66803823ce0 - CryptoSwift: 093499be1a94b0cae36e6c26b70870668cb56060 + CryptoSwift: b6faad405e69964740422daf121918b5b1870f2b JGProgressHUD: d83d7a981b85d11205e19ff8ad5bb9c40571c847 ObjectMapper: 1eb41f610210777375fa806bf161dc39fb832b81 SnapKit: 97b92857e3df3a0c71833cce143274bf6ef8e5eb - SwiftOTP: 572fb5601add61e93534cf6644ef236d65b4aae8 - SwiftyBootpay: d05b6d99a6dbaeb9cf807c0bd975e8eba803e114 + SwiftOTP: ce98ded1ab42e4e66c39228fcad6b0c07b98e494 + SwiftyBootpay: 1cf14c6230c17548a6cdc004f9feaa4c44158c50 PODFILE CHECKSUM: d088f3acb154f9617cdcf95aae0cbf40903d80d2 -COCOAPODS: 1.9.1 +COCOAPODS: 1.10.1 diff --git a/Example/Pods/.DS_Store b/Example/Pods/.DS_Store index d9d2008..1f4b57e 100644 Binary files a/Example/Pods/.DS_Store and b/Example/Pods/.DS_Store differ diff --git a/Example/Pods/CryptoSwift/README.md b/Example/Pods/CryptoSwift/README.md index ab0b30b..3b9eace 100644 --- a/Example/Pods/CryptoSwift/README.md +++ b/Example/Pods/CryptoSwift/README.md @@ -1,12 +1,9 @@ [![Platform](https://img.shields.io/badge/Platforms-iOS%20%7C%20Android%20%7CmacOS%20%7C%20watchOS%20%7C%20tvOS%20%7C%20Linux-4E4E4E.svg?colorA=28a745)](#installation) [![Swift support](https://img.shields.io/badge/Swift-3.1%20%7C%203.2%20%7C%204.0%20%7C%204.1%20%7C%204.2%20%7C%205.0-lightgrey.svg?colorA=28a745&colorB=4E4E4E)](#swift-versions-support) +[![Swift Package Manager compatible](https://img.shields.io/badge/SPM-compatible-brightgreen.svg?style=flat&colorA=28a745&&colorB=4E4E4E)](https://github.com/apple/swift-package-manager) [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/CryptoSwift.svg?style=flat&label=CocoaPods&colorA=28a745&&colorB=4E4E4E)](https://cocoapods.org/pods/CryptoSwift) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-brightgreen.svg?style=flat&colorA=28a745&&colorB=4E4E4E)](https://github.com/Carthage/Carthage) -[![Accio supported](https://img.shields.io/badge/Accio-supported-brightgreen.svg?style=flat&colorA=28a745&&colorB=4E4E4E)](https://github.com/JamitLabs/Accio) -[![Swift Package Manager compatible](https://img.shields.io/badge/SPM-compatible-brightgreen.svg?style=flat&colorA=28a745&&colorB=4E4E4E)](https://github.com/apple/swift-package-manager) - -[![Twitter](https://img.shields.io/badge/Twitter-@krzyzanowskim-blue.svg?style=flat)](http://twitter.com/krzyzanowskim) # CryptoSwift @@ -20,9 +17,11 @@ Crypto related functions and helpers for [Swift](https://swift.org) implemented ## Sponsorship -If you (or your Company) use this work, please consider [Sponsorship](https://github.com/users/krzyzanowskim/sponsorship). This is the only option to keep the project alive, that is in your own best interrest. +It takes some time to keep it all for your convenience, so maybe spare $1, so I can keep working on that. There are more than 8000 clones daily. If I'd get $1/month from each company that uses my work here, I'd say we're even. Hurry up, find the [Sponsorship](https://github.com/users/krzyzanowskim/sponsorship) button, and fulfill your duty. + +CryptoSwift isn't backed by any big company and is developer in my spare time that I also use to as a freelancer. -CryptoSwift isn't backed by a big company and is developer in my spare time that I also use to as a freelancer. +[![Twitter](https://img.shields.io/badge/Twitter-@krzyzanowskim-blue.svg?style=flat)](http://twitter.com/krzyzanowskim) ## Requirements Good mood @@ -69,6 +68,7 @@ Good mood - Counter Mode ([CTR](https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Counter_.28CTR.29)) - Galois/Counter Mode ([GCM](https://csrc.nist.gov/publications/detail/sp/800-38d/final)) - Counter with Cipher Block Chaining-Message Authentication Code ([CCM](https://csrc.nist.gov/publications/detail/sp/800-38c/final)) +- OCB Authenticated-Encryption Algorithm ([OCB](https://tools.ietf.org/html/rfc7253)) #### Password-Based Key Derivation Function - [PBKDF1](http://tools.ietf.org/html/rfc2898#section-5.1) (Password-Based Key Derivation Function 1) @@ -102,50 +102,44 @@ Check out [CONTRIBUTING.md](CONTRIBUTING.md) for more information on how to help ## Installation -To install CryptoSwift, add it as a submodule to your project (on the top level project directory): +### Hardened Runtime (macOS) and Xcode - git submodule add https://github.com/krzyzanowskim/CryptoSwift.git +Binary CryptoSwift.xcframework (Used by Swift Package Manager package integration) won't load properly in your app if the app uses **Sign to Run Locally** Signing Certificate with Hardened Runtime enabled. It is possible to setup Xcode like this. To solve the problem you have two options: +- Use proper Signing Certificate, eg. *Development* <- this is the proper action +- Use `Disable Library Validation` aka `com.apple.security.cs.disable-library-validation` entitlement -It is recommended to enable [Whole-Module Optimization](https://swift.org/blog/whole-module-optimizations/) to gain better performance. Non-optimized build results in significantly worse performance. +#### Xcode Project -#### Embedded Framework - -Embedded frameworks require a minimum deployment target of iOS 8 or OS X Mavericks (10.9). Drag the `CryptoSwift.xcodeproj` file into your Xcode project, and add appropriate framework as a dependency to your target. Now select your App and choose the General tab for the app target. Find *Embedded Binaries* and press "+", then select `CryptoSwift.framework` (iOS, OS X, watchOS or tvOS) +To install CryptoSwift, add it as a submodule to your project (on the top level project directory): -![](https://cloud.githubusercontent.com/assets/758033/10834511/25a26852-7e9a-11e5-8c01-6cc8f1838459.png) + git submodule add https://github.com/krzyzanowskim/CryptoSwift.git -Sometimes "embedded framework" option is not available. In that case, you have to add new build phase for the target +It is recommended to enable [Whole-Module Optimization](https://swift.org/blog/whole-module-optimizations/) to gain better performance. Non-optimized build results in significantly worse performance. -![](https://cloud.githubusercontent.com/assets/758033/18415615/d5edabb0-77f8-11e6-8c94-f41d9fc2b8cb.png) +#### Swift Package Manager -##### iOS, macOS, watchOS, tvOS +You can use [Swift Package Manager](https://swift.org/package-manager/) and specify dependency in `Package.swift` by adding this: -In the project, you'll find [single scheme](https://mxcl.dev/PromiseKit/news/2016/08/Multiplatform-Single-Scheme-Xcode-Projects/) for all platforms: -- CryptoSwift +```swift +.package(url: "https://github.com/krzyzanowskim/CryptoSwift.git", .upToNextMinor(from: "1.3.7")) +``` -#### Swift versions support +See: [Package.swift - manual](http://blog.krzyzanowskim.com/2016/08/09/package-swift-manual/) -- Swift 1.2: branch [swift12](https://github.com/krzyzanowskim/CryptoSwift/tree/swift12) version <= 0.0.13 -- Swift 2.1: branch [swift21](https://github.com/krzyzanowskim/CryptoSwift/tree/swift21) version <= 0.2.3 -- Swift 2.2, 2.3: branch [swift2](https://github.com/krzyzanowskim/CryptoSwift/tree/swift2) version <= 0.5.2 -- Swift 3.1, branch [swift3](https://github.com/krzyzanowskim/CryptoSwift/tree/swift3) version <= 0.6.9 -- Swift 3.2, branch [swift32](https://github.com/krzyzanowskim/CryptoSwift/tree/swift32) version = 0.7.0 -- Swift 4.0, branch [swift4](https://github.com/krzyzanowskim/CryptoSwift/tree/swift4) version <= 0.12.0 -- Swift 4.2, branch [swift42](https://github.com/krzyzanowskim/CryptoSwift/tree/swift42) version <= 0.15.0 -- Swift 5.0, branch [swift5](https://github.com/krzyzanowskim/CryptoSwift/tree/swift5) version <= 1.2.0 -- Swift 5.1 and newer, branch [master](https://github.com/krzyzanowskim/CryptoSwift/tree/master) +Notice: Swift Package Manager uses debug configuration for debug Xcode build, that may result in significant (up to x10000) worse performance. Performance characteristic is different in Release build. To overcome this prolem, consider embed `CryptoSwift.xcframework` described below. #### CocoaPods You can use [CocoaPods](https://cocoapods.org/pods/CryptoSwift). ```ruby -pod 'CryptoSwift', '~> 1.0' +pod 'CryptoSwift', '~> 1.3.7' ``` Bear in mind that CocoaPods will build CryptoSwift without [Whole-Module Optimization](https://swift.org/blog/whole-module-optimizations/) that may impact performance. You can change it manually after installation, or use [cocoapods-wholemodule](https://github.com/jedlewison/cocoapods-wholemodule) plugin. #### Carthage + You can use [Carthage](https://github.com/Carthage/Carthage). Specify in Cartfile: @@ -155,26 +149,42 @@ github "krzyzanowskim/CryptoSwift" Run `carthage` to build the framework and drag the built CryptoSwift.framework into your Xcode project. Follow [build instructions](https://github.com/Carthage/Carthage#getting-started). [Common issues](https://github.com/krzyzanowskim/CryptoSwift/issues/492#issuecomment-330822874). -#### Swift Package Manager +#### XCFramework -You can use [Swift Package Manager](https://swift.org/package-manager/) and specify dependency in `Package.swift` by adding this: +XCFrameworks require Xcode 11 or later and they can be integrated similarly to how we’re used to integrating the `.framework` format. +Please us a script [scripts/build-framework.sh](scripts/build-framework.sh) to generate binary `CryptoSwift.xcframework` archive that you can use as a dependency in Xcode. -```swift -.package(url: "https://github.com/krzyzanowskim/CryptoSwift.git", .upToNextMinor(from: "1.3.1")) -``` +CryptoSwift.xcframework is a Release (Optimized) binary that offer best available Swift code performance. -See: [Package.swift - manual](http://blog.krzyzanowskim.com/2016/08/09/package-swift-manual/) +Screen Shot 2020-10-27 at 00 06 32 -#### Accio -You can use [Accio](https://github.com/JamitLabs/Accio). Specify in `Package.swift`: +#### Embedded Framework -```swift -.package(url: "https://github.com/krzyzanowskim/CryptoSwift.git", .upToNextMajor(from: "1.0")), -``` +Embedded frameworks require a minimum deployment target of iOS 9 or macOS Sierra (10.12). Drag the `CryptoSwift.xcodeproj` file into your Xcode project, and add appropriate framework as a dependency to your target. Now select your App and choose the General tab for the app target. Find *Embedded Binaries* and press "+", then select `CryptoSwift.framework` (iOS, macOS, watchOS or tvOS) -Then run `accio update`. +![](https://cloud.githubusercontent.com/assets/758033/10834511/25a26852-7e9a-11e5-8c01-6cc8f1838459.png) ---- +Sometimes "embedded framework" option is not available. In that case, you have to add new build phase for the target. + +![](https://cloud.githubusercontent.com/assets/758033/18415615/d5edabb0-77f8-11e6-8c94-f41d9fc2b8cb.png) + +##### iOS, macOS, watchOS, tvOS + +In the project, you'll find [single scheme](https://mxcl.dev/PromiseKit/news/2016/08/Multiplatform-Single-Scheme-Xcode-Projects/) for all platforms: +- CryptoSwift + +#### Swift versions support + +- Swift 1.2: branch [swift12](https://github.com/krzyzanowskim/CryptoSwift/tree/swift12) version <= 0.0.13 +- Swift 2.1: branch [swift21](https://github.com/krzyzanowskim/CryptoSwift/tree/swift21) version <= 0.2.3 +- Swift 2.2, 2.3: branch [swift2](https://github.com/krzyzanowskim/CryptoSwift/tree/swift2) version <= 0.5.2 +- Swift 3.1, branch [swift3](https://github.com/krzyzanowskim/CryptoSwift/tree/swift3) version <= 0.6.9 +- Swift 3.2, branch [swift32](https://github.com/krzyzanowskim/CryptoSwift/tree/swift32) version = 0.7.0 +- Swift 4.0, branch [swift4](https://github.com/krzyzanowskim/CryptoSwift/tree/swift4) version <= 0.12.0 +- Swift 4.2, branch [swift42](https://github.com/krzyzanowskim/CryptoSwift/tree/swift42) version <= 0.15.0 +- Swift 5.0, branch [swift5](https://github.com/krzyzanowskim/CryptoSwift/tree/swift5) version <= 1.2.0 +- Swift 5.1, branch [swift5](https://github.com/krzyzanowskim/CryptoSwift/tree/swift51) version <= 1.3.3 +- Swift 5.3 and newer, branch [master](https://github.com/krzyzanowskim/CryptoSwift/tree/master) ## How-to @@ -191,8 +201,6 @@ Then run `accio update`. * [AES-GCM](#aes-gcm) * [Authenticated Encryption with Associated Data (AEAD)](#aead) -also check [Playground](/CryptoSwift.playground/Contents.swift) - ##### Basics ```swift @@ -359,8 +367,40 @@ Variant of AES encryption (AES-128, AES-192, AES-256) depends on given key lengt - AES-256 = 32 bytes AES-256 example + +```swift +let encryptedBytes = try AES(key: [1,2,3,...,32], blockMode: CBC(iv: [1,2,3,...,16]), padding: .pkcs7) +``` + +Full example: + ```swift -try AES(key: [1,2,3,...,32], blockMode: CBC(iv: [1,2,3,...,16]), padding: .pkcs7) +let password: [UInt8] = Array("s33krit".utf8) +let salt: [UInt8] = Array("nacllcan".utf8) + +/* Generate a key from a `password`. Optional if you already have a key */ +let key = try PKCS5.PBKDF2( + password: password, + salt: salt, + iterations: 4096, + keyLength: 32, /* AES-256 */ + variant: .sha256 +).calculate() + +/* Generate random IV value. IV is public value. Either need to generate, or get it from elsewhere */ +let iv = AES.randomIV(AES.blockSize) + +/* AES cryptor instance */ +let aes = try AES(key: key, blockMode: CBC(iv: iv), padding: .pkcs7) + +/* Encrypt Data */ +let inputData = Data() +let encryptedBytes = try aes.encrypt(inputData.bytes) +let encryptedData = Data(encryptedBytes) + +/* Decrypt Data */ +let decryptedBytes = try aes.decrypt(encryptedData.bytes) +let decryptedData = Data(decryptedBytes) ``` ###### All at once @@ -393,8 +433,6 @@ do { } ``` -See [Playground](/CryptoSwift.playground/Contents.swift) for sample code that work with stream. - ###### AES Advanced usage ```swift let input: Array = [0,1,2,3,4,5,6,7,8,9] diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift index 617ff7d..9d1a908 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/AES.Cryptors.swift @@ -17,7 +17,7 @@ extension AES: Cryptors { public func makeEncryptor() throws -> Cryptor & Updatable { - let worker = try blockMode.worker(blockSize: AES.blockSize, cipherOperation: encrypt) + let worker = try blockMode.worker(blockSize: AES.blockSize, cipherOperation: encrypt, encryptionOperation: encrypt) if worker is StreamModeWorker { return try StreamEncryptor(blockSize: AES.blockSize, padding: padding, worker) } @@ -26,7 +26,7 @@ extension AES: Cryptors { public func makeDecryptor() throws -> Cryptor & Updatable { let cipherOperation: CipherOperationOnBlock = blockMode.options.contains(.useEncryptToDecrypt) == true ? encrypt : decrypt - let worker = try blockMode.worker(blockSize: AES.blockSize, cipherOperation: cipherOperation) + let worker = try blockMode.worker(blockSize: AES.blockSize, cipherOperation: cipherOperation, encryptionOperation: encrypt) if worker is StreamModeWorker { return try StreamDecryptor(blockSize: AES.blockSize, padding: padding, worker) } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift index 328169e..c16384f 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockDecryptor.swift @@ -66,6 +66,10 @@ public class BlockDecryptor: Cryptor, Updatable { accumulated.removeFirst(processedBytesCount) // super-slow if isLast { + if accumulatedWithoutSuffix.isEmpty, var finalizingWorker = worker as? FinalizingDecryptModeWorker { + try finalizingWorker.willDecryptLast(bytes: self.accumulated.suffix(self.worker.additionalBufferSize)) + plaintext = Array(try finalizingWorker.didDecryptLast(bytes: plaintext.slice)) + } plaintext = self.padding.remove(from: plaintext, blockSize: self.blockSize) } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift index de613c5..92b2acc 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/BlockMode.swift @@ -18,7 +18,7 @@ public typealias CipherOperationOnBlock = (_ block: ArraySlice) -> Array< public protocol BlockMode { var options: BlockModeOption { get } //TODO: doesn't have to be public - func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker + func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker } typealias StreamMode = BlockMode diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift index e9043fc..c0e5945 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CBC.swift @@ -29,7 +29,7 @@ public struct CBC: BlockMode { self.iv = iv } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if self.iv.count != blockSize { throw Error.invalidInitializationVector } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CCM.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CCM.swift index 1a1a75c..a714379 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CCM.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CCM.swift @@ -17,9 +17,11 @@ // https://csrc.nist.gov/publications/detail/sp/800-38c/final #if canImport(Darwin) - import Darwin -#else - import Glibc +import Darwin +#elseif canImport(Glibc) +import Glibc +#elseif canImport(ucrt) +import ucrt #endif /// Counter with Cipher Block Chaining-Message Authentication Code @@ -69,7 +71,7 @@ public struct CCM: StreamMode { self.authenticationTag = authenticationTag } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if self.nonce.isEmpty { throw Error.invalidInitializationVector } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift index 28e6ae5..26d4cca 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CFB.swift @@ -29,7 +29,7 @@ public struct CFB: BlockMode { self.iv = iv } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if self.iv.count != blockSize { throw Error.invalidInitializationVector } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift index 8c9e35d..a6b8c20 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/CTR.swift @@ -30,7 +30,7 @@ public struct CTR: StreamMode { self.counter = counter } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if self.iv.count != blockSize { throw Error.invalidInitializationVector } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift index 3559963..d96a304 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/ECB.swift @@ -22,7 +22,7 @@ public struct ECB: BlockMode { public init() { } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { ECBModeWorker(blockSize: blockSize, cipherOperation: cipherOperation) } } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift index 518f0d9..5439d27 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/GCM.swift @@ -64,7 +64,7 @@ public final class GCM: BlockMode { self.authenticationTag = authenticationTag } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if self.iv.isEmpty { throw Error.invalidInitializationVector } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OCB.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OCB.swift new file mode 100644 index 0000000..9144be1 --- /dev/null +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/OCB.swift @@ -0,0 +1,396 @@ +// +// CryptoSwift +// +// Copyright (C) Marcin Krzyżanowski +// This software is provided 'as-is', without any express or implied warranty. +// +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose,including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: +// +// - The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required. +// - Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +// - This notice may not be removed or altered from any source or binary distribution. +// + +// The OCB Authenticated-Encryption Algorithm +// https://tools.ietf.org/html/rfc7253 +// + +public final class OCB: BlockMode { + + public enum Mode { + /// In combined mode, the authentication tag is directly appended to the encrypted message. This is usually what you want. + case combined + /// Some applications may need to store the authentication tag and the encrypted message at different locations. + case detached + } + + public let options: BlockModeOption = [.initializationVectorRequired] + + public enum Error: Swift.Error { + case invalidNonce + case fail + } + + private let N: Array + private let additionalAuthenticatedData: Array? + private let mode: Mode + + /// Length of authentication tag, in bytes. + /// For encryption, the value is given as init parameter. + /// For decryption, the length of given authentication tag is used. + private let tagLength: Int + + // `authenticationTag` nil for encryption, known tag for decryption + /// For encryption, the value is set at the end of the encryption. + /// For decryption, this is a known Tag to validate against. + public var authenticationTag: Array? + + // encrypt + public init(nonce N: Array, additionalAuthenticatedData: Array? = nil, tagLength: Int = 16, mode: Mode = .detached) { + self.N = N + self.additionalAuthenticatedData = additionalAuthenticatedData + self.mode = mode + self.tagLength = tagLength + } + + // decrypt + public convenience init(nonce N: Array, authenticationTag: Array, additionalAuthenticatedData: Array? = nil, mode: Mode = .detached) { + self.init(nonce: N, additionalAuthenticatedData: additionalAuthenticatedData, tagLength: authenticationTag.count, mode: mode) + self.authenticationTag = authenticationTag + } + + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { + if self.N.isEmpty || self.N.count > 15 { + throw Error.invalidNonce + } + + let worker = OCBModeWorker(N: N.slice, aad: self.additionalAuthenticatedData?.slice, expectedTag: self.authenticationTag, tagLength: self.tagLength, mode: self.mode, cipherOperation: cipherOperation, encryptionOperation: encryptionOperation) + worker.didCalculateTag = { [weak self] tag in + self?.authenticationTag = tag + } + return worker + } +} + +// MARK: - Worker + +final class OCBModeWorker: BlockModeWorker, FinalizingEncryptModeWorker, FinalizingDecryptModeWorker { + + let cipherOperation: CipherOperationOnBlock + var hashOperation: CipherOperationOnBlock! + + // Callback called when authenticationTag is ready + var didCalculateTag: ((Array) -> Void)? + + private let tagLength: Int + + let blockSize = 16 // 128 bit + var additionalBufferSize: Int + private let mode: OCB.Mode + + // Additional authenticated data + private let aad: ArraySlice? + // Known Tag used to validate during decryption + private var expectedTag: Array? + + /* + * KEY-DEPENDENT + */ + // NOTE: elements are lazily calculated + private var l = [Array]() + private var lAsterisk: Array + private var lDollar: Array + + /* + * PER-ENCRYPTION/DECRYPTION + */ + private var mainBlockCount: UInt64 + private var offsetMain: Array + private var checksum: Array + + init(N: ArraySlice, aad: ArraySlice? = nil, expectedTag: Array? = nil, tagLength: Int, mode: OCB.Mode, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) { + + self.cipherOperation = cipherOperation + self.hashOperation = encryptionOperation + self.mode = mode + self.aad = aad + self.expectedTag = expectedTag + self.tagLength = tagLength + + if mode == .combined { + self.additionalBufferSize = tagLength + } else { + self.additionalBufferSize = 0 + } + + /* + * KEY-DEPENDENT INITIALIZATION + */ + + let zeros = Array(repeating: 0, count: self.blockSize) + self.lAsterisk = self.hashOperation(zeros.slice)! /// L_* = ENCIPHER(K, zeros(128)) + self.lDollar = double(self.lAsterisk) /// L_$ = double(L_*) + self.l.append(double(self.lDollar)) /// L_0 = double(L_$) + + /* + * NONCE-DEPENDENT AND PER-ENCRYPTION/DECRYPTION INITIALIZATION + */ + + /// Nonce = num2str(TAGLEN mod 128,7) || zeros(120-bitlen(N)) || 1 || N + var nonce = Array(repeating: 0, count: blockSize) + nonce[(nonce.count - N.count)...] = N + nonce[0] = UInt8(tagLength) << 4 + nonce[blockSize - 1 - N.count] |= 1 + + /// bottom = str2num(Nonce[123..128]) + let bottom = nonce[15] & 0x3F + + /// Ktop = ENCIPHER(K, Nonce[1..122] || zeros(6)) + nonce[15] &= 0xC0 + let Ktop = self.hashOperation(nonce.slice)! + + /// Stretch = Ktop || (Ktop[1..64] xor Ktop[9..72]) + let Stretch = Ktop + xor(Ktop[0..<8], Ktop[1..<9]) + + /// Offset_0 = Stretch[1+bottom..128+bottom] + var offsetMAIN_0 = Array(repeating: 0, count: blockSize) + let bits = bottom % 8 + let bytes = Int(bottom / 8) + if bits == 0 { + offsetMAIN_0[0..> (8 - bits))) + } + } + + self.mainBlockCount = 0 + self.offsetMain = Array(offsetMAIN_0.slice) + self.checksum = Array(repeating: 0, count: self.blockSize) /// Checksum_0 = zeros(128) + } + + /// L_i = double(L_{i-1}) for every integer i > 0 + func getLSub(_ n: Int) -> Array { + while n >= self.l.count { + self.l.append(double(self.l.last!)) + } + return self.l[n] + } + + func computeTag() -> Array { + + let sum = self.hashAAD() + + /// Tag = ENCIPHER(K, Checksum_* xor Offset_* xor L_$) xor HASH(K,A) + return xor(self.hashOperation(xor(xor(self.checksum, self.offsetMain).slice, self.lDollar))!, sum) + } + + func hashAAD() -> Array { + var sum = Array(repeating: 0, count: blockSize) + + guard let aad = self.aad else { + return sum + } + + var offset = Array(repeating: 0, count: blockSize) + var blockCount: UInt64 = 1 + for aadBlock in aad.batched(by: self.blockSize) { + + if aadBlock.count == self.blockSize { + + /// Offset_i = Offset_{i-1} xor L_{ntz(i)} + offset = xor(offset, self.getLSub(ntz(blockCount))) + + /// Sum_i = Sum_{i-1} xor ENCIPHER(K, A_i xor Offset_i) + sum = xor(sum, self.hashOperation(xor(aadBlock, offset))!) + } else { + if !aadBlock.isEmpty { + + /// Offset_* = Offset_m xor L_* + offset = xor(offset, self.lAsterisk) + + /// CipherInput = (A_* || 1 || zeros(127-bitlen(A_*))) xor Offset_* + let cipherInput: Array = xor(extend(aadBlock, size: blockSize), offset) + + /// Sum = Sum_m xor ENCIPHER(K, CipherInput) + sum = xor(sum, self.hashOperation(cipherInput.slice)!) + } + } + blockCount += 1 + } + + return sum + } + + func encrypt(block plaintext: ArraySlice) -> Array { + + if plaintext.count == self.blockSize { + return self.processBlock(block: plaintext, forEncryption: true) + } else { + return self.processFinalBlock(block: plaintext, forEncryption: true) + } + } + + func finalize(encrypt ciphertext: ArraySlice) throws -> ArraySlice { + + let tag = self.computeTag() + + self.didCalculateTag?(tag) + + switch self.mode { + case .combined: + return ciphertext + tag + case .detached: + return ciphertext + } + } + + func decrypt(block ciphertext: ArraySlice) -> Array { + + if ciphertext.count == self.blockSize { + return self.processBlock(block: ciphertext, forEncryption: false) + } else { + return self.processFinalBlock(block: ciphertext, forEncryption: false) + } + } + + func finalize(decrypt plaintext: ArraySlice) throws -> ArraySlice { + // do nothing + plaintext + } + + private func processBlock(block: ArraySlice, forEncryption: Bool) -> Array { + + /* + * OCB-ENCRYPT/OCB-DECRYPT: Process any whole blocks + */ + + self.mainBlockCount += 1 + + /// Offset_i = Offset_{i-1} xor L_{ntz(i)} + self.offsetMain = xor(self.offsetMain, self.getLSub(ntz(self.mainBlockCount))) + + /// C_i = Offset_i xor ENCIPHER(K, P_i xor Offset_i) + /// P_i = Offset_i xor DECIPHER(K, C_i xor Offset_i) + var mainBlock = Array(block) + mainBlock = xor(mainBlock, offsetMain) + mainBlock = self.cipherOperation(mainBlock.slice)! + mainBlock = xor(mainBlock, self.offsetMain) + + /// Checksum_i = Checksum_{i-1} xor P_i + if forEncryption { + self.checksum = xor(self.checksum, block) + } else { + self.checksum = xor(self.checksum, mainBlock) + } + + return mainBlock + } + + private func processFinalBlock(block: ArraySlice, forEncryption: Bool) -> Array { + + let out: Array + + if block.isEmpty { + /// C_* = + /// P_* = + out = [] + + } else { + + /// Offset_* = Offset_m xor L_* + self.offsetMain = xor(self.offsetMain, self.lAsterisk) + + /// Pad = ENCIPHER(K, Offset_*) + let Pad = self.hashOperation(self.offsetMain.slice)! + + /// C_* = P_* xor Pad[1..bitlen(P_*)] + /// P_* = C_* xor Pad[1..bitlen(C_*)] + out = xor(block, Pad[0..) throws -> ArraySlice { + // Validate tag + switch self.mode { + case .combined: + // overwrite expectedTag property used later for verification + self.expectedTag = Array(ciphertext.suffix(self.tagLength)) + return ciphertext[ciphertext.startIndex..) throws -> ArraySlice { + // Calculate MAC tag. + let computedTag = self.computeTag() + + // Validate tag + guard let expectedTag = self.expectedTag, computedTag == expectedTag else { + throw OCB.Error.fail + } + + return plaintext + } +} + +// MARK: - Local utils + +private func ntz(_ x: UInt64) -> Int { + if x == 0 { + return 64 + } + + var xv = x + var n = 0 + while (xv & 1) == 0 { + n += 1 + xv = xv >> 1 + } + return n +} + +private func double(_ block: Array) -> Array { + var ( carry, result) = shiftLeft(block) + + /* + * NOTE: This construction is an attempt at a constant-time implementation. + */ + result[15] ^= (0x87 >> ((1 - carry) << 3)) + + return result +} + +private func shiftLeft(_ block: Array) -> (UInt8, Array) { + var output = Array(repeating: 0, count: block.count) + + var bit: UInt8 = 0 + + for i in 0..> 7) & 1 + } + return (bit, output) +} + +private func extend(_ block: ArraySlice, size: Int) -> Array { + var output = Array(repeating: 0, count: size) + output[0.. CipherModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if self.iv.count != blockSize { throw Error.invalidInitializationVector } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift index cb2c0b9..f6845af 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/BlockMode/PCBC.swift @@ -29,7 +29,7 @@ public struct PCBC: BlockMode { self.iv = iv } - public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { + public func worker(blockSize: Int, cipherOperation: @escaping CipherOperationOnBlock, encryptionOperation: @escaping CipherOperationOnBlock) throws -> CipherModeWorker { if self.iv.count != blockSize { throw Error.invalidInitializationVector } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift index 573ef3b..3c9b958 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/Blowfish.swift @@ -329,12 +329,12 @@ public final class Blowfish { } private func setupBlockModeWorkers() throws { - self.encryptWorker = try self.blockMode.worker(blockSize: Blowfish.blockSize, cipherOperation: self.encrypt) + self.encryptWorker = try self.blockMode.worker(blockSize: Blowfish.blockSize, cipherOperation: self.encrypt, encryptionOperation: self.encrypt) if self.blockMode.options.contains(.useEncryptToDecrypt) { - self.decryptWorker = try self.blockMode.worker(blockSize: Blowfish.blockSize, cipherOperation: self.encrypt) + self.decryptWorker = try self.blockMode.worker(blockSize: Blowfish.blockSize, cipherOperation: self.encrypt, encryptionOperation: self.encrypt) } else { - self.decryptWorker = try self.blockMode.worker(blockSize: Blowfish.blockSize, cipherOperation: self.decrypt) + self.decryptWorker = try self.blockMode.worker(blockSize: Blowfish.blockSize, cipherOperation: self.decrypt, encryptionOperation: self.encrypt) } } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift index d0e5fd9..f9277f0 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/Cryptors.swift @@ -14,9 +14,11 @@ // #if canImport(Darwin) - import Darwin -#else - import Glibc +import Darwin +#elseif canImport(Glibc) +import Glibc +#elseif canImport(ucrt) +import ucrt #endif /// Worker cryptor/decryptor of `Updatable` types diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift index 42e8c91..fc1cd5c 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/HKDF.swift @@ -17,9 +17,11 @@ // #if canImport(Darwin) - import Darwin -#else - import Glibc +import Darwin +#elseif canImport(Glibc) +import Glibc +#elseif canImport(ucrt) +import ucrt #endif /// A key derivation function. diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift index d8d67ba..4d072f3 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/Int+Extension.swift @@ -15,9 +15,11 @@ // #if canImport(Darwin) - import Darwin -#else - import Glibc +import Darwin +#elseif canImport(Glibc) +import Glibc +#elseif canImport(ucrt) +import ucrt #endif extension FixedWidthInteger { diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift index 12f9e95..a4cd05b 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/PKCS/PBKDF2.swift @@ -17,9 +17,11 @@ // #if canImport(Darwin) - import Darwin -#else - import Glibc +import Darwin +#elseif canImport(Glibc) +import Glibc +#elseif canImport(ucrt) +import ucrt #endif public extension PKCS5 { diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift index f688a76..b9fa965 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/SHA3.swift @@ -18,9 +18,11 @@ // #if canImport(Darwin) - import Darwin -#else - import Glibc +import Darwin +#elseif canImport(Glibc) +import Glibc +#elseif canImport(ucrt) +import ucrt #endif public final class SHA3: DigestType { diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift index 849400a..fc7d150 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/SecureBytes.swift @@ -14,9 +14,11 @@ // #if canImport(Darwin) - import Darwin -#else - import Glibc +import Darwin +#elseif canImport(Glibc) +import Glibc +#elseif canImport(WinSDK) +import WinSDK #endif typealias Key = SecureBytes @@ -31,13 +33,21 @@ final class SecureBytes { self.bytes = bytes self.count = bytes.count self.bytes.withUnsafeBufferPointer { (pointer) -> Void in - mlock(pointer.baseAddress, pointer.count) + #if os(Windows) + VirtualLock(UnsafeMutableRawPointer(mutating: pointer.baseAddress), SIZE_T(pointer.count)) + #else + mlock(pointer.baseAddress, pointer.count) + #endif } } deinit { self.bytes.withUnsafeBufferPointer { (pointer) -> Void in - munlock(pointer.baseAddress, pointer.count) + #if os(Windows) + VirtualUnlock(UnsafeMutableRawPointer(mutating: pointer.baseAddress), SIZE_T(pointer.count)) + #else + munlock(pointer.baseAddress, pointer.count) + #endif } } } diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift index a1deeb2..2f70644 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/UInt32+Extension.swift @@ -14,9 +14,11 @@ // #if canImport(Darwin) - import Darwin -#else - import Glibc +import Darwin +#elseif canImport(Glibc) +import Glibc +#elseif canImport(ucrt) +import ucrt #endif protocol _UInt32Type {} diff --git a/Example/Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift b/Example/Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift index b4de65d..d2bfc91 100644 --- a/Example/Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift +++ b/Example/Pods/CryptoSwift/Sources/CryptoSwift/UInt8+Extension.swift @@ -14,9 +14,11 @@ // #if canImport(Darwin) - import Darwin -#else - import Glibc +import Darwin +#elseif canImport(Glibc) +import Glibc +#elseif canImport(ucrt) +import ucrt #endif public protocol _UInt8Type {} diff --git a/Example/Pods/Local Podspecs/SwiftyBootpay.podspec.json b/Example/Pods/Local Podspecs/SwiftyBootpay.podspec.json index f459340..4506135 100644 --- a/Example/Pods/Local Podspecs/SwiftyBootpay.podspec.json +++ b/Example/Pods/Local Podspecs/SwiftyBootpay.podspec.json @@ -1,6 +1,6 @@ { "name": "SwiftyBootpay", - "version": "3.3.13", + "version": "3.4.107", "summary": "Bootpay PG Plugin For Swift", "homepage": "https://github.com/bootpay/SwiftyBootpay", "license": { @@ -12,7 +12,8 @@ }, "source": { "git": "https://github.com/bootpay/SwiftyBootpay.git", - "tag": "3.3.13" + "tag": "3.4.107", + "branch": "main" }, "platforms": { "ios": "10.0" diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 3858db3..79c2781 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,12 +1,12 @@ PODS: - Alamofire (5.2.2) - - CryptoSwift (1.3.2) + - CryptoSwift (1.3.7) - JGProgressHUD (2.2) - ObjectMapper (4.2.0) - SnapKit (5.0.1) - - SwiftOTP (2.0.2): + - SwiftOTP (2.0.3): - CryptoSwift (>= 1.0.0) - - SwiftyBootpay (3.3.13): + - SwiftyBootpay (3.4.107): - Alamofire (~> 5.2.2) - CryptoSwift - JGProgressHUD @@ -32,13 +32,13 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Alamofire: 814429acc853c6c54ff123fc3d2ef66803823ce0 - CryptoSwift: 093499be1a94b0cae36e6c26b70870668cb56060 + CryptoSwift: b6faad405e69964740422daf121918b5b1870f2b JGProgressHUD: d83d7a981b85d11205e19ff8ad5bb9c40571c847 ObjectMapper: 1eb41f610210777375fa806bf161dc39fb832b81 SnapKit: 97b92857e3df3a0c71833cce143274bf6ef8e5eb - SwiftOTP: 572fb5601add61e93534cf6644ef236d65b4aae8 - SwiftyBootpay: d05b6d99a6dbaeb9cf807c0bd975e8eba803e114 + SwiftOTP: ce98ded1ab42e4e66c39228fcad6b0c07b98e494 + SwiftyBootpay: 1cf14c6230c17548a6cdc004f9feaa4c44158c50 PODFILE CHECKSUM: d088f3acb154f9617cdcf95aae0cbf40903d80d2 -COCOAPODS: 1.9.1 +COCOAPODS: 1.10.1 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 727d2e7..5abd7dc 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,740 +7,742 @@ objects = { /* Begin PBXBuildFile section */ - 007FE6801ED525F9E448CE3B8E64C8E5 /* Base32.swift in Sources */ = {isa = PBXBuildFile; fileRef = A83137C48C3FC0375AA37D482330B5AF /* Base32.swift */; }; - 00C101BB5B71CA1B24DE64756F5B82D8 /* JGProgressHUDIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = FF0B19FDDF980AE345EB4DC5D2ED566A /* JGProgressHUDIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 013BAC24F7AC722E59517CB110A9E685 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67537868764849001823A6DCA08CEC4C /* HTTPMethod.swift */; }; - 01C550A53C9E2047C83F8E85BBB558E6 /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = BED590C51BAD365D18E253A7983482DD /* ConstraintLayoutSupportDSL.swift */; }; - 02E11AACB509E00F07FC45B073374310 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B284042B6724BB2A85AF63F8340E5D9 /* EnumTransform.swift */; }; - 039EAFE7935113805F3FC21BF1B7C9D5 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = C38D56B16DE40F61EDFF597D135D99D1 /* LayoutConstraint.swift */; }; - 03C3CB941719E53B3B7112BB24FEB1E6 /* BootpayItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1458CB0059DFC52C75BAD64583A56D46 /* BootpayItem.swift */; }; - 040AD92907B972B42FFD4B6174887B34 /* JGProgressHUDFadeZoomAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BBAE7E62CE33B5B2E54DCAE1F2B5B0E /* JGProgressHUDFadeZoomAnimation.m */; }; - 044707D54906AA7CF4554B3516491FB8 /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28FFE34D69CDFFEAB332AE1231357196 /* PKCS7Padding.swift */; }; - 04543980C4A7CE442330B0F1BC4A9A54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */; }; - 05C985DCB4F3D41492BC333EDA7EE34E /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2558EA58B4BD4F4307E81E23F346FE3 /* Blowfish+Foundation.swift */; }; - 067CFDFCCF814A9410283CD3F8150503 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C763D90520C1E816EA7373F3A5DD69D4 /* UInt32+Extension.swift */; }; - 06E163C52E97677F09398896E25E0195 /* BootpayBioPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = F14A749B758B672CB4BAAE9D5B746204 /* BootpayBioPayload.swift */; }; - 083B5CFA58A3339BDF6D6DC3A0507DEA /* JGProgressHUDAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4355B9979CB125364F59542EB3CF41C9 /* JGProgressHUDAnimation.m */; }; - 08BCA630E30C7AE682A24FBA9BEAFE2D /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA7F603E26CB0708EC80D2B874B10EAF /* HMAC+Foundation.swift */; }; - 08D0324DB4D2E86ADB32FB3CDBD73DDC /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A42AE12ECB246207EDB621704E4E400F /* String+Extension.swift */; }; - 09AB99BC4EE247AD5D92A6929AC316F3 /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E40AD5CAD0B846393D64439B60C75453 /* StreamEncryptor.swift */; }; - 0A0B6645CBFB982C45D3AB3DE653FB79 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F5AD5322B04E9026A07EC2BDEFA6876 /* DigestType.swift */; }; - 0A1849775CF90D514963187D3A771CF8 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 312F8E70748D7DB305715F9C79D8B87B /* Combine.swift */; }; - 0A900DF17E3B64F08AF673E9A0DDD697 /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 863CB1D716A7DDF302287290D2785D5F /* OperationQueue+Alamofire.swift */; }; - 0B6827DA7D3958EE994957E081C82C23 /* Pods-SwiftyBootpay_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 63DE1EE677CE723196BC06C712079FC1 /* Pods-SwiftyBootpay_Example-dummy.m */; }; - 0BDEB0C89363CEB6DCCA73EBCEB94D83 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E1D94F92CE1C934D7CCA3D99C0C07C5 /* BlockMode.swift */; }; - 0C9FD48191A4E68417C886A9BA356C76 /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 902F954E152243D19B4EDE162CC7A8FB /* ISO8601DateTransform.swift */; }; - 0DCCE84DF2E5C1E8ED3903A04E476D8D /* JGProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A92845C699A19D5E0A4F292585DF330 /* JGProgressHUD.m */; }; - 0E478FF7AD49149E802261DB853A2837 /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC31E6C447DAE3BB34B4086DFE7D83CD /* DateTransform.swift */; }; - 0F26C9536AD2D5D50CF7994FAB46E9FA /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 671814C112C6EDFFA8E96B8D10DC18AE /* Generics.swift */; }; - 1208E81DA8B532D0646D627B50290EB6 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FAB85F0FCD2E1BDDC4668E175005D81 /* AFError.swift */; }; - 15558F00820248BC3C31CCF0FA75C532 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = D79A8D85FBBF9EC261A30F62B3673B3D /* AES.Cryptors.swift */; }; - 15A581FE47E8E0B711E603627653C5BF /* Generator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5E02BC5AD6747F6738CFECEC76D8939 /* Generator.swift */; }; - 15BD0D56C2301F1210B4991E5FB40699 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E08B4739DB2574125CC4D403A9F411D /* Scrypt.swift */; }; - 185AB90C97C31306B8AED9E38BF862D8 /* ScalingCarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06E57E8D06C5E7F9F9EAEDF1C749D0E4 /* ScalingCarouselView.swift */; }; - 18CF94C361B05399BC6E83328DFF96DF /* JGProgressHUDSuccessIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 36B4132FA2693A2BBB58F0F0BED873CF /* JGProgressHUDSuccessIndicatorView.m */; }; - 1956E392D500F3CD899D39A5F805736D /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = D879E7D02698289EDE66D54EDA6F8340 /* Typealiases.swift */; }; - 19AC3D76B60D6EF617D0A5609B54B2E1 /* BootpayController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAB336C30F638E51F626F0E61D578647 /* BootpayController.swift */; }; - 19D605A3233499828FB6B790869F3E9C /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5DD34F8326AD8F8E78939362B203A1B6 /* NetworkReachabilityManager.swift */; }; - 1AFB1E9136716C0B61D6C700FF1E60FD /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5B8C1A52FAF5D6946519D57F01355CC /* ConstraintLayoutGuide+Extensions.swift */; }; - 1B13A393964510E4DC2B44C95E621F05 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFFED580E12ABFEC877D01748F2CF575 /* SHA3.swift */; }; - 1C9F46BEA8B45B6C6BFE244BCC19274C /* SwiftOTP-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C25024B6994DD956C476F62238A13EA /* SwiftOTP-dummy.m */; }; - 1ED526F423F69223FCA85E2574DF1DFE /* Pods-SwiftyBootpay_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FCACAC94B038B3C249252CF2C4E80D19 /* Pods-SwiftyBootpay_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2115CECF15EC80604692894143F3932E /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93944065831989FCDD310E504CAEF409 /* AEAD.swift */; }; - 212EDC48B68107BEA9247F3464CE696E /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C8F6AA8E24AFF024775CB5FB9BF1DAE /* StringEncoding+Alamofire.swift */; }; - 2146BF023CC905C1DFB226FBEF8CF80A /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74AC180E26E68177694CF8555127337D /* ECB.swift */; }; - 218C14EAE5AA31C30314AE0289B732A0 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = A685F1926D97F5E582EED6F4A86B97E1 /* Protected.swift */; }; - 21AB1101BBE4D28D74ED4EDF0D59025A /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D9C45BF887D412DA22DF91EFB2926BB /* ConstraintInsets.swift */; }; - 2258747D44CCBECF7E85346FE9069024 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = A26E7F69C228A57A390E5E525480AF22 /* Cipher.swift */; }; - 232B2F922E972D9F43D2EE15ACECE734 /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A5C3E3D1E4FEF41E0DF171AD4EF7AE9 /* ConstraintPriority.swift */; }; - 2401C443F587F48105E99353F21B5003 /* StringExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3510CC46B8DF01ED92FDF45C024B5369 /* StringExtension.swift */; }; - 248B298C67519E44EF0B0FC57ABF1AB5 /* BootpayStatItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72B483B22CB9BB613163EAD081F82912 /* BootpayStatItem.swift */; }; - 26661371FE41122B779422E580631A57 /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8992BFDBF51CDD163F01B2C7A09EBA7 /* BatchedCollection.swift */; }; - 27E59A11A2743B0595CDE3A08675EAE1 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 700CE37D264FCE3E5B994265745C8B82 /* DispatchQueue+Alamofire.swift */; }; - 2834DA992389D0AFB77DAC86AC0CA540 /* JGProgressHUDShadow.m in Sources */ = {isa = PBXBuildFile; fileRef = 996CCE31175B099773ABE64C3E4FC480 /* JGProgressHUDShadow.m */; }; - 28AC3DF9D74A43CF7329B0E79D6EC560 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */; }; - 28CCAB591F87200E760C3B0D6118E332 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9DC2C2D55476C6B0F3425C3E3864709 /* BlockDecryptor.swift */; }; - 29E8DB8011CC93E90CD8FFC64699A877 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93A2CE304789D4DC610CED839CB060F1 /* PBKDF1.swift */; }; - 2A1BBBC87AC2367BD14610A9D10D285E /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 104D079E60FC9FE4926FA10C86CC3B46 /* ConstraintAttributes.swift */; }; - 2C06F2E972444D359754D21AC46BFFE2 /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 854C380D71267E07C9B74A433372AAB8 /* ConstraintInsetTarget.swift */; }; - 2D10E08AEF67CB49A0582555F841AAC5 /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC3B33FA86F8E4849DFDE5F4310E5CDD /* CompactMap.swift */; }; - 2E2EAD560E0B6F7C01E9096986650A95 /* UInt64+Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = A660C987DAEDC7502E45AAAD23914246 /* UInt64+Data.swift */; }; - 30FFC4B71D4DCEFADC7C958E1190A161 /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8CCA5ADFEA87BF60568AC6F6ABA55C7E /* MD5.swift */; }; - 3313FD032839C22E9F0100CB5D7BDA16 /* BootpayUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23E84A519FD0CEF271216E45DA2E3249 /* BootpayUser.swift */; }; - 33A59DD3171E7D8095F81AF0F6894FD0 /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 275399CBC123F35B87648E1246347CEE /* AES+Foundation.swift */; }; - 33E9E0ED94A4081E696295F83DD2D9C7 /* JGProgressHUDErrorIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 640E5B8474A1714FB55D5DE5ED5A9C85 /* JGProgressHUDErrorIndicatorView.m */; }; - 34CC839FA52AE2A0F3B1894BCDC5CACB /* BootpayBioTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9DEA57597DEFD33F361F159D4896FA /* BootpayBioTheme.swift */; }; - 3556C30029720A3AF9CDBF70BE28281C /* FromJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F269E762C114D1E2C478449BF2C6F88 /* FromJSON.swift */; }; - 35C2DBB171E9FEAFA4475259F0A36BB0 /* BootpayWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 889524145EDCBC827D85F14E4083CF88 /* BootpayWebView.swift */; }; - 3732CD5009E2E10F0D54E7D49A9818B7 /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17E00A066FFB7C2C00B916144EFDE382 /* Rabbit+Foundation.swift */; }; - 37E4C27B61FD708BB194D514B4FE95F8 /* SwiftyBootpay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 44A74AAFC330212784534E2BE6F5F0C2 /* SwiftyBootpay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 381FF05F8B4F611EE9C2FDBE4457BB89 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D5C82126819A540AC3947F8CF32597E /* SessionDelegate.swift */; }; - 396BB2DC5A16C2E3B1A725881DFAA6A6 /* OTPAlgorithm.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFD5D7B20395073403727CCC32364200 /* OTPAlgorithm.swift */; }; - 3A3486233FB309EA82A465F93D8DE889 /* CBCMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACCD6373DC39E18FEED042849A593FBB /* CBCMAC.swift */; }; - 3B525CC6E41701E9A5969F9AD4F31CFD /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = E694ADEF1A423048933FD96F471467D3 /* BlockEncryptor.swift */; }; - 3B537A7B987B703B213D782D39D84820 /* CardCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 981971D021A4F837B4453124C83E6C71 /* CardCode.swift */; }; - 3BFC243AB9BD579969F0D5756560BCAA /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E9203952ED4115BB2D9CA8D71EEF89E /* Constraint.swift */; }; - 3E5285F4F36EAD77ECABBFB7F36BB1BB /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8828A9630738BC186D777D174730679E /* ConstraintView+Extensions.swift */; }; - 3EB1E8171A8E2E15A7B0AFF2095210F7 /* JGProgressHUDImageIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EEFC3759131BFE164446BF4A063FE50 /* JGProgressHUDImageIndicatorView.m */; }; - 3F1ECBD497A45250260618905A957017 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FC03688F96301982E7D363A31789AEA /* ZeroPadding.swift */; }; - 442EA849CBB8549884CD5FD9ADDD98C0 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2835854BD356D76C5715C14E36280D1 /* CBC.swift */; }; - 45B8CC1C61E7A0BB28CFA8CE7C12FEBC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC627468E19B4CE633127EEFA266D67D /* MultipartFormData.swift */; }; - 45EF41171CA52C2B9E61E1CCD69DDAB6 /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBB97C2FCB4D1C50AA821EE3037D4756 /* Map.swift */; }; - 46F89A6F630CE8753DE46B8451ACF3FE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D2894805CA0FE2F56CADA0A93288EAFC /* Images.xcassets */; }; - 47FDBBBD2704901588C3A7C56BBC502D /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5EA84590C959699970929AC72F09276 /* ServerTrustEvaluation.swift */; }; - 4AEC050FA7D5ED52FDA9DF50EA3560DF /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E661CDEE8CE30E35DEA92895B3832606 /* ParameterEncoder.swift */; }; - 4B142B035F2395B9F639A9132EA45E13 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = B7515769DD9D1BA5A3F9F98F59FB4E76 /* UInt128.swift */; }; - 4B5147E79EE68FD189494DD609B57F31 /* JGProgressHUDAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BE0526C1C597283C6603240598D8C01 /* JGProgressHUDAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4BA09DD20F30ABB2BCE71C15AC7713D3 /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87CEE24E16ADC25D5DF594F2EA1521DF /* ChaCha20.swift */; }; - 4C7A676DAE95EEAC3787A75349F0862D /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFB48C13AC309EB3581C62D5783EF18 /* SnapKit-dummy.m */; }; - 4EF773F0807FE4DE1804BAD0F52ECDAF /* SwiftOTP-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 56C678F524944BF9F58B10EE90837D9E /* SwiftOTP-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 50A90B2D4FA3EBFF26D653873734FEF7 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3BD3AA16D197DF8A711E1ECD2006E2C /* Authenticator.swift */; }; - 515F81B04F69C306053F5C827D2A22D4 /* JGProgressHUDIndeterminateIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 60F17AF6551BF58FD0C48423A609CEAB /* JGProgressHUDIndeterminateIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 51CD5887014967E77E58F5A163996454 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56BC8B698482C7EBDEFECDF1B1327F4B /* ConstraintMaker.swift */; }; - 534CD29203C578E26A2FA579E2041D7B /* BootpayBioPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDD165A292BDC8C0342A9CEEE464554A /* BootpayBioPrice.swift */; }; - 545EA49FA0B1F4CFBAE9568FF96850BD /* BootpayPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F23C8782FD5FC913427381D4A27E517 /* BootpayPayload.swift */; }; - 5506AD2EBA8077B907559BAFB8F9D260 /* SwiftOTP.h in Headers */ = {isa = PBXBuildFile; fileRef = 364EB1D603C724EBCBB73105EE04EAE1 /* SwiftOTP.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 553CF23D91DC8777B26191C77938004A /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C5A35BA8D2ADE66FB1F534BFCD22477 /* NSDecimalNumberTransform.swift */; }; - 56782173293488FE6042FBA164F66AD7 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F16BAB823872CAD7DD62B8B326553E5 /* Data+Extension.swift */; }; - 56DC26FF5395DB8D40481EA07F59E2A2 /* CardSelectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CCE7A2948E4E33D15A14912A6724062 /* CardSelectView.swift */; }; - 57B1876F2BE4168E5BFDB63D8CC849A0 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D398127C767F035E267E5A2E9FDCB8 /* ConstraintLayoutSupport.swift */; }; - 5854DF509E8A016B6235793D04083035 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA8DB0D77B71F3DEF64BE51B1F290469 /* ConstraintConstantTarget.swift */; }; - 58E922B0E45D494152E7BEA5FF41264C /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7674DCD107B080E116C12C169880B50F /* Array+Foundation.swift */; }; - 5AE604B540E793CFAADCD00A44FC2B0D /* RemoteLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11D2FC60745EDC61DBF25DD6C17D7173 /* RemoteLink.swift */; }; - 5C78BE7864470C1E2BA20C5CBD81B9D7 /* JGProgressHUDIndeterminateIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = B7D41650A8C638C4ED560FBC18E9DEAF /* JGProgressHUDIndeterminateIndicatorView.m */; }; - 5EFBBFC7CA49CCA49B2FC9FE87CFE097 /* SwiftyBootpay-ObjectC-Bridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 6460B7916662B4B314D9F1F8070B82D2 /* SwiftyBootpay-ObjectC-Bridge.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 603A9E67600BC3150740476F85A7AA0F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */; }; - 60AD44D1236ACD82D40A3789AA9F4C8E /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40A7ADA40707C8A9D934ABC09104015D /* Blowfish.swift */; }; - 618701EDE1480ECA27942A286117C923 /* BootpayExtra.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6034B7343B58D10416D1C6FBF56AA362 /* BootpayExtra.swift */; }; - 639C6438CD01AE7A36FE1E551F2E7A8F /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1967F79CB818D6F58A5819C047605612 /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 64C60112E347C8B0F4B70760861FA125 /* EnumOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15703377F056F0BEAD9E41B93CEFBB10 /* EnumOperators.swift */; }; - 6546D728B69398F93B506845141EBD61 /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FE5EE91309ED424D2DC46FF06702D7C /* EventMonitor.swift */; }; - 65659FC64F5249FE734ED7CEEDE9EEBC /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A4CBB9281AF7FC3F10C1BC21CF5E6D6 /* ChaCha20+Foundation.swift */; }; - 65F3F57891C3534229655745DB094F1B /* TransformOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7AC3A72DA123FD6D16E9162F1671078 /* TransformOf.swift */; }; - 664B70329CC935DB023416ADE2F203DC /* DictionaryTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0936C67B3AB70B01880C3DBDA37A089B /* DictionaryTransform.swift */; }; - 666EC5C8356E6D4448A2FE7BEE77AD88 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E11D72E9D6F278BF15C84DF79A588DC /* RedirectHandler.swift */; }; - 66B26C6CAE737EC21F4BA1F1851B69C5 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75544D017D97529F8D68F3EFDF5EA03F /* Result+Alamofire.swift */; }; - 66D18944E57602765B6571B0BFC9630F /* JGProgressHUD-Defines.h in Headers */ = {isa = PBXBuildFile; fileRef = 33F8F93AE15A26DE4BB45AAFE5DB9B3C /* JGProgressHUD-Defines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 677060043591B63B3CC4EF9BB2685D0E /* BootpayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55D56B985D67961BBAA17D2E2678100B /* BootpayParams.swift */; }; - 67F0180D484B413723C2196A8FBAD4F7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */; }; - 685C08200C0E6B0EBAA4CD760E4A4795 /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E8ACBC7EB8CF9FECE10349B1D4F5EA1 /* AEADChaCha20Poly1305.swift */; }; - 69CCBEEDFCA6D743D80026568D961919 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C435108A7296AFE32E697879915BFB /* ConstraintMakerExtendable.swift */; }; - 69E3A06BBDFDC7D06A9D4BDC4E895E73 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1EA662255D9769CAF7D31646AB3A1E0 /* ConstraintRelatableTarget.swift */; }; - 6AE407A4FB6C3D6ADD862CC6E3067A17 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2556BEF5EBEFF99E79F9D7EE7DB23362 /* Session.swift */; }; - 6C08F6A77889651626583100F560153D /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 620F107FD95B850AC3CBE3546E7C0F11 /* RequestTaskMap.swift */; }; - 6D8C8798BA67FEAC054AA1070D7B61E9 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16B20CCA95945EC31AE55F7623C880E7 /* SHA2.swift */; }; - 6DD4F39BCFE625C0728C850BA69053FB /* RemoteOrderPre.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2AF841D0CAD8304BEEC3677F7BB19ACD /* RemoteOrderPre.swift */; }; - 6E0EB9E7FAAEDBB7A73ECF3095F69C4A /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3024242020DB77E7F50DA0CAE6D79367 /* UILayoutSupport+Extensions.swift */; }; - 6E54F64E8DA73F4B0B46C216F9F93F63 /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12B40AE5F49CECDA6A801AD6B2EC5EDB /* RequestInterceptor.swift */; }; - 71760113E9B3E03E78C62C9365FEF70B /* CardInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = A40C3E4268FB75D4371E0D8703BFF766 /* CardInfo.swift */; }; - 71A7CECE1259724609F68E7067499806 /* HOTP.swift in Sources */ = {isa = PBXBuildFile; fileRef = D42098CE6DD1DE05EC7AD2491C7CCDA9 /* HOTP.swift */; }; - 71DE9DC2FA583526AB4D1FD7F00C099C /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81715C24CD5B78CF4ED8D3A376A708B4 /* ConstraintDirectionalInsetTarget.swift */; }; - 71E05BD1FA506C7DF875D81DC8DEA4D6 /* SwiftyBootpay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A15A2150CE0130CF69B3128DC572911C /* SwiftyBootpay-dummy.m */; }; - 7262FFAEB1BD2731B9A12B1D0B458DEC /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66E8645EFD87A46AEE4D8F9DE0234524 /* Digest.swift */; }; - 72EC2712926E6D28B52360D9AC41668F /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34768D2C671B9FBC43412AEFFC4CBB05 /* AlamofireExtended.swift */; }; - 75E146C12D1287228A0B493E87CDE31F /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84B36F67541E00CBAFBF05C197312DF /* ConstraintMakerRelatable.swift */; }; - 76294E19F8F3ED42DF3317C787D8BEF8 /* BootpayUX.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E4B09B20AF2F9BB5DB044A1D26F7E20 /* BootpayUX.swift */; }; - 77C9889055A3B32EA13A9616824DB0ED /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9DBCC14B40C5EAEA1FD3A291B36DED6 /* ConstraintLayoutGuideDSL.swift */; }; - 7803047DA2F58FEA92C2FE22784E9B57 /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE0D5758678B977631DD50513B8478AC /* AES.swift */; }; - 784B9ED449B3D447C7D6A8DB82F6B5C1 /* JGProgressHUDFadeZoomAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = CE11146DCF14306861597814BBA062A5 /* JGProgressHUDFadeZoomAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 78BB4BFABCB498A10A06C02661795CDB /* ObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1682AD6CB8D15DD5EC279AFBE146918C /* ObjectMapper-dummy.m */; }; - 7908F4065CB1E8A38293CE28F4936941 /* Mapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82A3B9E2D0CED6B70B729831AC7D3BAB /* Mapper.swift */; }; - 7C1702076F3A31D8D2D45A4A9F09B266 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C5A527972CE1EE5F982AFA52A7DC132 /* ConstraintMakerEditable.swift */; }; - 7D3DD4A8BB36733BA15868F7FB8C56CE /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CB9B54776405A61BCF4E24D21D81AC1F /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7EFA0201AFD860DA1A0B1350BB5EEABF /* BootpayAuthWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A08F734E1EDF4496D19CEBAC1EBECC01 /* BootpayAuthWebView.swift */; }; - 812150E28251B383E29ADE04BC481D44 /* JGProgressHUDRingIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = D006F10A2BBA7FEC9B7DAEC87DAA66E2 /* JGProgressHUDRingIndicatorView.m */; }; - 8277256ADEC3C4DCF79957D1CA681A9A /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8174078EDD0C4DD069C966A0A57D70FF /* ConstraintDSL.swift */; }; - 83ADD0310D235BAF1EF73EBFCFCBBB50 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */; }; - 84273331B9DBC7CCC0096CBD285B5B29 /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 969D745F92CFC8E858DC03CF9007588E /* UInt16+Extension.swift */; }; - 85B78668F9D73876B13E05AA4863084E /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2F015EE5D467F18FDCEA41723D06AAE /* Checksum.swift */; }; - 86D61ED9E92755CAA98639EF12E90D65 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 481B96E4E01D112C9063C4A09F182D3E /* Operators.swift */; }; - 8705BBF0D428BF0AE1B554A377ECC540 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9163F9D05E8354E01C6E497993DC092 /* ConstraintOffsetTarget.swift */; }; - 87AF24AA568FC42ABFA48829CB4B8145 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AA80F107CB8CBC0A0447FFC838A9E76 /* PKCS7.swift */; }; - 8A7CA6FDEFEF1F024C608A16E78ACDB2 /* BootpayMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7991DC572258698B4FA93F143E7B320C /* BootpayMethod.swift */; }; - 8AA937910F87915DE700CAB6C868689E /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6549891898BAB093B3258AAB2375E4D /* Notifications.swift */; }; - 8DA5B74F96053B88D81B4C81C4D42C64 /* ToJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9206DF04D8BB733DEB6909F4C9EBA2AE /* ToJSON.swift */; }; - 8E2CB0ED9A07AE57055399DEDBC27B87 /* JGProgressHUDFadeAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 563CF0ADE2240B47628B9DD894FC621C /* JGProgressHUDFadeAnimation.m */; }; - 8E8DB0413F47528F1A30410B067B9C28 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */; }; - 911448B2EDA2FF880108F77642797A88 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0562CC7AF7CFB3AE262C9525C1096667 /* ResponseSerialization.swift */; }; - 91B837CE0DCD8EDB300FCDFFA1279162 /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB25A9A1324CB97EADF8552561B91E05 /* HTTPHeaders.swift */; }; - 935FEB128D0ED8EDC2E62D75EDC09BBA /* Bootpay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55DA97D4F9042D2051257B89FB137021 /* Bootpay.swift */; }; - 9549326A3BF24D203A2BAAA25E9BD121 /* ScalingCarouselLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = CCC80EF349855BBCD7BB29BA05C84117 /* ScalingCarouselLayout.swift */; }; - 96C369664F04EBEAB41792B9250C6E96 /* JGProgressHUDErrorIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A4339EB929B52C5C79DD6F6D471CF06 /* JGProgressHUDErrorIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 96DBFE11AAE27CA46A220B4FB06C355B /* IntegerOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41BF728318E17DB8FD6EAAC9614C402B /* IntegerOperators.swift */; }; - 99A1378F4758867783A9F5F8519CFAFC /* JGProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 723FD2222653A176357F6F89E9530800 /* JGProgressHUD-dummy.m */; }; - 99AA881E586F22B7E3295232A94C462A /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF2D959CC3625007A68BB03CA8FCB9E /* PKCS5.swift */; }; - 99B5296A5EDECE0557B9DA53D9E19CA1 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 509B414A5C4DC812D929679D6DC45CC8 /* ConstraintItem.swift */; }; - 9A2E1EA1F0F8F4FA13589FEFC4D712B0 /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 155D71EA43188EF8FC41193B5E5EDDAE /* HexColorTransform.swift */; }; - 9B09968922C73D50040C6EEF57890D6E /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7547FF08826B46DB8394FA37087BE8DD /* ConstraintConfig.swift */; }; - 9B1D8A7798D8A6F518FC9AF9725431D0 /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B97F4F361077A99EB2739159A4FD08B /* URLConvertible+URLRequestConvertible.swift */; }; - 9BBB1FFC4DBE4DBC086B77A27DF11406 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73B0FCB8AA4878E2795C8202E3B521A8 /* PCBC.swift */; }; - 9EB804B07FC9653BB0B1C056E2B748E7 /* SMSPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A5C02A135C1211CA93F859653BB18B /* SMSPayload.swift */; }; - 9F73038C5D5809B9C54A4D5455C0CA91 /* MapError.swift in Sources */ = {isa = PBXBuildFile; fileRef = C7E17760E608E6925413D79BE98CFD67 /* MapError.swift */; }; - 9F97818F89D611D55CB8D0FA48C05334 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05F029C02EDE91E261F255248FEF1074 /* CMAC.swift */; }; - 9FED70D1E1FBFB80E974E999EF732258 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81B5E2A4B4F4CFE99A528B6BD8A88A58 /* RetryPolicy.swift */; }; - A0128FB8A04711277900964B8220F2D9 /* JGProgressHUDPieIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 11B4200702ED1524AB1B4F9D26D08B67 /* JGProgressHUDPieIndicatorView.m */; }; - A1259ED9D2C8A08AA42FD5C26A303307 /* ISO78164Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0468B0E63D635F601C9D25959FF459D7 /* ISO78164Padding.swift */; }; - A23B1618251C3B92A365B5669F513796 /* CodableTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 433301F8874A63B84B5B36DA20023985 /* CodableTransform.swift */; }; - A270CD9EC3C541FE86E65AEDCEF500CF /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42A181F2212F4930ADEFD41ED4A8E996 /* ConstraintLayoutGuide.swift */; }; - A35CB412DFB6E16F962F7D2A5E792D5D /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6F96D4D7A6235E252C430EBF6EF7D5F /* TransformType.swift */; }; - A540B2C1A87E8BFBC546CA7DDB669DC6 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9900D3209A91C7BBC50DF0812BCA0346 /* NoPadding.swift */; }; - A5B8DA90893EAE4E3C805B684A53182E /* JGProgressHUDIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = BBEFD0996A122918CE2DA4291A491CD8 /* JGProgressHUDIndicatorView.m */; }; - A66ED57B365A35434C5BAF4B990819B7 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C478B86F3E6DFEEE031A8283F30CCFD4 /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A72C37D490224687EE87E621FF87FF85 /* UIAlertControllerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49A6EFA37688C53B2277F187968118BC /* UIAlertControllerExtension.swift */; }; - A738C2A39C0150BBA7EA5EC19B95F03E /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EC6CEB32B34E3CF13ED31286F0C7DA4 /* CFNetwork.framework */; }; - A9AA3412BC04172A1AABAF8E5128405B /* CCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04EC4017205BC616DAB0A11090E1A120 /* CCM.swift */; }; - AADC2368A9BB00B6BFB6166561DA7ED5 /* StreamDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D3B1D975AC52F31082E8F4523A2DE55 /* StreamDecryptor.swift */; }; - AB4C28FFACD81812471ADEA5EF0DFA0D /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B1A155C4EB2DEF7332067FD2C18A788 /* Updatable.swift */; }; - ABA85887A41495358C83CE3F3030EDEA /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4D3F7A02021067EF0E3CC8D563CC256 /* CachedResponseHandler.swift */; }; - AC01A4E8BE89FB9A5020D404C351B4FD /* TOTP.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE511182F6824573DFC403C687D274A /* TOTP.swift */; }; - AC35C9341C4BB156BB26FDD237EE3721 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4537A941BC21AC3F3352D4713CF0130 /* ConstraintDirectionalInsets.swift */; }; - AD0CC5F20DE793052D0AD2960796666D /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C681AF519A672C8B51E07D67CBD4896B /* Collection+Extension.swift */; }; - AD2D06672D5015AD2A2EAB52D69595AA /* BiometricAuthenticationConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = B36B2D2A97721CA59C08D496C9FCF678 /* BiometricAuthenticationConstants.swift */; }; - ADA198C3D2C208F0D5BBBF072DFEC584 /* JGProgressHUD-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 63DE6F2B730389F124208015D96A6146 /* JGProgressHUD-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ADFE544EC8B84354C2584F668DDA0AB2 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 500457FC5409F4A73AAAC8038248A8EE /* SHA1.swift */; }; - AF296E6E577292AF4840C898A40A7342 /* NSObjectExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79D8485DB86A77E19F077D1AFF8F01E8 /* NSObjectExtension.swift */; }; - AF4C14949A723DF46371F1C7E362C039 /* BootpayRest.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEA3A5C4661A6D20233B07BB7004D2CE /* BootpayRest.swift */; }; - B09639961789FD326D7CDEEC44753780 /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71B0ECF1FAFA2F04878ED61B648FEDBF /* Array+Extension.swift */; }; - B0BAFFC73B5ED2FE02AFB40525A10FF3 /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ACE58DABFAD483CDD58359D7A6FE101 /* String+FoundationExtension.swift */; }; - B1E4C9B97F21EE84B5A3877E498A9653 /* ScalingCarouselCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3DE1FF09E0BAC16CC180EB9E12A4DEA /* ScalingCarouselCell.swift */; }; - B41A5B6A24330C76328F756067B04508 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99BEC86488636B3030C820445D09D7D6 /* BlockModeOptions.swift */; }; - B4A09A31159DC4BBD705B24893E7AC38 /* ObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CF77EF38AD2FE399342D9727AB765A14 /* ObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B4B387C4C8A64B305D196A902DAC8693 /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4F33C4CE13438804C92DE4B14BAFF5A /* UInt8+Extension.swift */; }; - B599696DFEF6B2A5ECF528F4E5BB1846 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = B2911A52A3808E36FD1121D7FE786DB5 /* ConstraintDescription.swift */; }; - B5B41EED9FF8EA0F9904C4C8DB2FA2C0 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B8ABBC01440156A474D322DCB134CC7E /* UIKit.framework */; }; - B6A512D641FFB7A5AAACA873632BA776 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9803187C46DDDED2689354BDAA664238 /* QuartzCore.framework */; }; - B780B272106411CBE258BB60FFC45410 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9B97A2FC182F224EC5C5BD020C53576 /* Debugging.swift */; }; - B7A833E9404805A74C6EE0AE97B63278 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */; }; - BA2A816A2CDE195F83BBC03AB4671980 /* TransformOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1FD7E4734E72CF0D53CFCB934D97661 /* TransformOperators.swift */; }; - BC707EE6F1F2944EC00E84985856F3D6 /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C74915A2668F5FCFF68B7EBA958759D3 /* Utils+Foundation.swift */; }; - BD3A8A47F0415452E6050485C3BCDC12 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CAE97135850151FFF31F3ED8FF704AB /* BlockCipher.swift */; }; - BE4EF0266BA2D10A3BFBEC822F812877 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C11921E53F5E1E83037981373DF58B5 /* SecureBytes.swift */; }; - BE77AF28ABBCD1A186B56195290331D8 /* Mappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01975D0704C2D340FF80D62A63887D4A /* Mappable.swift */; }; - BE98AD8BAF63F6688828ECDE0FC4325B /* JGProgressHUDImageIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = EF65CA6BE2FC55F04494BD39DDEAAD52 /* JGProgressHUDImageIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BECA67DFB5E0984DFAEFCB775C31972E /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A48A33D3C7E607A83F1264CE72721BBB /* ConstraintView.swift */; }; - C169504EDF56EBD6D3A797E3C2E2E473 /* JGProgressHUDPieIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 69BBA30D818969CD5DB0A472F23D1CD8 /* JGProgressHUDPieIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C16E7E6520234970FB7B44B539E4BF2E /* CardViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF9A6AA9DF1B51F7EF58E9214A2766DB /* CardViewCell.swift */; }; - C1C5B050B55C15103ABC81769551A283 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFAB616C953EE3CF43ED8CCA79A2560F /* Response.swift */; }; - C1F1DB6A9CBDE584D09BA1613AAD4F9D /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = D113FC59153DB4530EE1C09B7A0436ED /* Alamofire.swift */; }; - C1F520F6123C6E982A6703107C9597BC /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A89B348682A64666D0A4018EC886447B /* CryptoSwift.framework */; }; - C412F27D75AFC0DF0F0289DBB270931C /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ECAB30C316E15A949DFFBE35CD66F30 /* ConstraintMakerFinalizable.swift */; }; - C58E477A67D7B8C127643270D2A8AFE3 /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = CF592ED3E1E7E68C7A0450891B59D523 /* CipherModeWorker.swift */; }; - C644A550B26105FB7E26B2ED795358F7 /* BootpayAuthController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A50E9BB689A8BFCEE5ABC8F630F78C17 /* BootpayAuthController.swift */; }; - C6D5A4B4028B2C43380C9FA58BD5C8CA /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9AB3EA0CF3C440664B19832F4F0D544A /* Alamofire-dummy.m */; }; - C7950AC7B81DDBB435FCBD29F09654E7 /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 685F3607594536AEF2406BEB70299D25 /* Int+Extension.swift */; }; - C90A138294C054100E1AD3E417D15E9F /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69E52A3E9A5422F7EF6A17231527A66B /* Padding.swift */; }; - CA343F72E2F6A79D393FC28F3035B14C /* JGProgressHUDRingIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0920ED12E61AF7F1CF66FB500E23E29A /* JGProgressHUDRingIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CA6BB0464A02DBEED0FE38870D3FFAA7 /* AuthenticationErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = F386B82A2FBAD1BF48FDA5DB1409B0F3 /* AuthenticationErrors.swift */; }; - CD64872B55B8A17A3AFDC3E355175CF6 /* BioMetricAuthenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFD37B6253BA73A42EEA5FFEDB854A48 /* BioMetricAuthenticator.swift */; }; - CE62FEABA57B2B53EABF8C7DCCC6B2C4 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = A42BA9AAB10D8FDC6FF20ADE991238A9 /* ConstraintRelation.swift */; }; - CEA5DAF45185EED5EA8E1FB2B259DA40 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = A50E10977A2C0FCA705D07F08C25EEF5 /* CFB.swift */; }; - D03F1F02DE8606E6057D57866611BEBF /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = A0B92E6C83D7C94A4D61A3FFD1FC4B70 /* MultipartUpload.swift */; }; - D09E0D2539FF0E1406DE6DF22EAB059E /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E48F91941EBF020F8F157799A280F64 /* OFB.swift */; }; - D115E6DB3D5DC3709101A6537B3FDAF3 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F17DB0E751FACBF5A474F71AB2F004A /* Operators.swift */; }; - D14066FAE94E304798E43651E5886D13 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3111F7AB3F33C70DC3CB9B446C77A4A8 /* ParameterEncoding.swift */; }; - D308040B4B357AA3157C1FB898926951 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16AAA17F685564F67F2638EAED393BEF /* CTR.swift */; }; - D31FC7FDD450C4CDD633ECBAD27C6221 /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7E313436B9F334EA150B8543CF3FBC3 /* URLEncodedFormEncoder.swift */; }; - D320F1902575B9E3E6DCA15AF679A3D5 /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64A66D0AC03F2D91FF2B923E6441AA2B /* Bit.swift */; }; - D32464EE89E6AC469532CD33627184F3 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2B9E360C0430112C64354FC41AAA5F1 /* Poly1305.swift */; }; - D4697DC40F3B059E4A0867838CA1814E /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6014F27B4100E198D8ABB7D417ADB0B9 /* ConstraintMultiplierTarget.swift */; }; - D57EB484EEF7DDBFE73BB8FD3F2F6BDC /* JGProgressHUDSuccessIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FA492A93B4874E87EE5ABF9CF5F9044 /* JGProgressHUDSuccessIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D59E0C8A2370C04ED748EC38CF86FB92 /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42E4A7D16985B6E4D4690E352BE991F7 /* Rabbit.swift */; }; - D5E58F8710D0AE6B3157828F43197104 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09C8DE159DD044D338D6729317B09B98 /* Cryptor.swift */; }; - D5EAAFB6FAD77A8F0699345149BA3CBB /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BB63F22FC00B7DC1B65B9BBBEA3698 /* URLRequest+Alamofire.swift */; }; - DC627AFC5B585686898B014184AFCABD /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44B37165722F3D2C55CAE65899E2B6A9 /* AuthenticationInterceptor.swift */; }; - E27A120AA26F4D94F1A8588D7EBE3A5B /* BootpayAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82A79F8B25CBE250CDC92BC71F9AE466 /* BootpayAnalytics.swift */; }; - E364822235F81D417E5850A2748BDC11 /* RemoteOrderForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AF922605608A2DE871F72CDD91D8EC6 /* RemoteOrderForm.swift */; }; - E4F96D299417E852A360C53F5AC28C27 /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61B1A42BEE7AEC2DDA2AAFA79A5724CF /* Cryptors.swift */; }; - E665EE4993248C2FA7775930AE19CE56 /* PushType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 187CE9959D06B235145A27091078153F /* PushType.swift */; }; - E8F2429683B3015CBD39CE883770BCA7 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61E1DED90A9917359542523F7EE5A14F /* ConstraintPriorityTarget.swift */; }; - E9A970BC24EA15832F248EA020072746 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D0FCFD5573F177303544A4B356EB15 /* LayoutConstraintItem.swift */; }; - EB1726F5E0D0EEBA20E4528B1E37A8FA /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = E47C3288901D52EABB19D0B24A4719E5 /* ConstraintViewDSL.swift */; }; - EB2E92AFE8E36A23EE6D311736B88B67 /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 10EB41DE487013E808B8474888340543 /* DataTransform.swift */; }; - ED2986C498E1BBBF431AF6C6E3346936 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 942723938F8E50A2CE6BDFEFEEF9AD1D /* UInt64+Extension.swift */; }; - EDA824C30979C1248080F88390328DD3 /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = F670A64C1BF426AEEDE982759C309F60 /* GCM.swift */; }; - EDC93BD7B9262119AE145E4C7A9D0212 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 995BFE086D8F85CA85D9418B429D99C8 /* Request.swift */; }; - EE909C7C786140109051BC9562EEC7C8 /* ConstraintMakerPriortizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8FF5E3F0583E1086DA08E7A8DCF5F33 /* ConstraintMakerPriortizable.swift */; }; - F000D6CA12F7C477EC63335B91707775 /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DABCFAEDEB51FC5036F2C035F923AFB /* URLTransform.swift */; }; - F0DC17C4B50818D786974C6EF2753368 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1858101821E9EF44B5FE40BA21A241BC /* HKDF.swift */; }; - F0F3224FF592F9BA2A044A2FC2BD4CCD /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C02F1925C8E3D3EDEEF9BDB1AEF090C2 /* Validation.swift */; }; - F113385359758561B2479452FA5C7E3B /* BootpayPG.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8EE0F99DB8BCE17E3531472CDB8654A /* BootpayPG.swift */; }; - F2CA9FD6E3A7EFBB13BCEF662D06524B /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65435F1FD31002A2A59426D6E1DC6820 /* CustomDateFormatTransform.swift */; }; - F5B406F0A6E0392B5F51A59D88C594DA /* JGProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = 071825A80553747989B6DE804EAEE937 /* JGProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F60975556A37AD5647ED82DC76E9CF6F /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7973A9A4C1009ABB55A8BA5BF230E3F8 /* DateFormatterTransform.swift */; }; - F6B16DC8CADA07287C6A372AC8AD787C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */; }; - F70EF854395CDE981A8336E4FF0310FE /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 934D488E179BE870F29F06F4091FCD49 /* URLSessionConfiguration+Alamofire.swift */; }; - F85056360C30EFE3B5DF7A3AB6026FC1 /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CB0F052D4959DEF201EA69680F7C3B4 /* CryptoSwift-dummy.m */; }; - F85A9B896BAC8353814566D20676990B /* BootpayOneStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5AD9BAE0F933589EBD950BD34EA9CF9 /* BootpayOneStore.swift */; }; - F9B31EED95B0E98A057B6012F9883DCF /* ImmutableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 193D82DCA854F8AC5D11AA11B4BDA105 /* ImmutableMappable.swift */; }; - FAC4371C5DF59C0E22D26F47AD2D586F /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 262F7430A69BF21C704148D3481C8F4F /* PBKDF2.swift */; }; - FB2109853FB9C4E290BA3BD554C09001 /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1E1DA6274F9B9AA50926544E9A42B85 /* Utils.swift */; }; - FB7D6EA6C6016E2AFDA2F2A407DCF746 /* JGProgressHUDFadeAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 147715A0506B3F6B820523EA0DD803F2 /* JGProgressHUDFadeAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FC7A80288ED7128A94FD3D27F8FF73EE /* JGProgressHUDShadow.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF55B77C3BE2C775487FD710BA8BBD1 /* JGProgressHUDShadow.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FEB70BF4154B2F56D3F28DA87D7B6158 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0B9E59CC65A22D4FA184BF894AAF726 /* HMAC.swift */; }; + 00C101BB5B71CA1B24DE64756F5B82D8 /* JGProgressHUDIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = DB27B6754B057AFD345E0F4A16B03A1C /* JGProgressHUDIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 013BAC24F7AC722E59517CB110A9E685 /* HTTPMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 357D7B4E45950081D313071027042694 /* HTTPMethod.swift */; }; + 01C550A53C9E2047C83F8E85BBB558E6 /* ConstraintLayoutSupportDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = C151FE0A8128266ED05B075092F54DE8 /* ConstraintLayoutSupportDSL.swift */; }; + 01F372176EB8B9874EA98B0A022991EB /* ScalingCarouselLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBDFBDF94E2CC7BC0A88F9C646CCE632 /* ScalingCarouselLayout.swift */; }; + 0246F480B6B64E28D5D06CCAEE8CB01A /* String+FoundationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE0EFC114008B16999A73AB306EC4A1C /* String+FoundationExtension.swift */; }; + 02E11AACB509E00F07FC45B073374310 /* EnumTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3127E1E86C66D9BC4547CFF2C7A69F3 /* EnumTransform.swift */; }; + 039EAFE7935113805F3FC21BF1B7C9D5 /* LayoutConstraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 72C08245F697011A3B114BDFB262D2EE /* LayoutConstraint.swift */; }; + 040AD92907B972B42FFD4B6174887B34 /* JGProgressHUDFadeZoomAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = C9E7D5D7E9B9FAC94551DAF5CD4F16C3 /* JGProgressHUDFadeZoomAnimation.m */; }; + 067A6E971C7D5446BDCD9A10C06132F8 /* Collection+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D67F23BC565B66057E7BEF3EAE821BB /* Collection+Extension.swift */; }; + 07F3D6AB23A40A88852301EADB91FE64 /* BootpayBioPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E0FCBD0F68D25A5B704EEC2ECC57957 /* BootpayBioPayload.swift */; }; + 083B5CFA58A3339BDF6D6DC3A0507DEA /* JGProgressHUDAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = B16AD1B7F02C11FF707C1F7AD175D5FF /* JGProgressHUDAnimation.m */; }; + 08B0E83A7A3DB4DF2B556892AEEA9379 /* BlockModeOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29C02563C59F72A9995CB3FD0DC40D73 /* BlockModeOptions.swift */; }; + 09E6E3E4EE2A330C8A14696AF4A617F2 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B4F243112D898DC15D6C792F55089AB9 /* Images.xcassets */; }; + 0A1849775CF90D514963187D3A771CF8 /* Combine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE6DA127F6DDD4B4A4F8BC2528294051 /* Combine.swift */; }; + 0A900DF17E3B64F08AF673E9A0DDD697 /* OperationQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFA307DC0683E01B2EAA4904BA399283 /* OperationQueue+Alamofire.swift */; }; + 0B6BDBD97D916687C40025C3ECEBEFD6 /* BootpayAuthWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1B3B008279EEE3CB2192F5E852F1480 /* BootpayAuthWebView.swift */; }; + 0C9AF2D4C05CA86E42673E4880BC1EE1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */; }; + 0C9FD48191A4E68417C886A9BA356C76 /* ISO8601DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4590302250080FE8444FA3949D0B6D54 /* ISO8601DateTransform.swift */; }; + 0CF120373CA502859B347C2D6069F511 /* BootpayMethod.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E012C9E0D97F1110B460E7BDDDDDD2D /* BootpayMethod.swift */; }; + 0DCCE84DF2E5C1E8ED3903A04E476D8D /* JGProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 90FC01ECCECF8BA4EC03E4CD68E8F2BE /* JGProgressHUD.m */; }; + 0E478FF7AD49149E802261DB853A2837 /* DateTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14C33177CCF81DCD14CA85BB8DB16F4B /* DateTransform.swift */; }; + 0EF28A6DE9121C0830737A2740EC95C9 /* CardInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 442C5E38628DDF30662E964BD4A3013B /* CardInfo.swift */; }; + 0FCAA6B71411E1EDFF3B72D72548661E /* CompactMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBF4A43127B0705F66EBAEBD0E09015A /* CompactMap.swift */; }; + 10FF1AEBCB821804188A5C77E68BCC57 /* BootpayStatItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB32EE89D54C5A62D0EFD47488ED5EE /* BootpayStatItem.swift */; }; + 1203DE3A7A3E54730EDF39565687BAB4 /* StreamDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 259B341EBB198930D8E3814E4108BC44 /* StreamDecryptor.swift */; }; + 1208E81DA8B532D0646D627B50290EB6 /* AFError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 41E7DD845DF1B0508231FA45A6ADEAAE /* AFError.swift */; }; + 130AA8F9238387E09ED54770EF75E83B /* Pods-SwiftyBootpay_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FCACAC94B038B3C249252CF2C4E80D19 /* Pods-SwiftyBootpay_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1369BD15159581A7081D990F8191C085 /* BootpayUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = EE31D0F027C274F53F60E8443EB85E50 /* BootpayUser.swift */; }; + 1473E284D818C79A587E33C33D11DAAB /* TOTP.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6F4B24FD31A7B22CA24FFEEBF333A98 /* TOTP.swift */; }; + 153D544C8A3E406126E9F99F9ABACEEB /* BootpayBioTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61C9B5A7D99967B8D2FBDCC8EC694618 /* BootpayBioTheme.swift */; }; + 15F4114A9A3AE069EAF65B3606EBE525 /* BlockMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D18421DCD594E0B355D675F16685E53 /* BlockMode.swift */; }; + 18CF94C361B05399BC6E83328DFF96DF /* JGProgressHUDSuccessIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 707088467EA579F1A26C6C4B0AC383E8 /* JGProgressHUDSuccessIndicatorView.m */; }; + 1956E392D500F3CD899D39A5F805736D /* Typealiases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0353D3E3AA5B263B35E39AE274DE7690 /* Typealiases.swift */; }; + 19C8D977323C4D63FD0D6C9DCB991047 /* Base32.swift in Sources */ = {isa = PBXBuildFile; fileRef = FD020C69E256BEA8C929401CDDC085A3 /* Base32.swift */; }; + 19D605A3233499828FB6B790869F3E9C /* NetworkReachabilityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90EE8D21D0BE2843D7305E1F978CE8B4 /* NetworkReachabilityManager.swift */; }; + 1AFB1E9136716C0B61D6C700FF1E60FD /* ConstraintLayoutGuide+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EB01702E4259A4ECA9517017AB1D30C /* ConstraintLayoutGuide+Extensions.swift */; }; + 1B193F2660ED0767A5F0CB98562143BB /* Array+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1EDCDD67B7583F00D7A31603655B700 /* Array+Foundation.swift */; }; + 1BAB36C6DF94C2B99C091CE10DF6D234 /* Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6600014718991E72BCBFF36B3EC37DF /* Cryptors.swift */; }; + 1E49C8AE41ADDC46838C347A22A18D90 /* PKCS5.swift in Sources */ = {isa = PBXBuildFile; fileRef = FABABCBB4B4BB7C627EAC7536D515E8A /* PKCS5.swift */; }; + 1E7D73EA3F470F1BB8C23D7E579FAE24 /* UInt128.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E24616FEE7A055473CAECC6BCFB587D /* UInt128.swift */; }; + 212EDC48B68107BEA9247F3464CE696E /* StringEncoding+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = E5EEDE29A7C71377D78469421148CE57 /* StringEncoding+Alamofire.swift */; }; + 218C14EAE5AA31C30314AE0289B732A0 /* Protected.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93523FB8C6584C09DDB6166544A71E6E /* Protected.swift */; }; + 21AB1101BBE4D28D74ED4EDF0D59025A /* ConstraintInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB76D3E637A261FD15323F23F5A2A3C1 /* ConstraintInsets.swift */; }; + 232B2F922E972D9F43D2EE15ACECE734 /* ConstraintPriority.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F916D2C3FF74504EC549570341E47FC /* ConstraintPriority.swift */; }; + 23CBF292B65AD0E76386CB8CD81EDDDD /* GCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 14483C8544026E3F73D2B116140B4FB4 /* GCM.swift */; }; + 26BF931EB773933B7BBA2746D801758E /* SwiftyBootpay-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D98E12533A48B0F428531871C2BBD02 /* SwiftyBootpay-dummy.m */; }; + 27E59A11A2743B0595CDE3A08675EAE1 /* DispatchQueue+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31A212BD935F4D86785180B7984E2D10 /* DispatchQueue+Alamofire.swift */; }; + 2834DA992389D0AFB77DAC86AC0CA540 /* JGProgressHUDShadow.m in Sources */ = {isa = PBXBuildFile; fileRef = 095856633F50CAAEF353D46AB6BFC532 /* JGProgressHUDShadow.m */; }; + 2883C983FE243392D5D822E8223F5F3F /* NSObjectExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = E91DB19212C2404BEDBDE7964BB75677 /* NSObjectExtension.swift */; }; + 2A1BBBC87AC2367BD14610A9D10D285E /* ConstraintAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03D534F028650A6209CAB165DF9C52A0 /* ConstraintAttributes.swift */; }; + 2AEB06222B3B42B21F676B7D4925B1A8 /* BootpayExtra.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33FC5FBA66E739C5EB70BCDEF4B6704F /* BootpayExtra.swift */; }; + 2C06F2E972444D359754D21AC46BFFE2 /* ConstraintInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2D217D5CF0823CC05C8767C276218A5D /* ConstraintInsetTarget.swift */; }; + 2D1AB2CB6FF984135EFF4FB0C1E8B2F3 /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB09A03F8BE5E2708507DFB2F32246D0 /* String+Extension.swift */; }; + 2ED82E92E90AF06D89A79D9E879C0AF9 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A049DB06D98F21F3AAE5C6FDD81FC98F /* QuartzCore.framework */; }; + 2EFD51EE5923D01676D12A0EB6B770E4 /* SHA1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 073B6E1F07D52AA75EC11DD22DB90A39 /* SHA1.swift */; }; + 2FEB88BAFB0FF24BF06DA6FBCE1E3FD5 /* BlockEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C5E874EFC3E29913916A73519E861A8 /* BlockEncryptor.swift */; }; + 30487DD437CFB7896377678D051CE551 /* HMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADADFAC8D2CC719A7D3F20A614FD747 /* HMAC.swift */; }; + 3080E2919A9DE48583B05D6385912434 /* Cryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7491C6AA8CE39B11DEDF005A7A48D7E8 /* Cryptor.swift */; }; + 316C7AB19B65C3DC0070634F935B3FF6 /* BootpayUX.swift in Sources */ = {isa = PBXBuildFile; fileRef = CECF0A047A1D9DD8FA5A272BC711A93C /* BootpayUX.swift */; }; + 32F8C6FF75C97BF262B0062671FD0196 /* PKCS7.swift in Sources */ = {isa = PBXBuildFile; fileRef = F69A9B49E9FDAEEE776F79B502A2E2ED /* PKCS7.swift */; }; + 33E9E0ED94A4081E696295F83DD2D9C7 /* JGProgressHUDErrorIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = F74AF15C961CFAFC8D6C3D8523E8CF1F /* JGProgressHUDErrorIndicatorView.m */; }; + 3555A585391D7FAA49717AD77868ECC0 /* StreamEncryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9067C423A424606B48EE7F0F6B322DA9 /* StreamEncryptor.swift */; }; + 3556C30029720A3AF9CDBF70BE28281C /* FromJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3CB2850A73CED615B9AF01B33CC224DD /* FromJSON.swift */; }; + 3759323200DA8229F8EC73C233D1493A /* AES.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6874BFFC37B6A600DE14D15E84F65742 /* AES.swift */; }; + 381FF05F8B4F611EE9C2FDBE4457BB89 /* SessionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 424393B7AC7A4701FB83F6192C3E1182 /* SessionDelegate.swift */; }; + 3A03C1277E222AFF73466B86A69B8FD8 /* BootpayAnalytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDF2792F52D37B7A4A2CAE736C87032B /* BootpayAnalytics.swift */; }; + 3BFC243AB9BD579969F0D5756560BCAA /* Constraint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28B6D9BE730C5B5F7FF76E1179AB16EB /* Constraint.swift */; }; + 3C1E5F3DCE6CBE061B32411E4EE22C20 /* PCBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91799F0BA9669FC939DFCD8DA75B12BA /* PCBC.swift */; }; + 3DB0D9280765633BD7B46F28F94CD62C /* CBCMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = B4CF752AA0DC949F922885E06B103D5F /* CBCMAC.swift */; }; + 3E5285F4F36EAD77ECABBFB7F36BB1BB /* ConstraintView+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEA4D387DBC33E520A07D1B4B6C4B9E6 /* ConstraintView+Extensions.swift */; }; + 3EB1E8171A8E2E15A7B0AFF2095210F7 /* JGProgressHUDImageIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = A4DE9EB79D69576E8C12C85B9D1794F6 /* JGProgressHUDImageIndicatorView.m */; }; + 4187259555D67D09602825B4040CC468 /* OCB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C776EAA512DF5DF41BC04BEC75EE96E /* OCB.swift */; }; + 43B865F79B7C0E694D8D9AC73F4FB9BD /* Rabbit+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22C5253FFFA2C5C736C88BF761C80BD2 /* Rabbit+Foundation.swift */; }; + 442B2172794FEF2166A3E7ABA352A5F5 /* CBC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536E64801821057B3849AE85C389865D /* CBC.swift */; }; + 448701FC300FA3F383BD5549E90A63F7 /* HOTP.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4AAD7039E8B0F6BE2CC3B570251D115 /* HOTP.swift */; }; + 45B8CC1C61E7A0BB28CFA8CE7C12FEBC /* MultipartFormData.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8DDFF708C34B9B10BEF7A1BE76024B1 /* MultipartFormData.swift */; }; + 45EF41171CA52C2B9E61E1CCD69DDAB6 /* Map.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4C9CE54A64C9300B732311241A6F70 /* Map.swift */; }; + 4696714ADDBC2B3C981DD3B112DFE9C1 /* PushType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A740EFF89290EBF1B40F4F863F83A6D /* PushType.swift */; }; + 476D5F33E25386C60D6BD75C4FA97C67 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */; }; + 4777F57D6B71AECA1C7FC9BF5B238C5D /* ChaCha20.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B486C78F11DD68B28A0992BBF3C002B /* ChaCha20.swift */; }; + 47808BB808628C2E371FF6E5CA58F5D0 /* Updatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D926294FC0E97524074D61C2EAB40E90 /* Updatable.swift */; }; + 47FB48771CB0602C35F86C19A44469E1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */; }; + 47FDBBBD2704901588C3A7C56BBC502D /* ServerTrustEvaluation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B8977BE590F64716E4DCC181E43BD7 /* ServerTrustEvaluation.swift */; }; + 496830AC001A0919794D96A9D91CADC0 /* UInt64+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29161B8346A845A4D23956C323AE9849 /* UInt64+Extension.swift */; }; + 4AEC050FA7D5ED52FDA9DF50EA3560DF /* ParameterEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64C502166B42291A857AE8D3AB584734 /* ParameterEncoder.swift */; }; + 4B5147E79EE68FD189494DD609B57F31 /* JGProgressHUDAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = DDAF859326583C40CF3F6262F47C574D /* JGProgressHUDAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4BF868D6EC762DA1E25695733B8E91F5 /* BlockCipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1A031336B3F28842A12E1F137BD1A1E /* BlockCipher.swift */; }; + 4C7A676DAE95EEAC3787A75349F0862D /* SnapKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8598CA5A54F9E9E75645B991DEE6F37B /* SnapKit-dummy.m */; }; + 4FE3E75FEF292E403FB8D13B64906F41 /* SHA3.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E98B524E2CE6F3276E0E28551B908EB /* SHA3.swift */; }; + 51213504F55CD20C4E3F03E4911059B2 /* ECB.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA5F95E18172B63369D86E583BC5F03C /* ECB.swift */; }; + 515F81B04F69C306053F5C827D2A22D4 /* JGProgressHUDIndeterminateIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = E889E0D928F0411B7D6DCBEBD0C40A0D /* JGProgressHUDIndeterminateIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 51CD5887014967E77E58F5A163996454 /* ConstraintMaker.swift in Sources */ = {isa = PBXBuildFile; fileRef = E26F5C7B6481D91FDF7B5007BB210E63 /* ConstraintMaker.swift */; }; + 5202C1D7B3498F8627C3940C9179FECC /* SwiftOTP-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 836F7099BD00823CAB0FB98285CC5773 /* SwiftOTP-dummy.m */; }; + 5419D23A75236616FD9003BFEAB0A196 /* Digest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76A8A1724658709FC6AB78323C258087 /* Digest.swift */; }; + 543740C6C31D3637343F37FA099E11BD /* AEADChaCha20Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3EF942077922F1D0FFEF5EC69124AC5 /* AEADChaCha20Poly1305.swift */; }; + 54CA4CC2D9DDD32F559FEFE36DB31914 /* NoPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82D31D76C3C20BF6664E64638FC64E38 /* NoPadding.swift */; }; + 553CF23D91DC8777B26191C77938004A /* NSDecimalNumberTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2A609D2EDD4ED2EE7F67241CC54035F /* NSDecimalNumberTransform.swift */; }; + 568375AF7304702204CB032D869DC2A1 /* CMAC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B5BE8ECDD6445C702C92494E01CD917 /* CMAC.swift */; }; + 5701BD2D60FD3607E0F600639022D695 /* CFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0AEA3D25E03B8646C1D8B014E991AF8 /* CFB.swift */; }; + 579E12DF863290040F3898A955D944D3 /* ChaCha20+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8553A491EADD5A39FA25ADE97578B292 /* ChaCha20+Foundation.swift */; }; + 57B1876F2BE4168E5BFDB63D8CC849A0 /* ConstraintLayoutSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 018618EE6BCA2DD957A9CD8324368D57 /* ConstraintLayoutSupport.swift */; }; + 5854DF509E8A016B6235793D04083035 /* ConstraintConstantTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 93CAD2AA3252B5F21F68A31885FF0E42 /* ConstraintConstantTarget.swift */; }; + 5961E7DDF55272B633F9B17F1526E8D8 /* OFB.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79D3952588800455B64F71031E256898 /* OFB.swift */; }; + 59D2C094409181F1AF8CF7AC138B8FBF /* BootpayParams.swift in Sources */ = {isa = PBXBuildFile; fileRef = F77348DB5955A741A1C4863062348B56 /* BootpayParams.swift */; }; + 5B41E149EDAB0638644B8D805BB15AAC /* Generator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9BAAE00FCFA8348F0479E758E4A0064C /* Generator.swift */; }; + 5C78BE7864470C1E2BA20C5CBD81B9D7 /* JGProgressHUDIndeterminateIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = CBAD6FBCCA20CD2F7CB6C51DB40C74C6 /* JGProgressHUDIndeterminateIndicatorView.m */; }; + 5D4369C882A0E2FCFF500877917C8090 /* BootpayItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0294C652BEE6EB46AFA61305B5FE6B6A /* BootpayItem.swift */; }; + 60E5CC657B8D30A3A1087899DE3A374F /* RemoteLink.swift in Sources */ = {isa = PBXBuildFile; fileRef = 496C7600CA33A12D58C3A9F986C970BC /* RemoteLink.swift */; }; + 61EDDBC8BC8D8BFC8C0FD6035AAEBD30 /* SHA2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48A0C972E64B7F9FE01BEF4AA3751BCB /* SHA2.swift */; }; + 6294D3663FED730B4F86E5E68953C155 /* Blowfish.swift in Sources */ = {isa = PBXBuildFile; fileRef = B93598B4204E47D79596C5071468A0EF /* Blowfish.swift */; }; + 62DBC09463A3271E04AE1EB80F4AD33E /* BootpayAuthController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 15C99A4AF3CB447FE2E78DF9D9C6A3CD /* BootpayAuthController.swift */; }; + 63364A058687BBC1B96C3600747E9B0E /* RemoteOrderForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49C7E875E694F5C21208A08715BA8ADA /* RemoteOrderForm.swift */; }; + 635093060707BC262AD2F93CBC1DFC52 /* Data+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A734406F64A9EF20D32C564C645DB49D /* Data+Extension.swift */; }; + 64B2BD517198D13F01F186A12447BDDB /* BiometricAuthenticationConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADC6ED65B1FD8310AA71ABFD173C7C70 /* BiometricAuthenticationConstants.swift */; }; + 64C60112E347C8B0F4B70760861FA125 /* EnumOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DCB215E7BB9C07F59DFAE444EE3F437 /* EnumOperators.swift */; }; + 64F4E73A9C45EF3D9EA57CC96E1BD5D1 /* SwiftyBootpay-ObjectC-Bridge.h in Headers */ = {isa = PBXBuildFile; fileRef = 1518FC358DE8CB2C30830D91407096B3 /* SwiftyBootpay-ObjectC-Bridge.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6546D728B69398F93B506845141EBD61 /* EventMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A103FBC6AC3CFFE7715495B182E5932 /* EventMonitor.swift */; }; + 65F3F57891C3534229655745DB094F1B /* TransformOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63F95E2B6914EB2FEE6D84BE78A47250 /* TransformOf.swift */; }; + 664B70329CC935DB023416ADE2F203DC /* DictionaryTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CF482F1F4FEA9BA8AE2088E4E1CDBBD /* DictionaryTransform.swift */; }; + 666EC5C8356E6D4448A2FE7BEE77AD88 /* RedirectHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4267654E43504FC6A31ABA092E44D162 /* RedirectHandler.swift */; }; + 66B26C6CAE737EC21F4BA1F1851B69C5 /* Result+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 830F30EA718BF5640C53D439886B3A61 /* Result+Alamofire.swift */; }; + 66D18944E57602765B6571B0BFC9630F /* JGProgressHUD-Defines.h in Headers */ = {isa = PBXBuildFile; fileRef = B4632B05B0A80FAF77C0CDE5DC12826F /* JGProgressHUD-Defines.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 69CCBEEDFCA6D743D80026568D961919 /* ConstraintMakerExtendable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17596A6AFBBD9587A0C02E11FB85FC73 /* ConstraintMakerExtendable.swift */; }; + 69E3A06BBDFDC7D06A9D4BDC4E895E73 /* ConstraintRelatableTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7203112B99753FBB89461ACB8128514 /* ConstraintRelatableTarget.swift */; }; + 6A4483E3C5A9CF374BA42E0ACDA46177 /* RemoteOrderPre.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC01F94456BFA5538B869E663324F656 /* RemoteOrderPre.swift */; }; + 6A7255D809C2B6F1C393F1B7F9A0A088 /* SwiftyBootpay-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69822659B66E45AC8987F187A9A53D08 /* SwiftyBootpay-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6AE407A4FB6C3D6ADD862CC6E3067A17 /* Session.swift in Sources */ = {isa = PBXBuildFile; fileRef = 776CC5ED88199B16B46095BB49C99449 /* Session.swift */; }; + 6B0A94FEF6EEF7A9D420DD0567C74DA7 /* BlockDecryptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A2E6D3396286127D79947F8CD29E1FBE /* BlockDecryptor.swift */; }; + 6B8137456A145BBDF8A917EFF21D531A /* Checksum.swift in Sources */ = {isa = PBXBuildFile; fileRef = F08042C4F607990379A3B719C0317CF2 /* Checksum.swift */; }; + 6C08F6A77889651626583100F560153D /* RequestTaskMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 061F3A301D9B0E15D6A3E6C0180AC06E /* RequestTaskMap.swift */; }; + 6CD261E331BE5F155ECD85CC512B0BD8 /* DigestType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 752C09A0E5B018B12C30EEB925AD9ABB /* DigestType.swift */; }; + 6E0EB9E7FAAEDBB7A73ECF3095F69C4A /* UILayoutSupport+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA7C1673FE0C2F6FAAAF983B412887BB /* UILayoutSupport+Extensions.swift */; }; + 6E54F64E8DA73F4B0B46C216F9F93F63 /* RequestInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C15A683B1F00FA350E4890CDCDA00A11 /* RequestInterceptor.swift */; }; + 6E89EE0A83D419EA1EF17F409199F46B /* Array+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C71B87B53A5E2C7C91B05AC484E031B0 /* Array+Extension.swift */; }; + 6EF03A3BAFDA8A4BDFF3265B98F9E421 /* CTR.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B9F33A3CD8110CB0D1E87B9044BF282 /* CTR.swift */; }; + 71DE9DC2FA583526AB4D1FD7F00C099C /* ConstraintDirectionalInsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 998E4996952F3641668A00AFCCCDEFD6 /* ConstraintDirectionalInsetTarget.swift */; }; + 72EC2712926E6D28B52360D9AC41668F /* AlamofireExtended.swift in Sources */ = {isa = PBXBuildFile; fileRef = 768D91B8562512D61D6BE335530B8EB9 /* AlamofireExtended.swift */; }; + 75193F9DEFC3914AE8E0D8F76C919618 /* Pods-SwiftyBootpay_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 63DE1EE677CE723196BC06C712079FC1 /* Pods-SwiftyBootpay_Example-dummy.m */; }; + 757BEC3F9B5B3AA44C0A27B363159F46 /* StringExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07C1E5AA7B50336B84A1C7794F4410CD /* StringExtension.swift */; }; + 75E146C12D1287228A0B493E87CDE31F /* ConstraintMakerRelatable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8B5C11901713EFF021F30DD100C0142 /* ConstraintMakerRelatable.swift */; }; + 77C9889055A3B32EA13A9616824DB0ED /* ConstraintLayoutGuideDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B340B41BDF7AE61E74CE1D500C45BAA /* ConstraintLayoutGuideDSL.swift */; }; + 7813A09B8F9242BBF63900D45EF15054 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */; }; + 784B9ED449B3D447C7D6A8DB82F6B5C1 /* JGProgressHUDFadeZoomAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = BF46E3F1F67C182E8BA0981E0209A83D /* JGProgressHUDFadeZoomAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 78BB4BFABCB498A10A06C02661795CDB /* ObjectMapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DC87E7C90934F90FCCD4132E5986255 /* ObjectMapper-dummy.m */; }; + 78DD206277D8348E7CC8BEF41708E1D3 /* BioMetricAuthenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B7D494CDBC8756C888788263A6179EB /* BioMetricAuthenticator.swift */; }; + 7908F4065CB1E8A38293CE28F4936941 /* Mapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1F81649A90AA167ADA3BD3E1455A589 /* Mapper.swift */; }; + 7C1702076F3A31D8D2D45A4A9F09B266 /* ConstraintMakerEditable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8086372288EF015B02B631C94313FA99 /* ConstraintMakerEditable.swift */; }; + 7D3DD4A8BB36733BA15868F7FB8C56CE /* Alamofire-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FF33FA53F3CA0E8109B65435AF347BEC /* Alamofire-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7D7DF06C873B648BC1571FB8138DDA48 /* ISO78164Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 181F91B025F0364868C81316461F8720 /* ISO78164Padding.swift */; }; + 812150E28251B383E29ADE04BC481D44 /* JGProgressHUDRingIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D1463658DED82C62F6F69C3A977BF35 /* JGProgressHUDRingIndicatorView.m */; }; + 814E5536B67060538AB73D661B2F65D0 /* BootpayController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 78AFF3BAD728C4F9A097ABFE2E7FC59E /* BootpayController.swift */; }; + 8277256ADEC3C4DCF79957D1CA681A9A /* ConstraintDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5677AE46085EFA41A4FAB35087A556B8 /* ConstraintDSL.swift */; }; + 8447B4C9B50331AB5953B48626AC9526 /* Scrypt.swift in Sources */ = {isa = PBXBuildFile; fileRef = F85CFA42E7DB9E24B5EE9283FFFBE5BB /* Scrypt.swift */; }; + 86D61ED9E92755CAA98639EF12E90D65 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = CED594CA91CB214D24034AAA5EFC164F /* Operators.swift */; }; + 8705BBF0D428BF0AE1B554A377ECC540 /* ConstraintOffsetTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E48460E568B4168717C90D7AB427D42 /* ConstraintOffsetTarget.swift */; }; + 88088975B70CE537682C5DFF4AC2A99B /* MD5.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98033EE641E1E717EA076F8A9F2AB94F /* MD5.swift */; }; + 8855BA1117DDF6A01C3CD720F05F4683 /* UInt64+Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 212539C6DE40CACCD23B7E5C01B41FFC /* UInt64+Data.swift */; }; + 89B80A0B58D573C7D94BB77C57427234 /* CardViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A736B872D4FC4A24E82E8B45774D7EAA /* CardViewCell.swift */; }; + 8A68692B2D967B096E173CF5FF75F590 /* AES.Cryptors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C04D49556C994C8FA4A38E576DDE418 /* AES.Cryptors.swift */; }; + 8AA937910F87915DE700CAB6C868689E /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FD4D5B9A04EBCA8D29259BE8C0EFE15 /* Notifications.swift */; }; + 8AC8FF8BA0BDE20792AE8ABAD3A2408B /* CryptoSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A89B348682A64666D0A4018EC886447B /* CryptoSwift.framework */; }; + 8B62EE767E432E7E52335B5B9A376D7B /* CipherModeWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F775FFB8D73DE3E52293B441CD890AC /* CipherModeWorker.swift */; }; + 8B73E2191EB7B66E165CA680361820C8 /* OTPAlgorithm.swift in Sources */ = {isa = PBXBuildFile; fileRef = E17783AF93E78F336C73615FC4B5A784 /* OTPAlgorithm.swift */; }; + 8CCED25A2C2BB2158134937FB9FB26D8 /* Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = B60AC51FBA24FB19D31DB57E747C6E85 /* Padding.swift */; }; + 8D370BF94582F4531BF5E98EE7BB1764 /* ScalingCarouselCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED749B6EED470DF6FD5E154FEA73A264 /* ScalingCarouselCell.swift */; }; + 8D6FCF2C0F3AFEA497411C565CB6827A /* BootpayWebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DEC54AFF8EC59C69CDDEEF8FB8EC5AA /* BootpayWebView.swift */; }; + 8DA5B74F96053B88D81B4C81C4D42C64 /* ToJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2A60CB721BB60835B24D4666A11D78D /* ToJSON.swift */; }; + 8DA794E1E552CB3573A016B2E8DD7A2A /* CardCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1119042BE46E177106E8EA7AF2FE2D50 /* CardCode.swift */; }; + 8E2CB0ED9A07AE57055399DEDBC27B87 /* JGProgressHUDFadeAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1EBEB7AADF9149CE7E487012B2DCC2A5 /* JGProgressHUDFadeAnimation.m */; }; + 911448B2EDA2FF880108F77642797A88 /* ResponseSerialization.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB9FE616BA053433EA0F6C4B47E340BB /* ResponseSerialization.swift */; }; + 91A233B6293C8E800EB68749A548D733 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C816B41AF71B576F2F58C3D222622C53 /* UIKit.framework */; }; + 91B837CE0DCD8EDB300FCDFFA1279162 /* HTTPHeaders.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5049B58AF722BA1B75F93B5D48056369 /* HTTPHeaders.swift */; }; + 92208C0BC3989D7E938124CE9F987735 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */; }; + 93E0CC3C9D5184C27B9099F1A32512F9 /* Authenticator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E861CDF1ED7F50A732D8EAA09D5591A6 /* Authenticator.swift */; }; + 94FB2E9FBF273077002641CAC5D81724 /* PBKDF1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82AEE9A3A94D8803F84E65D91902847C /* PBKDF1.swift */; }; + 956E92FE314BA0F9F8D10CA195EBF64E /* BootpayOneStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5C95150FC1567FFE675C2E57D1DB953 /* BootpayOneStore.swift */; }; + 96C369664F04EBEAB41792B9250C6E96 /* JGProgressHUDErrorIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 738CABF42B24DCCA5C9D994770C197B0 /* JGProgressHUDErrorIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 96DBFE11AAE27CA46A220B4FB06C355B /* IntegerOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33A5E5872814FFC5F870A12110125496 /* IntegerOperators.swift */; }; + 976B8D9F1D16518DAE0929DF0CE75568 /* SecureBytes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBEBA025A1B1B4C67EDAE1EC8FA0293 /* SecureBytes.swift */; }; + 99A1378F4758867783A9F5F8519CFAFC /* JGProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CB39EFB1308BBF6622810B293D20E2B /* JGProgressHUD-dummy.m */; }; + 99B5296A5EDECE0557B9DA53D9E19CA1 /* ConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37FE00FEAE10303B8F85EBD56D9CD131 /* ConstraintItem.swift */; }; + 9A2E1EA1F0F8F4FA13589FEFC4D712B0 /* HexColorTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 959BD621B8977EFC66C6A6B03157A7D9 /* HexColorTransform.swift */; }; + 9B09968922C73D50040C6EEF57890D6E /* ConstraintConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9144475D5E57A4B711597311FC32702C /* ConstraintConfig.swift */; }; + 9B1D8A7798D8A6F518FC9AF9725431D0 /* URLConvertible+URLRequestConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA9226D8EEC6C63455181B7E17F4A171 /* URLConvertible+URLRequestConvertible.swift */; }; + 9F73038C5D5809B9C54A4D5455C0CA91 /* MapError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D2B232B739F8051D81901C3808C5330 /* MapError.swift */; }; + 9FED70D1E1FBFB80E974E999EF732258 /* RetryPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8D89B51779CA0CA38A825BC80059879 /* RetryPolicy.swift */; }; + A0128FB8A04711277900964B8220F2D9 /* JGProgressHUDPieIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CC1C32296AE824903C9E7C9CA3FD699 /* JGProgressHUDPieIndicatorView.m */; }; + A092D7BC5849A8F719BE24BCB5ED718B /* AES+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09B684F940303E7EF1A5643C6F72AB70 /* AES+Foundation.swift */; }; + A13718050015E91A236AA57AF2A36546 /* Bootpay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 985BC4959AF6C8BC7AA2A0EFC1681133 /* Bootpay.swift */; }; + A23B1618251C3B92A365B5669F513796 /* CodableTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92595A71FBE18C3E4CA1DA159BF4FD66 /* CodableTransform.swift */; }; + A270CD9EC3C541FE86E65AEDCEF500CF /* ConstraintLayoutGuide.swift in Sources */ = {isa = PBXBuildFile; fileRef = B1643506F3187C6C10E0B047736556D8 /* ConstraintLayoutGuide.swift */; }; + A35CB412DFB6E16F962F7D2A5E792D5D /* TransformType.swift in Sources */ = {isa = PBXBuildFile; fileRef = A97290F51BA817CBC8C195B4141D9648 /* TransformType.swift */; }; + A5791057A5A9AA24E09BB370C7495F5D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */; }; + A5B8DA90893EAE4E3C805B684A53182E /* JGProgressHUDIndicatorView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D6A881B6EC18B9360E9E101664CB9C4 /* JGProgressHUDIndicatorView.m */; }; + A66ED57B365A35434C5BAF4B990819B7 /* SnapKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DA8F27D9B9A20FC3CD137E5D33B1C8F /* SnapKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9C7B29D4878F1690BBE3F8195CF0313 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BF2458BA77063C6FAF823BC4AF21CC8 /* CFNetwork.framework */; }; + AB94F8B9962F00B7A5C033DE27F2C1DA /* Rabbit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3CE2D94426702C42E0ECFE383D3C8C2 /* Rabbit.swift */; }; + ABA85887A41495358C83CE3F3030EDEA /* CachedResponseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E1BDD28F529594B94ADA74F452F82F5 /* CachedResponseHandler.swift */; }; + AC35C9341C4BB156BB26FDD237EE3721 /* ConstraintDirectionalInsets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C1CEDFDCC870EE6222ED93759B7DCEC /* ConstraintDirectionalInsets.swift */; }; + ACFB6A0EC19A7AB36CC18691BCD6B9CF /* BatchedCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F07FDC6FD39B8280C5424FAB214324C /* BatchedCollection.swift */; }; + ADA198C3D2C208F0D5BBBF072DFEC584 /* JGProgressHUD-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C2DA853E1962095DFFF7C77021045E8F /* JGProgressHUD-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ADAAA1190AC1ACD8C1ABA3B9CF80E21B /* Utils.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC820D4958C6CB5805A74DD5716AAC2C /* Utils.swift */; }; + AF53A33BD366AF9440C89CBC9ACB0A4C /* Bit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 16AB198056BE29CC9CB9E0C3E9EA1EB4 /* Bit.swift */; }; + B4A09A31159DC4BBD705B24893E7AC38 /* ObjectMapper-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 470F3404E5CF81EE66E69C2505DBF863 /* ObjectMapper-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B50A577111BC6DC117BB0D9AD030C77E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */; }; + B57AF46891C3D7365BF1E09E264C502D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */; }; + B599696DFEF6B2A5ECF528F4E5BB1846 /* ConstraintDescription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C0276333BF860F168A4543E9BBA9E69 /* ConstraintDescription.swift */; }; + B6FA755340BE406AFFF49ED7909FBDDA /* BootpayPG.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C535F2E5E2005334A1E1B800CB2E82 /* BootpayPG.swift */; }; + B780B272106411CBE258BB60FFC45410 /* Debugging.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88C6DF1942A026B028434E015181D23 /* Debugging.swift */; }; + B7FFB7F10C918E1F318B7D5668BDE0C9 /* Operators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 598A81E38FE8CBE0AEEA7FFBC37E89B0 /* Operators.swift */; }; + BA2A816A2CDE195F83BBC03AB4671980 /* TransformOperators.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F77CB2092B3BBC1A3A520BCFBD8D995 /* TransformOperators.swift */; }; + BE357CD131EB2659A5CA41EB0BCD624F /* Utils+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B478A05147F7AC1F35170DBC6BF234D3 /* Utils+Foundation.swift */; }; + BE6F6DEA204DB19ACB48E007FDA3660E /* ScalingCarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BAD7972421BA795AA3D8D8C03CFA6CCF /* ScalingCarouselView.swift */; }; + BE77AF28ABBCD1A186B56195290331D8 /* Mappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2197372C989C536003C1F98D9569B50A /* Mappable.swift */; }; + BE98AD8BAF63F6688828ECDE0FC4325B /* JGProgressHUDImageIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = D78B9234D3CA0F8620EA89932D51D76B /* JGProgressHUDImageIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BECA67DFB5E0984DFAEFCB775C31972E /* ConstraintView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 69AAC26A89CFB34CB20551D61D48A0CA /* ConstraintView.swift */; }; + C0918500F99FEB6D05E348975269D7BB /* SwiftOTP-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FED22CA6739D7A484AEF1A54F6F0B49C /* SwiftOTP-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C107349D3A532317B5107434559B1CD9 /* BootpayRest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 474309A22FA84B49849154BB1524A017 /* BootpayRest.swift */; }; + C169504EDF56EBD6D3A797E3C2E2E473 /* JGProgressHUDPieIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = F5520DA0308842DE2736BBCD5E9B7D4A /* JGProgressHUDPieIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C1C5B050B55C15103ABC81769551A283 /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1BC80AD7D08E35396C7566EBA87575A /* Response.swift */; }; + C1F1DB6A9CBDE584D09BA1613AAD4F9D /* Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73F0C5FF5F0C0F955DEFEFF72F90224D /* Alamofire.swift */; }; + C412F27D75AFC0DF0F0289DBB270931C /* ConstraintMakerFinalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D96BA86D83005C1CEE5F30B248B1E88F /* ConstraintMakerFinalizable.swift */; }; + C6D5A4B4028B2C43380C9FA58BD5C8CA /* Alamofire-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 12AE19E8693B6D4A70CF97EA4935C04E /* Alamofire-dummy.m */; }; + C8BECE475FFE148E70377A8E17DB1A15 /* CCM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44B9D73EB107CD267349CCCBACE97DF6 /* CCM.swift */; }; + CA343F72E2F6A79D393FC28F3035B14C /* JGProgressHUDRingIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 273F168EC1C02657B329A1674E254217 /* JGProgressHUDRingIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC81204D03046B2432A1D9687468DC8B /* CryptoSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 89162BFC28244F67A96F45E9509B8F94 /* CryptoSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CD4D156AE1C8BAEE5E6702747A093954 /* AuthenticationErrors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FB5049E033C3FDAF9879CAC9E4527B8 /* AuthenticationErrors.swift */; }; + CDDE37ADFE43DE1677A75C6532214557 /* ZeroPadding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5C67BF2E1DA4226D54F177EE68A93C51 /* ZeroPadding.swift */; }; + CE62FEABA57B2B53EABF8C7DCCC6B2C4 /* ConstraintRelation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4DCA9D6A679B4F5E8B71AD2D6A5F34 /* ConstraintRelation.swift */; }; + CFF7CF859A7B0FECACB4AAF3BF266BA7 /* SwiftOTP.h in Headers */ = {isa = PBXBuildFile; fileRef = DEB55CA9C9FE77129B14D60AF01B1036 /* SwiftOTP.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D03F1F02DE8606E6057D57866611BEBF /* MultipartUpload.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6AE0FE78EE3B55471892D45F4BC5307 /* MultipartUpload.swift */; }; + D05F84A586D1CB0191FC0CE5F6FD5C6B /* HMAC+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E164A2E2D69FDBB5936D00D2E9391E7 /* HMAC+Foundation.swift */; }; + D14066FAE94E304798E43651E5886D13 /* ParameterEncoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4C66B2C3171F4AC3B9B18CF5A03D3CBF /* ParameterEncoding.swift */; }; + D209BE0816237DA14EB1D939314389F7 /* UInt32+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE566A21259FC27D476DB86B97466B34 /* UInt32+Extension.swift */; }; + D31FC7FDD450C4CDD633ECBAD27C6221 /* URLEncodedFormEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = E9AD77F771F169DD4AA1A36234ADA848 /* URLEncodedFormEncoder.swift */; }; + D4247D4E1F33160C398B3C13832B0539 /* Cipher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3C3CAD6D3D726E13A6CED5B3309F962 /* Cipher.swift */; }; + D44428DB2C843DA42DFAD6D6CC333B18 /* Generics.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8C5598845DE87346742EF727EC8FFB2 /* Generics.swift */; }; + D4697DC40F3B059E4A0867838CA1814E /* ConstraintMultiplierTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05C30DAFC887605A436ABF59975697BA /* ConstraintMultiplierTarget.swift */; }; + D57EB484EEF7DDBFE73BB8FD3F2F6BDC /* JGProgressHUDSuccessIndicatorView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DD93E3C088C3C980F3BCD26ABAF7910 /* JGProgressHUDSuccessIndicatorView.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D5EAAFB6FAD77A8F0699345149BA3CBB /* URLRequest+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = F76610AB48410F8289C4C2BEC6D956B1 /* URLRequest+Alamofire.swift */; }; + D75669AE1AD800428598846D24193E8A /* PBKDF2.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45A9BC4F79519B25542D787878928678 /* PBKDF2.swift */; }; + DA0747FF6F30BABFC2AE24586B30A3D7 /* CryptoSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D7EAE9D5AE7832806E20B90FC809B209 /* CryptoSwift-dummy.m */; }; + DC627AFC5B585686898B014184AFCABD /* AuthenticationInterceptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = AFE3DE492A64C37CDE344601114C4CA7 /* AuthenticationInterceptor.swift */; }; + DF4D7A1CBB2D98EFF9D0D1D669659E3A /* SMSPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AF607608D7CF6B0CDC487A8EEDFB7C /* SMSPayload.swift */; }; + E0EBEC1CF11480822963AE7EB9A3F6DD /* BootpayBioPrice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 019906315BF003330ACC2D07C30B1BD2 /* BootpayBioPrice.swift */; }; + E1731CAB8234CC5036FCAFE902640E2F /* UInt16+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F680F29FBBAFAF44CE3261E03BA38F6 /* UInt16+Extension.swift */; }; + E19B56D9B47F6F81198C6D4B487CF99D /* Int+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABA2D859416D2F24912E7C51341A2B3F /* Int+Extension.swift */; }; + E4FBECD1B083212C65743404CDF134DA /* Blowfish+Foundation.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA8F5A97AFB21DF760A56B1C598EAD68 /* Blowfish+Foundation.swift */; }; + E75F619D474EE4F58A20CD637546B782 /* PKCS7Padding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0FF32447336E20C19A2151D7E03512C3 /* PKCS7Padding.swift */; }; + E828E46FC6D91DD36D6F3AA39EE093C3 /* HKDF.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB6F571A6FE94FCF1E07F18AD16859F7 /* HKDF.swift */; }; + E8F2429683B3015CBD39CE883770BCA7 /* ConstraintPriorityTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3061CA83F152670C7A8808C0374029CF /* ConstraintPriorityTarget.swift */; }; + E9A970BC24EA15832F248EA020072746 /* LayoutConstraintItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB0B8D7ABBA117EA066E12B3D421D6A4 /* LayoutConstraintItem.swift */; }; + EB1726F5E0D0EEBA20E4528B1E37A8FA /* ConstraintViewDSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CEA701B5E651FDEE33503FA387D2902 /* ConstraintViewDSL.swift */; }; + EB2E92AFE8E36A23EE6D311736B88B67 /* DataTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33D1A36748092D3E1287C9A3B8686B43 /* DataTransform.swift */; }; + EDC93BD7B9262119AE145E4C7A9D0212 /* Request.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BF12FA4C27C169BF3AC00F44B425B9F /* Request.swift */; }; + EE909C7C786140109051BC9562EEC7C8 /* ConstraintMakerPriortizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8791A2909FD3E35DC2B791DD024C3DE /* ConstraintMakerPriortizable.swift */; }; + EEF76237AE90C7AE31343705FCAEDE79 /* Poly1305.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B18DC4D7CA341CFD6B2C3003BA68ACB /* Poly1305.swift */; }; + F000D6CA12F7C477EC63335B91707775 /* URLTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = F33495BF2903B83B98BB6A7BCF378C0D /* URLTransform.swift */; }; + F0F3224FF592F9BA2A044A2FC2BD4CCD /* Validation.swift in Sources */ = {isa = PBXBuildFile; fileRef = C922BF12BF45BCE70B6E0C0CBF669FED /* Validation.swift */; }; + F13127125704C6E166417C368D72489F /* BootpayPayload.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCAE4ADA3B1C02FEFEFA00BBDAC233E5 /* BootpayPayload.swift */; }; + F2CA9FD6E3A7EFBB13BCEF662D06524B /* CustomDateFormatTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E7507DD1021DD4975B01D511029B0E9 /* CustomDateFormatTransform.swift */; }; + F5B406F0A6E0392B5F51A59D88C594DA /* JGProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = B635AD3A9756B90AF8EBD44C153CCE2D /* JGProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F60975556A37AD5647ED82DC76E9CF6F /* DateFormatterTransform.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5A09DDC6FC0B07A76891A110291B1F9 /* DateFormatterTransform.swift */; }; + F70EF854395CDE981A8336E4FF0310FE /* URLSessionConfiguration+Alamofire.swift in Sources */ = {isa = PBXBuildFile; fileRef = C88E00E74B1EA09D50947CFA95367F0C /* URLSessionConfiguration+Alamofire.swift */; }; + F9B31EED95B0E98A057B6012F9883DCF /* ImmutableMappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AD11D5F7CA623DEC2060C8A271B58B5 /* ImmutableMappable.swift */; }; + FAFDEA81C0CB39F3DFF94B6C963DAFED /* CardSelectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 001DF348C3F279DEE3DF0E339DD1CFAE /* CardSelectView.swift */; }; + FB7D6EA6C6016E2AFDA2F2A407DCF746 /* JGProgressHUDFadeAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = 700348A0B408DCB23C4BA9E70248159C /* JGProgressHUDFadeAnimation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FC7A80288ED7128A94FD3D27F8FF73EE /* JGProgressHUDShadow.h in Headers */ = {isa = PBXBuildFile; fileRef = E7F2998B6C5BEB28E8876322F1755CC4 /* JGProgressHUDShadow.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FE786D430336C7834160E6AB63B8FA10 /* UIAlertControllerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA0F549E34A0F027924355B15114DDE3 /* UIAlertControllerExtension.swift */; }; + FEC7A713760708215B21D1DC83D0E3C8 /* AEAD.swift in Sources */ = {isa = PBXBuildFile; fileRef = 547393658D5DFE5C98AB267071245F80 /* AEAD.swift */; }; + FFF6C109252E67C84593E820CE873CEC /* UInt8+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDEE405FF8BB67D812C2A0317AF824D8 /* UInt8+Extension.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1F37DC4EF0C5AC7B9856331FBE8120F7 /* PBXContainerItemProxy */ = { + 1F931B1B140E1AD51DF7BD3E2546B522 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 99313990C1D76A6D1D017868B6975CC8; - remoteInfo = CryptoSwift; + remoteGlobalIDString = 58B9AD85FE03CF119B42720114874474; + remoteInfo = SwiftOTP; }; - 3CD9C9FAAA31B2DFE2A8074A39B99C08 /* PBXContainerItemProxy */ = { + 53E4F8EE11061FCCE12B05512007E83A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 162E649F50FEC62B61BDD87D1BD422B4; - remoteInfo = ObjectMapper; + remoteGlobalIDString = 99313990C1D76A6D1D017868B6975CC8; + remoteInfo = CryptoSwift; }; - 3D585D78DE0670B6A1BB3B8F384F1A13 /* PBXContainerItemProxy */ = { + 5D3E59C6B3B98DD204F4EBF1DBFAB3A9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 5D44B572B7370A7C2ED01ED1ED6610D6; - remoteInfo = SwiftyBootpay; + remoteGlobalIDString = F4F029DEB873BE780CA09FB0885CD757; + remoteInfo = "SwiftyBootpay-SwiftyBootpay"; }; - 5D303BBA4D04E2E4523E5089E3A1F83C /* PBXContainerItemProxy */ = { + 8551AA499B740EBBA711789B5B0AB9A4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 6F3964F174D0EBFB0D64F8DBC20E1429; - remoteInfo = JGProgressHUD; + remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; + remoteInfo = SnapKit; }; - 7BCECE60A50EB8D5D2472CE9E0258186 /* PBXContainerItemProxy */ = { + 85C9FA3039EC506E9E2096A6AE483ECE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 162E649F50FEC62B61BDD87D1BD422B4; - remoteInfo = ObjectMapper; + remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; + remoteInfo = SnapKit; }; - 7C16C96B8ABE9ACCF45DF825EAA0169D /* PBXContainerItemProxy */ = { + 8A39F7D7543722B6CCE6CCB6A1D17D98 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; - remoteInfo = SnapKit; + remoteGlobalIDString = 58B9AD85FE03CF119B42720114874474; + remoteInfo = SwiftOTP; }; - 957096BC202AE59E31DFF583145702E4 /* PBXContainerItemProxy */ = { + 9121DA22D935DE530F033D4228F7C5C3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 19622742EBA51E823D6DAE3F8CDBFAD4; - remoteInfo = SnapKit; + remoteGlobalIDString = 162E649F50FEC62B61BDD87D1BD422B4; + remoteInfo = ObjectMapper; }; - AE23FA8365569C489DD1EAAD3FF5BDDC /* PBXContainerItemProxy */ = { + 9CB2CCD0CD97E96265F3066A966B45C3 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; - remoteInfo = Alamofire; + remoteGlobalIDString = 6F3964F174D0EBFB0D64F8DBC20E1429; + remoteInfo = JGProgressHUD; }; - C04FD5D6BA12A7BDDD9CFD5875804EF1 /* PBXContainerItemProxy */ = { + BF01D04372C2B3B03EFECDA7ABB90B36 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; - remoteInfo = Alamofire; + remoteGlobalIDString = 6F3964F174D0EBFB0D64F8DBC20E1429; + remoteInfo = JGProgressHUD; }; - D562C1681D44639C87F7EC2C4374C7AD /* PBXContainerItemProxy */ = { + C2B7C0393D7B612C0A7ED480FCA9AD41 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 99313990C1D76A6D1D017868B6975CC8; - remoteInfo = CryptoSwift; + remoteGlobalIDString = 5D44B572B7370A7C2ED01ED1ED6610D6; + remoteInfo = SwiftyBootpay; }; - D98CBA1A40FC75090BA85432A01A5DB3 /* PBXContainerItemProxy */ = { + D69716B996E2579752A5E8DD8E932653 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = F4F029DEB873BE780CA09FB0885CD757; - remoteInfo = "SwiftyBootpay-SwiftyBootpay"; + remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; + remoteInfo = Alamofire; }; - DCA8F79B5838E92C5F3E6581F44DC431 /* PBXContainerItemProxy */ = { + E9858676C5A764BF2E35F71C0F235F8F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 58B9AD85FE03CF119B42720114874474; - remoteInfo = SwiftOTP; + remoteGlobalIDString = 99313990C1D76A6D1D017868B6975CC8; + remoteInfo = CryptoSwift; }; - DD48487ECB3DBD9F0616A8A3C9ED40A4 /* PBXContainerItemProxy */ = { + ED8DC2D61AF485436CB83D8B7333293C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 58B9AD85FE03CF119B42720114874474; - remoteInfo = SwiftOTP; + remoteGlobalIDString = 162E649F50FEC62B61BDD87D1BD422B4; + remoteInfo = ObjectMapper; }; - E7E30D2C549103657B017886803AEC48 /* PBXContainerItemProxy */ = { + F6B8D4196C5FD1EACB8B1AE01914DB6E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 99313990C1D76A6D1D017868B6975CC8; remoteInfo = CryptoSwift; }; - E9C50B8B3606AA02A93A951ED54120A4 /* PBXContainerItemProxy */ = { + F761065C1A35D268042A0DF2F55B5735 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 6F3964F174D0EBFB0D64F8DBC20E1429; - remoteInfo = JGProgressHUD; + remoteGlobalIDString = EAAA1AD3A8A1B59AB91319EE40752C6D; + remoteInfo = Alamofire; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 006E00143D78A0BDB0E2DE2B7C3ECAF0 /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = ""; }; - 0167500827C990C51162E1BC7C0C2579 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; - 01975D0704C2D340FF80D62A63887D4A /* Mappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mappable.swift; path = Sources/Mappable.swift; sourceTree = ""; }; - 0468B0E63D635F601C9D25959FF459D7 /* ISO78164Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO78164Padding.swift; path = Sources/CryptoSwift/ISO78164Padding.swift; sourceTree = ""; }; - 04EC4017205BC616DAB0A11090E1A120 /* CCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CCM.swift; path = Sources/CryptoSwift/BlockMode/CCM.swift; sourceTree = ""; }; - 0562CC7AF7CFB3AE262C9525C1096667 /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; - 05F029C02EDE91E261F255248FEF1074 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; - 06E57E8D06C5E7F9F9EAEDF1C749D0E4 /* ScalingCarouselView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScalingCarouselView.swift; sourceTree = ""; }; - 071825A80553747989B6DE804EAEE937 /* JGProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUD.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUD.h; sourceTree = ""; }; - 074041E8F934BF5FB9892E5731010A4B /* ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist"; sourceTree = ""; }; - 0920ED12E61AF7F1CF66FB500E23E29A /* JGProgressHUDRingIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDRingIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDRingIndicatorView.h; sourceTree = ""; }; - 0936C67B3AB70B01880C3DBDA37A089B /* DictionaryTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DictionaryTransform.swift; path = Sources/DictionaryTransform.swift; sourceTree = ""; }; - 09C2547F837E874A5CEF18857CDA33E4 /* SwiftyBootpay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyBootpay-prefix.pch"; sourceTree = ""; }; - 09C8DE159DD044D338D6729317B09B98 /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; - 0D3B1D975AC52F31082E8F4523A2DE55 /* StreamDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamDecryptor.swift; path = Sources/CryptoSwift/StreamDecryptor.swift; sourceTree = ""; }; - 0F269E762C114D1E2C478449BF2C6F88 /* FromJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FromJSON.swift; path = Sources/FromJSON.swift; sourceTree = ""; }; - 0FA492A93B4874E87EE5ABF9CF5F9044 /* JGProgressHUDSuccessIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDSuccessIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDSuccessIndicatorView.h; sourceTree = ""; }; + 001DF348C3F279DEE3DF0E339DD1CFAE /* CardSelectView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CardSelectView.swift; sourceTree = ""; }; + 017818FFE8827457FE4A066BCB4202D7 /* Alamofire.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Alamofire.modulemap; sourceTree = ""; }; + 018618EE6BCA2DD957A9CD8324368D57 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Source/ConstraintLayoutSupport.swift; sourceTree = ""; }; + 019906315BF003330ACC2D07C30B1BD2 /* BootpayBioPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayBioPrice.swift; sourceTree = ""; }; + 02009D531F8E94AA2C43E72151C6077C /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; + 0294C652BEE6EB46AFA61305B5FE6B6A /* BootpayItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayItem.swift; sourceTree = ""; }; + 02B8977BE590F64716E4DCC181E43BD7 /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; + 0353D3E3AA5B263B35E39AE274DE7690 /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Source/Typealiases.swift; sourceTree = ""; }; + 03D534F028650A6209CAB165DF9C52A0 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Source/ConstraintAttributes.swift; sourceTree = ""; }; + 046011430B740E7C1F2A3C7AFC0B7C31 /* SwiftyBootpay-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyBootpay-prefix.pch"; sourceTree = ""; }; + 05C30DAFC887605A436ABF59975697BA /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Source/ConstraintMultiplierTarget.swift; sourceTree = ""; }; + 061F3A301D9B0E15D6A3E6C0180AC06E /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; + 073B6E1F07D52AA75EC11DD22DB90A39 /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; + 07C1E5AA7B50336B84A1C7794F4410CD /* StringExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringExtension.swift; path = SwiftOTP/Base32/StringExtension.swift; sourceTree = ""; }; + 095856633F50CAAEF353D46AB6BFC532 /* JGProgressHUDShadow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDShadow.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDShadow.m; sourceTree = ""; }; + 09B684F940303E7EF1A5643C6F72AB70 /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; + 0AF7A57C073FE5A4C5088AF3796302F7 /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CryptoSwift.modulemap; sourceTree = ""; }; + 0B486C78F11DD68B28A0992BBF3C002B /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; + 0BF2458BA77063C6FAF823BC4AF21CC8 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; + 0CBEBA025A1B1B4C67EDAE1EC8FA0293 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; + 0CF482F1F4FEA9BA8AE2088E4E1CDBBD /* DictionaryTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DictionaryTransform.swift; path = Sources/DictionaryTransform.swift; sourceTree = ""; }; + 0DEC54AFF8EC59C69CDDEEF8FB8EC5AA /* BootpayWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BootpayWebView.swift; path = SwiftyBootpay/Classes/BootpayWebView.swift; sourceTree = ""; }; + 0E48460E568B4168717C90D7AB427D42 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Source/ConstraintOffsetTarget.swift; sourceTree = ""; }; + 0FD4D5B9A04EBCA8D29259BE8C0EFE15 /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; + 0FF32447336E20C19A2151D7E03512C3 /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; 100803813E5C62FCABF717D3CD46CB25 /* Pods-SwiftyBootpay_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftyBootpay_Example.debug.xcconfig"; sourceTree = ""; }; - 104D079E60FC9FE4926FA10C86CC3B46 /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Source/ConstraintAttributes.swift; sourceTree = ""; }; - 10EB41DE487013E808B8474888340543 /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Sources/DataTransform.swift; sourceTree = ""; }; - 1112CB19197C60B47716BD904B0975AD /* SwiftyBootpay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftyBootpay.modulemap; sourceTree = ""; }; - 11B4200702ED1524AB1B4F9D26D08B67 /* JGProgressHUDPieIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDPieIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDPieIndicatorView.m; sourceTree = ""; }; - 11D2FC60745EDC61DBF25DD6C17D7173 /* RemoteLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RemoteLink.swift; sourceTree = ""; }; - 12B40AE5F49CECDA6A801AD6B2EC5EDB /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; - 1458CB0059DFC52C75BAD64583A56D46 /* BootpayItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayItem.swift; sourceTree = ""; }; - 147715A0506B3F6B820523EA0DD803F2 /* JGProgressHUDFadeAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDFadeAnimation.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDFadeAnimation.h; sourceTree = ""; }; - 155D71EA43188EF8FC41193B5E5EDDAE /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Sources/HexColorTransform.swift; sourceTree = ""; }; - 15703377F056F0BEAD9E41B93CEFBB10 /* EnumOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumOperators.swift; path = Sources/EnumOperators.swift; sourceTree = ""; }; - 165362DF12E95CD2699AFC9D52BB895E /* ObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ObjectMapper.modulemap; sourceTree = ""; }; - 1682AD6CB8D15DD5EC279AFBE146918C /* ObjectMapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ObjectMapper-dummy.m"; sourceTree = ""; }; - 16AAA17F685564F67F2638EAED393BEF /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; - 16B20CCA95945EC31AE55F7623C880E7 /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; - 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 176EBC6494993F38E26512B50D9E987A /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 17E00A066FFB7C2C00B916144EFDE382 /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; - 1858101821E9EF44B5FE40BA21A241BC /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; - 187CE9959D06B235145A27091078153F /* PushType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PushType.swift; sourceTree = ""; }; - 193D82DCA854F8AC5D11AA11B4BDA105 /* ImmutableMappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmutableMappable.swift; path = Sources/ImmutableMappable.swift; sourceTree = ""; }; - 1967F79CB818D6F58A5819C047605612 /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-umbrella.h"; sourceTree = ""; }; - 19D398127C767F035E267E5A2E9FDCB8 /* ConstraintLayoutSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupport.swift; path = Source/ConstraintLayoutSupport.swift; sourceTree = ""; }; - 1AA80F107CB8CBC0A0447FFC838A9E76 /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; - 1C248C264331A272D833071435C55A36 /* CryptoSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.release.xcconfig; sourceTree = ""; }; - 1CC439C7A7130CE928C834B19E922622 /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = ""; }; - 1D5C82126819A540AC3947F8CF32597E /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; - 1F5AD5322B04E9026A07EC2BDEFA6876 /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; - 23E84A519FD0CEF271216E45DA2E3249 /* BootpayUser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayUser.swift; sourceTree = ""; }; - 2556BEF5EBEFF99E79F9D7EE7DB23362 /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; - 262F7430A69BF21C704148D3481C8F4F /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; - 275399CBC123F35B87648E1246347CEE /* AES+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "AES+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/AES+Foundation.swift"; sourceTree = ""; }; - 28FFE34D69CDFFEAB332AE1231357196 /* PKCS7Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7Padding.swift; path = Sources/CryptoSwift/PKCS/PKCS7Padding.swift; sourceTree = ""; }; - 2A4339EB929B52C5C79DD6F6D471CF06 /* JGProgressHUDErrorIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDErrorIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDErrorIndicatorView.h; sourceTree = ""; }; - 2A92845C699A19D5E0A4F292585DF330 /* JGProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUD.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUD.m; sourceTree = ""; }; - 2ACE58DABFAD483CDD58359D7A6FE101 /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; - 2AF841D0CAD8304BEEC3677F7BB19ACD /* RemoteOrderPre.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RemoteOrderPre.swift; sourceTree = ""; }; - 2B1A155C4EB2DEF7332067FD2C18A788 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; - 2CB0F052D4959DEF201EA69680F7C3B4 /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; - 2ECAB30C316E15A949DFFBE35CD66F30 /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Source/ConstraintMakerFinalizable.swift; sourceTree = ""; }; - 2F16BAB823872CAD7DD62B8B326553E5 /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; - 3024242020DB77E7F50DA0CAE6D79367 /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Source/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; - 3111F7AB3F33C70DC3CB9B446C77A4A8 /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; - 312F8E70748D7DB305715F9C79D8B87B /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; + 1119042BE46E177106E8EA7AF2FE2D50 /* CardCode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CardCode.swift; sourceTree = ""; }; + 12AE19E8693B6D4A70CF97EA4935C04E /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; + 140B6AD43164EB41BD6E0FB3B8A34B0F /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; + 14483C8544026E3F73D2B116140B4FB4 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; + 14C33177CCF81DCD14CA85BB8DB16F4B /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Sources/DateTransform.swift; sourceTree = ""; }; + 1518FC358DE8CB2C30830D91407096B3 /* SwiftyBootpay-ObjectC-Bridge.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SwiftyBootpay-ObjectC-Bridge.h"; path = "SwiftyBootpay/Classes/SwiftyBootpay-ObjectC-Bridge.h"; sourceTree = ""; }; + 15C99A4AF3CB447FE2E78DF9D9C6A3CD /* BootpayAuthController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayAuthController.swift; sourceTree = ""; }; + 1693606C9BEDF67D3EEFD4ED5EE54D1E /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; + 16AB198056BE29CC9CB9E0C3E9EA1EB4 /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; + 17596A6AFBBD9587A0C02E11FB85FC73 /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Source/ConstraintMakerExtendable.swift; sourceTree = ""; }; + 181F91B025F0364868C81316461F8720 /* ISO78164Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO78164Padding.swift; path = Sources/CryptoSwift/ISO78164Padding.swift; sourceTree = ""; }; + 1A0809658551C02600D4C5549593BBCA /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; + 1A740EFF89290EBF1B40F4F863F83A6D /* PushType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PushType.swift; sourceTree = ""; }; + 1DBF8DC958E9D568FF1CACD8C71358F8 /* SnapKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.release.xcconfig; sourceTree = ""; }; + 1DD93E3C088C3C980F3BCD26ABAF7910 /* JGProgressHUDSuccessIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDSuccessIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDSuccessIndicatorView.h; sourceTree = ""; }; + 1EBEB7AADF9149CE7E487012B2DCC2A5 /* JGProgressHUDFadeAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDFadeAnimation.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDFadeAnimation.m; sourceTree = ""; }; + 212539C6DE40CACCD23B7E5C01B41FFC /* UInt64+Data.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Data.swift"; path = "SwiftOTP/UInt64+Data.swift"; sourceTree = ""; }; + 2197372C989C536003C1F98D9569B50A /* Mappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mappable.swift; path = Sources/Mappable.swift; sourceTree = ""; }; + 22C5253FFFA2C5C736C88BF761C80BD2 /* Rabbit+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Rabbit+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Rabbit+Foundation.swift"; sourceTree = ""; }; + 259B341EBB198930D8E3814E4108BC44 /* StreamDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamDecryptor.swift; path = Sources/CryptoSwift/StreamDecryptor.swift; sourceTree = ""; }; + 2680796CAA5B469E04D201596E27FEEC /* JGProgressHUD.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = JGProgressHUD.modulemap; sourceTree = ""; }; + 273F168EC1C02657B329A1674E254217 /* JGProgressHUDRingIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDRingIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDRingIndicatorView.h; sourceTree = ""; }; + 28B6D9BE730C5B5F7FF76E1179AB16EB /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Source/Constraint.swift; sourceTree = ""; }; + 29161B8346A845A4D23956C323AE9849 /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; + 29C02563C59F72A9995CB3FD0DC40D73 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; + 2ADADFAC8D2CC719A7D3F20A614FD747 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; + 2B18DC4D7CA341CFD6B2C3003BA68ACB /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; + 2B7D494CDBC8756C888788263A6179EB /* BioMetricAuthenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BioMetricAuthenticator.swift; sourceTree = ""; }; + 2C5E874EFC3E29913916A73519E861A8 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; + 2C776EAA512DF5DF41BC04BEC75EE96E /* OCB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OCB.swift; path = Sources/CryptoSwift/BlockMode/OCB.swift; sourceTree = ""; }; + 2CB39EFB1308BBF6622810B293D20E2B /* JGProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "JGProgressHUD-dummy.m"; sourceTree = ""; }; + 2CD0203F682A3BB923B5E59563F77DBA /* CryptoSwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.release.xcconfig; sourceTree = ""; }; + 2D217D5CF0823CC05C8767C276218A5D /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Source/ConstraintInsetTarget.swift; sourceTree = ""; }; + 2F680F29FBBAFAF44CE3261E03BA38F6 /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; + 3061CA83F152670C7A8808C0374029CF /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Source/ConstraintPriorityTarget.swift; sourceTree = ""; }; + 31A212BD935F4D86785180B7984E2D10 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; 338E1ADA700DB23EB75A3B77CE759AD0 /* Pods-SwiftyBootpay_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SwiftyBootpay_Example-frameworks.sh"; sourceTree = ""; }; - 33F8F93AE15A26DE4BB45AAFE5DB9B3C /* JGProgressHUD-Defines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "JGProgressHUD-Defines.h"; path = "JGProgressHUD/JGProgressHUD/include/JGProgressHUD-Defines.h"; sourceTree = ""; }; - 34768D2C671B9FBC43412AEFFC4CBB05 /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; - 3510CC46B8DF01ED92FDF45C024B5369 /* StringExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringExtension.swift; path = SwiftOTP/Base32/StringExtension.swift; sourceTree = ""; }; - 364EB1D603C724EBCBB73105EE04EAE1 /* SwiftOTP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SwiftOTP.h; path = SwiftOTP/SwiftOTP.h; sourceTree = ""; }; - 36B4132FA2693A2BBB58F0F0BED873CF /* JGProgressHUDSuccessIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDSuccessIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDSuccessIndicatorView.m; sourceTree = ""; }; + 33A5E5872814FFC5F870A12110125496 /* IntegerOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegerOperators.swift; path = Sources/IntegerOperators.swift; sourceTree = ""; }; + 33D1A36748092D3E1287C9A3B8686B43 /* DataTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataTransform.swift; path = Sources/DataTransform.swift; sourceTree = ""; }; + 33FC5FBA66E739C5EB70BCDEF4B6704F /* BootpayExtra.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayExtra.swift; sourceTree = ""; }; + 357D7B4E45950081D313071027042694 /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; + 36587AC1D73459390DEA898EFAB10961 /* SwiftyBootpay.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = SwiftyBootpay.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 3791832EF460C25875C6A20880035A88 /* Pods-SwiftyBootpay_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-SwiftyBootpay_Example.modulemap"; sourceTree = ""; }; - 39845942B39BF17EFB379C237F4F46F0 /* JGProgressHUD.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JGProgressHUD.release.xcconfig; sourceTree = ""; }; - 3A4CBB9281AF7FC3F10C1BC21CF5E6D6 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; - 3C5A35BA8D2ADE66FB1F534BFCD22477 /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Sources/NSDecimalNumberTransform.swift; sourceTree = ""; }; - 3D1EED79970BF952EE67AE78E9E4B62D /* SwiftOTP.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftOTP.debug.xcconfig; sourceTree = ""; }; - 3DABCFAEDEB51FC5036F2C035F923AFB /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Sources/URLTransform.swift; sourceTree = ""; }; - 3FC03688F96301982E7D363A31789AEA /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; - 40A7ADA40707C8A9D934ABC09104015D /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; - 41BF728318E17DB8FD6EAAC9614C402B /* IntegerOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = IntegerOperators.swift; path = Sources/IntegerOperators.swift; sourceTree = ""; }; - 42A181F2212F4930ADEFD41ED4A8E996 /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Source/ConstraintLayoutGuide.swift; sourceTree = ""; }; - 42E4A7D16985B6E4D4690E352BE991F7 /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; - 433301F8874A63B84B5B36DA20023985 /* CodableTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CodableTransform.swift; path = Sources/CodableTransform.swift; sourceTree = ""; }; - 4355B9979CB125364F59542EB3CF41C9 /* JGProgressHUDAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDAnimation.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDAnimation.m; sourceTree = ""; }; - 43D0FCFD5573F177303544A4B356EB15 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Source/LayoutConstraintItem.swift; sourceTree = ""; }; - 44A74AAFC330212784534E2BE6F5F0C2 /* SwiftyBootpay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyBootpay-umbrella.h"; sourceTree = ""; }; - 44B37165722F3D2C55CAE65899E2B6A9 /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; - 481B96E4E01D112C9063C4A09F182D3E /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/Operators.swift; sourceTree = ""; }; + 37FE00FEAE10303B8F85EBD56D9CD131 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Source/ConstraintItem.swift; sourceTree = ""; }; + 3BF12FA4C27C169BF3AC00F44B425B9F /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; + 3CB2850A73CED615B9AF01B33CC224DD /* FromJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FromJSON.swift; path = Sources/FromJSON.swift; sourceTree = ""; }; + 3D4DCA9D6A679B4F5E8B71AD2D6A5F34 /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Source/ConstraintRelation.swift; sourceTree = ""; }; + 3E98B524E2CE6F3276E0E28551B908EB /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; + 400104CB281862A8206B04206194BC6C /* JGProgressHUD.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JGProgressHUD.release.xcconfig; sourceTree = ""; }; + 40379A0BE06427C6E1AF2B1FAB9E00DD /* SwiftOTP.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftOTP.modulemap; sourceTree = ""; }; + 416C8194C3D46188C714DC6F8DEC5C34 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + 41E7DD845DF1B0508231FA45A6ADEAAE /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; + 424393B7AC7A4701FB83F6192C3E1182 /* SessionDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SessionDelegate.swift; path = Source/SessionDelegate.swift; sourceTree = ""; }; + 4267654E43504FC6A31ABA092E44D162 /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; + 442C5E38628DDF30662E964BD4A3013B /* CardInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CardInfo.swift; sourceTree = ""; }; + 44B9D73EB107CD267349CCCBACE97DF6 /* CCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CCM.swift; path = Sources/CryptoSwift/BlockMode/CCM.swift; sourceTree = ""; }; + 4590302250080FE8444FA3949D0B6D54 /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Sources/ISO8601DateTransform.swift; sourceTree = ""; }; + 45A9BC4F79519B25542D787878928678 /* PBKDF2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF2.swift; path = Sources/CryptoSwift/PKCS/PBKDF2.swift; sourceTree = ""; }; + 470F3404E5CF81EE66E69C2505DBF863 /* ObjectMapper-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-umbrella.h"; sourceTree = ""; }; + 474309A22FA84B49849154BB1524A017 /* BootpayRest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayRest.swift; sourceTree = ""; }; + 48A0C972E64B7F9FE01BEF4AA3751BCB /* SHA2.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA2.swift; path = Sources/CryptoSwift/SHA2.swift; sourceTree = ""; }; + 496C7600CA33A12D58C3A9F986C970BC /* RemoteLink.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RemoteLink.swift; sourceTree = ""; }; 498355BC098EC6F4BAE6807E4597B518 /* Pods-SwiftyBootpay_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-SwiftyBootpay_Example-resources.sh"; sourceTree = ""; }; - 49A6EFA37688C53B2277F187968118BC /* UIAlertControllerExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = UIAlertControllerExtension.swift; sourceTree = ""; }; - 4AF2D959CC3625007A68BB03CA8FCB9E /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; - 4BE0526C1C597283C6603240598D8C01 /* JGProgressHUDAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDAnimation.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDAnimation.h; sourceTree = ""; }; - 4C25024B6994DD956C476F62238A13EA /* SwiftOTP-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftOTP-dummy.m"; sourceTree = ""; }; - 4CFB48C13AC309EB3581C62D5783EF18 /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; - 4E11D72E9D6F278BF15C84DF79A588DC /* RedirectHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RedirectHandler.swift; path = Source/RedirectHandler.swift; sourceTree = ""; }; - 4E8ACBC7EB8CF9FECE10349B1D4F5EA1 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; - 4EC6CEB32B34E3CF13ED31286F0C7DA4 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; - 4EEFC3759131BFE164446BF4A063FE50 /* JGProgressHUDImageIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDImageIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDImageIndicatorView.m; sourceTree = ""; }; - 500457FC5409F4A73AAAC8038248A8EE /* SHA1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA1.swift; path = Sources/CryptoSwift/SHA1.swift; sourceTree = ""; }; - 509B414A5C4DC812D929679D6DC45CC8 /* ConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintItem.swift; path = Source/ConstraintItem.swift; sourceTree = ""; }; - 55D56B985D67961BBAA17D2E2678100B /* BootpayParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayParams.swift; sourceTree = ""; }; - 55DA97D4F9042D2051257B89FB137021 /* Bootpay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bootpay.swift; path = SwiftyBootpay/Classes/Bootpay.swift; sourceTree = ""; }; - 56012F219B02CA9D526D4AE3883D37AF /* SwiftOTP-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftOTP-prefix.pch"; sourceTree = ""; }; - 563CF0ADE2240B47628B9DD894FC621C /* JGProgressHUDFadeAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDFadeAnimation.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDFadeAnimation.m; sourceTree = ""; }; - 56BC8B698482C7EBDEFECDF1B1327F4B /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Source/ConstraintMaker.swift; sourceTree = ""; }; - 56C678F524944BF9F58B10EE90837D9E /* SwiftOTP-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftOTP-umbrella.h"; sourceTree = ""; }; + 49C7E875E694F5C21208A08715BA8ADA /* RemoteOrderForm.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RemoteOrderForm.swift; sourceTree = ""; }; + 4A103FBC6AC3CFFE7715495B182E5932 /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; + 4BB32EE89D54C5A62D0EFD47488ED5EE /* BootpayStatItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayStatItem.swift; sourceTree = ""; }; + 4C1CEDFDCC870EE6222ED93759B7DCEC /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Source/ConstraintDirectionalInsets.swift; sourceTree = ""; }; + 4C66B2C3171F4AC3B9B18CF5A03D3CBF /* ParameterEncoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoding.swift; path = Source/ParameterEncoding.swift; sourceTree = ""; }; + 4D6A881B6EC18B9360E9E101664CB9C4 /* JGProgressHUDIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDIndicatorView.m; sourceTree = ""; }; + 4E0FCBD0F68D25A5B704EEC2ECC57957 /* BootpayBioPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayBioPayload.swift; sourceTree = ""; }; + 5049B58AF722BA1B75F93B5D48056369 /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; + 51A6569F38E2C8AE270A21C1B76852E5 /* Alamofire-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Alamofire-Info.plist"; sourceTree = ""; }; + 536E64801821057B3849AE85C389865D /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; + 547393658D5DFE5C98AB267071245F80 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; + 5677AE46085EFA41A4FAB35087A556B8 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Source/ConstraintDSL.swift; sourceTree = ""; }; + 598A81E38FE8CBE0AEEA7FFBC37E89B0 /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; 5C01EC4A33431D6F686071139F736C55 /* Pods-SwiftyBootpay_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftyBootpay_Example-Info.plist"; sourceTree = ""; }; - 5C11921E53F5E1E83037981373DF58B5 /* SecureBytes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SecureBytes.swift; path = Sources/CryptoSwift/SecureBytes.swift; sourceTree = ""; }; - 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Alamofire.framework; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5DD34F8326AD8F8E78939362B203A1B6 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; - 5E48F91941EBF020F8F157799A280F64 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; - 5EE511182F6824573DFC403C687D274A /* TOTP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TOTP.swift; path = SwiftOTP/TOTP.swift; sourceTree = ""; }; - 5F23C8782FD5FC913427381D4A27E517 /* BootpayPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayPayload.swift; sourceTree = ""; }; - 6014F27B4100E198D8ABB7D417ADB0B9 /* ConstraintMultiplierTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMultiplierTarget.swift; path = Source/ConstraintMultiplierTarget.swift; sourceTree = ""; }; - 6034B7343B58D10416D1C6FBF56AA362 /* BootpayExtra.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayExtra.swift; sourceTree = ""; }; - 60F17AF6551BF58FD0C48423A609CEAB /* JGProgressHUDIndeterminateIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDIndeterminateIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDIndeterminateIndicatorView.h; sourceTree = ""; }; - 61AC3693ED262CAF44F23A24A36A1AD5 /* Alamofire.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.release.xcconfig; sourceTree = ""; }; - 61B1A42BEE7AEC2DDA2AAFA79A5724CF /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; - 61E1DED90A9917359542523F7EE5A14F /* ConstraintPriorityTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriorityTarget.swift; path = Source/ConstraintPriorityTarget.swift; sourceTree = ""; }; - 620F107FD95B850AC3CBE3546E7C0F11 /* RequestTaskMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestTaskMap.swift; path = Source/RequestTaskMap.swift; sourceTree = ""; }; + 5C67BF2E1DA4226D54F177EE68A93C51 /* ZeroPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ZeroPadding.swift; path = Sources/CryptoSwift/ZeroPadding.swift; sourceTree = ""; }; + 5CEA701B5E651FDEE33503FA387D2902 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Source/ConstraintViewDSL.swift; sourceTree = ""; }; + 5D1463658DED82C62F6F69C3A977BF35 /* JGProgressHUDRingIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDRingIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDRingIndicatorView.m; sourceTree = ""; }; + 5D2B232B739F8051D81901C3808C5330 /* MapError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MapError.swift; path = Sources/MapError.swift; sourceTree = ""; }; + 5D797E9A5C5782CE845840781FA1CC81 /* Alamofire.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Alamofire.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5D9E274A01C5AE985337975ADEA9FCC7 /* SwiftyBootpay-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftyBootpay-Info.plist"; sourceTree = ""; }; + 5DA8F27D9B9A20FC3CD137E5D33B1C8F /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; + 5E164A2E2D69FDBB5936D00D2E9391E7 /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; + 5E7507DD1021DD4975B01D511029B0E9 /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Sources/CustomDateFormatTransform.swift; sourceTree = ""; }; + 61C9B5A7D99967B8D2FBDCC8EC694618 /* BootpayBioTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayBioTheme.swift; sourceTree = ""; }; 63DE1EE677CE723196BC06C712079FC1 /* Pods-SwiftyBootpay_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-SwiftyBootpay_Example-dummy.m"; sourceTree = ""; }; - 63DE6F2B730389F124208015D96A6146 /* JGProgressHUD-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JGProgressHUD-umbrella.h"; sourceTree = ""; }; - 640E5B8474A1714FB55D5DE5ED5A9C85 /* JGProgressHUDErrorIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDErrorIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDErrorIndicatorView.m; sourceTree = ""; }; - 6460B7916662B4B314D9F1F8070B82D2 /* SwiftyBootpay-ObjectC-Bridge.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "SwiftyBootpay-ObjectC-Bridge.h"; path = "SwiftyBootpay/Classes/SwiftyBootpay-ObjectC-Bridge.h"; sourceTree = ""; }; - 64A66D0AC03F2D91FF2B923E6441AA2B /* Bit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bit.swift; path = Sources/CryptoSwift/Bit.swift; sourceTree = ""; }; - 65435F1FD31002A2A59426D6E1DC6820 /* CustomDateFormatTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CustomDateFormatTransform.swift; path = Sources/CustomDateFormatTransform.swift; sourceTree = ""; }; - 66E8645EFD87A46AEE4D8F9DE0234524 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; - 671814C112C6EDFFA8E96B8D10DC18AE /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; - 67537868764849001823A6DCA08CEC4C /* HTTPMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPMethod.swift; path = Source/HTTPMethod.swift; sourceTree = ""; }; - 680AFEA5934BDE69A2EF93B6107346F8 /* CryptoSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "CryptoSwift-Info.plist"; sourceTree = ""; }; - 68399FD143414AD2D5773BD98000506B /* JGProgressHUD.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JGProgressHUD.debug.xcconfig; sourceTree = ""; }; - 685F3607594536AEF2406BEB70299D25 /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; - 69BBA30D818969CD5DB0A472F23D1CD8 /* JGProgressHUDPieIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDPieIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDPieIndicatorView.h; sourceTree = ""; }; - 69E52A3E9A5422F7EF6A17231527A66B /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; - 6A5C3E3D1E4FEF41E0DF171AD4EF7AE9 /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Source/ConstraintPriority.swift; sourceTree = ""; }; - 6C5A527972CE1EE5F982AFA52A7DC132 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Source/ConstraintMakerEditable.swift; sourceTree = ""; }; - 6C8F6AA8E24AFF024775CB5FB9BF1DAE /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; - 6E123D72F3BCDD9EE293CEABB9B5001F /* SwiftyBootpay.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyBootpay.debug.xcconfig; sourceTree = ""; }; - 6FAB85F0FCD2E1BDDC4668E175005D81 /* AFError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AFError.swift; path = Source/AFError.swift; sourceTree = ""; }; - 6FE5EE91309ED424D2DC46FF06702D7C /* EventMonitor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventMonitor.swift; path = Source/EventMonitor.swift; sourceTree = ""; }; - 700CE37D264FCE3E5B994265745C8B82 /* DispatchQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "DispatchQueue+Alamofire.swift"; path = "Source/DispatchQueue+Alamofire.swift"; sourceTree = ""; }; - 71B0ECF1FAFA2F04878ED61B648FEDBF /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; - 723FD2222653A176357F6F89E9530800 /* JGProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "JGProgressHUD-dummy.m"; sourceTree = ""; }; - 72B483B22CB9BB613163EAD081F82912 /* BootpayStatItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayStatItem.swift; sourceTree = ""; }; - 73517BE36497252A745760A51A45843C /* ObjectMapper.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ObjectMapper.release.xcconfig; sourceTree = ""; }; - 73B0FCB8AA4878E2795C8202E3B521A8 /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; - 74AC180E26E68177694CF8555127337D /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; - 7547FF08826B46DB8394FA37087BE8DD /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Source/ConstraintConfig.swift; sourceTree = ""; }; - 75544D017D97529F8D68F3EFDF5EA03F /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; - 75E00FE160D692CDB370AAD9C729FFEB /* ObjectMapper-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ObjectMapper-Info.plist"; sourceTree = ""; }; - 7674DCD107B080E116C12C169880B50F /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; - 7973A9A4C1009ABB55A8BA5BF230E3F8 /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Sources/DateFormatterTransform.swift; sourceTree = ""; }; - 7991DC572258698B4FA93F143E7B320C /* BootpayMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayMethod.swift; sourceTree = ""; }; - 79D8485DB86A77E19F077D1AFF8F01E8 /* NSObjectExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NSObjectExtension.swift; sourceTree = ""; }; - 7B97F4F361077A99EB2739159A4FD08B /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; - 7CAE97135850151FFF31F3ED8FF704AB /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; - 7D8E488F90CA864EB03F7B879981B67D /* SwiftOTP.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftOTP.modulemap; sourceTree = ""; }; - 7E1D94F92CE1C934D7CCA3D99C0C07C5 /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; - 7F17DB0E751FACBF5A474F71AB2F004A /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/CryptoSwift/Operators.swift; sourceTree = ""; }; - 7FBAFAA66E9C7401884F439AE8BC662C /* JGProgressHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = JGProgressHUD.framework; path = JGProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 81715C24CD5B78CF4ED8D3A376A708B4 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Source/ConstraintDirectionalInsetTarget.swift; sourceTree = ""; }; - 8174078EDD0C4DD069C966A0A57D70FF /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Source/ConstraintDSL.swift; sourceTree = ""; }; - 81B5E2A4B4F4CFE99A528B6BD8A88A58 /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; - 82A3B9E2D0CED6B70B729831AC7D3BAB /* Mapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mapper.swift; path = Sources/Mapper.swift; sourceTree = ""; }; - 82A79F8B25CBE250CDC92BC71F9AE466 /* BootpayAnalytics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BootpayAnalytics.swift; path = SwiftyBootpay/Classes/BootpayAnalytics.swift; sourceTree = ""; }; - 83C435108A7296AFE32E697879915BFB /* ConstraintMakerExtendable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerExtendable.swift; path = Source/ConstraintMakerExtendable.swift; sourceTree = ""; }; - 854C380D71267E07C9B74A433372AAB8 /* ConstraintInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsetTarget.swift; path = Source/ConstraintInsetTarget.swift; sourceTree = ""; }; - 863CB1D716A7DDF302287290D2785D5F /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; - 8644410B9B7A8B9E896CD713ACE9A355 /* SwiftyBootpay.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = SwiftyBootpay.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 86E3EEB244926452C76B7ED6D6A9E4DE /* SwiftOTP.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftOTP.release.xcconfig; sourceTree = ""; }; - 87CEE24E16ADC25D5DF594F2EA1521DF /* ChaCha20.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChaCha20.swift; path = Sources/CryptoSwift/ChaCha20.swift; sourceTree = ""; }; - 8828A9630738BC186D777D174730679E /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Source/ConstraintView+Extensions.swift"; sourceTree = ""; }; - 889524145EDCBC827D85F14E4083CF88 /* BootpayWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BootpayWebView.swift; path = SwiftyBootpay/Classes/BootpayWebView.swift; sourceTree = ""; }; - 8BBAE7E62CE33B5B2E54DCAE1F2B5B0E /* JGProgressHUDFadeZoomAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDFadeZoomAnimation.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDFadeZoomAnimation.m; sourceTree = ""; }; - 8CCA5ADFEA87BF60568AC6F6ABA55C7E /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; - 8D9C45BF887D412DA22DF91EFB2926BB /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Source/ConstraintInsets.swift; sourceTree = ""; }; - 8E4B09B20AF2F9BB5DB044A1D26F7E20 /* BootpayUX.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayUX.swift; sourceTree = ""; }; - 902F954E152243D19B4EDE162CC7A8FB /* ISO8601DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ISO8601DateTransform.swift; path = Sources/ISO8601DateTransform.swift; sourceTree = ""; }; - 906B4F8881E1F47CA253F59EDEBDC66C /* SwiftOTP.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftOTP.framework; path = SwiftOTP.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9206DF04D8BB733DEB6909F4C9EBA2AE /* ToJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToJSON.swift; path = Sources/ToJSON.swift; sourceTree = ""; }; - 92C560DF370F462B78B247E4DAFD1E7F /* Alamofire-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Alamofire-Info.plist"; sourceTree = ""; }; - 934D488E179BE870F29F06F4091FCD49 /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; - 93944065831989FCDD310E504CAEF409 /* AEAD.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEAD.swift; path = Sources/CryptoSwift/AEAD/AEAD.swift; sourceTree = ""; }; - 93A2CE304789D4DC610CED839CB060F1 /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; - 93B91D3C5186492E6AA6479CBAECD397 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - 9415070F6CC3901A92FF6C2141F5F221 /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; - 942723938F8E50A2CE6BDFEFEEF9AD1D /* UInt64+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Extension.swift"; path = "Sources/CryptoSwift/UInt64+Extension.swift"; sourceTree = ""; }; - 94AE2FB4A101C8C3198A2A9B7419BA35 /* SwiftyBootpay.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = SwiftyBootpay.bundle; path = "SwiftyBootpay-SwiftyBootpay.bundle"; sourceTree = BUILT_PRODUCTS_DIR; }; - 969D745F92CFC8E858DC03CF9007588E /* UInt16+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt16+Extension.swift"; path = "Sources/CryptoSwift/UInt16+Extension.swift"; sourceTree = ""; }; - 96CBD2979085574E7E22C2B1EB4EE1E5 /* Pods_SwiftyBootpay_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_SwiftyBootpay_Example.framework; path = "Pods-SwiftyBootpay_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 979486118B3E90C08386079D57962701 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit.framework; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9803187C46DDDED2689354BDAA664238 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - 981971D021A4F837B4453124C83E6C71 /* CardCode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CardCode.swift; sourceTree = ""; }; - 9900D3209A91C7BBC50DF0812BCA0346 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; - 995BFE086D8F85CA85D9418B429D99C8 /* Request.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Request.swift; path = Source/Request.swift; sourceTree = ""; }; - 996CCE31175B099773ABE64C3E4FC480 /* JGProgressHUDShadow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDShadow.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDShadow.m; sourceTree = ""; }; - 99BEC86488636B3030C820445D09D7D6 /* BlockModeOptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockModeOptions.swift; path = Sources/CryptoSwift/BlockMode/BlockModeOptions.swift; sourceTree = ""; }; - 9AB3EA0CF3C440664B19832F4F0D544A /* Alamofire-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Alamofire-dummy.m"; sourceTree = ""; }; - 9AF922605608A2DE871F72CDD91D8EC6 /* RemoteOrderForm.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RemoteOrderForm.swift; sourceTree = ""; }; - 9B284042B6724BB2A85AF63F8340E5D9 /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Sources/EnumTransform.swift; sourceTree = ""; }; - 9CCE7A2948E4E33D15A14912A6724062 /* CardSelectView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CardSelectView.swift; 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; }; - 9E08B4739DB2574125CC4D403A9F411D /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = Sources/CryptoSwift/Scrypt.swift; sourceTree = ""; }; - 9E9203952ED4115BB2D9CA8D71EEF89E /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Source/Constraint.swift; sourceTree = ""; }; - A08F734E1EDF4496D19CEBAC1EBECC01 /* BootpayAuthWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayAuthWebView.swift; sourceTree = ""; }; - A0B92E6C83D7C94A4D61A3FFD1FC4B70 /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; - A15A2150CE0130CF69B3128DC572911C /* SwiftyBootpay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyBootpay-dummy.m"; sourceTree = ""; }; - A26E7F69C228A57A390E5E525480AF22 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; - A2B9E360C0430112C64354FC41AAA5F1 /* Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Poly1305.swift; path = Sources/CryptoSwift/Poly1305.swift; sourceTree = ""; }; - A40C3E4268FB75D4371E0D8703BFF766 /* CardInfo.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CardInfo.swift; sourceTree = ""; }; - A42AE12ECB246207EDB621704E4E400F /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; - A42BA9AAB10D8FDC6FF20ADE991238A9 /* ConstraintRelation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelation.swift; path = Source/ConstraintRelation.swift; sourceTree = ""; }; - A4537A941BC21AC3F3352D4713CF0130 /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Source/ConstraintDirectionalInsets.swift; sourceTree = ""; }; - A48A33D3C7E607A83F1264CE72721BBB /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Source/ConstraintView.swift; sourceTree = ""; }; - A4D3F7A02021067EF0E3CC8D563CC256 /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; - A50E10977A2C0FCA705D07F08C25EEF5 /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; - A50E9BB689A8BFCEE5ABC8F630F78C17 /* BootpayAuthController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayAuthController.swift; sourceTree = ""; }; - A63C1CBB566B92795BE28FA9ADAA6491 /* JGProgressHUD.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = JGProgressHUD.modulemap; sourceTree = ""; }; - A6549891898BAB093B3258AAB2375E4D /* Notifications.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Notifications.swift; path = Source/Notifications.swift; sourceTree = ""; }; - A660C987DAEDC7502E45AAAD23914246 /* UInt64+Data.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt64+Data.swift"; path = "SwiftOTP/UInt64+Data.swift"; sourceTree = ""; }; - A685F1926D97F5E582EED6F4A86B97E1 /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; - A6A30A65F07835B4C3A3B7A8FF8268E4 /* ObjectMapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-prefix.pch"; sourceTree = ""; }; - A7A5C02A135C1211CA93F859653BB18B /* SMSPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SMSPayload.swift; sourceTree = ""; }; - A83137C48C3FC0375AA37D482330B5AF /* Base32.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Base32.swift; path = SwiftOTP/Base32/Base32.swift; sourceTree = ""; }; + 63F95E2B6914EB2FEE6D84BE78A47250 /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Sources/TransformOf.swift; sourceTree = ""; }; + 64C502166B42291A857AE8D3AB584734 /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; + 66D229FBCAA95FB2FC6665B24C456047 /* SwiftOTP.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftOTP.release.xcconfig; sourceTree = ""; }; + 6874BFFC37B6A600DE14D15E84F65742 /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; + 69822659B66E45AC8987F187A9A53D08 /* SwiftyBootpay-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyBootpay-umbrella.h"; sourceTree = ""; }; + 69AAC26A89CFB34CB20551D61D48A0CA /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Source/ConstraintView.swift; sourceTree = ""; }; + 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 6B4097DA5C6EA4E220348B4ABB38454F /* SwiftOTP-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftOTP-prefix.pch"; sourceTree = ""; }; + 6B5BE8ECDD6445C702C92494E01CD917 /* CMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CMAC.swift; path = Sources/CryptoSwift/CMAC.swift; sourceTree = ""; }; + 6B9F33A3CD8110CB0D1E87B9044BF282 /* CTR.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CTR.swift; path = Sources/CryptoSwift/BlockMode/CTR.swift; sourceTree = ""; }; + 6C0276333BF860F168A4543E9BBA9E69 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Source/ConstraintDescription.swift; sourceTree = ""; }; + 6CC1C32296AE824903C9E7C9CA3FD699 /* JGProgressHUDPieIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDPieIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDPieIndicatorView.m; sourceTree = ""; }; + 6D18421DCD594E0B355D675F16685E53 /* BlockMode.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockMode.swift; path = Sources/CryptoSwift/BlockMode/BlockMode.swift; sourceTree = ""; }; + 700348A0B408DCB23C4BA9E70248159C /* JGProgressHUDFadeAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDFadeAnimation.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDFadeAnimation.h; sourceTree = ""; }; + 707088467EA579F1A26C6C4B0AC383E8 /* JGProgressHUDSuccessIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDSuccessIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDSuccessIndicatorView.m; sourceTree = ""; }; + 71AF607608D7CF6B0CDC487A8EEDFB7C /* SMSPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SMSPayload.swift; sourceTree = ""; }; + 72C08245F697011A3B114BDFB262D2EE /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Source/LayoutConstraint.swift; sourceTree = ""; }; + 738CABF42B24DCCA5C9D994770C197B0 /* JGProgressHUDErrorIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDErrorIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDErrorIndicatorView.h; sourceTree = ""; }; + 73F0C5FF5F0C0F955DEFEFF72F90224D /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; + 73F898AAA9D70A9B58001E522FCB9209 /* ObjectMapper.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ObjectMapper.modulemap; sourceTree = ""; }; + 7491C6AA8CE39B11DEDF005A7A48D7E8 /* Cryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptor.swift; path = Sources/CryptoSwift/Cryptor.swift; sourceTree = ""; }; + 752C09A0E5B018B12C30EEB925AD9ABB /* DigestType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DigestType.swift; path = Sources/CryptoSwift/DigestType.swift; sourceTree = ""; }; + 768D91B8562512D61D6BE335530B8EB9 /* AlamofireExtended.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AlamofireExtended.swift; path = Source/AlamofireExtended.swift; sourceTree = ""; }; + 76A8A1724658709FC6AB78323C258087 /* Digest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Digest.swift; path = Sources/CryptoSwift/Digest.swift; sourceTree = ""; }; + 776CC5ED88199B16B46095BB49C99449 /* Session.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Session.swift; path = Source/Session.swift; sourceTree = ""; }; + 78AFF3BAD728C4F9A097ABFE2E7FC59E /* BootpayController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BootpayController.swift; path = SwiftyBootpay/Classes/BootpayController.swift; sourceTree = ""; }; + 79D3952588800455B64F71031E256898 /* OFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OFB.swift; path = Sources/CryptoSwift/BlockMode/OFB.swift; sourceTree = ""; }; + 7AD11D5F7CA623DEC2060C8A271B58B5 /* ImmutableMappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ImmutableMappable.swift; path = Sources/ImmutableMappable.swift; sourceTree = ""; }; + 7BE8657ACEF71D6CAA5F153B37BB931E /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; }; + 7EB01702E4259A4ECA9517017AB1D30C /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Source/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; + 7F775FFB8D73DE3E52293B441CD890AC /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; + 7F916D2C3FF74504EC549570341E47FC /* ConstraintPriority.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintPriority.swift; path = Source/ConstraintPriority.swift; sourceTree = ""; }; + 7FBAFAA66E9C7401884F439AE8BC662C /* JGProgressHUD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = JGProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8086372288EF015B02B631C94313FA99 /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Source/ConstraintMakerEditable.swift; sourceTree = ""; }; + 82AEE9A3A94D8803F84E65D91902847C /* PBKDF1.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PBKDF1.swift; path = Sources/CryptoSwift/PKCS/PBKDF1.swift; sourceTree = ""; }; + 82D31D76C3C20BF6664E64638FC64E38 /* NoPadding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NoPadding.swift; path = Sources/CryptoSwift/NoPadding.swift; sourceTree = ""; }; + 830F30EA718BF5640C53D439886B3A61 /* Result+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Result+Alamofire.swift"; path = "Source/Result+Alamofire.swift"; sourceTree = ""; }; + 836F7099BD00823CAB0FB98285CC5773 /* SwiftOTP-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftOTP-dummy.m"; sourceTree = ""; }; + 838BA6870DCF17A07F9A4097DEBB7DB5 /* CryptoSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-prefix.pch"; sourceTree = ""; }; + 84D26064778DC84B1067D53B549D8178 /* JGProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JGProgressHUD-prefix.pch"; sourceTree = ""; }; + 8553A491EADD5A39FA25ADE97578B292 /* ChaCha20+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ChaCha20+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/ChaCha20+Foundation.swift"; sourceTree = ""; }; + 8598CA5A54F9E9E75645B991DEE6F37B /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = ""; }; + 88CF023D8B4E5AB1103102A45C3C9DC3 /* SwiftyBootpay.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyBootpay.debug.xcconfig; sourceTree = ""; }; + 89162BFC28244F67A96F45E9509B8F94 /* CryptoSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CryptoSwift-umbrella.h"; sourceTree = ""; }; + 8C04D49556C994C8FA4A38E576DDE418 /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; + 8D98E12533A48B0F428531871C2BBD02 /* SwiftyBootpay-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyBootpay-dummy.m"; sourceTree = ""; }; + 8DC87E7C90934F90FCCD4132E5986255 /* ObjectMapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ObjectMapper-dummy.m"; sourceTree = ""; }; + 8E24616FEE7A055473CAECC6BCFB587D /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; + 9067C423A424606B48EE7F0F6B322DA9 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; + 906B4F8881E1F47CA253F59EDEBDC66C /* SwiftOTP.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftOTP.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 90EE8D21D0BE2843D7305E1F978CE8B4 /* NetworkReachabilityManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NetworkReachabilityManager.swift; path = Source/NetworkReachabilityManager.swift; sourceTree = ""; }; + 90FC01ECCECF8BA4EC03E4CD68E8F2BE /* JGProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUD.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUD.m; sourceTree = ""; }; + 90FDC45CB3BC985C830B6FB5536060E5 /* ObjectMapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-prefix.pch"; sourceTree = ""; }; + 9144475D5E57A4B711597311FC32702C /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Source/ConstraintConfig.swift; sourceTree = ""; }; + 91799F0BA9669FC939DFCD8DA75B12BA /* PCBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PCBC.swift; path = Sources/CryptoSwift/BlockMode/PCBC.swift; sourceTree = ""; }; + 92595A71FBE18C3E4CA1DA159BF4FD66 /* CodableTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CodableTransform.swift; path = Sources/CodableTransform.swift; sourceTree = ""; }; + 93523FB8C6584C09DDB6166544A71E6E /* Protected.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Protected.swift; path = Source/Protected.swift; sourceTree = ""; }; + 93CAD2AA3252B5F21F68A31885FF0E42 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Source/ConstraintConstantTarget.swift; sourceTree = ""; }; + 94AE2FB4A101C8C3198A2A9B7419BA35 /* SwiftyBootpay.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SwiftyBootpay.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; + 959BD621B8977EFC66C6A6B03157A7D9 /* HexColorTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HexColorTransform.swift; path = Sources/HexColorTransform.swift; sourceTree = ""; }; + 96CBD2979085574E7E22C2B1EB4EE1E5 /* Pods_SwiftyBootpay_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SwiftyBootpay_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 974DAE5393F83E9981C48AA430CBA21A /* JGProgressHUD.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = JGProgressHUD.debug.xcconfig; sourceTree = ""; }; + 979486118B3E90C08386079D57962701 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 98033EE641E1E717EA076F8A9F2AB94F /* MD5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MD5.swift; path = Sources/CryptoSwift/MD5.swift; sourceTree = ""; }; + 985BC4959AF6C8BC7AA2A0EFC1681133 /* Bootpay.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Bootpay.swift; path = SwiftyBootpay/Classes/Bootpay.swift; sourceTree = ""; }; + 998E4996952F3641668A00AFCCCDEFD6 /* ConstraintDirectionalInsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsetTarget.swift; path = Source/ConstraintDirectionalInsetTarget.swift; sourceTree = ""; }; + 9B340B41BDF7AE61E74CE1D500C45BAA /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Source/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; + 9BAAE00FCFA8348F0479E758E4A0064C /* Generator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generator.swift; path = SwiftOTP/Generator.swift; sourceTree = ""; }; + 9D67F23BC565B66057E7BEF3EAE821BB /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9DCB215E7BB9C07F59DFAE444EE3F437 /* EnumOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumOperators.swift; path = Sources/EnumOperators.swift; sourceTree = ""; }; + 9E012C9E0D97F1110B460E7BDDDDDD2D /* BootpayMethod.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayMethod.swift; sourceTree = ""; }; + 9E1BDD28F529594B94ADA74F452F82F5 /* CachedResponseHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CachedResponseHandler.swift; path = Source/CachedResponseHandler.swift; sourceTree = ""; }; + 9F07FDC6FD39B8280C5424FAB214324C /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; + 9F77CB2092B3BBC1A3A520BCFBD8D995 /* TransformOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOperators.swift; path = Sources/TransformOperators.swift; sourceTree = ""; }; + 9FB5049E033C3FDAF9879CAC9E4527B8 /* AuthenticationErrors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthenticationErrors.swift; sourceTree = ""; }; + A049DB06D98F21F3AAE5C6FDD81FC98F /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; + A159240E250AA5C369368D126D05FA00 /* ObjectMapper.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ObjectMapper.debug.xcconfig; sourceTree = ""; }; + A1BC80AD7D08E35396C7566EBA87575A /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; + A2E6D3396286127D79947F8CD29E1FBE /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; + A4DE9EB79D69576E8C12C85B9D1794F6 /* JGProgressHUDImageIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDImageIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDImageIndicatorView.m; sourceTree = ""; }; + A608444810317B68B7268B4368C5B1FA /* JGProgressHUD-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "JGProgressHUD-Info.plist"; sourceTree = ""; }; + A6F4B24FD31A7B22CA24FFEEBF333A98 /* TOTP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TOTP.swift; path = SwiftOTP/TOTP.swift; sourceTree = ""; }; + A734406F64A9EF20D32C564C645DB49D /* Data+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extension.swift"; path = "Sources/CryptoSwift/Foundation/Data+Extension.swift"; sourceTree = ""; }; + A736B872D4FC4A24E82E8B45774D7EAA /* CardViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CardViewCell.swift; sourceTree = ""; }; + A8791A2909FD3E35DC2B791DD024C3DE /* ConstraintMakerPriortizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPriortizable.swift; path = Source/ConstraintMakerPriortizable.swift; sourceTree = ""; }; A89B348682A64666D0A4018EC886447B /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A970E655CC29A2433F4A6F00D2A6A3FB /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; - A9DBCC14B40C5EAEA1FD3A291B36DED6 /* ConstraintLayoutGuideDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuideDSL.swift; path = Source/ConstraintLayoutGuideDSL.swift; sourceTree = ""; }; - AAF55B77C3BE2C775487FD710BA8BBD1 /* JGProgressHUDShadow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDShadow.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDShadow.h; sourceTree = ""; }; - ACA7D615C45076FAE359559008FFDF37 /* JGProgressHUD-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "JGProgressHUD-Info.plist"; sourceTree = ""; }; - ACCD6373DC39E18FEED042849A593FBB /* CBCMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBCMAC.swift; path = Sources/CryptoSwift/CBCMAC.swift; sourceTree = ""; }; + A914134E323DF3FACDF678B802D9A389 /* SnapKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-prefix.pch"; sourceTree = ""; }; + A97290F51BA817CBC8C195B4141D9648 /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Sources/TransformType.swift; sourceTree = ""; }; + AA6F2207AECA5B89C10FCB9B3031853C /* CryptoSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "CryptoSwift-Info.plist"; sourceTree = ""; }; + AA8F5A97AFB21DF760A56B1C598EAD68 /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; + ABA2D859416D2F24912E7C51341A2B3F /* Int+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Int+Extension.swift"; path = "Sources/CryptoSwift/Int+Extension.swift"; sourceTree = ""; }; + ADC6ED65B1FD8310AA71ABFD173C7C70 /* BiometricAuthenticationConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BiometricAuthenticationConstants.swift; sourceTree = ""; }; AE539DEE419777E7460AFEE063365E28 /* Pods-SwiftyBootpay_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-SwiftyBootpay_Example-acknowledgements.plist"; sourceTree = ""; }; - AEA3A5C4661A6D20233B07BB7004D2CE /* BootpayRest.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayRest.swift; sourceTree = ""; }; - AFAB616C953EE3CF43ED8CCA79A2560F /* Response.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Response.swift; path = Source/Response.swift; sourceTree = ""; }; - AFD37B6253BA73A42EEA5FFEDB854A48 /* BioMetricAuthenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BioMetricAuthenticator.swift; sourceTree = ""; }; - B0B9E59CC65A22D4FA184BF894AAF726 /* HMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HMAC.swift; path = Sources/CryptoSwift/HMAC.swift; sourceTree = ""; }; - B2835854BD356D76C5715C14E36280D1 /* CBC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBC.swift; path = Sources/CryptoSwift/BlockMode/CBC.swift; sourceTree = ""; }; - B2911A52A3808E36FD1121D7FE786DB5 /* ConstraintDescription.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDescription.swift; path = Source/ConstraintDescription.swift; sourceTree = ""; }; - B36B2D2A97721CA59C08D496C9FCF678 /* BiometricAuthenticationConstants.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BiometricAuthenticationConstants.swift; sourceTree = ""; }; - B5AD4A710AAE26376709C7292CE898B7 /* Alamofire.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Alamofire.debug.xcconfig; sourceTree = ""; }; - B5AD9BAE0F933589EBD950BD34EA9CF9 /* BootpayOneStore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayOneStore.swift; sourceTree = ""; }; - B615B5BD4C8284CC43C682C7C4EF7D25 /* SnapKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SnapKit.debug.xcconfig; sourceTree = ""; }; - B6F97101B8EC72329943D1BA14937746 /* SnapKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SnapKit.modulemap; sourceTree = ""; }; - B7515769DD9D1BA5A3F9F98F59FB4E76 /* UInt128.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UInt128.swift; path = Sources/CryptoSwift/UInt128.swift; sourceTree = ""; }; - B7D41650A8C638C4ED560FBC18E9DEAF /* JGProgressHUDIndeterminateIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDIndeterminateIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDIndeterminateIndicatorView.m; sourceTree = ""; }; + AFE3DE492A64C37CDE344601114C4CA7 /* AuthenticationInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AuthenticationInterceptor.swift; path = Source/AuthenticationInterceptor.swift; sourceTree = ""; }; + B1643506F3187C6C10E0B047736556D8 /* ConstraintLayoutGuide.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutGuide.swift; path = Source/ConstraintLayoutGuide.swift; sourceTree = ""; }; + B16AD1B7F02C11FF707C1F7AD175D5FF /* JGProgressHUDAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDAnimation.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDAnimation.m; sourceTree = ""; }; + B3C3CAD6D3D726E13A6CED5B3309F962 /* Cipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cipher.swift; path = Sources/CryptoSwift/Cipher.swift; sourceTree = ""; }; + B3C535F2E5E2005334A1E1B800CB2E82 /* BootpayPG.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayPG.swift; sourceTree = ""; }; + B4632B05B0A80FAF77C0CDE5DC12826F /* JGProgressHUD-Defines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "JGProgressHUD-Defines.h"; path = "JGProgressHUD/JGProgressHUD/include/JGProgressHUD-Defines.h"; sourceTree = ""; }; + B478A05147F7AC1F35170DBC6BF234D3 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; + B4CF752AA0DC949F922885E06B103D5F /* CBCMAC.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CBCMAC.swift; path = Sources/CryptoSwift/CBCMAC.swift; sourceTree = ""; }; + B4F243112D898DC15D6C792F55089AB9 /* Images.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = SwiftyBootpay/Images.xcassets; sourceTree = ""; }; + B60AC51FBA24FB19D31DB57E747C6E85 /* Padding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Padding.swift; path = Sources/CryptoSwift/Padding.swift; sourceTree = ""; }; + B635AD3A9756B90AF8EBD44C153CCE2D /* JGProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUD.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUD.h; sourceTree = ""; }; B82C9E39A3B35AD34E65164F8D4DA1BD /* Pods-SwiftyBootpay_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-SwiftyBootpay_Example.release.xcconfig"; sourceTree = ""; }; - B8ABBC01440156A474D322DCB134CC7E /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - B9084FE779702931E8DF1D00A2D725FB /* ObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ObjectMapper.framework; path = ObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BBEFD0996A122918CE2DA4291A491CD8 /* JGProgressHUDIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDIndicatorView.m; sourceTree = ""; }; - BC31E6C447DAE3BB34B4086DFE7D83CD /* DateTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateTransform.swift; path = Sources/DateTransform.swift; sourceTree = ""; }; - BC3B33FA86F8E4849DFDE5F4310E5CDD /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; - BC627468E19B4CE633127EEFA266D67D /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; - BE0D5758678B977631DD50513B8478AC /* AES.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.swift; path = Sources/CryptoSwift/AES.swift; sourceTree = ""; }; - BED590C51BAD365D18E253A7983482DD /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Source/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; - BF9A6AA9DF1B51F7EF58E9214A2766DB /* CardViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CardViewCell.swift; sourceTree = ""; }; - BFD5D7B20395073403727CCC32364200 /* OTPAlgorithm.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OTPAlgorithm.swift; path = SwiftOTP/OTPAlgorithm.swift; sourceTree = ""; }; - C02F1925C8E3D3EDEEF9BDB1AEF090C2 /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; - C037C39E63C09791DE8BD6B5F85CFF9E /* SwiftyBootpay-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftyBootpay-Info.plist"; sourceTree = ""; }; - C1FD7E4734E72CF0D53CFCB934D97661 /* TransformOperators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOperators.swift; path = Sources/TransformOperators.swift; sourceTree = ""; }; - C2558EA58B4BD4F4307E81E23F346FE3 /* Blowfish+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Blowfish+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Blowfish+Foundation.swift"; sourceTree = ""; }; - C2705E97E3F9EA5C94216904A46C0233 /* SwiftyBootpay.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyBootpay.release.xcconfig; sourceTree = ""; }; - C38D56B16DE40F61EDFF597D135D99D1 /* LayoutConstraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraint.swift; path = Source/LayoutConstraint.swift; sourceTree = ""; }; - C478B86F3E6DFEEE031A8283F30CCFD4 /* SnapKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SnapKit-umbrella.h"; sourceTree = ""; }; - C5B8C1A52FAF5D6946519D57F01355CC /* ConstraintLayoutGuide+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintLayoutGuide+Extensions.swift"; path = "Source/ConstraintLayoutGuide+Extensions.swift"; sourceTree = ""; }; - C681AF519A672C8B51E07D67CBD4896B /* Collection+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Collection+Extension.swift"; path = "Sources/CryptoSwift/Collection+Extension.swift"; sourceTree = ""; }; - C6F96D4D7A6235E252C430EBF6EF7D5F /* TransformType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformType.swift; path = Sources/TransformType.swift; sourceTree = ""; }; - C74915A2668F5FCFF68B7EBA958759D3 /* Utils+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Utils+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Utils+Foundation.swift"; sourceTree = ""; }; - C763D90520C1E816EA7373F3A5DD69D4 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; - C771F3EEA907B18E2587AD525D2E3344 /* CryptoSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.debug.xcconfig; sourceTree = ""; }; - C7E17760E608E6925413D79BE98CFD67 /* MapError.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MapError.swift; path = Sources/MapError.swift; sourceTree = ""; }; - C84B36F67541E00CBAFBF05C197312DF /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Source/ConstraintMakerRelatable.swift; sourceTree = ""; }; - C8992BFDBF51CDD163F01B2C7A09EBA7 /* BatchedCollection.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BatchedCollection.swift; path = Sources/CryptoSwift/BatchedCollection.swift; sourceTree = ""; }; - CAB336C30F638E51F626F0E61D578647 /* BootpayController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BootpayController.swift; path = SwiftyBootpay/Classes/BootpayController.swift; sourceTree = ""; }; - CAE92ACBE4B1C9381C5636B6C6F03DF4 /* Alamofire-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-prefix.pch"; sourceTree = ""; }; - CB2ED6B49B54D02F881CAB583681C5AD /* JGProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JGProgressHUD-prefix.pch"; sourceTree = ""; }; - CB9B54776405A61BCF4E24D21D81AC1F /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; - CCC80EF349855BBCD7BB29BA05C84117 /* ScalingCarouselLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScalingCarouselLayout.swift; sourceTree = ""; }; + B8D89B51779CA0CA38A825BC80059879 /* RetryPolicy.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RetryPolicy.swift; path = Source/RetryPolicy.swift; sourceTree = ""; }; + B8DDFF708C34B9B10BEF7A1BE76024B1 /* MultipartFormData.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartFormData.swift; path = Source/MultipartFormData.swift; sourceTree = ""; }; + B9084FE779702931E8DF1D00A2D725FB /* ObjectMapper.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ObjectMapper.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B93598B4204E47D79596C5071468A0EF /* Blowfish.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Blowfish.swift; path = Sources/CryptoSwift/Blowfish.swift; sourceTree = ""; }; + BA9226D8EEC6C63455181B7E17F4A171 /* URLConvertible+URLRequestConvertible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLConvertible+URLRequestConvertible.swift"; path = "Source/URLConvertible+URLRequestConvertible.swift"; sourceTree = ""; }; + BAD7972421BA795AA3D8D8C03CFA6CCF /* ScalingCarouselView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScalingCarouselView.swift; sourceTree = ""; }; + BB09A03F8BE5E2708507DFB2F32246D0 /* String+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extension.swift"; path = "Sources/CryptoSwift/String+Extension.swift"; sourceTree = ""; }; + BCAE4ADA3B1C02FEFEFA00BBDAC233E5 /* BootpayPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayPayload.swift; sourceTree = ""; }; + BD29469A077BBBC14248ED6F461F5D71 /* ObjectMapper.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ObjectMapper.release.xcconfig; sourceTree = ""; }; + BD4C9CE54A64C9300B732311241A6F70 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = Sources/Map.swift; sourceTree = ""; }; + BE0EFC114008B16999A73AB306EC4A1C /* String+FoundationExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+FoundationExtension.swift"; path = "Sources/CryptoSwift/Foundation/String+FoundationExtension.swift"; sourceTree = ""; }; + BE6DA127F6DDD4B4A4F8BC2528294051 /* Combine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Combine.swift; path = Source/Combine.swift; sourceTree = ""; }; + BEA589FA5D9BA50354DCD84F8C864A70 /* SwiftyBootpay.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyBootpay.release.xcconfig; sourceTree = ""; }; + BF46E3F1F67C182E8BA0981E0209A83D /* JGProgressHUDFadeZoomAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDFadeZoomAnimation.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDFadeZoomAnimation.h; sourceTree = ""; }; + BFC7B0E99DD5CEBF52338CF4012260BC /* SwiftOTP-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftOTP-Info.plist"; sourceTree = ""; }; + C151FE0A8128266ED05B075092F54DE8 /* ConstraintLayoutSupportDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintLayoutSupportDSL.swift; path = Source/ConstraintLayoutSupportDSL.swift; sourceTree = ""; }; + C15A683B1F00FA350E4890CDCDA00A11 /* RequestInterceptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = RequestInterceptor.swift; path = Source/RequestInterceptor.swift; sourceTree = ""; }; + C1A031336B3F28842A12E1F137BD1A1E /* BlockCipher.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockCipher.swift; path = Sources/CryptoSwift/BlockCipher.swift; sourceTree = ""; }; + C2DA853E1962095DFFF7C77021045E8F /* JGProgressHUD-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "JGProgressHUD-umbrella.h"; sourceTree = ""; }; + C34D81EF4AA8D9F6B48A2188EA8CC97B /* SnapKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SnapKit-Info.plist"; sourceTree = ""; }; + C3EF942077922F1D0FFEF5EC69124AC5 /* AEADChaCha20Poly1305.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AEADChaCha20Poly1305.swift; path = Sources/CryptoSwift/AEAD/AEADChaCha20Poly1305.swift; sourceTree = ""; }; + C5A09DDC6FC0B07A76891A110291B1F9 /* DateFormatterTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DateFormatterTransform.swift; path = Sources/DateFormatterTransform.swift; sourceTree = ""; }; + C6600014718991E72BCBFF36B3EC37DF /* Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Cryptors.swift; path = Sources/CryptoSwift/Cryptors.swift; sourceTree = ""; }; + C71B87B53A5E2C7C91B05AC484E031B0 /* Array+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Extension.swift"; path = "Sources/CryptoSwift/Array+Extension.swift"; sourceTree = ""; }; + C816B41AF71B576F2F58C3D222622C53 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + C88C6DF1942A026B028434E015181D23 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Source/Debugging.swift; sourceTree = ""; }; + C88E00E74B1EA09D50947CFA95367F0C /* URLSessionConfiguration+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLSessionConfiguration+Alamofire.swift"; path = "Source/URLSessionConfiguration+Alamofire.swift"; sourceTree = ""; }; + C922BF12BF45BCE70B6E0C0CBF669FED /* Validation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Validation.swift; path = Source/Validation.swift; sourceTree = ""; }; + C9E7D5D7E9B9FAC94551DAF5CD4F16C3 /* JGProgressHUDFadeZoomAnimation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDFadeZoomAnimation.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDFadeZoomAnimation.m; sourceTree = ""; }; + CB6F571A6FE94FCF1E07F18AD16859F7 /* HKDF.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HKDF.swift; path = Sources/CryptoSwift/HKDF.swift; sourceTree = ""; }; + CBAD6FBCCA20CD2F7CB6C51DB40C74C6 /* JGProgressHUDIndeterminateIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDIndeterminateIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDIndeterminateIndicatorView.m; sourceTree = ""; }; + CBB7805E7C89EDCAC6D71C8A2AA05FD8 /* ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist"; sourceTree = ""; }; + CBDFBDF94E2CC7BC0A88F9C646CCE632 /* ScalingCarouselLayout.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScalingCarouselLayout.swift; sourceTree = ""; }; + CC01F94456BFA5538B869E663324F656 /* RemoteOrderPre.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = RemoteOrderPre.swift; sourceTree = ""; }; + CC820D4958C6CB5805A74DD5716AAC2C /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; CD7FE305A4C8F5F444758976E287B1E4 /* Pods-SwiftyBootpay_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-SwiftyBootpay_Example-acknowledgements.markdown"; sourceTree = ""; }; - CE11146DCF14306861597814BBA062A5 /* JGProgressHUDFadeZoomAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDFadeZoomAnimation.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDFadeZoomAnimation.h; sourceTree = ""; }; - CE9DEA57597DEFD33F361F159D4896FA /* BootpayBioTheme.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayBioTheme.swift; sourceTree = ""; }; - CF592ED3E1E7E68C7A0450891B59D523 /* CipherModeWorker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CipherModeWorker.swift; path = Sources/CryptoSwift/BlockMode/CipherModeWorker.swift; sourceTree = ""; }; - CF77EF38AD2FE399342D9727AB765A14 /* ObjectMapper-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ObjectMapper-umbrella.h"; sourceTree = ""; }; - D006F10A2BBA7FEC9B7DAEC87DAA66E2 /* JGProgressHUDRingIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDRingIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDRingIndicatorView.m; sourceTree = ""; }; - D113FC59153DB4530EE1C09B7A0436ED /* Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Alamofire.swift; path = Source/Alamofire.swift; sourceTree = ""; }; - D1BB63F22FC00B7DC1B65B9BBBEA3698 /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; - D2894805CA0FE2F56CADA0A93288EAFC /* Images.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = SwiftyBootpay/Images.xcassets; sourceTree = ""; }; - D293E3803C355B318E6BAB7BB6D72441 /* SwiftOTP-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftOTP-Info.plist"; sourceTree = ""; }; - D35B5B1A79CF9390D087E628124C25E8 /* CryptoSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = CryptoSwift.modulemap; sourceTree = ""; }; - D42098CE6DD1DE05EC7AD2491C7CCDA9 /* HOTP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HOTP.swift; path = SwiftOTP/HOTP.swift; sourceTree = ""; }; - D79A8D85FBBF9EC261A30F62B3673B3D /* AES.Cryptors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AES.Cryptors.swift; path = Sources/CryptoSwift/AES.Cryptors.swift; sourceTree = ""; }; - D879E7D02698289EDE66D54EDA6F8340 /* Typealiases.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Typealiases.swift; path = Source/Typealiases.swift; sourceTree = ""; }; - D8FF5E3F0583E1086DA08E7A8DCF5F33 /* ConstraintMakerPriortizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerPriortizable.swift; path = Source/ConstraintMakerPriortizable.swift; sourceTree = ""; }; - D9163F9D05E8354E01C6E497993DC092 /* ConstraintOffsetTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintOffsetTarget.swift; path = Source/ConstraintOffsetTarget.swift; sourceTree = ""; }; - DA8DB0D77B71F3DEF64BE51B1F290469 /* ConstraintConstantTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConstantTarget.swift; path = Source/ConstraintConstantTarget.swift; sourceTree = ""; }; - DDD165A292BDC8C0342A9CEEE464554A /* BootpayBioPrice.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayBioPrice.swift; sourceTree = ""; }; - E1801C7819330108F475DDADB34ED2A3 /* ObjectMapper.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ObjectMapper.debug.xcconfig; sourceTree = ""; }; - E1E1DA6274F9B9AA50926544E9A42B85 /* Utils.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Utils.swift; path = Sources/CryptoSwift/Utils.swift; sourceTree = ""; }; - E40AD5CAD0B846393D64439B60C75453 /* StreamEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StreamEncryptor.swift; path = Sources/CryptoSwift/StreamEncryptor.swift; sourceTree = ""; }; - E47C3288901D52EABB19D0B24A4719E5 /* ConstraintViewDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintViewDSL.swift; path = Source/ConstraintViewDSL.swift; sourceTree = ""; }; - E4F33C4CE13438804C92DE4B14BAFF5A /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; - E5E02BC5AD6747F6738CFECEC76D8939 /* Generator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generator.swift; path = SwiftOTP/Generator.swift; sourceTree = ""; }; - E661CDEE8CE30E35DEA92895B3832606 /* ParameterEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ParameterEncoder.swift; path = Source/ParameterEncoder.swift; sourceTree = ""; }; - E694ADEF1A423048933FD96F471467D3 /* BlockEncryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockEncryptor.swift; path = Sources/CryptoSwift/BlockEncryptor.swift; sourceTree = ""; }; - E7AC3A72DA123FD6D16E9162F1671078 /* TransformOf.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TransformOf.swift; path = Sources/TransformOf.swift; sourceTree = ""; }; - E7E313436B9F334EA150B8543CF3FBC3 /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; - EA7F603E26CB0708EC80D2B874B10EAF /* HMAC+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "HMAC+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/HMAC+Foundation.swift"; sourceTree = ""; }; - EB25A9A1324CB97EADF8552561B91E05 /* HTTPHeaders.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHeaders.swift; path = Source/HTTPHeaders.swift; sourceTree = ""; }; - EBB97C2FCB4D1C50AA821EE3037D4756 /* Map.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Map.swift; path = Sources/Map.swift; sourceTree = ""; }; - EF65CA6BE2FC55F04494BD39DDEAAD52 /* JGProgressHUDImageIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDImageIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDImageIndicatorView.h; sourceTree = ""; }; - EFFED580E12ABFEC877D01748F2CF575 /* SHA3.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SHA3.swift; path = Sources/CryptoSwift/SHA3.swift; sourceTree = ""; }; - F14A749B758B672CB4BAAE9D5B746204 /* BootpayBioPayload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayBioPayload.swift; sourceTree = ""; }; - F1EA662255D9769CAF7D31646AB3A1E0 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Source/ConstraintRelatableTarget.swift; sourceTree = ""; }; - F2F015EE5D467F18FDCEA41723D06AAE /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; - F386B82A2FBAD1BF48FDA5DB1409B0F3 /* AuthenticationErrors.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AuthenticationErrors.swift; sourceTree = ""; }; - F3BD3AA16D197DF8A711E1ECD2006E2C /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; - F3DE1FF09E0BAC16CC180EB9E12A4DEA /* ScalingCarouselCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScalingCarouselCell.swift; sourceTree = ""; }; - F5EA84590C959699970929AC72F09276 /* ServerTrustEvaluation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ServerTrustEvaluation.swift; path = Source/ServerTrustEvaluation.swift; sourceTree = ""; }; - F670A64C1BF426AEEDE982759C309F60 /* GCM.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = GCM.swift; path = Sources/CryptoSwift/BlockMode/GCM.swift; sourceTree = ""; }; - F81274EDB681F11E7CB05F7DCA2BB33C /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CryptoSwift.framework; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F8EE0F99DB8BCE17E3531472CDB8654A /* BootpayPG.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayPG.swift; sourceTree = ""; }; - F9B97A2FC182F224EC5C5BD020C53576 /* Debugging.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Debugging.swift; path = Source/Debugging.swift; sourceTree = ""; }; - F9DC2C2D55476C6B0F3425C3E3864709 /* BlockDecryptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BlockDecryptor.swift; path = Sources/CryptoSwift/BlockDecryptor.swift; sourceTree = ""; }; + CDEE405FF8BB67D812C2A0317AF824D8 /* UInt8+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt8+Extension.swift"; path = "Sources/CryptoSwift/UInt8+Extension.swift"; sourceTree = ""; }; + CE566A21259FC27D476DB86B97466B34 /* UInt32+Extension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UInt32+Extension.swift"; path = "Sources/CryptoSwift/UInt32+Extension.swift"; sourceTree = ""; }; + CECF0A047A1D9DD8FA5A272BC711A93C /* BootpayUX.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayUX.swift; sourceTree = ""; }; + CED594CA91CB214D24034AAA5EFC164F /* Operators.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Operators.swift; path = Sources/Operators.swift; sourceTree = ""; }; + CFA307DC0683E01B2EAA4904BA399283 /* OperationQueue+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "OperationQueue+Alamofire.swift"; path = "Source/OperationQueue+Alamofire.swift"; sourceTree = ""; }; + D1A48D911530A1F3363FB37E8A1C4803 /* CryptoSwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = CryptoSwift.debug.xcconfig; sourceTree = ""; }; + D2A60CB721BB60835B24D4666A11D78D /* ToJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ToJSON.swift; path = Sources/ToJSON.swift; sourceTree = ""; }; + D2ED30966773B688CC95DBF318643F3E /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + D3CE2D94426702C42E0ECFE383D3C8C2 /* Rabbit.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Rabbit.swift; path = Sources/CryptoSwift/Rabbit.swift; sourceTree = ""; }; + D5C95150FC1567FFE675C2E57D1DB953 /* BootpayOneStore.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayOneStore.swift; sourceTree = ""; }; + D6AE0FE78EE3B55471892D45F4BC5307 /* MultipartUpload.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = MultipartUpload.swift; path = Source/MultipartUpload.swift; sourceTree = ""; }; + D78B9234D3CA0F8620EA89932D51D76B /* JGProgressHUDImageIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDImageIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDImageIndicatorView.h; sourceTree = ""; }; + D7EAE9D5AE7832806E20B90FC809B209 /* CryptoSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CryptoSwift-dummy.m"; sourceTree = ""; }; + D8AAA566D48E6F566CB1E9DCC42296FB /* ObjectMapper-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ObjectMapper-Info.plist"; sourceTree = ""; }; + D8C5598845DE87346742EF727EC8FFB2 /* Generics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Generics.swift; path = Sources/CryptoSwift/Generics.swift; sourceTree = ""; }; + D926294FC0E97524074D61C2EAB40E90 /* Updatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Updatable.swift; path = Sources/CryptoSwift/Updatable.swift; sourceTree = ""; }; + D96BA86D83005C1CEE5F30B248B1E88F /* ConstraintMakerFinalizable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerFinalizable.swift; path = Source/ConstraintMakerFinalizable.swift; sourceTree = ""; }; + DA0F549E34A0F027924355B15114DDE3 /* UIAlertControllerExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = UIAlertControllerExtension.swift; sourceTree = ""; }; + DA7C1673FE0C2F6FAAAF983B412887BB /* UILayoutSupport+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "UILayoutSupport+Extensions.swift"; path = "Source/UILayoutSupport+Extensions.swift"; sourceTree = ""; }; + DB27B6754B057AFD345E0F4A16B03A1C /* JGProgressHUDIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDIndicatorView.h; sourceTree = ""; }; + DDAF859326583C40CF3F6262F47C574D /* JGProgressHUDAnimation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDAnimation.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDAnimation.h; sourceTree = ""; }; + DEB55CA9C9FE77129B14D60AF01B1036 /* SwiftOTP.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SwiftOTP.h; path = SwiftOTP/SwiftOTP.h; sourceTree = ""; }; + E0AEA3D25E03B8646C1D8B014E991AF8 /* CFB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CFB.swift; path = Sources/CryptoSwift/BlockMode/CFB.swift; sourceTree = ""; }; + E17783AF93E78F336C73615FC4B5A784 /* OTPAlgorithm.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = OTPAlgorithm.swift; path = SwiftOTP/OTPAlgorithm.swift; sourceTree = ""; }; + E1F81649A90AA167ADA3BD3E1455A589 /* Mapper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Mapper.swift; path = Sources/Mapper.swift; sourceTree = ""; }; + E26F5C7B6481D91FDF7B5007BB210E63 /* ConstraintMaker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMaker.swift; path = Source/ConstraintMaker.swift; sourceTree = ""; }; + E3127E1E86C66D9BC4547CFF2C7A69F3 /* EnumTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EnumTransform.swift; path = Sources/EnumTransform.swift; sourceTree = ""; }; + E47C3785E9963E1BA5631E54FD7103B5 /* SwiftOTP.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftOTP.debug.xcconfig; sourceTree = ""; }; + E5EEDE29A7C71377D78469421148CE57 /* StringEncoding+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "StringEncoding+Alamofire.swift"; path = "Source/StringEncoding+Alamofire.swift"; sourceTree = ""; }; + E7203112B99753FBB89461ACB8128514 /* ConstraintRelatableTarget.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintRelatableTarget.swift; path = Source/ConstraintRelatableTarget.swift; sourceTree = ""; }; + E7F2998B6C5BEB28E8876322F1755CC4 /* JGProgressHUDShadow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDShadow.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDShadow.h; sourceTree = ""; }; + E861CDF1ED7F50A732D8EAA09D5591A6 /* Authenticator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Authenticator.swift; path = Sources/CryptoSwift/Authenticator.swift; sourceTree = ""; }; + E889E0D928F0411B7D6DCBEBD0C40A0D /* JGProgressHUDIndeterminateIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDIndeterminateIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDIndeterminateIndicatorView.h; sourceTree = ""; }; + E8B5C11901713EFF021F30DD100C0142 /* ConstraintMakerRelatable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerRelatable.swift; path = Source/ConstraintMakerRelatable.swift; sourceTree = ""; }; + E91DB19212C2404BEDBDE7964BB75677 /* NSObjectExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NSObjectExtension.swift; sourceTree = ""; }; + E9AD77F771F169DD4AA1A36234ADA848 /* URLEncodedFormEncoder.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLEncodedFormEncoder.swift; path = Source/URLEncodedFormEncoder.swift; sourceTree = ""; }; + EA5F95E18172B63369D86E583BC5F03C /* ECB.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ECB.swift; path = Sources/CryptoSwift/BlockMode/ECB.swift; sourceTree = ""; }; + EB0B8D7ABBA117EA066E12B3D421D6A4 /* LayoutConstraintItem.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = LayoutConstraintItem.swift; path = Source/LayoutConstraintItem.swift; sourceTree = ""; }; + EBB5C3D306ACA1EDF682E0BDD0549B82 /* SwiftyBootpay.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftyBootpay.modulemap; sourceTree = ""; }; + EBF4A43127B0705F66EBAEBD0E09015A /* CompactMap.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = CompactMap.swift; path = Sources/CryptoSwift/CompactMap.swift; sourceTree = ""; }; + ED749B6EED470DF6FD5E154FEA73A264 /* ScalingCarouselCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScalingCarouselCell.swift; sourceTree = ""; }; + EE31D0F027C274F53F60E8443EB85E50 /* BootpayUser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayUser.swift; sourceTree = ""; }; + EEA4D387DBC33E520A07D1B4B6C4B9E6 /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Source/ConstraintView+Extensions.swift"; sourceTree = ""; }; + F08042C4F607990379A3B719C0317CF2 /* Checksum.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Checksum.swift; path = Sources/CryptoSwift/Checksum.swift; sourceTree = ""; }; + F1B3B008279EEE3CB2192F5E852F1480 /* BootpayAuthWebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayAuthWebView.swift; sourceTree = ""; }; + F1EDCDD67B7583F00D7A31603655B700 /* Array+Foundation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Array+Foundation.swift"; path = "Sources/CryptoSwift/Foundation/Array+Foundation.swift"; sourceTree = ""; }; + F2A609D2EDD4ED2EE7F67241CC54035F /* NSDecimalNumberTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NSDecimalNumberTransform.swift; path = Sources/NSDecimalNumberTransform.swift; sourceTree = ""; }; + F33495BF2903B83B98BB6A7BCF378C0D /* URLTransform.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = URLTransform.swift; path = Sources/URLTransform.swift; sourceTree = ""; }; + F4AAD7039E8B0F6BE2CC3B570251D115 /* HOTP.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HOTP.swift; path = SwiftOTP/HOTP.swift; sourceTree = ""; }; + F5520DA0308842DE2736BBCD5E9B7D4A /* JGProgressHUDPieIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDPieIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDPieIndicatorView.h; sourceTree = ""; }; + F69A9B49E9FDAEEE776F79B502A2E2ED /* PKCS7.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS7.swift; path = Sources/CryptoSwift/PKCS/PKCS7.swift; sourceTree = ""; }; + F74AF15C961CFAFC8D6C3D8523E8CF1F /* JGProgressHUDErrorIndicatorView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = JGProgressHUDErrorIndicatorView.m; path = JGProgressHUD/JGProgressHUD/JGProgressHUDErrorIndicatorView.m; sourceTree = ""; }; + F76610AB48410F8289C4C2BEC6D956B1 /* URLRequest+Alamofire.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "URLRequest+Alamofire.swift"; path = "Source/URLRequest+Alamofire.swift"; sourceTree = ""; }; + F77348DB5955A741A1C4863062348B56 /* BootpayParams.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BootpayParams.swift; sourceTree = ""; }; + F81274EDB681F11E7CB05F7DCA2BB33C /* CryptoSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CryptoSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F85CFA42E7DB9E24B5EE9283FFFBE5BB /* Scrypt.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Scrypt.swift; path = Sources/CryptoSwift/Scrypt.swift; sourceTree = ""; }; + FABABCBB4B4BB7C627EAC7536D515E8A /* PKCS5.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = PKCS5.swift; path = Sources/CryptoSwift/PKCS/PKCS5.swift; sourceTree = ""; }; + FB76D3E637A261FD15323F23F5A2A3C1 /* ConstraintInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintInsets.swift; path = Source/ConstraintInsets.swift; sourceTree = ""; }; + FB9FE616BA053433EA0F6C4B47E340BB /* ResponseSerialization.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ResponseSerialization.swift; path = Source/ResponseSerialization.swift; sourceTree = ""; }; FCACAC94B038B3C249252CF2C4E80D19 /* Pods-SwiftyBootpay_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-SwiftyBootpay_Example-umbrella.h"; sourceTree = ""; }; - FEEF7B022A587A7EEDD2FD20A7A2FEB9 /* SwiftyBootpay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftyBootpay.framework; path = SwiftyBootpay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FF0B19FDDF980AE345EB4DC5D2ED566A /* JGProgressHUDIndicatorView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = JGProgressHUDIndicatorView.h; path = JGProgressHUD/JGProgressHUD/include/JGProgressHUDIndicatorView.h; sourceTree = ""; }; + FD020C69E256BEA8C929401CDDC085A3 /* Base32.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Base32.swift; path = SwiftOTP/Base32/Base32.swift; sourceTree = ""; }; + FDF2792F52D37B7A4A2CAE736C87032B /* BootpayAnalytics.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BootpayAnalytics.swift; path = SwiftyBootpay/Classes/BootpayAnalytics.swift; sourceTree = ""; }; + FED22CA6739D7A484AEF1A54F6F0B49C /* SwiftOTP-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftOTP-umbrella.h"; sourceTree = ""; }; + FEEF7B022A587A7EEDD2FD20A7A2FEB9 /* SwiftyBootpay.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyBootpay.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FF33FA53F3CA0E8109B65435AF347BEC /* Alamofire-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Alamofire-umbrella.h"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 2C07D1EF1FC507F8FDDC15EA6525B78E /* Frameworks */ = { + 3C8B1704CC97EF12D3409771318C6433 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 7813A09B8F9242BBF63900D45EF15054 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3C8B1704CC97EF12D3409771318C6433 /* Frameworks */ = { + 3E5AFF22D0ADA09309E18F2879F4ED60 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 04543980C4A7CE442330B0F1BC4A9A54 /* Foundation.framework in Frameworks */, + A5791057A5A9AA24E09BB370C7495F5D /* Foundation.framework in Frameworks */, + 2ED82E92E90AF06D89A79D9E879C0AF9 /* QuartzCore.framework in Frameworks */, + 91A233B6293C8E800EB68749A548D733 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3E5AFF22D0ADA09309E18F2879F4ED60 /* Frameworks */ = { + 50FA47634501743760A57D3D2F9B29FB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B7A833E9404805A74C6EE0AE97B63278 /* Foundation.framework in Frameworks */, - B6A512D641FFB7A5AAACA873632BA776 /* QuartzCore.framework in Frameworks */, - B5B41EED9FF8EA0F9904C4C8DB2FA2C0 /* UIKit.framework in Frameworks */, + 47FB48771CB0602C35F86C19A44469E1 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 41A392F3FE6D44C776457C0684E93CA2 /* Frameworks */ = { + 7CBFBC86407A0FF8DCE487188DF09DFF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 28AC3DF9D74A43CF7329B0E79D6EC560 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -748,47 +750,62 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A738C2A39C0150BBA7EA5EC19B95F03E /* CFNetwork.framework in Frameworks */, - F6B16DC8CADA07287C6A372AC8AD787C /* Foundation.framework in Frameworks */, + A9C7B29D4878F1690BBE3F8195CF0313 /* CFNetwork.framework in Frameworks */, + 476D5F33E25386C60D6BD75C4FA97C67 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DF99640E50E222AB946F3FD683F4DDFB /* Frameworks */ = { + 9A7B66A1D36ECC063F46F72CA5158AB2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 603A9E67600BC3150740476F85A7AA0F /* Foundation.framework in Frameworks */, + B50A577111BC6DC117BB0D9AD030C77E /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E0B8A7B2CF1F2164CC1A302E7AFABD5B /* Frameworks */ = { + BE0E7EC0EC1F6CE6C498053A0AA82C9B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E8DB0413F47528F1A30410B067B9C28 /* Foundation.framework in Frameworks */, + 0C9AF2D4C05CA86E42673E4880BC1EE1 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - ED1637C96BF54A5D16D10C9E2A6FEA60 /* Frameworks */ = { + D5A3C0098503F4A9DF898ED199FE9A68 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 83ADD0310D235BAF1EF73EBFCFCBBB50 /* Foundation.framework in Frameworks */, + 8AC8FF8BA0BDE20792AE8ABAD3A2408B /* CryptoSwift.framework in Frameworks */, + B57AF46891C3D7365BF1E09E264C502D /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - EFDAB09319685D2960B5BF9F5970412B /* Frameworks */ = { + ED1637C96BF54A5D16D10C9E2A6FEA60 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C1F520F6123C6E982A6703107C9597BC /* CryptoSwift.framework in Frameworks */, - 67F0180D484B413723C2196A8FBAD4F7 /* Foundation.framework in Frameworks */, + 92208C0BC3989D7E938124CE9F987735 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 021C8D61DEE7BE79B8D32C13EB48BD10 /* Support Files */ = { + isa = PBXGroup; + children = ( + 1693606C9BEDF67D3EEFD4ED5EE54D1E /* SnapKit.modulemap */, + 8598CA5A54F9E9E75645B991DEE6F37B /* SnapKit-dummy.m */, + C34D81EF4AA8D9F6B48A2188EA8CC97B /* SnapKit-Info.plist */, + A914134E323DF3FACDF678B802D9A389 /* SnapKit-prefix.pch */, + 5DA8F27D9B9A20FC3CD137E5D33B1C8F /* SnapKit-umbrella.h */, + 7BE8657ACEF71D6CAA5F153B37BB931E /* SnapKit.debug.xcconfig */, + 1DBF8DC958E9D568FF1CACD8C71358F8 /* SnapKit.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/SnapKit"; + sourceTree = ""; + }; 02348573CDAAE862334486ABBE3E9C21 /* Pods-SwiftyBootpay_Example */ = { isa = PBXGroup; children = ( @@ -811,31 +828,53 @@ isa = PBXGroup; children = ( A89B348682A64666D0A4018EC886447B /* CryptoSwift.framework */, - 2D60E2BA0FCE168777151DFF46225B9F /* iOS */, + 7417316AAC47742C5718F5020B30BD1B /* iOS */, ); name = Frameworks; sourceTree = ""; }; - 22C7C7AE1AD5E28BA0B848E50BA49E27 /* ScalingCarousel */ = { - isa = PBXGroup; - children = ( - F3DE1FF09E0BAC16CC180EB9E12A4DEA /* ScalingCarouselCell.swift */, - CCC80EF349855BBCD7BB29BA05C84117 /* ScalingCarouselLayout.swift */, - 06E57E8D06C5E7F9F9EAEDF1C749D0E4 /* ScalingCarouselView.swift */, - ); - name = ScalingCarousel; - path = SwiftyBootpay/Classes/ScalingCarousel; - sourceTree = ""; - }; - 2D60E2BA0FCE168777151DFF46225B9F /* iOS */ = { + 1D210C3C70FDCCDAAD521AE68665BF21 /* SnapKit */ = { isa = PBXGroup; children = ( - 4EC6CEB32B34E3CF13ED31286F0C7DA4 /* CFNetwork.framework */, - 175C1205D589C7F5CBC4C6068ED47ABB /* Foundation.framework */, - 9803187C46DDDED2689354BDAA664238 /* QuartzCore.framework */, - B8ABBC01440156A474D322DCB134CC7E /* UIKit.framework */, + 28B6D9BE730C5B5F7FF76E1179AB16EB /* Constraint.swift */, + 03D534F028650A6209CAB165DF9C52A0 /* ConstraintAttributes.swift */, + 9144475D5E57A4B711597311FC32702C /* ConstraintConfig.swift */, + 93CAD2AA3252B5F21F68A31885FF0E42 /* ConstraintConstantTarget.swift */, + 6C0276333BF860F168A4543E9BBA9E69 /* ConstraintDescription.swift */, + 4C1CEDFDCC870EE6222ED93759B7DCEC /* ConstraintDirectionalInsets.swift */, + 998E4996952F3641668A00AFCCCDEFD6 /* ConstraintDirectionalInsetTarget.swift */, + 5677AE46085EFA41A4FAB35087A556B8 /* ConstraintDSL.swift */, + FB76D3E637A261FD15323F23F5A2A3C1 /* ConstraintInsets.swift */, + 2D217D5CF0823CC05C8767C276218A5D /* ConstraintInsetTarget.swift */, + 37FE00FEAE10303B8F85EBD56D9CD131 /* ConstraintItem.swift */, + B1643506F3187C6C10E0B047736556D8 /* ConstraintLayoutGuide.swift */, + 7EB01702E4259A4ECA9517017AB1D30C /* ConstraintLayoutGuide+Extensions.swift */, + 9B340B41BDF7AE61E74CE1D500C45BAA /* ConstraintLayoutGuideDSL.swift */, + 018618EE6BCA2DD957A9CD8324368D57 /* ConstraintLayoutSupport.swift */, + C151FE0A8128266ED05B075092F54DE8 /* ConstraintLayoutSupportDSL.swift */, + E26F5C7B6481D91FDF7B5007BB210E63 /* ConstraintMaker.swift */, + 8086372288EF015B02B631C94313FA99 /* ConstraintMakerEditable.swift */, + 17596A6AFBBD9587A0C02E11FB85FC73 /* ConstraintMakerExtendable.swift */, + D96BA86D83005C1CEE5F30B248B1E88F /* ConstraintMakerFinalizable.swift */, + A8791A2909FD3E35DC2B791DD024C3DE /* ConstraintMakerPriortizable.swift */, + E8B5C11901713EFF021F30DD100C0142 /* ConstraintMakerRelatable.swift */, + 05C30DAFC887605A436ABF59975697BA /* ConstraintMultiplierTarget.swift */, + 0E48460E568B4168717C90D7AB427D42 /* ConstraintOffsetTarget.swift */, + 7F916D2C3FF74504EC549570341E47FC /* ConstraintPriority.swift */, + 3061CA83F152670C7A8808C0374029CF /* ConstraintPriorityTarget.swift */, + E7203112B99753FBB89461ACB8128514 /* ConstraintRelatableTarget.swift */, + 3D4DCA9D6A679B4F5E8B71AD2D6A5F34 /* ConstraintRelation.swift */, + 69AAC26A89CFB34CB20551D61D48A0CA /* ConstraintView.swift */, + EEA4D387DBC33E520A07D1B4B6C4B9E6 /* ConstraintView+Extensions.swift */, + 5CEA701B5E651FDEE33503FA387D2902 /* ConstraintViewDSL.swift */, + C88C6DF1942A026B028434E015181D23 /* Debugging.swift */, + 72C08245F697011A3B114BDFB262D2EE /* LayoutConstraint.swift */, + EB0B8D7ABBA117EA066E12B3D421D6A4 /* LayoutConstraintItem.swift */, + 0353D3E3AA5B263B35E39AE274DE7690 /* Typealiases.swift */, + DA7C1673FE0C2F6FAAAF983B412887BB /* UILayoutSupport+Extensions.swift */, + 021C8D61DEE7BE79B8D32C13EB48BD10 /* Support Files */, ); - name = iOS; + path = SnapKit; sourceTree = ""; }; 33D183C1627F093FA9424E05CD7C515E /* Products */ = { @@ -854,406 +893,390 @@ name = Products; sourceTree = ""; }; - 34BA5421BAA79F2EBC1063AE681505C4 /* CryptoSwift */ = { + 43B90709112174D2602DA7CF036906D7 /* Support Files */ = { isa = PBXGroup; children = ( - 93944065831989FCDD310E504CAEF409 /* AEAD.swift */, - 4E8ACBC7EB8CF9FECE10349B1D4F5EA1 /* AEADChaCha20Poly1305.swift */, - BE0D5758678B977631DD50513B8478AC /* AES.swift */, - 275399CBC123F35B87648E1246347CEE /* AES+Foundation.swift */, - D79A8D85FBBF9EC261A30F62B3673B3D /* AES.Cryptors.swift */, - 71B0ECF1FAFA2F04878ED61B648FEDBF /* Array+Extension.swift */, - 7674DCD107B080E116C12C169880B50F /* Array+Foundation.swift */, - F3BD3AA16D197DF8A711E1ECD2006E2C /* Authenticator.swift */, - C8992BFDBF51CDD163F01B2C7A09EBA7 /* BatchedCollection.swift */, - 64A66D0AC03F2D91FF2B923E6441AA2B /* Bit.swift */, - 7CAE97135850151FFF31F3ED8FF704AB /* BlockCipher.swift */, - F9DC2C2D55476C6B0F3425C3E3864709 /* BlockDecryptor.swift */, - E694ADEF1A423048933FD96F471467D3 /* BlockEncryptor.swift */, - 7E1D94F92CE1C934D7CCA3D99C0C07C5 /* BlockMode.swift */, - 99BEC86488636B3030C820445D09D7D6 /* BlockModeOptions.swift */, - 40A7ADA40707C8A9D934ABC09104015D /* Blowfish.swift */, - C2558EA58B4BD4F4307E81E23F346FE3 /* Blowfish+Foundation.swift */, - B2835854BD356D76C5715C14E36280D1 /* CBC.swift */, - ACCD6373DC39E18FEED042849A593FBB /* CBCMAC.swift */, - 04EC4017205BC616DAB0A11090E1A120 /* CCM.swift */, - A50E10977A2C0FCA705D07F08C25EEF5 /* CFB.swift */, - 87CEE24E16ADC25D5DF594F2EA1521DF /* ChaCha20.swift */, - 3A4CBB9281AF7FC3F10C1BC21CF5E6D6 /* ChaCha20+Foundation.swift */, - F2F015EE5D467F18FDCEA41723D06AAE /* Checksum.swift */, - A26E7F69C228A57A390E5E525480AF22 /* Cipher.swift */, - CF592ED3E1E7E68C7A0450891B59D523 /* CipherModeWorker.swift */, - 05F029C02EDE91E261F255248FEF1074 /* CMAC.swift */, - C681AF519A672C8B51E07D67CBD4896B /* Collection+Extension.swift */, - BC3B33FA86F8E4849DFDE5F4310E5CDD /* CompactMap.swift */, - 09C8DE159DD044D338D6729317B09B98 /* Cryptor.swift */, - 61B1A42BEE7AEC2DDA2AAFA79A5724CF /* Cryptors.swift */, - 16AAA17F685564F67F2638EAED393BEF /* CTR.swift */, - 2F16BAB823872CAD7DD62B8B326553E5 /* Data+Extension.swift */, - 66E8645EFD87A46AEE4D8F9DE0234524 /* Digest.swift */, - 1F5AD5322B04E9026A07EC2BDEFA6876 /* DigestType.swift */, - 74AC180E26E68177694CF8555127337D /* ECB.swift */, - F670A64C1BF426AEEDE982759C309F60 /* GCM.swift */, - 671814C112C6EDFFA8E96B8D10DC18AE /* Generics.swift */, - 1858101821E9EF44B5FE40BA21A241BC /* HKDF.swift */, - B0B9E59CC65A22D4FA184BF894AAF726 /* HMAC.swift */, - EA7F603E26CB0708EC80D2B874B10EAF /* HMAC+Foundation.swift */, - 685F3607594536AEF2406BEB70299D25 /* Int+Extension.swift */, - 0468B0E63D635F601C9D25959FF459D7 /* ISO78164Padding.swift */, - 8CCA5ADFEA87BF60568AC6F6ABA55C7E /* MD5.swift */, - 9900D3209A91C7BBC50DF0812BCA0346 /* NoPadding.swift */, - 5E48F91941EBF020F8F157799A280F64 /* OFB.swift */, - 7F17DB0E751FACBF5A474F71AB2F004A /* Operators.swift */, - 69E52A3E9A5422F7EF6A17231527A66B /* Padding.swift */, - 93A2CE304789D4DC610CED839CB060F1 /* PBKDF1.swift */, - 262F7430A69BF21C704148D3481C8F4F /* PBKDF2.swift */, - 73B0FCB8AA4878E2795C8202E3B521A8 /* PCBC.swift */, - 4AF2D959CC3625007A68BB03CA8FCB9E /* PKCS5.swift */, - 1AA80F107CB8CBC0A0447FFC838A9E76 /* PKCS7.swift */, - 28FFE34D69CDFFEAB332AE1231357196 /* PKCS7Padding.swift */, - A2B9E360C0430112C64354FC41AAA5F1 /* Poly1305.swift */, - 42E4A7D16985B6E4D4690E352BE991F7 /* Rabbit.swift */, - 17E00A066FFB7C2C00B916144EFDE382 /* Rabbit+Foundation.swift */, - 9E08B4739DB2574125CC4D403A9F411D /* Scrypt.swift */, - 5C11921E53F5E1E83037981373DF58B5 /* SecureBytes.swift */, - 500457FC5409F4A73AAAC8038248A8EE /* SHA1.swift */, - 16B20CCA95945EC31AE55F7623C880E7 /* SHA2.swift */, - EFFED580E12ABFEC877D01748F2CF575 /* SHA3.swift */, - 0D3B1D975AC52F31082E8F4523A2DE55 /* StreamDecryptor.swift */, - E40AD5CAD0B846393D64439B60C75453 /* StreamEncryptor.swift */, - A42AE12ECB246207EDB621704E4E400F /* String+Extension.swift */, - 2ACE58DABFAD483CDD58359D7A6FE101 /* String+FoundationExtension.swift */, - B7515769DD9D1BA5A3F9F98F59FB4E76 /* UInt128.swift */, - 969D745F92CFC8E858DC03CF9007588E /* UInt16+Extension.swift */, - C763D90520C1E816EA7373F3A5DD69D4 /* UInt32+Extension.swift */, - 942723938F8E50A2CE6BDFEFEEF9AD1D /* UInt64+Extension.swift */, - E4F33C4CE13438804C92DE4B14BAFF5A /* UInt8+Extension.swift */, - 2B1A155C4EB2DEF7332067FD2C18A788 /* Updatable.swift */, - E1E1DA6274F9B9AA50926544E9A42B85 /* Utils.swift */, - C74915A2668F5FCFF68B7EBA958759D3 /* Utils+Foundation.swift */, - 3FC03688F96301982E7D363A31789AEA /* ZeroPadding.swift */, - D8E010BDFCE420938CB8C14544782258 /* Support Files */, + 2680796CAA5B469E04D201596E27FEEC /* JGProgressHUD.modulemap */, + 2CB39EFB1308BBF6622810B293D20E2B /* JGProgressHUD-dummy.m */, + A608444810317B68B7268B4368C5B1FA /* JGProgressHUD-Info.plist */, + 84D26064778DC84B1067D53B549D8178 /* JGProgressHUD-prefix.pch */, + C2DA853E1962095DFFF7C77021045E8F /* JGProgressHUD-umbrella.h */, + 974DAE5393F83E9981C48AA430CBA21A /* JGProgressHUD.debug.xcconfig */, + 400104CB281862A8206B04206194BC6C /* JGProgressHUD.release.xcconfig */, ); - name = CryptoSwift; - path = CryptoSwift; + name = "Support Files"; + path = "../Target Support Files/JGProgressHUD"; sourceTree = ""; }; - 359E942CAFA16CBF1411A8025E5DD29A /* models */ = { + 462493C9F311C920841A0D49A08367EE /* SwiftyBootpay */ = { isa = PBXGroup; children = ( - 6034B7343B58D10416D1C6FBF56AA362 /* BootpayExtra.swift */, - 1458CB0059DFC52C75BAD64583A56D46 /* BootpayItem.swift */, - 7991DC572258698B4FA93F143E7B320C /* BootpayMethod.swift */, - B5AD9BAE0F933589EBD950BD34EA9CF9 /* BootpayOneStore.swift */, - 55D56B985D67961BBAA17D2E2678100B /* BootpayParams.swift */, - 5F23C8782FD5FC913427381D4A27E517 /* BootpayPayload.swift */, - F8EE0F99DB8BCE17E3531472CDB8654A /* BootpayPG.swift */, - AEA3A5C4661A6D20233B07BB7004D2CE /* BootpayRest.swift */, - 72B483B22CB9BB613163EAD081F82912 /* BootpayStatItem.swift */, - 23E84A519FD0CEF271216E45DA2E3249 /* BootpayUser.swift */, - 8E4B09B20AF2F9BB5DB044A1D26F7E20 /* BootpayUX.swift */, - 981971D021A4F837B4453124C83E6C71 /* CardCode.swift */, - A40C3E4268FB75D4371E0D8703BFF766 /* CardInfo.swift */, - 187CE9959D06B235145A27091078153F /* PushType.swift */, - 11D2FC60745EDC61DBF25DD6C17D7173 /* RemoteLink.swift */, - 9AF922605608A2DE871F72CDD91D8EC6 /* RemoteOrderForm.swift */, - 2AF841D0CAD8304BEEC3677F7BB19ACD /* RemoteOrderPre.swift */, - A7A5C02A135C1211CA93F859653BB18B /* SMSPayload.swift */, + 985BC4959AF6C8BC7AA2A0EFC1681133 /* Bootpay.swift */, + FDF2792F52D37B7A4A2CAE736C87032B /* BootpayAnalytics.swift */, + 78AFF3BAD728C4F9A097ABFE2E7FC59E /* BootpayController.swift */, + 0DEC54AFF8EC59C69CDDEEF8FB8EC5AA /* BootpayWebView.swift */, + B4F243112D898DC15D6C792F55089AB9 /* Images.xcassets */, + 1518FC358DE8CB2C30830D91407096B3 /* SwiftyBootpay-ObjectC-Bridge.h */, + 7B21A4F201C420B0AFD7D894C5AE60E4 /* BiometricPay */, + C916B158DB5C489B6AD9BB1C82F7A80C /* models */, + CA18E534D2C0332404CF02C19F4D990E /* Pod */, + 830FE10A84D7AD43E9D0630787321763 /* ScalingCarousel */, + 60CDF6D4871285DEF8F81CBC2D4F5386 /* Support Files */, ); - name = models; - path = SwiftyBootpay/Classes/models; + name = SwiftyBootpay; + path = ../..; sourceTree = ""; }; - 3DD6EBDE56A7CD0A16458562CF7C7A81 /* BiometricPay */ = { + 54D997D6FDA441EAFF4ADA02A4C79D59 /* Support Files */ = { isa = PBXGroup; children = ( - F386B82A2FBAD1BF48FDA5DB1409B0F3 /* AuthenticationErrors.swift */, - B36B2D2A97721CA59C08D496C9FCF678 /* BiometricAuthenticationConstants.swift */, - AFD37B6253BA73A42EEA5FFEDB854A48 /* BioMetricAuthenticator.swift */, - A50E9BB689A8BFCEE5ABC8F630F78C17 /* BootpayAuthController.swift */, - A08F734E1EDF4496D19CEBAC1EBECC01 /* BootpayAuthWebView.swift */, - 9CCE7A2948E4E33D15A14912A6724062 /* CardSelectView.swift */, - BF9A6AA9DF1B51F7EF58E9214A2766DB /* CardViewCell.swift */, - 79D8485DB86A77E19F077D1AFF8F01E8 /* NSObjectExtension.swift */, - 49A6EFA37688C53B2277F187968118BC /* UIAlertControllerExtension.swift */, - 5C7E988ED0FB0D0CDF71FEDDFC245A83 /* models */, + 73F898AAA9D70A9B58001E522FCB9209 /* ObjectMapper.modulemap */, + 8DC87E7C90934F90FCCD4132E5986255 /* ObjectMapper-dummy.m */, + D8AAA566D48E6F566CB1E9DCC42296FB /* ObjectMapper-Info.plist */, + 90FDC45CB3BC985C830B6FB5536060E5 /* ObjectMapper-prefix.pch */, + 470F3404E5CF81EE66E69C2505DBF863 /* ObjectMapper-umbrella.h */, + A159240E250AA5C369368D126D05FA00 /* ObjectMapper.debug.xcconfig */, + BD29469A077BBBC14248ED6F461F5D71 /* ObjectMapper.release.xcconfig */, ); - name = BiometricPay; - path = SwiftyBootpay/Classes/BiometricPay; + name = "Support Files"; + path = "../Target Support Files/ObjectMapper"; sourceTree = ""; }; - 432B2130608C6DA89E745AEA211D9E61 /* SwiftOTP */ = { + 57EC18ADD38E2050B7178B2ADFC75C12 /* Development Pods */ = { isa = PBXGroup; children = ( - A83137C48C3FC0375AA37D482330B5AF /* Base32.swift */, - E5E02BC5AD6747F6738CFECEC76D8939 /* Generator.swift */, - D42098CE6DD1DE05EC7AD2491C7CCDA9 /* HOTP.swift */, - BFD5D7B20395073403727CCC32364200 /* OTPAlgorithm.swift */, - 3510CC46B8DF01ED92FDF45C024B5369 /* StringExtension.swift */, - 364EB1D603C724EBCBB73105EE04EAE1 /* SwiftOTP.h */, - 5EE511182F6824573DFC403C687D274A /* TOTP.swift */, - A660C987DAEDC7502E45AAAD23914246 /* UInt64+Data.swift */, - B18E1E29A70907BEA97B24C629E2508E /* Support Files */, + 462493C9F311C920841A0D49A08367EE /* SwiftyBootpay */, ); - name = SwiftOTP; - path = SwiftOTP; + name = "Development Pods"; sourceTree = ""; }; - 44E94C74F823CFB6C4EAB16EF5B78E8F /* Resources */ = { + 5B9C8389D2FEE9A387CF1F58F025518A /* SwiftOTP */ = { isa = PBXGroup; children = ( - D2894805CA0FE2F56CADA0A93288EAFC /* Images.xcassets */, + FD020C69E256BEA8C929401CDDC085A3 /* Base32.swift */, + 9BAAE00FCFA8348F0479E758E4A0064C /* Generator.swift */, + F4AAD7039E8B0F6BE2CC3B570251D115 /* HOTP.swift */, + E17783AF93E78F336C73615FC4B5A784 /* OTPAlgorithm.swift */, + 07C1E5AA7B50336B84A1C7794F4410CD /* StringExtension.swift */, + DEB55CA9C9FE77129B14D60AF01B1036 /* SwiftOTP.h */, + A6F4B24FD31A7B22CA24FFEEBF333A98 /* TOTP.swift */, + 212539C6DE40CACCD23B7E5C01B41FFC /* UInt64+Data.swift */, + DB289D1F3A0FF49150D91AB28B78F9E7 /* Support Files */, ); - name = Resources; + path = SwiftOTP; sourceTree = ""; }; - 57EC18ADD38E2050B7178B2ADFC75C12 /* Development Pods */ = { + 5E0BCA39684A5192CBB9C88964903952 /* Support Files */ = { isa = PBXGroup; children = ( - 90E0C8E22DB9DD9025034A8A7AFE698A /* SwiftyBootpay */, + 0AF7A57C073FE5A4C5088AF3796302F7 /* CryptoSwift.modulemap */, + D7EAE9D5AE7832806E20B90FC809B209 /* CryptoSwift-dummy.m */, + AA6F2207AECA5B89C10FCB9B3031853C /* CryptoSwift-Info.plist */, + 838BA6870DCF17A07F9A4097DEBB7DB5 /* CryptoSwift-prefix.pch */, + 89162BFC28244F67A96F45E9509B8F94 /* CryptoSwift-umbrella.h */, + D1A48D911530A1F3363FB37E8A1C4803 /* CryptoSwift.debug.xcconfig */, + 2CD0203F682A3BB923B5E59563F77DBA /* CryptoSwift.release.xcconfig */, ); - name = "Development Pods"; + name = "Support Files"; + path = "../Target Support Files/CryptoSwift"; sourceTree = ""; }; - 5C7E988ED0FB0D0CDF71FEDDFC245A83 /* models */ = { + 60CDF6D4871285DEF8F81CBC2D4F5386 /* Support Files */ = { isa = PBXGroup; children = ( - F14A749B758B672CB4BAAE9D5B746204 /* BootpayBioPayload.swift */, - DDD165A292BDC8C0342A9CEEE464554A /* BootpayBioPrice.swift */, - CE9DEA57597DEFD33F361F159D4896FA /* BootpayBioTheme.swift */, + CBB7805E7C89EDCAC6D71C8A2AA05FD8 /* ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist */, + EBB5C3D306ACA1EDF682E0BDD0549B82 /* SwiftyBootpay.modulemap */, + 8D98E12533A48B0F428531871C2BBD02 /* SwiftyBootpay-dummy.m */, + 5D9E274A01C5AE985337975ADEA9FCC7 /* SwiftyBootpay-Info.plist */, + 046011430B740E7C1F2A3C7AFC0B7C31 /* SwiftyBootpay-prefix.pch */, + 69822659B66E45AC8987F187A9A53D08 /* SwiftyBootpay-umbrella.h */, + 88CF023D8B4E5AB1103102A45C3C9DC3 /* SwiftyBootpay.debug.xcconfig */, + BEA589FA5D9BA50354DCD84F8C864A70 /* SwiftyBootpay.release.xcconfig */, ); - name = models; - path = models; + name = "Support Files"; + path = "Example/Pods/Target Support Files/SwiftyBootpay"; sourceTree = ""; }; - 77AD7A0807AD5304230EC9FB7366FB60 /* Support Files */ = { + 68D4EC001E90EABEBECB9BC51161164B /* Support Files */ = { isa = PBXGroup; children = ( - 165362DF12E95CD2699AFC9D52BB895E /* ObjectMapper.modulemap */, - 1682AD6CB8D15DD5EC279AFBE146918C /* ObjectMapper-dummy.m */, - 75E00FE160D692CDB370AAD9C729FFEB /* ObjectMapper-Info.plist */, - A6A30A65F07835B4C3A3B7A8FF8268E4 /* ObjectMapper-prefix.pch */, - CF77EF38AD2FE399342D9727AB765A14 /* ObjectMapper-umbrella.h */, - E1801C7819330108F475DDADB34ED2A3 /* ObjectMapper.debug.xcconfig */, - 73517BE36497252A745760A51A45843C /* ObjectMapper.release.xcconfig */, + 017818FFE8827457FE4A066BCB4202D7 /* Alamofire.modulemap */, + 12AE19E8693B6D4A70CF97EA4935C04E /* Alamofire-dummy.m */, + 51A6569F38E2C8AE270A21C1B76852E5 /* Alamofire-Info.plist */, + 02009D531F8E94AA2C43E72151C6077C /* Alamofire-prefix.pch */, + FF33FA53F3CA0E8109B65435AF347BEC /* Alamofire-umbrella.h */, + 1A0809658551C02600D4C5549593BBCA /* Alamofire.debug.xcconfig */, + 140B6AD43164EB41BD6E0FB3B8A34B0F /* Alamofire.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/ObjectMapper"; + path = "../Target Support Files/Alamofire"; sourceTree = ""; }; - 7F2FD3763ACC7EA74DF16FB8F44D9135 /* Targets Support Files */ = { + 6BABFE5D0BA629B6C23618A0599DE0E7 /* JGProgressHUD */ = { isa = PBXGroup; children = ( - 02348573CDAAE862334486ABBE3E9C21 /* Pods-SwiftyBootpay_Example */, + B635AD3A9756B90AF8EBD44C153CCE2D /* JGProgressHUD.h */, + 90FC01ECCECF8BA4EC03E4CD68E8F2BE /* JGProgressHUD.m */, + B4632B05B0A80FAF77C0CDE5DC12826F /* JGProgressHUD-Defines.h */, + DDAF859326583C40CF3F6262F47C574D /* JGProgressHUDAnimation.h */, + B16AD1B7F02C11FF707C1F7AD175D5FF /* JGProgressHUDAnimation.m */, + 738CABF42B24DCCA5C9D994770C197B0 /* JGProgressHUDErrorIndicatorView.h */, + F74AF15C961CFAFC8D6C3D8523E8CF1F /* JGProgressHUDErrorIndicatorView.m */, + 700348A0B408DCB23C4BA9E70248159C /* JGProgressHUDFadeAnimation.h */, + 1EBEB7AADF9149CE7E487012B2DCC2A5 /* JGProgressHUDFadeAnimation.m */, + BF46E3F1F67C182E8BA0981E0209A83D /* JGProgressHUDFadeZoomAnimation.h */, + C9E7D5D7E9B9FAC94551DAF5CD4F16C3 /* JGProgressHUDFadeZoomAnimation.m */, + D78B9234D3CA0F8620EA89932D51D76B /* JGProgressHUDImageIndicatorView.h */, + A4DE9EB79D69576E8C12C85B9D1794F6 /* JGProgressHUDImageIndicatorView.m */, + E889E0D928F0411B7D6DCBEBD0C40A0D /* JGProgressHUDIndeterminateIndicatorView.h */, + CBAD6FBCCA20CD2F7CB6C51DB40C74C6 /* JGProgressHUDIndeterminateIndicatorView.m */, + DB27B6754B057AFD345E0F4A16B03A1C /* JGProgressHUDIndicatorView.h */, + 4D6A881B6EC18B9360E9E101664CB9C4 /* JGProgressHUDIndicatorView.m */, + F5520DA0308842DE2736BBCD5E9B7D4A /* JGProgressHUDPieIndicatorView.h */, + 6CC1C32296AE824903C9E7C9CA3FD699 /* JGProgressHUDPieIndicatorView.m */, + 273F168EC1C02657B329A1674E254217 /* JGProgressHUDRingIndicatorView.h */, + 5D1463658DED82C62F6F69C3A977BF35 /* JGProgressHUDRingIndicatorView.m */, + E7F2998B6C5BEB28E8876322F1755CC4 /* JGProgressHUDShadow.h */, + 095856633F50CAAEF353D46AB6BFC532 /* JGProgressHUDShadow.m */, + 1DD93E3C088C3C980F3BCD26ABAF7910 /* JGProgressHUDSuccessIndicatorView.h */, + 707088467EA579F1A26C6C4B0AC383E8 /* JGProgressHUDSuccessIndicatorView.m */, + 43B90709112174D2602DA7CF036906D7 /* Support Files */, ); - name = "Targets Support Files"; + path = JGProgressHUD; sourceTree = ""; }; - 8A4B60F48F776240619127CD6A89B043 /* Support Files */ = { + 7417316AAC47742C5718F5020B30BD1B /* iOS */ = { isa = PBXGroup; children = ( - A63C1CBB566B92795BE28FA9ADAA6491 /* JGProgressHUD.modulemap */, - 723FD2222653A176357F6F89E9530800 /* JGProgressHUD-dummy.m */, - ACA7D615C45076FAE359559008FFDF37 /* JGProgressHUD-Info.plist */, - CB2ED6B49B54D02F881CAB583681C5AD /* JGProgressHUD-prefix.pch */, - 63DE6F2B730389F124208015D96A6146 /* JGProgressHUD-umbrella.h */, - 68399FD143414AD2D5773BD98000506B /* JGProgressHUD.debug.xcconfig */, - 39845942B39BF17EFB379C237F4F46F0 /* JGProgressHUD.release.xcconfig */, + 0BF2458BA77063C6FAF823BC4AF21CC8 /* CFNetwork.framework */, + 6A5DB61A6DDEEB80E98FF9CDD0936498 /* Foundation.framework */, + A049DB06D98F21F3AAE5C6FDD81FC98F /* QuartzCore.framework */, + C816B41AF71B576F2F58C3D222622C53 /* UIKit.framework */, ); - name = "Support Files"; - path = "../Target Support Files/JGProgressHUD"; + name = iOS; sourceTree = ""; }; - 8EE9FD6478F5C03562D8584F1619DE11 /* Pods */ = { + 7B21A4F201C420B0AFD7D894C5AE60E4 /* BiometricPay */ = { isa = PBXGroup; children = ( - C449D7D8644D50C3436AD94069D044CE /* Alamofire */, - 34BA5421BAA79F2EBC1063AE681505C4 /* CryptoSwift */, - F59DCD46E172904E4B3D99997E1EED72 /* JGProgressHUD */, - FE06F80A5AC28BE2A5D0172AEFE6600B /* ObjectMapper */, - 905D95272C8815BDB2C5D67E96E4F6FE /* SnapKit */, - 432B2130608C6DA89E745AEA211D9E61 /* SwiftOTP */, + 9FB5049E033C3FDAF9879CAC9E4527B8 /* AuthenticationErrors.swift */, + ADC6ED65B1FD8310AA71ABFD173C7C70 /* BiometricAuthenticationConstants.swift */, + 2B7D494CDBC8756C888788263A6179EB /* BioMetricAuthenticator.swift */, + 15C99A4AF3CB447FE2E78DF9D9C6A3CD /* BootpayAuthController.swift */, + F1B3B008279EEE3CB2192F5E852F1480 /* BootpayAuthWebView.swift */, + 001DF348C3F279DEE3DF0E339DD1CFAE /* CardSelectView.swift */, + A736B872D4FC4A24E82E8B45774D7EAA /* CardViewCell.swift */, + E91DB19212C2404BEDBDE7964BB75677 /* NSObjectExtension.swift */, + DA0F549E34A0F027924355B15114DDE3 /* UIAlertControllerExtension.swift */, + 7CD25BE750D7C2C781EE5D67751DAB2C /* models */, ); - name = Pods; + name = BiometricPay; + path = SwiftyBootpay/Classes/BiometricPay; sourceTree = ""; }; - 904873614E92067EBF3B806AA9A907BE /* Support Files */ = { + 7CD25BE750D7C2C781EE5D67751DAB2C /* models */ = { isa = PBXGroup; children = ( - 0167500827C990C51162E1BC7C0C2579 /* Alamofire.modulemap */, - 9AB3EA0CF3C440664B19832F4F0D544A /* Alamofire-dummy.m */, - 92C560DF370F462B78B247E4DAFD1E7F /* Alamofire-Info.plist */, - CAE92ACBE4B1C9381C5636B6C6F03DF4 /* Alamofire-prefix.pch */, - CB9B54776405A61BCF4E24D21D81AC1F /* Alamofire-umbrella.h */, - B5AD4A710AAE26376709C7292CE898B7 /* Alamofire.debug.xcconfig */, - 61AC3693ED262CAF44F23A24A36A1AD5 /* Alamofire.release.xcconfig */, + 4E0FCBD0F68D25A5B704EEC2ECC57957 /* BootpayBioPayload.swift */, + 019906315BF003330ACC2D07C30B1BD2 /* BootpayBioPrice.swift */, + 61C9B5A7D99967B8D2FBDCC8EC694618 /* BootpayBioTheme.swift */, ); - name = "Support Files"; - path = "../Target Support Files/Alamofire"; + path = models; sourceTree = ""; }; - 905D95272C8815BDB2C5D67E96E4F6FE /* SnapKit */ = { + 7F2FD3763ACC7EA74DF16FB8F44D9135 /* Targets Support Files */ = { isa = PBXGroup; children = ( - 9E9203952ED4115BB2D9CA8D71EEF89E /* Constraint.swift */, - 104D079E60FC9FE4926FA10C86CC3B46 /* ConstraintAttributes.swift */, - 7547FF08826B46DB8394FA37087BE8DD /* ConstraintConfig.swift */, - DA8DB0D77B71F3DEF64BE51B1F290469 /* ConstraintConstantTarget.swift */, - B2911A52A3808E36FD1121D7FE786DB5 /* ConstraintDescription.swift */, - A4537A941BC21AC3F3352D4713CF0130 /* ConstraintDirectionalInsets.swift */, - 81715C24CD5B78CF4ED8D3A376A708B4 /* ConstraintDirectionalInsetTarget.swift */, - 8174078EDD0C4DD069C966A0A57D70FF /* ConstraintDSL.swift */, - 8D9C45BF887D412DA22DF91EFB2926BB /* ConstraintInsets.swift */, - 854C380D71267E07C9B74A433372AAB8 /* ConstraintInsetTarget.swift */, - 509B414A5C4DC812D929679D6DC45CC8 /* ConstraintItem.swift */, - 42A181F2212F4930ADEFD41ED4A8E996 /* ConstraintLayoutGuide.swift */, - C5B8C1A52FAF5D6946519D57F01355CC /* ConstraintLayoutGuide+Extensions.swift */, - A9DBCC14B40C5EAEA1FD3A291B36DED6 /* ConstraintLayoutGuideDSL.swift */, - 19D398127C767F035E267E5A2E9FDCB8 /* ConstraintLayoutSupport.swift */, - BED590C51BAD365D18E253A7983482DD /* ConstraintLayoutSupportDSL.swift */, - 56BC8B698482C7EBDEFECDF1B1327F4B /* ConstraintMaker.swift */, - 6C5A527972CE1EE5F982AFA52A7DC132 /* ConstraintMakerEditable.swift */, - 83C435108A7296AFE32E697879915BFB /* ConstraintMakerExtendable.swift */, - 2ECAB30C316E15A949DFFBE35CD66F30 /* ConstraintMakerFinalizable.swift */, - D8FF5E3F0583E1086DA08E7A8DCF5F33 /* ConstraintMakerPriortizable.swift */, - C84B36F67541E00CBAFBF05C197312DF /* ConstraintMakerRelatable.swift */, - 6014F27B4100E198D8ABB7D417ADB0B9 /* ConstraintMultiplierTarget.swift */, - D9163F9D05E8354E01C6E497993DC092 /* ConstraintOffsetTarget.swift */, - 6A5C3E3D1E4FEF41E0DF171AD4EF7AE9 /* ConstraintPriority.swift */, - 61E1DED90A9917359542523F7EE5A14F /* ConstraintPriorityTarget.swift */, - F1EA662255D9769CAF7D31646AB3A1E0 /* ConstraintRelatableTarget.swift */, - A42BA9AAB10D8FDC6FF20ADE991238A9 /* ConstraintRelation.swift */, - A48A33D3C7E607A83F1264CE72721BBB /* ConstraintView.swift */, - 8828A9630738BC186D777D174730679E /* ConstraintView+Extensions.swift */, - E47C3288901D52EABB19D0B24A4719E5 /* ConstraintViewDSL.swift */, - F9B97A2FC182F224EC5C5BD020C53576 /* Debugging.swift */, - C38D56B16DE40F61EDFF597D135D99D1 /* LayoutConstraint.swift */, - 43D0FCFD5573F177303544A4B356EB15 /* LayoutConstraintItem.swift */, - D879E7D02698289EDE66D54EDA6F8340 /* Typealiases.swift */, - 3024242020DB77E7F50DA0CAE6D79367 /* UILayoutSupport+Extensions.swift */, - 9548F48DC3142678BEA5E395B6170B18 /* Support Files */, + 02348573CDAAE862334486ABBE3E9C21 /* Pods-SwiftyBootpay_Example */, ); - name = SnapKit; - path = SnapKit; + name = "Targets Support Files"; sourceTree = ""; }; - 90E0C8E22DB9DD9025034A8A7AFE698A /* SwiftyBootpay */ = { + 830FE10A84D7AD43E9D0630787321763 /* ScalingCarousel */ = { isa = PBXGroup; children = ( - 55DA97D4F9042D2051257B89FB137021 /* Bootpay.swift */, - 82A79F8B25CBE250CDC92BC71F9AE466 /* BootpayAnalytics.swift */, - CAB336C30F638E51F626F0E61D578647 /* BootpayController.swift */, - 889524145EDCBC827D85F14E4083CF88 /* BootpayWebView.swift */, - 6460B7916662B4B314D9F1F8070B82D2 /* SwiftyBootpay-ObjectC-Bridge.h */, - 3DD6EBDE56A7CD0A16458562CF7C7A81 /* BiometricPay */, - 359E942CAFA16CBF1411A8025E5DD29A /* models */, - A8E13D78A27CB660D43B62E0C5663C9C /* Pod */, - 44E94C74F823CFB6C4EAB16EF5B78E8F /* Resources */, - 22C7C7AE1AD5E28BA0B848E50BA49E27 /* ScalingCarousel */, - B9CFAF073F7010CA0B58C4EC63F8C69E /* Support Files */, + ED749B6EED470DF6FD5E154FEA73A264 /* ScalingCarouselCell.swift */, + CBDFBDF94E2CC7BC0A88F9C646CCE632 /* ScalingCarouselLayout.swift */, + BAD7972421BA795AA3D8D8C03CFA6CCF /* ScalingCarouselView.swift */, ); - name = SwiftyBootpay; - path = ../..; + name = ScalingCarousel; + path = SwiftyBootpay/Classes/ScalingCarousel; sourceTree = ""; }; - 9548F48DC3142678BEA5E395B6170B18 /* Support Files */ = { + A9B2B8FB5CB06C724D2F6947E0F9EE80 /* CryptoSwift */ = { isa = PBXGroup; children = ( - B6F97101B8EC72329943D1BA14937746 /* SnapKit.modulemap */, - 4CFB48C13AC309EB3581C62D5783EF18 /* SnapKit-dummy.m */, - 1CC439C7A7130CE928C834B19E922622 /* SnapKit-Info.plist */, - A970E655CC29A2433F4A6F00D2A6A3FB /* SnapKit-prefix.pch */, - C478B86F3E6DFEEE031A8283F30CCFD4 /* SnapKit-umbrella.h */, - B615B5BD4C8284CC43C682C7C4EF7D25 /* SnapKit.debug.xcconfig */, - 006E00143D78A0BDB0E2DE2B7C3ECAF0 /* SnapKit.release.xcconfig */, + 547393658D5DFE5C98AB267071245F80 /* AEAD.swift */, + C3EF942077922F1D0FFEF5EC69124AC5 /* AEADChaCha20Poly1305.swift */, + 6874BFFC37B6A600DE14D15E84F65742 /* AES.swift */, + 09B684F940303E7EF1A5643C6F72AB70 /* AES+Foundation.swift */, + 8C04D49556C994C8FA4A38E576DDE418 /* AES.Cryptors.swift */, + C71B87B53A5E2C7C91B05AC484E031B0 /* Array+Extension.swift */, + F1EDCDD67B7583F00D7A31603655B700 /* Array+Foundation.swift */, + E861CDF1ED7F50A732D8EAA09D5591A6 /* Authenticator.swift */, + 9F07FDC6FD39B8280C5424FAB214324C /* BatchedCollection.swift */, + 16AB198056BE29CC9CB9E0C3E9EA1EB4 /* Bit.swift */, + C1A031336B3F28842A12E1F137BD1A1E /* BlockCipher.swift */, + A2E6D3396286127D79947F8CD29E1FBE /* BlockDecryptor.swift */, + 2C5E874EFC3E29913916A73519E861A8 /* BlockEncryptor.swift */, + 6D18421DCD594E0B355D675F16685E53 /* BlockMode.swift */, + 29C02563C59F72A9995CB3FD0DC40D73 /* BlockModeOptions.swift */, + B93598B4204E47D79596C5071468A0EF /* Blowfish.swift */, + AA8F5A97AFB21DF760A56B1C598EAD68 /* Blowfish+Foundation.swift */, + 536E64801821057B3849AE85C389865D /* CBC.swift */, + B4CF752AA0DC949F922885E06B103D5F /* CBCMAC.swift */, + 44B9D73EB107CD267349CCCBACE97DF6 /* CCM.swift */, + E0AEA3D25E03B8646C1D8B014E991AF8 /* CFB.swift */, + 0B486C78F11DD68B28A0992BBF3C002B /* ChaCha20.swift */, + 8553A491EADD5A39FA25ADE97578B292 /* ChaCha20+Foundation.swift */, + F08042C4F607990379A3B719C0317CF2 /* Checksum.swift */, + B3C3CAD6D3D726E13A6CED5B3309F962 /* Cipher.swift */, + 7F775FFB8D73DE3E52293B441CD890AC /* CipherModeWorker.swift */, + 6B5BE8ECDD6445C702C92494E01CD917 /* CMAC.swift */, + 9D67F23BC565B66057E7BEF3EAE821BB /* Collection+Extension.swift */, + EBF4A43127B0705F66EBAEBD0E09015A /* CompactMap.swift */, + 7491C6AA8CE39B11DEDF005A7A48D7E8 /* Cryptor.swift */, + C6600014718991E72BCBFF36B3EC37DF /* Cryptors.swift */, + 6B9F33A3CD8110CB0D1E87B9044BF282 /* CTR.swift */, + A734406F64A9EF20D32C564C645DB49D /* Data+Extension.swift */, + 76A8A1724658709FC6AB78323C258087 /* Digest.swift */, + 752C09A0E5B018B12C30EEB925AD9ABB /* DigestType.swift */, + EA5F95E18172B63369D86E583BC5F03C /* ECB.swift */, + 14483C8544026E3F73D2B116140B4FB4 /* GCM.swift */, + D8C5598845DE87346742EF727EC8FFB2 /* Generics.swift */, + CB6F571A6FE94FCF1E07F18AD16859F7 /* HKDF.swift */, + 2ADADFAC8D2CC719A7D3F20A614FD747 /* HMAC.swift */, + 5E164A2E2D69FDBB5936D00D2E9391E7 /* HMAC+Foundation.swift */, + ABA2D859416D2F24912E7C51341A2B3F /* Int+Extension.swift */, + 181F91B025F0364868C81316461F8720 /* ISO78164Padding.swift */, + 98033EE641E1E717EA076F8A9F2AB94F /* MD5.swift */, + 82D31D76C3C20BF6664E64638FC64E38 /* NoPadding.swift */, + 2C776EAA512DF5DF41BC04BEC75EE96E /* OCB.swift */, + 79D3952588800455B64F71031E256898 /* OFB.swift */, + 598A81E38FE8CBE0AEEA7FFBC37E89B0 /* Operators.swift */, + B60AC51FBA24FB19D31DB57E747C6E85 /* Padding.swift */, + 82AEE9A3A94D8803F84E65D91902847C /* PBKDF1.swift */, + 45A9BC4F79519B25542D787878928678 /* PBKDF2.swift */, + 91799F0BA9669FC939DFCD8DA75B12BA /* PCBC.swift */, + FABABCBB4B4BB7C627EAC7536D515E8A /* PKCS5.swift */, + F69A9B49E9FDAEEE776F79B502A2E2ED /* PKCS7.swift */, + 0FF32447336E20C19A2151D7E03512C3 /* PKCS7Padding.swift */, + 2B18DC4D7CA341CFD6B2C3003BA68ACB /* Poly1305.swift */, + D3CE2D94426702C42E0ECFE383D3C8C2 /* Rabbit.swift */, + 22C5253FFFA2C5C736C88BF761C80BD2 /* Rabbit+Foundation.swift */, + F85CFA42E7DB9E24B5EE9283FFFBE5BB /* Scrypt.swift */, + 0CBEBA025A1B1B4C67EDAE1EC8FA0293 /* SecureBytes.swift */, + 073B6E1F07D52AA75EC11DD22DB90A39 /* SHA1.swift */, + 48A0C972E64B7F9FE01BEF4AA3751BCB /* SHA2.swift */, + 3E98B524E2CE6F3276E0E28551B908EB /* SHA3.swift */, + 259B341EBB198930D8E3814E4108BC44 /* StreamDecryptor.swift */, + 9067C423A424606B48EE7F0F6B322DA9 /* StreamEncryptor.swift */, + BB09A03F8BE5E2708507DFB2F32246D0 /* String+Extension.swift */, + BE0EFC114008B16999A73AB306EC4A1C /* String+FoundationExtension.swift */, + 8E24616FEE7A055473CAECC6BCFB587D /* UInt128.swift */, + 2F680F29FBBAFAF44CE3261E03BA38F6 /* UInt16+Extension.swift */, + CE566A21259FC27D476DB86B97466B34 /* UInt32+Extension.swift */, + 29161B8346A845A4D23956C323AE9849 /* UInt64+Extension.swift */, + CDEE405FF8BB67D812C2A0317AF824D8 /* UInt8+Extension.swift */, + D926294FC0E97524074D61C2EAB40E90 /* Updatable.swift */, + CC820D4958C6CB5805A74DD5716AAC2C /* Utils.swift */, + B478A05147F7AC1F35170DBC6BF234D3 /* Utils+Foundation.swift */, + 5C67BF2E1DA4226D54F177EE68A93C51 /* ZeroPadding.swift */, + 5E0BCA39684A5192CBB9C88964903952 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/SnapKit"; + path = CryptoSwift; sourceTree = ""; }; - A8E13D78A27CB660D43B62E0C5663C9C /* Pod */ = { + C2D27A8D7DB907CAFFE1FCE1EEBA8ED9 /* Alamofire */ = { isa = PBXGroup; children = ( - 176EBC6494993F38E26512B50D9E987A /* LICENSE */, - 93B91D3C5186492E6AA6479CBAECD397 /* README.md */, - 8644410B9B7A8B9E896CD713ACE9A355 /* SwiftyBootpay.podspec */, + 41E7DD845DF1B0508231FA45A6ADEAAE /* AFError.swift */, + 73F0C5FF5F0C0F955DEFEFF72F90224D /* Alamofire.swift */, + 768D91B8562512D61D6BE335530B8EB9 /* AlamofireExtended.swift */, + AFE3DE492A64C37CDE344601114C4CA7 /* AuthenticationInterceptor.swift */, + 9E1BDD28F529594B94ADA74F452F82F5 /* CachedResponseHandler.swift */, + BE6DA127F6DDD4B4A4F8BC2528294051 /* Combine.swift */, + 31A212BD935F4D86785180B7984E2D10 /* DispatchQueue+Alamofire.swift */, + 4A103FBC6AC3CFFE7715495B182E5932 /* EventMonitor.swift */, + 5049B58AF722BA1B75F93B5D48056369 /* HTTPHeaders.swift */, + 357D7B4E45950081D313071027042694 /* HTTPMethod.swift */, + B8DDFF708C34B9B10BEF7A1BE76024B1 /* MultipartFormData.swift */, + D6AE0FE78EE3B55471892D45F4BC5307 /* MultipartUpload.swift */, + 90EE8D21D0BE2843D7305E1F978CE8B4 /* NetworkReachabilityManager.swift */, + 0FD4D5B9A04EBCA8D29259BE8C0EFE15 /* Notifications.swift */, + CFA307DC0683E01B2EAA4904BA399283 /* OperationQueue+Alamofire.swift */, + 64C502166B42291A857AE8D3AB584734 /* ParameterEncoder.swift */, + 4C66B2C3171F4AC3B9B18CF5A03D3CBF /* ParameterEncoding.swift */, + 93523FB8C6584C09DDB6166544A71E6E /* Protected.swift */, + 4267654E43504FC6A31ABA092E44D162 /* RedirectHandler.swift */, + 3BF12FA4C27C169BF3AC00F44B425B9F /* Request.swift */, + C15A683B1F00FA350E4890CDCDA00A11 /* RequestInterceptor.swift */, + 061F3A301D9B0E15D6A3E6C0180AC06E /* RequestTaskMap.swift */, + A1BC80AD7D08E35396C7566EBA87575A /* Response.swift */, + FB9FE616BA053433EA0F6C4B47E340BB /* ResponseSerialization.swift */, + 830F30EA718BF5640C53D439886B3A61 /* Result+Alamofire.swift */, + B8D89B51779CA0CA38A825BC80059879 /* RetryPolicy.swift */, + 02B8977BE590F64716E4DCC181E43BD7 /* ServerTrustEvaluation.swift */, + 776CC5ED88199B16B46095BB49C99449 /* Session.swift */, + 424393B7AC7A4701FB83F6192C3E1182 /* SessionDelegate.swift */, + E5EEDE29A7C71377D78469421148CE57 /* StringEncoding+Alamofire.swift */, + BA9226D8EEC6C63455181B7E17F4A171 /* URLConvertible+URLRequestConvertible.swift */, + E9AD77F771F169DD4AA1A36234ADA848 /* URLEncodedFormEncoder.swift */, + F76610AB48410F8289C4C2BEC6D956B1 /* URLRequest+Alamofire.swift */, + C88E00E74B1EA09D50947CFA95367F0C /* URLSessionConfiguration+Alamofire.swift */, + C922BF12BF45BCE70B6E0C0CBF669FED /* Validation.swift */, + 68D4EC001E90EABEBECB9BC51161164B /* Support Files */, ); - name = Pod; + path = Alamofire; sourceTree = ""; }; - B18E1E29A70907BEA97B24C629E2508E /* Support Files */ = { + C5E6A3D88DF1E506B4F6A7429017E83B /* Pods */ = { isa = PBXGroup; children = ( - 7D8E488F90CA864EB03F7B879981B67D /* SwiftOTP.modulemap */, - 4C25024B6994DD956C476F62238A13EA /* SwiftOTP-dummy.m */, - D293E3803C355B318E6BAB7BB6D72441 /* SwiftOTP-Info.plist */, - 56012F219B02CA9D526D4AE3883D37AF /* SwiftOTP-prefix.pch */, - 56C678F524944BF9F58B10EE90837D9E /* SwiftOTP-umbrella.h */, - 3D1EED79970BF952EE67AE78E9E4B62D /* SwiftOTP.debug.xcconfig */, - 86E3EEB244926452C76B7ED6D6A9E4DE /* SwiftOTP.release.xcconfig */, + C2D27A8D7DB907CAFFE1FCE1EEBA8ED9 /* Alamofire */, + A9B2B8FB5CB06C724D2F6947E0F9EE80 /* CryptoSwift */, + 6BABFE5D0BA629B6C23618A0599DE0E7 /* JGProgressHUD */, + FF07116E9EA863C2053A8D2EB6216FB2 /* ObjectMapper */, + 1D210C3C70FDCCDAAD521AE68665BF21 /* SnapKit */, + 5B9C8389D2FEE9A387CF1F58F025518A /* SwiftOTP */, ); - name = "Support Files"; - path = "../Target Support Files/SwiftOTP"; + name = Pods; sourceTree = ""; }; - B9CFAF073F7010CA0B58C4EC63F8C69E /* Support Files */ = { + C916B158DB5C489B6AD9BB1C82F7A80C /* models */ = { isa = PBXGroup; children = ( - 074041E8F934BF5FB9892E5731010A4B /* ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist */, - 1112CB19197C60B47716BD904B0975AD /* SwiftyBootpay.modulemap */, - A15A2150CE0130CF69B3128DC572911C /* SwiftyBootpay-dummy.m */, - C037C39E63C09791DE8BD6B5F85CFF9E /* SwiftyBootpay-Info.plist */, - 09C2547F837E874A5CEF18857CDA33E4 /* SwiftyBootpay-prefix.pch */, - 44A74AAFC330212784534E2BE6F5F0C2 /* SwiftyBootpay-umbrella.h */, - 6E123D72F3BCDD9EE293CEABB9B5001F /* SwiftyBootpay.debug.xcconfig */, - C2705E97E3F9EA5C94216904A46C0233 /* SwiftyBootpay.release.xcconfig */, + 33FC5FBA66E739C5EB70BCDEF4B6704F /* BootpayExtra.swift */, + 0294C652BEE6EB46AFA61305B5FE6B6A /* BootpayItem.swift */, + 9E012C9E0D97F1110B460E7BDDDDDD2D /* BootpayMethod.swift */, + D5C95150FC1567FFE675C2E57D1DB953 /* BootpayOneStore.swift */, + F77348DB5955A741A1C4863062348B56 /* BootpayParams.swift */, + BCAE4ADA3B1C02FEFEFA00BBDAC233E5 /* BootpayPayload.swift */, + B3C535F2E5E2005334A1E1B800CB2E82 /* BootpayPG.swift */, + 474309A22FA84B49849154BB1524A017 /* BootpayRest.swift */, + 4BB32EE89D54C5A62D0EFD47488ED5EE /* BootpayStatItem.swift */, + EE31D0F027C274F53F60E8443EB85E50 /* BootpayUser.swift */, + CECF0A047A1D9DD8FA5A272BC711A93C /* BootpayUX.swift */, + 1119042BE46E177106E8EA7AF2FE2D50 /* CardCode.swift */, + 442C5E38628DDF30662E964BD4A3013B /* CardInfo.swift */, + 1A740EFF89290EBF1B40F4F863F83A6D /* PushType.swift */, + 496C7600CA33A12D58C3A9F986C970BC /* RemoteLink.swift */, + 49C7E875E694F5C21208A08715BA8ADA /* RemoteOrderForm.swift */, + CC01F94456BFA5538B869E663324F656 /* RemoteOrderPre.swift */, + 71AF607608D7CF6B0CDC487A8EEDFB7C /* SMSPayload.swift */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/SwiftyBootpay"; + name = models; + path = SwiftyBootpay/Classes/models; sourceTree = ""; }; - C449D7D8644D50C3436AD94069D044CE /* Alamofire */ = { + CA18E534D2C0332404CF02C19F4D990E /* Pod */ = { isa = PBXGroup; children = ( - 6FAB85F0FCD2E1BDDC4668E175005D81 /* AFError.swift */, - D113FC59153DB4530EE1C09B7A0436ED /* Alamofire.swift */, - 34768D2C671B9FBC43412AEFFC4CBB05 /* AlamofireExtended.swift */, - 44B37165722F3D2C55CAE65899E2B6A9 /* AuthenticationInterceptor.swift */, - A4D3F7A02021067EF0E3CC8D563CC256 /* CachedResponseHandler.swift */, - 312F8E70748D7DB305715F9C79D8B87B /* Combine.swift */, - 700CE37D264FCE3E5B994265745C8B82 /* DispatchQueue+Alamofire.swift */, - 6FE5EE91309ED424D2DC46FF06702D7C /* EventMonitor.swift */, - EB25A9A1324CB97EADF8552561B91E05 /* HTTPHeaders.swift */, - 67537868764849001823A6DCA08CEC4C /* HTTPMethod.swift */, - BC627468E19B4CE633127EEFA266D67D /* MultipartFormData.swift */, - A0B92E6C83D7C94A4D61A3FFD1FC4B70 /* MultipartUpload.swift */, - 5DD34F8326AD8F8E78939362B203A1B6 /* NetworkReachabilityManager.swift */, - A6549891898BAB093B3258AAB2375E4D /* Notifications.swift */, - 863CB1D716A7DDF302287290D2785D5F /* OperationQueue+Alamofire.swift */, - E661CDEE8CE30E35DEA92895B3832606 /* ParameterEncoder.swift */, - 3111F7AB3F33C70DC3CB9B446C77A4A8 /* ParameterEncoding.swift */, - A685F1926D97F5E582EED6F4A86B97E1 /* Protected.swift */, - 4E11D72E9D6F278BF15C84DF79A588DC /* RedirectHandler.swift */, - 995BFE086D8F85CA85D9418B429D99C8 /* Request.swift */, - 12B40AE5F49CECDA6A801AD6B2EC5EDB /* RequestInterceptor.swift */, - 620F107FD95B850AC3CBE3546E7C0F11 /* RequestTaskMap.swift */, - AFAB616C953EE3CF43ED8CCA79A2560F /* Response.swift */, - 0562CC7AF7CFB3AE262C9525C1096667 /* ResponseSerialization.swift */, - 75544D017D97529F8D68F3EFDF5EA03F /* Result+Alamofire.swift */, - 81B5E2A4B4F4CFE99A528B6BD8A88A58 /* RetryPolicy.swift */, - F5EA84590C959699970929AC72F09276 /* ServerTrustEvaluation.swift */, - 2556BEF5EBEFF99E79F9D7EE7DB23362 /* Session.swift */, - 1D5C82126819A540AC3947F8CF32597E /* SessionDelegate.swift */, - 6C8F6AA8E24AFF024775CB5FB9BF1DAE /* StringEncoding+Alamofire.swift */, - 7B97F4F361077A99EB2739159A4FD08B /* URLConvertible+URLRequestConvertible.swift */, - E7E313436B9F334EA150B8543CF3FBC3 /* URLEncodedFormEncoder.swift */, - D1BB63F22FC00B7DC1B65B9BBBEA3698 /* URLRequest+Alamofire.swift */, - 934D488E179BE870F29F06F4091FCD49 /* URLSessionConfiguration+Alamofire.swift */, - C02F1925C8E3D3EDEEF9BDB1AEF090C2 /* Validation.swift */, - 904873614E92067EBF3B806AA9A907BE /* Support Files */, + D2ED30966773B688CC95DBF318643F3E /* LICENSE */, + 416C8194C3D46188C714DC6F8DEC5C34 /* README.md */, + 36587AC1D73459390DEA898EFAB10961 /* SwiftyBootpay.podspec */, ); - name = Alamofire; - path = Alamofire; + name = Pod; sourceTree = ""; }; CF1408CF629C7361332E53B88F7BD30C = { @@ -1262,106 +1285,62 @@ 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, 57EC18ADD38E2050B7178B2ADFC75C12 /* Development Pods */, 08FBF6BE3491B235D175D0CC612E1281 /* Frameworks */, - 8EE9FD6478F5C03562D8584F1619DE11 /* Pods */, + C5E6A3D88DF1E506B4F6A7429017E83B /* Pods */, 33D183C1627F093FA9424E05CD7C515E /* Products */, 7F2FD3763ACC7EA74DF16FB8F44D9135 /* Targets Support Files */, ); sourceTree = ""; }; - D8E010BDFCE420938CB8C14544782258 /* Support Files */ = { + DB289D1F3A0FF49150D91AB28B78F9E7 /* Support Files */ = { isa = PBXGroup; children = ( - D35B5B1A79CF9390D087E628124C25E8 /* CryptoSwift.modulemap */, - 2CB0F052D4959DEF201EA69680F7C3B4 /* CryptoSwift-dummy.m */, - 680AFEA5934BDE69A2EF93B6107346F8 /* CryptoSwift-Info.plist */, - 9415070F6CC3901A92FF6C2141F5F221 /* CryptoSwift-prefix.pch */, - 1967F79CB818D6F58A5819C047605612 /* CryptoSwift-umbrella.h */, - C771F3EEA907B18E2587AD525D2E3344 /* CryptoSwift.debug.xcconfig */, - 1C248C264331A272D833071435C55A36 /* CryptoSwift.release.xcconfig */, + 40379A0BE06427C6E1AF2B1FAB9E00DD /* SwiftOTP.modulemap */, + 836F7099BD00823CAB0FB98285CC5773 /* SwiftOTP-dummy.m */, + BFC7B0E99DD5CEBF52338CF4012260BC /* SwiftOTP-Info.plist */, + 6B4097DA5C6EA4E220348B4ABB38454F /* SwiftOTP-prefix.pch */, + FED22CA6739D7A484AEF1A54F6F0B49C /* SwiftOTP-umbrella.h */, + E47C3785E9963E1BA5631E54FD7103B5 /* SwiftOTP.debug.xcconfig */, + 66D229FBCAA95FB2FC6665B24C456047 /* SwiftOTP.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/CryptoSwift"; - sourceTree = ""; - }; - F59DCD46E172904E4B3D99997E1EED72 /* JGProgressHUD */ = { - isa = PBXGroup; - children = ( - 071825A80553747989B6DE804EAEE937 /* JGProgressHUD.h */, - 2A92845C699A19D5E0A4F292585DF330 /* JGProgressHUD.m */, - 33F8F93AE15A26DE4BB45AAFE5DB9B3C /* JGProgressHUD-Defines.h */, - 4BE0526C1C597283C6603240598D8C01 /* JGProgressHUDAnimation.h */, - 4355B9979CB125364F59542EB3CF41C9 /* JGProgressHUDAnimation.m */, - 2A4339EB929B52C5C79DD6F6D471CF06 /* JGProgressHUDErrorIndicatorView.h */, - 640E5B8474A1714FB55D5DE5ED5A9C85 /* JGProgressHUDErrorIndicatorView.m */, - 147715A0506B3F6B820523EA0DD803F2 /* JGProgressHUDFadeAnimation.h */, - 563CF0ADE2240B47628B9DD894FC621C /* JGProgressHUDFadeAnimation.m */, - CE11146DCF14306861597814BBA062A5 /* JGProgressHUDFadeZoomAnimation.h */, - 8BBAE7E62CE33B5B2E54DCAE1F2B5B0E /* JGProgressHUDFadeZoomAnimation.m */, - EF65CA6BE2FC55F04494BD39DDEAAD52 /* JGProgressHUDImageIndicatorView.h */, - 4EEFC3759131BFE164446BF4A063FE50 /* JGProgressHUDImageIndicatorView.m */, - 60F17AF6551BF58FD0C48423A609CEAB /* JGProgressHUDIndeterminateIndicatorView.h */, - B7D41650A8C638C4ED560FBC18E9DEAF /* JGProgressHUDIndeterminateIndicatorView.m */, - FF0B19FDDF980AE345EB4DC5D2ED566A /* JGProgressHUDIndicatorView.h */, - BBEFD0996A122918CE2DA4291A491CD8 /* JGProgressHUDIndicatorView.m */, - 69BBA30D818969CD5DB0A472F23D1CD8 /* JGProgressHUDPieIndicatorView.h */, - 11B4200702ED1524AB1B4F9D26D08B67 /* JGProgressHUDPieIndicatorView.m */, - 0920ED12E61AF7F1CF66FB500E23E29A /* JGProgressHUDRingIndicatorView.h */, - D006F10A2BBA7FEC9B7DAEC87DAA66E2 /* JGProgressHUDRingIndicatorView.m */, - AAF55B77C3BE2C775487FD710BA8BBD1 /* JGProgressHUDShadow.h */, - 996CCE31175B099773ABE64C3E4FC480 /* JGProgressHUDShadow.m */, - 0FA492A93B4874E87EE5ABF9CF5F9044 /* JGProgressHUDSuccessIndicatorView.h */, - 36B4132FA2693A2BBB58F0F0BED873CF /* JGProgressHUDSuccessIndicatorView.m */, - 8A4B60F48F776240619127CD6A89B043 /* Support Files */, - ); - name = JGProgressHUD; - path = JGProgressHUD; + path = "../Target Support Files/SwiftOTP"; sourceTree = ""; }; - FE06F80A5AC28BE2A5D0172AEFE6600B /* ObjectMapper */ = { + FF07116E9EA863C2053A8D2EB6216FB2 /* ObjectMapper */ = { isa = PBXGroup; children = ( - 433301F8874A63B84B5B36DA20023985 /* CodableTransform.swift */, - 65435F1FD31002A2A59426D6E1DC6820 /* CustomDateFormatTransform.swift */, - 10EB41DE487013E808B8474888340543 /* DataTransform.swift */, - 7973A9A4C1009ABB55A8BA5BF230E3F8 /* DateFormatterTransform.swift */, - BC31E6C447DAE3BB34B4086DFE7D83CD /* DateTransform.swift */, - 0936C67B3AB70B01880C3DBDA37A089B /* DictionaryTransform.swift */, - 15703377F056F0BEAD9E41B93CEFBB10 /* EnumOperators.swift */, - 9B284042B6724BB2A85AF63F8340E5D9 /* EnumTransform.swift */, - 0F269E762C114D1E2C478449BF2C6F88 /* FromJSON.swift */, - 155D71EA43188EF8FC41193B5E5EDDAE /* HexColorTransform.swift */, - 193D82DCA854F8AC5D11AA11B4BDA105 /* ImmutableMappable.swift */, - 41BF728318E17DB8FD6EAAC9614C402B /* IntegerOperators.swift */, - 902F954E152243D19B4EDE162CC7A8FB /* ISO8601DateTransform.swift */, - EBB97C2FCB4D1C50AA821EE3037D4756 /* Map.swift */, - C7E17760E608E6925413D79BE98CFD67 /* MapError.swift */, - 01975D0704C2D340FF80D62A63887D4A /* Mappable.swift */, - 82A3B9E2D0CED6B70B729831AC7D3BAB /* Mapper.swift */, - 3C5A35BA8D2ADE66FB1F534BFCD22477 /* NSDecimalNumberTransform.swift */, - 481B96E4E01D112C9063C4A09F182D3E /* Operators.swift */, - 9206DF04D8BB733DEB6909F4C9EBA2AE /* ToJSON.swift */, - E7AC3A72DA123FD6D16E9162F1671078 /* TransformOf.swift */, - C1FD7E4734E72CF0D53CFCB934D97661 /* TransformOperators.swift */, - C6F96D4D7A6235E252C430EBF6EF7D5F /* TransformType.swift */, - 3DABCFAEDEB51FC5036F2C035F923AFB /* URLTransform.swift */, - 77AD7A0807AD5304230EC9FB7366FB60 /* Support Files */, + 92595A71FBE18C3E4CA1DA159BF4FD66 /* CodableTransform.swift */, + 5E7507DD1021DD4975B01D511029B0E9 /* CustomDateFormatTransform.swift */, + 33D1A36748092D3E1287C9A3B8686B43 /* DataTransform.swift */, + C5A09DDC6FC0B07A76891A110291B1F9 /* DateFormatterTransform.swift */, + 14C33177CCF81DCD14CA85BB8DB16F4B /* DateTransform.swift */, + 0CF482F1F4FEA9BA8AE2088E4E1CDBBD /* DictionaryTransform.swift */, + 9DCB215E7BB9C07F59DFAE444EE3F437 /* EnumOperators.swift */, + E3127E1E86C66D9BC4547CFF2C7A69F3 /* EnumTransform.swift */, + 3CB2850A73CED615B9AF01B33CC224DD /* FromJSON.swift */, + 959BD621B8977EFC66C6A6B03157A7D9 /* HexColorTransform.swift */, + 7AD11D5F7CA623DEC2060C8A271B58B5 /* ImmutableMappable.swift */, + 33A5E5872814FFC5F870A12110125496 /* IntegerOperators.swift */, + 4590302250080FE8444FA3949D0B6D54 /* ISO8601DateTransform.swift */, + BD4C9CE54A64C9300B732311241A6F70 /* Map.swift */, + 5D2B232B739F8051D81901C3808C5330 /* MapError.swift */, + 2197372C989C536003C1F98D9569B50A /* Mappable.swift */, + E1F81649A90AA167ADA3BD3E1455A589 /* Mapper.swift */, + F2A609D2EDD4ED2EE7F67241CC54035F /* NSDecimalNumberTransform.swift */, + CED594CA91CB214D24034AAA5EFC164F /* Operators.swift */, + D2A60CB721BB60835B24D4666A11D78D /* ToJSON.swift */, + 63F95E2B6914EB2FEE6D84BE78A47250 /* TransformOf.swift */, + 9F77CB2092B3BBC1A3A520BCFBD8D995 /* TransformOperators.swift */, + A97290F51BA817CBC8C195B4141D9648 /* TransformType.swift */, + F33495BF2903B83B98BB6A7BCF378C0D /* URLTransform.swift */, + 54D997D6FDA441EAFF4ADA02A4C79D59 /* Support Files */, ); - name = ObjectMapper; path = ObjectMapper; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 408D4E91927BFED99C5A1EEAD2C6DB02 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 4EF773F0807FE4DE1804BAD0F52ECDAF /* SwiftOTP-umbrella.h in Headers */, - 5506AD2EBA8077B907559BAFB8F9D260 /* SwiftOTP.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 4F8C6A149CC364C906105D5C918A0CD1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -1383,19 +1362,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 5EC321F76266654E2A20918265D60AB0 /* Headers */ = { + 66095ECEC43A72E1A068220503753F50 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1ED526F423F69223FCA85E2574DF1DFE /* Pods-SwiftyBootpay_Example-umbrella.h in Headers */, + CC81204D03046B2432A1D9687468DC8B /* CryptoSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 709DAB71C5595424D21973A3833F1C93 /* Headers */ = { + 6F5E9B374A65571035EADFB898EBC0E7 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 639C6438CD01AE7A36FE1E551F2E7A8F /* CryptoSwift-umbrella.h in Headers */, + 130AA8F9238387E09ED54770EF75E83B /* Pods-SwiftyBootpay_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1415,20 +1394,29 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - CCA6E17C793ED5BE6A94E6948D844AE5 /* Headers */ = { + A97C2723592F9CD3C289B029B9138908 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B4A09A31159DC4BBD705B24893E7AC38 /* ObjectMapper-umbrella.h in Headers */, + 64F4E73A9C45EF3D9EA57CC96E1BD5D1 /* SwiftyBootpay-ObjectC-Bridge.h in Headers */, + 6A7255D809C2B6F1C393F1B7F9A0A088 /* SwiftyBootpay-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FFCA534E0466EB364604BAC5754FD4B8 /* Headers */ = { + C5C2AD45EEDA787F707728F209E0E572 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5EFBBFC7CA49CCA49B2FC9FE87CFE097 /* SwiftyBootpay-ObjectC-Bridge.h in Headers */, - 37E4C27B61FD708BB194D514B4FE95F8 /* SwiftyBootpay-umbrella.h in Headers */, + C0918500F99FEB6D05E348975269D7BB /* SwiftOTP-umbrella.h in Headers */, + CFF7CF859A7B0FECACB4AAF3BF266BA7 /* SwiftOTP.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CCA6E17C793ED5BE6A94E6948D844AE5 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + B4A09A31159DC4BBD705B24893E7AC38 /* ObjectMapper-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1473,17 +1461,17 @@ }; 58B9AD85FE03CF119B42720114874474 /* SwiftOTP */ = { isa = PBXNativeTarget; - buildConfigurationList = EC982FBF6CEB09BCC21D9CEF3E576872 /* Build configuration list for PBXNativeTarget "SwiftOTP" */; + buildConfigurationList = 60CD8D18D8335C57BBABC32A97533ADF /* Build configuration list for PBXNativeTarget "SwiftOTP" */; buildPhases = ( - 408D4E91927BFED99C5A1EEAD2C6DB02 /* Headers */, - A8F28E535AA4C9977FA2DE805CD64BB5 /* Sources */, - EFDAB09319685D2960B5BF9F5970412B /* Frameworks */, - 3448886775D5B7FEF887F18CBADD074A /* Resources */, + C5C2AD45EEDA787F707728F209E0E572 /* Headers */, + 3B28165A3137B8B69082F5954C444023 /* Sources */, + D5A3C0098503F4A9DF898ED199FE9A68 /* Frameworks */, + 576D55C06141CF60CBE52F32C03B3C75 /* Resources */, ); buildRules = ( ); dependencies = ( - F9FC8E44B10CCE0852EBAB3376B575AD /* PBXTargetDependency */, + 89F54C213D15469C2420B35EC8B63984 /* PBXTargetDependency */, ); name = SwiftOTP; productName = SwiftOTP; @@ -1492,23 +1480,23 @@ }; 5D44B572B7370A7C2ED01ED1ED6610D6 /* SwiftyBootpay */ = { isa = PBXNativeTarget; - buildConfigurationList = C18AD2FD53B7FFDE9C1F3BCD1B8572D9 /* Build configuration list for PBXNativeTarget "SwiftyBootpay" */; + buildConfigurationList = 3398847AFFC7F0F9141ABC7A11BDFE73 /* Build configuration list for PBXNativeTarget "SwiftyBootpay" */; buildPhases = ( - FFCA534E0466EB364604BAC5754FD4B8 /* Headers */, - 3509D973AD427D22F5E2AEBB674B0D33 /* Sources */, - DF99640E50E222AB946F3FD683F4DDFB /* Frameworks */, - 4C1F038872C6D4D812883AEF15D328D8 /* Resources */, + A97C2723592F9CD3C289B029B9138908 /* Headers */, + F306D5B9DC8ACD3A4BF68392D5CD4E58 /* Sources */, + 50FA47634501743760A57D3D2F9B29FB /* Frameworks */, + D2DC2C5CEDCF6556DBC66B98DBD25BCB /* Resources */, ); buildRules = ( ); dependencies = ( - 8D5AF47E965289BD983BD99F5806F368 /* PBXTargetDependency */, - 705A3E18B6E5542976E44F2CFC855ECC /* PBXTargetDependency */, - 47E47E1431F5A730ED76FF2074CB0E64 /* PBXTargetDependency */, - 6C5179160480D375DB9FE0B1AA9A8B13 /* PBXTargetDependency */, - 07113D3F0961F8AD7817198E2F0586A9 /* PBXTargetDependency */, - 4B6AA5EE1BAB1569AB35A74273298A0C /* PBXTargetDependency */, - 6CB06CA7B75820166F6DB2891C579FA5 /* PBXTargetDependency */, + D587F4396A7A64C4209EB4AA06D35AC2 /* PBXTargetDependency */, + 44EA789BE97BBB4DBB52AE050563C49A /* PBXTargetDependency */, + 54A0D5DC6996EB5F27A689983731EBC5 /* PBXTargetDependency */, + FFC6B6A73B1652D203C17ED6365CF29D /* PBXTargetDependency */, + 7A9D261D8E95E07BE55B7BDE1A8D84EE /* PBXTargetDependency */, + 43259C681F3D8614CDE75152DBE85D2B /* PBXTargetDependency */, + 6A82DBBC2E54ACFEA8FF5D8573869C91 /* PBXTargetDependency */, ); name = SwiftyBootpay; productName = SwiftyBootpay; @@ -1535,12 +1523,12 @@ }; 99313990C1D76A6D1D017868B6975CC8 /* CryptoSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = CF129DCD30773EF2C3A3E9B2EFFB4A7E /* Build configuration list for PBXNativeTarget "CryptoSwift" */; + buildConfigurationList = DDC4535F74E25828F6BEED1494C49030 /* Build configuration list for PBXNativeTarget "CryptoSwift" */; buildPhases = ( - 709DAB71C5595424D21973A3833F1C93 /* Headers */, - 20F17B5EAD832A32876AE98CC6C10F11 /* Sources */, - E0B8A7B2CF1F2164CC1A302E7AFABD5B /* Frameworks */, - 7ACD25997C01FD960F9B4331D0A5D21F /* Resources */, + 66095ECEC43A72E1A068220503753F50 /* Headers */, + 11F6C7C434D908D27A0EF4CBA0B7AC34 /* Sources */, + BE0E7EC0EC1F6CE6C498053A0AA82C9B /* Frameworks */, + 435C58BCB76A0F2709E6AD05119DCE8E /* Resources */, ); buildRules = ( ); @@ -1553,23 +1541,23 @@ }; B68029B87C7F1C423183050467B2D133 /* Pods-SwiftyBootpay_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 53A355BE2C3B81828605A8B4E439BAE2 /* Build configuration list for PBXNativeTarget "Pods-SwiftyBootpay_Example" */; + buildConfigurationList = 4D2DFD765BAAD7BEE526C7FF69D6134D /* Build configuration list for PBXNativeTarget "Pods-SwiftyBootpay_Example" */; buildPhases = ( - 5EC321F76266654E2A20918265D60AB0 /* Headers */, - 34307131DF7D487C3B2FA58E1804917A /* Sources */, - 41A392F3FE6D44C776457C0684E93CA2 /* Frameworks */, - 29BFAB78287CD35267AB3475AB21006E /* Resources */, + 6F5E9B374A65571035EADFB898EBC0E7 /* Headers */, + 968013D7BD950ECFE50994F90A1E38B0 /* Sources */, + 9A7B66A1D36ECC063F46F72CA5158AB2 /* Frameworks */, + 3559B25D99090B91DC4D73220DD9A96F /* Resources */, ); buildRules = ( ); dependencies = ( - 41A2F2728C74A9142C4BC6572E4E8DE5 /* PBXTargetDependency */, - 265CF736A789C3E80244CC17F6F33D18 /* PBXTargetDependency */, - E4F8B0A2FE8819FAE3FFA56FC0DD046D /* PBXTargetDependency */, - 5322EDA7CCB0178766E55C3D95BD33AA /* PBXTargetDependency */, - A09195ACC98CD0CEAA2C1E8287D0BA02 /* PBXTargetDependency */, - 4E49B2241DE47B05DFA85364AF6AB27F /* PBXTargetDependency */, - 179EAA2527691987067A2A22328D1679 /* PBXTargetDependency */, + FB100734F370D62C5AE2EC02AE57477D /* PBXTargetDependency */, + 5265C661DC53423082DCFFC82CD6497E /* PBXTargetDependency */, + D6741F107C319FDDC380520843935C93 /* PBXTargetDependency */, + BE03E05780F94F9D791CB1CFA5A11BD9 /* PBXTargetDependency */, + 12AEC55CD9A093EA72018DFE32F213B6 /* PBXTargetDependency */, + 1B325F7C32767725DC9D2A8C97DE3B73 /* PBXTargetDependency */, + D9DA53D1EADE6BB1EE293EAD4EE4C49D /* PBXTargetDependency */, ); name = "Pods-SwiftyBootpay_Example"; productName = "Pods-SwiftyBootpay_Example"; @@ -1596,11 +1584,11 @@ }; F4F029DEB873BE780CA09FB0885CD757 /* SwiftyBootpay-SwiftyBootpay */ = { isa = PBXNativeTarget; - buildConfigurationList = 58A8E48C16EFD7CDF7749A592488C7F6 /* Build configuration list for PBXNativeTarget "SwiftyBootpay-SwiftyBootpay" */; + buildConfigurationList = 0A9050805F1DA77EE1013D77EBD553E5 /* Build configuration list for PBXNativeTarget "SwiftyBootpay-SwiftyBootpay" */; buildPhases = ( - B499D75BACDD1DF979759CAD4E0D8ED8 /* Sources */, - 2C07D1EF1FC507F8FDDC15EA6525B78E /* Frameworks */, - D2078274E4A9E342CE438148BC2DA18E /* Resources */, + 3E8AF154AD01ED73CC91A11196A21D88 /* Sources */, + 7CBFBC86407A0FF8DCE487188DF09DFF /* Frameworks */, + 08BD8971629F73B6AF06EFA8F15B574A /* Resources */, ); buildRules = ( ); @@ -1647,28 +1635,29 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 29BFAB78287CD35267AB3475AB21006E /* Resources */ = { + 08BD8971629F73B6AF06EFA8F15B574A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 09E6E3E4EE2A330C8A14696AF4A617F2 /* Images.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3448886775D5B7FEF887F18CBADD074A /* Resources */ = { + 3559B25D99090B91DC4D73220DD9A96F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 4C1F038872C6D4D812883AEF15D328D8 /* Resources */ = { + 435C58BCB76A0F2709E6AD05119DCE8E /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 7ACD25997C01FD960F9B4331D0A5D21F /* Resources */ = { + 576D55C06141CF60CBE52F32C03B3C75 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -1696,11 +1685,10 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D2078274E4A9E342CE438148BC2DA18E /* Resources */ = { + D2DC2C5CEDCF6556DBC66B98DBD25BCB /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 46F89A6F630CE8753DE46B8451ACF3FE /* Images.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1714,86 +1702,87 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 20F17B5EAD832A32876AE98CC6C10F11 /* Sources */ = { + 11F6C7C434D908D27A0EF4CBA0B7AC34 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2115CECF15EC80604692894143F3932E /* AEAD.swift in Sources */, - 685C08200C0E6B0EBAA4CD760E4A4795 /* AEADChaCha20Poly1305.swift in Sources */, - 33A59DD3171E7D8095F81AF0F6894FD0 /* AES+Foundation.swift in Sources */, - 15558F00820248BC3C31CCF0FA75C532 /* AES.Cryptors.swift in Sources */, - 7803047DA2F58FEA92C2FE22784E9B57 /* AES.swift in Sources */, - B09639961789FD326D7CDEEC44753780 /* Array+Extension.swift in Sources */, - 58E922B0E45D494152E7BEA5FF41264C /* Array+Foundation.swift in Sources */, - 50A90B2D4FA3EBFF26D653873734FEF7 /* Authenticator.swift in Sources */, - 26661371FE41122B779422E580631A57 /* BatchedCollection.swift in Sources */, - D320F1902575B9E3E6DCA15AF679A3D5 /* Bit.swift in Sources */, - BD3A8A47F0415452E6050485C3BCDC12 /* BlockCipher.swift in Sources */, - 28CCAB591F87200E760C3B0D6118E332 /* BlockDecryptor.swift in Sources */, - 3B525CC6E41701E9A5969F9AD4F31CFD /* BlockEncryptor.swift in Sources */, - 0BDEB0C89363CEB6DCCA73EBCEB94D83 /* BlockMode.swift in Sources */, - B41A5B6A24330C76328F756067B04508 /* BlockModeOptions.swift in Sources */, - 05C985DCB4F3D41492BC333EDA7EE34E /* Blowfish+Foundation.swift in Sources */, - 60AD44D1236ACD82D40A3789AA9F4C8E /* Blowfish.swift in Sources */, - 442EA849CBB8549884CD5FD9ADDD98C0 /* CBC.swift in Sources */, - 3A3486233FB309EA82A465F93D8DE889 /* CBCMAC.swift in Sources */, - A9AA3412BC04172A1AABAF8E5128405B /* CCM.swift in Sources */, - CEA5DAF45185EED5EA8E1FB2B259DA40 /* CFB.swift in Sources */, - 65659FC64F5249FE734ED7CEEDE9EEBC /* ChaCha20+Foundation.swift in Sources */, - 4BA09DD20F30ABB2BCE71C15AC7713D3 /* ChaCha20.swift in Sources */, - 85B78668F9D73876B13E05AA4863084E /* Checksum.swift in Sources */, - 2258747D44CCBECF7E85346FE9069024 /* Cipher.swift in Sources */, - C58E477A67D7B8C127643270D2A8AFE3 /* CipherModeWorker.swift in Sources */, - 9F97818F89D611D55CB8D0FA48C05334 /* CMAC.swift in Sources */, - AD0CC5F20DE793052D0AD2960796666D /* Collection+Extension.swift in Sources */, - 2D10E08AEF67CB49A0582555F841AAC5 /* CompactMap.swift in Sources */, - D5E58F8710D0AE6B3157828F43197104 /* Cryptor.swift in Sources */, - E4F96D299417E852A360C53F5AC28C27 /* Cryptors.swift in Sources */, - F85056360C30EFE3B5DF7A3AB6026FC1 /* CryptoSwift-dummy.m in Sources */, - D308040B4B357AA3157C1FB898926951 /* CTR.swift in Sources */, - 56782173293488FE6042FBA164F66AD7 /* Data+Extension.swift in Sources */, - 7262FFAEB1BD2731B9A12B1D0B458DEC /* Digest.swift in Sources */, - 0A0B6645CBFB982C45D3AB3DE653FB79 /* DigestType.swift in Sources */, - 2146BF023CC905C1DFB226FBEF8CF80A /* ECB.swift in Sources */, - EDA824C30979C1248080F88390328DD3 /* GCM.swift in Sources */, - 0F26C9536AD2D5D50CF7994FAB46E9FA /* Generics.swift in Sources */, - F0DC17C4B50818D786974C6EF2753368 /* HKDF.swift in Sources */, - 08BCA630E30C7AE682A24FBA9BEAFE2D /* HMAC+Foundation.swift in Sources */, - FEB70BF4154B2F56D3F28DA87D7B6158 /* HMAC.swift in Sources */, - C7950AC7B81DDBB435FCBD29F09654E7 /* Int+Extension.swift in Sources */, - A1259ED9D2C8A08AA42FD5C26A303307 /* ISO78164Padding.swift in Sources */, - 30FFC4B71D4DCEFADC7C958E1190A161 /* MD5.swift in Sources */, - A540B2C1A87E8BFBC546CA7DDB669DC6 /* NoPadding.swift in Sources */, - D09E0D2539FF0E1406DE6DF22EAB059E /* OFB.swift in Sources */, - D115E6DB3D5DC3709101A6537B3FDAF3 /* Operators.swift in Sources */, - C90A138294C054100E1AD3E417D15E9F /* Padding.swift in Sources */, - 29E8DB8011CC93E90CD8FFC64699A877 /* PBKDF1.swift in Sources */, - FAC4371C5DF59C0E22D26F47AD2D586F /* PBKDF2.swift in Sources */, - 9BBB1FFC4DBE4DBC086B77A27DF11406 /* PCBC.swift in Sources */, - 99AA881E586F22B7E3295232A94C462A /* PKCS5.swift in Sources */, - 87AF24AA568FC42ABFA48829CB4B8145 /* PKCS7.swift in Sources */, - 044707D54906AA7CF4554B3516491FB8 /* PKCS7Padding.swift in Sources */, - D32464EE89E6AC469532CD33627184F3 /* Poly1305.swift in Sources */, - 3732CD5009E2E10F0D54E7D49A9818B7 /* Rabbit+Foundation.swift in Sources */, - D59E0C8A2370C04ED748EC38CF86FB92 /* Rabbit.swift in Sources */, - 15BD0D56C2301F1210B4991E5FB40699 /* Scrypt.swift in Sources */, - BE4EF0266BA2D10A3BFBEC822F812877 /* SecureBytes.swift in Sources */, - ADFE544EC8B84354C2584F668DDA0AB2 /* SHA1.swift in Sources */, - 6D8C8798BA67FEAC054AA1070D7B61E9 /* SHA2.swift in Sources */, - 1B13A393964510E4DC2B44C95E621F05 /* SHA3.swift in Sources */, - AADC2368A9BB00B6BFB6166561DA7ED5 /* StreamDecryptor.swift in Sources */, - 09AB99BC4EE247AD5D92A6929AC316F3 /* StreamEncryptor.swift in Sources */, - 08D0324DB4D2E86ADB32FB3CDBD73DDC /* String+Extension.swift in Sources */, - B0BAFFC73B5ED2FE02AFB40525A10FF3 /* String+FoundationExtension.swift in Sources */, - 4B142B035F2395B9F639A9132EA45E13 /* UInt128.swift in Sources */, - 84273331B9DBC7CCC0096CBD285B5B29 /* UInt16+Extension.swift in Sources */, - 067CFDFCCF814A9410283CD3F8150503 /* UInt32+Extension.swift in Sources */, - ED2986C498E1BBBF431AF6C6E3346936 /* UInt64+Extension.swift in Sources */, - B4B387C4C8A64B305D196A902DAC8693 /* UInt8+Extension.swift in Sources */, - AB4C28FFACD81812471ADEA5EF0DFA0D /* Updatable.swift in Sources */, - BC707EE6F1F2944EC00E84985856F3D6 /* Utils+Foundation.swift in Sources */, - FB2109853FB9C4E290BA3BD554C09001 /* Utils.swift in Sources */, - 3F1ECBD497A45250260618905A957017 /* ZeroPadding.swift in Sources */, + FEC7A713760708215B21D1DC83D0E3C8 /* AEAD.swift in Sources */, + 543740C6C31D3637343F37FA099E11BD /* AEADChaCha20Poly1305.swift in Sources */, + A092D7BC5849A8F719BE24BCB5ED718B /* AES+Foundation.swift in Sources */, + 8A68692B2D967B096E173CF5FF75F590 /* AES.Cryptors.swift in Sources */, + 3759323200DA8229F8EC73C233D1493A /* AES.swift in Sources */, + 6E89EE0A83D419EA1EF17F409199F46B /* Array+Extension.swift in Sources */, + 1B193F2660ED0767A5F0CB98562143BB /* Array+Foundation.swift in Sources */, + 93E0CC3C9D5184C27B9099F1A32512F9 /* Authenticator.swift in Sources */, + ACFB6A0EC19A7AB36CC18691BCD6B9CF /* BatchedCollection.swift in Sources */, + AF53A33BD366AF9440C89CBC9ACB0A4C /* Bit.swift in Sources */, + 4BF868D6EC762DA1E25695733B8E91F5 /* BlockCipher.swift in Sources */, + 6B0A94FEF6EEF7A9D420DD0567C74DA7 /* BlockDecryptor.swift in Sources */, + 2FEB88BAFB0FF24BF06DA6FBCE1E3FD5 /* BlockEncryptor.swift in Sources */, + 15F4114A9A3AE069EAF65B3606EBE525 /* BlockMode.swift in Sources */, + 08B0E83A7A3DB4DF2B556892AEEA9379 /* BlockModeOptions.swift in Sources */, + E4FBECD1B083212C65743404CDF134DA /* Blowfish+Foundation.swift in Sources */, + 6294D3663FED730B4F86E5E68953C155 /* Blowfish.swift in Sources */, + 442B2172794FEF2166A3E7ABA352A5F5 /* CBC.swift in Sources */, + 3DB0D9280765633BD7B46F28F94CD62C /* CBCMAC.swift in Sources */, + C8BECE475FFE148E70377A8E17DB1A15 /* CCM.swift in Sources */, + 5701BD2D60FD3607E0F600639022D695 /* CFB.swift in Sources */, + 579E12DF863290040F3898A955D944D3 /* ChaCha20+Foundation.swift in Sources */, + 4777F57D6B71AECA1C7FC9BF5B238C5D /* ChaCha20.swift in Sources */, + 6B8137456A145BBDF8A917EFF21D531A /* Checksum.swift in Sources */, + D4247D4E1F33160C398B3C13832B0539 /* Cipher.swift in Sources */, + 8B62EE767E432E7E52335B5B9A376D7B /* CipherModeWorker.swift in Sources */, + 568375AF7304702204CB032D869DC2A1 /* CMAC.swift in Sources */, + 067A6E971C7D5446BDCD9A10C06132F8 /* Collection+Extension.swift in Sources */, + 0FCAA6B71411E1EDFF3B72D72548661E /* CompactMap.swift in Sources */, + 3080E2919A9DE48583B05D6385912434 /* Cryptor.swift in Sources */, + 1BAB36C6DF94C2B99C091CE10DF6D234 /* Cryptors.swift in Sources */, + DA0747FF6F30BABFC2AE24586B30A3D7 /* CryptoSwift-dummy.m in Sources */, + 6EF03A3BAFDA8A4BDFF3265B98F9E421 /* CTR.swift in Sources */, + 635093060707BC262AD2F93CBC1DFC52 /* Data+Extension.swift in Sources */, + 5419D23A75236616FD9003BFEAB0A196 /* Digest.swift in Sources */, + 6CD261E331BE5F155ECD85CC512B0BD8 /* DigestType.swift in Sources */, + 51213504F55CD20C4E3F03E4911059B2 /* ECB.swift in Sources */, + 23CBF292B65AD0E76386CB8CD81EDDDD /* GCM.swift in Sources */, + D44428DB2C843DA42DFAD6D6CC333B18 /* Generics.swift in Sources */, + E828E46FC6D91DD36D6F3AA39EE093C3 /* HKDF.swift in Sources */, + D05F84A586D1CB0191FC0CE5F6FD5C6B /* HMAC+Foundation.swift in Sources */, + 30487DD437CFB7896377678D051CE551 /* HMAC.swift in Sources */, + E19B56D9B47F6F81198C6D4B487CF99D /* Int+Extension.swift in Sources */, + 7D7DF06C873B648BC1571FB8138DDA48 /* ISO78164Padding.swift in Sources */, + 88088975B70CE537682C5DFF4AC2A99B /* MD5.swift in Sources */, + 54CA4CC2D9DDD32F559FEFE36DB31914 /* NoPadding.swift in Sources */, + 4187259555D67D09602825B4040CC468 /* OCB.swift in Sources */, + 5961E7DDF55272B633F9B17F1526E8D8 /* OFB.swift in Sources */, + B7FFB7F10C918E1F318B7D5668BDE0C9 /* Operators.swift in Sources */, + 8CCED25A2C2BB2158134937FB9FB26D8 /* Padding.swift in Sources */, + 94FB2E9FBF273077002641CAC5D81724 /* PBKDF1.swift in Sources */, + D75669AE1AD800428598846D24193E8A /* PBKDF2.swift in Sources */, + 3C1E5F3DCE6CBE061B32411E4EE22C20 /* PCBC.swift in Sources */, + 1E49C8AE41ADDC46838C347A22A18D90 /* PKCS5.swift in Sources */, + 32F8C6FF75C97BF262B0062671FD0196 /* PKCS7.swift in Sources */, + E75F619D474EE4F58A20CD637546B782 /* PKCS7Padding.swift in Sources */, + EEF76237AE90C7AE31343705FCAEDE79 /* Poly1305.swift in Sources */, + 43B865F79B7C0E694D8D9AC73F4FB9BD /* Rabbit+Foundation.swift in Sources */, + AB94F8B9962F00B7A5C033DE27F2C1DA /* Rabbit.swift in Sources */, + 8447B4C9B50331AB5953B48626AC9526 /* Scrypt.swift in Sources */, + 976B8D9F1D16518DAE0929DF0CE75568 /* SecureBytes.swift in Sources */, + 2EFD51EE5923D01676D12A0EB6B770E4 /* SHA1.swift in Sources */, + 61EDDBC8BC8D8BFC8C0FD6035AAEBD30 /* SHA2.swift in Sources */, + 4FE3E75FEF292E403FB8D13B64906F41 /* SHA3.swift in Sources */, + 1203DE3A7A3E54730EDF39565687BAB4 /* StreamDecryptor.swift in Sources */, + 3555A585391D7FAA49717AD77868ECC0 /* StreamEncryptor.swift in Sources */, + 2D1AB2CB6FF984135EFF4FB0C1E8B2F3 /* String+Extension.swift in Sources */, + 0246F480B6B64E28D5D06CCAEE8CB01A /* String+FoundationExtension.swift in Sources */, + 1E7D73EA3F470F1BB8C23D7E579FAE24 /* UInt128.swift in Sources */, + E1731CAB8234CC5036FCAFE902640E2F /* UInt16+Extension.swift in Sources */, + D209BE0816237DA14EB1D939314389F7 /* UInt32+Extension.swift in Sources */, + 496830AC001A0919794D96A9D91CADC0 /* UInt64+Extension.swift in Sources */, + FFF6C109252E67C84593E820CE873CEC /* UInt8+Extension.swift in Sources */, + 47808BB808628C2E371FF6E5CA58F5D0 /* Updatable.swift in Sources */, + BE357CD131EB2659A5CA41EB0BCD624F /* Utils+Foundation.swift in Sources */, + ADAAA1190AC1ACD8C1ABA3B9CF80E21B /* Utils.swift in Sources */, + CDDE37ADFE43DE1677A75C6532214557 /* ZeroPadding.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1840,59 +1829,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 34307131DF7D487C3B2FA58E1804917A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0B6827DA7D3958EE994957E081C82C23 /* Pods-SwiftyBootpay_Example-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3509D973AD427D22F5E2AEBB674B0D33 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - CA6BB0464A02DBEED0FE38870D3FFAA7 /* AuthenticationErrors.swift in Sources */, - AD2D06672D5015AD2A2EAB52D69595AA /* BiometricAuthenticationConstants.swift in Sources */, - CD64872B55B8A17A3AFDC3E355175CF6 /* BioMetricAuthenticator.swift in Sources */, - 935FEB128D0ED8EDC2E62D75EDC09BBA /* Bootpay.swift in Sources */, - E27A120AA26F4D94F1A8588D7EBE3A5B /* BootpayAnalytics.swift in Sources */, - C644A550B26105FB7E26B2ED795358F7 /* BootpayAuthController.swift in Sources */, - 7EFA0201AFD860DA1A0B1350BB5EEABF /* BootpayAuthWebView.swift in Sources */, - 06E163C52E97677F09398896E25E0195 /* BootpayBioPayload.swift in Sources */, - 534CD29203C578E26A2FA579E2041D7B /* BootpayBioPrice.swift in Sources */, - 34CC839FA52AE2A0F3B1894BCDC5CACB /* BootpayBioTheme.swift in Sources */, - 19AC3D76B60D6EF617D0A5609B54B2E1 /* BootpayController.swift in Sources */, - 618701EDE1480ECA27942A286117C923 /* BootpayExtra.swift in Sources */, - 03C3CB941719E53B3B7112BB24FEB1E6 /* BootpayItem.swift in Sources */, - 8A7CA6FDEFEF1F024C608A16E78ACDB2 /* BootpayMethod.swift in Sources */, - F85A9B896BAC8353814566D20676990B /* BootpayOneStore.swift in Sources */, - 677060043591B63B3CC4EF9BB2685D0E /* BootpayParams.swift in Sources */, - 545EA49FA0B1F4CFBAE9568FF96850BD /* BootpayPayload.swift in Sources */, - F113385359758561B2479452FA5C7E3B /* BootpayPG.swift in Sources */, - AF4C14949A723DF46371F1C7E362C039 /* BootpayRest.swift in Sources */, - 248B298C67519E44EF0B0FC57ABF1AB5 /* BootpayStatItem.swift in Sources */, - 3313FD032839C22E9F0100CB5D7BDA16 /* BootpayUser.swift in Sources */, - 76294E19F8F3ED42DF3317C787D8BEF8 /* BootpayUX.swift in Sources */, - 35C2DBB171E9FEAFA4475259F0A36BB0 /* BootpayWebView.swift in Sources */, - 3B537A7B987B703B213D782D39D84820 /* CardCode.swift in Sources */, - 71760113E9B3E03E78C62C9365FEF70B /* CardInfo.swift in Sources */, - 56DC26FF5395DB8D40481EA07F59E2A2 /* CardSelectView.swift in Sources */, - C16E7E6520234970FB7B44B539E4BF2E /* CardViewCell.swift in Sources */, - AF296E6E577292AF4840C898A40A7342 /* NSObjectExtension.swift in Sources */, - E665EE4993248C2FA7775930AE19CE56 /* PushType.swift in Sources */, - 5AE604B540E793CFAADCD00A44FC2B0D /* RemoteLink.swift in Sources */, - E364822235F81D417E5850A2748BDC11 /* RemoteOrderForm.swift in Sources */, - 6DD4F39BCFE625C0728C850BA69053FB /* RemoteOrderPre.swift in Sources */, - B1E4C9B97F21EE84B5A3877E498A9653 /* ScalingCarouselCell.swift in Sources */, - 9549326A3BF24D203A2BAAA25E9BD121 /* ScalingCarouselLayout.swift in Sources */, - 185AB90C97C31306B8AED9E38BF862D8 /* ScalingCarouselView.swift in Sources */, - 9EB804B07FC9653BB0B1C056E2B748E7 /* SMSPayload.swift in Sources */, - 71E05BD1FA506C7DF875D81DC8DEA4D6 /* SwiftyBootpay-dummy.m in Sources */, - A72C37D490224687EE87E621FF87FF85 /* UIAlertControllerExtension.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 39B28AE5344BF7EAB543FC2C9D39AE75 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1925,6 +1861,28 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 3B28165A3137B8B69082F5954C444023 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 19C8D977323C4D63FD0D6C9DCB991047 /* Base32.swift in Sources */, + 5B41E149EDAB0638644B8D805BB15AAC /* Generator.swift in Sources */, + 448701FC300FA3F383BD5549E90A63F7 /* HOTP.swift in Sources */, + 8B73E2191EB7B66E165CA680361820C8 /* OTPAlgorithm.swift in Sources */, + 757BEC3F9B5B3AA44C0A27B363159F46 /* StringExtension.swift in Sources */, + 5202C1D7B3498F8627C3940C9179FECC /* SwiftOTP-dummy.m in Sources */, + 1473E284D818C79A587E33C33D11DAAB /* TOTP.swift in Sources */, + 8855BA1117DDF6A01C3CD720F05F4683 /* UInt64+Data.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3E8AF154AD01ED73CC91A11196A21D88 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 89222AF845A30312C284F407BA48B98F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1969,25 +1927,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A8F28E535AA4C9977FA2DE805CD64BB5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 007FE6801ED525F9E448CE3B8E64C8E5 /* Base32.swift in Sources */, - 15A581FE47E8E0B711E603627653C5BF /* Generator.swift in Sources */, - 71A7CECE1259724609F68E7067499806 /* HOTP.swift in Sources */, - 396BB2DC5A16C2E3B1A725881DFAA6A6 /* OTPAlgorithm.swift in Sources */, - 2401C443F587F48105E99353F21B5003 /* StringExtension.swift in Sources */, - 1C9F46BEA8B45B6C6BFE244BCC19274C /* SwiftOTP-dummy.m in Sources */, - AC01A4E8BE89FB9A5020D404C351B4FD /* TOTP.swift in Sources */, - 2E2EAD560E0B6F7C01E9096986650A95 /* UInt64+Data.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B499D75BACDD1DF979759CAD4E0D8ED8 /* Sources */ = { + 968013D7BD950ECFE50994F90A1E38B0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 75193F9DEFC3914AE8E0D8F76C919618 /* Pods-SwiftyBootpay_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2011,109 +1955,151 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F306D5B9DC8ACD3A4BF68392D5CD4E58 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD4D156AE1C8BAEE5E6702747A093954 /* AuthenticationErrors.swift in Sources */, + 64B2BD517198D13F01F186A12447BDDB /* BiometricAuthenticationConstants.swift in Sources */, + 78DD206277D8348E7CC8BEF41708E1D3 /* BioMetricAuthenticator.swift in Sources */, + A13718050015E91A236AA57AF2A36546 /* Bootpay.swift in Sources */, + 3A03C1277E222AFF73466B86A69B8FD8 /* BootpayAnalytics.swift in Sources */, + 62DBC09463A3271E04AE1EB80F4AD33E /* BootpayAuthController.swift in Sources */, + 0B6BDBD97D916687C40025C3ECEBEFD6 /* BootpayAuthWebView.swift in Sources */, + 07F3D6AB23A40A88852301EADB91FE64 /* BootpayBioPayload.swift in Sources */, + E0EBEC1CF11480822963AE7EB9A3F6DD /* BootpayBioPrice.swift in Sources */, + 153D544C8A3E406126E9F99F9ABACEEB /* BootpayBioTheme.swift in Sources */, + 814E5536B67060538AB73D661B2F65D0 /* BootpayController.swift in Sources */, + 2AEB06222B3B42B21F676B7D4925B1A8 /* BootpayExtra.swift in Sources */, + 5D4369C882A0E2FCFF500877917C8090 /* BootpayItem.swift in Sources */, + 0CF120373CA502859B347C2D6069F511 /* BootpayMethod.swift in Sources */, + 956E92FE314BA0F9F8D10CA195EBF64E /* BootpayOneStore.swift in Sources */, + 59D2C094409181F1AF8CF7AC138B8FBF /* BootpayParams.swift in Sources */, + F13127125704C6E166417C368D72489F /* BootpayPayload.swift in Sources */, + B6FA755340BE406AFFF49ED7909FBDDA /* BootpayPG.swift in Sources */, + C107349D3A532317B5107434559B1CD9 /* BootpayRest.swift in Sources */, + 10FF1AEBCB821804188A5C77E68BCC57 /* BootpayStatItem.swift in Sources */, + 1369BD15159581A7081D990F8191C085 /* BootpayUser.swift in Sources */, + 316C7AB19B65C3DC0070634F935B3FF6 /* BootpayUX.swift in Sources */, + 8D6FCF2C0F3AFEA497411C565CB6827A /* BootpayWebView.swift in Sources */, + 8DA794E1E552CB3573A016B2E8DD7A2A /* CardCode.swift in Sources */, + 0EF28A6DE9121C0830737A2740EC95C9 /* CardInfo.swift in Sources */, + FAFDEA81C0CB39F3DFF94B6C963DAFED /* CardSelectView.swift in Sources */, + 89B80A0B58D573C7D94BB77C57427234 /* CardViewCell.swift in Sources */, + 2883C983FE243392D5D822E8223F5F3F /* NSObjectExtension.swift in Sources */, + 4696714ADDBC2B3C981DD3B112DFE9C1 /* PushType.swift in Sources */, + 60E5CC657B8D30A3A1087899DE3A374F /* RemoteLink.swift in Sources */, + 63364A058687BBC1B96C3600747E9B0E /* RemoteOrderForm.swift in Sources */, + 6A4483E3C5A9CF374BA42E0ACDA46177 /* RemoteOrderPre.swift in Sources */, + 8D370BF94582F4531BF5E98EE7BB1764 /* ScalingCarouselCell.swift in Sources */, + 01F372176EB8B9874EA98B0A022991EB /* ScalingCarouselLayout.swift in Sources */, + BE6F6DEA204DB19ACB48E007FDA3660E /* ScalingCarouselView.swift in Sources */, + DF4D7A1CBB2D98EFF9D0D1D669659E3A /* SMSPayload.swift in Sources */, + 26BF931EB773933B7BBA2746D801758E /* SwiftyBootpay-dummy.m in Sources */, + FE786D430336C7834160E6AB63B8FA10 /* UIAlertControllerExtension.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 07113D3F0961F8AD7817198E2F0586A9 /* PBXTargetDependency */ = { + 12AEC55CD9A093EA72018DFE32F213B6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SnapKit; target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; - targetProxy = 7C16C96B8ABE9ACCF45DF825EAA0169D /* PBXContainerItemProxy */; + targetProxy = 85C9FA3039EC506E9E2096A6AE483ECE /* PBXContainerItemProxy */; }; - 179EAA2527691987067A2A22328D1679 /* PBXTargetDependency */ = { + 1B325F7C32767725DC9D2A8C97DE3B73 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftyBootpay; - target = 5D44B572B7370A7C2ED01ED1ED6610D6 /* SwiftyBootpay */; - targetProxy = 3D585D78DE0670B6A1BB3B8F384F1A13 /* PBXContainerItemProxy */; + name = SwiftOTP; + target = 58B9AD85FE03CF119B42720114874474 /* SwiftOTP */; + targetProxy = 1F931B1B140E1AD51DF7BD3E2546B522 /* PBXContainerItemProxy */; }; - 265CF736A789C3E80244CC17F6F33D18 /* PBXTargetDependency */ = { + 43259C681F3D8614CDE75152DBE85D2B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = SwiftOTP; + target = 58B9AD85FE03CF119B42720114874474 /* SwiftOTP */; + targetProxy = 8A39F7D7543722B6CCE6CCB6A1D17D98 /* PBXContainerItemProxy */; + }; + 44EA789BE97BBB4DBB52AE050563C49A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = CryptoSwift; target = 99313990C1D76A6D1D017868B6975CC8 /* CryptoSwift */; - targetProxy = E7E30D2C549103657B017886803AEC48 /* PBXContainerItemProxy */; + targetProxy = E9858676C5A764BF2E35F71C0F235F8F /* PBXContainerItemProxy */; }; - 41A2F2728C74A9142C4BC6572E4E8DE5 /* PBXTargetDependency */ = { + 5265C661DC53423082DCFFC82CD6497E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Alamofire; - target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; - targetProxy = AE23FA8365569C489DD1EAAD3FF5BDDC /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 99313990C1D76A6D1D017868B6975CC8 /* CryptoSwift */; + targetProxy = F6B8D4196C5FD1EACB8B1AE01914DB6E /* PBXContainerItemProxy */; }; - 47E47E1431F5A730ED76FF2074CB0E64 /* PBXTargetDependency */ = { + 54A0D5DC6996EB5F27A689983731EBC5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = JGProgressHUD; target = 6F3964F174D0EBFB0D64F8DBC20E1429 /* JGProgressHUD */; - targetProxy = 5D303BBA4D04E2E4523E5089E3A1F83C /* PBXContainerItemProxy */; + targetProxy = BF01D04372C2B3B03EFECDA7ABB90B36 /* PBXContainerItemProxy */; }; - 4B6AA5EE1BAB1569AB35A74273298A0C /* PBXTargetDependency */ = { + 6A82DBBC2E54ACFEA8FF5D8573869C91 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftOTP; - target = 58B9AD85FE03CF119B42720114874474 /* SwiftOTP */; - targetProxy = DD48487ECB3DBD9F0616A8A3C9ED40A4 /* PBXContainerItemProxy */; + name = "SwiftyBootpay-SwiftyBootpay"; + target = F4F029DEB873BE780CA09FB0885CD757 /* SwiftyBootpay-SwiftyBootpay */; + targetProxy = 5D3E59C6B3B98DD204F4EBF1DBFAB3A9 /* PBXContainerItemProxy */; }; - 4E49B2241DE47B05DFA85364AF6AB27F /* PBXTargetDependency */ = { + 7A9D261D8E95E07BE55B7BDE1A8D84EE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = SwiftOTP; - target = 58B9AD85FE03CF119B42720114874474 /* SwiftOTP */; - targetProxy = DCA8F79B5838E92C5F3E6581F44DC431 /* PBXContainerItemProxy */; + name = SnapKit; + target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; + targetProxy = 8551AA499B740EBBA711789B5B0AB9A4 /* PBXContainerItemProxy */; }; - 5322EDA7CCB0178766E55C3D95BD33AA /* PBXTargetDependency */ = { + 89F54C213D15469C2420B35EC8B63984 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = ObjectMapper; - target = 162E649F50FEC62B61BDD87D1BD422B4 /* ObjectMapper */; - targetProxy = 3CD9C9FAAA31B2DFE2A8074A39B99C08 /* PBXContainerItemProxy */; + name = CryptoSwift; + target = 99313990C1D76A6D1D017868B6975CC8 /* CryptoSwift */; + targetProxy = 53E4F8EE11061FCCE12B05512007E83A /* PBXContainerItemProxy */; }; - 6C5179160480D375DB9FE0B1AA9A8B13 /* PBXTargetDependency */ = { + BE03E05780F94F9D791CB1CFA5A11BD9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ObjectMapper; target = 162E649F50FEC62B61BDD87D1BD422B4 /* ObjectMapper */; - targetProxy = 7BCECE60A50EB8D5D2472CE9E0258186 /* PBXContainerItemProxy */; - }; - 6CB06CA7B75820166F6DB2891C579FA5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "SwiftyBootpay-SwiftyBootpay"; - target = F4F029DEB873BE780CA09FB0885CD757 /* SwiftyBootpay-SwiftyBootpay */; - targetProxy = D98CBA1A40FC75090BA85432A01A5DB3 /* PBXContainerItemProxy */; + targetProxy = ED8DC2D61AF485436CB83D8B7333293C /* PBXContainerItemProxy */; }; - 705A3E18B6E5542976E44F2CFC855ECC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = CryptoSwift; - target = 99313990C1D76A6D1D017868B6975CC8 /* CryptoSwift */; - targetProxy = D562C1681D44639C87F7EC2C4374C7AD /* PBXContainerItemProxy */; - }; - 8D5AF47E965289BD983BD99F5806F368 /* PBXTargetDependency */ = { + D587F4396A7A64C4209EB4AA06D35AC2 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Alamofire; target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; - targetProxy = C04FD5D6BA12A7BDDD9CFD5875804EF1 /* PBXContainerItemProxy */; - }; - A09195ACC98CD0CEAA2C1E8287D0BA02 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SnapKit; - target = 19622742EBA51E823D6DAE3F8CDBFAD4 /* SnapKit */; - targetProxy = 957096BC202AE59E31DFF583145702E4 /* PBXContainerItemProxy */; + targetProxy = F761065C1A35D268042A0DF2F55B5735 /* PBXContainerItemProxy */; }; - E4F8B0A2FE8819FAE3FFA56FC0DD046D /* PBXTargetDependency */ = { + D6741F107C319FDDC380520843935C93 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = JGProgressHUD; target = 6F3964F174D0EBFB0D64F8DBC20E1429 /* JGProgressHUD */; - targetProxy = E9C50B8B3606AA02A93A951ED54120A4 /* PBXContainerItemProxy */; + targetProxy = 9CB2CCD0CD97E96265F3066A966B45C3 /* PBXContainerItemProxy */; }; - F9FC8E44B10CCE0852EBAB3376B575AD /* PBXTargetDependency */ = { + D9DA53D1EADE6BB1EE293EAD4EE4C49D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = CryptoSwift; - target = 99313990C1D76A6D1D017868B6975CC8 /* CryptoSwift */; - targetProxy = 1F37DC4EF0C5AC7B9856331FBE8120F7 /* PBXContainerItemProxy */; + name = SwiftyBootpay; + target = 5D44B572B7370A7C2ED01ED1ED6610D6 /* SwiftyBootpay */; + targetProxy = C2B7C0393D7B612C0A7ED480FCA9AD41 /* PBXContainerItemProxy */; + }; + FB100734F370D62C5AE2EC02AE57477D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Alamofire; + target = EAAA1AD3A8A1B59AB91319EE40752C6D /* Alamofire */; + targetProxy = D69716B996E2579752A5E8DD8E932653 /* PBXContainerItemProxy */; + }; + FFC6B6A73B1652D203C17ED6365CF29D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = ObjectMapper; + target = 162E649F50FEC62B61BDD87D1BD422B4 /* ObjectMapper */; + targetProxy = 9121DA22D935DE530F033D4228F7C5C3 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 0495B600BCE2F63C824B4572FB06C428 /* Release */ = { + 0D4C86A07001ED6A9ADB46DE9D54A214 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B82C9E39A3B35AD34E65164F8D4DA1BD /* Pods-SwiftyBootpay_Example.release.xcconfig */; + baseConfigurationReference = 66D229FBCAA95FB2FC6665B24C456047 /* SwiftOTP.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2122,111 +2108,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 196DFA3E4A09A28224918543529A1885 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 1AB76B438A5C217D55976237548AF5E7 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 73517BE36497252A745760A51A45843C /* ObjectMapper.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - 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/ObjectMapper/ObjectMapper-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ObjectMapper/ObjectMapper-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftOTP/SwiftOTP-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftOTP/SwiftOTP-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; - PRODUCT_MODULE_NAME = ObjectMapper; - PRODUCT_NAME = ObjectMapper; + MODULEMAP_FILE = "Target Support Files/SwiftOTP/SwiftOTP.modulemap"; + PRODUCT_MODULE_NAME = SwiftOTP; + PRODUCT_NAME = SwiftOTP; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -2238,13 +2127,12 @@ }; name = Release; }; - 40E57D62AE19B76C568EFDF7692D9D81 /* Debug */ = { + 0E1FCFB3926BDFAFF245B484E04C6FBA /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 100803813E5C62FCABF717D3CD46CB25 /* Pods-SwiftyBootpay_Example.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2272,12 +2160,10 @@ }; name = Debug; }; - 48FD2B4E815CEB933B18D313E9E9EF64 /* Release */ = { + 105D2EB62672C687305B55B6B9093CE8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 61AC3693ED262CAF44F23A24A36A1AD5 /* Alamofire.release.xcconfig */; + baseConfigurationReference = E47C3785E9963E1BA5631E54FD7103B5 /* SwiftOTP.debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2286,31 +2172,28 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Alamofire/Alamofire-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftOTP/SwiftOTP-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftOTP/SwiftOTP-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; - PRODUCT_MODULE_NAME = Alamofire; - PRODUCT_NAME = Alamofire; + MODULEMAP_FILE = "Target Support Files/SwiftOTP/SwiftOTP.modulemap"; + PRODUCT_MODULE_NAME = SwiftOTP; + PRODUCT_NAME = SwiftOTP; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.2; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 5436B6138589B8984F1D7E7F7DBA1147 /* Release */ = { + 12C02984D4EBD610EEAF70981094CBC1 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C2705E97E3F9EA5C94216904A46C0233 /* SwiftyBootpay.release.xcconfig */; + baseConfigurationReference = A159240E250AA5C369368D126D05FA00 /* ObjectMapper.debug.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2319,64 +2202,44 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SwiftyBootpay/SwiftyBootpay-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftyBootpay/SwiftyBootpay-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/ObjectMapper/ObjectMapper-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ObjectMapper/ObjectMapper-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/SwiftyBootpay/SwiftyBootpay.modulemap"; - PRODUCT_MODULE_NAME = SwiftyBootpay; - PRODUCT_NAME = SwiftyBootpay; + MODULEMAP_FILE = "Target Support Files/ObjectMapper/ObjectMapper.modulemap"; + PRODUCT_MODULE_NAME = ObjectMapper; + PRODUCT_NAME = ObjectMapper; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 73B201A0641E8BDF892BA0B27E0AF833 /* Release */ = { + 18B77153325A0A1E306D62A9F05C67CF /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 006E00143D78A0BDB0E2DE2B7C3ECAF0 /* SnapKit.release.xcconfig */; + baseConfigurationReference = BEA589FA5D9BA50354DCD84F8C864A70 /* SwiftyBootpay.release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - 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/SnapKit/SnapKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftyBootpay"; + IBSC_MODULE = SwiftyBootpay; + INFOPLIST_FILE = "Target Support Files/SwiftyBootpay/ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; - PRODUCT_MODULE_NAME = SnapKit; - PRODUCT_NAME = SnapKit; + PRODUCT_NAME = SwiftyBootpay; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; + WRAPPER_EXTENSION = bundle; }; name = Release; }; - 7642A0B2E514F9018C90960EF206A385 /* Release */ = { + 2372535C0AB9DD3B1EBC74E87BF12294 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86E3EEB244926452C76B7ED6D6A9E4DE /* SwiftOTP.release.xcconfig */; + baseConfigurationReference = 2CD0203F682A3BB923B5E59563F77DBA /* CryptoSwift.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2385,18 +2248,18 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SwiftOTP/SwiftOTP-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftOTP/SwiftOTP-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CryptoSwift/CryptoSwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftOTP/SwiftOTP.modulemap"; - PRODUCT_MODULE_NAME = SwiftOTP; - PRODUCT_NAME = SwiftOTP; + MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; + PRODUCT_MODULE_NAME = CryptoSwift; + PRODUCT_NAME = CryptoSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.3; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -2404,28 +2267,10 @@ }; name = Release; }; - 8B02E93F60539979301137CB6D07246C /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C2705E97E3F9EA5C94216904A46C0233 /* SwiftyBootpay.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftyBootpay"; - IBSC_MODULE = SwiftyBootpay; - INFOPLIST_FILE = "Target Support Files/SwiftyBootpay/ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - PRODUCT_NAME = SwiftyBootpay; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; - A597383E1F0261F60D89F3334BDE8884 /* Debug */ = { + 651F8522FB45C01E35037340A7B5AA92 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E1801C7819330108F475DDADB34ED2A3 /* ObjectMapper.debug.xcconfig */; + baseConfigurationReference = BD29469A077BBBC14248ED6F461F5D71 /* ObjectMapper.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2447,16 +2292,17 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - A84FD708D75417234EFE9D228EF6D99B /* Debug */ = { + 77B25FC9CEE66CA6521DBC2E6517BD97 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C771F3EEA907B18E2587AD525D2E3344 /* CryptoSwift.debug.xcconfig */; + baseConfigurationReference = 7BE8657ACEF71D6CAA5F153B37BB931E /* SnapKit.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2465,29 +2311,45 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CryptoSwift/CryptoSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CryptoSwift/CryptoSwift-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CryptoSwift/CryptoSwift.modulemap"; - PRODUCT_MODULE_NAME = CryptoSwift; - PRODUCT_NAME = CryptoSwift; + MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; + PRODUCT_MODULE_NAME = SnapKit; + PRODUCT_NAME = SnapKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.3; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - AF32D7DB8AFAE840F8C51E094D2D328A /* Debug */ = { + 7A46C51973D6130249A4872637A6B5C5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 88CF023D8B4E5AB1103102A45C3C9DC3 /* SwiftyBootpay.debug.xcconfig */; + buildSettings = { + CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftyBootpay"; + IBSC_MODULE = SwiftyBootpay; + INFOPLIST_FILE = "Target Support Files/SwiftyBootpay/ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + PRODUCT_NAME = SwiftyBootpay; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + WRAPPER_EXTENSION = bundle; + }; + name = Debug; + }; + 7E81E76DAAE2CE8F82E7232E12AD4A12 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 68399FD143414AD2D5773BD98000506B /* JGProgressHUD.debug.xcconfig */; + baseConfigurationReference = 1A0809658551C02600D4C5549593BBCA /* Alamofire.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2496,28 +2358,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/JGProgressHUD/JGProgressHUD-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/JGProgressHUD/JGProgressHUD-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Alamofire/Alamofire-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Alamofire/Alamofire-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/JGProgressHUD/JGProgressHUD.modulemap"; - PRODUCT_MODULE_NAME = JGProgressHUD; - PRODUCT_NAME = JGProgressHUD; + MODULEMAP_FILE = "Target Support Files/Alamofire/Alamofire.modulemap"; + PRODUCT_MODULE_NAME = Alamofire; + PRODUCT_NAME = Alamofire; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 5.2; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */ = { + 7EE7A78859F657F6BEFC651185B43192 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -2540,6 +2403,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -2567,18 +2431,17 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; - B930238443755C2C9C68136B83BDA290 /* Debug */ = { + 86EDC1A579A3CADF9A917D6DB89249BA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3D1EED79970BF952EE67AE78E9E4B62D /* SwiftOTP.debug.xcconfig */; + baseConfigurationReference = BEA589FA5D9BA50354DCD84F8C864A70 /* SwiftyBootpay.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2587,47 +2450,95 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SwiftOTP/SwiftOTP-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftOTP/SwiftOTP-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftyBootpay/SwiftyBootpay-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftyBootpay/SwiftyBootpay-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftOTP/SwiftOTP.modulemap"; - PRODUCT_MODULE_NAME = SwiftOTP; - PRODUCT_NAME = SwiftOTP; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/SwiftyBootpay/SwiftyBootpay.modulemap"; + PRODUCT_MODULE_NAME = SwiftyBootpay; + PRODUCT_NAME = SwiftyBootpay; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - CAA8A0585BA21032CC0D425974813720 /* Debug */ = { + 8E403E361CD6D3F32A530333F7435318 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6E123D72F3BCDD9EE293CEABB9B5001F /* SwiftyBootpay.debug.xcconfig */; + baseConfigurationReference = 1DBF8DC958E9D568FF1CACD8C71358F8 /* SnapKit.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/SwiftyBootpay"; - IBSC_MODULE = SwiftyBootpay; - INFOPLIST_FILE = "Target Support Files/SwiftyBootpay/ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist"; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + 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/SnapKit/SnapKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; + PRODUCT_MODULE_NAME = SnapKit; + PRODUCT_NAME = SnapKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + A90F2786607E625D628ABC9B57263D2B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 88CF023D8B4E5AB1103102A45C3C9DC3 /* SwiftyBootpay.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + 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/SwiftyBootpay/SwiftyBootpay-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftyBootpay/SwiftyBootpay-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/SwiftyBootpay/SwiftyBootpay.modulemap"; + PRODUCT_MODULE_NAME = SwiftyBootpay; PRODUCT_NAME = SwiftyBootpay; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; - WRAPPER_EXTENSION = bundle; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - E73BFB7433831CF292FADF6B2CB7AC3B /* Debug */ = { + BCAC530778CAA37BE0A5504108660645 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B5AD4A710AAE26376709C7292CE898B7 /* Alamofire.debug.xcconfig */; + baseConfigurationReference = 140B6AD43164EB41BD6E0FB3B8A34B0F /* Alamofire.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2649,16 +2560,16 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.2; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - F6F1008E21F5D42BFC84BFABE6EED034 /* Release */ = { + C0662CCD6054365B1C121D65D4846981 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1C248C264331A272D833071435C55A36 /* CryptoSwift.release.xcconfig */; + baseConfigurationReference = D1A48D911530A1F3363FB37E8A1C4803 /* CryptoSwift.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2680,18 +2591,83 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.3; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; + }; + D299434AB35E7FD6F7921C8EF24742FF /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; }; - F93AF49C1CAF2486F9DC6AE9F85C0739 /* Debug */ = { + EFEBFCBEF81322B0A4F44689421CB91D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B615B5BD4C8284CC43C682C7C4EF7D25 /* SnapKit.debug.xcconfig */; + baseConfigurationReference = B82C9E39A3B35AD34E65164F8D4DA1BD /* Pods-SwiftyBootpay_Example.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2700,29 +2676,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SnapKit/SnapKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SnapKit/SnapKit-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SnapKit/SnapKit.modulemap"; - PRODUCT_MODULE_NAME = SnapKit; - PRODUCT_NAME = SnapKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - F96C248D80CA276BCAB32D6E8A7A6E52 /* Release */ = { + F9ACD33DF7DD4BFDF4DF7AC7B3B9349F /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 39845942B39BF17EFB379C237F4F46F0 /* JGProgressHUD.release.xcconfig */; + baseConfigurationReference = 974DAE5393F83E9981C48AA430CBA21A /* JGProgressHUD.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2744,18 +2721,15 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - FE164A7799E670035A0AAC8ED5341204 /* Debug */ = { + FBD0AE802EF1EBB03C68AE7DF1CD35B8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6E123D72F3BCDD9EE293CEABB9B5001F /* SwiftyBootpay.debug.xcconfig */; + baseConfigurationReference = 400104CB281862A8206B04206194BC6C /* JGProgressHUD.release.xcconfig */; buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -2764,114 +2738,114 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SwiftyBootpay/SwiftyBootpay-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftyBootpay/SwiftyBootpay-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/JGProgressHUD/JGProgressHUD-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/JGProgressHUD/JGProgressHUD-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/SwiftyBootpay/SwiftyBootpay.modulemap"; - PRODUCT_MODULE_NAME = SwiftyBootpay; - PRODUCT_NAME = SwiftyBootpay; + MODULEMAP_FILE = "Target Support Files/JGProgressHUD/JGProgressHUD.modulemap"; + PRODUCT_MODULE_NAME = JGProgressHUD; + PRODUCT_NAME = JGProgressHUD; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + 0A9050805F1DA77EE1013D77EBD553E5 /* Build configuration list for PBXNativeTarget "SwiftyBootpay-SwiftyBootpay" */ = { isa = XCConfigurationList; buildConfigurations = ( - 196DFA3E4A09A28224918543529A1885 /* Debug */, - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, + 7A46C51973D6130249A4872637A6B5C5 /* Debug */, + 18B77153325A0A1E306D62A9F05C67CF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 53A355BE2C3B81828605A8B4E439BAE2 /* Build configuration list for PBXNativeTarget "Pods-SwiftyBootpay_Example" */ = { + 3398847AFFC7F0F9141ABC7A11BDFE73 /* Build configuration list for PBXNativeTarget "SwiftyBootpay" */ = { isa = XCConfigurationList; buildConfigurations = ( - 40E57D62AE19B76C568EFDF7692D9D81 /* Debug */, - 0495B600BCE2F63C824B4572FB06C428 /* Release */, + A90F2786607E625D628ABC9B57263D2B /* Debug */, + 86EDC1A579A3CADF9A917D6DB89249BA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 58A8E48C16EFD7CDF7749A592488C7F6 /* Build configuration list for PBXNativeTarget "SwiftyBootpay-SwiftyBootpay" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - CAA8A0585BA21032CC0D425974813720 /* Debug */, - 8B02E93F60539979301137CB6D07246C /* Release */, + D299434AB35E7FD6F7921C8EF24742FF /* Debug */, + 7EE7A78859F657F6BEFC651185B43192 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 78E219AC01CD5AFED663C9AB28280801 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { + 4D2DFD765BAAD7BEE526C7FF69D6134D /* Build configuration list for PBXNativeTarget "Pods-SwiftyBootpay_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - E73BFB7433831CF292FADF6B2CB7AC3B /* Debug */, - 48FD2B4E815CEB933B18D313E9E9EF64 /* Release */, + 0E1FCFB3926BDFAFF245B484E04C6FBA /* Debug */, + EFEBFCBEF81322B0A4F44689421CB91D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 7F8CE4DC18DBEA01587212F09727DB3D /* Build configuration list for PBXNativeTarget "SnapKit" */ = { + 60CD8D18D8335C57BBABC32A97533ADF /* Build configuration list for PBXNativeTarget "SwiftOTP" */ = { isa = XCConfigurationList; buildConfigurations = ( - F93AF49C1CAF2486F9DC6AE9F85C0739 /* Debug */, - 73B201A0641E8BDF892BA0B27E0AF833 /* Release */, + 105D2EB62672C687305B55B6B9093CE8 /* Debug */, + 0D4C86A07001ED6A9ADB46DE9D54A214 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C053E87AE4FCCF4B415A6BADCFC7249B /* Build configuration list for PBXNativeTarget "JGProgressHUD" */ = { + 78E219AC01CD5AFED663C9AB28280801 /* Build configuration list for PBXNativeTarget "Alamofire" */ = { isa = XCConfigurationList; buildConfigurations = ( - AF32D7DB8AFAE840F8C51E094D2D328A /* Debug */, - F96C248D80CA276BCAB32D6E8A7A6E52 /* Release */, + 7E81E76DAAE2CE8F82E7232E12AD4A12 /* Debug */, + BCAC530778CAA37BE0A5504108660645 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - C18AD2FD53B7FFDE9C1F3BCD1B8572D9 /* Build configuration list for PBXNativeTarget "SwiftyBootpay" */ = { + 7F8CE4DC18DBEA01587212F09727DB3D /* Build configuration list for PBXNativeTarget "SnapKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - FE164A7799E670035A0AAC8ED5341204 /* Debug */, - 5436B6138589B8984F1D7E7F7DBA1147 /* Release */, + 77B25FC9CEE66CA6521DBC2E6517BD97 /* Debug */, + 8E403E361CD6D3F32A530333F7435318 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - CF129DCD30773EF2C3A3E9B2EFFB4A7E /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { + C053E87AE4FCCF4B415A6BADCFC7249B /* Build configuration list for PBXNativeTarget "JGProgressHUD" */ = { isa = XCConfigurationList; buildConfigurations = ( - A84FD708D75417234EFE9D228EF6D99B /* Debug */, - F6F1008E21F5D42BFC84BFABE6EED034 /* Release */, + F9ACD33DF7DD4BFDF4DF7AC7B3B9349F /* Debug */, + FBD0AE802EF1EBB03C68AE7DF1CD35B8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E87F6954491067B29ADB27A94D68AA11 /* Build configuration list for PBXNativeTarget "ObjectMapper" */ = { + DDC4535F74E25828F6BEED1494C49030 /* Build configuration list for PBXNativeTarget "CryptoSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - A597383E1F0261F60D89F3334BDE8884 /* Debug */, - 1AB76B438A5C217D55976237548AF5E7 /* Release */, + C0662CCD6054365B1C121D65D4846981 /* Debug */, + 2372535C0AB9DD3B1EBC74E87BF12294 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - EC982FBF6CEB09BCC21D9CEF3E576872 /* Build configuration list for PBXNativeTarget "SwiftOTP" */ = { + E87F6954491067B29ADB27A94D68AA11 /* Build configuration list for PBXNativeTarget "ObjectMapper" */ = { isa = XCConfigurationList; buildConfigurations = ( - B930238443755C2C9C68136B83BDA290 /* Debug */, - 7642A0B2E514F9018C90960EF206A385 /* Release */, + 12C02984D4EBD610EEAF70981094CBC1 /* Debug */, + 651F8522FB45C01E35037340A7B5AA92 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/bootpay.xcuserdatad/UserInterfaceState.xcuserstate b/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/bootpay.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..1f2e6bd Binary files /dev/null and b/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/bootpay.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/bootpay.xcuserdatad/WorkspaceSettings.xcsettings b/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/bootpay.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..a8f6112 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/bootpay.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildLocationStyle + UseTargetSettings + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/UDID.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/Pods/Pods.xcodeproj/xcuserdata/UDID.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..2401e62 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/UDID.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,54 @@ + + + + + SchemeUserState + + Alamofire.xcscheme_^#shared#^_ + + orderHint + 2 + + CryptoSwift.xcscheme_^#shared#^_ + + orderHint + 7 + + JGProgressHUD.xcscheme_^#shared#^_ + + orderHint + 4 + + ObjectMapper.xcscheme_^#shared#^_ + + orderHint + 5 + + Pods-SwiftyBootpay_Example.xcscheme_^#shared#^_ + + orderHint + 9 + + SnapKit.xcscheme_^#shared#^_ + + orderHint + 1 + + SwiftOTP.xcscheme_^#shared#^_ + + orderHint + 3 + + SwiftyBootpay-SwiftyBootpay.xcscheme_^#shared#^_ + + orderHint + 8 + + SwiftyBootpay.xcscheme_^#shared#^_ + + orderHint + 6 + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/Alamofire.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/Alamofire.xcscheme new file mode 100644 index 0000000..bc06c13 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/Alamofire.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/CryptoSwift.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/CryptoSwift.xcscheme new file mode 100644 index 0000000..37b74a9 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/CryptoSwift.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/JGProgressHUD.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/JGProgressHUD.xcscheme new file mode 100644 index 0000000..fb26e7f --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/JGProgressHUD.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/ObjectMapper.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/ObjectMapper.xcscheme new file mode 100644 index 0000000..d56c3f0 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/ObjectMapper.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/Pods-SwiftyBootpay_Example.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/Pods-SwiftyBootpay_Example.xcscheme new file mode 100644 index 0000000..5b24d71 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/Pods-SwiftyBootpay_Example.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SnapKit.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SnapKit.xcscheme new file mode 100644 index 0000000..54bc836 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SnapKit.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SwiftOTP.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SwiftOTP.xcscheme new file mode 100644 index 0000000..0198e3b --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SwiftOTP.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SwiftyBootpay-SwiftyBootpay.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SwiftyBootpay-SwiftyBootpay.xcscheme new file mode 100644 index 0000000..46c153f --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SwiftyBootpay-SwiftyBootpay.xcscheme @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SwiftyBootpay.xcscheme b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SwiftyBootpay.xcscheme new file mode 100644 index 0000000..107dbd0 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/SwiftyBootpay.xcscheme @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..09490b8 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/xcuserdata/bootpay.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,56 @@ + + + + + SchemeUserState + + Alamofire.xcscheme + + isShown + + + CryptoSwift.xcscheme + + isShown + + + JGProgressHUD.xcscheme + + isShown + + + ObjectMapper.xcscheme + + isShown + + + Pods-SwiftyBootpay_Example.xcscheme + + isShown + + + SnapKit.xcscheme + + isShown + + + SwiftOTP.xcscheme + + isShown + + + SwiftyBootpay-SwiftyBootpay.xcscheme + + isShown + + + SwiftyBootpay.xcscheme + + isShown + + + + SuppressBuildableAutocreation + + + diff --git a/Example/Pods/SwiftOTP/README.md b/Example/Pods/SwiftOTP/README.md index 862c672..d2d63ce 100755 --- a/Example/Pods/SwiftOTP/README.md +++ b/Example/Pods/SwiftOTP/README.md @@ -2,6 +2,7 @@ [![Build Status](https://travis-ci.org/lachlanbell/SwiftOTP.svg?branch=master)](https://travis-ci.org/lachlanbell/SwiftOTP) [![Version](https://img.shields.io/cocoapods/v/SwiftOTP.svg?style=flat)](http://cocoapods.org/pods/SwiftOTP) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![License](https://img.shields.io/cocoapods/l/SwiftOTP.svg?style=flat)](http://cocoapods.org/pods/SwiftOTP) [![Platform](https://img.shields.io/cocoapods/p/SwiftOTP.svg?style=flat)](http://cocoapods.org/pods/SwiftOTP) ![Swift Version](https://img.shields.io/badge/Swift-5.0-orange.svg) @@ -16,6 +17,14 @@ pod 'SwiftOTP' ``` Then run `pod install` in the project directory to install. +### Carthage +SwiftOTP is available through [Carthage](https://github.com/Carthage/Carthage). To install it, simply add the following line to your Cartfile: + +``` +github "lachlanbell/SwiftOTP" +``` +Then run `carthage update` in the project directory and add the resulting frameworks to your project. + ### Swift Package Manager You can use [Swift Package Manager](https://swift.org/package-manager/) and specify dependency in `Package.swift` by adding this: diff --git a/Example/Pods/SwiftOTP/SwiftOTP/Generator.swift b/Example/Pods/SwiftOTP/SwiftOTP/Generator.swift index f771a54..fc08846 100644 --- a/Example/Pods/SwiftOTP/SwiftOTP/Generator.swift +++ b/Example/Pods/SwiftOTP/SwiftOTP/Generator.swift @@ -53,7 +53,7 @@ internal class Generator { let counterMessage = counter.bigEndian.data // HMAC hash counter data with secret key - let hmac = try! HMAC(key: key, variant: algorithm.hmacVariant).authenticate(counterMessage.bytes) + guard let hmac = try? HMAC(key: key, variant: algorithm.hmacVariant).authenticate(counterMessage.bytes) else { return nil } // Get last 4 bits of hash as offset let offset = Int((hmac.last ?? 0x00) & 0x0f) diff --git a/Example/Pods/Target Support Files/Alamofire/Alamofire.debug.xcconfig b/Example/Pods/Target Support Files/Alamofire/Alamofire.debug.xcconfig index 385cdcf..9cd6be9 100644 --- a/Example/Pods/Target Support Files/Alamofire/Alamofire.debug.xcconfig +++ b/Example/Pods/Target Support Files/Alamofire/Alamofire.debug.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_LDFLAGS = $(inherited) -framework "CFNetwork" @@ -6,6 +7,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire +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/Example/Pods/Target Support Files/Alamofire/Alamofire.release.xcconfig b/Example/Pods/Target Support Files/Alamofire/Alamofire.release.xcconfig index 385cdcf..9cd6be9 100644 --- a/Example/Pods/Target Support Files/Alamofire/Alamofire.release.xcconfig +++ b/Example/Pods/Target Support Files/Alamofire/Alamofire.release.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Alamofire GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_LDFLAGS = $(inherited) -framework "CFNetwork" @@ -6,6 +7,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/Alamofire +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/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift-Info.plist b/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift-Info.plist index 6c1d64f..8d4bef9 100644 --- a/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift-Info.plist +++ b/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.3.2 + 1.3.7 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift.debug.xcconfig b/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift.debug.xcconfig index 2ba984e..bcef6f0 100644 --- a/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift.debug.xcconfig +++ b/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift.debug.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS @@ -5,6 +6,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/CryptoSwift +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/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift.release.xcconfig b/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift.release.xcconfig index 2ba984e..bcef6f0 100644 --- a/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift.release.xcconfig +++ b/Example/Pods/Target Support Files/CryptoSwift/CryptoSwift.release.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS @@ -5,6 +6,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/CryptoSwift +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/Example/Pods/Target Support Files/JGProgressHUD/JGProgressHUD.debug.xcconfig b/Example/Pods/Target Support Files/JGProgressHUD/JGProgressHUD.debug.xcconfig index fb16d8d..a14abc6 100644 --- a/Example/Pods/Target Support Files/JGProgressHUD/JGProgressHUD.debug.xcconfig +++ b/Example/Pods/Target Support Files/JGProgressHUD/JGProgressHUD.debug.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JGProgressHUD GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "QuartzCore" -framework "UIKit" @@ -5,6 +6,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/JGProgressHUD +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/Example/Pods/Target Support Files/JGProgressHUD/JGProgressHUD.release.xcconfig b/Example/Pods/Target Support Files/JGProgressHUD/JGProgressHUD.release.xcconfig index fb16d8d..a14abc6 100644 --- a/Example/Pods/Target Support Files/JGProgressHUD/JGProgressHUD.release.xcconfig +++ b/Example/Pods/Target Support Files/JGProgressHUD/JGProgressHUD.release.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JGProgressHUD GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_LDFLAGS = $(inherited) -framework "Foundation" -framework "QuartzCore" -framework "UIKit" @@ -5,6 +6,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/JGProgressHUD +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/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.debug.xcconfig b/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.debug.xcconfig index c753895..c9c7cb6 100644 --- a/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.debug.xcconfig +++ b/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.debug.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS @@ -5,6 +6,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/ObjectMapper +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/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.release.xcconfig b/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.release.xcconfig index c753895..c9c7cb6 100644 --- a/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.release.xcconfig +++ b/Example/Pods/Target Support Files/ObjectMapper/ObjectMapper.release.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS @@ -5,6 +6,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/ObjectMapper +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/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example-frameworks.sh index 4627254..a24b48d 100755 --- a/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example-frameworks.sh @@ -19,9 +19,8 @@ mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +BCSYMBOLMAP_DIR="BCSymbolMaps" -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 # This protects against multiple targets copying the same framework dependency at the same time. The solution # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html @@ -45,6 +44,16 @@ install_framework() source="$(readlink "${source}")" fi + if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then + # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied + find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do + echo "Installing $f" + install_bcsymbolmap "$f" "$destination" + rm "$f" + done + rmdir "${source}/${BCSYMBOLMAP_DIR}" + fi + # Use filter instead of exclude so missing patterns don't throw errors. echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" @@ -80,7 +89,6 @@ install_framework() done fi } - # Copies and strips a vendored dSYM install_dsym() { local source="$1" @@ -95,12 +103,11 @@ install_dsym() { binary_name="$(ls "$source/Contents/Resources/DWARF")" binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" - # Strip invalid architectures so "fat" simulator / device frameworks work on device + # Strip invalid architectures from the dSYM. if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then strip_invalid_archs "$binary" "$warn_missing_arch" fi - - if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + if [[ $STRIP_BINARY_RETVAL == 0 ]]; then # Move the stripped file into its final destination. echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" @@ -111,28 +118,8 @@ install_dsym() { fi } -# Copies the bcsymbolmap files of a vendored framework -install_bcsymbolmap() { - local bcsymbolmap_path="$1" - local destination="${BUILT_PRODUCTS_DIR}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identity - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 # Strip invalid architectures strip_invalid_archs() { @@ -147,7 +134,7 @@ strip_invalid_archs() { if [[ "$warn_missing_arch" == "true" ]]; then echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." fi - STRIP_BINARY_RETVAL=0 + STRIP_BINARY_RETVAL=1 return fi stripped="" @@ -161,40 +148,31 @@ strip_invalid_archs() { if [[ "$stripped" ]]; then echo "Stripped $binary of architectures:$stripped" fi - STRIP_BINARY_RETVAL=1 + STRIP_BINARY_RETVAL=0 } -install_artifact() { - artifact="$1" - base="$(basename "$artifact")" - case $base in - *.framework) - install_framework "$artifact" - ;; - *.dSYM) - # Suppress arch warnings since XCFrameworks will include many dSYM files - install_dsym "$artifact" "false" - ;; - *.bcsymbolmap) - install_bcsymbolmap "$artifact" - ;; - *) - echo "error: Unrecognized artifact "$artifact"" - ;; - esac +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" } -copy_artifacts() { - file_list="$1" - while read artifact; do - install_artifact "$artifact" - done <$file_list -} +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" -ARTIFACT_LIST_FILE="${BUILT_PRODUCTS_DIR}/cocoapods-artifacts-${CONFIGURATION}.txt" -if [ -r "${ARTIFACT_LIST_FILE}" ]; then - copy_artifacts "${ARTIFACT_LIST_FILE}" -fi + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework" diff --git a/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.debug.xcconfig index 2cb096e..57da4ad 100644 --- a/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.debug.xcconfig @@ -1,4 +1,5 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/JGProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftOTP" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyBootpay" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JGProgressHUD/JGProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper/ObjectMapper.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftOTP/SwiftOTP.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyBootpay/SwiftyBootpay.framework/Headers" @@ -9,4 +10,5 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.release.xcconfig index 2cb096e..57da4ad 100644 --- a/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-SwiftyBootpay_Example/Pods-SwiftyBootpay_Example.release.xcconfig @@ -1,4 +1,5 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/JGProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftOTP" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyBootpay" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire/Alamofire.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift/CryptoSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/JGProgressHUD/JGProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper/ObjectMapper.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftOTP/SwiftOTP.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyBootpay/SwiftyBootpay.framework/Headers" @@ -9,4 +10,5 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig b/Example/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig index 6b0071d..39fc265 100644 --- a/Example/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig +++ b/Example/Pods/Target Support Files/SnapKit/SnapKit.debug.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS @@ -5,6 +6,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit +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/Example/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig b/Example/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig index 6b0071d..39fc265 100644 --- a/Example/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig +++ b/Example/Pods/Target Support Files/SnapKit/SnapKit.release.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS @@ -5,6 +6,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit +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/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP-Info.plist b/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP-Info.plist index 09cb0fc..763f9a6 100644 --- a/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP-Info.plist +++ b/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.0.2 + 2.0.3 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP.debug.xcconfig b/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP.debug.xcconfig index 441ec1b..77e8eba 100644 --- a/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP.debug.xcconfig +++ b/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP.debug.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftOTP FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 @@ -6,6 +7,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftOTP +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/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP.release.xcconfig b/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP.release.xcconfig index 441ec1b..77e8eba 100644 --- a/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP.release.xcconfig +++ b/Example/Pods/Target Support Files/SwiftOTP/SwiftOTP.release.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftOTP FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 @@ -6,6 +7,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftOTP +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/Example/Pods/Target Support Files/SwiftyBootpay/ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist b/Example/Pods/Target Support Files/SwiftyBootpay/ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist index 04e70b4..91e55ee 100644 --- a/Example/Pods/Target Support Files/SwiftyBootpay/ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist +++ b/Example/Pods/Target Support Files/SwiftyBootpay/ResourceBundle-SwiftyBootpay-SwiftyBootpay-Info.plist @@ -2,23 +2,23 @@ - CFBundleDevelopmentRegion - en - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - BNDL - CFBundleShortVersionString - 3.3.5 - CFBundleSignature - ???? - CFBundleVersion - 1 - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 3.4.107 + CFBundleSignature + ???? + CFBundleVersion + 1 + NSPrincipalClass + diff --git a/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay-Info.plist b/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay-Info.plist index 92778e5..d764ac9 100644 --- a/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay-Info.plist +++ b/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.3.13 + 3.4.107 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay.debug.xcconfig b/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay.debug.xcconfig index 992ce1e..1c330d6 100644 --- a/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay.debug.xcconfig +++ b/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay.debug.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyBootpay FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/JGProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftOTP" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 @@ -6,6 +7,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +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/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay.release.xcconfig b/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay.release.xcconfig index 992ce1e..1c330d6 100644 --- a/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay.release.xcconfig +++ b/Example/Pods/Target Support Files/SwiftyBootpay/SwiftyBootpay.release.xcconfig @@ -1,3 +1,4 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyBootpay FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Alamofire" "${PODS_CONFIGURATION_BUILD_DIR}/CryptoSwift" "${PODS_CONFIGURATION_BUILD_DIR}/JGProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/ObjectMapper" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftOTP" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 @@ -6,6 +7,7 @@ PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +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/Example/SwiftyBootpay.xcodeproj/project.pbxproj b/Example/SwiftyBootpay.xcodeproj/project.pbxproj index d4a08e0..5e27bc7 100644 --- a/Example/SwiftyBootpay.xcodeproj/project.pbxproj +++ b/Example/SwiftyBootpay.xcodeproj/project.pbxproj @@ -192,7 +192,7 @@ TargetAttributes = { 607FACCF1AFB9204008FA782 = { CreatedOnToolsVersion = 6.3.1; - DevelopmentTeam = Q2TZ325TV8; + DevelopmentTeam = 7ZCWM83NFK; LastSwiftMigration = 1010; ProvisioningStyle = Automatic; }; @@ -382,7 +382,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -431,7 +431,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OBJC_BRIDGING_HEADER = ""; @@ -450,9 +450,9 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = NO; - DEVELOPMENT_TEAM = Q2TZ325TV8; + DEVELOPMENT_TEAM = 7ZCWM83NFK; INFOPLIST_FILE = SwiftyBootpay/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; ONLY_ACTIVE_ARCH = YES; @@ -469,13 +469,13 @@ "\"SwiftyBootpay\"", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = "kr.co.bootpay.SwiftyBootpay-Example"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "SwiftyBootpay/SwiftyBootpay_Example-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -489,9 +489,9 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = NO; - DEVELOPMENT_TEAM = Q2TZ325TV8; + DEVELOPMENT_TEAM = 7ZCWM83NFK; INFOPLIST_FILE = SwiftyBootpay/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MODULE_NAME = ExampleApp; ONLY_ACTIVE_ARCH = NO; @@ -508,12 +508,12 @@ "\"SwiftyBootpay\"", "-lc++", ); - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; + PRODUCT_BUNDLE_IDENTIFIER = "kr.co.bootpay.SwiftyBootpay-Example"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OBJC_BRIDGING_HEADER = "SwiftyBootpay/SwiftyBootpay_Example-Bridging-Header.h"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/Example/SwiftyBootpay.xcodeproj/xcuserdata/UDID.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/SwiftyBootpay.xcodeproj/xcuserdata/UDID.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..30277d2 --- /dev/null +++ b/Example/SwiftyBootpay.xcodeproj/xcuserdata/UDID.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + SwiftyBootpay-Example.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/Example/SwiftyBootpay.xcworkspace/xcuserdata/UDID.xcuserdatad/UserInterfaceState.xcuserstate b/Example/SwiftyBootpay.xcworkspace/xcuserdata/UDID.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..c65a6ab Binary files /dev/null and b/Example/SwiftyBootpay.xcworkspace/xcuserdata/UDID.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Example/SwiftyBootpay.xcworkspace/xcuserdata/bootpay.xcuserdatad/UserInterfaceState.xcuserstate b/Example/SwiftyBootpay.xcworkspace/xcuserdata/bootpay.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..4e7eb1a Binary files /dev/null and b/Example/SwiftyBootpay.xcworkspace/xcuserdata/bootpay.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Example/SwiftyBootpay.xcworkspace/xcuserdata/bootpay.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Example/SwiftyBootpay.xcworkspace/xcuserdata/bootpay.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..9ddf38a --- /dev/null +++ b/Example/SwiftyBootpay.xcworkspace/xcuserdata/bootpay.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/Example/SwiftyBootpay.xcworkspace/xcuserdata/taesupyoon.xcuserdatad/UserInterfaceState.xcuserstate b/Example/SwiftyBootpay.xcworkspace/xcuserdata/taesupyoon.xcuserdatad/UserInterfaceState.xcuserstate index b10cd15..18cd936 100644 Binary files a/Example/SwiftyBootpay.xcworkspace/xcuserdata/taesupyoon.xcuserdatad/UserInterfaceState.xcuserstate and b/Example/SwiftyBootpay.xcworkspace/xcuserdata/taesupyoon.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Example/SwiftyBootpay.xcworkspace/xcuserdata/taesupyoon.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Example/SwiftyBootpay.xcworkspace/xcuserdata/taesupyoon.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 5ddd239..cc78213 100644 --- a/Example/SwiftyBootpay.xcworkspace/xcuserdata/taesupyoon.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/Example/SwiftyBootpay.xcworkspace/xcuserdata/taesupyoon.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -3,38 +3,4 @@ uuid = "BCCB1D3E-8F5F-4FE5-993A-91DA368724DF" type = "0" version = "2.0"> - - - - - - - - - - diff --git a/Example/SwiftyBootpay/Base.lproj/Main.storyboard b/Example/SwiftyBootpay/Base.lproj/Main.storyboard index ac96395..d57c585 100644 --- a/Example/SwiftyBootpay/Base.lproj/Main.storyboard +++ b/Example/SwiftyBootpay/Base.lproj/Main.storyboard @@ -1,11 +1,9 @@ - - - - + + - + @@ -14,7 +12,7 @@ - + diff --git a/Example/SwiftyBootpay/Info.plist b/Example/SwiftyBootpay/Info.plist index 36a1065..cf6f292 100644 --- a/Example/SwiftyBootpay/Info.plist +++ b/Example/SwiftyBootpay/Info.plist @@ -4,58 +4,58 @@ + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 - UIMainStoryboardFile - Main - CFBundleVersion - 1 - UILaunchStoryboardName - LaunchScreen - CFBundleExecutable - $(EXECUTABLE_NAME) - LSRequiresIPhoneOS - - CFBundleShortVersionString - 1.0 - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - CFBundleName $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? CFBundleURLTypes + CFBundleTypeRole + Editor CFBundleURLName kr.co.bootpaySample CFBundleURLSchemes bootpaysample - CFBundleTypeRole - Editor - CFBundleSignature - ???? - CFBundlePackageType - APPL + CFBundleVersion + 1 + LSRequiresIPhoneOS + + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSFaceIDUsageDescription 결제 진행시 권한이 필요합니다 - CFBundleDevelopmentRegion - en + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main UIRequiredDeviceCapabilities armv7 + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + diff --git a/Example/SwiftyBootpay/NativeBioController.swift b/Example/SwiftyBootpay/NativeBioController.swift index 162c38b..7ecc3e2 100644 --- a/Example/SwiftyBootpay/NativeBioController.swift +++ b/Example/SwiftyBootpay/NativeBioController.swift @@ -13,7 +13,8 @@ import Alamofire class NativeBioController: UIViewController { var payType = 1 //1:finter, 2:easy card - let unique_user_id = Bootpay.getUUID() // 실제값을 적용하실 때에는, 관리하시는 user_id를 입력해주세요. 고객별로 유니크해야하며, 다른 고객과 절대로 중복되어서는 안됩니다 + let unique_user_id = "1234" +// Bootpay.getUUID() // 실제값을 적용하실 때에는, 관리하시는 user_id를 입력해주세요. 고객별로 유니크해야하며, 다른 고객과 절대로 중복되어서는 안됩니다 override func viewDidLoad() { super.viewDidLoad() @@ -192,7 +193,7 @@ extension NativeBioController: BootpayRequestProtocol { // 결제완료시 호출 // 아이템 지급 등 데이터 동기화 로직을 수행합니다 func onDone(data: [String: Any]) { - print("onDone") + print("---- onDone \(data)") Bootpay.dismiss() } diff --git a/Example/SwiftyBootpay/NativeController.swift b/Example/SwiftyBootpay/NativeController.swift index 4621370..187642c 100644 --- a/Example/SwiftyBootpay/NativeController.swift +++ b/Example/SwiftyBootpay/NativeController.swift @@ -14,12 +14,16 @@ import Alamofire class NativeController: UIViewController { var payType = 1 // 1일경우 인앱결제, 2일경우 지문결제 var vc: BootpayController! + + let application_id = "5b8f6a4d396fa665fdc2b5e9" + override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = UIColor.white + setUI() sendAnaylticsUserLogin() // 유저 로그인 시점에 호출 @@ -104,14 +108,13 @@ class NativeController: UIViewController { } let payload = BootpayPayload() - // $0.application_id = "5a52cc39396fa6449880c0f0" // 주문정보 - 실제 결제창에 반영되는 정보 payload.params { $0.price = 1000 // 결제할 금액 $0.name = "블링\"블링's 마스카라" // 결제할 상품명 $0.order_id = "1234_1234_124" // 결제 고유번호 $0.params = customParams // 커스텀 변수 - $0.application_id = "5b8f6a4d396fa665fdc2b5e9" + $0.application_id = application_id // $0.user_info = bootUser $0.pg = "danal" // 결제할 PG사 // $0.account_expire_at = "2018-09-25" // 가상계좌 입금기간 제한 ( yyyy-mm-dd 포멧으로 입력해주세요. 가상계좌만 적용됩니다. 오늘 날짜보다 더 뒤(미래)여야 합니다 ) @@ -181,7 +184,7 @@ class NativeController: UIViewController { $0.name = "블링\"블링's 마스카라" // 결제할 상품명 $0.order_id = "1234_1234_124" // 결제 고유번호 $0.params = customParams // 커스텀 변수 - $0.application_id = "5b8f6a4d396fa665fdc2b5e9" + $0.application_id = application_id // $0.user_info = bootUser $0.pg = "payletter" // 결제할 PG사 // $0.account_expire_at = "2018-09-25" // 가상계좌 입금기간 제한 ( yyyy-mm-dd 포멧으로 입력해주세요. 가상계좌만 적용됩니다. 오늘 날짜보다 더 뒤(미래)여야 합니다 ) @@ -252,7 +255,7 @@ class NativeController: UIViewController { $0.name = "블링\"블링's 마스카라" // 결제할 상품명 $0.order_id = "1234_1234_124" // 결제 고유번호 $0.params = customParams // 커스텀 변수 - $0.application_id = "5b8f6a4d396fa665fdc2b5e9" + $0.application_id = application_id // $0.user_info = bootUser $0.pg = "danal" // 결제할 PG사 // $0.account_expire_at = "2018-09-25" // 가상계좌 입금기간 제한 ( yyyy-mm-dd 포멧으로 입력해주세요. 가상계좌만 적용됩니다. 오늘 날짜보다 더 뒤(미래)여야 합니다 ) @@ -362,24 +365,26 @@ extension NativeController { $0.name = "테스트's 마스카라" // 결제할 상품명 $0.order_id = "1234_1234_124" // 결제 고유번호 $0.params = customParams // 커스텀 변수 - $0.application_id = "5b8f6a4d396fa665fdc2b5e9" + $0.application_id = application_id + - $0.pg = BootpayPG.DANAL // 결제할 PG사 + $0.pg = BootpayPG.PAYAPP // 결제할 PG사 - $0.account_expire_at = "2020-10-28" // 가상계좌 입금기간 제한 ( yyyy-mm-dd 포멧으로 입력해주세요. 가상계좌만 적용됩니다. 오늘 날짜보다 더 뒤(미래)여야 합니다 ) + $0.account_expire_at = "2020-12-07" // 가상계좌 입금기간 제한 ( yyyy-mm-dd 포멧으로 입력해주세요. 가상계좌만 적용됩니다. 오늘 날짜보다 더 뒤(미래)여야 합니다 ) // $0.method = "card" // 결제수단 $0.show_agree_window = false // $0.methods = [Method.BANK, Method.CARD, Method.PHONE, Method.VBANK] -// $0.method = Method.CARD + $0.method = Method.NPAY $0.ux = UX.PG_DIALOG } let extra = BootpayExtra() - extra.popup = 1 + extra.popup = 1 //다날 정기결제의 경우 0 + extra.quick_popup = 1 //다날 정기결제의 경우 0 // extra.offer_period = "1년치" - extra.quick_popup = 1; + extra.quotas = [0, 1, 2, 3] // 5만원 이상일 경우 할부 허용범위 설정 가능, (예제는 일시불, 2개월 할부, 3개월 할부 허용) // extra.app_scheme = "test://"; // 페이레터와 같은 특정 PG사의 경우 :// 값을 붙여야 할 수도 있습니다. @@ -396,7 +401,8 @@ extension NativeController { items.append(item1) items.append(item2) - Bootpay.request(self, sendable: self, payload: payload, user: bootUser, items: items, extra: extra, addView: true) + extra.topMargin = 0.0 + Bootpay.request(self, sendable: self, payload: payload, user: bootUser, items: items, extra: extra, addView: false) } } @@ -434,7 +440,7 @@ extension NativeController: BootpayRequestProtocol { // 아이템 지급 등 데이터 동기화 로직을 수행합니다 func onDone(data: [String: Any]) { // print("onDone") - print("------------ done \(data)") + print("------------ done \(data)") } //결제창이 닫힐때 실행되는 부분 @@ -503,8 +509,7 @@ extension NativeController: BootpayRestProtocol { $0.name = "블링블링's 마스카라" // 결제할 상품명 // $0.phone $0.order_id = "1234_1234_124" // 결제 고유번호 -// $0.application_id = "5e0daa104f74b40024d23183" - $0.application_id = "5b8f6a4d396fa665fdc2b5e9" + $0.application_id = application_id $0.user_token = userToken // diff --git a/Images.xcassets/Contents.json b/Images.xcassets/Contents.json deleted file mode 100644 index da4a164..0000000 --- a/Images.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Images.xcassets/barcode.imageset/Contents.json b/Images.xcassets/barcode.imageset/Contents.json deleted file mode 100644 index e13366c..0000000 --- a/Images.xcassets/barcode.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "pay_barcode2.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "pay_barcode2-1.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "pay_barcode2-2.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/Images.xcassets/barcode.imageset/pay_barcode2-1.png b/Images.xcassets/barcode.imageset/pay_barcode2-1.png deleted file mode 100644 index 5b9296d..0000000 Binary files a/Images.xcassets/barcode.imageset/pay_barcode2-1.png and /dev/null differ diff --git a/Images.xcassets/barcode.imageset/pay_barcode2-2.png b/Images.xcassets/barcode.imageset/pay_barcode2-2.png deleted file mode 100644 index 5b9296d..0000000 Binary files a/Images.xcassets/barcode.imageset/pay_barcode2-2.png and /dev/null differ diff --git a/Images.xcassets/barcode.imageset/pay_barcode2.png b/Images.xcassets/barcode.imageset/pay_barcode2.png deleted file mode 100644 index 5b9296d..0000000 Binary files a/Images.xcassets/barcode.imageset/pay_barcode2.png and /dev/null differ diff --git a/NSObjectExtension.swift b/NSObjectExtension.swift deleted file mode 100755 index 9afe0bf..0000000 --- a/NSObjectExtension.swift +++ /dev/null @@ -1,46 +0,0 @@ -// -// AssociatedObjectExtension.swift -// BiometricAuthenticationExample -// -// Copyright (c) 2018 Rushi Sangani -// -// 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. -// - -import Foundation -import ObjectiveC.NSObjCRuntime - -/// NSObject associated object -public extension NSObject { - - /// keys - private struct AssociatedKeys { - static var descriptiveName = "associatedObject" - } - - /// set associated object - @objc func setAssociated(object: Any) { - objc_setAssociatedObject(self, &AssociatedKeys.descriptiveName, object, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC) - } - - /// get associated object - @objc func associatedObject() -> Any? { - return objc_getAssociatedObject(self, &AssociatedKeys.descriptiveName) - } -} diff --git a/SwiftyBootpay.podspec b/SwiftyBootpay.podspec index 2cf9b81..e656a4d 100644 --- a/SwiftyBootpay.podspec +++ b/SwiftyBootpay.podspec @@ -9,7 +9,7 @@ Pod::Spec.new do |s| s.name = 'SwiftyBootpay' - s.version = '3.3.6' + s.version = '3.4.3' s.summary = 'Bootpay PG Plugin For Swift' # This description is used to generate tags and improve search results. @@ -23,7 +23,7 @@ Pod::Spec.new do |s| # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' s.license = { :type => 'MIT', :file => 'LICENSE' } s.author = { 'bootpay' => 'bootpay.co.kr@gmail.com' } - s.source = { :git => 'https://github.com/bootpay/SwiftyBootpay.git', :tag => s.version.to_s } + s.source = { :git => 'https://github.com/bootpay/SwiftyBootpay.git', :tag => s.version.to_s, :branch => 'main' } # s.social_media_url = 'https://twitter.com/' @@ -36,10 +36,7 @@ Pod::Spec.new do |s| s.resource_bundles = { 'SwiftyBootpay' => ['SwiftyBootpay/*.xcassets'] } - - - # s.public_header_files = 'Pod/Classes/**/*.h' - + s.static_framework = true s.dependency 'CryptoSwift' s.dependency 'Alamofire', '~> 5.2.2' diff --git a/SwiftyBootpay/.DS_Store b/SwiftyBootpay/.DS_Store index 5502c83..8533ad9 100644 Binary files a/SwiftyBootpay/.DS_Store and b/SwiftyBootpay/.DS_Store differ diff --git a/SwiftyBootpay/Classes/.DS_Store b/SwiftyBootpay/Classes/.DS_Store index ad4ec27..2a76307 100644 Binary files a/SwiftyBootpay/Classes/.DS_Store and b/SwiftyBootpay/Classes/.DS_Store differ diff --git a/SwiftyBootpay/Classes/BiometricPay/BootpayAuthWebView.swift b/SwiftyBootpay/Classes/BiometricPay/BootpayAuthWebView.swift index 3528064..e741f12 100644 --- a/SwiftyBootpay/Classes/BiometricPay/BootpayAuthWebView.swift +++ b/SwiftyBootpay/Classes/BiometricPay/BootpayAuthWebView.swift @@ -48,6 +48,7 @@ import WebKit let configuration = WKWebViewConfiguration() configuration.userContentController.add(self, name: bridgeName) wv = WKWebView(frame: frame, configuration: configuration) +// wv. wv.uiDelegate = self wv.navigationDelegate = self self.addSubview(wv) @@ -83,8 +84,8 @@ extension BootpayAuthWebView { func registerAppId() { // let app_id = "5b8f6a4d396fa665fdc2b5e9" - let app_id = "5b9f51264457636ab9a07cdd" - doJavascript("window.BootPay.setApplicationId('\(app_id)');") +// let app_id = "5b9f51264457636ab9a07cdd" + doJavascript("window.BootPay.setApplicationId('\(Bootpay.sharedInstance.application_id)');") } func setDevelopMode() { diff --git a/SwiftyBootpay/Classes/BiometricPay/CardSelectView.swift b/SwiftyBootpay/Classes/BiometricPay/CardSelectView.swift index 98b8f6b..3f211fc 100644 --- a/SwiftyBootpay/Classes/BiometricPay/CardSelectView.swift +++ b/SwiftyBootpay/Classes/BiometricPay/CardSelectView.swift @@ -139,7 +139,7 @@ extension CardSelectView: UICollectionViewDataSource { extension CardSelectView: UICollectionViewDelegate { - private func scrollViewDidScroll(_ scrollView: UIScrollView) { + public func scrollViewDidScroll(_ scrollView: UIScrollView) { scalingCarousel.didScroll() } diff --git a/SwiftyBootpay/Classes/Bootpay.swift b/SwiftyBootpay/Classes/Bootpay.swift index 7739ab2..9444ce3 100644 --- a/SwiftyBootpay/Classes/Bootpay.swift +++ b/SwiftyBootpay/Classes/Bootpay.swift @@ -141,16 +141,16 @@ class BootpayDefault { - public static func request(_ viewController: UIViewController, sendable: BootpayRequestProtocol?, payload: BootpayPayload, user: BootpayUser? = nil, items: [BootpayItem]? = nil, extra: BootpayExtra? = nil, smsPayload: SMSPayload? = nil, remoteForm: RemoteOrderForm? = nil, remotePre: RemoteOrderPre? = nil, addView: Bool? = false, _ gameObject: String = "") { + public static func request(_ viewController: UIViewController, sendable: BootpayRequestProtocol?, payload: BootpayPayload, user: BootpayUser? = nil, items: [BootpayItem]? = nil, extra: BootpayExtra? = nil, smsPayload: SMSPayload? = nil, remoteForm: RemoteOrderForm? = nil, remotePre: RemoteOrderPre? = nil, addView: Bool? = false, _ gameObject: String = "", isModalButNoFullScreen: Bool? = false) { if(!checkValid(payload: payload, user: user, items: items, extra: extra, smsPayload: smsPayload, remoteForm: remoteForm, remotePre: remotePre)) { return } switch payload.ux { case UX.PG_DIALOG: - request_dialog(viewController, sendable: sendable, payload: payload, user: user, items: items, extra: extra, smsPayload: smsPayload, addView: addView) + request_dialog(viewController, sendable: sendable, payload: payload, user: user, items: items, extra: extra, smsPayload: smsPayload, addView: addView, isModalButNoFullScreen: isModalButNoFullScreen) case UX.PG_SUBSCRIPT: - request_dialog(viewController, sendable: sendable, payload: payload, user: user, items: items, extra: extra, smsPayload: smsPayload) + request_dialog(viewController, sendable: sendable, payload: payload, user: user, items: items, extra: extra, smsPayload: smsPayload, isModalButNoFullScreen: isModalButNoFullScreen) // case UX.BOOTPAY_REMOTE_LINK: // request_link(payload, items: items, user: user, extra: extra, smsPayload: smsPayload) // case UX.BOOTPAY_REMOTE_FORM: @@ -163,12 +163,14 @@ class BootpayDefault { } - private static func request_dialog(_ viewController: UIViewController, sendable: BootpayRequestProtocol?, payload: BootpayPayload, user: BootpayUser? = nil, items: [BootpayItem]? = nil, extra: BootpayExtra? = nil, smsPayload: SMSPayload? = nil, addView: Bool? = false, ux: String? = nil) { + private static func request_dialog(_ viewController: UIViewController, sendable: BootpayRequestProtocol?, payload: BootpayPayload, user: BootpayUser? = nil, items: [BootpayItem]? = nil, extra: BootpayExtra? = nil, smsPayload: SMSPayload? = nil, addView: Bool? = false, ux: String? = nil, isModalButNoFullScreen: Bool? = false) { sharedInstance.vc = BootpayController() sharedInstance.vc?.payload = payload if(payload.application_id.isEmpty) { sharedInstance.vc?.payload.application_id = sharedInstance.application_id } + + if let isModalButNoFullScreen = isModalButNoFullScreen { sharedInstance.vc?.isModalButNoFullScreen = isModalButNoFullScreen } if let user = user { sharedInstance.vc?.user = user } @@ -332,6 +334,7 @@ extension Bootpay { open func sessionActive(active: Bool) { if active == true { loadSessionValues() + vc?.didBecomeActive() } else { let currentTime = currentTimeInMiliseconds() self.last_time = currentTime @@ -376,9 +379,7 @@ extension Bootpay { guard let payload = BootpayPayload(JSONString: payload) else { return } guard let user = BootpayUser(JSONString: user) else { return } - - -// let items = BootpayUser(JSONString: user) + guard let extra = BootpayExtra(JSONString: extra) else { return } do { let items = try JSONDecoder().decode([BootpayItem].self, from: items.data(using: .utf8)!) diff --git a/SwiftyBootpay/Classes/BootpayController.swift b/SwiftyBootpay/Classes/BootpayController.swift index 01129ee..c3321bd 100644 --- a/SwiftyBootpay/Classes/BootpayController.swift +++ b/SwiftyBootpay/Classes/BootpayController.swift @@ -59,7 +59,8 @@ extension URL { @objc public var user = BootpayUser() @objc public var extra = BootpayExtra() @objc public var ux = "" - @objc public var items = [BootpayItem]() + @objc public var items = [BootpayItem]() + @objc public var isModalButNoFullScreen = false //팝업이긴 하지만 풀 스크린이 아닐 경우 var isPaying = false @objc public var sendable: BootpayRequestProtocol? @@ -71,6 +72,11 @@ extension URL { extension BootpayController: BootpayParams { + @objc(didBecomeActive) + public func didBecomeActive() { + wv.didBecomeActive() + } + @objc(transactionConfirm:) public func transactionConfirm(data: [String: Any]) { let json = Bootpay.dicToJsonString(data).replace(target: "'", withString: "\\'") @@ -106,7 +112,7 @@ extension BootpayController { var topPadding = CGFloat(0.0) var bottomPadding = CGFloat(0.0) var btnMarginTop = CGFloat(0.0) - if(extra.iosCloseButton) { + if(extra.ios_close_button) { btnMarginTop = 20.0 } @@ -115,18 +121,18 @@ extension BootpayController { topPadding = window?.safeAreaInsets.top ?? 0.0 bottomPadding = window?.safeAreaInsets.bottom ?? 0.0 } - - + if(isModalButNoFullScreen == true) { topPadding = CGFloat(0) } wv.frame = CGRect(x: 0, - y: topPadding + btnMarginTop, + y: topPadding + btnMarginTop + extra.topMargin, width: self.view.frame.width, - height: self.view.frame.height - topPadding - bottomPadding - btnMarginTop + height: self.view.frame.height - topPadding - bottomPadding - btnMarginTop - extra.topMargin ) let script = payload.generateScript(wv.bridgeName, items: items, user: user, extra: extra, isPasswordPay: false) + // 필요한 PG는 팝업으로 띄운다 var quick_popup = extra.quick_popup; if(quick_popup == -1 && payload.pg != "payapp" && payload.method == "card") { @@ -143,8 +149,8 @@ extension BootpayController { wv.parentController = self self.view.addSubview(wv) - if(extra.iosCloseButton) { - if(extra.iosCloseButtonView == nil) { + if(extra.ios_close_button) { + if(extra.ios_close_button_view == nil) { let close = UIButton() close.setTitle("X", for: .normal) close.addTarget(self, action: #selector(removePaymentWindow), for: .touchUpInside) @@ -152,9 +158,9 @@ extension BootpayController { close.setTitleColor(.darkGray, for: .normal) self.view.addSubview(close) } else { - extra.iosCloseButtonView!.addTarget(self, action: #selector(removePaymentWindow), for: .touchUpInside) - if(extra.iosCloseButtonView!.frame == CGRect.null) { extra.iosCloseButtonView!.frame = CGRect(x: self.view.frame.width - 40, y: topPadding, width: 40, height: 30) } - self.view.addSubview(extra.iosCloseButtonView!) + extra.ios_close_button_view!.addTarget(self, action: #selector(removePaymentWindow), for: .touchUpInside) + if(extra.ios_close_button_view!.frame == CGRect.null) { extra.ios_close_button_view!.frame = CGRect(x: self.view.frame.width - 40, y: topPadding, width: 40, height: 30) } + self.view.addSubview(extra.ios_close_button_view!) } } } diff --git a/SwiftyBootpay/Classes/BootpayWebView.swift b/SwiftyBootpay/Classes/BootpayWebView.swift index 90d940c..e9a5574 100644 --- a/SwiftyBootpay/Classes/BootpayWebView.swift +++ b/SwiftyBootpay/Classes/BootpayWebView.swift @@ -24,8 +24,9 @@ import WebKit var wv: WKWebView! let configuration = WKWebViewConfiguration() + var preUrl = "" - var popupWV: WKWebView! + var popupWV: WKWebView? final let BASE_URL = Bootpay.URL final let bridgeName = "Bootpay_iOS" var firstLoad = false @@ -50,6 +51,18 @@ import WebKit self.bootpayScript = script self.loadUrl(BASE_URL) } + + deinit { + if(wv != nil) { + wv.uiDelegate = nil + wv.navigationDelegate = self + } + if(popupWV != nil) { + wv.uiDelegate = nil + wv.navigationDelegate = self + } + + } } extension BootpayWebView { @@ -67,12 +80,34 @@ extension BootpayWebView { } } + func didBecomeActive() { + //네아로 로그인일 경우 요청 +// naversearchthirdlogin://access.naver.com?version=3&session=NkfmtANmdsIcnOBwGv4jm2TwpT98XfR1&callbackurl= + if(preUrl.starts(with: "naversearchthirdlogin://")) { + //방법1. 네아로 로그인을 부트페이가 중간에서 개입할 수 없기때문에, 중간에서 강제로 호출 + if let value = getQueryStringParameter(url: preUrl, param: "session") { + if let url = URL(string: "https://nid.naver.com/login/scheme.redirect?session=\(value)") { + self.popupWV?.load(URLRequest(url: url)) + } + } + + //방법2. 네아로 로그인을 부트페이가 중간에서 개입할 수 없기때문에, 대안으로 브라우저에 노출된 이벤트를 실행시킨다 +// self.popupWV?.evaluateJavaScript("document.getElementById('appschemeLogin_again').click()", completionHandler: nil) + } + } + + func getQueryStringParameter(url: String, param: String) -> String? { + guard let url = URLComponents(string: url) else { return nil } + return url.queryItems?.first(where: { $0.name == param })?.value + } + func startRequest(_ request: URLRequest) { wv.load(request) } - func registerAppId() { doJavascript("window.BootPay.setApplicationId('\(Bootpay.sharedInstance.application_id)');") + func registerAppId() { + doJavascript("window.BootPay.setApplicationId('\(Bootpay.sharedInstance.application_id)');") } func setDevelopMode() { @@ -106,6 +141,7 @@ extension BootpayWebView { internal func loadBootapyRequest() { print(self.bootpayScript) + doJavascript(self.bootpayScript) } } @@ -122,7 +158,6 @@ extension BootpayWebView: WKNavigationDelegate, WKUIDelegate, WKScriptMessageHan setAnalytics() if(quick_popup == 1) { - print("quick popup") wv.evaluateJavaScript("window.BootPay.startQuickPopup();") { (value, error) in self.loadBootapyRequest() } @@ -146,6 +181,8 @@ extension BootpayWebView: WKNavigationDelegate, WKUIDelegate, WKScriptMessageHan func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { if let url = navigationAction.request.url { + preUrl = url.absoluteString + if(isItunesURL(url.absoluteString)) { if #available(iOS 10, *) { UIApplication.shared.open(url, options: [:], completionHandler: nil) @@ -154,6 +191,7 @@ extension BootpayWebView: WKNavigationDelegate, WKUIDelegate, WKScriptMessageHan } decisionHandler(.cancel) } else if url.scheme != "http" && url.scheme != "https" { + if #available(iOS 10, *) { UIApplication.shared.open(url, options: [:], completionHandler: nil) } else { @@ -231,15 +269,15 @@ extension BootpayWebView: WKNavigationDelegate, WKUIDelegate, WKScriptMessageHan } func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? { -// let wv = WKWebView() - let wv = WKWebView(frame: self.bounds, configuration: configuration) + + let wv = WKWebView(frame: self.bounds, configuration: configuration) wv.load(navigationAction.request) wv.uiDelegate = self - wv.navigationDelegate = self + wv.navigationDelegate = self + popupWV = wv self.addSubview(wv) return wv } } - - + diff --git a/SwiftyBootpay/Classes/models/BootpayExtra.swift b/SwiftyBootpay/Classes/models/BootpayExtra.swift index fe774e1..343bb70 100644 --- a/SwiftyBootpay/Classes/models/BootpayExtra.swift +++ b/SwiftyBootpay/Classes/models/BootpayExtra.swift @@ -21,14 +21,15 @@ public class BootpayExtra: NSObject, BootpayParams, Mappable { @objc public var quick_popup = 1 //1: popup 호출시 버튼을 띄우지 않는다. 0: 일 경우 버튼을 호출한다 @objc public var disp_cash_result = "Y" // 현금영수증 보일지 말지.. 가상계좌 KCP 옵션 @objc public var escrow = 0 - @objc public var iosCloseButton = false - @objc public var iosCloseButtonView: UIButton? + @objc public var ios_close_button = false + @objc public var ios_close_button_view: UIButton? @objc public var onestore = BootpayOneStore() @objc public var theme = "purple" //통합 결제창 색상 지정 (purple, red, custom 지정 가능 ) @objc public var custom_background = "" //theme가 custom인 경우 배경 색 지정 가능 ( ex: #f2f2f2 ) @objc public var custom_font_color = "" //theme가 custom인 경우 폰트색 지정 가능 ( ex: #333333 ) + @objc public var topMargin:CGFloat = 0.0 public override init() {} public required init?(map: Map) { @@ -50,11 +51,12 @@ public class BootpayExtra: NSObject, BootpayParams, Mappable { disp_cash_result <- map["disp_cash_result"] escrow <- map["escrow"] onestore <- map["onestore"] - iosCloseButton <- map["iosCloseButton"] + ios_close_button <- map["ios_close_button"] theme <- map["theme"] custom_background <- map["custom_background"] custom_font_color <- map["custom_font_color"] + topMargin <- map["topMargin"] } public func getJson(pg: String) -> String { @@ -77,7 +79,9 @@ public class BootpayExtra: NSObject, BootpayParams, Mappable { "theme:'\(theme)',", "custom_background:'\(custom_background)',", "custom_font_color:'\(custom_font_color)',", - "iosCloseButton: \(iosCloseButton)", + "topMargin:'\(topMargin)',", + "ios_close_button: \(ios_close_button)", + ] if(pg == "onestore") { diff --git a/SwiftyBootpay/Classes/models/BootpayPG.swift b/SwiftyBootpay/Classes/models/BootpayPG.swift index 7794cfc..c805427 100644 --- a/SwiftyBootpay/Classes/models/BootpayPG.swift +++ b/SwiftyBootpay/Classes/models/BootpayPG.swift @@ -9,13 +9,14 @@ public struct PG { public static let KCP = "kcp" public static let DANAL = "danal" public static let INICIS = "inicis" + public static let UDPAY = "udpay" public static let NICEPAY = "nicepay" public static let LGUP = "lgup" public static let PAYAPP = "payapp" public static let KAKAO = "kakao" public static let PAYCO = "payco" - public static let KICC = "kicc" - public static let EASYPAY = "kicc" + public static let KICC = "easypay" + public static let EASYPAY = "easypay" public static let JTNET = "tpay" public static let TPAY = "tpay" public static let MOBILIANS = "mobilians" @@ -23,12 +24,14 @@ public struct PG { public static let BOOTPAY = "bootpay" public static let ONESTORE = "onestore" public static let WELCOME = "welcome" + public static let TOSS = "toss" } @objc public class BootpayPG: NSObject { @objc public static let KCP = PG.KCP @objc public static let DANAL = PG.DANAL @objc public static let INICIS = PG.INICIS + @objc public static let UDPAY = PG.UDPAY @objc public static let NICEPAY = PG.NICEPAY @objc public static let LGUP = PG.LGUP @objc public static let PAYAPP = PG.PAYAPP @@ -43,6 +46,7 @@ public struct PG { @objc public static let BOOTPAY = PG.BOOTPAY @objc public static let ONESTORE = PG.ONESTORE @objc public static let WELCOME = PG.WELCOME + @objc public static let TOSS = PG.TOSS } class PGName { @@ -54,10 +58,14 @@ class PGName { return "Danal" case PG.INICIS: return "KG 이니시스" + case PG.UDPAY: + return "유디페이" case PG.NICEPAY: return "NICEPAY" case PG.LGUP: return "토스페이먼츠" + case PG.TOSS: + return "토스페이먼츠" case PG.PAYAPP: return "페이앱" case PG.KICC: diff --git a/SwiftyBootpay/Classes/models/BootpayPayload.swift b/SwiftyBootpay/Classes/models/BootpayPayload.swift index d049773..7685052 100644 --- a/SwiftyBootpay/Classes/models/BootpayPayload.swift +++ b/SwiftyBootpay/Classes/models/BootpayPayload.swift @@ -191,6 +191,8 @@ public class BootpayPayload: NSObject, BootpayParams, Mappable { "}).done(function (data) {", "webkit.messageHandlers.\(bridgeName).postMessage(data);", "});"] + + return result.reduce("", +) } diff --git a/UIAlertControllerExtension.swift b/UIAlertControllerExtension.swift deleted file mode 100755 index 1f26b22..0000000 --- a/UIAlertControllerExtension.swift +++ /dev/null @@ -1,85 +0,0 @@ -// -// UIAlertControllerExtension.swift -// BiometricAuthenticationExample -// -// Copyright (c) 2018 Rushi Sangani -// -// 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. -// - -import Foundation -import UIKit - -let CancelTitle = "Cancel" -let OKTitle = "OK" -typealias AlertViewController = UIAlertController - -struct AlertAction { - - var title: String = "" - var type: UIAlertAction.Style? = .default - var enable: Bool? = true - var selected: Bool? = false - - init(title: String, type: UIAlertAction.Style? = .default, enable: Bool? = true, selected: Bool? = false) { - self.title = title - self.type = type - self.enable = enable - self.selected = selected - } -} - -extension UIViewController { - - // Show Alert or Action sheet - func getAlertViewController(type: UIAlertController.Style, with title: String?, message: String?, actions:[AlertAction], showCancel: Bool , actionHandler:@escaping ((_ title: String) -> ())) -> AlertViewController { - - let alertController = UIAlertController(title: title, message: message, preferredStyle: type) - - // items - var actionItems: [UIAlertAction] = [] - - // add actions - for (index, action) in actions.enumerated() { - - let actionButton = UIAlertAction(title: action.title, style: action.type!, handler: { (actionButton) in - actionHandler(actionButton.title ?? "") - }) - - actionButton.isEnabled = action.enable! - if type == .actionSheet { actionButton.setValue(action.selected, forKey: "checked") } - actionButton.setAssociated(object: index) - - actionItems.append(actionButton) - alertController.addAction(actionButton) - } - - // add cancel button - if showCancel { - let cancelAction = UIAlertAction(title: CancelTitle, style: .cancel, handler: { (action) in - actionHandler(action.title!) - }) - alertController.addAction(cancelAction) - } - return alertController - } -} - -extension UIAlertController { -} diff --git a/pay_barcode2.png b/pay_barcode2.png deleted file mode 100644 index 5b9296d..0000000 Binary files a/pay_barcode2.png and /dev/null differ