diff --git a/.gitignore b/.gitignore index 44bdee6..9af4456 100644 --- a/.gitignore +++ b/.gitignore @@ -80,3 +80,5 @@ lib/ # typedoc docs/ + +example/android/app/release/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c2eb58c..a5c6ab8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,9 +23,9 @@ The [example app](/example/) demonstrates usage of the library. You need to run It is configured to use the local version of the library, so any changes you make to the library's source code will be reflected in the example app. Changes to the library's JavaScript code will be reflected in the example app without a rebuild, but native code changes will require a rebuild of the example app. -If you want to use Android Studio or XCode to edit the native code, you can open the `example/android` or `example/ios` directories respectively in those editors. To edit the Objective-C or Swift files, open `example/ios/WalletSdkExample.xcworkspace` in XCode and find the source files at `Pods > Development Pods > react-native-wallet-sdk`. +If you want to use Android Studio or XCode to edit the native code, you can open the `example/android` or `example/ios` directories respectively in those editors. To edit the Objective-C or Swift files, open `example/ios/MobileSdkExample.xcworkspace` in XCode and find the source files at `Pods > Development Pods > react-native-mobile-sdk`. -To edit the Java or Kotlin files, open `example/android` in Android studio and find the source files at `react-native-wallet-sdk` under `Android`. +To edit the Java or Kotlin files, open `example/android` in Android studio and find the source files at `react-native-mobile-sdk` under `Android`. You can use various commands from the root directory to work with the project. @@ -71,7 +71,7 @@ yarn clean To confirm that the app is running with the new architecture, you can check the Metro logs for a message like this: ```sh -Running "WalletSdkExample" with {"fabric":true,"initialProps":{"concurrentRoot":true},"rootTag":1} +Running "MobileSdkExample" with {"fabric":true,"initialProps":{"concurrentRoot":true},"rootTag":1} ``` Note the `"fabric":true` and `"concurrentRoot":true` properties. diff --git a/README.md b/README.md index 94dfb19..ad2493e 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -[](https://www.npmjs.com/package/@spruceid/react-native-wallet-sdk) -[](https://spruceid.github.io/wallet-sdk-react/) +[](https://www.npmjs.com/package/@spruceid/react-native-mobile-sdk) +[](https://spruceid.github.io/mobile-sdk-react/) -# SpruceID Wallet SDK for React Native +# SpruceID Mobile SDK for React Native ## Maturity Disclaimer -In its current version, Wallet SDK has not yet undergone a formal security audit +In its current version, Mobile SDK has not yet undergone a formal security audit to desired levels of confidence for suitable use in production systems. This implementation is currently suitable for exploratory work and experimentation only. We welcome feedback on the usability, architecture, and security of this @@ -15,7 +15,7 @@ security firm before the v1.0 release. ## Installation ```sh -npm install @spruceid/react-native-wallet-sdk +npm install @spruceid/react-native-mobile-sdk ``` ### iOS @@ -54,23 +54,23 @@ await PermissionsAndroid.requestMultiple([ ## Usage ```js -import { createMdocFromCbor } from '@spruceid/react-native-wallet-sdk'; +import { createMdocFromCbor } from '@spruceid/react-native-mobile-sdk'; // ... const mdoc = await createMdocFromCbor(mdocCborBase64); ``` -For more, see [the documentation](https://spruceid.github.io/wallet-sdk-react/). +For more, see [the documentation](https://spruceid.github.io/mobile-sdk-react/). ## Contributing -See the [contributing guide](https://github.com/spruceid/wallet-sdk-react/blob/main/CONTRIBUTING.md) +See the [contributing guide](https://github.com/spruceid/mobile-sdk-react/blob/main/CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow. ## Architecture -Our Wallet SDKs use shared code, with most of the logic being written once in +Our Mobile SDKs use shared code, with most of the logic being written once in Rust, and when not possible, native APIs (e.g. Bluetooth, OS Keychain) are called in native SDKs. @@ -89,6 +89,6 @@ called in native SDKs. │Rust│ └────┘ ``` -- [Kotlin SDK](https://github.com/spruceid/wallet-sdk-kt) -- [Swift SDK](https://github.com/spruceid/wallet-sdk-swift) -- [Rust layer](https://github.com/spruceid/wallet-sdk-rs) +- [Kotlin SDK](https://github.com/spruceid/mobile-sdk-kt) +- [Swift SDK](https://github.com/spruceid/mobile-sdk-swift) +- [Rust layer](https://github.com/spruceid/mobile-sdk-rs) diff --git a/android/build.gradle b/android/build.gradle index 4cc961d..f235ebb 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,6 +1,6 @@ buildscript { // Buildscript is evaluated before everything else so we can't use getExtOrDefault - def kotlin_version = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["WalletSdk_kotlinVersion"] + def kotlin_version = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["MobileSdk_kotlinVersion"] repositories { google() @@ -26,11 +26,11 @@ if (isNewArchitectureEnabled()) { } def getExtOrDefault(name) { - return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["WalletSdk_" + name] + return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["MobileSdk_" + name] } def getExtOrIntegerDefault(name) { - return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["WalletSdk_" + name]).toInteger() + return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["MobileSdk_" + name]).toInteger() } def supportsNamespace() { @@ -44,7 +44,7 @@ def supportsNamespace() { android { if (supportsNamespace()) { - namespace "com.walletsdk" + namespace "com.mobilesdk" sourceSets { main { @@ -109,13 +109,13 @@ dependencies { //noinspection GradleDynamicVersion implementation "com.facebook.react:react-android:+" implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - implementation 'com.spruceid.wallet.sdk:walletsdk:0.0.6' + implementation 'com.spruceid.mobile.sdk:mobilesdk:0.0.10' } if (isNewArchitectureEnabled()) { react { jsRootDir = file("../src/") - libraryName = "WalletSdk" - codegenJavaPackageName = "com.walletsdk" + libraryName = "MobileSdk" + codegenJavaPackageName = "com.mobilesdk" } } diff --git a/android/gradle.properties b/android/gradle.properties index d08673a..8643c59 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ -WalletSdk_kotlinVersion=1.7.0 -WalletSdk_minSdkVersion=26 -WalletSdk_targetSdkVersion=31 -WalletSdk_compileSdkVersion=31 -WalletSdk_ndkversion=21.4.7075529 +MobileSdk_kotlinVersion=1.7.0 +MobileSdk_minSdkVersion=26 +MobileSdk_targetSdkVersion=31 +MobileSdk_compileSdkVersion=31 +MobileSdk_ndkversion=21.4.7075529 diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index bdc6f2b..c557285 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,4 +1,4 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.walletsdk"> + package="com.mobilesdk"> </manifest> diff --git a/android/src/main/java/com/walletsdk/WalletSdkActivity.kt b/android/src/main/java/com/mobilesdk/MobileSdkActivity.kt similarity index 86% rename from android/src/main/java/com/walletsdk/WalletSdkActivity.kt rename to android/src/main/java/com/mobilesdk/MobileSdkActivity.kt index bdbd717..f9b4d41 100644 --- a/android/src/main/java/com/walletsdk/WalletSdkActivity.kt +++ b/android/src/main/java/com/mobilesdk/MobileSdkActivity.kt @@ -1,10 +1,10 @@ -package com.walletsdk +package com.mobilesdk import android.os.Bundle import androidx.annotation.CallSuper import androidx.lifecycle.ViewModelProvider import com.facebook.react.ReactActivity -import com.spruceid.wallet.sdk.CredentialsViewModel +import com.spruceid.mobile.sdk.CredentialsViewModel /** diff --git a/android/src/main/java/com/walletsdk/WalletSdkModule.kt b/android/src/main/java/com/mobilesdk/MobileSdkModule.kt similarity index 90% rename from android/src/main/java/com/walletsdk/WalletSdkModule.kt rename to android/src/main/java/com/mobilesdk/MobileSdkModule.kt index 62e34a4..c6b4ff4 100644 --- a/android/src/main/java/com/walletsdk/WalletSdkModule.kt +++ b/android/src/main/java/com/mobilesdk/MobileSdkModule.kt @@ -1,4 +1,4 @@ -package com.walletsdk +package com.mobilesdk import android.util.Log import com.facebook.react.bridge.Promise @@ -10,12 +10,12 @@ import com.facebook.react.bridge.WritableArray import com.facebook.react.bridge.WritableMap import com.facebook.react.bridge.WritableNativeArray import com.facebook.react.bridge.WritableNativeMap -import com.spruceid.wallet.sdk.BLESessionManager -import com.spruceid.wallet.sdk.BLESessionStateDelegate -import com.spruceid.wallet.sdk.CredentialsViewModel -import com.spruceid.wallet.sdk.MDoc -import com.spruceid.wallet.sdk.getBluetoothManager -import com.spruceid.wallet.sdk.rs.ItemsRequest +import com.spruceid.mobile.sdk.BLESessionManager +import com.spruceid.mobile.sdk.BLESessionStateDelegate +import com.spruceid.mobile.sdk.CredentialsViewModel +import com.spruceid.mobile.sdk.MDoc +import com.spruceid.mobile.sdk.getBluetoothManager +import com.spruceid.mobile.sdk.rs.ItemsRequest import java.security.KeyFactory import java.security.KeyStore import java.security.cert.Certificate @@ -24,7 +24,7 @@ import java.security.spec.PKCS8EncodedKeySpec class BleStateCallback(private val context: ReactApplicationContext) : BLESessionStateDelegate() { override fun update(state: Map<String, Any>) { - Log.i("WalletSdk", state.toString()) + Log.i("MobileSdk", state.toString()) val eventName = state.keys.first() var emitEvent = "" val eventValue: WritableMap = WritableNativeMap() @@ -87,13 +87,13 @@ class BleStateCallback(private val context: ReactApplicationContext) : BLESessio emitEvent = "onBleSessionSuccess" } } - Log.i("WalletSdkModule.BleStateCallback.update", "event: { $emitEvent: $eventValue }") + Log.i("MobileSdkModule.BleStateCallback.update", "event: { $emitEvent: $eventValue }") context.emitDeviceEvent(emitEvent, eventValue) } } -class WalletSdkModule internal constructor(context: ReactApplicationContext) : - WalletSdkSpec(context) { +class MobileSdkModule internal constructor(context: ReactApplicationContext) : + MobileSdkSpec(context) { private var bleSessionManager: BLESessionManager? = null @@ -155,7 +155,7 @@ class WalletSdkModule internal constructor(context: ReactApplicationContext) : android.util.Base64.decode(cborMdoc.toByteArray(), android.util.Base64.DEFAULT), "mdoc_key" ) - viewModel.storeCredental(mdoc) + viewModel.storeCredential(mdoc) val eventValue: WritableMap = WritableNativeMap() eventValue.putString("id", mdoc.inner.id()) @@ -177,13 +177,13 @@ class WalletSdkModule internal constructor(context: ReactApplicationContext) : promise: Promise ) { val context = this.reactApplicationContext - Log.i("WalletSdk", "ble session start present mdoc") + Log.i("MobileSdk", "ble session start present mdoc") this.bleSessionManager = BLESessionManager( viewModel.credentials.value.first() as MDoc, getBluetoothManager(this.reactApplicationContext)!!, BleStateCallback(context) ) - Log.i("WalletSdk", "ble manager created") + Log.i("MobileSdk", "ble manager created") promise.resolve(null) } @@ -223,6 +223,6 @@ class WalletSdkModule internal constructor(context: ReactApplicationContext) : } companion object { - const val NAME = "WalletSdk" + const val NAME = "MobileSdk" } } diff --git a/android/src/main/java/com/walletsdk/WalletSdkPackage.kt b/android/src/main/java/com/mobilesdk/MobileSdkPackage.kt similarity index 76% rename from android/src/main/java/com/walletsdk/WalletSdkPackage.kt rename to android/src/main/java/com/mobilesdk/MobileSdkPackage.kt index 9bd12ca..7eaa6d5 100644 --- a/android/src/main/java/com/walletsdk/WalletSdkPackage.kt +++ b/android/src/main/java/com/mobilesdk/MobileSdkPackage.kt @@ -1,4 +1,4 @@ -package com.walletsdk +package com.mobilesdk import com.facebook.react.TurboReactPackage import com.facebook.react.bridge.ReactApplicationContext @@ -7,10 +7,10 @@ import com.facebook.react.module.model.ReactModuleInfoProvider import com.facebook.react.module.model.ReactModuleInfo import java.util.HashMap -class WalletSdkPackage : TurboReactPackage() { +class MobileSdkPackage : TurboReactPackage() { override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? { - return if (name == WalletSdkModule.NAME) { - WalletSdkModule(reactContext) + return if (name == MobileSdkModule.NAME) { + MobileSdkModule(reactContext) } else { null } @@ -20,9 +20,9 @@ class WalletSdkPackage : TurboReactPackage() { return ReactModuleInfoProvider { val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap() val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED - moduleInfos[WalletSdkModule.NAME] = ReactModuleInfo( - WalletSdkModule.NAME, - WalletSdkModule.NAME, + moduleInfos[MobileSdkModule.NAME] = ReactModuleInfo( + MobileSdkModule.NAME, + MobileSdkModule.NAME, false, // canOverrideExistingModule false, // needsEagerInit true, // hasConstants diff --git a/android/src/newarch/MobileSdkSpec.kt b/android/src/newarch/MobileSdkSpec.kt new file mode 100644 index 0000000..174212c --- /dev/null +++ b/android/src/newarch/MobileSdkSpec.kt @@ -0,0 +1,7 @@ +package com.mobilesdk + +import com.facebook.react.bridge.ReactApplicationContext + +abstract class MobileSdkSpec internal constructor(context: ReactApplicationContext) : + NativeMobileSdkSpec(context) { +} diff --git a/android/src/newarch/WalletSdkSpec.kt b/android/src/newarch/WalletSdkSpec.kt deleted file mode 100644 index dc31134..0000000 --- a/android/src/newarch/WalletSdkSpec.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.walletsdk - -import com.facebook.react.bridge.ReactApplicationContext - -abstract class WalletSdkSpec internal constructor(context: ReactApplicationContext) : - NativeWalletSdkSpec(context) { -} diff --git a/android/src/oldarch/WalletSdkSpec.kt b/android/src/oldarch/MobileSdkSpec.kt similarity index 91% rename from android/src/oldarch/WalletSdkSpec.kt rename to android/src/oldarch/MobileSdkSpec.kt index cd657d5..3f76a5f 100644 --- a/android/src/oldarch/WalletSdkSpec.kt +++ b/android/src/oldarch/MobileSdkSpec.kt @@ -1,11 +1,11 @@ -package com.walletsdk +package com.mobilesdk import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReadableArray -abstract class WalletSdkSpec internal constructor(context: ReactApplicationContext) : +abstract class MobileSdkSpec internal constructor(context: ReactApplicationContext) : ReactContextBaseJavaModule(context) { abstract fun createSoftPrivateKeyFromPKCS8PEM(_algo: String, key: String, cert: String, promise: Promise) diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 9c183ee..562c083 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -74,9 +74,9 @@ android { buildToolsVersion rootProject.ext.buildToolsVersion compileSdk rootProject.ext.compileSdkVersion - namespace "com.walletsdkexample" + namespace "com.mobilesdkexample" defaultConfig { - applicationId "com.walletsdkexample" + applicationId "com.mobilesdkexample" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 diff --git a/example/android/app/src/main/java/com/walletsdkexample/MainActivity.kt b/example/android/app/src/main/java/com/mobilesdkexample/MainActivity.kt similarity index 89% rename from example/android/app/src/main/java/com/walletsdkexample/MainActivity.kt rename to example/android/app/src/main/java/com/mobilesdkexample/MainActivity.kt index f093fe2..669d5d1 100644 --- a/example/android/app/src/main/java/com/walletsdkexample/MainActivity.kt +++ b/example/android/app/src/main/java/com/mobilesdkexample/MainActivity.kt @@ -1,4 +1,4 @@ -package com.walletsdkexample +package com.mobilesdkexample import com.facebook.react.ReactActivity import com.facebook.react.ReactActivityDelegate @@ -11,7 +11,7 @@ class MainActivity : ReactActivity() { * Returns the name of the main component registered from JavaScript. This is used to schedule * rendering of the component. */ - override fun getMainComponentName(): String = "WalletSdkExample" + override fun getMainComponentName(): String = "MobileSdkExample" /** * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] diff --git a/example/android/app/src/main/java/com/walletsdkexample/MainApplication.kt b/example/android/app/src/main/java/com/mobilesdkexample/MainApplication.kt similarity index 98% rename from example/android/app/src/main/java/com/walletsdkexample/MainApplication.kt rename to example/android/app/src/main/java/com/mobilesdkexample/MainApplication.kt index 86f74c4..2479b40 100644 --- a/example/android/app/src/main/java/com/walletsdkexample/MainApplication.kt +++ b/example/android/app/src/main/java/com/mobilesdkexample/MainApplication.kt @@ -1,4 +1,4 @@ -package com.walletsdkexample +package com.mobilesdkexample import android.app.Application import com.facebook.react.PackageList diff --git a/example/android/app/src/main/res/values/strings.xml b/example/android/app/src/main/res/values/strings.xml index 9787c82..be736bd 100644 --- a/example/android/app/src/main/res/values/strings.xml +++ b/example/android/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ <resources> - <string name="app_name">WalletSdkExample</string> + <string name="app_name">MobileSdkExample</string> </resources> diff --git a/example/android/settings.gradle b/example/android/settings.gradle index aee0eec..1be8b61 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -1,4 +1,4 @@ -rootProject.name = 'WalletSdkExample' +rootProject.name = 'MobileSdkExample' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) include ':app' includeBuild('../node_modules/@react-native/gradle-plugin') diff --git a/example/app.json b/example/app.json index 2b17b97..7149837 100644 --- a/example/app.json +++ b/example/app.json @@ -1,4 +1,4 @@ { - "name": "WalletSdkExample", - "displayName": "WalletSdkExample" + "name": "MobileSdkExample", + "displayName": "MobileSdkExample" } diff --git a/example/index.js b/example/index.js index ce7c8ba..7449183 100644 --- a/example/index.js +++ b/example/index.js @@ -1,7 +1,7 @@ import { AppRegistry } from 'react-native'; import App from './src/App'; import { name as appName } from './app.json'; -import { createMdocFromCbor, createSoftPrivateKeyFromPKCS8PEM } from '@spruceid/react-native-wallet-sdk'; +import { createMdocFromCbor, createSoftPrivateKeyFromPKCS8PEM } from '@spruceid/react-native-mobile-sdk'; const cborMdoc = "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KE6XcWVsZW1lbnRJZGVudGlmaWVybmFnZV9iaXJ0aF95ZWFybGVsZW1lbnRWYWx1ZRkHvGxhZ2VfaW5feWVhcnPYGFhVpGhkaWdlc3RJRBo3hWZoZnJhbmRvbVDqq0uCQBm6aa/463qpJspVcWVsZW1lbnRJZGVudGlmaWVybGFnZV9pbl95ZWFyc2xlbGVtZW50VmFsdWUYK2thZ2Vfb3Zlcl8xONgYWFOkaGRpZ2VzdElEGnI7vZhmcmFuZG9tUGefbRon9YzVHQpgmIZ2mplxZWxlbWVudElkZW50aWZpZXJrYWdlX292ZXJfMThsZWxlbWVudFZhbHVl9WthZ2Vfb3Zlcl8yMdgYWFOkaGRpZ2VzdElEGleK9b1mcmFuZG9tUExp3dt0f44qjJxxRQLGWzpxZWxlbWVudElkZW50aWZpZXJrYWdlX292ZXJfMjFsZWxlbWVudFZhbHVl9WpiaXJ0aF9kYXRl2BhYX6RoZGlnZXN0SUQaLBOdsGZyYW5kb21QVz0GoxUklUmT30GU9txUY3FlbGVtZW50SWRlbnRpZmllcmpiaXJ0aF9kYXRlbGVsZW1lbnRWYWx1ZdkD7GoxOTgwLTAxLTAxa2JpcnRoX3BsYWNl2BhYWaRoZGlnZXN0SUQaKV6njWZyYW5kb21Qi+9Sh1gkRPgxDzEsrEY9zXFlbGVtZW50SWRlbnRpZmllcmtiaXJ0aF9wbGFjZWxlbGVtZW50VmFsdWVmQ2FuYWRhb2RvY3VtZW50X251bWJlctgYWGGkaGRpZ2VzdElEGm2O8rpmcmFuZG9tUFMSX9jBRWvyQdezGW78UY9xZWxlbWVudElkZW50aWZpZXJvZG9jdW1lbnRfbnVtYmVybGVsZW1lbnRWYWx1ZWpETDEyMzQ1Njc4cmRyaXZpbmdfcHJpdmlsZWdlc9gYWPKkaGRpZ2VzdElEGi3CMHZmcmFuZG9tUNvrB3TODIMVOx6t4uJpDtNxZWxlbWVudElkZW50aWZpZXJyZHJpdmluZ19wcml2aWxlZ2VzbGVsZW1lbnRWYWx1ZYKjamlzc3VlX2RhdGXZA+xqMjAyMC0wMS0wMWtleHBpcnlfZGF0ZdkD7GoyMDMwLTAxLTAxdXZlaGljbGVfY2F0ZWdvcnlfY29kZWFBo2ppc3N1ZV9kYXRl2QPsajIwMjAtMDEtMDFrZXhwaXJ5X2RhdGXZA+xqMjAzMC0wMS0wMXV2ZWhpY2xlX2NhdGVnb3J5X2NvZGVhQmtleHBpcnlfZGF0ZdgYWGCkaGRpZ2VzdElEGimIb3xmcmFuZG9tULC2qBSjk3TJ3ohs4rygYdRxZWxlbWVudElkZW50aWZpZXJrZXhwaXJ5X2RhdGVsZWxlbWVudFZhbHVl2QPsajIwMzAtMDEtMDFqZXllX2NvbG91ctgYWFekaGRpZ2VzdElEGho9OUJmcmFuZG9tUHMigZShVg3/s3BnA7fDqoZxZWxlbWVudElkZW50aWZpZXJqZXllX2NvbG91cmxlbGVtZW50VmFsdWVlaGF6ZWxrZmFtaWx5X25hbWXYGFhYpGhkaWdlc3RJRBpAs/G2ZnJhbmRvbVBWffuYFBcyqDonzjvyossxcWVsZW1lbnRJZGVudGlmaWVya2ZhbWlseV9uYW1lbGVsZW1lbnRWYWx1ZWVTbWl0aGpnaXZlbl9uYW1l2BhYV6RoZGlnZXN0SUQaDKhaAmZyYW5kb21Qna8fI3T4YGjjd0RGmN4E5nFlbGVtZW50SWRlbnRpZmllcmpnaXZlbl9uYW1lbGVsZW1lbnRWYWx1ZWVBbGljZWtoYWlyX2NvbG91ctgYWFakaGRpZ2VzdElEGm1JzatmcmFuZG9tULCkg4cOxQdSxF+7KLxOt8ZxZWxlbWVudElkZW50aWZpZXJraGFpcl9jb2xvdXJsZWxlbWVudFZhbHVlY3JlZGZoZWlnaHTYGFhPpGhkaWdlc3RJRBo/3ukyZnJhbmRvbVBE55Wb+pt1QpTRrHrbSE6HcWVsZW1lbnRJZGVudGlmaWVyZmhlaWdodGxlbGVtZW50VmFsdWUYqmppc3N1ZV9kYXRl2BhYX6RoZGlnZXN0SUQaIVjWkWZyYW5kb21QpV0yTT7a5ZTaT8Hy8Sgi7nFlbGVtZW50SWRlbnRpZmllcmppc3N1ZV9kYXRlbGVsZW1lbnRWYWx1ZdkD7GoyMDIwLTAxLTAxcWlzc3VpbmdfYXV0aG9yaXR52BhYX6RoZGlnZXN0SUQad3LQl2ZyYW5kb21Qg38/VA9whMkXHjwSyg5vO3FlbGVtZW50SWRlbnRpZmllcnFpc3N1aW5nX2F1dGhvcml0eWxlbGVtZW50VmFsdWVmTlkgRE1Wb2lzc3VpbmdfY291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opaKAEopaSgAooooAKKKWgAooooAKKKKACiiigAoopKAFopKWgAooooASilooASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlooASilooASilooASilpKACiiigAooooAKKKKACiikoAWikpaACiiigAooooAKKKKACiiloASilpKACiiigAooooAKKKKACiiigApKWkoAKKKWgAooooAKKKKACiiigAooooASilpKACiiigAooooAKKKWgAooooAKKKKACiiigAooooAKKKKACiiigAoopKACiiigAooooGFFFFABRRRQAUUUUAFFFFAgooooGFFFFABS0lFABRRRTAKKKKACiiloASilpKACiiigAooooAKKKKACiiigAooooAKWkpaACiiigAooooAKSlooASiiigAooooAKKKKAFpKKKACiiigAooooAKKKKBH//TvYpMUuaM1IxMUmKdkUvFADKWncUlABRRRQAuTRuNFJQA4MaXdTMUYoAfvp2+osUUATB6dvqvRQBZ30u+q2aM0AWt9LvqrmjcaQFvfS7qqbjS76ALW6lzVXfTg9AFnNGag30u+gCfNFQ76XfQBLRUe6l3CgB9LUe6l3UAOpaZmlzQA6im5pc0ALRSZpaACiiigAooooAKKKKACiiigAooooAKSlpKACiiigAooooAKKKKACiiigAooooAKKKKACilooASiiloASloooASiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKACilpKACiiigAooooAKSlooASloooAKKKKACiiigAoopaACiiigApKWkoAKKKKACiiigAooooAKKKKACkpaKAEpaKKACiiigAooooAKKKKYBRRRQAUUUUAJRRRSAKKWigBKWiigAooooAKKKKACiiigAooooAKKKKACiiigApKWigBKKWigBKKWigYlFFFABRRRQAUUUUAFFFFAgooooAKKKKBhRRRQAUUUUwCiiigBaKSloAKKKKBCUUUUDCiiigApaSloASiiigAooooAKKKKAFopKWgAooooAKKKKACkpaSgAooooAKKKKACilpKACiiigAooooAKKKKBH/9TR2Um2rWBSbRUjK22k21Z2ik20AV8GjBqxtpNtAEHNFTbKTbQBFRUu2m7aAGUU/bSbaAG0lP20mKAG0UuDRzQAlFLzRQAlFLRQAlFLS0ANopaKADJpc0lJQA7dS7qZS0AO3Uu6mUlAEu+l31DS0AT76XfVelzSAsb6XfVbNLuoAs76XdVbdS7qALG6l3VW3Uu+gCzuo3VX30b6ALO6jNV99LvoAsZozUG+l3UATUvFQ7qXNAElFR7qXdQA+lpmaXNADqSjNGaAClpM0ZoAWkozS0AJRS0UAJRS0UAJS0UUAFFFFABSUUUAFFFLQAlFLSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRS0AFFFFABRRSUALRSUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUwCiiigAooooAKKKKACiiikAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUUtACUUUtACUUUUAFFFFABRRRTAKKKKBhRS0UAJRS0UAJS0UUCCkpaKAEopaKBiUUtFACUtJS0AFJRRQAUUUUCCiiigApaSigYtFFFABRRRQAUUUUAFFFFABRRRQAUUUlABRRRQAUUUUAFFFFAj//1dqikoqRi0UUUAFFFFABRRSUAGKMUUUAGBSYpaKAG7aNtOooAZto20+igCLbSbKmpKAIttJtqbFGKAIdtGKmwKTFAEWKTFS4o20AQ4oxU22k20AQ0VLtpNtAEdFP20baAGUU/bSYoAbRTsUmKAEopeaOaAEopaSgAooooAKM0UcUALmjNJRQAu40u402igB2407fUdFAEu+jfUVFAE2+l31BRQBY8yl31WzS5oAsb6XfVbNG6gC3uFLuFVN1LuoAt7qXdVTfS76ALW6lzVYPS76QFijNQb6XfQBNmlqLdRuoAloqPdS7qAH0U3NGaAHUlJmlyKAFpKM0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUtJQAUUUUAFFLRQAlFLSUAFFFFABRRRQAUUUUAFFFLQAlLRRQAUUUUAJRS0UAJRS0UAFJS0UAJRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUwCiiigAooooAKKKKACiiigAooopAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAlLRRTASilpKACiiigAooooAKWiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEopaKAEopaKACiiigAoopKBi0UlLQAUUUUAFFFFABRRRQAUUUUAJRRRQAUUUUAFFFFAj//1tmiilqRhRRRQAUUUUAJRS0UAJRS0lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UlFAC0lFFABRilooATAoxRS0ANxRtp1FAEe2jbUlFAEW2jbUlLigCLbTdtTYoxQBBto21PgUm2gCDbSYqfbRtoAgxRU22k20ARUlS7aNtAEVFSbaTbQAyinbaTFADaKdikxQAlFHNFABRRRQAUUUUAFLSUvFABRmikoAXJpd1NoxQA7eaXeaZRigCTfR5hqLFJQBY8yl8yq1FAFrzBS76q0bjQBb304PVPcaXcaALm6l3VTDmnB6ALe6jdVbfS76ALOaM1X307fQBNmlzUO+l3UgJc0VHupd1AD6KbuozQA6ikzRmgBaKTNLQAUUUUDCkpaKAEopaKBCUUtFACUUtJQAtJRRQAUUUUAFFFFABRRRQAtJRRQAUtJS0AFJS0lABS0lFAC0UlFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFMAooooAKKKKACiiigAooooAKKKKACiiigAooooGFFFFIAooooEFFFFABRRRQAUUUUwCiiikAUUUUAFFFFABRRRQAUUUUAFJS0lMAooooAKWiigAooooAKKKKACiiigAooooAKKKKACiiigApKWigAooooAKKKKACiiigAooooAKKKKACkpaKAEopaSgYUUUUALRSUtABRRRQAUUUUAFJS0lABRRRQAUUUUCP/9faoooqRhRRRQAUUUUAFFFFABSUtFACUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUtJQAUUUtACUUtFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSUALRSUUAFFFFACYoxS0UANxRtp1FADNtJtqWigCHbSFKnpMUAQbKNtT4oxQBX20m2rG0Um2gCDbSYqfbRtoAr4NHNT7aNtAEHNLUu2k20ARUVJspNtADM0U7bSbaYCUmKdikxQAmKKMGjmgApKWigAooo4pAFLmkpaADJpdxpKKAHbjS7zTKSgCTeaXfUVFAE++l31Xpc0AWN9LvqvmjNAFnfS76q7qXdQBa30u6qu6l30AWt1Lmqu+l30AWc0uarb6XfSAsZoqDfS76AJqWot1G+gCWio91LuoAfRTdwozQA6kozRmgAoozRmgBaKSloAKKKKACkpaKAEopaKACiiigBKKWigBKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiimAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUDCiiikAUUUUAFFFFAgooooAKKKKYBRRRSAKKKKACiiigAooooAKKKKACiiigAooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAJS0UUDCiiigAooooAKSlooASiiigAooooEf/Q26SilqRhRRRQAUlLRQAlFFFABRRRQAUlLSUAFFFFABRRRQAUUUUAFFFFABS0UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFJS0AFJS0lABRRRQAUUUtABRSUUAFFFFAC0UlFAC0UlLQAUUUUAFFFFABRRRQAmKMUtFACYpNtOpaAI9tJtqSigCLbRtqWkoAi20m2pqMUAQbaTbU+KMUAV9tJtqxtFJtoAr4owan20baAIKKm20mygCKipNlG2gCOin7aNtADKSn7aTFADaKdikxQAlLRiigApKWigBKWiigAzS5pKKAFzS7jTaKAHbjS7qZRQBJupd9RUtAEwal31BRQBY30u+q2aM0AWt1G6q240u6gCzupd1Vt9LvoAs7qXNVt9LvpDLGaXNQb6N9AE9LUAenb6BEtFRb6XdQBJRTN1GaBjqKTNGaAFoozRxQIKKKKACiiigAooooAKKKKACiiigAooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRSAKKKKACiiigAooopgFFFFABRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQMKKKKACiiigAooooAKSlooASilooEf/9HapaKKkYUUUUAFFFJQAtJRRQAUUUUAFJS0UAJRRRQAUUtFACUtFFABRRRQAUUtFACUtFFACUUtJQAUUUUAFJS0UAJRS0UAJRS0lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRS0UAJRS0UAJRS0UAJRS0UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUtJQAUUUUALRSUUAFLSUUALSUUUAFFFFABikxS0UANxRtp1LQBHtpCtSUUARbaNtS4ooAh20bampMUAQ7aTbU+KTFAEOKTbU2KNtAEOKMVLto20AQ0VLtpNtAEdFP20baAGUU7bSYpgNpaXFGKAEpKdRikA2ilooASloooAKKKKBhmlzSUUALk0u402igB+6l3VHRQIl30u+oaKAJ94pd9V6WgCxupd1V8mjcaALO6jdVfcaXeaALGaXdVfdRuoAsZpc1X304NSAmzS5qHcKXdQBLRUe6l3UAPopmaN1MB9LTN1LmgB1JSZozQAtFGaKACiiigAooooAKKWigBKKWigBKKWkpAFFFFABRS0lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRTAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigYUUUUAFFFFABRRRQAUUUUCP//S26KKKkYUUUUAFJS0UAJRRRQAUUUUAFFFFABRRRQAUUUUAFFFLQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSUALRSUtABSUtFACUUUUAFFFFABSUtFACUUtFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJRS0UAJRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUtFACYoxS0UANxSbafRTAj20m2paSkBHtpNtS4oxQBFtpNtS4oxQBDijFTYFG0UAQ4pMVNto20AQ4oqXbSbaAI6Kk20m2mBHRT9tJigBtFOxSYpAJS0YooAKSlooASilooASilooAKM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n60rAbNFCnKg0UAFJS0lABRRRQAUUUUAFFFFABRRRQAUUUUALSUtFACUUUUAFFFFABRRRQMKKKKACiiigAooo4oEf//W3KKSipGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRS0AJRS0UAJRRRQAUUUUAFFLRQAlFLSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFIaBQAtFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUcUUAFFFFABRRRQAUUUlABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lMApaSloAKSlopAFFFFABRRRTAKSlooASilooASilooASilooASiiigAopaSgAooooAKKKKACiiigBaKKKACiiigApKWigBKKWigBKKWigApKKKACiiigBMUYpaWgBmKMU+koAbik21JSUAR7aTFTYowKAIcUmKmwKTbQBFikxUuKMUARYpOalxSYpAR0tO20YxTAbmlzSYpMUgGTH5M01P9Vj2pZBlcVXDFRimBQ9qYTipHGCcVCc9aYC7qcKiFSDNADqfEdr0gUmlVDuoA6WE5jFPNRW5zFUtSAlFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRS0UAJRS0lABRRRQAUUUUAFFFFABRSUUAf/X26KKKkYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUtJQAUUUUAFFFFABRRSUALRSUtABRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAJRS0lABRRRQAUUUUAFFLSUAFFFFACUooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWigBKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSlooAKKKKACkpaSgApaSlpgFFFFIAooooAKKKKACiiimAUUUUAFFFFABRRRSAKKKKACkpaKACkpaKAEopaKAEopaKAEopaKACiiimAUUUUAFFFFIAooooAKSlooASiiimAUUUUAFLSUtABRRRQAUUUUAFFFFABSUUtACUYpaKAExSYpaKAGlabtqSikBCVqu0dXcU0rTAyZI+ab5IPFaDoM5puygDPMFOWHFX9tKFoAriOl8rFXAtKVFAE1vwmKmqGM4GKlzSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAFooooAKSlpKACiiigAooooAKKKKACiiigD//0NuiiipGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUlLRQAlFFFABRRRQAlFLRQAlFLRQAUUUUAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAJRS0lABS0lLQAlFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUlLQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAlFLSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRTAKKKKQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRS0AJRS0UAJRS0UAJRRS0AJRRRQAUUUUAFFFFMBKKWkoAKKKKACiiigApaKKACiiigAooooAKKKKAEooooAKKKKACiikoAjk6VEDUz/dqAUASUUi0ppAPXpS1GpqSgAB5qfNVx1qagB+aWmU6gBaKSloAKKKKACiiigAooooAKKKKACiiigApaSigBaKKKACikooAKKKKACiiloASiiigD//0duiiipGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUtJQAUUtJQAUUUUAFFFFABRRRQAUUUUAFLRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACUUUUAFFFFABSUtFACUUUUALRRRQAUlLSUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF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UAFJRRQAUUUUAFJS0UAJSU7FJigBKKWkxQAUUlLQAlFLSUAFFFFACUlOpMUAJS0YpcUAFFLilxQA3FGKfiigBuKMU6igBuKWiloAKKKKACiiigBKWiloAKKKKACiikoAWikozQAtFJmjNAC0ZpM0maAHZpaZmlzQA6ikzRmgB1FJmjNABRSZpaAClpKKAFpKWkoAKKKKAFpKKKACjFFLQIbiinUmKAG0UuKSgBRTqZS5pgOpKKWgBKKWkoASloooAKKKSgBaSlooEQuuazp4gRnvWsaryJkU0JowGUioq05Ys81nuu2qJEBp4NRA08GgRJSUUtACGkp1JigApaSgUAIaBSmm0ASA1KDVYGnhqALANO3YqAGkzmgCzuo3VAM0+kBJmnZqMCndqAHhqdmowKeBQA6nAUgFPFMBMUwipcUmKAICKZipyKYRQBHRTsUYoAiIppFSkUwigCAjminEYpKAExTxSU8CgCRadTQKfSAs25+arlUYDh6vUDClpKWgBaWkpaQEi06mr0paAFooooAWikpaACnCm04UALRRRQAUUUUwP//T2qKKKkYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUCFqMin0UDIsUVJijFAxgJp240YpMUAP3UZFMxRigQ/IozTaKAHZozTaKAHZpcio6KAJMiio6cpoARz2FRt1px657U08GgAPSoicjipCflqFaBod0FNpTSVJSQUtJRSKFooooAKKKKAClpKSgB1FJRQAtFJS0AFFFFABRRSUDFopKWgAooooAKKKKACiiigAopaKAEooooASilooAbRS0UAJRS0UAJRilooATFGKM0tACUUUUALRSUUALRSUUALSUUUAFFFFABS0lFAC0UlLQAUZpKKAFopKWgApKdijFADaWlxRQA2iloxQAlJinUUANop1JigBKXNJRQAtLTaKAHUtNzRmgB1FJRQA6im5pc0ALRRRQAlLRRQAtFFFAhKWkooAWkoooAaRRTqTFMAzS5ptFADqKTNFAC0UlLQAUUUUAJRS0UAJTWHFOopiKzICKzZ4uOK2CKgkTIpiaOcI20A1dnh5qkVxTJJQacKhU1JmgRJQaaDTqAG0CijNAC4pKWkNADTSUtJigB4NPVcmoxU6UASqlPCVLGAan2DFICuIxT/LGKmC0pWgCrs5p+2p9tJtoAixS0/FGKYDaKWigBmKQin0YoEQkU2p8U0rQMhPNNxUu2mkUAV3FNxUrCmYoAbinCkpwoAetPxTBxxUlIB8fDCtE1nL1BrR6gGgBKWigUDFpRSUopAPFOpop1AC0UlLQAUtJRQAtOHSm06gAoopaAEpaKKYH/1NqiiipGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFJQAtFJRQAtJRRQAUUUUALRSUUALRSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQIKKKKBhRRRQAtJS0UAJikxTqKAExRilooATFGKWigBMUmKdSUANxS4wKcKG+7QBCPu0xj8wpwPGKjYfMKAFbpioxTiabSLSCiikqShaKTNFAC0UUUAFFLRQAlFLiloATFFLRQAUUUUAFFFFABSUtFAxKWiigAooooASlpKWgAooooAKKKKACkpaKAEopaSgAooooAKKKKACiikoAKKKKACiikoAKKKKAClpKKAFopKKAFopKKAFopKKAFpabS5oAU0lGaTNAC0uabRQA7NLmmUtADs0U2igB1FNpaAFopM0tABRRRmgBMUYpc0UANxRinUtMBmKSnmkpAM6UuaXFJigBM0ZpcUYoAXNGaTFJQA/NGaZRmgCTNLUeaXNAD6KbmlBoELRRRQAUUlFMApKWigBKKWkoAKWkooAWiiigBaKSloASilpKBCU0jNPopgUpY81lzRY5rdYZqlLHkUyWjDAwacTU8kWDVYimIeDUgNQA1KDQIcaSloxQAgNOpKAaAFxSGlppoABUqmoacDQBfjaritWYjVbRxQBcFOqNWwKkHzDigBOKKcBQQaAIyKbUu2jbQBDikxU22k20ARgUuKfiigCPFJipcUmKBEJWoyKsEUwigCq4qHFW3FVyKBkeKcooIpwoAUDmpMU0dal60AIKvoflFUcYq7H90UgH0UtAoGFOFNp6igBwpaKKACiiigBaKKWkAopaSloAKWkpaACiiimB/9XaoooqRhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABSUUUAFFFFABRRRQAUUUUAFFFLQAlFLSUALRRRQAUUUUAFFFFAgooooGFFFFABRRRQAUUUUAFFFFABRRRQIWikpaACiiigAooooAKKKWgBp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FIAFP7U0UtACinUgpwoGJinAUYpwoAXFOAoFOoAKXFKBS4oASilpKQxDTafikxTENpKdikxQAlIaWkNADaaafSUAMxSGn4ppoENxTTTqaaYDaSlooAbS0YooEFIaUnFRlielMQ4mkAyaTBqRRigBdtOFFAoAXFL0opKQyQGnVCDTt3FMBSaTNNzTc0AOJpM02lpALmlxSAZqULQAzbTwKeFpwFAxuM0oWngU6gBoApcU4CnUAR4ppFS0hFAWIttIVqXFBFAWIdtIRU2KTFAEBFMxVgimEUARUlPxTcUANpKUikoAKcKQUtAC0UUtACUUUlADgadTBTqAHUEZFJTqAIWTvUYcqeat8Gq7x5NAmizHLnirYxWOG2Gr0UmRSEXAadUYINPoKGtUZp7GmUCEp4puKUUASik70Cg9aBjxTqYKdQAtFFFAgooooASilpKAG000+mmgCBhURqwwqBqYiFqgap2qBqYiI1GakNRmgRHSYpaWmISj6UUmMc0AFIaWloAbSikpRQA6lpPrS0AO7U5eDTB0py0DLcXDgiujj5A+lc7B1H1roY+gpAPAppHNOoNACU1ulOpDQBFS0lLSAWkNLSGgBVp1MWn0AFOWm0q0APooooAWiiigBRS0gpaAEopaSgAooooA/9PZoooqRhRRRQAUUUUAFFFFABRRRQAUUUUwCiiikAUUUUwCiiigAooopCCiiigAooooAWiiigAooooAKKKKACiiigAooooAKKKWgYUUUUCCg8CgkCq8koAoANyjOawZ3w5FWZbj5qqeW8zlh0NAyIEnmncmrgttgGaYFG7FAyEJmp1jqXaBT1HFIZHsppXFTmomoGMozSGm5oGLSE0mabmgBSaQUlLQAtIaM03NADs0lJRTELSUZozQAlBoooASiil+tAgIpuKe3Wm4pgJijPGKWjFIBuaXrRik6UAIRQKdmngAigCOigjFJQMWiiigApKKKAClpKWgBwpwpgqQUDFpcUlPHSkACnCgCnYoGFOFAFOxSABThSYpwFACilpKKBhmijFLigBKKKKAEpKdSYpiGEUmKkIpuKAG4ptPNNNADKQ0tIaAGGm0802mISkNLRQA2kPFKTioWJPFBLAnJqRVxTVTjmpOgpgBpR0pvWnigAFLRRQMKbQTSE0AGaTNJSUALmjNJingUgAA1Iq0oFSAUDEC4p4FFKKA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JQACnU2nCgApcUuKdigYgFO6UClNIBM0U2l7UAFJRQaADNIaSkoAikPFVasvVY8GmQyKU4WprNPlzVOVssFrVgXagpgibrTgKSnipNBQKeKSloGOoopO9ADxS5ptHagBDRSUUALSUtJQAUUUUAFJS0hoASgUUtABRRS0CEqNhU1NIpgZVymRmoYm4rRlXIIrLA2NimQy+vNBBBpkbVaK5FAiDdigyHtSslIqUDsABY5NWFGKYFxTxSGh9FFFBQUUUtACUtJS0gCn02loAd2pM0UUALRSUtAC0UUlABRRRQAUlLRQIbijFOpcUwG4oxTsUlADaMU6igBuKMU6igBtLS0UANpKfikIpANFOpKKAFoxRRQAUUUUAFFFFABSZopKBjwadmohT6BD6KbS0AOopKWgQtOHFIKZK21c0xGZdPuk21NbLxVPPmSk1qxLtXFMRLRRRSLCiiloASilooAKKSigQtFFFACUCiigB1FJS0ALRRRTAKQ0tIaBFSbpWWeGNakvess8nNMlg1RVITmo6BE0dWOhqtGeatMPSgpEqnNS4qqhIqypzSKHYopaKQxtKDTSaiL4oAthqeDVAS81Or0DLgOKsI2aqA5FSxnBpkNFukpaSggKKKKYBSUUUCEpD0p1NPSgCOlFJSikMdSNS0hoARakqIdaloASlHWkoHWgCSiiigBaKKKAFFLxSUUAf//S2KKKKkAooooAKKKKACiikoAWikooAWiiigAooooAKKKKACiiigYUUUUCClpKWgAooooAKKKKACiiigApwptLQBT1OLzbMkdUO4fhXPWshL4Peuv2h1KHoRiuN2mC4ZD/AAnFMZ09ocqV9Ksms20kAcE9DWmaAG0UUUhC0lFLQAUUUUAFQz/cqaopuVoGiielNp3am0iwoopaQxKKWkoASkp1JQA2ilooASkxTqSgBMUmKfSUANxSYp9JigBtFOpMUAJSdqXFFMBtLSYpQKAClApQKeBSAbtpQKdRQMKKKCaBhQaTNJQAUUUlAgooooASkpaKAInqnIcZq5JwtZ8zYFUiGQxr5ktbajAxWdZp/FWnSZUUKBThSCnUixaKKKBjhS0gp1ABSUtJQISloooGFFFIaACkopaACkNLSGgQlFFFABThTacKBC0GiimBCwzWbcJzmtY1UmXIoEyjG1aSNkVk8o2KvQvTILRFNxT+1NoK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looAjJp68imkc09RigB1JilpQKAEop2KQigBtKOaSnCgBcUUtIaAEpKWigApc02loAU0ZoNJQA7NJmkpaACkzS02gQtANJmkzQA6ikpaACk4opDQAZpM02igB2aCaZmkzQA7NIabmmk0ALRTM0m6gQ+imbqdmgBaKTNLQAtFJS0DHCnCmA04UASCnUwU+gQtROOKlqNqBldeDirAqv8AxVZWgB+KMUtLSAbimkVJim4oGNopaSgAoozRQAtGKWigApaSloAWikopgOFOFMp1ADqXNNpR1pAPxRRmigBO9PptLTELTxUdPFADqKSigBacKbS0AOpaSloEFOpKKAClpKSgB1KKSlFMQ4DmrK1AvWpxQJikUwoDUlFIRAY6b5dWaSgdyv5dKI6npaAuQ+XTgoFSUlArhgUtJRQAUUUUAFFFFABRRRTAKKKKACiiikAUUUUAFFFFMAooooAKSlopAJTTTqaaAI6WkNAoAfSHpS0h6UARipR0qKpBQA6lptOzQB//0deiiipGJRRRQIKKKKYBRRS0gCiiigAooooASilpKACiilpgFFFFIAooooAKKKKACiiigAooopgFFFFABS0lLQAUUUUDCiiigAooopAFLSUtABRRRTEHtWVcLtlOe9awqneJlA47UikZhpppxptIsSkpaSgYGkoooAKKKKACilooAUU4U0U4UAFNIp9IelAiFulQjrU7VD3oAkpCadTDQAhpKQmkzQAtJRmkNABQTTc00mmA4tTN1MLU3NAiYNTwc1VzTg5FAFvNOqFWBqUUDHilpKWkA4UtJmigBKWiigBKKKBQMdSgcUmKdQA3FLilFLQAmKcBQKdigBMUYp1FMBmKTFSUmKBjMUYp9HagRHilxS0UANK0oFLRSAQ0opDRQAtIaKSmAUtJSUASA0GmA0uaAFpMUZpQaAExRSmikAlLRSZoAKWkopgLSUZooAbiilNJQAtFJmm5oEOpDTc00tQAuaTNMLUwtQBITTd1RkmmkmmBIWphY03BpcGgAzmil20uKBDaXJpcUUALmkLYoxUZpAP3U8NUIp4oAlBp4NRCnigZMDTwahBqQUAPpjU+mNQBAetTp0qA9anTpSAlFLTRThQAtFLRQMYRTcVJTSKAGYpRS4pKAFooooAKWkpaACiiimAUtJQKAH0tNp1ADqXNNpaAHClpoNOoELThTKeKAClpO9LQAtOFNp1AC0tJQKBDqKKKAEpO9KaTvTAfSgUlOFAiZBxUlIo4p1BIUUUUAFFFFAC0lFFABS0lFIAooooAKKKKACiiigAooopgFFFFIAooooAWkoooAKKKKACiiimAUUUUgEppp1JQBEaBSnrSUAPFBoFLQBEetOFNbrThQA6iiigD/9LXpKKKQBRRRQAUtJRSAWkopaACiiigAooooAKSlooASlpKWgAooooAKKKKACiiigAooooAKKKKYBRRRQAUUUUALRSUtAwooooAKKKKQBRRRQAtFJS0wCkkXdGVpacPSkBgldp2mmEYq5dx7ZN3Y1TNItDDSUtJSKCikopgLRQKO9AC0UUUAOFOpgp9AC0hpaSgCNqgPDVYNV2HNAh45oIpFp+KAISKaRVjAppUUAV6Q5qbbTStAEJppqUrTdtMRCRTTUxWmFaAI6XFLjBpwFMAHFSq5pmKXFICYNUgNVc4pwagZZzS7qr76N9AFjNGahDUu6kBLmlBqLdRmgZNupN1RZozQBMGp2arg07dQBOGp26q2+lD0xljNLmod1LmgCXNLmos0bqAJM0ZpmaTNIB9FMzSg0AOozSZppNADqSm7qbuoAfmkJpham5pgSbqTNR5ozQIfmlDVHmjNAEu6l3VFmjNAE26jdUOaM0AS7qTdUWaTNAE26jdUO4Um6gCfdRuqvvozQBY3CmlqhzRyaAJd1N3U3BpwQ0ANLU3NS+XSiMUAQYNKFNWNlLtoAr7KNtWdtIVpiIAtLipcUYoAixSYqXFJigCLFGKkxSYoERkVHipiKbigCMCnAU/bTgKQDcU6lxTgKBiCpBRilxQAtIaWkNICButTxnioW61LH0oAlxT6QU6gYUtFLQA2kxTqSgBtJTqSgBKSlooASloopgFFFFABQKKUUALTqbSigBaKQ0CgQ8U8UwU8UALThRS9qAG96cKZ3p9AC96dTO9PoELS0lFAC0UUUABoFFFMBakUc0ypkoEyYdKWjFFIkKKKKACiiigAooooAKKKKACiiigBaSiigAooooAKKKKACiiigAooooAKKKKACiiimAUUUUAJRRRQAUlLSUgI260lObrTaAHilpope9AEbdaVaGoWgB9FFFAH//T1qKKKQBRRRSAKKKKACiiigBaSiigAooooGLSUUUCCiiimAUtJRQAtFJRSAWikpaACiiigAooopgFFFFABRRRQAUUUUDFooopAFFFFABRRRQAUUUUALSim0ooAiuE8yP6VjGt/qMetY1wnlyEdjSKRUNJStTaChaKSigYtFJRQAuaM0lJQBMKdUamn0ALRS0GgBhqFhU9MYUAQjin5zTSKUUCHilxQBTsUARkU0ipSKaRQBCRSbalIpMUAREUwrU5FNxTEVivNLipiKbigBmKcFpQKcBQAzaKaVqbFGKBlfbSVZ20eWKAK2aN1TGOmbKAG7zS76QrTdtAD99LuqLFHNAycNRuFQZNLnigCXNKDUOTS5oAsbqXfVbdShqBlkPRuqDNLuoAn3U7NVt1ODUAWM0mai3UhagCbdTS1Q7qTdQIkLGk3VHuoJoAk3Um6os0ZoAl3Um6o6OaAJN1LuqLmlANAEm6jdTdppQpoAN1G408R0vl0ARbjSZNT+XS+XQBX5pwBqwsYqXyxQMqbKcFq1sFL5YoEVglPCVYCgUoFAEIWnAVLigCgZHijFSEUmKAG4pcUuKUCgQ3FNIqXFNIoAixRin4pMUCGYpMU/FJigBmKbipMUYoAixRtqTFG2gBm2l21IBS4oAixTgKdilHFABijFLRSGNxSGn000CIG61KnSo3FSR9KBkwpwpgpwoAdS0lLQAUlLTTQAUlLSUCEpKWigBKKWkpgJRS0UAFOFNooAdSim06gBaSlooAUVIKjFPFAEmaO1NpaADHNOpKUUALTqSlFAhRRRRQAtFJS0AJRS0lMBwqygqBBzVpRQSx9JRRSEFFFFABRRRQAUUUUAFFFFABRRRQAUtFJQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUwEooooAKSlpKQDWplPPSmUAOFLSClNADW6UxakPSox1oAkoopKAP/1NaiiikMKKKKQgooooGFFFFABRRRQIKKKKACiiimAUUUUAFFFFABRRRSAKKKKAFopKWgAooooAKKKKACiiigAooopgFFFFABRRRSGLRSUUALRRRQAUUUUAKOlVLqPem7uKt0YDDBoBHOkU3pVmeMxuR2quaRohtJS0lAwopKWgQUGikNAx61LUC9anoAWiiigApDS0hoAiakApW60o60CHgU6kooADSYpc0maAGkU3FSZpCKAGYpCKfiigCLFNIqbFNIoAixS07FAFAABTgKUU8CgBoWl20+loGQlaYVqxim4oArlaZsq0RTdtMCtso2VZ20hWgCtsFJsqxto20AVtlJtq1tpu2gCvspNhqzto20AVtppcGrAXNLsoArYNJirWzik8ugCvSc1Z8sUeWKAK3NGDVry6Xy8UAVgppdhqztpdtAFbZS+XVnbS4oAriOn7KmxRigZDspRHUuKdQAzYKUIKeKdQAzbS7afRQAzbTttOpaQDQuKXFOoxTAbindqKKQDaeKTFKKAFxRilpKAGkUlONNFAC0UtJQIKQ0tFADcUmKdRigBmKTFPxRigCPFGKkxRigBmKXFPxS4oAjIpMU8ikoATFNNPppoAbS000o6UALSGlpDQBC1PTpTWpyUAS04U2loAdTqbS0ALTTTs0w0AFFJRQIKKSgUwFpaKSgAptLSGgBaUCminUALRRRQAopaQU6gBRThSCnUALRSUtACinCkApaBC04U2nUALRSUUwClpKKBDqKSnqKQEqCpxTEHFSUEhRRRQAUUUtACUUUUAFFFLQAlFFLQAUlLSUALSUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lABRRRTAKKKSgBD0qOpD0qOkA4dacaaKdQA01GetS1G3WgBw6UUDpRQB//1daiiikMKKKKQgooooGFFFFMAooopAFFFFMQUUUUAFFFFABRRRSAKKKKBhRRRQIKKKKACiiigBaKKKACiiigAooopgFFFFIAooooGFFFFAC0UlLQAUUUUALRSUtAFS8j3puHUVjmujYblx61hzx+WxHagpMrGkpTSUihKWiigApKKKAAcGplOagNSIe1AyYUUlLQAUlLSUARN1oB5pzVH0NAE4opAaDQAYoxQD2paAG06ikoADSUppOlABikIpwpaBERFAFSYoxQA0CnikpRQMWlopaAEpKWkoASkp1JQAlJS0UDG4oxTqSgBuKMU/FFAEeKMVKBSUwGqMUhp1IRQAg6UUoHFLigQ3FLilxRigYUuaAKMUAFGKKcKAGUopWFIKQCgUU6koATFGKWlFAwAp2KKWgBtFLRQIBTqaKdQAUGiigApaSloASlFFJQAtFJSigAoozTc0ALRRS0CEooooAKKKXFACUuKXFLigBuKMU6igBMUlKaKBiEU0in000CIzTCaeajNADSaUGkxRigB9JRRQBE3WpE6UxutSLQA8UtApaAFooFFABSUlGaBBSUZpDTAM0oplKDQA+kozRQ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UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAlFLSUAFFFFABRRRQAUUUUAFFFFABSUtFACUUUUwCkpaQ0AIaaaU0lADDQKKKQD6XtTacKAIjxSZpW603FAH/0dSiiikAUUUUALRSUUhi0UUUwCiiikAUUUUCCiiigYUUUUAFFFFABS0lFAC0UlLQAUUUUAFFFFABRRRQIKKKKBhS0lLQIKKKKACiiigAooooAKKKKBhRRRTAKKKKQC0UUUAFFFFMQ4YqjdQBgWFXKUgEYpDRzRBHBptaF1Bg7lrPJ5pFphRSUtAxKBRRQBIDTqiBp4NAx4paYKcKAHUUUUAIaaRT6SgCOkpxFJQACnimU4UAS0UgpaQBSUtFADaKU0lABSUtFMBKKKM0AFIaWkoAKSiigAoopKAClpKKACkoNJQAtJRSUwCkpaQ0APBpDUdKDQAppKWkoAXNOFMpaAJO1MpRRQAopaQUtACU4U0UuaAHUlANLQA3FKKKUZoAdS0lLSAWlpKWgBaWm0ooAdSUtFMBKWjNFIBaWm0tABRSUtAxaKBS4oAKKSigBaWkooAKKWigQlJS0lABmjNJRQAUGjNJQAlLRRQAU0mlphoAWg02l5oAKKKKAEphp5phoENooopgFFFFABRRRQAtFJS0ALRRRQAUoopRQA4CniminUALS0lKKBDhS0lLQAopaSloAKWkpRQAtKKSlFAhaUUU4CgCRF5q2KhjHFT0CYlLRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKSloASiiigAooooAKKKKACiiigAooooASiiimAUhpaSgBppKdSUARmilNJSAWnCm04UAMfrTc096j4oA//S1KKSikMWiiigAooooAKKKKACiiigBaKSlpAFFFFABRRRQAUUUUAFFFFABRRRQAtFJRQAtFJS0AFFFFABRRRQAUUUUCFooooAKKKKACiiigAooooAKKKKACiiigYUtJRQAtJS0lABS0lFACOgcYNYtxD5be1bgqC4iEiUDTOfop7qQcUykWFFFFABTh0plKDQA8U8GoxTxQA+lpmacDQMWkpaKAGmmmpKaRQAylFJRQBIDT6jFSUgCiiigANNp1NoAKKKKAENNpxptMBaKSigANFJRQAtJRSUAFLSUUAIaSlNJQAtJRRTAKSiigBKKKKAFzSUUDNADgKXFAoNACUoopaACilooAKQ0tFAAKdSUtAC0tIKKAHUUlFIBaWkp1ABS0lLQAtFFLQAlLRRQAUUUUAFLRS0AApc02gUDHUlLRQAUUUUALQaSigQUlFJQAUUUlACUUUlADqSkooAKbQaSgBaWiigBDRSUtAhDTDTzTDQAlJTu1JTAKSlooASilooAKKKKAFopKcKACnCjFLQAopwpBTqBBThSCloAWlFJinUAFFLRQAUCiloELTqaKeKAFqRBk1GKsxr3oAmUYFOpKWgkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApKWkoAKKWkoAKKKKACiiigAoopKACiiimAUlFIaACkpaSgBhptPNMoAWnA02lpAD1FUrdKh5oA//09OiiipGFFFFMBaKSloAKKKKACiiigAooooAKWkooAWikpaQBRRRQAUUUUAFFFFABRRRQAUUUUALRSUtABRRRQAUUUUAFFFFAgpaSloAKKKKACiiigAooooAKKKKBhRRRQAUUlLQIKKSloAKd14ptKKAMq6i2vnsaoMOa35ow6fSsZ0waC0VsUU8immkUNpM0tIaAHg0+oQakBoAdThTaWgY+lpuadQAUdaKBQAwimipiM1GRikAop4pgp4oAdSUoooAKSlooATFJTqaaAGmm4p9FMBmKKdSUANopTSUAJRS0UAJRRRQA00UtJQAUlKaSgAopKM0wFooooAKKKKAAE06mUuaAHUU3NFADqM0lFADqWminCgB1LTaUUALSUtKAKQCCjFOxRQACnUgpaAClFJS0AOFFIKXFACUtIaKAFpaQGg0AGaUGm4o6UAPNJRnNLQAUtGKSgYUUlLQAUUUUCCiiigBKQ0tNNACUmaU02gAzS5pvWloAQ0Clo7UAFFFFABRSgUpoEMNNp1NoASilpKYCUUtFACUtFLQAlFLSUAJThSU4UAOp2KQU6gQcUtNp9ACiloFFACilpKWgApaSloAWiilFAhRThSCnCgB6jmraDAqGNc81YFAmLRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooASilpKACiiigAooooAKKKKYCUUUhoAKSiigBKKKKAGmmGnmmUAKKWkFLSAU9KiqU9KZigD/9TToooqRhRRRQAUtJS0wCiiigAooooAKKKKACiiigAooopAFLSUUALRRRQAUUUUAFFFFABRRRQAUtJRQAtFFFABRRRQAUUUUAFFFFAhaKSloAKKKKACikooAWkoooGFFFFABRRRQAtFJS0AFFFFMQ4dMVmXEe1vatGo503pSKRiMuKiIq0Qeh7VAwpFIixSGn0hFAxmKcOKKMUAPBpaYKdQA6nio6cDQMkpMUtLQAopjCn0hpARipB0plOFADqWkpaAEooooAKSlooAbSU40mKYCU2nUhFADaMUtFACYopaSgBDSUtJQAhpM0ppnNAC5pDRRigBKKKMUwDNJmlxRigBM0ZpMUUAOzRSUtABS0ClxQAUUuKXFABS0YpQKADNGaXFLtoABTqQClwaQC0UYpcUALS0UtACUUUUAKKWkooAKKKWgBKXFFLQAUYpaKAEAp1FJQAuaSikoGKKKUUUAJRS0UCEpKWigBtJTjSUAJikIp+KTFADMUU/FJigBuKKdiigBlOFFKKBAKDSikNAEdJT6bigBKSlNFMBKKWkoASlopcUAJS0YpaAG07FGKdigQCnUlLQAAUopR0pcUAKKdSCnUAJSU6koAKWgUUALSigU6gQopyjJptTxLnmgCdBgVJRjFFBIUUUUAFFFFABRRRQAUUUUAFFFFABS0UUAJRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0UAJRRRQAUUUUwEpDS0UAMooooAWkoooAQ1HUlMNACUtJS0AO7U2nUYoA/9XToooqRhRRRTAKWkopALRRRQAUUUUwCiiigAooopAFFFFABRRRQAUtJS0AFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFABRRRQAUUUUAFLSUtAgpKKKACiiigYUlLSUALRRRQAUUUUAFLSUtABRRSUCFpfakooGZ08e18joaputbEybk46isth60FIq4pDUpFRmkUNopaKAEpaSloAWlFJRQMmBp1RA1IKAHUUlKKQDSKQU8im96AHUUCg0AL1pKUUUAJRRRQAUlLSUAGKMUtGaYDcU3FSUYoAjxRin4oxQBHtoK1LilxQBBtzS7amxRigCDZSbKsYoxQBX2UmyrO2jbQBW20m2rBWk20AQFabsqzto20AVwlO2VOFpdtAEG2lC1Ltp4UUAQbKXZVnaKNtAEAWl21NtoxQBFil21JikoAZtpdtOpaAGYoxTqKAG4oxS0ooAQClxS5ooASilooATFLiiigAoopKACjNFFAC0UUYoAKAKWlFAw6UlKaSgBaKBS0CG0UtBoAaaSlooAKKKKADFJTqKAG0mKdRQA3FGKdRQISkNOppoAZSU6kpgNIopTRigBKTFOoxQA3FLTsUYoAbS0uKBQAuKWiloEFGKWlFAABTqSndqAEp1JS0AJRQabmgB4paQCnCgAFPFNpwoEKBk1djXAqCNc1bAwKBMWkoooEFFFFABRRRQAUUUUAFFLRQAUUUUAFFFFABRRSUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUlAC0UlFAC0lFFABRRRQAUlLSUAFFFFMBppKU0lABRRRQAlMNPphoASlpKKAHCnU0UtAH/9bToooqRhRRRQAUUUUAFLSUUALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UlLQAUUUUAFFFFABRRRQAUUUUwClpKWkAUUUUAFFFFABRRRQAUUUUAFFJRQAUUUUAFLSUtABRRRQAUUUUALSUUtABRRRQIUelZs6bXz2rRqKZN6UFIyGqIip2HP0qMikWiKkp5FJQMbRS0UCCiiigYoNSA1FUgNIB9KKbS0APpppRQaAAdKKBRQAtKKSloAQikp9IRQA2iloNADaWiigApaSimAtFFLQAUuKSnUAGKMUtFACYoxS06gY3FLilooAYRSYqSjFADMUYp9GKAGYoNONJigAApRS0lABTqbRQAtJnmik70AOppp1BFADKWjFKKAExRinUlACUUtGKAEoxS4ooATFFLSUAFFFJQAUUUUCClopaAEpaKKBhmjNJS4oAWjFGKUUCACilpDQAUGgUUANxS0tJQAUYopaAEpKXNJQAlFFLQAlFFFAgptOpKAG4opaSgBO9BpaMUAIBS4pQKWgBtFOxSYoASgUtAoAWiinAcUxCYopaKACnCkpRQAtFLSGgBpNN6mg805RQBIOlLSUtAC05RzTRU0a5NAizGuBU1IowKWgkbRS0lABRRRQAUUUUAFFFFAC0UlFAC0UlFAC0UlFAC0lFFABRRRQAUUUUAFFFFABRRRQAUUUUAJRRRQAUUUUAFFFFABRRSUAFFFFABRRRTAaaSlNJQAUUUUAJTWp1NagBlLSUtADhS02igD/19OiiikMKKKKQBRRRQAUUUUALRSUUALRSUtABRRSUALRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUwCiiigAooopALRRRQAUUUUAFFFFABSUtJQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUCCilooGFFFFAGbMm1z6Gq5Fadwu5c+lZzUikQEU2nmm0FDaSnUUANopaKAEpwNJRSGSCnVGDTwaAHilptLQAUUUUAKKWm0tADgaDSCloATFJTqQ0ANopaaaAHUUgpaAClFJSigBaKKKAFopKKBjhS5poNFADqM0lJQA7NLmm0maAH0U3NKDQAtApM0ZoAdSGjNBpgJRRSUAFKKSlFAC0tNpaACiikJoAXNFNp1ABS0UlABSUtFACUlOxRQA2ilooASloooEIaKWm0AOpKSgUAOFOApBTqACkpaKAEopaKAEpaKKAEpKdSUAJRS0lACUlLRQAlLRS0AJSUtFAhKSnUlADaKWigBKKWigAFLRS0AJRRRQAmKXFLS0AJilpaKYhKXFLS0ANpRRSigApDSmkoAbin4xSUtAC0uKSnCgQ5etXY1qvGuTV5RgUCYvQU2nGm0CCkpaSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKSiigBaKKKAEooooAKKKKACiiigApKWkoAKKKKAEooopgIaSlNJQAUUUUAJTT0p1IaAIxS0UUALRRRQB/9DUpKWkpDCiiigAooopAFFFFABRRRQAUUUUAFFFFABS0lLTAKKKKACiiigAooooAKKKKAFopKKAFopKKQC0UlLQAUUUUwClpKKAFopKKAFopKKACiiikAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUALRSUUALRRRQAjDK4rLkXacVq1Rulw2exoGiiRTCKlNRmkWNpKdSUAJRS0YpAJSU7FJQACnA0ylBoAlFOpgp9AwpKWkoAUUtNFPFACdKXNIRSUAOpaSlFACYpMU6koAbilpTTaAFooooAWikozQA6kpM0UDFozSUUAPzS0yjNMBxpKKKAEpc0UYoAXNLTcUooAXNANJSUAONJRRQAtFApDQAZpc0zNLQA/PFJQBxQBQAU6kooAWikpaAClopKAFpKKKACiiigApKWkoAQ0lKaKBCYpwFGKWgApaKKAHCiiloASilooASkpaKAENJRSUALRTaXNABTadRQAgpaWkNACUtJRQIKKKDQAlFFFABRRS0AJRS0UAFFLSUAFLSUtABRRS0xCiloFLQAlLRQKAA0lKaSgAxS4opaACnqMmmVZiXJzQIsRJirBoUYoNBI2kopKYBSUUUgCiikoAWikpaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopKACiiigBaKKKAEooooAKKKKACiiigBKKKKACiiigBKKKKYCGkpaSgAooooASkNLSUAMNAoPWigBaKKKAP/9HUpKKKQwooooAKKKKACiiikAUUUUAFFFFABRRRQAUUUUwFopKKAFopKKQC0UlLTAKKKKACiiikAUUUUAFFFFAC0UlLQAUUUUAFFFFMAooopAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFABRRRQAUUUUwClpKWgAqG4TfHU1BGRikCMbqKjIqZxscrTGFItEeKSnUlAxKKWikAUlLRQAw0lONJQA4Gng1FTwaAH0tJS0DEpwpKKAH0mKUc0tADKWiigBaKSigBcU0inUGgBlGaDTaAFozSUUALmjNJRTAXNLmm0UDFzS0ynZoAXNOzTaKAH5ozTM0uaAHE0ZplLmgB+aSkBooAUUtNzS5oAUUGkzS9aAG4p4FJS5oAWlptLnigApKCaTNAC0opKWgBaKKKACilooEFFFFABSUtJQAmKAKWloGFLSUtABS0UUgClpKWgQtJS0UAJSGlopgNpppxph60AFJS0UAJmnA03FAoAfSUUUCCiiloASkpTRQAlFLSUAFLRRQAUUUUAFFFLQAlFLRQACloFLTELRRRQAUUUUALRRRQAlKKKXtQAoGTitCFcCqkS5NaKjAoJY6mmnGmUEiUlFJTGFJRRSAKKKSgBaWkpaACikpaACiiigAooooAKKKKACiiigAooooAKKKKACkpaKAEopaSgAooooAKKKKACiiigBKWiigBKKKKACiiigBKKKKYCUlLSUAJS0lLQAlJS0lADDSU40ygB1LSCloA//0tOiiipGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFLSUUALRSUtABRRRQAUtJRQAtJRRQAUUUUAFLSUUALRRRQAUUUUAFFFFAC0UlFAC0UlFAC0UUUwCiiigApaSikAtA60UUAULtcOG9arda0blN0XHUVmg80ikMIpKkao6RQUUUUAFLRRQA0im4p9FAEdKKcabQA8GnVGKcKAH0UlLQMUU+mUuaAFoopDQAtJRnikoAWgUlFAAaaRin0hGaAGUUYpKAHUUgNOpgJSUuKXFADaKXFJigAopKWgYZoyaDSUALRmkzRQA4U6mU4UAOpKdSGgBM0BqQ0w0AS7qTNRg0ZoAlzTS1MzSUASZpwpgp9ADxS0gpaACnCm0tAh1FJS0AJRTqKAG0lBooAdSUtJQMKM0lFIB1FFFAC0UlLQIWikpaAFpCKWkJpgMNNp1JQAlLSUCgBaTvTqSgQtIaWmmgAFLTAaXNADqKKWgAooooASilooAKSloxQAUUYpaACilooAKOtFApiHUUUUAJS0lAoAWiiigApw9KbUijJoEWYVxV2oIxxU2aCWITTTRmkpgJRRSUAFJS0lIAooooAWikpaACiiigBaKSloAKKKKACiiigAooooAKKKKACiiigAooooAKSlpKACiiigAooooAKKKKACkpaKACkoooAKKKKYBSUtJQAU2nU2gAooooASkpaKAGGmU80ygBwpaSigD/9PToopKkYtJRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lFAC0UlFAC0lFFABS0lFAC0UUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUtJRQAtFFFABS0lISKAHUVHupN9FwsSHBBB9Kx2G1yK0i9UJsF8ikUhh5php2aQ0ihtFFFABS0lLQAtNNOpDQAlNIp9IaAGCnCkooAfmnCoxTxQA6ikoFAx4pDQKKAEooooAWkpRS0AJS0lFADTTCKlppFAEYp2aMUmKYDs0uaZRmgB9JmkzRQAGkoooAWkpaKAG0ooxRQA6lFNozQBJmkNNzS0DCkpadigCPFJipdtG2gCIA07FSYoxQA0CnUYpcUAApaMUUAFOoApaBAKWkFOoAWkNFIaAExRS0lACUUuKXFAxKKWlpAJS0UUAJRRRQIWlpKKYBmikozQAGmmnZppoAbRS0UALRRRQIKTrS0lACYoxTqWgBKWiigAooooAWkpaKAEpaSgUALRRRQAtFFJQIKcKbTqYBRRS0AFFFJQAUtJSigBRViNc1CBk1cjXFAmTqMClNFNJoJCkopKACiikpgFFFFIApKKKAFpabS0ALRRS0AJS0UUAFFFFABRS0lAC0UUlAC0UUlABRRS0AJRRRQAUlLSUAFFFFABRRRQAUUUUAFFFFABSUtJQAUUUUAFJS0lMApKWkoASiiigBKSlpKAEPSo6kPSo6AFpaQUtAH//U0qKKKkYUUlFABRRRQAUUUUAFLSUUALRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRSUtABRRRQAUUUUALS02loAWikooAKWkooAWikooAWiiigAooooAKQnFIzAVA0lK40iUuKjZxVdnqMtmlctImaXFRGaoG61CTg0gsWvNNNJzVbcaejZOKYEhpAaU02gBaKWkoAKWiigBaKKKAEoIpaKAGU2pMUw9aAAU+o+9OoAfRSUtAx1FJRQA6kNKOlJQAA0tNxSigBaWm0tABRRS0ANxSYp1IaAIzSGnmm0wEFLTTRmgB1FJmkzQA7NGabRQA+mmiloAQGloxQaAClFNFPFADhTxTBT6AFpabRmgB1GKTNLmgAxRilzRQMSilNJQAtLSUCgQ6ikpaACikpaADFLRRQAUUUhoGLRTc0A0gHUUUUAFJinUhpiCkPWlFFACU0080w0AAooFBoASkzRSUCHiikHSigApaBS4oASilxSUALRSUtABRRRQAtFJS0AIaKKKAFpaSloAKKKKYgoFFFAC0tJRQAtJS0lABS0lOHNAEqDJq8owKrRCrXaglhSUUlAgoopKACiiigAopKKACiiigApaSigB1FFFAC0UUUAFFFFAC0lFFABRRRQAtJS0UAFFFFACUUtJQAUlLRQAlFLSUAFFFFABRRRQAUUUUAJRRRQAUUUUAFJS0lMApKWg0ANpKWkoAKKKKAENRHrUtRnrQAlLSUUAf/9XSpKKKkYUUUUAFFFFABRRRQAUUUUALRRRQAUUUUAFLSUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFJS0lABS0lFAC0UUUAFFFFABS0lFAC0UlFAC0UUUAFFFFAC0UlITQAvSo2fFNZ8VVd81LZSQ93qDdTC1RlqkuxKzUzdTM5prHAoGPJqJqZvpC1MQppFbBprNUW6mI0lORmkpsJylOoAKKSimAtFJS0ALRmkopAOopM0tABTGp9IaAI6UUEUlADs07NMpaBj6WmA08UAFOFJQKAFNNNOppoABS00U7NABRmikxQAopaSjNACEU2n5pppgJimlafSUAR4pcU6koASilpaAEpwplOFADqTFLRQAlLRSUAPFOpgNLmgBaKQ0ooAWlpKWgBaWm5pc0AOpKSgGgBeaBRmgUAOpc0lIaACnCmCnUAOpKKKAFpDSig0AMxmlApRS0AFFFFAC0lFJQAtFJS0AJSUppKAEpaKWgQ0im0802gBRRQOlFAAKdTaMmgBaKWkNACUtGKSgAoppNANADxS0maWgBKKWkoAWlpKWgAopaKYhKTrSmgUALRSUtABRRRQAVIgzTKniWgTLKDAqSmjpRQSFFJS0wCikopAFFFFABRRRQAUUUUAFApKKAHUtJS0AFLSUtABRRRQAUUUUAFFFLQAUUUUAFFFFABSUtJQAUUUUAFJS0lABRRRQAUUUUAFFFFABSUtFACUUUUAFJS0lABQaKKYDaSlpKACiiigBKjbrUlMNADaKKKAP/1tGiiipGFFFFABRRRQAUUUUAFFFFAC0UlLQAUUUUAFLSUtABRRRQAUUUUAFFFJQIKKKKBi0UlLQAUUUUAFFFFABRRSUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFABRRRQAtFJnFRs+KTY0hWbFQtJULyelQFiTUtlpErPmoic0wmjPFSVYD0qKpR0qFuDTAKax4pcg1GTTERE0bqQ1GxpoQ/NNJqPNAOTTEatv8A6upDTIB+7pxoGNpDTjTaAEzTs02igB9FIKKQDhThTKcKAFpKWkoAaabT6YetABS02lFADqUU2lFAx9LTaUUAOptLSUAFFFJQA/NFNzSigBKKD1opgApabSg0ANNFKcGkxQAUUYpaAEopcUmKAG06gUvFABS02loADSU6koABTqbS5oAWnCmUZoAfS5pmaM0AOJoBplKDigB+aKTrS0ALTgaZSigB9JSUUAKKWkFLQAZpabinUAKKWkpaACikozQAUZpM0UALRRRQAUtNp1ADCaKQjmloELRRSUAFHaiigAFLSCloASjvS9qYOtAD6KDRQAtNpaKAIyKAKdijFAAKfTRTqACkpaKAClo7UUCFoopKYBS0lLQAUUUlABSikpRQA8CrUY4qBBzVpRgUEsfSUUUyQooooGFFJRQAUUUUAFGaKSgBaKSikAtFJS0ALS02nUALRRRQAtFFFABRRRQAUtJS0AFFFFABRRRQAUlLSUAFFFFABSUtJQAUUUUAFFFFABRRRQAUUUUAJRRRQAUlLSUAFFFFMBtJSmkoAKKKKAEppp1NNADKKWkoA//X0aKSipGLRRRQAUUUUAFFFFABRRRQAUtJS0AFFFFABS0lLQAUUUUAFFFFACUUtFACUUUUAFLSUtABRRRQAUUUUAFJS0lABRRRQAUUUUALRRSUALRSUtABRRRQAUUUUAFBOKQnFQs9JspIV3qs7ZpzNURqGykhuKaRUlNOKRRGVoxxSlsU0tQAdqY3SnFqiLUxEJ4phPNOY1ETVCBjUBNOZqjqkJhmnLy1R1JEMuKYjaiGExSHrT16UxutSMQ0006kNAxtFLSUAFKKbmlFAD6UUzNOBoAdRSUlIBaYadQelAEdLSUtAC06mU6gBwNLTKdmgY7NFNpaACkpaQ0AFOFR04GgB1FJmkzTADSUZooAWim0ZoAfS0zNLmgB1JSZooAKKKSgBaWkooAKKKKACkzRSUAOzRmkooAUmkFJSigB1FLSigBwpabRmgB1LTM06gB1ApKBxQA6lFJmigB1FJmjNAC0ZpKKAFpDRmigBBTqbmloAXNFJRQIUUtJS0AIaKWkoAKSlpKACilpKAClpKWgBDSAU6igANFFFABRRRQAUUUUAFLSUtABRRSUAOooFFAgooopgFFFFAC0lFJQAop4FNFPWgCaMVZ7VGgwKkoIYlFFFMAooooAKKKKACkoooAKKKKACiiigAopKWkAtLSUtADqKSloAKWkpaACiiigApaSloAKKKKACiiigApKWigBKKKKACkpaKAEooooAKKKKACiiigAooooASiiigApKWkoAKKKKYCGm06m0AFFFFACUhpaTtQAyijvS0Af/9DQoooqRi0UlLQAUUUUAFFFJQAtFJS0AFFFFAC0UUUALRSUUALRSUtABRSUUALRSUUAFFLRQAUUUUAFFFFABRRRQAUlLSUAFFFFABS0lFAC0lLRQAlLRSUALRRRQAUHgUVHI2OKTGkRu9QFiTQeaTFQ2aJDSaTNDCm0hik02lNR5oAGqI08mmGmIbmo2NOJ4qMmmAwmomNOY1CxqkSxpOaQ0UVRIlTQf6wVDVi2GZKGCNgUxqeKa1SWMopKKAFppp1NNADaM0tNoAcDTgajp2aAH5opKWgBaKKKQDSKSnUlACUtJRQA7NJmkpKAHg06owadmgY7NNNFJQAUuaKQ0AGaWmUuaAHUU3NG6mA40lJnNLQAopaSigApc02igB2aTNJRQA6im5ozQAuaM02kzQA/NFNpaAHUhpc8UUAJinCijNADqUUzNLmgB9JSUUALS5ptKKAH0tNFLQAtLmm0ooAWjNFNoAeDQaYKdmgAozSGkoELmlzTaKAH0tNpaAFzTqZSigB1FFFACUUhpaACkpaSgAopaSgBaKSloAKKSigBaKSjNAAaBSUtAC0UUUAFFFFACilNIKU0CCkoopgFLSUUALRRS0ALUiDmmVPGKBMsDgUtJRQSJRRRTAKWkooAWkoooAKKKKQBRRRTASiiigAopKWgB1LSClpALRRS0AFFFFAC0UUUAFFFFAC0UUUAFFFFABRRRQAlFLSUAFFFFACUUUUAFFFFABRRRQAUlLSUAFFFFABSUtJQAUUUUwEptONIaAEooooASkp1JQBGaM0ppKAP/9HQoooqRhS0lLQAUlLSUAFFFFABRRRQAtFJS0AFLSUtABRRRQAUUUUAFFFFABRRRQAtFFFABRRRQAUUUUAFFFFABSUtJQAUUUUAFFFFAC0UlFAC0UUUAFFFLQA0nAqs5zUjtUFQ2WkJikJoJqMmpLFJqMmgmmnNACk1GaXNMJpgITTc8UhNMzTEBNRMaUmoHamkJjWPNRnrQTSVZDCiiimIKt2o+bNU6v2g4JpMaNEUGiioLIiOaKc1MzTAWikpaAG0lPptADTQDQaTpQA/NOqLNPBoAfSUlLQAtJRS0gExSU4000AJRRSUALSg02igB9FNyaXNAxc0UlLQAlIadSUANpKcabTAUGnZplKKAHZozTc0UAOzSZpKWgAozRSUAOopKKAFppp1FACCnUlFADhS02igB2abRRQAlOFJinDpQAtLTaWgB1FNzS5oAeDS0zNLmgQpNIGoNJigB+aKbS0AOopM0UALRRSZoAU0maTNFADwadTBTxQAtFFFACilNIKDQAlFFLQAUlLSUALSUUhoAWikooAWlpKWgBKSlppoAWlpBS0ALRRRTASloooAWikooELSUtJQAtFJTqQC0tIKdQA4VYQVAtWV6UxMfSUUUyQopKKAFopKKAFopKKAFopKKAFpKKKACiikoAWikpaAFFOpop1IBaKKKAFopKWgApaSigBaKKKAFopKWgAooooAKKKKACkoooAKSiigAooooAKKKKACiiigApKKKACiiigApKWkoAKKKKYBTaWkoASiiigApKWkoAYetJSmm0Af/9LQoopakYUUUUAJRRRQAUlLRQAlLSUUALS0lLQAUtJS0AFFFFABRRRQAUUUUAFLSUUALRSUUALRRRQAUUUUAFFFFABSUtJQAUUUUAFFFFABS0UUAFFFFABSMcCndKryNSbGkRsc0wmimMazNRhNNzSmmUAOpDSZpCaAGkVG3FSE8VExzTEMJqNjSk4pjGqERs1QMc05jUdUiWwoopKokWkpaSgQVp2v3azK1bYYSkykWqKBRUFiHpUVS1G1ABS0gpaACm0tIaYCU3FOpKAG0tIaTmgCTNLmmA8UZoAkBpaYDS0AOptFFIBKKWkoAKBRSUAOzSUlFAx1Lmm0ZpgOzRTc0uaAFptLRQAlJS02gBaTNFJQA7NLmmU6gBaKSigB1FNzTs0ALRSZooAWikooAWikooAdS03vS8UALS0lLQAUGlppoATNOpuKKAH5p1R04UAPzRTaM0CFpaZmjNAD80oNMpRQA+kIpBTqAGgU8Cm04UAGKcKSloAdmkzSUlAD6KbSigBaKQ0UALSUUlAC0GiigAooooAWikooAWmmlptACg9qdUeOafQAtFFJTAXNFJS0CClpKKAFoooFAC0tFFIBwpwpopwpgSL1qwOlQJ1qftQSwooopiCiikoAWikooAWikpaACiiigAopKWgBKKKKACiiigBRTqQU6kAtFJS0AFLSUUALRRRQAUtJS0AFLSUtABRSUUALRRRQAlFFFACUUtJQAUUUUAFFFFABSUtJQAUUUtACUUtJQAUUUUAJRRRTASkNLSGgBKKKKACkoooAY1Mp7U2gD//T0KWkoqRi0UUUAFJS0lABRRRQAUUUUAFLSUtABS0lLQAUUUUAFFFFABRRRQAUUUUAFFFFABS0lLQAUUUUAFFFFACUUUUAFFFLQAUlLSUALRRRQAUtJS0ANc4FVCcmpZG5xUNQ2aRQHpURqVjULGpLGGm0uc0UAN9qQ0E80ZpiGGoialaq5NMQxqgY1I5qsxzVIliGkooqiAooopgFJS0UAJWvD9wVkjrWtH90UmNE4paaKdUFiU0jIpxptAEfQ06kYd6AaAFpDS0lMBKSlpKAA000+mmgBtLmkpKAH5p2aZThQA6ikzS0AFFFJSASiiigBKKKSmMWikooAcKWm0tAC5ozTaM0AOpKKSgBKKKKAClpKKAFoopKAFpM0UlADqdmmUooAdmjJptLmgBaKSigB1FJS0CHClzTaKAH0U3NGaBi0UZpM0ALS5puaSgB2aM02kzQIfRTc0tADqXNNpaAHg0uaZS0AOFOpgpwoAdS02lzQA6kozRQAUtJRQAtFJS0AFLSUUAFFLSUAFFFFAC0UlFABSUtFABRRRQIWikpaYBS0lFAC0UUtABQKWigBaWkp1IBRThSCnCmBKgqU1GlSGglhSUUUyQooooGFFFFABRRRQAUUUUAFFFFABRRRQAUUUtACinU0U6kAUtJS0AFFFFABS0lFAC0UlLQAtFJS0AFFFFAC0UUUAFJS0lABSUtJQAUUUUAFFFFABSUtJQAUtJS0AFJS0lABRRRQAlFFFMBKSlooAbRRRQAlFLSUANNNp5plAH/1NCiiipGLRRRQAUUUUAJRRRQAUUtFACUtFFABS0UUAFFFFABRRRQAUUUUAFFFFABRRRQAUtJS0AFFFFABRRRQAlFFFABS0lFAC0lLRQAUUUUAFI5wKcKrynmkxojPJzTScUucVEzVmaoRmph5FIaWgYgFI1SCo2PNADcZqM5BqSmt1piGMflqsTxU71VY1SJIXNQ09uaZVolhRRSUyRaKSigApaSigQq9RWunSslPvCtZallIlHSlFIKWpLFpjU+kPNADB0ppGDTulL1FADaKSlpgJRS0lABSUtFAEZpDTyKaaAG0uaSkoAfmnZqLNOBoAfRTc0tAC0lFFACUUUlAxaKSloAKWkpM0ALRSUUALS0lFABRRRQAUUUUAFLSUUAFFFFABRRRQAUtJS9qACikpaBC0ZpKKAHZozTaWgB1FNooAdmim0UAOozTaWgBaSiloAKWkooAfS0ynUAOopKWgBaWkooAfmjNNozQA+lzTRSmgAopM0UAOpaaKdQAtFFFAC5ptLSUAFFJRmgB1FJmlzQAUUlFAhaKSlFABS0UUAFJS0UwEp4ptOFADqKWigApaKKQDhTxTBTx1pgTqOKfTV6U6ggSilopgJSU6koASilooASilooASiiigAooooAKSiigBaWkpaAHClpBS0gCiiigApaSloAKKKKACiiigBaWkpaACiiigApaSigBaSiigBKKKKACiikoAWikooAKKKKACiiigBaSlpKACiiigApKWkoASiiimAhpKWkoAKSlooAaabinGkoA//V0aKKKkYUUUUAFFFFACUtFFABRRRQAUUUtABRRRQAUUUUAFFFFABRRRQAUUUUAFFLRQAUUUUAFFFFABRRRQAUlFFABS0lLQAUUUUAFFFLQAHgVTc5NWnOFqkTUSLihpNR9aeeaULUGg3bTTTzUZpgFRmn0w0AApD1p46Uw9aYiCSqr9KtP1qrJ0qkSyv2ptOppqyWJSUtJTJCiiigQUUUUASRcuK1FrNhHzZrTWpZaHinUyn1JQtFFFADSKaKfTDQAhFJT+tIaYCUUgpaAEopaKAG0hFOpDQBGRTDUpphFADKXNGKKAHClzTKXNAD80UlLQAUlLSUAJRRRQAUUUUAFLSUtAwooooAWikooAWiiigAopKWgAoopKAFopKWgAopKWgQUUUUAFLSUUALRSUUALRSUUAOFFJRQAtFFFADqKbS0ALRTQTS0ALS5ptFAD80uaYKcKAHZpc02loAdSZpKKAHA0uaYKcKAH0tNzRmgB1GaTNJQA/NJmm0UAPzSZptL2oAWikpaAClpKUUCFooooAKTpS03rQA8GnUwCn0AJS0hpRQAuKWlpaYBS0UUgClpKWgBRTx1popQcGgC0OlLUatxTwaZAtFFJTAWkoooAKKKKACiiigApKWigBKKKKAEooooAWlpBTqAFFLSUtIAooooAKKKKAFopKKAFooooAKWkpaACiiigApaSloAKSlpKACiiigBKKKKACiiigAoopKAFooooAKKKKACiiigApKTvS0AJRRSUwCkpaSgAoopKACkpaKAP/W0aKKKkYUUUUAFFFFABRRRQAUUUUAFLSUtABRRRQAUUUtABRRRQAlFLRQAlLRRQAUUUUAFFFFABRRRQAUUUUAJRS0lAC0UUUAFFJS0AFKKSnCgCGU1UNTynmq/es2axFApSaOlRlqRQE1HmnHpUdAATTDzTqMcUAID2o5zRincYpiKsvWq8g+Wp5euajA3Ag1SJKfekNOIwaaatEsbSUUUyQooooEFFFOUc0DLEQxV9elUo+tXVqWUh1OopRUlBRS4pMUAFIRTqWgCLpS9aUikpgNIpM04800igBaKaKWgAoo7UCgBpFNIp5pKAI6TFPxTeaAGGgGnEU2gB2aXNMzSgigB9FNzRQAtFFJQAopaaKWgAooooGLRSUUALRSUtABRRRQAUUUUAFFFFABRRRQIKKKKACiiigApaSigBaKSigBaKKKACiiigBaKKSgBaWkooAWikopgOooooAWlpKWgBaWkooAWlptLQAtOFNpaAHUUgpaQBS0lFAC0UlFAC5pKKKBC5ozSUUAOp1NFLQAtLTaUUABoFLS4oAUUtJS0wCgU6jFAC0tJSikAtFLSUAFLRRQAopjtjmn1WnbAoGSrLU6yVlhsVKslK4WNQNmn5qgklWVfNNMlonopAaCcVRItFNzS0ALRSUUCFopKKBi0lFFACUUtLigBKcKMUtIApaSloAKKKKACiiigAooooAKWkooAWiiigBaKKKACiiigBaSiigApKWkoAKKKKACiiigApKKKAFopKKAFpKKKACiiigAooooASkpaSmAUlLSUAFJS0lABRRRQB//19GiiipGFFFFABRRRQAUUUUAFFFFABS0UUAFFFFAC0UlFAC0UUlAC0UlFAC0UUUAFFFFABRRRQAUUUUAFFFFACUUUtACUtFFABRRS0AJSk4FFRyNgYpMaK7nJzUVOJpnSs2aoQmo6ceabQMXtTKcaYaAFpaQUvFACU2lNFMRBIMiq4O2rrjiqjLzmqRLKsnWoallPNQ1aIYUUUUyQoopaAAVIBTVFS4pFIkTrVxapr1q2lSUiYU6kFLSGLRRRQAUUUUABplPppoAbSEU6igCOkp5FNIpgFFJS0AIaKKKAEIpKdTaAGmmkVJSUAREUlSEU0igBKM0lFADqWmZpwNAC0UUUALmikooAWikpaACiiigAooooGFFFFABS0lLQIKKKKACiiigAooooAKKKKAClpKKAFopKKAFopKWgAooooAWikooAKUUlLTAWlpKWgBaKSigBc0tJS5oAWikpDQA8U6oxTs0AOpc0yloEOoptLSAWikpRTAWiikpALSikFITigB3el60wc08CgBaUUU7FABS0UtABSikpRQA4UtJS0AFKKKWgAooooAKUUlKKAFrOuG+bFXz0rKnPz0DGg08NVfNPBqbDLSvU6y4qgCaeGIoA1FmqTzc1kCQ1IJDTuKxqBxTw2ayxIakWYincXKaeaXiqKzetSiUZouLlLNFRhwakBzTuKwUuKdxRigQmKXFLRQAUUUUAJRS0UAJRRRQAUUUUAFLSUtABRRRQAUtJS0AFLSUUALRRRQAUUUUAFJS0lABRRRQAUlLSUAFFFFABRRRQAUUUUAF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lptLQA6lpKKAFzRmm5oFADs0tNpaAFoxQKdQAAUtJSigBaWkpRQMWnUgp9ACUtLRSAWiiloAUUoptOoAdRQKWgBcUoFFLQAUlLSUAFOFJTgKAFopaSgAooooASloooAzr0/LWL3rXvTxisorTEANODUzFAoAlzmg8DNMzilzmgYoc1IDmoO+KlFAD6SkzQDSAdk1KrcVFSigCbOetGfSoS1OVqQyXNKKaKUUATrUgNVwak3Uhk4NSK2KqhqfuoAvJJVkPWWHxUqyGhMTRpA5p1Ullqyj5qrkNElFL1oNMkSiiimAUUUUAFFFFIBaKKKACiiigApaSigBaKKKACiiigBKKKKACiiigAooooAKKKKACiiigApKWigBKKKKYCUlOpKAEpKWigBKKKKAP//T0aKWipGFFFGaACikJppai47D6TNR76aXFTcdibNJuqAvTd9LmHylnfQXqrvpN9HMPlLW+jfVXdRuo5g5S1vpN9Vt1Juo5g5SwXppc1BupN1K47EpamE0zNGaQxSaaTQTTaQC0ZpKWgYUtJiloAKKKTNAC0maKSgBaKWkoADWjapgbqzu9a8Q2oKpESKtyfmC0+3H7w1BOczLU9v99q1Mynqx4FVrUYjqfVedoqKAfJUM0iPc0qnIpGpsfQ1BQ402lakHNAyRRTX607mmGgCI02pDUXNADhincVHzSg0AK1MzUnao9vemIQ1QuFw2fWrx61XuRlQfSqRLKijNSYqNDzUtWSJipF6U0dafSAKWiikMUVIKjFSLQBOtPFMFPFIY6lFIKWgBaWkooGBptOooASiiigBRS02loADTKkppFADKKWkoAKSlopgJmlpKKAAimEVJSUCIiKbUpFMIoAbRRikoAWkopaAGkU2pKaRTAZRQRRQAUlLSUCEpcUYpaAGUtLSUAFJS0YoASlzSUYoAWlpKKAFpc02loGLmikooAdRTaWgBaKSloAWikooELSUUUALRRRQAUUUlAC0tJRQAtLTaWgBaKQU6gBaKSnCgBRTqSigApRRS0AFKKQinLQMcKfTaWgBaUUlOpAFFFLQAlOFGKUUALS0lFADqWkFLQAU4U3FPFABilozRQAUUUUAFFFFABS0lHagDIvPvYqjjir9397NU6AI9tNxipsU0imBDzThTsUmKBDT609TkU0rS9KBjs0uaZSg+tADwaXNMp2KQC0o4pvNGaAJwadmoQacDQMmBozTAaKQEoNPqJTTiaQyUGng1XDVIpoAnBNTI5FVgaeDigDSSSpgc1mK+KspJTTIaLlFMVs0+qIEopaSmAUUUUAFLRRSAKKKKACiiigApaSigBaSlpKACiiigAooooAKKKKACiiigAooooAKSlpKACiiimAUlLSUAJRRRQAlJS0UAf//U0uKQkVEWpu6s+YvlJC1N31ETTc0rlcpKXphamGm1Nx2HFqTNNooGLmkpM0ZpALRSUUDFozSUUAFBNIaSgBc0ZptLQAtFFLQAmKKWigBuKdSUZoAWkzzSUnegBxNNpSaKAClpKKAHUUmaDQAJy4FbKjC1jwDMwrZPC/hVxM5GU5zNVy3++x96zyczYrSgHLVoQZ+pjlahjOFxVjUj8y1VX1rNmkSRulNj9Kc33aYhw1SUPbrinAYpG60ZNAD80w9aUUnegYhHFRGpic1GRzQA3FLtopaAIycUoOeKGGaaKYmRk/NimSjMZFKx+enNyKpEsyx1qYVEw2sRUi1ZI8VLUYqSkMKKKWkAU8U0U4UATLUgqJakFAx9LTRTqQBS0UlAxaKKKACkpaKAEooooAWiiigBppKfim4oASilooAZiinUmKYCUUuKSgAppFOooER4ppFSUmKAI8UlPxSYoASjFFFMBpFNxUlJQBHiinkU3FACUUtJQISijFLQAlGKWigBuKWlpKAEopaKAEo5paKACiiigAooooGLRSUtAhaKKKACiiigAoopaACiiigAoopaAEpaWgUAKKWiloAbThRQKAHUUCloAUU7FAp1AxMUAc06lFABS4opaQAKdSCloATFPpKWgApaSigApRRinAUAApaKdQAUUUUALRRRQAUtJRQAtFJRQAtHaijtQBk3XLYqqBVq5+/VcUANoxTsClxQBHimkVLimkUAMxSYp9JQBGVpKlIqMimAA1IDUNPBoAeaZ3zT+tNNIBwpaQdKOlAD80bqaDQRQMeGqXORVbkVIhNICYCpRxUYp+aQyTNOzUQp4NIB4NSq1QA04GgC6kmKtI+azAanR8U0yWjSpMVEj5qbrVohobRS0lMQUtJRSAKKSimAtFJRQA6ikFLSAWkoooAKKKKACiiigAooooAKKKKACiiigApKKKYBRRRQAUlFFACUUtJQAlFFFAH/1Zc0UzNGawNx9JSZozSAWkxRmigY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ZIaVTxSGlHSiwXZICaeOtRCpF60rBdk1KKbSilYd2OpQaSlFFguyQU8E1GKeKpE3JQTTgaYvSnCqJHZooooAWiiigAooooAKKKKACiiigAooooAKKKKAP//ZdXBvcnRyYWl0X2NhcHR1cmVfZGF0ZdgYWHKkaGRpZ2VzdElEGhreXBpmcmFuZG9tUFgDReLgmjXEYk5zixHmQuFxZWxlbWVudElkZW50aWZpZXJ1cG9ydHJhaXRfY2FwdHVyZV9kYXRlbGVsZW1lbnRWYWx1ZcB0MjAyMC0wMS0wMVQxMjowMDowMFpwcmVzaWRlbnRfYWRkcmVzc9gYWGikaGRpZ2VzdElEGk1cbc5mcmFuZG9tUAM/qUauYsFzUM9ixuFq69pxZWxlbWVudElkZW50aWZpZXJwcmVzaWRlbnRfYWRkcmVzc2xlbGVtZW50VmFsdWVwMTM4IEVhZ2xlIFN0cmVldG1yZXNpZGVudF9jaXR52BhYW6RoZGlnZXN0SUQaLhhGDGZyYW5kb21Qjl2QXOsKxZaPKx7FVIuQfXFlbGVtZW50SWRlbnRpZmllcm1yZXNpZGVudF9jaXR5bGVsZW1lbnRWYWx1ZWZBbGJhbnlwcmVzaWRlbnRfY291bnRyedgYWFqkaGRpZ2VzdElEGhxj0JlmcmFuZG9tUKna63fliKoNpFPVO9m6vh9xZWxlbWVudElkZW50aWZpZXJwcmVzaWRlbnRfY291bnRyeWxlbGVtZW50VmFsdWViVVN0cmVzaWRlbnRfcG9zdGFsX2NvZGXYGFhmpGhkaWdlc3RJRBpvGyZnZnJhbmRvbVB219cJElc5IN7e5U0/aoPmcWVsZW1lbnRJZGVudGlmaWVydHJlc2lkZW50X3Bvc3RhbF9jb2RlbGVsZW1lbnRWYWx1ZWoxMjIwMi0xNzE5bnJlc2lkZW50X3N0YXRl2BhYXqRoZGlnZXN0SUQaaPOsXmZyYW5kb21QV+35tORPU9FAEsEYLSAx2nFlbGVtZW50SWRlbnRpZmllcm5yZXNpZGVudF9zdGF0ZWxlbGVtZW50VmFsdWVoTmV3IFlvcmtjc2V42BhYS6RoZGlnZXN0SUQabdwPYmZyYW5kb21QxPq5tN1VtWmK5souwN8sqHFlbGVtZW50SWRlbnRpZmllcmNzZXhsZWxlbWVudFZhbHVlAXZ1bl9kaXN0aW5ndWlzaGluZ19zaWdu2BhYYaRoZGlnZXN0SUQaEF8n+2ZyYW5kb21Qb5lnqy7mrt29oshwR1aPQXFlbGVtZW50SWRlbnRpZmllcnZ1bl9kaXN0aW5ndWlzaGluZ19zaWdubGVsZW1lbnRWYWx1ZWNVU0Fmd2VpZ2h02BhYT6RoZGlnZXN0SUQaCqGod2ZyYW5kb21Q6vavWDyMaT0+p/uHivRgyHFlbGVtZW50SWRlbnRpZmllcmZ3ZWlnaHRsZWxlbWVudFZhbHVlGEY="; diff --git a/example/ios/WalletSdkExample-Bridging-Header.h b/example/ios/MobileSdkExample-Bridging-Header.h similarity index 100% rename from example/ios/WalletSdkExample-Bridging-Header.h rename to example/ios/MobileSdkExample-Bridging-Header.h diff --git a/example/ios/WalletSdkExample.xcodeproj/project.pbxproj b/example/ios/MobileSdkExample.xcodeproj/project.pbxproj similarity index 78% rename from example/ios/WalletSdkExample.xcodeproj/project.pbxproj rename to example/ios/MobileSdkExample.xcodeproj/project.pbxproj index d7c2502..809a733 100644 --- a/example/ios/WalletSdkExample.xcodeproj/project.pbxproj +++ b/example/ios/MobileSdkExample.xcodeproj/project.pbxproj @@ -7,13 +7,13 @@ objects = { /* Begin PBXBuildFile section */ - 00E356F31AD99517003FC87E /* WalletSdkExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* WalletSdkExampleTests.m */; }; + 00E356F31AD99517003FC87E /* MobileSdkExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* MobileSdkExampleTests.m */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; - 8E334341E9171A044871B126 /* libPods-WalletSdkExample-WalletSdkExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B1CF6A11F71833D5BFBD7FE1 /* libPods-WalletSdkExample-WalletSdkExampleTests.a */; }; - CEB5638F86645A67D4DFA186 /* libPods-WalletSdkExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C0FC85DD398A45827DE4FCA /* libPods-WalletSdkExample.a */; }; + 8E334341E9171A044871B126 /* libPods-MobileSdkExample-MobileSdkExampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B1CF6A11F71833D5BFBD7FE1 /* libPods-MobileSdkExample-MobileSdkExampleTests.a */; }; + CEB5638F86645A67D4DFA186 /* libPods-MobileSdkExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0C0FC85DD398A45827DE4FCA /* libPods-MobileSdkExample.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -22,27 +22,27 @@ containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; proxyType = 1; remoteGlobalIDString = 13B07F861A680F5B00A75B9A; - remoteInfo = WalletSdkExample; + remoteInfo = MobileSdkExample; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00E356EE1AD99517003FC87E /* WalletSdkExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WalletSdkExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 00E356EE1AD99517003FC87E /* MobileSdkExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MobileSdkExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - 00E356F21AD99517003FC87E /* WalletSdkExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WalletSdkExampleTests.m; sourceTree = "<group>"; }; - 0C0FC85DD398A45827DE4FCA /* libPods-WalletSdkExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-WalletSdkExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07F961A680F5B00A75B9A /* WalletSdkExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WalletSdkExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = WalletSdkExample/AppDelegate.h; sourceTree = "<group>"; }; - 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = WalletSdkExample/AppDelegate.mm; sourceTree = "<group>"; }; - 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = WalletSdkExample/Images.xcassets; sourceTree = "<group>"; }; - 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = WalletSdkExample/Info.plist; sourceTree = "<group>"; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = WalletSdkExample/main.m; sourceTree = "<group>"; }; - 3D2716F933191D918BBB511A /* Pods-WalletSdkExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WalletSdkExample.debug.xcconfig"; path = "Target Support Files/Pods-WalletSdkExample/Pods-WalletSdkExample.debug.xcconfig"; sourceTree = "<group>"; }; - 78FAA5408B97844304766AAE /* Pods-WalletSdkExample-WalletSdkExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WalletSdkExample-WalletSdkExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-WalletSdkExample-WalletSdkExampleTests/Pods-WalletSdkExample-WalletSdkExampleTests.debug.xcconfig"; sourceTree = "<group>"; }; - 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = WalletSdkExample/LaunchScreen.storyboard; sourceTree = "<group>"; }; - AE13EFCE036761C6C07826CB /* Pods-WalletSdkExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WalletSdkExample.release.xcconfig"; path = "Target Support Files/Pods-WalletSdkExample/Pods-WalletSdkExample.release.xcconfig"; sourceTree = "<group>"; }; - B1CF6A11F71833D5BFBD7FE1 /* libPods-WalletSdkExample-WalletSdkExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-WalletSdkExample-WalletSdkExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - BC0B9F1E22090D79668DF814 /* Pods-WalletSdkExample-WalletSdkExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WalletSdkExample-WalletSdkExampleTests.release.xcconfig"; path = "Target Support Files/Pods-WalletSdkExample-WalletSdkExampleTests/Pods-WalletSdkExample-WalletSdkExampleTests.release.xcconfig"; sourceTree = "<group>"; }; + 00E356F21AD99517003FC87E /* MobileSdkExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MobileSdkExampleTests.m; sourceTree = "<group>"; }; + 0C0FC85DD398A45827DE4FCA /* libPods-MobileSdkExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MobileSdkExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07F961A680F5B00A75B9A /* MobileSdkExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MobileSdkExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = MobileSdkExample/AppDelegate.h; sourceTree = "<group>"; }; + 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = MobileSdkExample/AppDelegate.mm; sourceTree = "<group>"; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = MobileSdkExample/Images.xcassets; sourceTree = "<group>"; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = MobileSdkExample/Info.plist; sourceTree = "<group>"; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = MobileSdkExample/main.m; sourceTree = "<group>"; }; + 3D2716F933191D918BBB511A /* Pods-MobileSdkExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MobileSdkExample.debug.xcconfig"; path = "Target Support Files/Pods-MobileSdkExample/Pods-MobileSdkExample.debug.xcconfig"; sourceTree = "<group>"; }; + 78FAA5408B97844304766AAE /* Pods-MobileSdkExample-MobileSdkExampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MobileSdkExample-MobileSdkExampleTests.debug.xcconfig"; path = "Target Support Files/Pods-MobileSdkExample-MobileSdkExampleTests/Pods-MobileSdkExample-MobileSdkExampleTests.debug.xcconfig"; sourceTree = "<group>"; }; + 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = MobileSdkExample/LaunchScreen.storyboard; sourceTree = "<group>"; }; + AE13EFCE036761C6C07826CB /* Pods-MobileSdkExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MobileSdkExample.release.xcconfig"; path = "Target Support Files/Pods-MobileSdkExample/Pods-MobileSdkExample.release.xcconfig"; sourceTree = "<group>"; }; + B1CF6A11F71833D5BFBD7FE1 /* libPods-MobileSdkExample-MobileSdkExampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MobileSdkExample-MobileSdkExampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + BC0B9F1E22090D79668DF814 /* Pods-MobileSdkExample-MobileSdkExampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MobileSdkExample-MobileSdkExampleTests.release.xcconfig"; path = "Target Support Files/Pods-MobileSdkExample-MobileSdkExampleTests/Pods-MobileSdkExample-MobileSdkExampleTests.release.xcconfig"; sourceTree = "<group>"; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ @@ -51,7 +51,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E334341E9171A044871B126 /* libPods-WalletSdkExample-WalletSdkExampleTests.a in Frameworks */, + 8E334341E9171A044871B126 /* libPods-MobileSdkExample-MobileSdkExampleTests.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -59,20 +59,20 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CEB5638F86645A67D4DFA186 /* libPods-WalletSdkExample.a in Frameworks */, + CEB5638F86645A67D4DFA186 /* libPods-MobileSdkExample.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00E356EF1AD99517003FC87E /* WalletSdkExampleTests */ = { + 00E356EF1AD99517003FC87E /* MobileSdkExampleTests */ = { isa = PBXGroup; children = ( - 00E356F21AD99517003FC87E /* WalletSdkExampleTests.m */, + 00E356F21AD99517003FC87E /* MobileSdkExampleTests.m */, 00E356F01AD99517003FC87E /* Supporting Files */, ); - path = WalletSdkExampleTests; + path = MobileSdkExampleTests; sourceTree = "<group>"; }; 00E356F01AD99517003FC87E /* Supporting Files */ = { @@ -83,7 +83,7 @@ name = "Supporting Files"; sourceTree = "<group>"; }; - 13B07FAE1A68108700A75B9A /* WalletSdkExample */ = { + 13B07FAE1A68108700A75B9A /* MobileSdkExample */ = { isa = PBXGroup; children = ( 13B07FAF1A68108700A75B9A /* AppDelegate.h */, @@ -93,15 +93,15 @@ 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, 13B07FB71A68108700A75B9A /* main.m */, ); - name = WalletSdkExample; + name = MobileSdkExample; sourceTree = "<group>"; }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 0C0FC85DD398A45827DE4FCA /* libPods-WalletSdkExample.a */, - B1CF6A11F71833D5BFBD7FE1 /* libPods-WalletSdkExample-WalletSdkExampleTests.a */, + 0C0FC85DD398A45827DE4FCA /* libPods-MobileSdkExample.a */, + B1CF6A11F71833D5BFBD7FE1 /* libPods-MobileSdkExample-MobileSdkExampleTests.a */, ); name = Frameworks; sourceTree = "<group>"; @@ -116,9 +116,9 @@ 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 13B07FAE1A68108700A75B9A /* WalletSdkExample */, + 13B07FAE1A68108700A75B9A /* MobileSdkExample */, 832341AE1AAA6A7D00B99B32 /* Libraries */, - 00E356EF1AD99517003FC87E /* WalletSdkExampleTests */, + 00E356EF1AD99517003FC87E /* MobileSdkExampleTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, BBD78D7AC51CEA395F1C20DB /* Pods */, @@ -131,8 +131,8 @@ 83CBBA001A601CBA00E9B192 /* Products */ = { isa = PBXGroup; children = ( - 13B07F961A680F5B00A75B9A /* WalletSdkExample.app */, - 00E356EE1AD99517003FC87E /* WalletSdkExampleTests.xctest */, + 13B07F961A680F5B00A75B9A /* MobileSdkExample.app */, + 00E356EE1AD99517003FC87E /* MobileSdkExampleTests.xctest */, ); name = Products; sourceTree = "<group>"; @@ -140,10 +140,10 @@ BBD78D7AC51CEA395F1C20DB /* Pods */ = { isa = PBXGroup; children = ( - 3D2716F933191D918BBB511A /* Pods-WalletSdkExample.debug.xcconfig */, - AE13EFCE036761C6C07826CB /* Pods-WalletSdkExample.release.xcconfig */, - 78FAA5408B97844304766AAE /* Pods-WalletSdkExample-WalletSdkExampleTests.debug.xcconfig */, - BC0B9F1E22090D79668DF814 /* Pods-WalletSdkExample-WalletSdkExampleTests.release.xcconfig */, + 3D2716F933191D918BBB511A /* Pods-MobileSdkExample.debug.xcconfig */, + AE13EFCE036761C6C07826CB /* Pods-MobileSdkExample.release.xcconfig */, + 78FAA5408B97844304766AAE /* Pods-MobileSdkExample-MobileSdkExampleTests.debug.xcconfig */, + BC0B9F1E22090D79668DF814 /* Pods-MobileSdkExample-MobileSdkExampleTests.release.xcconfig */, ); path = Pods; sourceTree = "<group>"; @@ -151,9 +151,9 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 00E356ED1AD99517003FC87E /* WalletSdkExampleTests */ = { + 00E356ED1AD99517003FC87E /* MobileSdkExampleTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "WalletSdkExampleTests" */; + buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "MobileSdkExampleTests" */; buildPhases = ( E47927E798B75A1DE314C951 /* [CP] Check Pods Manifest.lock */, 00E356EA1AD99517003FC87E /* Sources */, @@ -167,14 +167,14 @@ dependencies = ( 00E356F51AD99517003FC87E /* PBXTargetDependency */, ); - name = WalletSdkExampleTests; - productName = WalletSdkExampleTests; - productReference = 00E356EE1AD99517003FC87E /* WalletSdkExampleTests.xctest */; + name = MobileSdkExampleTests; + productName = MobileSdkExampleTests; + productReference = 00E356EE1AD99517003FC87E /* MobileSdkExampleTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 13B07F861A680F5B00A75B9A /* WalletSdkExample */ = { + 13B07F861A680F5B00A75B9A /* MobileSdkExample */ = { isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "WalletSdkExample" */; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "MobileSdkExample" */; buildPhases = ( C5EC242B7A46509F42FDCC5F /* [CP] Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, @@ -188,9 +188,9 @@ ); dependencies = ( ); - name = WalletSdkExample; - productName = WalletSdkExample; - productReference = 13B07F961A680F5B00A75B9A /* WalletSdkExample.app */; + name = MobileSdkExample; + productName = MobileSdkExample; + productReference = 13B07F961A680F5B00A75B9A /* MobileSdkExample.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -210,7 +210,7 @@ }; }; }; - buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "WalletSdkExample" */; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "MobileSdkExample" */; compatibilityVersion = "Xcode 12.0"; developmentRegion = en; hasScannedForEncodings = 0; @@ -223,8 +223,8 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 13B07F861A680F5B00A75B9A /* WalletSdkExample */, - 00E356ED1AD99517003FC87E /* WalletSdkExampleTests */, + 13B07F861A680F5B00A75B9A /* MobileSdkExample */, + 00E356ED1AD99517003FC87E /* MobileSdkExampleTests */, ); }; /* End PBXProject section */ @@ -271,15 +271,15 @@ files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample-WalletSdkExampleTests/Pods-WalletSdkExample-WalletSdkExampleTests-resources-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample-MobileSdkExampleTests/Pods-MobileSdkExample-MobileSdkExampleTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample-WalletSdkExampleTests/Pods-WalletSdkExample-WalletSdkExampleTests-resources-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample-MobileSdkExampleTests/Pods-MobileSdkExample-MobileSdkExampleTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample-WalletSdkExampleTests/Pods-WalletSdkExample-WalletSdkExampleTests-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample-MobileSdkExampleTests/Pods-MobileSdkExample-MobileSdkExampleTests-resources.sh\"\n"; showEnvVarsInLog = 0; }; 32E8683F79F209A41A95A47B /* [CP] Copy Pods Resources */ = { @@ -288,15 +288,15 @@ files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample/Pods-WalletSdkExample-resources-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample/Pods-MobileSdkExample-resources-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample/Pods-WalletSdkExample-resources-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample/Pods-MobileSdkExample-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample/Pods-WalletSdkExample-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample/Pods-MobileSdkExample-resources.sh\"\n"; showEnvVarsInLog = 0; }; 7CE9D2CA8EF130692C506551 /* [CP] Embed Pods Frameworks */ = { @@ -305,15 +305,15 @@ files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample-WalletSdkExampleTests/Pods-WalletSdkExample-WalletSdkExampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample-MobileSdkExampleTests/Pods-MobileSdkExample-MobileSdkExampleTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample-WalletSdkExampleTests/Pods-WalletSdkExample-WalletSdkExampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample-MobileSdkExampleTests/Pods-MobileSdkExample-MobileSdkExampleTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample-WalletSdkExampleTests/Pods-WalletSdkExample-WalletSdkExampleTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample-MobileSdkExampleTests/Pods-MobileSdkExample-MobileSdkExampleTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 9BCFD351F966B5EBE7361727 /* [CP] Embed Pods Frameworks */ = { @@ -322,15 +322,15 @@ files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample/Pods-WalletSdkExample-frameworks-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample/Pods-MobileSdkExample-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample/Pods-WalletSdkExample-frameworks-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample/Pods-MobileSdkExample-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-WalletSdkExample/Pods-WalletSdkExample-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MobileSdkExample/Pods-MobileSdkExample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; C5EC242B7A46509F42FDCC5F /* [CP] Check Pods Manifest.lock */ = { @@ -348,7 +348,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-WalletSdkExample-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-MobileSdkExample-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -370,7 +370,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-WalletSdkExample-WalletSdkExampleTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-MobileSdkExample-MobileSdkExampleTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -384,7 +384,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 00E356F31AD99517003FC87E /* WalletSdkExampleTests.m in Sources */, + 00E356F31AD99517003FC87E /* MobileSdkExampleTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -402,7 +402,7 @@ /* Begin PBXTargetDependency section */ 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 13B07F861A680F5B00A75B9A /* WalletSdkExample */; + target = 13B07F861A680F5B00A75B9A /* MobileSdkExample */; targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -410,14 +410,14 @@ /* Begin XCBuildConfiguration section */ 00E356F61AD99517003FC87E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 78FAA5408B97844304766AAE /* Pods-WalletSdkExample-WalletSdkExampleTests.debug.xcconfig */; + baseConfigurationReference = 78FAA5408B97844304766AAE /* Pods-MobileSdkExample-MobileSdkExampleTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); - INFOPLIST_FILE = WalletSdkExampleTests/Info.plist; + INFOPLIST_FILE = MobileSdkExampleTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -431,17 +431,17 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/WalletSdkExample.app/WalletSdkExample"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MobileSdkExample.app/MobileSdkExample"; }; name = Debug; }; 00E356F71AD99517003FC87E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BC0B9F1E22090D79668DF814 /* Pods-WalletSdkExample-WalletSdkExampleTests.release.xcconfig */; + baseConfigurationReference = BC0B9F1E22090D79668DF814 /* Pods-MobileSdkExample-MobileSdkExampleTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; - INFOPLIST_FILE = WalletSdkExampleTests/Info.plist; + INFOPLIST_FILE = MobileSdkExampleTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.4; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -455,20 +455,20 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/WalletSdkExample.app/WalletSdkExample"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MobileSdkExample.app/MobileSdkExample"; }; name = Release; }; 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3D2716F933191D918BBB511A /* Pods-WalletSdkExample.debug.xcconfig */; + baseConfigurationReference = 3D2716F933191D918BBB511A /* Pods-MobileSdkExample.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = FZVYR3KYL4; ENABLE_BITCODE = NO; - INFOPLIST_FILE = WalletSdkExample/Info.plist; + INFOPLIST_FILE = MobileSdkExample/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -480,7 +480,7 @@ "-lc++", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = WalletSdkExample; + PRODUCT_NAME = MobileSdkExample; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; @@ -489,13 +489,13 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AE13EFCE036761C6C07826CB /* Pods-WalletSdkExample.release.xcconfig */; + baseConfigurationReference = AE13EFCE036761C6C07826CB /* Pods-MobileSdkExample.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = FZVYR3KYL4; - INFOPLIST_FILE = WalletSdkExample/Info.plist; + INFOPLIST_FILE = MobileSdkExample/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -507,7 +507,7 @@ "-lc++", ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = WalletSdkExample; + PRODUCT_NAME = MobileSdkExample; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; @@ -689,7 +689,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "WalletSdkExampleTests" */ = { + 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "MobileSdkExampleTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 00E356F61AD99517003FC87E /* Debug */, @@ -698,7 +698,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "WalletSdkExample" */ = { + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "MobileSdkExample" */ = { isa = XCConfigurationList; buildConfigurations = ( 13B07F941A680F5B00A75B9A /* Debug */, @@ -707,7 +707,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "WalletSdkExample" */ = { + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "MobileSdkExample" */ = { isa = XCConfigurationList; buildConfigurations = ( 83CBBA201A601CBA00E9B192 /* Debug */, diff --git a/example/ios/WalletSdkExample.xcworkspace/contents.xcworkspacedata b/example/ios/MobileSdkExample.xcworkspace/contents.xcworkspacedata similarity index 77% rename from example/ios/WalletSdkExample.xcworkspace/contents.xcworkspacedata rename to example/ios/MobileSdkExample.xcworkspace/contents.xcworkspacedata index e9fd509..be6b81e 100644 --- a/example/ios/WalletSdkExample.xcworkspace/contents.xcworkspacedata +++ b/example/ios/MobileSdkExample.xcworkspace/contents.xcworkspacedata @@ -2,7 +2,7 @@ <Workspace version = "1.0"> <FileRef - location = "group:WalletSdkExample.xcodeproj"> + location = "group:MobileSdkExample.xcodeproj"> </FileRef> <FileRef location = "group:Pods/Pods.xcodeproj"> diff --git a/example/ios/WalletSdkExample/AppDelegate.h b/example/ios/MobileSdkExample/AppDelegate.h similarity index 100% rename from example/ios/WalletSdkExample/AppDelegate.h rename to example/ios/MobileSdkExample/AppDelegate.h diff --git a/example/ios/WalletSdkExample/AppDelegate.mm b/example/ios/MobileSdkExample/AppDelegate.mm similarity index 94% rename from example/ios/WalletSdkExample/AppDelegate.mm rename to example/ios/MobileSdkExample/AppDelegate.mm index 6110cdf..2dc0066 100644 --- a/example/ios/WalletSdkExample/AppDelegate.mm +++ b/example/ios/MobileSdkExample/AppDelegate.mm @@ -6,7 +6,7 @@ @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - self.moduleName = @"WalletSdkExample"; + self.moduleName = @"MobileSdkExample"; // You can add your custom initial props in the dictionary below. // They will be passed down to the ViewController used by React Native. self.initialProps = @{}; diff --git a/example/ios/WalletSdkExample/Images.xcassets/AppIcon.appiconset/Contents.json b/example/ios/MobileSdkExample/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from example/ios/WalletSdkExample/Images.xcassets/AppIcon.appiconset/Contents.json rename to example/ios/MobileSdkExample/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/example/ios/WalletSdkExample/Images.xcassets/Contents.json b/example/ios/MobileSdkExample/Images.xcassets/Contents.json similarity index 100% rename from example/ios/WalletSdkExample/Images.xcassets/Contents.json rename to example/ios/MobileSdkExample/Images.xcassets/Contents.json diff --git a/example/ios/WalletSdkExample/Info.plist b/example/ios/MobileSdkExample/Info.plist similarity index 97% rename from example/ios/WalletSdkExample/Info.plist rename to example/ios/MobileSdkExample/Info.plist index 3d4c178..b530aec 100644 --- a/example/ios/WalletSdkExample/Info.plist +++ b/example/ios/MobileSdkExample/Info.plist @@ -5,7 +5,7 @@ <key>CFBundleDevelopmentRegion</key> <string>en</string> <key>CFBundleDisplayName</key> - <string>WalletSdkExample</string> + <string>MobileSdkExample</string> <key>CFBundleExecutable</key> <string>$(EXECUTABLE_NAME)</string> <key>CFBundleIdentifier</key> diff --git a/example/ios/WalletSdkExample/LaunchScreen.storyboard b/example/ios/MobileSdkExample/LaunchScreen.storyboard similarity index 98% rename from example/ios/WalletSdkExample/LaunchScreen.storyboard rename to example/ios/MobileSdkExample/LaunchScreen.storyboard index 67c5add..2a42bc7 100644 --- a/example/ios/WalletSdkExample/LaunchScreen.storyboard +++ b/example/ios/MobileSdkExample/LaunchScreen.storyboard @@ -16,7 +16,7 @@ <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> - <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WalletSdkExample" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb"> + <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="MobileSdkExample" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb"> <rect key="frame" x="0.0" y="202" width="375" height="43"/> <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/> <nil key="highlightedColor"/> diff --git a/example/ios/WalletSdkExample/main.m b/example/ios/MobileSdkExample/main.m similarity index 100% rename from example/ios/WalletSdkExample/main.m rename to example/ios/MobileSdkExample/main.m diff --git a/example/ios/WalletSdkExampleTests/Info.plist b/example/ios/MobileSdkExampleTests/Info.plist similarity index 100% rename from example/ios/WalletSdkExampleTests/Info.plist rename to example/ios/MobileSdkExampleTests/Info.plist diff --git a/example/ios/WalletSdkExampleTests/WalletSdkExampleTests.m b/example/ios/MobileSdkExampleTests/MobileSdkExampleTests.m similarity index 95% rename from example/ios/WalletSdkExampleTests/WalletSdkExampleTests.m rename to example/ios/MobileSdkExampleTests/MobileSdkExampleTests.m index 2e581a8..b498c83 100644 --- a/example/ios/WalletSdkExampleTests/WalletSdkExampleTests.m +++ b/example/ios/MobileSdkExampleTests/MobileSdkExampleTests.m @@ -7,11 +7,11 @@ #define TIMEOUT_SECONDS 600 #define TEXT_TO_LOOK_FOR @"Welcome to React" -@interface WalletSdkExampleTests : XCTestCase +@interface MobileSdkExampleTests : XCTestCase @end -@implementation WalletSdkExampleTests +@implementation MobileSdkExampleTests - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test { diff --git a/example/ios/Podfile b/example/ios/Podfile index b26c94f..15b43b9 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -25,7 +25,7 @@ if linkage != nil use_frameworks! :linkage => linkage.to_sym end -target 'WalletSdkExample' do +target 'MobileSdkExample' do config = use_native_modules! use_react_native!( @@ -39,7 +39,7 @@ target 'WalletSdkExample' do :app_path => "#{Pod::Config.instance.installation_root}/.." ) - target 'WalletSdkExampleTests' do + target 'MobileSdkExampleTests' do inherit! :complete # Pods for testing end diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 4eb2334..369825c 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,5 +1,6 @@ PODS: - boost (1.83.0) + - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - FBLazyVector (0.73.5) - FBReactNativeSpec (0.73.5): @@ -9,12 +10,69 @@ PODS: - React-Core (= 0.73.5) - React-jsi (= 0.73.5) - ReactCommon/turbomodule/core (= 0.73.5) + - Flipper (0.201.0): + - Flipper-Folly (~> 2.6) + - Flipper-Boost-iOSX (1.76.0.1.11) + - Flipper-DoubleConversion (3.2.0.1) + - Flipper-Fmt (7.1.7) + - Flipper-Folly (2.6.10): + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt (= 7.1.7) + - Flipper-Glog + - libevent (~> 2.1.12) + - OpenSSL-Universal (= 1.1.1100) + - Flipper-Glog (0.5.0.5) + - Flipper-PeerTalk (0.0.4) + - FlipperKit (0.201.0): + - FlipperKit/Core (= 0.201.0) + - FlipperKit/Core (0.201.0): + - Flipper (~> 0.201.0) + - FlipperKit/CppBridge + - FlipperKit/FBCxxFollyDynamicConvert + - FlipperKit/FBDefines + - FlipperKit/FKPortForwarding + - SocketRocket (~> 0.6.0) + - FlipperKit/CppBridge (0.201.0): + - Flipper (~> 0.201.0) + - FlipperKit/FBCxxFollyDynamicConvert (0.201.0): + - Flipper-Folly (~> 2.6) + - FlipperKit/FBDefines (0.201.0) + - FlipperKit/FKPortForwarding (0.201.0): + - CocoaAsyncSocket (~> 7.6) + - Flipper-PeerTalk (~> 0.0.4) + - FlipperKit/FlipperKitHighlightOverlay (0.201.0) + - FlipperKit/FlipperKitLayoutHelpers (0.201.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutTextSearchable + - FlipperKit/FlipperKitLayoutIOSDescriptors (0.201.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers + - FlipperKit/FlipperKitLayoutPlugin (0.201.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers + - FlipperKit/FlipperKitLayoutIOSDescriptors + - FlipperKit/FlipperKitLayoutTextSearchable + - FlipperKit/FlipperKitLayoutTextSearchable (0.201.0) + - FlipperKit/FlipperKitNetworkPlugin (0.201.0): + - FlipperKit/Core + - FlipperKit/FlipperKitReactPlugin (0.201.0): + - FlipperKit/Core + - FlipperKit/FlipperKitUserDefaultsPlugin (0.201.0): + - FlipperKit/Core + - FlipperKit/SKIOSNetworkPlugin (0.201.0): + - FlipperKit/Core + - FlipperKit/FlipperKitNetworkPlugin - fmt (6.2.1) - glog (0.3.5) - hermes-engine (0.73.5): - hermes-engine/Pre-built (= 0.73.5) - hermes-engine/Pre-built (0.73.5) - libevent (2.1.12) + - OpenSSL-Universal (1.1.1100) - RCT-Folly (2022.05.16.00): - boost - DoubleConversion @@ -886,13 +944,13 @@ PODS: - React-Mapbuffer (0.73.5): - glog - React-debug - - react-native-safe-area-context (4.9.0): - - React-Core - - react-native-wallet-sdk (0.1.0): + - react-native-mobile-sdk (0.1.0): - glog - RCT-Folly (= 2022.05.16.00) - React-Core - - SpruceIDWalletSdk (~> 0.0.6) + - SpruceIDMobileSdk (~> 0.0.9) + - react-native-safe-area-context (4.9.0): + - React-Core - React-nativeconfig (0.73.5) - React-NativeModulesApple (0.73.5): - glog @@ -1063,12 +1121,12 @@ PODS: - RNSVG (15.1.0): - React-Core - SocketRocket (0.6.1) - - SpruceIDWalletSdk (0.0.6): - - SpruceIDWalletSdkRs (~> 0.0.24) + - SpruceIDMobileSdk (0.0.9): + - SpruceIDMobileSdkRs (~> 0.0.26) - SwiftAlgorithms (~> 1.0.0) - - SpruceIDWalletSdkRs (0.0.25): - - SpruceIDWalletSdkRsRustFramework (= 0.0.25) - - SpruceIDWalletSdkRsRustFramework (0.0.25) + - SpruceIDMobileSdkRs (0.0.26): + - SpruceIDMobileSdkRsRustFramework (= 0.0.26) + - SpruceIDMobileSdkRsRustFramework (0.0.26) - SwiftAlgorithms (1.0.0) - Yoga (1.14.0) @@ -1077,9 +1135,30 @@ DEPENDENCIES: - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) + - Flipper (= 0.201.0) + - Flipper-Boost-iOSX (= 1.76.0.1.11) + - Flipper-DoubleConversion (= 3.2.0.1) + - Flipper-Fmt (= 7.1.7) + - Flipper-Folly (= 2.6.10) + - Flipper-Glog (= 0.5.0.5) + - Flipper-PeerTalk (= 0.0.4) + - FlipperKit (= 0.201.0) + - FlipperKit/Core (= 0.201.0) + - FlipperKit/CppBridge (= 0.201.0) + - FlipperKit/FBCxxFollyDynamicConvert (= 0.201.0) + - FlipperKit/FBDefines (= 0.201.0) + - FlipperKit/FKPortForwarding (= 0.201.0) + - FlipperKit/FlipperKitHighlightOverlay (= 0.201.0) + - FlipperKit/FlipperKitLayoutPlugin (= 0.201.0) + - FlipperKit/FlipperKitLayoutTextSearchable (= 0.201.0) + - FlipperKit/FlipperKitNetworkPlugin (= 0.201.0) + - FlipperKit/FlipperKitReactPlugin (= 0.201.0) + - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.201.0) + - FlipperKit/SKIOSNetworkPlugin (= 0.201.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - libevent (~> 2.1.12) + - OpenSSL-Universal (= 1.1.1100) - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) @@ -1088,6 +1167,7 @@ DEPENDENCIES: - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - React-Codegen (from `build/generated/ios`) - React-Core (from `../node_modules/react-native/`) + - React-Core/DevSupport (from `../node_modules/react-native/`) - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) @@ -1103,8 +1183,8 @@ DEPENDENCIES: - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) + - react-native-mobile-sdk (from `../..`) - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - - react-native-wallet-sdk (from `../..`) - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) @@ -1130,12 +1210,22 @@ DEPENDENCIES: SPEC REPOS: trunk: + - CocoaAsyncSocket + - Flipper + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt + - Flipper-Folly + - Flipper-Glog + - Flipper-PeerTalk + - FlipperKit - fmt - libevent + - OpenSSL-Universal - SocketRocket - - SpruceIDWalletSdk - - SpruceIDWalletSdkRs - - SpruceIDWalletSdkRsRustFramework + - SpruceIDMobileSdk + - SpruceIDMobileSdkRs + - SpruceIDMobileSdkRsRustFramework - SwiftAlgorithms EXTERNAL SOURCES: @@ -1194,10 +1284,10 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/logger" React-Mapbuffer: :path: "../node_modules/react-native/ReactCommon" + react-native-mobile-sdk: + :path: "../.." react-native-safe-area-context: :path: "../node_modules/react-native-safe-area-context" - react-native-wallet-sdk: - :path: "../.." React-nativeconfig: :path: "../node_modules/react-native/ReactCommon" React-NativeModulesApple: @@ -1245,13 +1335,23 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: d3f49c53809116a5d38da093a8aa78bf551aed09 + CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 FBLazyVector: 56e0e498dbb513b96c40bac6284729ba4e62672d FBReactNativeSpec: 146c741a3f40361f6bc13a4ba284678cbedb5881 + Flipper: c7a0093234c4bdd456e363f2f19b2e4b27652d44 + Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c + Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 + Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b + Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 + Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 + Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 + FlipperKit: 37525a5d056ef9b93d1578e04bc3ea1de940094f fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 hermes-engine: 1d1835b2cc54c381909d94d1b3c8e0a2f1a94a0e libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 + OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0 RCTRequired: 2544c0f1081a5fa12e108bb8cb40e5f4581ccd87 RCTTypeSafety: 50efabe2b115c11ed03fbf3fd79e2f163ddb5d7c @@ -1273,8 +1373,8 @@ SPEC CHECKSUMS: React-jsinspector: 32db5e364bcae8fca8cdf8891830636275add0c5 React-logger: 0331362115f0f5b392bd7ed14636d1a3ea612479 React-Mapbuffer: 7c35cd53a22d0be04d3f26f7881c7fb7dd230216 + react-native-mobile-sdk: f71bf31640a66f7268ae7a976e504194462ca786 react-native-safe-area-context: b97eb6f9e3b7f437806c2ce5983f479f8eb5de4b - react-native-wallet-sdk: c96c74a3babe71264e2acdc98ad0776e400a38ca React-nativeconfig: 1166714a4f7ea57a0df5c2cb44fbc70f98d580f9 React-NativeModulesApple: 726664e9829eb5eed8170241000e46ead269a05f React-perflogger: 0dd9f1725d55f8264b81efadd373fe1d9cca7dc2 @@ -1297,12 +1397,12 @@ SPEC CHECKSUMS: ReactCommon: 2947b0bffd82ea0e58ca7928881152d4c6dae9af RNSVG: 50cf2c7018e57cf5d3522d98d0a3a4dd6bf9d093 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 - SpruceIDWalletSdk: e315070d8ae3f691c3e8ef5153e1f0504ddc924e - SpruceIDWalletSdkRs: 55c9d7dd15b29229d1b03dfc921cc84ea1a67dc6 - SpruceIDWalletSdkRsRustFramework: ab40e096e2758d2d18d07cde2fe3333f37e3093e + SpruceIDMobileSdk: 9d64a0bc11b33e79c86c3b68759c87777cb37efc + SpruceIDMobileSdkRs: 18e4d2af92050966cc9e048733695b4eee49226e + SpruceIDMobileSdkRsRustFramework: 2e197e03dfa174360d774c0fd900e21dfbc74598 SwiftAlgorithms: 38dda4731d19027fdeee1125f973111bf3386b53 Yoga: a716eea57d0d3430219c0a5a233e1e93ee931eb7 -PODFILE CHECKSUM: e24651a617f6964c34031254129583e664d01b1f +PODFILE CHECKSUM: ab38c08fb360b9bd092737eb82d376e877eb4501 COCOAPODS: 1.14.3 diff --git a/example/ios/WalletSdkExample.xcodeproj/xcshareddata/xcschemes/WalletSdkExample.xcscheme b/example/ios/WalletSdkExample.xcodeproj/xcshareddata/xcschemes/WalletSdkExample.xcscheme deleted file mode 100644 index 2cfef02..0000000 --- a/example/ios/WalletSdkExample.xcodeproj/xcshareddata/xcschemes/WalletSdkExample.xcscheme +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Scheme - LastUpgradeVersion = "1210" - version = "1.3"> - <BuildAction - parallelizeBuildables = "YES" - buildImplicitDependencies = "YES"> - <BuildActionEntries> - <BuildActionEntry - buildForTesting = "YES" - buildForRunning = "YES" - buildForProfiling = "YES" - buildForArchiving = "YES" - buildForAnalyzing = "YES"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "13B07F861A680F5B00A75B9A" - BuildableName = "WalletSdkExample.app" - BlueprintName = "WalletSdkExample" - ReferencedContainer = "container:WalletSdkExample.xcodeproj"> - </BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - <Testables> - <TestableReference - skipped = "NO"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "00E356ED1AD99517003FC87E" - BuildableName = "WalletSdkExampleTests.xctest" - BlueprintName = "WalletSdkExampleTests" - ReferencedContainer = "container:WalletSdkExample.xcodeproj"> - </BuildableReference> - </TestableReference> - </Testables> - </TestAction> - <LaunchAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - launchStyle = "0" - useCustomWorkingDirectory = "NO" - ignoresPersistentStateOnLaunch = "NO" - debugDocumentVersioning = "YES" - debugServiceExtension = "internal" - allowLocationSimulation = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "13B07F861A680F5B00A75B9A" - BuildableName = "WalletSdkExample.app" - BlueprintName = "WalletSdkExample" - ReferencedContainer = "container:WalletSdkExample.xcodeproj"> - </BuildableReference> - </BuildableProductRunnable> - </LaunchAction> - <ProfileAction - buildConfiguration = "Release" - shouldUseLaunchSchemeArgsEnv = "YES" - savedToolIdentifier = "" - useCustomWorkingDirectory = "NO" - debugDocumentVersioning = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "13B07F861A680F5B00A75B9A" - BuildableName = "WalletSdkExample.app" - BlueprintName = "WalletSdkExample" - ReferencedContainer = "container:WalletSdkExample.xcodeproj"> - </BuildableReference> - </BuildableProductRunnable> - </ProfileAction> - <AnalyzeAction - buildConfiguration = "Debug"> - </AnalyzeAction> - <ArchiveAction - buildConfiguration = "Release" - revealArchiveInOrganizer = "YES"> - </ArchiveAction> -</Scheme> diff --git a/example/package.json b/example/package.json index 4304fad..ca9cfb5 100644 --- a/example/package.json +++ b/example/package.json @@ -1,5 +1,5 @@ { - "name": "react-native-wallet-sdk-example", + "name": "react-native-mobile-sdk-example", "version": "0.0.1", "private": true, "scripts": { @@ -7,7 +7,7 @@ "ios": "react-native run-ios", "start": "react-native start", "build:android": "cd android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a", - "build:ios": "cd ios && xcodebuild -workspace WalletSdkExample.xcworkspace -scheme WalletSdkExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO" + "build:ios": "cd ios && xcodebuild -workspace MobileSdkExample.xcworkspace -scheme MobileSdkExample -configuration Debug -sdk iphonesimulator CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ GCC_OPTIMIZATION_LEVEL=0 GCC_PRECOMPILE_PREFIX_HEADER=YES ASSETCATALOG_COMPILER_OPTIMIZATION=time DEBUG_INFORMATION_FORMAT=dwarf COMPILER_INDEX_STORE_ENABLE=NO" }, "dependencies": { "@react-navigation/native": "^6.1.14", diff --git a/example/src/CredentialsTab.tsx b/example/src/CredentialsTab.tsx index e1801b3..7327ab5 100644 --- a/example/src/CredentialsTab.tsx +++ b/example/src/CredentialsTab.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { Text, View } from 'react-native'; import styles from './Styles'; -import { allCredentials } from '@spruceid/react-native-wallet-sdk'; +import { allCredentials } from '@spruceid/react-native-mobile-sdk'; export default function CredentialsTab() { const [credentials, setCredentials] = React.useState<string[]>([ diff --git a/example/src/ShareTab.tsx b/example/src/ShareTab.tsx index dd0c3b8..9ba291d 100644 --- a/example/src/ShareTab.tsx +++ b/example/src/ShareTab.tsx @@ -18,7 +18,7 @@ import { type ItemsRequestDocType, type PermittedItemDocType, type PermittedItemNamespace, -} from '@spruceid/react-native-wallet-sdk'; +} from '@spruceid/react-native-mobile-sdk'; interface FlatItemsRequest { docType: string; diff --git a/ios/WalletSdk-Bridging-Header.h b/ios/MobileSdk-Bridging-Header.h similarity index 100% rename from ios/WalletSdk-Bridging-Header.h rename to ios/MobileSdk-Bridging-Header.h diff --git a/ios/WalletSdk.mm b/ios/MobileSdk.mm similarity index 90% rename from ios/WalletSdk.mm rename to ios/MobileSdk.mm index 5e76887..e05d261 100644 --- a/ios/WalletSdk.mm +++ b/ios/MobileSdk.mm @@ -1,11 +1,11 @@ #import <React/RCTEventEmitter.h> #ifdef RCT_NEW_ARCH_ENABLED -#import "RNWalletSdkSpec.h" -@interface RCT_EXTERN_MODULE(WalletSdk, RCTEventEmitter<NativeWalletSdkSpec>) +#import "RNMobileSdkSpec.h" +@interface RCT_EXTERN_MODULE(MobileSdk, RCTEventEmitter<NativeMobileSdkSpec>) #else #import <React/RCTBridgeModule.h> -@interface RCT_EXTERN_MODULE(WalletSdk, RCTEventEmitter<RCTBridgeModule>) +@interface RCT_EXTERN_MODULE(MobileSdk, RCTEventEmitter<RCTBridgeModule>) #endif RCT_EXTERN_METHOD(createSoftPrivateKeyFromPKCS8PEM @@ -52,7 +52,7 @@ @interface RCT_EXTERN_MODULE(WalletSdk, RCTEventEmitter<RCTBridgeModule>) - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule: (const facebook::react::ObjCTurboModule::InitParams &)params { - return std::make_shared<facebook::react::NativeWalletSdkSpecJSI>(params); + return std::make_shared<facebook::react::NativeMobileSdkSpecJSI>(params); } #endif diff --git a/ios/WalletSdk.swift b/ios/MobileSdk.swift similarity index 78% rename from ios/WalletSdk.swift rename to ios/MobileSdk.swift index 64d0882..59663c0 100644 --- a/ios/WalletSdk.swift +++ b/ios/MobileSdk.swift @@ -1,17 +1,17 @@ import CoreBluetooth import CryptoKit import Foundation -import SpruceIDWalletSdk +import SpruceIDMobileSdk -@objc(WalletSdk) -class WalletSdk: RCTEventEmitter { +@objc(MobileSdk) +class MobileSdk: RCTEventEmitter { public static var emitter: RCTEventEmitter! var credentials = CredentialStore(credentials: []); var bleSessionManager: BLESessionManager?; override init() { super.init() - WalletSdk.emitter = self + MobileSdk.emitter = self } @objc @@ -36,7 +36,7 @@ class WalletSdk: RCTEventEmitter { @objc func createSoftPrivateKeyFromPKCS8PEM(_ algo: String, key: String, cert: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) { if algo != "p256" { - reject("walletsdk", "Unknown algorithm: \(algo)", nil); + reject("mobilesdk", "Unknown algorithm: \(algo)", nil); return; } if #available(iOS 14.0, *) { @@ -44,7 +44,7 @@ class WalletSdk: RCTEventEmitter { do { privateKey = try P256.Signing.PrivateKey(pemRepresentation: key) } catch { - reject("walletsdk", "Error trying to load private key: \(error)", nil); + reject("mobilesdk", "Error trying to load private key: \(error)", nil); return; } let attributes = [kSecAttrKeyType: kSecAttrKeyTypeECSECPrimeRandom, @@ -67,7 +67,7 @@ class WalletSdk: RCTEventEmitter { resolve("mdoc_key") } else { // TODO could not find a way to increase minimum iOS version with React Native - reject("walletsdk", "iOS version not supported", nil); + reject("mobilesdk", "iOS version not supported", nil); return; } } @@ -75,12 +75,12 @@ class WalletSdk: RCTEventEmitter { @objc func createMdocFromCbor(_ cborBase64: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) { guard let mdocData = Data(base64Encoded: cborBase64) else { - reject("walletsdk", "Invalid base64 data", nil); + reject("mobilesdk", "Invalid base64 data", nil); return; } let mdoc = MDoc(fromMDoc: mdocData, namespaces: [:], keyAlias: "mdoc_key")! self.credentials.credentials.append(mdoc) - WalletSdk.emitter.sendEvent(withName: "onCredentialAdded", body: ["id": mdoc.id]) + MobileSdk.emitter.sendEvent(withName: "onCredentialAdded", body: ["id": mdoc.id]) resolve(mdoc.id) } @@ -95,12 +95,12 @@ class WalletSdk: RCTEventEmitter { if deviceEngagement == "qrCode" { deviceEngagement_ = .QRCode } else { - reject("walletsdk", "Unknown device engagement", nil); + reject("mobilesdk", "Unknown device engagement", nil); return; } self.bleSessionManager = self.credentials.presentMdocBLE(deviceEngagement: deviceEngagement_, callback: self); if self.bleSessionManager == nil { - reject("walletsdk", "There was an issue starting the BLE presentment", nil); + reject("mobilesdk", "There was an issue starting the BLE presentment", nil); return; } resolve(nil) @@ -109,25 +109,25 @@ class WalletSdk: RCTEventEmitter { @objc func bleSessionSubmitNamespaces(_ bleUuid: String, namespaces: [NSDictionary], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) { if self.bleSessionManager == nil { - reject("walletsdk", "No BLE presentment in progress", nil); + reject("mobilesdk", "No BLE presentment in progress", nil); return; } self.bleSessionManager?.submitNamespaces(items: namespaces.reduce(into: [:]) { dictionary, item in guard let doctype = item["docType"] as? String else { - reject("walletsdk", "No `docType` member in submitted namespaces", nil); + reject("mobilesdk", "No `docType` member in submitted namespaces", nil); return; } guard let namespaces = item["namespaces"] as? [NSDictionary] else { - reject("walletsdk", "No `namespaces` member in submitted namespaces", nil); + reject("mobilesdk", "No `namespaces` member in submitted namespaces", nil); return; } dictionary[doctype] = namespaces.reduce(into: [:]) { dictionary, item in guard let namespace = item["namespace"] as? String else { - reject("walletsdk", "No `namespace` member in submitted namespaces", nil); + reject("mobilesdk", "No `namespace` member in submitted namespaces", nil); return; } guard let keys = item["keys"] as? [String] else { - reject("walletsdk", "No `keys` member in submitted namespaces", nil); + reject("mobilesdk", "No `keys` member in submitted namespaces", nil); return; } dictionary[namespace] = keys @@ -139,7 +139,7 @@ class WalletSdk: RCTEventEmitter { @objc func bleSessionCancel(_ bleUuid: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) { if self.bleSessionManager == nil { - reject("walletsdk", "No BLE presentment in progress", nil); + reject("mobilesdk", "No BLE presentment in progress", nil); return; } self.bleSessionManager?.cancel(); @@ -153,54 +153,54 @@ class WalletSdk: RCTEventEmitter { } -extension WalletSdk: BLESessionStateDelegate { +extension MobileSdk: BLESessionStateDelegate { public func update(state: BLESessionState) { switch state { case .engagingQRCode(let data): let str = String(decoding: data, as: UTF8.self) - WalletSdk.emitter.sendEvent(withName: "onBleSessionEngagingQrCode", body: ["qrCodeUri": str]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionEngagingQrCode", body: ["qrCodeUri": str]) case .error(let error): switch error { case .bluetooth(let central): switch central.state { case .poweredOff: - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "poweredOff"]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "poweredOff"]]) case .unsupported: - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "unsupported"]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "unsupported"]]) case .unauthorized: switch CBManager.authorization { case .denied: - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "denied"]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "denied"]]) case .restricted: - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "restricted"]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "restricted"]]) case .allowedAlways: break case .notDetermined: - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "notDetermined"]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "notDetermined"]]) @unknown default: - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "unknown"]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "unknown"]]) } case .unknown: - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "unknown"]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "unknown"]]) case .resetting: - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "resetting"]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "resetting"]]) case .poweredOn: break @unknown default: - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "unknown"]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "bluetooth", "error": "unknown"]]) } case .peripheral(let error): - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "peripheral", "error": error]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "peripheral", "error": error]]) case .generic(let error): - WalletSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "generic", "error": error]]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionError", body: ["error": ["kind": "generic", "error": error]]) } case .uploadProgress(let value, let total): - WalletSdk.emitter.sendEvent(withName: "onBleSessionProgress", body: ["current": value, + MobileSdk.emitter.sendEvent(withName: "onBleSessionProgress", body: ["current": value, "total": total]) case .success: - WalletSdk.emitter.sendEvent(withName: "onBleSessionSuccess", body: []) + MobileSdk.emitter.sendEvent(withName: "onBleSessionSuccess", body: []) case .connected: - WalletSdk.emitter.sendEvent(withName: "onBleSessionEstablished", body: []) + MobileSdk.emitter.sendEvent(withName: "onBleSessionEstablished", body: []) case .selectNamespaces(let doctypes): let items = doctypes.reduce(into: [NSDictionary]()) { result, doctype in let namespaces = doctype.namespaces.reduce(into: [NSDictionary]()) {result, namespace in @@ -211,7 +211,7 @@ extension WalletSdk: BLESessionStateDelegate { } result.append(["docType": doctype.docType, "namespaces": namespaces]); } - WalletSdk.emitter.sendEvent(withName: "onBleSessionSelectNamespace", body: ["itemsRequest": items]) + MobileSdk.emitter.sendEvent(withName: "onBleSessionSelectNamespace", body: ["itemsRequest": items]) } } } diff --git a/package.json b/package.json index cf20f07..192105a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "@spruceid/react-native-wallet-sdk", + "name": "@spruceid/react-native-mobile-sdk", "version": "0.1.0", - "description": "Spruce Wallet SDK for React Native", + "description": "Spruce Mobile SDK for React Native", "main": "lib/commonjs/index", "module": "lib/module/index", "types": "lib/typescript/src/index.d.ts", @@ -26,7 +26,7 @@ "!**/.*" ], "scripts": { - "example": "yarn workspace react-native-wallet-sdk-example", + "example": "yarn workspace react-native-mobile-sdk-example", "test": "jest", "typecheck": "tsc --noEmit", "lint": "eslint \"**/*.{js,ts,tsx}\"", @@ -42,14 +42,14 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/spruceid/wallet-sdk-react" + "url": "git+https://github.com/spruceid/mobile-sdk-react" }, "author": "Spruce Systems, Inc. <hello@spruceid.com> (https://spruceid.com)", "license": "MIT OR Apache-2.0", "bugs": { - "url": "https://github.com/spruceid/wallet-sdk-react/issues" + "url": "https://github.com/spruceid/mobile-sdk-react/issues" }, - "homepage": "https://github.com/spruceid/wallet-sdk-react", + "homepage": "https://github.com/spruceid/mobile-sdk-react", "publishConfig": { "registry": "https://registry.npmjs.org/", "access": "public" @@ -172,7 +172,7 @@ ] }, "codegenConfig": { - "name": "RNWalletSdkSpec", + "name": "RNMobileSdkSpec", "type": "modules", "jsSrcsDir": "src" } diff --git a/react-native-wallet-sdk.podspec b/react-native-mobile-sdk.podspec similarity index 90% rename from react-native-wallet-sdk.podspec rename to react-native-mobile-sdk.podspec index 72c19ed..72b978f 100644 --- a/react-native-wallet-sdk.podspec +++ b/react-native-mobile-sdk.podspec @@ -4,7 +4,7 @@ package = JSON.parse(File.read(File.join(__dir__, "package.json"))) folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32' Pod::Spec.new do |s| - s.name = "react-native-wallet-sdk" + s.name = "react-native-mobile-sdk" s.version = package["version"] s.summary = package["description"] s.homepage = package["homepage"] @@ -12,11 +12,11 @@ Pod::Spec.new do |s| s.authors = package["author"] s.platforms = { :ios => "14.0" } - s.source = { :git => "https://github.com/spurceid/wallet-sdk-react.git", :tag => "#{s.version}" } + s.source = { :git => "https://github.com/spurceid/mobile-sdk-react.git", :tag => "#{s.version}" } s.source_files = "ios/**/*.{h,m,mm,swift}" - s.dependency "SpruceIDWalletSdk", "~> 0.0.6" + s.dependency "SpruceIDMobileSdk", "~> 0.0.9" s.static_framework = true # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0. diff --git a/src/NativeWalletSdk.ts b/src/NativeMobileSdk.ts similarity index 92% rename from src/NativeWalletSdk.ts rename to src/NativeMobileSdk.ts index e607ff0..e1c4850 100644 --- a/src/NativeWalletSdk.ts +++ b/src/NativeMobileSdk.ts @@ -26,4 +26,4 @@ export interface Spec extends TurboModule { allCredentials(): Promise<string[]>; } -export default TurboModuleRegistry.getEnforcing<Spec>('WalletSdk'); +export default TurboModuleRegistry.getEnforcing<Spec>('MobileSdk'); diff --git a/src/index.tsx b/src/index.tsx index ef799fc..50925ba 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,7 +1,7 @@ import { NativeEventEmitter, NativeModules, Platform } from 'react-native'; const LINKING_ERROR = - `The package 'react-native-wallet-sdk' doesn't seem to be linked. Make sure: \n\n` + + `The package 'react-native-mobile-sdk' doesn't seem to be linked. Make sure: \n\n` + Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n'; @@ -9,12 +9,12 @@ const LINKING_ERROR = // @ts-expect-error const isTurboModuleEnabled = global.__turboModuleProxy != null; -const WalletSdkModule = isTurboModuleEnabled - ? require('./NativeWalletSdk').default - : NativeModules.WalletSdk; +const MobileSdkModule = isTurboModuleEnabled + ? require('./NativeMobileSdk').default + : NativeModules.MobileSdk; -const WalletSdk = WalletSdkModule - ? WalletSdkModule +const MobileSdk = MobileSdkModule + ? MobileSdkModule : new Proxy( {}, { @@ -25,16 +25,16 @@ const WalletSdk = WalletSdkModule ); /** - * Register an MDoc with the wallet-sdk + * Register an MDoc with the mobile-sdk * @param cborBase64 Base64 of the CBOR of the MDoc to register * @returns UUID object ID of the MDoc created */ export function createMdocFromCbor(cborBase64: string): Promise<String> { - return WalletSdk.createMdocFromCbor(cborBase64); + return MobileSdk.createMdocFromCbor(cborBase64); } /** - * Register a private key with the wallet-sdk from a PKCS#8 PEM + * Register a private key with the mobile-sdk from a PKCS#8 PEM * @param algo Accepted values: "p256" * @param key PEM encoded private key * @param cert PEM encoded self-signed cert (required by Android's key store) @@ -45,21 +45,21 @@ export function createSoftPrivateKeyFromPKCS8PEM( key: string, cert: string ): Promise<String> { - return WalletSdk.createSoftPrivateKeyFromPKCS8PEM(algo, key, cert); + return MobileSdk.createSoftPrivateKeyFromPKCS8PEM(algo, key, cert); } /** * Retrieve a list of all credentials (such as MDocs) registered with the - * wallet-sdk + * mobile-sdk * @returns Array of UUID object IDs of credentials */ export function allCredentials(): Promise<string[]> { - return WalletSdk.allCredentials(); + return MobileSdk.allCredentials(); } let eventEmiterArg = null; if (Platform.OS === 'ios') { - eventEmiterArg = WalletSdk; + eventEmiterArg = MobileSdk; } const eventEmitter = new NativeEventEmitter(eventEmiterArg); @@ -211,11 +211,11 @@ export const BleSessionManager = (function () { let toPresent: DeferredPresentArgs | undefined; let callbacks: BleStateCallback[] = []; - WalletSdk.createBleManager().then((uuid: string) => { + MobileSdk.createBleManager().then((uuid: string) => { internalUuid = uuid; if (toPresent !== undefined) { - WalletSdk.startPresentMdoc( + MobileSdk.startPresentMdoc( internalUuid, toPresent.mdocUuid, toPresent.privateKey, @@ -319,7 +319,7 @@ export const BleSessionManager = (function () { }; return; } - WalletSdk.bleSessionStartPresentMdoc( + MobileSdk.bleSessionStartPresentMdoc( internalUuid, mdocUuid, privateKey, @@ -333,7 +333,7 @@ export const BleSessionManager = (function () { */ submitNamespaces: function (permitted: PermittedItemDocType[]) { console.log('permitted', permitted); - WalletSdk.bleSessionSubmitNamespaces(internalUuid, permitted); + MobileSdk.bleSessionSubmitNamespaces(internalUuid, permitted); }, /** @@ -341,7 +341,7 @@ export const BleSessionManager = (function () { */ cancel: function () { console.log('cancelling'); - WalletSdk.bleSessionCancel(internalUuid); + MobileSdk.bleSessionCancel(internalUuid); }, }; })(); diff --git a/tsconfig.json b/tsconfig.json index c350330..aece72a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "rootDir": ".", "paths": { - "@spruceid/react-native-wallet-sdk": ["./src/index"] + "@spruceid/react-native-mobile-sdk": ["./src/index"] }, "allowUnreachableCode": false, "allowUnusedLabels": false, diff --git a/yarn.lock b/yarn.lock index 96043fd..daa6e97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3203,9 +3203,9 @@ __metadata: languageName: node linkType: hard -"@spruceid/react-native-wallet-sdk@workspace:.": +"@spruceid/react-native-mobile-sdk@workspace:.": version: 0.0.0-use.local - resolution: "@spruceid/react-native-wallet-sdk@workspace:." + resolution: "@spruceid/react-native-mobile-sdk@workspace:." dependencies: "@commitlint/config-conventional": ^17.8.1 "@evilmartians/lefthook": ^1.6.4 @@ -11288,6 +11288,29 @@ __metadata: languageName: node linkType: hard +"react-native-mobile-sdk-example@workspace:example": + version: 0.0.0-use.local + resolution: "react-native-mobile-sdk-example@workspace:example" + dependencies: + "@babel/core": ^7.24.0 + "@babel/preset-env": ^7.24.0 + "@babel/runtime": ^7.24.0 + "@react-native/babel-preset": 0.73.21 + "@react-native/metro-config": 0.73.5 + "@react-native/typescript-config": 0.74.1 + "@react-navigation/native": ^6.1.14 + babel-plugin-module-resolver: ^5.0.0 + pod-install: ^0.1.39 + react: 18.2.0 + react-native: 0.73.5 + react-native-paper: ^5.12.3 + react-native-progress: ^5.0.1 + react-native-qrcode-svg: ^6.3.0 + react-native-safe-area-context: ^4.9.0 + react-native-svg: ^15.1.0 + languageName: unknown + linkType: soft + "react-native-paper@npm:^5.12.3": version: 5.12.3 resolution: "react-native-paper@npm:5.12.3" @@ -11352,29 +11375,6 @@ __metadata: languageName: node linkType: hard -"react-native-wallet-sdk-example@workspace:example": - version: 0.0.0-use.local - resolution: "react-native-wallet-sdk-example@workspace:example" - dependencies: - "@babel/core": ^7.24.0 - "@babel/preset-env": ^7.24.0 - "@babel/runtime": ^7.24.0 - "@react-native/babel-preset": 0.73.21 - "@react-native/metro-config": 0.73.5 - "@react-native/typescript-config": 0.74.1 - "@react-navigation/native": ^6.1.14 - babel-plugin-module-resolver: ^5.0.0 - pod-install: ^0.1.39 - react: 18.2.0 - react-native: 0.73.5 - react-native-paper: ^5.12.3 - react-native-progress: ^5.0.1 - react-native-qrcode-svg: ^6.3.0 - react-native-safe-area-context: ^4.9.0 - react-native-svg: ^15.1.0 - languageName: unknown - linkType: soft - "react-native@npm:0.73.5": version: 0.73.5 resolution: "react-native@npm:0.73.5"