From 5361a9c921d17e3f6c0529e0a716a2d33b02fc4d Mon Sep 17 00:00:00 2001 From: karthiccc23 Date: Thu, 25 Jul 2024 16:57:18 -0700 Subject: [PATCH 1/4] Upgrade android plugins/tools to support RN 0.72 --- docs/cli/create-container.md | 2 +- docs/cli/run-android.md | 2 +- .../src/AndroidGenerator.ts | 141 +----------------- .../src/hull/gradle.properties | 22 ++- .../hull/gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 61574 bytes .../gradle/wrapper/gradle-wrapper.properties | 3 +- ern-container-gen-android/src/hull/gradlew | 18 ++- .../src/hull/gradlew.bat | 15 +- ern-container-gen-ios/src/IosGenerator.ts | 6 +- ern-core/src/android.ts | 62 ++++++-- ern-core/src/iosUtil.ts | 4 +- ern-core/test/android-test.ts | 43 +++++- .../src/AndroidRunnerGenerator.ts | 7 + .../src/hull/app/build.gradle | 25 +++- .../hull/app/src/debug/AndroidManifest.xml | 2 +- .../src/hull/app/src/main/AndroidManifest.xml | 3 +- ern-runner-gen-android/src/hull/build.gradle | 5 +- .../src/hull/gradle.properties | 22 ++- .../hull/gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 61574 bytes ern-runner-gen-android/src/hull/gradlew | 18 ++- ern-runner-gen-android/src/hull/gradlew.bat | 15 +- .../src/hull/settings.gradle | 1 + package.json | 2 +- yarn.lock | 8 +- 24 files changed, 228 insertions(+), 198 deletions(-) diff --git a/docs/cli/create-container.md b/docs/cli/create-container.md index d571466db..2c171b5a2 100644 --- a/docs/cli/create-container.md +++ b/docs/cli/create-container.md @@ -58,7 +58,7 @@ - Optional extra configuration specific to creating container - Override some ios or android container generation configuration by passing `androidConfig` and/or `iosConfig` attributes - **As a json string** - For example `--extra '{"androidConfig": {"androidGradlePlugin": "3.2.1","buildToolsVersion": "28.0.3","compileSdkVersion": "28","gradleDistributionVersion": "4.6","minSdkVersion": "19","sourceCompatibility": "VERSION_1_8","supportLibraryVersion": "28.0.0","targetCompatibility": "VERSION_1_8","targetSdkVersion": "28"}}'` + For example `--extra '{"androidConfig": {"androidGradlePlugin": "3.2.1","rnGradlePlugin": "0.0.6","buildToolsVersion": "28.0.3","compileSdkVersion": "28","gradleDistributionVersion": "4.6","minSdkVersion": "19","sourceCompatibility": "VERSION_1_8","supportLibraryVersion": "28.0.0","targetCompatibility": "VERSION_1_8","targetSdkVersion": "28"}}'` Find more information on [android configuration] or diff --git a/docs/cli/run-android.md b/docs/cli/run-android.md index 8f3cb3d99..b244bc3c6 100644 --- a/docs/cli/run-android.md +++ b/docs/cli/run-android.md @@ -27,7 +27,7 @@ - Optional extra configuration specific to local container and runner - Override the Android build config during local container generation and runner project by passing `androidConfig` attributes - **As a json string** - For example `--extra '{"androidConfig": {"androidGradlePlugin": "3.2.1","buildToolsVersion": "28.0.3","compileSdkVersion": "28","gradleDistributionVersion": "4.6","minSdkVersion": "19","sourceCompatibility": "VERSION_1_8","supportLibraryVersion": "28.0.0","targetCompatibility": "VERSION_1_8","targetSdkVersion": "28"}}'` + For example `--extra '{"androidConfig": {"androidGradlePlugin": "3.2.1","rnGradlePlugin": "0.0.6","buildToolsVersion": "28.0.3","compileSdkVersion": "28","gradleDistributionVersion": "4.6","minSdkVersion": "19","sourceCompatibility": "VERSION_1_8","supportLibraryVersion": "28.0.0","targetCompatibility": "VERSION_1_8","targetSdkVersion": "28"}}'` Find more information on [android configuration] - **As a file path** For example `--extra /home/user/my-container-config.json` diff --git a/ern-container-gen-android/src/AndroidGenerator.ts b/ern-container-gen-android/src/AndroidGenerator.ts index 8c727f16b..0328a6357 100644 --- a/ern-container-gen-android/src/AndroidGenerator.ts +++ b/ern-container-gen-android/src/AndroidGenerator.ts @@ -69,7 +69,6 @@ export default class AndroidGenerator implements ContainerGenerator { ): Promise { return generateContainer(config, { fillContainerHull: this.fillContainerHull.bind(this), - postBundle: this.postBundle.bind(this), }); } @@ -351,7 +350,7 @@ You should replace "${annotationProcessorPrefix}:${dependency}" with "annotation mustacheView.customPermissions = _.uniq(mustacheView.customPermissions); androidDependencies.raw.push( - `api 'com.walmartlabs.ern:react-native:${versions.reactNativeAarVersion}'`, + `api 'com.walmartlabs.ern:react-android:${versions.reactNativeAarVersion}'`, ); if (isKotlinEnabled) { @@ -450,44 +449,6 @@ You should replace "${annotationProcessorPrefix}:${dependency}" with "annotation for (const perform of replacements) { perform(); } - - if (semver.gte(reactNativePlugin.version, '0.60.0')) { - this.getJavaScriptEngine(config) === JavaScriptEngine.JSC - ? await kax - .task('Injecting JavaScript engine [JavaScriptCore]') - .run( - this.injectJavaScriptCoreEngine( - config, - reactNativePlugin.version, - ), - ) - : await kax - .task('Injecting JavaScript engine [Hermes]') - .run(this.injectHermesEngine(config, reactNativePlugin.version)); - } - } - - public async postBundle( - config: ContainerGeneratorConfig, - bundle: BundlingResult, - reactNativeVersion: string, - ) { - if (this.getJavaScriptEngine(config) === JavaScriptEngine.HERMES) { - const hermesVersion = - config.androidConfig.hermesVersion || - android.getDefaultHermesVersion(reactNativeVersion); - const hermesCli = await kax - .task(`Installing hermes-engine@${hermesVersion}`) - .run(HermesCli.fromVersion(hermesVersion)); - await kax.task('Compiling JS bundle to Hermes bytecode').run( - hermesCli.compileReleaseBundle({ - bundleSourceMapPath: bundle.sourceMapPath, - compositePath: config.composite.path, - jsBundlePath: bundle.bundlePath, - }), - ); - bundle.isHermesBundle = true; - } } public getJavaScriptEngine( @@ -502,106 +463,6 @@ You should replace "${annotationProcessorPrefix}:${dependency}" with "annotation : JavaScriptEngine.JSC; } - /** - * Starting with React Native 0.60.0, JavaScriptCore engine is distributed - * separately from React Native and comes in two variants : - * 'android-jsc' and 'android-jsc-intl'. - * - * More details@ https://github.com/react-native-community/jsc-android-buildscript - * - * Prior to React Native 0.60.0, the 'libjsc.so' native library files were - * shipped inside React Native AAR itself. This is not the case anymore. - * The 'libjsc.so' files are now distributed in the 'jsc-android' npm package, - * inside an aar library. - * - * This function retrieve the 'jsc-android' package and unzip the AAR - * matching the desired JSC variant ('android-jsc' or 'android-jsc-intl'). - * It then copy the 'libjsc.so' files to the 'jniLibs' directory of the - * Container. This way, the JSC engine is shipped within the Container and - * applications won't crash at runtime when trying to load this library. - */ - public async injectJavaScriptCoreEngine( - config: ContainerGeneratorConfig, - reactNativeVersion: string, - ) { - let jscVersion = - config?.androidConfig?.jscVersion ?? - android.getDefaultJSCVersion(reactNativeVersion); - if (/^\d+$/.test(jscVersion)) { - // For backward compatibility, to avoid breaking clients - // that are already providing a version through config that - // only specifies major excluding minor/patch - jscVersion = `${jscVersion}.0.0`; - } - const jscVariant = - config?.androidConfig?.jscVariant ?? android.DEFAULT_JSC_VARIANT; - const workingDir = createTmpDir(); - try { - shell.pushd(workingDir); - await yarn.init(); - await yarn.add(PackagePath.fromString(`jsc-android@${jscVersion}`)); - const versionMajor = semver.major(semver.coerce(jscVersion)!.version); - const jscVersionPath = path.resolve( - `./node_modules/jsc-android/dist/org/webkit/${jscVariant}/r${versionMajor}`, - ); - const jscAARPath = path.join( - jscVersionPath, - `${jscVariant}-r${versionMajor}.aar`, - ); - - return new Promise((resolve) => { - const unzipOutDir = createTmpDir(); - const zip = new AdmZip(jscAARPath); - zip.extractAllTo(unzipOutDir); - const unzippedJniPath = path.join(unzipOutDir, 'jni'); - const containerJniLibsPath = path.join( - config.outDir, - 'lib/src/main/jniLibs', - ); - shell.cp('-Rf', unzippedJniPath, containerJniLibsPath); - resolve(); - }); - } finally { - shell.popd(); - } - } - - /** - * Inject hermes engine into the Container - * Done in a similar way as injectJavaScriptCoreEngine method - */ - public async injectHermesEngine( - config: ContainerGeneratorConfig, - reactNativeVersion: string, - ) { - const hermesVersion = - config?.androidConfig?.hermesVersion ?? - android.getDefaultHermesVersion(reactNativeVersion); - const workingDir = createTmpDir(); - try { - shell.pushd(workingDir); - await yarn.init(); - await yarn.add(PackagePath.fromString(`hermes-engine@${hermesVersion}`)); - const hermesAarPath = path.resolve( - `./node_modules/hermes-engine/android/hermes-release.aar`, - ); - return new Promise((resolve) => { - const unzipOutDir = createTmpDir(); - const zip = new AdmZip(hermesAarPath); - zip.extractAllTo(unzipOutDir); - const unzippedJniPath = path.join(unzipOutDir, 'jni'); - const containerJniLibsPath = path.join( - config.outDir, - 'lib/src/main/jniLibs', - ); - shell.cp('-Rf', unzippedJniPath, containerJniLibsPath); - resolve(); - }); - } finally { - shell.popd(); - } - } - public buildImplementationStatements( dependencies: AndroidDependencies, androidVersions: AndroidResolvedVersions, diff --git a/ern-container-gen-android/src/hull/gradle.properties b/ern-container-gen-android/src/hull/gradle.properties index 0566c221d..a3b2fa124 100644 --- a/ern-container-gen-android/src/hull/gradle.properties +++ b/ern-container-gen-android/src/hull/gradle.properties @@ -9,7 +9,8 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx1536m +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit @@ -22,3 +23,22 @@ org.gradle.jvmargs=-Xmx1536m android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true + +# Version of flipper SDK to use with React Native +FLIPPER_VERSION=0.182.0 + +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false + +# Use this property to enable or disable the Hermes JS engine. +# If set to false, you will be using JSC instead. +hermesEnabled=true diff --git a/ern-container-gen-android/src/hull/gradle/wrapper/gradle-wrapper.jar b/ern-container-gen-android/src/hull/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..943f0cbfa754578e88a3dae77fce6e3dea56edbf 100644 GIT binary patch delta 36900 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

yHlr~Qj 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 GTKgBj+ffbx diff --git a/ern-container-gen-android/src/hull/gradle/wrapper/gradle-wrapper.properties b/ern-container-gen-android/src/hull/gradle/wrapper/gradle-wrapper.properties index 669386b87..6ec1567a0 100644 --- a/ern-container-gen-android/src/hull/gradle/wrapper/gradle-wrapper.properties +++ b/ern-container-gen-android/src/hull/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/ern-container-gen-android/src/hull/gradlew b/ern-container-gen-android/src/hull/gradlew index 1b6c78733..65dcd68d6 100755 --- a/ern-container-gen-android/src/hull/gradlew +++ b/ern-container-gen-android/src/hull/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,10 +80,10 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' @@ -143,12 +143,16 @@ fi if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -205,6 +209,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/ern-container-gen-android/src/hull/gradlew.bat b/ern-container-gen-android/src/hull/gradlew.bat index ac1b06f93..6689b85be 100644 --- a/ern-container-gen-android/src/hull/gradlew.bat +++ b/ern-container-gen-android/src/hull/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/ern-container-gen-ios/src/IosGenerator.ts b/ern-container-gen-ios/src/IosGenerator.ts index 9e8066451..01fef2a9c 100644 --- a/ern-container-gen-ios/src/IosGenerator.ts +++ b/ern-container-gen-ios/src/IosGenerator.ts @@ -388,12 +388,14 @@ Make sure to run these commands before building the container.`, } public async addReactNativeCodegen(targetDir: string, version: string) { - log.debug('Adding react-native-codegen package'); + log.debug('Adding @react-native/codegen package'); const tmpDir = createTmpDir(); shell.pushd(tmpDir); try { await yarn.init(); - await yarn.add(PackagePath.fromString(`react-native-codegen@${version}`)); + await yarn.add( + PackagePath.fromString(`@react-native/codegen@${version}`), + ); // mkdirp and invariant are also needed await yarn.add(PackagePath.fromString('mkdirp')); await yarn.add(PackagePath.fromString('invariant')); diff --git a/ern-core/src/android.ts b/ern-core/src/android.ts index 530a9e051..ba6bdad55 100644 --- a/ern-core/src/android.ts +++ b/ern-core/src/android.ts @@ -13,25 +13,27 @@ import semver from 'semver'; // ============================================================================== export const DEFAULT_ANDROID_GRADLE_PLUGIN_VERSION = '7.0.4'; +export const DEFAULT_RN_GRADLE_PLUGIN_VERSION = '0.0.6'; export const DEFAULT_ANDROIDX_APPCOMPACT_VERSION = '1.1.0'; export const DEFAULT_ANDROIDX_LIFECYCLE_EXTENSIONS_VERSION = '2.1.0'; -export const DEFAULT_BUILD_TOOLS_VERSION = '31.0.0'; -export const DEFAULT_COMPILE_SDK_VERSION = '31'; -export const DEFAULT_GRADLE_DISTRIBUTION_VERSION = '7.3.3'; +export const DEFAULT_BUILD_TOOLS_VERSION = '33.0.0'; +export const DEFAULT_COMPILE_SDK_VERSION = '33'; +export const DEFAULT_GRADLE_DISTRIBUTION_VERSION = '8.0.1'; export const DEFAULT_JSC_VARIANT = 'android-jsc'; -export const DEFAULT_KOTLIN_VERSION = '1.6.10'; +export const DEFAULT_KOTLIN_VERSION = '1.7.22'; export const DEFAULT_MIN_SDK_VERSION_PRE_RN64 = '19'; export const DEFAULT_MIN_SDK_VERSION_POST_RN64 = '21'; export const DEFAULT_SUPPORT_LIBRARY_VERSION = '28.0.0'; -export const DEFAULT_TARGET_SDK_VERSION = '30'; -export const DEFAULT_SOURCE_COMPATIBILITY = 'VERSION_1_8'; -export const DEFAULT_TARGET_COMPATIBILITY = 'VERSION_1_8'; +export const DEFAULT_TARGET_SDK_VERSION = '33'; +export const DEFAULT_SOURCE_COMPATIBILITY = 'VERSION_11'; +export const DEFAULT_TARGET_COMPATIBILITY = 'VERSION_11'; const ANDROID_DEVICE_INFO = ` https://developer.android.com/studio/run/emulator-commandline https://developer.android.com/studio/run/emulator`; export interface AndroidResolvedVersions { androidGradlePlugin: string; + rnGradlePlugin: string; androidxAppcompactVersion: string; androidxLifecycleExtrnsionsVersion: string; buildToolsVersion: string; @@ -47,7 +49,8 @@ export interface AndroidResolvedVersions { } export function resolveAndroidVersions({ - androidGradlePlugin = DEFAULT_ANDROID_GRADLE_PLUGIN_VERSION, + rnGradlePlugin, + androidGradlePlugin, androidxAppcompactVersion = DEFAULT_ANDROIDX_APPCOMPACT_VERSION, androidxLifecycleExtrnsionsVersion = DEFAULT_ANDROIDX_LIFECYCLE_EXTENSIONS_VERSION, buildToolsVersion = DEFAULT_BUILD_TOOLS_VERSION, @@ -62,6 +65,7 @@ export function resolveAndroidVersions({ targetSdkVersion = DEFAULT_TARGET_SDK_VERSION, reactNativeVersion, }: { + rnGradlePlugin?: string; androidGradlePlugin?: string; androidxAppcompactVersion?: string; androidxLifecycleExtrnsionsVersion?: string; @@ -84,9 +88,14 @@ export function resolveAndroidVersions({ : DEFAULT_MIN_SDK_VERSION_PRE_RN64; reactNativeAarVersion = reactNativeAarVersion ?? reactNativeVersion!; + const resolvedRNGradlePlugin = + rnGradlePlugin ?? getReactNativeGradlePluginVersion(reactNativeVersion!); + const resolvedAndroidGradlePlugin = + androidGradlePlugin ?? getGradlePluginVersion(reactNativeVersion!); return { - androidGradlePlugin, + rnGradlePlugin: resolvedRNGradlePlugin, + androidGradlePlugin: resolvedAndroidGradlePlugin, androidxAppcompactVersion, androidxLifecycleExtrnsionsVersion, buildToolsVersion, @@ -458,6 +467,37 @@ export function androidEmulatorPath(): string { return 'emulator'; } +// ERN Android plugins supports backward compatibility until react native version 68. +function getGradlePluginVersion(reactNativeVersion: string): string | never { + if (semver.gte(reactNativeVersion, '0.72.0')) { + return '7.4.2'; + } else if (semver.gte(reactNativeVersion, '0.71.0')) { + return '7.3.1'; + } else if (semver.gte(reactNativeVersion, '0.70.0')) { + return '7.2.1'; + } else if (semver.gte(reactNativeVersion, '0.69.0')) { + return '7.1.1'; + } + + return DEFAULT_ANDROID_GRADLE_PLUGIN_VERSION; +} + +function getReactNativeGradlePluginVersion( + reactNativeVersion: string, +): string | never { + if (semver.gte(reactNativeVersion, '0.72.0')) { + return '0.72.11'; + } else if (semver.gte(reactNativeVersion, '0.71.0')) { + return '0.71.19'; + } else if (semver.gte(reactNativeVersion, '0.70.0')) { + return '0.70.3'; + } else if (semver.gte(reactNativeVersion, '0.69.0')) { + return '0.0.7'; + } + + return DEFAULT_RN_GRADLE_PLUGIN_VERSION; +} + /** * Returns the default Hermes engine (hermes-engine) package version used by a given React Native version. * Only works for versions of RN >= 0.60.0 as hermes-engine package was introduced in this version. @@ -497,7 +537,9 @@ export function getDefaultHermesVersion( export function getDefaultJSCVersion( reactNativeVersion: string, ): string | never { - if (semver.gte(reactNativeVersion, '0.65.0')) { + if (semver.gte(reactNativeVersion, '0.72.0')) { + return '^250231.0.0'; + } else if (semver.gte(reactNativeVersion, '0.65.0')) { return '^250230.2.1'; } else if (semver.gte(reactNativeVersion, '0.61.0')) { return '^245459.0.0'; diff --git a/ern-core/src/iosUtil.ts b/ern-core/src/iosUtil.ts index 91662e570..9a2ab8239 100644 --- a/ern-core/src/iosUtil.ts +++ b/ern-core/src/iosUtil.ts @@ -578,7 +578,9 @@ export const getDefaultIosDeploymentTarget = (rnVersion: string): string => { export const getReactNativeCodegenVersion = ( rnVersion: string, ): string | null => { - if (semver.gte(rnVersion, '0.68.4')) { + if (semver.gte(rnVersion, '0.72.0')) { + return '0.72.8'; + } else if (semver.gte(rnVersion, '0.68.4')) { return '^0.0.18'; } else if (semver.gte(rnVersion, '0.68.2')) { return '^0.0.17'; diff --git a/ern-core/test/android-test.ts b/ern-core/test/android-test.ts index d4b81375f..a65b8d88b 100644 --- a/ern-core/test/android-test.ts +++ b/ern-core/test/android-test.ts @@ -209,12 +209,36 @@ describe('android.js', () => { }); describe('resolveAndroidVersions', () => { + it('should return all default versions if no versions are provided [>= RN 0.72.0]', () => { + const versions = android.resolveAndroidVersions({ + reactNativeVersion: '0.72.0', + }); + expect(versions).deep.equal({ + androidGradlePlugin: '7.4.2', + rnGradlePlugin: '0.72.11', + androidxAppcompactVersion: android.DEFAULT_ANDROIDX_APPCOMPACT_VERSION, + androidxLifecycleExtrnsionsVersion: + android.DEFAULT_ANDROIDX_LIFECYCLE_EXTENSIONS_VERSION, + buildToolsVersion: android.DEFAULT_BUILD_TOOLS_VERSION, + compileSdkVersion: android.DEFAULT_COMPILE_SDK_VERSION, + gradleDistributionVersion: android.DEFAULT_GRADLE_DISTRIBUTION_VERSION, + kotlinVersion: android.DEFAULT_KOTLIN_VERSION, + minSdkVersion: android.DEFAULT_MIN_SDK_VERSION_POST_RN64, + reactNativeAarVersion: '0.72.0', + sourceCompatibility: android.DEFAULT_SOURCE_COMPATIBILITY, + supportLibraryVersion: android.DEFAULT_SUPPORT_LIBRARY_VERSION, + targetCompatibility: android.DEFAULT_TARGET_COMPATIBILITY, + targetSdkVersion: android.DEFAULT_TARGET_SDK_VERSION, + }); + }); + it('should return all default versions if no versions are provided [>= RN 0.64.0]', () => { const versions = android.resolveAndroidVersions({ reactNativeVersion: '0.64.0', }); expect(versions).deep.equal({ androidGradlePlugin: android.DEFAULT_ANDROID_GRADLE_PLUGIN_VERSION, + rnGradlePlugin: android.DEFAULT_RN_GRADLE_PLUGIN_VERSION, androidxAppcompactVersion: android.DEFAULT_ANDROIDX_APPCOMPACT_VERSION, androidxLifecycleExtrnsionsVersion: android.DEFAULT_ANDROIDX_LIFECYCLE_EXTENSIONS_VERSION, @@ -237,6 +261,7 @@ describe('android.js', () => { }); expect(versions).deep.equal({ androidGradlePlugin: android.DEFAULT_ANDROID_GRADLE_PLUGIN_VERSION, + rnGradlePlugin: android.DEFAULT_RN_GRADLE_PLUGIN_VERSION, androidxAppcompactVersion: android.DEFAULT_ANDROIDX_APPCOMPACT_VERSION, androidxLifecycleExtrnsionsVersion: android.DEFAULT_ANDROIDX_LIFECYCLE_EXTENSIONS_VERSION, @@ -255,14 +280,17 @@ describe('android.js', () => { it('should return default versions along with user provided versions', () => { const versions = android.resolveAndroidVersions({ - androidGradlePlugin: '3.0.0', + androidGradlePlugin: '7.4.2', + rnGradlePlugin: '0.72.11', kotlinVersion: '1.4.0', minSdkVersion: '15', sourceCompatibility: 'VERSION_1_9', targetCompatibility: 'VERSION_1_9', + reactNativeVersion: '0.72.0', }); expect(versions).deep.equal({ - androidGradlePlugin: '3.0.0', + androidGradlePlugin: '7.4.2', + rnGradlePlugin: '0.72.11', androidxAppcompactVersion: android.DEFAULT_ANDROIDX_APPCOMPACT_VERSION, androidxLifecycleExtrnsionsVersion: android.DEFAULT_ANDROIDX_LIFECYCLE_EXTENSIONS_VERSION, @@ -271,7 +299,7 @@ describe('android.js', () => { gradleDistributionVersion: android.DEFAULT_GRADLE_DISTRIBUTION_VERSION, kotlinVersion: '1.4.0', minSdkVersion: '15', - reactNativeAarVersion: undefined, + reactNativeAarVersion: '0.72.0', sourceCompatibility: 'VERSION_1_9', supportLibraryVersion: android.DEFAULT_SUPPORT_LIBRARY_VERSION, targetCompatibility: 'VERSION_1_9', @@ -281,7 +309,8 @@ describe('android.js', () => { it('should return only user provided versions', () => { const versions = android.resolveAndroidVersions({ - androidGradlePlugin: '3.0.0', + androidGradlePlugin: '7.4.2', + rnGradlePlugin: '3.0.0', androidxAppcompactVersion: '1.0.0', androidxLifecycleExtrnsionsVersion: '2.0.0', buildToolsVersion: '27.0.0', @@ -293,9 +322,11 @@ describe('android.js', () => { supportLibraryVersion: '27.0.0', targetCompatibility: 'VERSION_1_9', targetSdkVersion: '27', + reactNativeVersion: '0.63.0', }); expect(versions).deep.equal({ - androidGradlePlugin: '3.0.0', + androidGradlePlugin: '7.4.2', + rnGradlePlugin: '3.0.0', androidxAppcompactVersion: '1.0.0', androidxLifecycleExtrnsionsVersion: '2.0.0', buildToolsVersion: '27.0.0', @@ -303,7 +334,7 @@ describe('android.js', () => { gradleDistributionVersion: '4.5', kotlinVersion: '1.4.0', minSdkVersion: '15', - reactNativeAarVersion: undefined, + reactNativeAarVersion: '0.63.0', sourceCompatibility: 'VERSION_1_9', supportLibraryVersion: '27.0.0', targetCompatibility: 'VERSION_1_9', diff --git a/ern-runner-gen-android/src/AndroidRunnerGenerator.ts b/ern-runner-gen-android/src/AndroidRunnerGenerator.ts index e9b6de061..e9905605a 100644 --- a/ern-runner-gen-android/src/AndroidRunnerGenerator.ts +++ b/ern-runner-gen-android/src/AndroidRunnerGenerator.ts @@ -8,6 +8,7 @@ import { } from 'ern-core'; import readDir from 'fs-readdir-recursive'; import path from 'path'; +import semver from 'semver'; const defaultReactNativePackagerHost = 'localhost'; const defaultReactNativePackagerPort = '8081'; @@ -94,6 +95,12 @@ function configureMustacheView( mustacheView.isReactNativeDevSupportEnabled = config.reactNativeDevSupportEnabled === true ? 'true' : 'false'; + mustacheView.isReactNativeGradlePluginEnabled = semver.gte( + config.reactNativeVersion, + '0.68.0', + ) + ? 'true' + : null; mustacheView.miniAppName = config.mainMiniAppName; mustacheView.packagerHost = config.reactNativePackagerHost || defaultReactNativePackagerHost; diff --git a/ern-runner-gen-android/src/hull/app/build.gradle b/ern-runner-gen-android/src/hull/app/build.gradle index a079b3002..ad2c2880e 100644 --- a/ern-runner-gen-android/src/hull/app/build.gradle +++ b/ern-runner-gen-android/src/hull/app/build.gradle @@ -1,4 +1,18 @@ apply plugin: 'com.android.application' +apply plugin: "com.facebook.react" + +/** + * The preferred build flavor of JavaScriptCore (JSC) + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' android { compileSdkVersion {{{compileSdkVersion}}} @@ -28,15 +42,14 @@ android { lintOptions { disable 'InvalidPackage' } - packagingOptions { - pickFirst "lib/armeabi-v7a/libc++_shared.so" - pickFirst "lib/arm64-v8a/libc++_shared.so" - pickFirst "lib/x86/libc++_shared.so" - pickFirst "lib/x86_64/libc++_shared.so" - } } dependencies { // Recompile this dependency on every build as it can be updated at any time (snapshot) implementation('{{{groupId}}}:{{{artifactId}}}:1.0.0') { changing = true } + if (hermesEnabled.toBoolean()) { + implementation("com.facebook.react:hermes-android") + } else { + implementation jscFlavor + } } diff --git a/ern-runner-gen-android/src/hull/app/src/debug/AndroidManifest.xml b/ern-runner-gen-android/src/hull/app/src/debug/AndroidManifest.xml index fa26aa56e..885c4ee44 100644 --- a/ern-runner-gen-android/src/hull/app/src/debug/AndroidManifest.xml +++ b/ern-runner-gen-android/src/hull/app/src/debug/AndroidManifest.xml @@ -4,5 +4,5 @@ - + diff --git a/ern-runner-gen-android/src/hull/app/src/main/AndroidManifest.xml b/ern-runner-gen-android/src/hull/app/src/main/AndroidManifest.xml index 695c8f8c2..742e704c1 100644 --- a/ern-runner-gen-android/src/hull/app/src/main/AndroidManifest.xml +++ b/ern-runner-gen-android/src/hull/app/src/main/AndroidManifest.xml @@ -12,7 +12,8 @@ android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> - + diff --git a/ern-runner-gen-android/src/hull/build.gradle b/ern-runner-gen-android/src/hull/build.gradle index 65003a88f..bbf9a021e 100644 --- a/ern-runner-gen-android/src/hull/build.gradle +++ b/ern-runner-gen-android/src/hull/build.gradle @@ -4,7 +4,10 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:{{{androidGradlePlugin}}}' +{{#isReactNativeGradlePluginEnabled}} + classpath 'com.facebook.react:react-native-gradle-plugin:{{{rnGradlePlugin}}}' +{{/isReactNativeGradlePluginEnabled}} } } diff --git a/ern-runner-gen-android/src/hull/gradle.properties b/ern-runner-gen-android/src/hull/gradle.properties index 0566c221d..a3b2fa124 100644 --- a/ern-runner-gen-android/src/hull/gradle.properties +++ b/ern-runner-gen-android/src/hull/gradle.properties @@ -9,7 +9,8 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx1536m +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit @@ -22,3 +23,22 @@ org.gradle.jvmargs=-Xmx1536m android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true + +# Version of flipper SDK to use with React Native +FLIPPER_VERSION=0.182.0 + +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false + +# Use this property to enable or disable the Hermes JS engine. +# If set to false, you will be using JSC instead. +hermesEnabled=true diff --git a/ern-runner-gen-android/src/hull/gradle/wrapper/gradle-wrapper.jar b/ern-runner-gen-android/src/hull/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..943f0cbfa754578e88a3dae77fce6e3dea56edbf 100644 GIT binary patch delta 36900 zcmaI7V{m3&)UKP3ZQHh;j&0kvlMbHPwrx94Y}@X*V>{_2yT4s~SDp9Nsq=5uTw|_Z z*SyDA;~q0%0W54Etby(aY}o0VClxFRhyhkI3lkf_7jK2&%Ygpl=wU>3Rs~ZgXSj(C z9wu-Y1}5%m9g+euEqOU4N$)b6f%GhAiAKT7S{5tUZQ+O8qA*vXC@1j8=Hd@~>p~x- z&X>HDXCKd|8s~KfK;O~X@9)nS-#H{9?;Af5&gdstgNg%}?GllZ=%ag+j&895S#>oj zCkO*T+1@d%!}B4Af42&#LFvJYS1eKc>zxiny{a-5%Ej$3?^j5S_5)6c_G+!8pxufC zd9P-(56q5kbw)>3XQ7K853PQh24-~p}L;HQuyEO+s)M^Gk)Y#4fr1I*ySS6Z>g^ z3j2|yAwKXw?b#D4wNzK4zxeH;LuAJJct5s&k>(Qc2tH}2R3kpSJ)aaz!4*)5Vepww zWc0`u&~Lj*^{+V~D(lFTr?Eemqm3a{8wwF}l_dQsAQURmW$Bm$^?R10r)Xd_(HUYG zN)trq(ix@qb6alE>CCw@_H0*-r?5@|Fbx<6itm$^Qt~aj+h+Vd7l?ycraz%`lP%aB ziO6K|F?9|uUnx$T5aqKdAs74ED7SPSfzocG)~*66q;Yb=gB{=6k{ub6ho3Y`=;SnB z;W96mM@c5#(3(N~i_;u05{yUL8-BBVd|Z@8@(TO#gk&+1Ek#oDaZ?RNw{yG|z+^vm zz_8?GT|RX|oO;EH*3wMsfQTe(p6)G9a)6&yM+tYvZwg;#pZsdueT#%;G9gwXq%a(| zl*TBJYLyjOBS4he@nGA-CofFCVpGz!${(Qa{d?g*Yt zftsoLCHu-*AoZMC;gVx%qEKPVg@Ca2X(0LIQMr5^-B;1b)$5s^R@wa}C&FS9hr_0< zR(PnkT$}=;M;g}bw|7HERCSm?{<0JLnk{!U8*bbod@i#tj?Jr}|IcqMfaed&D?MHW zQQ>7BEPK-|c&@kx4femtLMpewFrq`MVIB%4e_8@IyFi9-$z0o48vnBWlh@E7Lz`C& z{~7u$g;@syjzMCZR|Nm+Jx^T!cp)q9$P*jxSQZ3le#HSIj=wN~)myB;srp0eMln_T z6?=}jUvU5_s4rEcO3k}*z#DQrR;TOvZGc03OR0)P5RI8M<#*B)8fYxxxX(I`Dks;X z_q5?sAs zMlaiDTP-1_XRMwL(q5h(W2yvr9HmtlnR);!9>U%TyViU)t#_5B#W0DnP!P#s!my-T zqbgQRIf%MWo*YUK2vXE8RIy;gJ8p^LU$c6POWt88``5^mIqohk~I!a zv-T{zI?eSLajm^r3>inooK|w$a_2H9J=;|sziKGRQ&FC5CWUF*#N6?n4rD-}S>Eg!tFkOpE7otS)$s3hyim=Ldy&-I$%Yra=M3xIOG{Jc zr8d_wbB301%Zy*8ILfeRiGfeQUIh2N3|41xAR|uvQ%?AIGUkdX*Ymgh z54d1)Igp9~)o7-h8AAH#6DzJ}UPh+srx=B^tGe~_(uwPoOov8sptn}$Rx@&$Ox^8H z!MND`vATA1%mR>+iCrV=b!*TSrj2TDv?Fnmj$=uw{JX1c$tt@zIC9gt)3Inpb+Q~= zh0Y@1o@R7|g+n0^b;v#5cc24{OYlnusF0tun^X?qHRYl#m%6UY?tK9vA zvtPnt7tgpi=qBIQ{v=D|p=4@{^E7)c3MLDCNMKPYec~o)VJ6zmZRE?UqXgYj7O~uG z^YQwQfQr>T!u&NaBfm|PW%g%cDoE8%t<-Ma$wIkMS{3sTS+aWpx=g7(+XtaLt9nqB zrLi<%uH29tuKZ6?`Ka5N0@G{F134GZ+6+RnA|Y+wCs~N*%N4CxyoB6?*{>AMy4w}` z@CMj>CaC}<;Y&#-a6~6AB=v2>)b=&t&D7SK6Vc4p+Tfg{AO(<+v?R1IsPA~@FvGJw z*d@a@6bydfT8{(k2N*D`FO@sUHbUIw4kQ(jrMPa2Mjc&~AK*xoe*c+VfsGx$cnzHQb4bSL2wJvVg>oYR*?s}CgoHMPLwA`Km%5LJm4a&OZ3QL*-+4G0t%;_ zS|DOILXL@I?hGl*3JvMq)Uq;%_B{$ipS*Qkn~F!-P^6Afg;Qf!n-zi$tpUjh9TEgk z$Em>`JJ(>S;8ZLM+$-RWUzFrR!@<;W=Y3ASjLR1`U zRnQ{ZU%JK?(2oo+c(5g;5Ez&I&5{C8{!I?aB34uFL`IQg#2z;=$Si?P0|qnfM1VdS zb6@5YL(+>w;EPEyeuX)yIA~VlFjk5^LQ^)aZ$<1LmDozK0cxH1z>q2*h5eR(*B8Pj6nS=K`)S3FLEV-S*4c;F0<9nRRu$YqiDCFaTc zU2LxT3wJJWeBb8}%B59!#)-W}_%?lSsy~vH3%oytE`j-^9*~SvMr-z3q=A7uy$?X& zf*Ky)z&7X0jy`YDtCs@NJw0+j_3CeDw_I25HR6CPV2t!asKPJV^R_r+u&LUxP)wtR zmFA-~HswLN)Ts=7{YPysG?DY))3+-L*En93o=+v+Kjw;_cUsONDZ!zzk{1O05Wm+3 z*2;}O&??lNOe-V{mDB}Gn<0_7H$ZCa5dWoq#}QCT(~h%=J=n@;@VXR52l^?vcj%GP zh7{kjosPu`1x+iQVU?(TJ^?xlT@AS>a?&FMQRTyRO?(2jczyS@T%&!d8mzxqO0r&;UjTNkbB)J1%*iB$McM0+stU%2(C}f0}_{G?dWaCGjmX7PnOq1 zdRr-MGfS#yqMH&mW5BiJE3#|^%`(niIKQ_BQ7xk`QFp50^I!yunb~0m24`10O=`w3 zc#^=Ae(B8CPKMDwLljERn*+I@7u8~-_2TPH`L# z=1~{&_1Fg{r>4*vu5rRTtDZ3}td&uZ)(p*OD4xfn01zzS+v3c_N~GkBgN$cm$Y%H} z1sPjxf=IxdrC~^)&Pvq1^e`~xXM2! zYU)LU02y$#S?v+CQ~GP{$|nR0d%`>hOlNwPU0Rr{E9ss;_>+ymGd10ASM{eJn+1RF zT}SD!JV-q&r|%0BQcGcRzR&sW)3v$3{tIN=O!JC~9!o8rOP6q=LW3BvlF$48 ziauC6R(9yToYA82viRfL#)tA@_TW;@)DcknleX^H4y+0kpRm zT&&(g50ZC+K(O0ZX6thiJEA8asDxF-J$*PytBYttTHI&)rXY!*0gdA9%@i#Sme5TY z(K6#6E@I~B?eoIu!{?l}dgxBz!rLS{3Q4PhpCSpxt4z#Yux6?y7~I=Yc?6P%bOq~j zI*D}tM^VMu{h6(>+IP|F8QYN`u{ziSK)DC*4*L>I4LoUwdEX_n{knkLwS`D-NRr>0 z&g8^|y3R$61{TgSK6)9&JZFhtApbp$KzF13WaC(QKwAZ|peA@Aol`&*>8RK(2|0%R zyo9nL{gtv}osWeNwLf@YG!wb9H2WRcYhg_DT60dzQGW(y7h7|4U*<;c*4N*sE2sdR zZRP^g;h(t0JLIuv)VNY6gZ)yUD)2d)p?eFznY8$~EZMYTiu%DF*7UeVQPV}h zF*|ls`|a+{u;cd>D@%~dRZBn~-Ac+m&Vg>P=3VY8+$<7Zi7p<~Nq zR^M^jl=zI!T`8H(gK0H945KY=N1J#Up`sWvfY$>1SGEfqEyKIokPVbexYnI`OXJF$ zkMS3dBE8RnB1dK)tJbNSu5Y&$IYBy38luzK-TGMpQcEojhte7Xff-zI50I2qM(i2F2)9DdagoKYlK zz%x8sxFf>5@1bI$-n*}N>o3o#^zP{$d7pf& zf*4SNbn9QDXDCVn;wo6|E0$(wBv*pgxHCA(S3lXJ4HMQW)rU}U7?F zxI}V}W~d>wx97Ozh+^glLBo{*j$o`=hK;idHhi4CG!_fG89V-Ew-^^hhMOWUdu-2< zd(t0O>8BgZ1N<2Xi1G3>r1@d)nBD*K3PsmP{s{&G;tmG_!k=7FNuKO+fCm`SxKP>B zK>mtj;Etn5J%mKvT;yE_zl8vk?q3f9hwea!Dt8yLUCgFO*BnS=YuY}-c!&0jb}J)D zV(s~BTYfVyXK<9y&hpVuS= zc!!wNsFjPgspRhCIw6}w^RvLX#?KnhpM(hB`U3x zg*!~MI$JfAFWhsN7xRdV^%0aygs+rZ;dpWzncKOTAa`0Xq7m(z zS_LwFYW$1KXsfgpFzlw7r#2KOQn(%ww?YQ$bT(GWx*gx2Bsny3J z!6UUPr8>TIGiK`%2m`PSS3Pd36m#OIl#SN?$h?mU25XXidM(*ZGBAelMO)H+;9Uw= z8`vjt5)+09c$b2FAWm3{jId9*ui3~Ihbw`9e-2;@?!T%Dqin&WFbQJt4_m@V=j9P* zbXi|lvH3x49-&)RB5c* zheg*i@5p((w*%DOB8-%Yv2P#-IHB%v>`Y&_9BR4)7ngJze2&>4c~NOkQnJ)jt+X$L z9`^6#2vV*K89hV$gu10|zu~;nKfa?ohox&sMS7NyTlMJCQAe^h{9nZwpoX?uy5xO? zW@PBU$b1{UOpv~AtZ#<+*z+(g?Fjwseh8lsxs5iozi*#gI!;qXBt)G~j z9v5n^MQKOT?2!Dj8;SOO0>6f3orwHJiOFK6`b<|b^4}5n{l-VQ?SoksHS=yv3$O(l zK4aL#0Zq4{g#z$jo$*dAJfuB~zb-n^5(3@{JHT~GGc;Ky(^y99NCxW2rZg%U^gIg; zJ%kBn@NxZn`e|BO6V4* z39i>kJU<7SyAHVHI%uKdcv|~U@W=4e@t=p!S?jnBEq^yQ2E14shzIlXKC?om(H84vN=o^2NtMBm7J~D=rmbm*NWjSVJeDEz-N5UmBk5`GjywWp zZ6s1IpXkUutr~lnCT>!2PPR9DIkuVbt|MCCR|#D(rD%~B zubEU^cc78hxs+x%Vg6$X@16i4ob@ek?PQijQzieZfi>E5NEg`76N6^2(v~ar1-yk2 z{{lAO$SjM{aof;NApyxnbEZnRO}8?!fT!U_<`21g+Y&qC_&99r6|*kDkDETgh-Blb z?9T7UIB}thISUzkw0O~5y~+>wtL{7Fc;gSldH8639yf31)qi4|Wq~g>_I0dfs^OGe z!K&|A^L|jeya>y7<>8(f3SXza9%^rl#3_31Neefn#Uk7*_^}IkM)e_&Fg~Ughu3}B zG0}?Kod{eb?94;$6dD4YV>n9mC5+Hy8M_h+bQmvUNvJ>0P#9a~pPDU9l#NrDP39Z> z7R3hA*IMVAod6Yl=s=BNyrblFv9ahxsA&Gst+0`2T@WSesGH1hRhw z#t7Smp){oxPiCm!XedMT9Xls`K+YKLV>+PC>98;G(5Lw*eBS5`f9B8Y2br|#y@jcz z`ddmVevy*mwN3@%YsE|Fsj!mu|5S)>5)wx;dbtMZ6Z1juCz$0kMS5-C{B5qnD{7ViiFNTv<&?w+5J7 zOvuImg^_o-ySHEQGAp-85!m8;Kjq_i-SzRFWcdAdj|VdIswTnUkggogN4`x{jEyG? zQ*_r9na<4wW8fySLr;PuoDVKKN@|y=99HWqBR+2kiH1prFkUgL{}*5_>twEG!W=|` z!(x}*NZ|P}Bf#p=-xK3y2>!x$6v(pYq)(6dQWk)$ZWSp%-^30dq``oVSfEWcTXE)1aMtpTQ;FW3e5ffMASm16(q#bJ}PAM2+l8m-{ z*nkDPH}ha-U3r{s>8XetSzpDN&nlc>|Er_gOMq?H8gtx5_)=$=rKn8D)UFKeitTF< zrA6>w`_sOEN&t!qEx|Pjw>cpv6y3zP58py3u%=88_f1w?Dh6qHi_=ps1{zKT3c+AJ z-CHtS&YwELV7i&XOXFt+doDFc=HdO@cjpeR_V#?~+=e|BdnS5C#8DCu@>*3!I9V9< zW8$!NLpp)$6Dt$s16B6U0ukr;dz~cWFIBq~D_Il@v4E@wH%Sf#P50K?&Z#GHc^JwQ5QyPaJatDTEbA97~OHLu)q6tU>srf)aJKx!w!`g-`+$hp=yl`47e};Vme|`Otn|zcuTh4TQZ6IKVT7?o{08_qzzuC#0N+` zUL{|(2B|=83J;W>uqDA61!wZ8=lN%B^2FGwkZO!2?1c;bDLELF1bQ^Y?Y+7uH}!W` z^`^=K4S@v^Hf0N&e`kde(pQ;BIt`1ze5~`Nn*fETHo^-|6KuqPj||YZ}sKX zV?ZxRbyMRcdpZnDH1-C5U5;4JguMyzlQm)=l~l=@z2)laaTx@kKq5APotoUE)xH#J z6)(ramD2fUHPdL793*l5S06`4Z3{&?tnR3xfYKS3B*A9}jW9$!H?R6_%7X{4+i!*D z*)40tp!3LCaUi_0jXN?z7Y6AEkZ^eIVyo1w;KO5iZg~7 zHCM5Jk&G}NQwK`~bXb=f#j!xIJJ#ETt7@1qhw9lR(hEuxbrv?Ct!{87z|%xN)YC*i zx*N?__cB*&7kQ_BKkH|g0C{L*XHjv2;aHF<^+m0ch@q*5qw}L{NLOF~Wij{R7GRxv zl5Ne^rT$D06;D(gWfiTsBRtZy(NY}48_YzA+&O?{^mT^%=g%f;Ze*H{?}d8=k;bAO*Q1?nvfP#$3|aI1lz{jcLWDIa9v7R}*UUhVLB> z?TDq)NCcJE9S%g0rVmhrf>=Nw6kt8m!lpu=;6aU-%{(-cj)pA`DiK5kE7&tX-cAxk zV7ZG}Y!Ot|OEx!qA%%(cHP{?eqT&8(26rmJ5#`!FG&0ynY|*(Kz?poEylYbT zipX*&ApQikP2)eD@Cw5>GKY=XH&1uQkIwKs&xAMXwn91ntk9#gnYz6e93PIWrmt>FDJ!k43qNZXPf6WzmzXnJHc=iBBr{8^QV3P3jBjzp1TS;KxA;CN~^( z+=W87)Xjkhvi+QF4Lx^aaWOqm(0Y9CO0GFZR8z&yMefP`|0m~2!!3xZ8Lm2Rvv@2r^&{YhR@ zw^UuX9c)b@B%u83iCNC~IC#%5yDEAF)=sG2Ixi3%m!~JwM$*P5x2h-9J*IpQSa~@J zrrr`+ovQAga*z#m7tsT{r|u?Zhxkhp{;cu*=@#(3`WZu}iQhp)>uS`C#CQB#V0r*V zTe2;aKaHbKz)(xpB<;4XJks+e6S0l-xv_|GDdg@Di2SHte&&#+NZ(2^BxzTs#s&{h zT+P^yaLR3Ngh&SYr_pGSlo1CA2wot^gmLX*Kry~2|D>4C=?)BOyuKoq!#CwNE>=xz z@B8_S`HEpn&6xHL%`uv=rD%h>RB_zhRU&TJz}mn5F1e&^ASo;(3ppRY={cnp``a?A zC0wiV5$%pZ!_*FuGrqYzT=2e770vS1j+=c~|zjkE7i4Y4E(NTKXd-je8>=6q<+#B7yc*NLp6Yi7`s>jG~xBpI-ljN3WLT@-~ z1>TEAk)dHU%i@jw-oY^D2AAb|%)}JjA7Bt{nKOF_Hp_!A9$XYm%X^ ztmK?aV&I-7@30n?X3rXfNuWHp0#VN~t=DRNoaeHi)w&{-K@k@5vgoq(MtF*-_fe2= zYChH0%?FP}6|_HapKK0kzEY{&1ar1-#X(o*HA;tY509Qp>zLBfP;v#}!^mV5J)dZ^ z>BgG%+gA^6~) zZIvs|p~pM!mkV)(Wj^@{;btztU>>X7r>wpDwmCLZ-ovAvPh4@D&-`&>!9aQ4ozB$& zp5iU5W6N}(oJL1>m258VY_?OHJtQ4roUQ9xnhBhaxRO?2T*pfCJ;?Y5nAyb%ZmWeQdtfRjFHZ{sZX3=>dcPZA7K6U&rrSMJ3 z23`Lst@rcgM;A*bOBZ7^yX5>5bBMmNiu{;nn9^8K@J#x?!{n@TH!x&BoMx1Y zpdS!C^i-FX$r+VWfUDF)D_ay~adG-ZLIz0`K#)}p3kzvR0rp=Om7M8tl78YAV0KgX{bGW4+cEG<+t|p2oXOxm#xNQfN z8f%1y6(O6G{7C}RnVfKJuiXZaj0W?HdU$68{-jOybhcswAmTI)jig>@#_t4FFbU=& z)3D3#bDeYZ26=;Z?rb?le{I}drsj^85p*AB*D=t(sbAMU^rLueRZ8e8j2qQV1~Fi> z8hYmusOb@gaqj3$`75=b|ETY1Q+Fq*KH$RLu8u@?^hVwkzBUu&NT}LcfTObO{CffG zsFXYPCekhefLbLr_#$o*i+-Y*PU)i`#x}$R}_=G*KKA8Od zg?&d1E5yBkIi!?6gDJR}d@@sZwG!db9)PIXWr=&{#YBo-o^KfC-w7L=Y$2_q5tA_s zd_)K$q}9eV8#$HB4v)xO`cRrV5M0lbBS^BQ?N_Uyj}uJ$8D))4`RzrAKn8@Bl20*K zK?_9(EL!7Tu@<%jia$Ut+x-QJbj1FEus=kWHhxabUvLKbdZYo9sf_2ZyUzTtQ`H9634fzfh{>IZs*n7#nJFjd~cRk}k{P;z%|sOnYp)rqs0 zMntK7EEh?ZW;Dj{ezME8Ko#w`;YZB7WQfu8Cl3?Ixic3l%&`v9SfHWm2pdd-N*w#6 z>pThQ1uF0rDpJ1vzbcK8Z)NAyf7p9L{2y_q0+dc+(u%0J1ZfqPj;s8HrXflA*Q%+? zSWY;#r_OEyUMB4@+!+QYb20UJ1&W~+YkpIj`Znt-)9V}-KKM^_-T2*HO#8n*e~|@< z*PKcjON29GAwVEB^Quix92bUpcgU|UHxv~9a~In6`L>OeU`GfbThFhw;fLI}TJzeF z0G!n|WK%ep~kHJws&s(en>DFZ0)ld zbX&L4=&DqT55oSDXVOUIOCNtJ?&o_+z|RdgGV~cu#bIU7P1)FXPox?Pt^Wzf#Uyju zHJ-wt;Q{pYCwybEi&h!8>!GxjB3=MYmJsd7{?h#Zb#sZQCgbR3-)Ak*c5Jng=kai# z@B_>mOjhgPQ7~?18moe?$->ieFbaQeT=5~Jd?z*=lLj*#XEpObnQ3^>$2tY5G-}a@ zEmSX?WSoC1&Qmzkw_{vO&V@N_n)R`16?m2h8z&f4!ZL=IT1Aj1)01Uq2tWZO5y$=s zaORP;**KR8NS$#Cee%5<5+F>(+o;+NQrr(r-VaWFBjbZZN76SSb_b1o zc^0aIX`Kg^LWGJ>O)L_3w-hi3`3e%|1sEYkdcfy++pC_P2+`cQV&+tAkLXej;;z$0P<*&mKBafg$S*@#Iivr!)FZxfykAAa& zl+J;luT&!5ym{m^r_*pS9j1jMnop!C&aB@CGMetbC}E6!cJ5#tE)p{Eerq_dc}p;( zrX=B=qAHr%w2o-7rgx<`E+s|9@rhVcgE~DvjDj#@ST0A8q{kD=UCuJ&zxFA}DVC+G za|Tc}KzT+i3WcdDzc_ZvU9+aGyS#D$I1Z}`a7V_(Oe4LSTyu*)ut(@ewfH*g6qn0b z5B!c7#hijdWXoSr@(n%%p}4>se!uezwv4nqN+dY#Aawu%=d-Rn+zkJ-QcHv4x~>H$ z;nl83-22HjF)2QMpNEM1ozq$th2#KRj5s^@lA)tHO0f36Asv{XHuEFwPv8h3aVTxQ z%oEW6IvV#QJ0B;vgw^Hp1Px?Mz2A(2dQ^;}4MsY<8eV>fzO;Af@2_ABvNCN&Vi@_$ zRA;E+5L+M~+U^kL3Cv6VGRI-YP4;A4S&FiV_IwHwRVdRsZgQhV)RgM4Ma^G}ULm!> z8q`CgL(VPvlGhnd4Y_Q(w#EU{=fE(mCcuyXqOz6x9k}xk63wR%n2?k=jbfx8KC{_QVW? z2ys94)HvxzFg3~`E+&TzC@%OAsX|h=**G(r1*OP#MUZ>t$ZBnnJ56m_n+*g-@o>wMN)L+r|C7%OU{k&i7w!T&(lEg>(Lm5?YI)Z zMu*56HN&c15ADmoxo6=V1AoJDxTx;8r_dWba= z34d+4zF0+J$*d`EgH=4aGD~iWMN?r-nPLgUypU3y7jqF-rKVVCMolJ?vXnQCHq3E? zygp@tR;A8@wwqP-$|X$GqUu>re>O?GO0#leqeF|PxrbFUnRX?&+9UTQ^-bmx!a%#? zHr;DWVKXE_Vk>kZU zv>7s5$dTD>2U*zg;YNegvp*xjy`Rq?-EF}S83Bmx;bgi)&qtF#*)1e44g-Oe6BOHb zLCMn`&=S1x^%&^OkftmS_H!DNy0tXtDm$oL#m`o9$?ic5tK&QaR`dqD8&VydP=hmO z4eNH1Vl)1SSv86{1;1>GZ7eRkgcGt^oM^b@+S81dqf)DFG?wjas_XRIoXwxA)TbD$ z&;YM#{~CaV6{j&!q8Q4}E87~4tjOhR`yD|jD7xz-`qG4CixswD1SJ!dNNr(YceB(S zdTBg-bN&brgS8l(!5vd%3#(D9Rs}p}8tkD#7%)3&P(x)5m)j6WJgmsD;%%#t?U^$$ zt}rR)lG=wjUkB3_m9)G?t6Pgk^z+!P)&Q}&ZX<4NL*j8pdJ{Kbnpl=Rg^*{}#rC$9 zgeHxM@YlVRDsc-hGD6kMZ~@(KO!AY7e3CkQJJ^eBC4qsB&hMFE~sc=K_u%p7dodffBw1U*#b6=_ylpuw)MUa&2g24IPnQkKD+p8Kjt| zBrA0e{WbCdZ9sUUwkn@$zfRSJdC;+_fgm}R!nrJph!|;r$;y6jNTv>VK%(mFIc71& zbYEKGXaibyqWmY@Tk{fC;#Flu0igd4Olz3+NBQp<*MZDTvWGBG8rigCLOH%o>>M6OIYwohsAYg2z8B&M~f7N=iLOPie+-I#!D&YrLJ#*|r zk`%QWr}mFM^d&^%W6EKt!Jense)RQoMqrAg_=q!e_ky9mt-vXrEWn`?scHMlBa@%fis_I33 zTO#Cq>!AB*P3)GH3GO0kE#&p6ALzGH1785t(r5xFj0@C83E@@HBtSSGZ|q#57SXzC zBcVYI{w#qZOiY|a25^Fdny!G``ENdD%DlS3Zk}KXPO%lG*^rJ-*YoTz0!5gcbUBIU zcxsp)g(jX$tR0mbI%5n51@)hFEWCS&4h~-C>z+e9XP2#9L=w6n0&{JJOi_tKFjBOmkydTxF?{=r~Z0SZ zQ!+?)lb|XW*a39dgeKjifBjqg6C6^fO>>mhlO5^a!?k@%Fm%OcR)0o}*qm6=$;a85F~$*LPd>M4+h=KK^p< zUTLr~iZCJ`#!sTSSP?A25d9$@jEe9}IiHO>I(cU!JV|?&>({{a8~_Oyc02#bw!fyZ z@HrqJOcWp<_mvL~UYdVG%AR6M@$eurF>ywq!qkU^T{D$%{9=rQK{Mr0e$Ev<4Z5_S zNnwMk`o5QFbqF(j*?kTXXP`Tk>0tE2420%Wbv=sgM}= zFD&odG<``_Nk$!;UUlNa@pUE;@K9l8cg(6Zp^76 zHSY4thE?HEz;V#!D}=e137fguh3sSu$@cn(U(I~bzJ+UcXJ=Q1O00`zY_m-#grEj4 zEGB@jzU304JM9hH$ewewKoi}a*G)7>aprL9L{@#&E63^!f5;GKKdIcz3u zIX?;8Hm+myU<%}TY{&)aehJtE{bUL5REqCLEv$}$XOuvB|LmWM={@UM30}Tc@D;(g zGwu3b=?d;_K`#|5(k3D+azz2#*`b*#(L%u7Pt3A#1qc<-_e7jCTL6jjvyRPZR?)zb zWgFrXi*Z})op{VWcX)K(M?p| z^}a9&&u8|iSNZT&G=-;Z1>0&GKleLMJk=huD4Vlz{zHe^OpLbVZE?7JHGRxRVhX@R zX#DjtFQ~S{-S678C8X4#M?IY@6Nj@YeQh)P53f_5{5@XcsQhQG$hZ}!=|IIsPG@-~ z_{~ws>hNg`<7R&15+VS9kG-XsFaWQ-qAIYaR{NtS)$_Kp8Ny;9bOV?yFjO|C|BAb1>)p63 z4?AKjs4JeWs^@~NgVY^gp5av^K1B~{YF7jfwz3uM!~O04tZ#R7eB-b!IWW%tVX4NF zZl~8XZhad1Tj?)(6C#PG6UgWf`0A^X+pq%_o&XegitvOnypX9A-jKwgoqIsk`7vDH zPz9}L=G;#3Lf5f!K3`t}l&J?TXKzH~Uzk?{5_k9H9xWw9crd@!v&1VY zsOuRn#7S^4j73)ETazCqI7bwNo$t{cZ&ry=x*Xgs76A|6USJp|n$Y_yB zDC2KGY3x!h=P8)>V7&ntYvVVK`hxw4Z_sN~Bp#BR6^2R37pGT z1Dj`(PM$x)t^Bc$%_kZgDbs?_&wIue+uUzpy}>uET;=1A)F*)A>Ata~GY4hAc!A?U z?{U63R0JMe536-g^k(*$`+N?+OJ(#XPk0Vrn^Rty$T*_`6p2GBZiWkJ{>w7+4g|H2 z4M328#NL_h?{$DR4^iA=7M|n{ahQctX<$tp*M$UZN+xz_oI{cx8*`dJ7 zuF=LPSVu%73wwaH{>HwHrblU4zy99llp3ScT+Mw7rR)7PJ^rA!wpR1f3=q)%h-?9K zK52(MxZVT~sZMJ~do{4JL-m{KI{J9x5!DKd$(}V4$Q5i);pa(WYKq|3lh&(wpC>*+ zMJlvE1NX)k5PT%eqpH=J7er0}#EOfJJqW;C+V(XcP_4kkIdOF!3{~9L+ z48Ix^+H}>9X`82&#cyS?k1$qbwT4ZbD>dvelVc$YL!v08DPS3-|GFX_@L!9d*r0D=CD`8m24nd4 zMFjft2!0|nj%z%!`PTgn`g{CLS1g*#*(w8|sFV~Bqc{^=k(H{#0Ah@*tQgwCd0N@ON!OYy9LF`#s=)zI0>F&P85;TXwk#VAWS+GnLle5w zSz<>g3hqrf#qGfiyY=*_G1~|k*h-g(AA+NbC~N@AVhf6A6qXmVY2Temx2|X$S0UFw z%*D3^qpS5e`ZtH#e-p_hv3bYtz!vUA56&MBhN4*snI=g8YNZ{TYX{~dPZ=Z_gk$3Z?0ZR{D-aliB#|SEnR`T;N3$!}02ZQ(F`K#y94FLke@r>i04JrfBacpWL!tC&p$j#%e~c zG0Oa(wM# zM(Mn!CQ&`w@usAmfZg29h)&o{r_NeX64w5N5WxG6q(-s6n3+LYQoV!fQdogT)Mf~f zrQ*(MSoLcIu2Zpl1bcHm-1-=no;nuG(Rr?&=9Dia+wfu8KmGNY@a~FBD`eM%#b5IC zn=aI`v<7i^08qgeb@EmZ1l73Fe^)VHH>vwnl#LfZYM}d!X*vZ=X-Kmm)|p~g8rR~7 zTHpjqRDXxKte4N;M7->5uZ?~X`;`Oeoq;87kGDaWGMa(5g9dgC3{EpOF1o}w3Ms0+ z270RrL{cUBU0=kwNClDNSwY!Lm!3n$dY&svjk#S0d>tPZn?&G%Bdtl_HV)BD3T&C$JTZ)yChEr+){ zP!q~(%s;6J22$ep1;aq;vT%}A@4H_e%j*18G#k|8R4HfuOLp~*H8ydsM!zd^J6-{I z0L19#cSH6Ztna?VS=NwT9B)9MqJAc(Hd_EwUk?-sA$*+!uqnSkia#g=*o}g> z+r%Me7rkks(=8I_1ku94GwiBA%18pKMzhP#Af0}Seaw|!n{!*P9TQbotzCQLm5EQN z>{zN@{lSM;n`U!Q*p-J1;p{VH`75=x^d=n#jJ1K1%%tgPj|GD0Xz zq9fV3Ma?HtM@!DivcDoBi|RXcCu&(8=pz_F%Qq#Kd@NT0|MtB&yqr?e&x3@7k^qX=q=oz=wvkChK5$_^jhq9 zhI+$s(bJ#2(25kdPfP>T<$A@3xOU9Xu;*O>W zPlGz<+y;?kBjzc;6Cx`rv_6DV)$7dgS>VSX3u8DBYT4@c~$tokVRZKT>AAJcn zM`3)eO!3jw64$ia2bI*ky%;JvZAew%gfzr@2z=cx-FW{@F2|Z2yJ)(40FvA_tyb$4 zHp-iN;@m7h0Wd7=&Re6T*H*wT&g*@8FgUyIHK5&0SUQ1)UCLemXi3}48~TLSgCCyk zrp@aYZmn?H^Jl<7jH)47mR8%{zw5cawx$r(oP>dTGqsxPPP=R8-^vbHS!I{bImH+d8&wJ9%Q;wmq?JKe27wwv&l7u{E(hv31^a>U`O|>aMzfL3gd{Uh8TtBa3!a zM{Iu}AI>-WSaizNSJ-FtewydP57^1>j^mNBnaaxoQn&p9y9&-_w4i7^xOT?7NKl?lKxm79T1T;#zGve! z^z&y}PFN96@n!`suxGzHHb%{=V`PLBTAb6YsDu-M5z|b*X1U-HtKvIeCp^%4PTA_v zr^@B{_qoGaW6!xov5Prol9ez6kdqH&(Vd~>o$?gruojX(F}osv#OuA9XCm{BA{HQ6 z7I#HXLktMs2!{a#?(wMAlBNdNxg}5ft0q4}Erg)PFo+~m7-_8kEk4%&n`n!qprR3_ zRKcyO67pN^HTAedB<#V{RM6J$?2A+0nwfZkx z)#H~>#TqYNMDy~b^!AI9>aavY_!YH!u%px+~ zAR_r);-C5#UfvaZNPmjHSuC39+iWbb>#uq)ntooMYNm#v%L5gx`qHNM^>O%V(&=$_ z)SkW9)C`tI#lQ5oYR4|5rnABn0GHiGa>kIEA)V)lr~lGU5$|u7S!kwV34&t z#Znst?`+H+{F>XL5Ihe`v2bcY2LZjt7?Bt^Q*1(5Xcp&jtGCX0X8@7GN*e>1pKz{? zTsY$-TL0JWaic5zP>F zBpD0yg8$LFD8iM^) zk-SPvJ|)^m$UbXDe<1>130Xcxq=9HeXVixa5li>o3bOiCmS8->t{1==s+|s)1#Fxf z`>r33c=P^?sE%sIN{nLrVKP2=8#A#L4aVF0&5hX+277!PfIi#w^-B=A(-v7xyZMmjc^*yX$#oLqK zZ9ANck>T6&l`fxVTgmj2FMyTGi}%N@9p_{)5@W~|eKY+}O(1Eb@~8MeO%U*3OJV&~O!Y|BfsbcWre3Qam04<^Ox8b7rmU*W?BC?5tQ&Maqv&(zE=o#*zFyM3A~aLQx(BIxtIGzX$s zVzx&kS;C&nIUnJf=0g?za@(IQ$b3sWi-$AZ35<7zDuzQDl|s$cdI)pS9|?_@L&YG= zTz1|NMy|(^-ZMSEMkmyA*Ec=8U#qiWonuyZ>vO5Uib@8!;^$YYmuBR+aS?1{mN|pv zw-8JT%`sus&h{q!ics^;33&wOgzyRooPenPBHseN0(uMGO0M=K4B# zfGQ7bWrup@w+0D8zuXDVG3`|9WQUIU2=lfs0}uW&$pO=+x%3;BTP?egh9}g!y|nxQ zF7c19A0dClYKuSr+0{^h;p=f9Z}r~jC}s(xg1yzB|3z2;`K_IX0kqq}KEYNiMmwrL zR11gCd%Misw-RpfU}^|g2}g%6#Etdt0G?#sN0(*BU)z~$KoK{Kq`9iHM72 zx#?+K`4Y8`;N;NJ+f!qAkK#UXrFMqzBWj;wJTv=9yxWXYj<=2W?S}YbPJurHi zQ($FF9S}jGm#Ch5G_{9=G&4K1rES6e)EtmgOi_(}8r`}~fLVtU&2@>eeNlYH>3oCK z-!_xrX%uzAB(J7fGqJ$WVfFlaX$_^-S(u6ywL|Ek8l5*sT z8D9aA(LyK~&|Ms@$?%C~OSUB8zJuyoz!y2nEHMk4VjBmJdxc06{ee>417r_Zx8M_f zQv&2&0cujOd<5@MSTY9gXQR_E^F$=~C=15`95Ht{YHmdLk$@3n#NUOMK$};s*lX~Z zj-hg?05PqDKaXM*=@C*FUgq$9FSP4gH_)(EMoJ6Vkgs{7exk&Q6_1EM;VrM=HLvKN zx7hNZad6+T$rH*0HD{xnW|(A;fL<{)@*L+A~DI2+a&j9;VV7>2~< zOwYgnm%NW?RDa+8Z;c&Dn}UQ!4V=-1_4~gI?EYyNM=CB-ToUF;W;(fN7&0R;6*M#$ zvq5<4o!#$u zL;H83)18fEmc^I%kG9Y0u2a8LzSGT&l-IvE1-?m<>GyN@RiOc=MG0pwK%(g}7UrlR z%-M&;96}o7L1r8apQ&v zS?_M`X_R4kkwW!jor7h&G=I3cyLo=WiDB0_Gi1V3Z<9=>`A-w>Q89bJ>Y)nS-T|=~ z@1h8-J2K?H;h0g6ESyOVVEyg9o<40j9gBKQkt9MJkx!1&%PpEAT{s(tVflR)k?!o2 z0mU~aI_52$;dv3)8$;S9zy4g!NYM&dv+h1r*xa)+IiI?ql;2upk;*aEok5LD%PUqS zz8;1l^|}F5xF(Ao%CIC$YgCZ|0wJ6yU9ZfstHAOwKs1ms4V(xMc;b-etG-ivj|D2A zWYxMR_SLI#Y)|w~S9~nxto669sc=HX zbX$_ZzOwkuE=C*zP%=)t7J$QsNW$t3`nShXVT*uu$f8k+iyTDp@_c=Lp{vaFBc^0&k4p3rk*Y7Zi_uzwrjSgca zMtjp&+ZrhxKyKW{K)&dq@Gfe!?G-`-PBLfo;s&_z5DRcM(+!N~fXTq|3O~PQbs=qA-pTg2l^u+d z%ds=eY1sNyehE&1F?Kp*1nt?h_p`OIU`aFI@{{AP0W(he39BQ}N&Fxr(_Nn9C@|Fv zF2CjVJpZj*KW06pkPfYefvVkXhPmEzhB0ZpvW78P+6b`(DXmx4XD$i@yG6uVoa7U_hH3k2Py`({xw)s6nAe(f(@W-J| zz@YAV6gVhtFUM>qy-n`}{EY%a%Z!g{Uc4KbHQ4Cysq(A?;rg&6Xew@Z;N+ZaVY|*= zY%CB8ewT@Az-G0c2It&IF33z$Exgk%iGnm9(StB(7KF?4q@06F#2&%w!1|s-vJ<$R z#XzNy)JYP=0BaD~u#sigQN$gNdTInmz#5sK4BSByfA_#G&)Zj<2A?Bk3$T_QnC;|2 z<0|qNBOdcGWX_efUbjcIbf9DLA2^E&r#fq>Gu)@g=vUoWqV-D~(xUfMfaCeY?ig%5 zNlo{2#2{?+Ykm2};*J1&Ep^Bz&WB;0YXN=I6)&JUITYUOUDcL5p;6b?izK++B7%r5 z9mr&h^fGbKR>>e`KebYXfs9w~PV?6xQw%lJOA*R&83!gvx2_G^Zzl1NjQ*&uWXlIJ zA5d%t%)`R6RVN`l7|hlJO0zti;vgD9yyKBh-oiXL(LgU}D{!LToK9roJSM_z=}gA@ zV0mkG5=+m9kztd>9U`MRFOYqw_R@@-88|~TY&n;wx0Y%6<;}H~Vhw9l)<<3|O$g znOS~HbBeb++hP5w^R9fzH*%%;O@OyRJ2HQ!`5r6TvCxLMt;lTth4BYout)}a_|rR1 zP|nlJjcdDbp~VeGki#sSoP(U~1 zzvfGSEi^1h$ayZla(pu`eFFiu-MqSdt8cz0qRmg++c}@ChaW9!{X)T1I}H&3h$C+b&J+B z&WGhay#y)vpbmts^9+1um2a^f=rUg9gc(vaIvdu9{ z=g~Ari+YZ*_9#%du+x0Tj|uG&ivk6<0W0(z->5&_@J!xrKJh+-N7(ay9KI1^9DKq1 z-`Q>5RXJWR>^gJg=ceSH1FhP&;-(b&yx3;%21tElpT5B-^B5lRW1stx=Lw@yl4K-H zH_&#(_w~Tx6OXfPTcCLo9$$?1c^Nx?=R`f{P#LiJu7|AN{H=1s9vgkea6`f*yNy6m zELFO8tlEHRx_O|Rftnf+yTTazHib2IaSS}hRg2p_EFj}MmiDQ$RqH#OP&*!>JX=+E zhHHTXEmdmJGX}fFret#wSWMoxwfs%78tQ;lJ+%#EPSxrJ1@y5{w3>3s`&VRTmheQ7 zm(`N@=UL#bJ3J63M84cI!+dq8*0Pa~cm)*vOH>96OZZ8rI+@#sxvX%J;j#2UyoI-P zoHw?w+>h2y0-i8E=E{R&#ky4YXy`dpzp?LN@i=(bZ>Ps)txu1NjX9j_ZqK;J7FkwVRy|k|*99~?Y z`*dy80oA`CJ_$tFQGtxLJfj|?%k{~!rK(wP%(jJ&e^AP#2mSmhEOc8GXcC^~u~)IG z&bB&9qn$v@0V@7Z+WqyCihnp!(NDz!v+(tZ6+efxni(EuvIZgq!%Q;IG-q zqF8&i9!)wS_%M!tY{yK|t}-+MVeB2X)^xwo4U+^n6ZT(3n^9s0^N~ZpVA-p-|=@^inh<~GA#G0Fb6cqg`G}K)*o{T5?_kIK6JI}m$v_ol&8oO4P_zX{TbEI^ zP4gy_X(a!@XOe=(Mp}U0!7ra+gbWnl2qGN(SI*+{5}&-NnMCpgbIjJJMM#>k=g30^ zDbJL&s-oi`3YUeZ9y-BZu65hbFPz;5@(6>;XEhacr$vW+pjdI#rGBriL|0cF)|$5S?ZhrZRY7Vy{kdqRI7&X0dtGtm6}Z)oRm-4;l8Ds`lB z1{;=7P~qZ2_n6wIDqX_QLr64UbcGnv7W5MkBQOQpPgUnUuZmy*Y1;{C(bD+H71WwI zFxkY4N6=#*ys|B0K*aJKZ-tf_Feu|x0wGE^{ za6HB=IjXDV7hj^UMqY@8D*!&A%+%g?A)#u;s#rUkuh7i!inq{PbR#Dr|8ZT+Wh(ZI z1r+upwLB#jrdiBGjm$~v%G;|eT(?4SqN&z(RF;+MW+&TN%T|}sR;8Dh>e|RrS`1xo z;obvgl5Z|wz0;94M2z-Y2WT6-(${?#QL}TPndp;hQjRZh6!1&D`+%7IvJc29LIBMq zvwi(+IZ(P1qKSTq#x08<=kru=S9oc!%gVY%A{T9{D%p8jSYCIzFy$TV^U4-RLFD+w zn77r`QwzNhX2Pbr7lOF`qlaW1HJk_R3Xg`iqZN?BZle86?}o%OyRW zEc|gt<9{tSk0Td&`c-N?)$%jzYaJhoOAjaF;6Z6r1}Rm!15{WMTw!4o5~)Fo-HoU_ z-&ujRx$TNix^SgDySgxKt>YCrB`EyID}h2#B6*Zab@La310Ghd_ma8AO#8-ulwSnj zZ<5BIUzZE;5*FP#&vkvaG!H~2tU$Jkd%gFw`T!S{2mp9?Vh1R?kv;~X`YAwb63>)? znkAD~i^l250{N2CJV<@SZeNTq!pqthV6F>e_QO<+Mykoxd5^JzHJaZeQZ zhJkUxQe7WRdWlz!MRJxF0W`KL@`p~)x5J(z5M;XocV_|rgnnd1%sW+|yq!Q`G&7GP zY07mPEwX@!LGr!_kNsDN#hMPL7#l zlc=pE5aWH28%^Dr5#obbnK@SMPeMr&YC`p^e?y)lV?@3LQVmf_yWw)b$Jl&Of#Rp# z&|KH+IbPYoU^~mj`IAFEK^Z{Gyzpb8*3I%bzXzl%M=>mC%Q2%)jr6JJ(KPB8q85*d zB`H_bk5V~4&VPE&gUAO>5~Zr82#kI9vNGHonE(8&8C(Hj-eU@GWQ@M~+4I^wF?8-BT6Km@x@%lir9`u3T}u<#oKmr!E| z2--yCX0m;Giv$T$>#E8290L1S=M=3CD`(J9s?1X>SX6lZ4GocaWFnHAC)t1T^hkf* zUD3KeM&diP@80N9p%T&fLe$oqvOhhZt`JxBO+^LSf?Q@z_`9Vr$Q6~<0L2-m>O(g4 zOan%-sNta~Xk*}&{@r#)usawmHs1u<1GjQ|b56{BDO&snX)z?_ zAankXRi*W~FHQC%{R2T17EVv=NN_~B7>6qS8-oRfDB^`%jRb@OLn=Vxce}tFY;7n@ zj#*voq%N#N>y$Y|*HtC2U!S=)^IxgQ0-7$v2yiqNXRM zwteC_-%jMY93pATf5JRZt)5Ay&cMar+UEM%P_tH6YH%!8xM83G_bjXj(q~&xt5EB% z3%t+9ys%^4AWWnRiJ*K6xjY*LNS|#O;pS)*K=AB^uJVW_JHF`#iYDK!(>=WUhh6%c zX>sTwaqCCJrW6nIY`0WWbIIb}bAzF+1oH!VTEEkh=Zo6npGn$x%=adz9iX3#tW4ZG zd<(6Uxn#z9!I5&G|DBlUn~4sC6q09u=rux4?hdLGj!_7Cw~W?;w)!zdM>lGL9?iJ}t$XPovsz-)cS-!LHv0ZC zb4AsYLrHn^FyZ^K^RfN==H_K5|Kmms8C*LII4c6rK%~mwn+cs0!Hx`!kJU7zAV@+T zY78x5H8b;aj{WU`xKGLdJJr*0Ydv@5KHQ6gH)}c2!V)JwlsWfdsGezcK zvNM+<{?KLS;}dCbka?fVSkA4*j<+1;zd^mMTl-!=UrG}%Dar#cYGiWKt*OnI2`}s& zKuJNJ^nn0>uh!6qs230jLkzPYLh2_ii7q$|O>AsUP2s0Lrn|+I5<#4D>kLax=_gwF z9%;kCQJZOVwWh{(5l+S2;i@c9Ea^@^d5H*?CXc?hq}byCKRwrA*C%v%mfkhaNtGo( z6ZP->A4&OCCWA#*#FO}#W|pFnPK7yjF|1x3zOLK4rW)-`{Id_xRgaYRE<$eQ5uvhX zwf1^~0@8-xJluw=SU}u}Dw6aJ;q1JO9ug~KY0 zc4j+Rx)`6g89&yl&N%L(+7`jSN#4N90mygg2v-%B)UllG#o_hk%4qb{}DFugg+wjSK#BF}Y6uqK(T} z?kzHTS{^k4!@fD4XcX#W(^8wah zxhMD99Ne&1gVtZZcgbC`hyPk0Duv+(pFsD@Nk!o&HRyRK5G1T7+eQevJC6LPk{?9c zQ-J=nD3qA?mBsZ7LMZK)4N_>F2_tu$3G)*!f%X;15m2(%QTyX5jbibaL(DZZ?^X)6 z6IQe1C)xidS(*m&S%Nxg6*Wvr#c_5a;M1(O#!UP zK|w*!f?nnepYPN2Q*1CL6QwdI+R$^%?Xi@THq}&u@#=_#DZffv#+TLtqCOXu9c<0O zBsjTGdF-y+Z@mK*MKeXymw+sY=m5iC_W;0f&xoJ>Z_(Nj$u*A&fs%=i& zXib;4XQuQ`Jk*=)+;=g|>19uWnY|Fm@!=U93(mB|GesI4Wr=-T+cXbcT)0}e zk9@N7!pP7X;)b3=9w&;zB8_zwDYIgysR+6MlJV2JZgTIABOgT$H7|24>D8+#;3xzh zyKY%iqA_a64CM6~S%7)I77x*&ho@z-+9T$)J3p7ZAAvXTlleQ)85O-Aovu)#(nBFp zlZv+~J@s!EXPC?AV2Qe2x8xWM@qgW+EK=kDvM;^m-$jX%#8X}}_^WbZAFz~n4^?Xl zj%R5)@O^*Xqwo3nF0=1jxhKO#Xm|5ZH%Ot*~o~Quw z_cI`0zS0)qV;eDMqE&yp@f(f!aI}g#JA3@l8p?CR&@Kv6EZIB?Qasr@Gt@Z{w77Nv z-U{;yNYdDIL049ee>V>Tr3Z~994}6y+LfVe( zL~*qRBcjeUeu*d3^?P%t9mHjZr3zcH#b1=(bHZuj@nb&CSkplmQTCO5-ncOKUr7>~ zXO}(#MI0}p_XUBw9Z{>_&I}hoUH;%ATm@}@Ytb5^tGOt&!%kKyT~|z0b_-_?RCARZ zLcxg9h%d{=k%-3K6b}W*odahEdv~P*`guGU=-EBpAXK}9hD!(mCb7CfG)h!eG^FI5 zd=4Io{XOpVr+hC9GHRYg2{EiG9pbO0{pc-`u!{CO2&6VBS#c?uQcF@Ge1pz8z`x7f zHE9T}UBeEQwl^S|gy7HSeu)=DMQEd|gKT=|>Z0d0x2Brl>e0Q*+NDE2Z%mv2r~4?* zs)BH22pO&FW692q$)y8BkuyA5=q{G1BlUhq1an)0@}`oN?EEaV#~%0orHAOc%vR{q z*;tAA6OP9cdMCD$ae+24Qm~2WV^os>Wz#8!J5r1cHjce&Nb+|lF^e;j^Bs&p-JGc~ zKav4|l*k}_e7EyWNLxyMK5|AW7)i^q2!*m2O?(+3 zqby+A^sT-jtH~dn3!P$OMc{Pqj?n#pg7Crsn{p4bJZ}i!``h8~b}(@ZpyEJ+ZW^DyE{7Z#gl4O)5m zjbk$DMFbl+chBv*PFd^V$J6J}hZ+3qBvi5k!tI_S>L$TzcJ^*G+St!ob6TYl)tfN? z;`rk9+C7v-`K&b^3?Dx02XH;WA*noz_@;rr@7b?!{e&;*zzHX(n!PtW~ul z&|=dUNrRvwc>mRXpQk5&-8k|D{su?2jk5!p^G#(vbx?!4tIQ>Il)tb9 znC3VL0&yIpl}_;L7*w91$b^Glb%SBKJYJjTcuN?=rjSt#n#loPeNN^GB|4QV6#|9A z))*lnJ%TH?o7n-B!{luw>GsRBh3~I*pndrHkLfbiN>UjYod}a51nzmD1+I0(7{u`r zlA9>4UXUc)z-!bi7JWd-w@wwKTI>{`9hR1r15}NZ1`EQ*5she490`UZDi{~)hLQAo zF@x+OMp^;QY=JO+x+2Qg;;>mIgf=Xmo^UY0Bv}V83(+id3?Mv1kz18z$0;fV^tm_A z!e*cJtvb-M`dwsOP$-dbF6uU5Yd&C02k~DDA0g?;H9dbopc?PCHW8bAv+1xXzXd!O z=bs!>6tU4sZ00nAP~*Y@frV6L2{yXW)wS2JPr{^!5n9UpOZ(@-%sgtOXPyQVQ0umj z#|bhR`~OAdK?1RqGv8gu00994KtM=RP(+H`^)6R6>^1s-x*RQ7 zWr)DO1*QM_-!NK!6}Zmzcz=fY-cT3weAX9u+-qCImEls)cv({&mB31~sTfkfRfSU9 z@{dXYKVzUjk4~#tJ(Jl*gbJoBq+P2EDx8xF>QB!Xr{_D@l}x+DS2Jw%PYzv#wr4Q$ z<{p>C>mQc{_~j%mrj`i2vup17g&@6~3r-)vgjQ}vy$vX4OsqwR&q%c1yrRY`CLUFV z{F5^#_Qw760bedcYqxO3Ym?KmN#AZdos&wy!>-x!nld4=Lmwf)5eFXEt2N8Iu~QxU zWhsx^S#3sLoZt=#IX=fu>74~JaBEzFwQ*Ew%DaZW;C2b#FMZ6?)-Rqv|FVK@{dUR5 zVYPEq$u{iW#^I@nmdSoGl-=QFN%G%3_toixR}MR>kbQbmWkLJB8S!{&f*kt2D|G?z z<}kD%#qQWOx+6xG&u@#;zXQfCXpHY`nN;(7PYJ1{<4tW*zw)l)3*&h1^^I(YQps}i zB8H=1{BZ7_mKGn)uj;B>p1prd=_Znix70hLVg6M%uEAvS(nMw|Qrw1jI^F()!-C3& zOp?`_DhrI>MoZJNcGqb(x_b=q@-iLhxTW0DzMt#9g0IPfxm;jr$3;gjS=-mVARB6W ztsy^bdmzeWVb4lNyELxF=1qS0?7=q3UL}}s)nKQDQ-|8(A~ke&#g3l#WP`@%Uw22? zB)w&2o_*2U=pf-^*y)C+Da9ck%PAFlPpgQ(dR#wP9%Z2=N0El$$fXrdZs87;i^-C& zXE6y+u3L-}y;k80%=MJv#%fPz%`^BU_3`hd8prA}Lr>|U+Oc7ct3@844p(p8khf!I zrX`B(z)4b&BxATa7wK3*4L_ygb7}WSJpTf~E;UYL?w5|XuB(L1cpyi#hi$6C4#SO` zYEZT>4d2N&MRgWadgfOhb;v4S%whUtMwPiTS75Z!$IWInA)SZHK%ixRWree_0x^?4tck^;}2eX5ll} zQ$3s;24vdFNEq!91S!!HNtcb#`rsV65H_yl+SsCNpV%AB9$hf^FcSg89XBzCduf8r zq7_K2+e^`mYkFJ|=V7htVLEbT;9K?W!9s=@*1EMVC&8$fB4t}SJcmER&6$rwdI6wI zp`@w+t>nlOd_al$CSHl!zWkvr`**OUFZ(yyQs=b=+16^F?cmcLccS|kNnHfpbz}y+ zV#VD(^0}rdw)0xQx65Nxyo*)MydMApuvD4itFO5-(yK$pMmDYQ5qC z>YI+^l$RA5o+1+kGO}l6qs*?<$W6-U5He|J;D}e}!K$EJcbA$rT4U13njeXmUWV04 zE*(&~v=J+wZ#wNB)meIcT;()U9*UkehG0O#b`t2MofG%By7p%!z8goIN;Qw!=U?(Z zXQIu)LM5u$=Q&UtL#ebx@zBKd?u#VPLds9n#p!FWEHr*k{0WtXAA}6?Sr9T{ntB zlb-DYLh__hEgQ+wY$KAZh& zt&aS4yp;Kg{@0JZhqpmXX%=86H-Ppe3S$=9LlRDkaf6p$%&H$n*X1D8<+2f>4syKQ zecCRqs12xWrI8C$2l&dto;YDkFnx%!xah6#`qIaO&!|S16m{T6l1s@JxC~txbpV#| zk}fu78*-_opFd&<)Ghrw*T^F(gm!-i?<-v*^%1X_TP))>kk2?ud zS>ABr25C^WWbW2A_G`(T>sQ0W+8b1yW9omVy?$VpN{_*i_DXgI#L9*`=02#eRg;M=HgS}J9^gh_9dw?cM2yCSonba zrkM9~Z@{}d^CI1%bV}4Oa%$+4biTEe);qYRO3qzE!$ZD~$CWauy#-f%&=%{&U^UX+ z!~hIB60(p$6*T*D_k~Bi{0173X#Ld0fwhJUOPakRaMlQ)3YkVBx# zg5knbl=(sY@Tiu8tx-ohlpN;g$h{F79#p!7C8)Le%inWP^DOB~p4DHV-J z%iRm{p|f<1+6U9e;@N};bY3A^C8fb2H*J%lU4r)6`S8^JoA7txgYiV(VZ=#hE3B;TL6vk(G(qY_W z!POO0YKZ-vI1SC)sYD#G;emLBMVFt4Ej(J~FvIPe{CDkLfm=Y>Pwm66S71Ztj`3Os z@9#@NqkqMB9WAzSs(>z(#CrZ*|UuT27M@1;t zZUYh8EeBojHewBZ)>j|%p+X5BY%J3l!Ume)@n*gy9%`4o$E1H2a8OZo{WZ-OPrsI5 zn;3l+TqmR$*P(Q;JJVe2Df%Se2%sR- zpqj9(xHtFlijQ#C#2pH2HE!G7y`#4H%Xsw=0o=d(?;->v=_AAEo%HI?v2MZNOLFm)M@RZds19xmfL+ z*|#nYtu=Hgcjw7Gy&}%1%S2>>v$8wAJ2R~+M-kNn21-)ocgfmrC-ArQ-Xh%l!S}+Nf=QLbte! zep3kGSahTxx~WCY-IbL{MyGt_qY%(_XX3GeEA)%;x8`3hU0@05AgN7g3Oy?a+V;Hg`*-ss>O+;-AIeMN=up-v9_UVbSd##|#j*F#DP!Td`gd@>xDb?WLvhVQ0Fq+?C?warby;8PufI~? z<-x`!=fDNS#g~QK#b*D~wDcQtN9$2Rye2K@SN^|IM-qJaeDu}~GeHQh)^sx^YSw}V zA^$P=sr-ZbrAzb0sWg?yH1d7Wy7Y0r&gI)2GCJvUs`81g$EIuze3XV*Y#w3&Y`S0VSRR_xr|q6*|QwRQZgI{ z9k@Jpq6J>dJD&D?SWbqg-67GR)r=H~73}CP%VZGiA^$CuoJsX3R?O#lvMJQVc==e} zg8@B@KFY}*)1dk5MQM1<=aMq$eXK5s7R3y`VZ4yjU*=^)`#4Wc#G3axQ-1-lGwk7V)I^lqBYBxsT0Kx2?zkRV8*_ar!tkJt z=|F*IsI*-eOxopCqFj4awt>@kgXY2S9RTy((EO7v<|`_58AtjJm`_I6+hS}M8iGyn z_x{c}*|HIA!gjiYJ7I&`Xc=AMJrz_UQUMCj9}(ZFV$nfn92bZ(o6+ZX!;3inf}!|B zw;Xg|HrIE>_rr^k*9sr|x^slE$-fv|GTpFfHzJBNIzcBecC?-;DJCA5;0Tmo0D zDkKj%y8mPQYnS+kI@VXwb6ni{3zyv0t0eB0oa3$Z$_+zzHe)BYf*-?J`G|k3dd)8> zI|o`Y-!iusuKN?Gv3E`4zo?xD(Dk6R9skkdGOaebO}zw}nI;!jpYJW8BOWZ)3Bj5e zx#CMhIEXnU~ZtFn%w%zMBj{~So6hLKHD34vBImBB6|rr=k_Ov9TDKb zjHv8x?aep|-NHo6bZw~E7&z;lfqdX7)6_9d!3T%O%i+h2Qy8eO#Jzu97y_0DR%Boi zZskbi)tz4_p5?G3RN}xVz)_VC7q~7k757;4Jkcm*1b>l{oR8B5A(n(aqU2MYFPpVB z6h&y5q*B8!@;^PIV@`WkEl>P_59)go7fUVT5s5G*^>im-k*|s-$5wkRp}EQ76+Ugj zIq!eLU!gEOZb?$hz0Nd=-2hv+OEaKb!CToAt`hn51=q`0DETbq)jvAF-4q1sk#2!_$hgUltLx=?;T2fk9Gvi^`h@3j zR&uPc^HEtoq0tCt$W$3NxBs3N*XP!q*QZ75Oa8EYU7qIO+Fg|}YnA-+Zm7E?he&Gn z(AN0GyFR}uX2}`m7h&ZmOt0-I_21pyb+NddB+Stfe7xs*vz#j`{sX^tCE}YRD%^E4 zBDjOl`FAUNnt63d#O!&I>x*cPXld<~b;(78#6_cVXV_SgKgMbR!m}^f z>2Zqo9XrXZ8r%X~!OMUxcEMkb4&r zAnz}M7jly&d4ZP}*|0Wqm5KCVeU^iDA?5RPpo+xYb z6%IN{rz>_6!{12CoCs)<+eX?XBJ8i zR`WZ_Fx(qnx%dyy(NMo?28O; z-Z+y)dMKc{Y(WBe0QS2<<+6vl>x$12LGh3Av;PrYZn-p;M6MM4hQ!pmLfci5##IU6 zs)BR1Xu&DENU7-N0JSwmYN5iL{aO^r^Ip>_oaH0nWGEizG-=y7Cz?v!P{V5jfANQF z4-avR%xP{HbGBg?@5|<0>Rq}g`@701KjGl;*CWuelQ!k)D(`1d(OH4R8inw#Y+>_e zi7c*o;0cv^4iPe|)so#OLYe%rSM2Slj9-JoEFm(^=!Nl%%U^sek|oG`!HP?^E1Y%R z!(|EVWzAaLJB)6RaozREJGc*39Tlm~n943AQZ} zxZ&%U!!a$wR#p0hG)dkF;NeG9AwCww8KmbS#%b09Y%L|}A!8ti-} zaK3ggH3Jg7HK+O&nyt|aYOmF+`N0s&Y~xbzzzLFjnPtxjQ=jm(yg5^D=vb+kTl=j>XHlhNK5n z2XGxTQ^(Nk(5Yn1$99jxX4jp^;DLcclXrG#h1(96y*!pJr@c3V8%vLKyT5*e8bLmb zqJ&d}@gokjki-s!gXDm&7f+qCn^~`8?Lp4)v0p7FqLVNQ2L);`F>Edas{wj!ZeS&4 zuE#B8m(>8`w3r+Svb-mQQB~NHt^DxfwPU!|N8ZgB#iltJ3ce0H%gM>VK4mKuBz_Bw z`qbSnzEXE1a>Ji)l^hx+=IA66VBY|RwJV08LAR64Kqkv&Wei5^?(SV1O^pZTDoz5D zLv?Ec`f|yFK7|7RavcaDE9G$Ql)G9Lhx*&1IwPaHTENXoZV_<#0-#nD_=>dOZFAaF zPo6y6h>h01UT)Rh6VW_|OaJ1JuH~`qiQVBfGvVgQH21epcy)N2(9(ymoY~oca|Kpis{4TTYxkX}3){rPMoy_j)Au0Fk}LiD`tK{%8G41l z!}o9ErvR}jd*hiP#QCVAKQO!%PM&!FmW^cH`A+y2Ea;{A53?yOOMep|!ABg|!UHT_ z%fq>&Z6dvcusl7km06wysty^a|6TcdtUeojF$w}dFcrb-B#B8p z33}B=f#s0%7e1>!8^mRd90+D`6`>IP@2@SiXhW7B0@pbRj%_5l)KC2IOGL#o1Lw%` z7fvSn1I{QN2sz;*lKw^lie-k)(IrSii!6Q;455=K!1zZ@P&yIPJ1(2cUwDi^QHp!O zFmb;D;SZM}wizbTOQ5{F{|KWrE=QUm$s=+IQSXV>>i?`G5s(h;T<=X-5Rh6-5D=RG zUq8?(3Jxg$aaA#nF@F@Ab2boCj5sM!V7g6G%{@t@RZvilVaz$ST433YauhjJ%*P9tfk zK~UTVHD+vRo2UoD@7{c&h}XTZPj7IwU7VpDFF&@M-Y`o?#C>~y!GVH~h+8D0-H9V; zZx8NJ&%0L?;11!CuNVLSY3t16q3RkqJ|?nOV;e?SmN7JzELqA{$U2m*tn(=QzLYGX zX+(N5QC-=xuaPZ-NGODalET;-G+EL-l~Ufk*F0@{-}Cv*=PdVowtLV0W9~io_iN3L z(+iVNTydGm*NiyQ@m23L>`pLAEm6ic7JK4cx`$NQ>LbJ+w~GY#)M-7XJ=CB}PgvbF zD^Bh>sGV?l%+8YiP)aY%Qupb+t9QNieMc<@i@oj9wD<2>^#MyorDx1al}A;YbeWKy5iM_g|DkJ`>%5{()W ztgM<67>~4rMx0%{Y9QGQh0$;`K*ejnhC2xoxOTIr zE>n|L)B8t1+1e-c)dqxim_-+#^r}1M{>Ge|>UBNi*2kJA0;P)PWB*km_{h^o**ou^ zsm$8btMa+AGb)RuvQw2QRW-Ue!jRmkq)wiTSytqmv0H;@Dp=vGF**qW8i#mqK`+t< zWTVK}i!*j(6$o89ZbtQ@_j|any;@#<^i6_QA^=$yjJ3vGv9uPIr&_t@75e1EUjQ{q z!J;nS`B7OlY$&_#Ap9-a5gh|5azpg8Z{^q*B{tYRd zD?aRkDFrotu<`BswHuCcX(V~Se6Nv$?BvD4;eEZ;&?}C1Y>pk()h|Dh%d$046jP&} zd6@mZLFBt<7RcsO^9w*-`Md;0Gj8nl_KV)sYMSp{^4gm__xT$u4PBC6X}|6h@Uj*e z;7B8zl~Y);4YI~wM_YXQa6LPn4vOJg3J>E?Cgp?}vAuNWhjkA^E}B6^A@yk{->SjMlvizuS|jYZcY{TyXS6c6|_`N|D0iu4K=6SU=P*Pu6_!MAp?HR-mCpfA#Z$F(s+k zHk&Fb0-?e=BZ|(6T*s}OJgy91-Ayu2*)6yD5QQY%y3!alN^w0sDmUIeG4_wL8Itb6 z-_o{ne4V%-6VHtzSktA}?K+&S*ZB!nbZE~}$D!lvoE{RsG(~itw0Hzpgm^V>@^yis zc5(4lMLm(Lf_6@geUdzGed3iNB~f+`ql-ZV%lu=Z@@HrdW8B^b`M2@}RI*M-cXuZT z{=H&mHyC>R>j}d(2egu=eDX_XZ<=$~OW%!-ndO0_{GZjTBwHZ6t@(MG%F;`oYxpOQ zSNR2mim^8%U)or^Oe8k&MDw0gtt2<*MBlSLaHKmMEO=fbY|zJDJln(>H*=wp&!hiv z5+SSFgy*l~B)_g_Ma+4|s|HJNc1J2|#VmRo>q=|ozGt!S9D;n`tLp|_;^mWH@K%>} zWu4|xH)Ayley*yIQL%33T+mmE40HHqorHuW$KX>UCLS@#B=-!bIe*OiO^)b>u;A5FUzxo?HC!@vPnv0m4=6-T>(jY$TEZ?c- zaL+ySPYp@I!u__#2rHI?qJ28{e!4q)FC?Rk^!DEtx)OV*m^)P`&{Ifd;94R_z2Aqk z1i=(%ji}?V5m}fVA4O|sAWqiv?_oaOPcDzRyyIF;rWAWnr3r;c4`&*TL*E6-q*%zg zz8qj{XGarHl)dXRsdryOJg}765&TI*w-69!d)`+vth~S;wvWjv5ZH0IJt)S7PW2># zs&Vg5Y6ijIJ9l1Ix>|%)j`s@F-eqO0K)9NWl?`4+9*ih=4!BDW%_WC&hwoL2jnC}G z^vz?U@Ags}Us4)Pm*mc_=JicfdtLLGiMv~6Snu9IO+V1+zNUO4BQnPK%9I!&1_~GZ z>THXu6y+SH?fPia({^+A%g&km=`+n7DK08=gDQL^mDG0orA~FAy*4IDE4Qq(jZmNP z?P365ABnrW&9j3{2c{RS1Ut?!DY~%YoIBF2FplG-(qguP^l0gPlcJVYWl7Hz5v31v z*BoN(^j&rztZjV1__D*^b_Z;J076Jr z!?xlt9mg1D17rC?N#-|P$z87Gql7!K9J6xnI_-s?*3yZB_q* zj}SE3mH1TO+{gHYmBriGr0N_yx!Ce7*BET(El)=y7a1aX4|ndUv)cRc4kF=HLAXL7 zS?!1!AfAv&!UK7xW)|bdU;3$?<WNZas@@+6uTG=e2qc>=e`PYj*jdmEs9{p4>F}mh@nn}D?EB(S+oig zq?=b0d#zNsAV%bc|1pFIn!dEAe1|7Bv_4ghNA3O4FAZwAx1JBPzyi zjK2(1(HMVfA^*#iRe2uHpW{CM^xlVNb4yy5(Jxju3WFBTTWryoaeWNpB~+zEhe zI*4KdF42ZUr8r=)zXV_~X-ItRM<^f)Gl4;}yTPduF<`V~UywX>WIyyn{~(~afJov5 zBPWi**Ezx7iQ{m6E>L1p10Ku;o|?qNH+Di13ZzUPg;(){xg`MjfFJ-mPD#TJ_!(Ir z8aKExxf8q`jo|vxY5}nb$vF6RN)^5YKuI*XahVmwPa~LVpS@bZplKw0NSIMxHZ2Wo zy0qs(ZUT~!P|D`;euM&Igct)#xXJ^@jUj+7_SiotC@vuSOEAEY85w|KjSIE50;xF} zY=Iu{Wk6FiDgeXabW^L18wS(b0tL%}iqvDk7Mr*&K%Nq#l@_WD^QQe4_?C)<=cqts zSjc-z68O{X=ttcGV&MTWXx8{&lcVNYB)nFGQE6jV3}DzCL1V6C`ST1^YeA3-WA?xN zWd0m;*o}mX7qQS~aZZMFFVBWNB0L|x-aJoLDJbr#3@XMXy zU)8!_W0f(6AaU^1yaK$>0VF;X2XU_z;G-^3avya05n$tMA^3(nIP}^bKHv!+qG>T! z!QnwJ@l8R!e**%xtW)Iuo8QxSdA-e*%aGUmg$@26?5EhCIgSa=w+&k0Y|sM(m=5eu zvAyrzLCav5&;R!JvzaZ@dz)tzlwtaP(f0d;#32XxP#_dxLDpdfxK0Rk`|yK-6gKe0 zupqESBkV_~P+UNi2>l6`uuFoy!w6uD`p*`)HsU9&xf2D-QxL!}eGwQ;YztgM_zoX{ zKfdv^UIRN464;i8*Mf{90!9?n9+8GWNQbiWVA==*`ZDA9sa?oqa9RgCQWg0XFHff%59CjAh5zR|&066m+{l``Lbm0wQbicUTBq8bttGcD?h``a_(MU|_#sz`#V)mi$T5NH3^>3e7!r0!_>>r|)?YmKbU>w3vD# z+xXyAnhfx^_WGpw_;OU35_JnyJxJTkechWP|00E6er64vrLE!^^HGR-RtB!-d{KP) zE#nm|yGjW@qX&7w^AM#?_i#V&xDVX)onHQ?0f0}~A%>SJ323qi_ zUW`-V&I%*7n^c=Qw>x~9I^J|gWMN33y3~i?&6N0$Ie8MCEi*wjr_1;druf($Jr;<= z16yD)wdSS&GJ39dF)J&gh>q4ev!sNPP!$wn!qc%a!REZ?DPT14#~;gBqYkPMA67ep z*yw3I_G+zm+dteG-Dzm(J{(y0y4n{QJ^l%NgDga7b&Q1?>_7`p0TwOdTad> zD$c+J)ihS1d%b-R1hNq_ZfQndv$=+CHwdaxP-5bc^V}|R)VV?sQ zG`MpON9^Y5sB&G@uWp8}YHprga>ERzXU9BnKh^Ve94m5f(oQ#Xr}q_owr7v3CY-az z+)VtLTWqS*nAQmYq*{+?7}0yH??dfumg4P|baz-_|G*zVa+qfC&9GJh*E<{0L~!JB zC?O)kPApy>p+iKk6NR|Z$(C9kfy)Ql&w6~(s^>nu&_xXUom17|NQJ zC!W#J`GShp z{)gR21Y#3FrI5xcJFz4~Y=Mo`#nr7e&&QLS!6V0^xW_}UrI5erSoP7xqV8g1sghvh zN-O20s{OXLL^}_k7@xYAN6%4T*3|WEN+;B5BHDZl~&} z^&cC!{>r83p4b2)mRfEWLm}E^u?J%nc?d{&FfdqHu>Up+SYc?xc1hZlzbNqAU0o9M z-<9H-q7yggm|Trc4LY0bHl^f8v1D<1vB{h1U~xP6c3#2b!QWjUck^@MBM!dY(m5WX zb3~Lmo?t$q7wwmQjM2^Q_O$W>O#bt0-o8Qir~EzMzUSqKq9AA&d@2ZOHv9@udx%hf z-A@kH{;21S$B+;d*YzRX2~QxO164DaRw#DAKbOVhkeu4XAhsBFxIA$d+RtTN1e}Dy zx#+CB_7Gn@YtTtE%{MZn^diIEQaRlrXZu#7g8au$c^~LkBW(i4ZT_*&mv7{-hO~uW z44Hw8d}>LR4X<18({b)2_E@eWLrkeXyuYkZ<_bZaDHizEyx;YY`4}K~keO(YJ>td> z@uT)orpYAEP7|Ga@BHk@2nN#|(0yyO7y$WIR0_^|;wn|HjQ1Vbr?{6FZIeh4n_(S$ zTkBJy{rWXRcX|@I=r#ixi#p}4xM39y{W4x#{$lLWwoi|@P{UI!37}Y22a*ZO}b((VF*`8paErO^WCTp%N z<>FN$pHBV+K8IX9p2Is6LJ}3&!_{Kncsy70KWeG#EZUoORe|!(^O}=NJ6_7o(DDOH zW9Ug28!xAm3HH&NtiRisRH{FCw96|_s%;`v`gN_(v~VoDV*I^t8ytiBA>=gx)7(}) z#l({u(KeWVjO}at0n5{~plTc`GD0_w)GhzVT^sy{s_Vj=YfjDjaXQU}RPuvdqJ{e3 z8I^kn%`FmyFMyM&p$|qO&G&Otxe9IgpO5e1ZE7+srpdb?A-_6Zfkr1ZSu&eHYN|AY zN?Uj%RL;~%!Irg)-2wts;VR0l=}%^XN{`mw$X-V^kqOIMPR zw+INRO)}`8{ZJkr@DrAif%1aH-(HSr54jVK%aMrk0PF9En zH%MNT!mPugh>L{*x{ijH)TKet#zMAshp#goVhm!_p0~i|d=b zKX7*^*a-1xuCQu`L9M{HiekBiSQ0yn`J$*EPfRJ5xty~Qm)yRw2Dbcz`oGhg0uX|1lABxTc^AgGQH#C~UWis6c^j@uoY% z5%W9q98fvVAT}DuiIJ>>vg{baVd$R_*It34ZyL{HL7T6j=ZXD zKGVCZcj{bZlHWA0wSDWvXs~uqKy|(%$5&z#$PrDdK2o&w5ts!UVaKN#7Ztt9Z`11g}{ zcd{hS(ApwuI{YHb3KQC~^mFnZ@0!Up62{`MAJ3d9HmhzD@kf^LL)2q)w%}XS*^~qS%%ns#qGIN=NbuLV#TR|pEGSRY(K;zUkUVM%e zd!=*>X#socMI;hG0N&8IDlSeAmvLz`KGE`M(?pj3nCq&ZQ1SginfsILm|eS zH@kIU+X7XJ-5G53@UV6*F_ZZ1hYCDC`*%TSH$F^~9sBIS6jh4C@9r~Uiy^MeGcH4g z?Kv`etoI%EL8;x-skig=DTOOurPqz}J`I$goshX~=SFDnq6`?7Z3u|C3if z-*`tqVlp!`ZkoQHn$!ajh*^DsADebD$yGPh2$f#y#BXWtF865&F`QwbsdD4=7O=$n zT=AhV>SpHUA$I}?!opy)s2EuKlWR(B{ASlW&pm68z_fhD?mXOEG`|*EE z8mqiOCkRh)+dW$P$&~q@%j&Djt3?&!hj6mpwNG&0&BO1N-jNMx9wt3F;sc>59P`X- zMVw!hBqY&r#{O5n=Rzd$eb<>an8LGvr?NvZ^y% z6U#A93?#Ue|GpZ|F98zK1+GjremNb1@6@cz z7V_ywkBWBAo1>I1)h&AV6h5MC_rVk-cUbkht>BYOwEBVkIp>4fUpez)BPtm14(Z#fEq|jjBK#7&zc4OF1<&#B8gHm3f~};t!6o*nbFq z3B@xY|0V_RD$!hrO8|zNzpW823?jnPp~tz8_>(T?O9T2ahz_ zec%rwzyE!9tR9p&hZzsOlF1 z1;Kz9-<+FbPv@}5xU;}3FJtCpVG#x&Lh&khYWz)?k-B@_E&+TC4M`La=?JOu`Rm%N zWamCs)eN`k)X;cwYcN9j3Anl}F&B`^p`!WCf8FIki?6h*HvytD0Nr8Ike3=J;yH0A zV+P5P8*ixF?qoy>YJQ-LAN{~DK=$ur#VVcTvGbd-zd_7Jt+|elsV|mkHc`5t%(NembP<$4=Gb1pKp5sg^O!rh**7qbcT&jeu;haDMQQE7iCS#+w6MCo znvrj`4uwQG2YaQluyN&~X;}bvxNl1qvXbgMzX+CEYX(pFTdGn=f=F(%kpGOi*`XBK zc873Gx75)Ar>HH*zo-dBMAQTdDZ{X3A31^gaSO!Ki^V@NR(plHRkt{Br8OU19Oh(M zbQK+PpsuC;XfnHm&>(36OT8cS)qs~W&NXI_mHZZ}=6c+9WVw(4{T?72(>Ai}A$JRO zDcD>=fBm(wgNJSH+;pO2NE^Jh7-*qv*$nj(^}JQKZX?NOO$Cc)aypmxVd)EDb$DtC zuuS3NuWXpkV!wJ7{5N`H5-;Om9KiD7ZHs1pnT^Na1IdWE?zfaaIK}8Cb~jrrx#q|L zQYtpP=ej12rIGe@j|H?Ok^hxMJ5@eZCnB2lh6o&0>7Sv#b)l=m1?FQfIX=ehys%Cb z%@F|bhsvi3!eMvT2opkg8j^c7Ms@f8eV^lD>Ops2(Eom?{v%#l8q6Aqev&V~B<1G4 zV`{27?tR11a0?|gKMIgy--}ugV_BBujMG~EJX_Pbd;}Au{Ril2Fn3vRV!)?Q6{-w} zbokVSg(mz8Y0>HN%{PEBKf11;PIgPxsBG*_)0jaWfF?p&l|Q;_Y!H^kKLqJTE-+Sd z_)HK{&Ep6ArOptwU!9HRY?&vYr{`*=yu7dJshy+i$z`oj+m$-mW$M8+zpLp<8J9Gb z!Z4lLKY9je{sD@eWgY~`snUNL>_KL6d83>Vj~fv10*XQriS&=ZAR9=l#FF$WBKkGR z`%>T->GNH5Fkb%2&*=*Ji23cy&a(0(APAAx*5Q@K=58Ho=&A$x0bD_+uDOPX-b6Hw zcvZX*9iHZ#&petTj)g8s;>2$OGE{aUaE--kz35JQ(tvw47OidBaeJX%jUj&V_!h-! zXK()YA4(-Ti<@YVyfZi$K1=1|Nvip>%@6NkTIP4gy^%%r$Mytj2z$uI*j($Fzz5~j zLCD6s^fD+nkKCC_TaXA+;c%SN5^owz4i)!xv1EHnZH+p;qht4o)|=}2d8(w5%An$; z!^7V+aiEd0X?E!Vv7oO(3YVT0&P3h?<+2^`lZlrHGxP=TEfMM9W~EKX*T89_9p+QP zi(`^lNA;t{5zE^>t?mi3AgkmdZ|Bfsc!-AyZ)ie((nhyyub||=OOdNL=pJ7SYQ|EG z-Gj@b#{+M0^OcPJbLAYims2u9t!>FA*z~=|4DbNqE1&B*pKq}b&Nf-u91rELq(<4E z!s%s{#9ddly6Oq;_xZ%H=hxmZFbUQ-{ng5tcGlJ0B-G>A^IH@zH=S{RDTJ{JDaW&) z-4CzTTdM7+IalL;(k613=lJR2aUiOo`IgJ!k+bKSt1-wRp0!a_S@?$7L0FMUE$P6c z1Za~xY`p4m{G?v!+TBPriv0eP!PfgnL*3VvEEe^EMffiwqfp##<#UL7Ko9y;V3GA~ z6I3t^s?SIPRXfsIFTTOHE!&lZ$Tj#$W0__-MYcD@Mi}fB>tAq32+sH%G!=4ANaLLL zET>Z1Rx844r6FtCF@yzNC4)x33V)^-;^poN@n4;5>qz6Wk zH1`8L-x!w%1NV|+Kl-MY$%&AOITrdB?mFEsUPT(%SA;$T`Nfbb%-k^>LP3H z@V%U>P^u|el)68Y zHRfPclv6g}53DhQBoxm_l%H|`5&{>5RZI{AyIXAV1*s)OB6zz7$&OAi$H?VN{1su6 zPr@WsK{-K`uNUXf`=|^z-7%g}b@F330#|bnnE9k?7V=0>XBUmaVXfyEO%Y0XTW?^t z?4+G!q<;dmt;?*z*wod9rM4S>iSlL71;;^=s^IR>E)ZYtM`%5OC4q@}^8$a)EdDx9 zQ#EE99N3izLyE{XzoEZT_LePFIFo^G)rUQO+(X&&3Xp*n~#pW5rDe*%X$V{*^!4s3IYyJvIFM!qv zl}{<`8bba7n}-Iuz{K;XL1t^jXk!TcVfb$HktTU5c<5dIF~4|D8vVuH#|83xr%hMs z?g!K-mER8;P9UOiXeuSYAxWn1ATmaNOZlv+q^#M6DMP`;KPsFJ{0yifhkjB36I>vK zgOnXlEh0PBk-^ST=V?>an#`_GY?jC(oM;=p?p^g@zCRNq5UqA|#8SkQ`>7Ah2iv!F1;=MSG_PjzE9Z@Ihk0{-CiM3(Nu|DR6MCsw1By)R$53g5 z#m^3N8fF;Z*7_=Hr-Ay~0=H~>f#@9mXu`@iaSds<-7JE>BOk!&@`3ImsZR_dc8>^O#aza>KF7OPJNFbBpU5oQa=xTw~Kg5qa`qDG5KVr;V zvd%Jb9y*iFOlpZgKfPB*<5G718R?Z1^ZpIAO_{Z2_zdgE^i*AjF25CL9Z}K~{}*1^ zCsqMe0xd+_(M{1ZzNNAeJE`5AH)e;WKn6k9(%|&do@&8Z!h$Rb##hJ^Z*>6ow|j)U zA9#dDd~zs#@&LmBlBTqe3;edj)H--16}R4;Iyf*eCTuV;`u}_=>@=ls_<#@QB-R&9 zL3`C&sat6bd66W447mcE&Il?Q9AyBh2)e{RSX_H5^0m|WE-{tTfk#!UR4h>y4vj0k zQhr)9_?VKn-_6?jkF*1xSLhm(1RfBp}!&W62uV{8+sIp^h(gXNbNw;NmE8IFLE*VeMV&tjeq3Dx7ySe(L!VuACxIEUqWVk3Eo5-ULbj0C!@Z#i2M1Uf$(|=WR$t2vLIm$kD|q+s&H&prb@UFUX*7CDW3j4iT&QwM;?T)`FVr zAoBOGzNR$$P+F!LGOwb9?YEqG^CLJb%N?gSu38#&M_^*#ivy3uri&3KI_G!iE?|}= zbU-;6+JsP#q)4<2uHL0&zxvm##w$;@ZqMZ*KxtT1p9zbdL_nfFr|M8uon)yQto?rO22a!{f)QsCJr5#CP%*YhG?2B^GG|4jGNjDN`v7jb<+0c*G1csqlK zwUNL+{l(bT9D;p}i0(oraA54VH;5(B2om-Y8wR-eC^6Z@F(gN-qRkZ3U1Fg&cts`b z*lC`q4!tO?EU@W}U$|818*Y(Sd=#ro6-?yoh?DZXT!xC%*dkefu`K?Ey@N;2)nZKm zWRszUd2Di8OoaVc*#u1?vse@vjSJGE3?~x_K0B#7+0<(pv?U^_=_NDB!E>vj)oY&K zU<@$YTr|;9pg8fll%FS* z$9!@7sPV^BRX#m>)njt7dzagyjHD$1?aH5uljSyD(qHcS2YT=QyB^FtnBIS z+4=Gab_OLJtsgl24Zgj*K2Hnvj!Ld3CB*EPmtJhnrG}VZ>Quikp*j`I=&fZMh8%)GX+z@gc?v?uzt*1tXSgn`q$APMC@hR2J&L~=;A9-S{ zu^m}+$E(|N8uZjPO2?jtRjc2DxbJn+dFMiif2iY?SD)JZ_Vr=umGD0aP)kBD-rW3f^0sdjmVw3&&0ZM#eGu|RmLzDDl6TbtXzLw3HSusL zciNsdFQ=E1jh=(|Ff00G&nqm4h|wo>&OesTO>4-`+=xM~Wp+0sD0)yT$H7fnvAm^c z2&}ecDki1fAmA4U#rPX;dmRbPj8yuP^N!3aotbk*sipoyd_rVJ1_S7Ch zq&?lb`Bkcx<$~;yrMIzcFJ7*+yMl?S1FE!&1Ng@9Ul3da2lBL64Djim&#&Nm-tZji zv_+KKGHw-=B)HO8-q5+R_OZvifAEdP;oEZMCRqDqYgA>J@Fod?);UE}BX}+@gPgsi z(^y~)7klb_q;e(0T<2%`dNtBv^;I1mQPe(eHyJA7c*0@z1;qm`c9PjNPo~;>D`uv$ z-vGw9#926x=z;YzLIzeGh8EbmX5zZ#5H83^YO|Kan*tk+Gb^Xvt4 z24bnYu-)i5RAdm~MH7(qYQ(1?A@7PN{lXQ7Ph4I;N?Tg^UUG=r^K?M@#wPMJ$<4_m z8I7&m9d=Zux-P?edKB@Pcgus2hW1LpF^+s9dW=XAoOP`aBHxf}FL#{9C0}ZVCoTd@Qscs~AwyA% zj&Wsh+!?kwBXwGNf{ttoeNW{X*X8mqw2FmmwEy6nZHiFf@%~%$Q5Wi56q=A!rZG%3 ztP~-q`HHQ`zjJB<1wmjj4Q z3n`=rbbJFay|Mm%wN5goeOplx!?DTJb8u$?(T9(UiLp7Nlahr)mKR(i=aIE>TwF4S z_^CKHNdLIV@GH`htoY?1wmk7JV*kT=S*t->@Pgz?T{6(wihJ`nBOP1O;@5)r=kEK! z^Sk20=V?jQxB3y`6H^FAr_`PPWP-drOzy;Z0K1%uFa>QSI=qbCqTJUlUb-vlmi*dy zj)4VqQn5pLdV-7x*RLSOZL~07@Zf@DG+fqa*^l02ma0ALgLDlC>QH#=MKxM%-6cIt z@WE*6?;(6XU{ZL|DjaAaRPFyk$krd0w~TsycKg7+8uxi5b#w7y zv!6u5nO68I0n|(mb!Aol_utq$>3N%PCR@u)Z5!V!vlZrJ9=*CSRxK5QljrMW@Ww{TK8JD2=pW2QKzZJL;Ipv&^+&dW*v}{*1 zSUzz-yK%XYM+8n8D!*HqqTM4Lc_-gI;eE7Rm!`_Tsd3LA9k5(^){8_@3QECWKC&h zCr@|mbxH@a?XoFck%y&nlL4g-@8)YcrGgjwG#%lq86u8o*|@sgwzrco{#xoL?kwCI z@w!7&z(9>{i$)%o8Ga@{#l*J}JvqVh4lHv;*LsU6F9{CVB##$(Wxgwd6y#E>Va-_arru~T^%DM0)SC}t=>%lJyH+;qKTSZHpLz?X%Wvr?H)0zy>%QPY(d&NOjBWY* z!SAuVhR-(dr(=O^vNf2cG^gWs?zx2CbWD9?xS(57MrT>>X}N(zZg#v#+wXXMt=Qt9 zHN4_l3L{lm0?}+x+pcM$iofbj5V#jd6W}||@3)SEPS0ppm=N{>keQg`9{PIR zX1NU};MSM|;cb{3)b={V);NP^*yVIJKQcQEp4>zcN3-h5moc59y zDtyQyVE~>TUaiI8I997TTcecMbun!xS8O*~s>BHw-pj>hnZrc+w<%zM5Of1yI8r{e zVteCRr6{dzqb|0o?GavZd34-H#bC=a5kHjC7Am#>CazJJfzyI7G`A{8PJt{x3jN3JZT(?OwH)DNXS<$3g9xJJe}mS&YG!ux)&++&B|Sh zZF711Zn8<8kus5sZs|RthJ7-I>&ECTyT6sIW;xg$lyy@+(I@lrbzH;*JYR>8NWmfpc zndd}Z7MjyZm(}f5ZF+q{wZti%EWL7arC9&9TkrQ>$VDJ)sSZaLQ%kjm2Kly>;%o5!S(7tXZ-*hlmEM zS!2UZ$Ey_eXDc0Z`)sdxqa6BW3i7;kXuosy_fDBd41q|)X`ku#o^>8u8RcdJq8t6a z+TyaUg^0!8G(dH=(|e0p5~V4TKQ*$v((Us0Jo@s#aW{WUaAz|q_IPF1B>Lg^A8DTP zUzrcz@B=z6pQ(POCcVhh`SL;$=nPN%d&j$qErsw*W#m$V(-JZ)Klvj$K+(@oB~JjN z(pb$>LYNYQWT1bcgH#!$+FlKtx;j@pdU|AZ^Y`Ok<}OVN;=c_zaH?7cn;}&N3=KbV zB@9P#Xa3+%?$;r_PwqD%z)YZ4Bfw0e))PcMf&r?TAS=7DF_ii-rk`5N__87}yg?IZJ;Aw%*omusSz3X32H#`< z{>9TsEX~1&Wbq@2qjvGN9)-kCB9|~+t69|%`^3Tvj|s9ZqG`VulKH~8egD3?BOGFB zI15O#3Dm*ORw>xrMSbe3nt^Lu$ucyNhfW|iQkNpu{+PGd3HSv-FW!+|K9?JAXSMl& zGwAL7K80_G90}p*Rx-iN^Y!>qd}>)urBhxWnI0bIp|F@+U+Url-VsRi#h;TwI91FX z=C>{_yyYNqPwc@N|ypzNQ7+oK4-KMcR&hx<(fw^s%CI|+S&gknxmwmJy^$_&m4`vP!{ z`xS}YLS%SA>JT^Ls_>R& z%Kd~Is;s8;H`Pmcx^dD7A4+y5=rP6do0KQ^JJ*5h<7(qjba$4Uz3?3|&htK)?&aue zDLTuLXsR1AQsWVrEd*xi^OF;Way8Jtg7^ylBnvBh76grOvM1xkD>kwZ#h8hjf$9(4 z5JkoLi2(DJ0IMoW@m&~>PopJch55RIh};Q3)QuBoRXRgnAgz$`ymDjs0l4EXRP8~V4a&p%-U<(H-UIN=o?l>H4#tha`*Nd``l?S%`?`+yAIv< zaD+y^u1o!Dbe?OqOh(@J?^e}8x@1(_ie-FTNO9jAbD3+d?!f+8<Idi}L_YObnei1w_ z%6Vp(8SI*>cT2f*=tNw^nod!}pxrxwnN~)jcE?OXi;oCds^ZgBf9M3g66ysV6E3qj zD&)!q&x@J6%QPdZIT(>~gdnbFfBUI0l9M}aMezuf(U4^NDwXwT%>fZl1iepidXMqU z5`Fzvef`wpw~U|W(ec9OY3A8wwci%uec4)x_%AMae~-tQ8o9{?;2_|PSycWDLBh6n zbq?m?%YO;-pX5Kdi8i2CqQ5iqZ|fVsWOr>|I}$|{%&36z zumlqfOq>Y}jP(D3&aWB*fSe35j{<#4?pKybi!3ZUVhDOBwBBDTUs)-uhk1guB}sj( ztj_iIl~_ZEhK$ZqtPDs+$%Zw(u5~A`wXMKaCu1Cay*J_Kc?Ife@u9s*mYw(AAE$-> zng4j7`}vhWpNGvQ+Oz-Rm;W%JoY!4ZNU7Axt%PT zu12AZaBQ105f_GeaxQ8#A|Lj1X!gjnhm)aPmp3u-t`=;=u3xWm1M-~cgBs6(VE>^U za8JJI78*igZ&NCF1~5ndiqeA~Ao@k$s1vxMZJ~^dUEPzlO!*O=QY$5M=SQsL7z5>l zyJlqSCbl_uiT8=V?b1OwBdG~?$+j`b2%r4MA5=W-nmvpV?G0vuUy&NnF{hBpi+GoE zLUD=e_mFE-Gv|=m?vX#dCVh61$dwOmSC@K%wB=StanX3o1~?hQ2u~$~(?kc-8^n}a znCL4Y0&*UIkgF6;e2V@-t9!cLb$#RxisHQa`C=#oFn@|WNO1ig7~28fVv91F90U3i)`7JUGYECJD=%M|GT{tFB=nuk}v)Yc{Fy)-)hPJ zSz^B@r;(q3Ao6h-d6v_`-H_6fqrq*>q-u4v#4zQ$-SSt8M1W_{;iF8clmmI=*;J7= zy|AO!5>Sn?t)KGL-tXL1s(?ZGH~sn0`}B2$;x{UTC+ zt$l}NA}#3lr>v1uHcMNV@!n}(#r|&W1Hc=Z*MBQ6SLka&`PDWatgpa;En7hejv7|h zBf1Pee9*qr4ME@LUT5pUH_d73O}*lU++=t07mmT|S10+cRLaK?&1RxRq4gY-me`70 zARoFXk8A3AeG4SJc_M7od{4Du!NZ{5GUjBa79U*MXd!F^JL;c=^XKhSIfI_>k1{fDe49P5NnAuUZ98$_|~)A3~OZ$+4;WtuH=92N+& z=4k85L+euotP<`#=H@EAlF(`5!D^_f`%#skcLZU;$U1R^h_c2dF=x8)39~_Wa?SSNfH~sIe?@qW#m*(1apk%K zjN@u4BcJIDa-d%M#_kz*J?j6AdET;*1BO}q*Bajfc1cU$22`Up>k<2nTi_t0^@XXb z!ZK z9IYToj^*N!N3dj7)1yP_rh>r}zgV=O@f5}Ukb~aSa#@kjP=4dQJ*jc|g@W(qH0jR= z+koyN#JyYG0?DcJ*@x^GBmlp-A^J{k`b1aYe5@=U5rC9JsmJ|OvrKR0l_P+FUGmGp z2sI4C<9PA@iVsM~RtXs~-viWKR2DoC*fVo@Ly1PW@l43U119 za+rmTrwJCCSVkV?)gML+;5e`nX)al347Q`kMy2{mEU*`j!jFca0MNwTH=<4q5Oevz z=FO-!fh`iF^s)=%;1vsrJu_wQ_OGJD1W~ zN89e%V0ZpSx`eC=U>nRyJ2!ioV(;tx_ z0k81pZJ1R!za3r2<~gcFdhqgCq@53987jvYmy^*_ohLPPD^mxB`6ivpbTrf^M*!BN z=8AoG)KH5Y`u&#{A620XeK%C84$mMxa#?j9QdXth;bu5KkojM1Cm)p0!p}Z#*>Dg4 zEBrzug2zhibn?XtQ*!iWD>rdFB|C?~i1KV8R?Up(eO)(mnT1a0bn;xXplHA8{G(hT zkO;ZFNJas2o8nG^5FxBeg)hJU5 zEU4C>cM8)D;O#HqEf}0$L@0BXeYirCJD!m&7^J|yixs4r8OWm|(0w}p5G2d{e9I`B zU^)8;{0dnRPT$dG|2}Dq%oU`2T6DMQ`2|%rvFcY)s&;A&+%k?P$0fU+p6|E5MhrnkB+8-t^Z@8R=|5C?~e)EG#;i8W+j@g8fF(0~euF=cv=^V^W&#KQG0XSUR+2V`9#FIs=@+d$Q)hv!-E&TO=#7`J6Ht%F(OG+}j$F`W7qLATqzZ7@_2+NT$sK#QX;( zEre^&v(sKXE#Q4BeXBZ-|1i>=hG&LJGNX2NodosFbjTW*#1ub$ofrDG~tPY zgl6;Pc+Ce_nfG(ea%MRB!qBLiaZjJZd71hNw?+|e)*(KZtsAO^mD%ZOGiPJ@Ynlob z>BQ}t=(9y|Vcy3ESJ#|*(C*$7Aab4bVuyYAbM4ReK)$MQBfnRT-c`)PSjF;TD1KH+ z+2P&qkzpp)7))wZ{p|1{dTSH$7yN;8^?v6C#pAQQ*nnF;5=#c(iItG2pp2Xv6h5J? zK}^Hm^fH{{U|4Yf< z;)h-X|1)jsc=#;pY!nyGHc>5^^UiJNoFvpUU}2G+fA zY{^l57)_9>phz1^s?kMORPsMi?Ki%@b$$s@rzl_5`l;?U%TrW8FzHklk#;UIrGIIB ze_h5|rG;P%;nDcK%E^3`*X|O0a*gw|<(I_1 zjZ81K4b{;riuTQeIVA3RX%n;J6*G+NP{(>1U(Pf`GU1F{C0DOH%S(-zJf0BYpA4GvS;qPdnqm+)!s=OYv@ zzG*}X%SwUVQ=mumb?6+EhtO{%W~0l2%mIn#;G$qpI$N5d^`>Q`1Ub%L?Xq{BviBIH zvds%FKJ*tB#fd&CQz4}XPCK83i6oa}FeIyDUvPmyasWyIIJ2(_3O?Z=DyEaP+>NU4 zpI2Y=OQ%m%I~L5Y5j*L@QeP{p55nqkht*P@_W*T zFw_Yik*HK3(=M~v7;f$-1O<0>^4~*2nIth`l4|WGK>L>Ryo$^^3ffPhLdG}Mg-J!( zSkp96hf4K}8~4Qig-0;OJs>0&lpx*?ud2;pYy0<`UYL_2Lc5U~(}Fk6rBV zhA}gqs#G-b&-zUF^jGk=Pr1iQ7l(ZB;Qpwn>hgxxv-vQMt{DBu>Vf%xs9f#7vFpPZ zk_orG27?2h$qU~1FVIJ>N5z#8?LpDsJCT;50LS}X0hv7LnhI>+Kn{l=P~RU>mh`vm zAe2>PWf->pjLFe1@rg9>r;v<~ZR;VgC`4T$3mla5$T<`J4_Dt5omtc^n~rVUwr$(C z)3Kc|wr$(CZL_0}(XpMIbH*L#-v7L>v7hE%HCN4=Rr%~#>ty)Q2i5bTmK>bDHK&&# zE(QIF+dz7(f*1s$>?4r%)>d8T_QJ@HhV4IeYM zOVDU~aP_BtoV2C2hOex@53IlsSTBcJf1hamKX7Mb?EmU|;P-!`tNTfKvO=|A4O>0n z9+SRE3w`st{VUMQ@5J?{FQ|F2RrGGy1$)qY!}oFKvoy%RHn9=leFy#&4ESuo1;S1C!d=IqLgWna1UnCfn3qH zeN$qFRONo5TnwPuRk2hEtJ5Gy3@N}gPJWs~eae1_V53PV0<1zs2KUu#{l$WQ43o)_ zVGSLki!mb0BqKt_U=p8Xz$X9*%eZVtB+p1@2Mp&xazB4*(JpFFDZ##9(!}Vw1cfq4 zlIok`9YWG@i7`%6DVS&RfOz_(^m9JRgPhZII4cAKUPlzS%Oq(MLWBaK#)dTd;SPHt z_9&Ybj6st3`D>8j=c7bTn0)aEYV+@4(kBel^S(h@fJnuoyXgrazY*|)!HEY^_pJ<+oq#-vC;*ov@jjQC3BDw zoOHe^=N&fMR}{4BOgw;xqSd4bFfYJz5{z2{JhnK&sSHAwQhzYrdbAU_6kPdRZSIkP z_ZHfp181Ym{iRxkjN0wSIiCEUGjjq(F-EqygO}=BmSN^hJMzyFeTg;I#akrzQV#Yc zh-B(~pPHVlrj?$9?(e+!I29%Y7(OZ>gAWQ47ZUXeq(U{-{R;p*tj4Tg%Lpu)@H$bz zCN2^y=NwZTIsI_t)&v(-Kdc7#&vm0;?vn`E*7^q@FoYe&cj2maA<#3z|73x_W{#X_ zfM$JFl@ok0XLaP>3``IMV&~HxHXE-%q%V?(yUH>jbYmFb(f7O&2Ecu6zCnrg9)la6X06HGjjM zAcmlx2l-`NmGM`1|C9Vinvegc+>;Eiu#=X&QIfK*V4Dd0IuM~N`6>|Vf2el>h@@)= zti&5^KunUY0*Vmgm_@25>Otp zd%PK7%nIYYWKHD*iQsdXm=Li99`Z#foVIBL0L9C2z;UWI#Ol*3_$tfxBiq#`Y@?Dw zRF_;;EL$7ZbI-{DQIN2ErQbNsJ^t0Xd{VM!3u6C3uEvJhQ_>uOewYFRwL9@-js4)e3o4G$RA5pFE zfC(!%UU}N^EW1AgZzV|<(q^w0Rt9$1^mt@QoT)~i!{ZvD4X)3cUk52yk+HB28!7w+79`(@vPSv<@9kn##{YP9ap zn*p3bB#9GWM5Xfmszx|ALSn-nd+`ZGep8n?_^pBaW=SmW8;t%|eZ#ePKZqfm2P}Rf z!4p`eH_h_EF_YInZSzevJZZ{HxhB+^F~<{^w1|7%Cu`4{$)# z4Z}Ib5^ozONB63POBWFQcH^g|2gTSAaK5$0#Mno>xGJ)9enWkLLFJp4&p(#uEWmV) zfI?m9nIA=2cSIv450a%8x*Fs|lavLgDjL1`C5#|~qd+ahie)Me%KUhx1l z0Ub|8Hl7d5Tn9>3Ap~v~FSbnks0cIx72k+VN)*Ja5t#lvJ{Yz!GP4Dr(DN5_4XD&4 zp&HpZ2%Drb_=ez27Cs@^FJ_eA=HI{mfA(GoNaCX$0qsYnjQd02Q~noupLhe2WV(b1 zcm|-HV14J(y&fKDGK1T|B8~dT+rWZC(iE?!@2`rq*n|_+aLHJ_3$9X?q5MV7Tv&7| zrm@Y8zjB$+NJqE9<|sh<<8s~eZgIHuS3;r0VH&nI0&A?yZr?!?oBJvi>>Lx~&^twDgWhr$a;3{wcX z!JW%H-eY0r#~D1)41k&b@&t1~fT`Zc@O&iG_vH$%tACqg8G>Oh_4Lb~P#A9qlpFH& zP9D}#Ngf~v>8mpaX@P0nJR<5R&)4_yaB99MV zYP%_sDAI$RigzX-O$zZ2(MgR2;7f+)B(uoi+HQp7V=$^H@)}@gzKq!Cs_4rfcI_XJ z|AN7lAF?^&b6hT-zDQ@HHxh}nifN0}(dI5{%WG`L-L@9En9d0-Gqh?oGCxz^PPa

yHlr~Qj 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 GTKgBj+ffbx diff --git a/ern-runner-gen-android/src/hull/gradlew b/ern-runner-gen-android/src/hull/gradlew index 1b6c78733..65dcd68d6 100755 --- a/ern-runner-gen-android/src/hull/gradlew +++ b/ern-runner-gen-android/src/hull/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,10 +80,10 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' @@ -143,12 +143,16 @@ fi if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -205,6 +209,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/ern-runner-gen-android/src/hull/gradlew.bat b/ern-runner-gen-android/src/hull/gradlew.bat index ac1b06f93..6689b85be 100644 --- a/ern-runner-gen-android/src/hull/gradlew.bat +++ b/ern-runner-gen-android/src/hull/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/ern-runner-gen-android/src/hull/settings.gradle b/ern-runner-gen-android/src/hull/settings.gradle index e7b4def49..3ff0b112a 100644 --- a/ern-runner-gen-android/src/hull/settings.gradle +++ b/ern-runner-gen-android/src/hull/settings.gradle @@ -1 +1,2 @@ include ':app' +includeBuild('../node_modules/@react-native/gradle-plugin') diff --git a/package.json b/package.json index 7db6432af..7f2f10710 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "tslint": "^6.1.3", "tslint-config-prettier": "^1.18.0", "tslint-no-unused-expression-chai": "^0.1.4", - "typescript": "^4.2.4" + "typescript": "4.6.4" }, "workspaces": [ "ern-*" diff --git a/yarn.lock b/yarn.lock index 6e1a6d0af..6d0d14109 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7253,10 +7253,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.2.4: - version "4.9.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" - integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== +typescript@4.6.4: + version "4.6.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" + integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== uglify-js@^3.1.4: version "3.10.3" From 571ae490c9a77d2c9ddf4c0d558a3655ee3c1e83 Mon Sep 17 00:00:00 2001 From: karthiccc23 Date: Tue, 11 Jun 2024 13:12:10 -0700 Subject: [PATCH 2/4] Use default metro config from RN 0.72 --- ern-core/src/MiniApp.ts | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/ern-core/src/MiniApp.ts b/ern-core/src/MiniApp.ts index 4e761460e..31f533d74 100644 --- a/ern-core/src/MiniApp.ts +++ b/ern-core/src/MiniApp.ts @@ -245,44 +245,6 @@ You can find instructions to install CocoaPods @ https://cocoapods.org`); const miniAppPath = path.join(process.cwd(), miniAppName); - // For RN > 0.57 - // Write custom metro.config.js to make sure that packager does not crash - // on Windows while building the Runner. - // Do not write this file if creating a MiniApp from a project template - // as the template might contain a custom metro.config.js file. - // This is the responsibility of the template project owner to add - // resolver blacklisted paths. - // See https://github.com/facebook/react-native/issues/9136#issuecomment-348773574 - if (semver.gt(reactNativeVersion, '0.57.0') && !template) { - await fs.writeFile( - path.join(miniAppPath, 'metro.config.js'), - `const blacklist = require('${getMetroBlacklistPath( - reactNativeVersion, - )}'); -module.exports = { - resolver: { - blacklistRE: blacklist([ - // Ignore IntelliJ directories - /.*\\.idea\\/.*/, - // ignore git directories - /.*\\.git\\/.*/, - // Ignore android directories - /.*\\/app\\/build\\/.*/, - ]), - }, - transformer: { - getTransformOptions: async () => ({ - transform: { - experimentalImportSupport: false, - inlineRequires: false, - }, - }), - }, -}; -`, - ); - } - // Remove react-native generated android and ios projects // They will be replaced with our owns when user uses `ern run android` // or `ern run ios` command From 7a1b873813783852d832b373b6c520eb1e114484 Mon Sep 17 00:00:00 2001 From: karthiccc23 Date: Tue, 11 Jun 2024 22:32:23 -0700 Subject: [PATCH 3/4] Update iOS templates to support 0.72 --- ern-core/src/iosUtil.ts | 4 +- ern-runner-gen-ios/src/IosRunnerGenerator.ts | 6 +-- .../hull/ErnRunner.xcodeproj/project.pbxproj | 38 ++++++++++++++++++- .../src/hull/ErnRunner/PrivacyInfo.xcprivacy | 38 +++++++++++++++++++ 4 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 ern-runner-gen-ios/src/hull/ErnRunner/PrivacyInfo.xcprivacy diff --git a/ern-core/src/iosUtil.ts b/ern-core/src/iosUtil.ts index 9a2ab8239..5f851cc45 100644 --- a/ern-core/src/iosUtil.ts +++ b/ern-core/src/iosUtil.ts @@ -564,7 +564,9 @@ function switchToOldDirectoryStructure( } export const getDefaultIosDeploymentTarget = (rnVersion: string): string => { - if (semver.gte(rnVersion, '0.64.0')) { + if (semver.gte(rnVersion, '0.72.0')) { + return '12.4'; + } else if (semver.gte(rnVersion, '0.64.0')) { return '11.0'; } else if (semver.gte(rnVersion, '0.63.0')) { return '10.0'; diff --git a/ern-runner-gen-ios/src/IosRunnerGenerator.ts b/ern-runner-gen-ios/src/IosRunnerGenerator.ts index 88039c42c..fc0db2f6d 100644 --- a/ern-runner-gen-ios/src/IosRunnerGenerator.ts +++ b/ern-runner-gen-ios/src/IosRunnerGenerator.ts @@ -84,9 +84,9 @@ export default class IosRunerGenerator implements RunnerGenerator { path.join(config.extra.containerGenWorkingDir, 'out/ios'), ); const mustacheView = { - deploymentTarget: semver.gte(config.reactNativeVersion, '0.64.0') - ? '11.0' - : '10.3', + deploymentTarget: semver.gte(config.reactNativeVersion, '0.72.0') + ? '12.4' + : '11.0', isReactNativeDevSupportEnabled: config.reactNativeDevSupportEnabled === true ? 'true' : 'false', miniAppName: config.mainMiniAppName, diff --git a/ern-runner-gen-ios/src/hull/ErnRunner.xcodeproj/project.pbxproj b/ern-runner-gen-ios/src/hull/ErnRunner.xcodeproj/project.pbxproj index e48b9be52..fc4ab1434 100644 --- a/ern-runner-gen-ios/src/hull/ErnRunner.xcodeproj/project.pbxproj +++ b/ern-runner-gen-ios/src/hull/ErnRunner.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ 6E6BEDD6262F9F10003F9D7B /* MainNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BEDD3262F9F10003F9D7B /* MainNavigationController.swift */; }; 6E6BEDD7262F9F10003F9D7B /* RunnerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BEDD4262F9F10003F9D7B /* RunnerConfig.swift */; }; 6E6BEDD8262F9F10003F9D7B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BEDD5262F9F10003F9D7B /* AppDelegate.swift */; }; + 7EEF60E22C1977D3008291B7 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 7EEF60E02C1977D3008291B7 /* PrivacyInfo.xcprivacy */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -63,6 +64,7 @@ 6E6BEDD3262F9F10003F9D7B /* MainNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainNavigationController.swift; sourceTree = ""; }; 6E6BEDD4262F9F10003F9D7B /* RunnerConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RunnerConfig.swift; sourceTree = ""; }; 6E6BEDD5262F9F10003F9D7B /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7EEF60E02C1977D3008291B7 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -106,6 +108,7 @@ 304F3E971EEF455C00F1E36B /* ErnRunner */ = { isa = PBXGroup; children = ( + 7EEF60E02C1977D3008291B7 /* PrivacyInfo.xcprivacy */, 6E6BEDD5262F9F10003F9D7B /* AppDelegate.swift */, 6E6BEDD3262F9F10003F9D7B /* MainNavigationController.swift */, 6E6BEDD4262F9F10003F9D7B /* RunnerConfig.swift */, @@ -134,6 +137,7 @@ 304F3E911EEF455C00F1E36B /* Sources */, 304F3E921EEF455C00F1E36B /* Frameworks */, 304F3E931EEF455C00F1E36B /* Resources */, + 7EEF60E72C1979DC008291B7 /* Bundle React Native code and images */, 304F3ECB1EEF597600F1E36B /* Embed Frameworks */, ); buildRules = ( @@ -208,6 +212,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7EEF60E22C1977D3008291B7 /* PrivacyInfo.xcprivacy in Resources */, 304F3EA81EEF455C00F1E36B /* LaunchScreen.storyboard in Resources */, 304F3EA51EEF455C00F1E36B /* Assets.xcassets in Resources */, ); @@ -215,6 +220,29 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 7EEF60E72C1979DC008291B7 /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "$(SRCROOT)/.xcode.env.local", + "$(SRCROOT)/.xcode.env", + ); + name = "Bundle React Native code and images"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 304F3E911EEF455C00F1E36B /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -346,7 +374,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = ErnRunner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.ernrunner; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -359,7 +390,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = ErnRunner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.ernrunner; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; diff --git a/ern-runner-gen-ios/src/hull/ErnRunner/PrivacyInfo.xcprivacy b/ern-runner-gen-ios/src/hull/ErnRunner/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..ef1896e70 --- /dev/null +++ b/ern-runner-gen-ios/src/hull/ErnRunner/PrivacyInfo.xcprivacy @@ -0,0 +1,38 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + NSPrivacyTracking + + + From 103df282c59aac137e78d8638e6f4197c6a6acf8 Mon Sep 17 00:00:00 2001 From: karthiccc23 Date: Thu, 25 Jul 2024 16:38:23 -0700 Subject: [PATCH 4/4] Update unit tests and fixtures --- .../test/AndroidRunnerGenerator-test.ts | 47 +++- .../app/build.gradle | 37 ++- .../app/proguard-rules.pro | 0 .../app/src/debug/AndroidManifest.xml | 2 +- .../app/src/main/AndroidManifest.xml | 3 +- .../walmartlabs/ern/dummy/MainActivity.java | 0 .../ern/dummy/MainApplication.java | 0 .../walmartlabs/ern/dummy/RunnerConfig.java | 0 .../app/src/main/res/layout/activity_main.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../res/mipmap-hdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../res/mipmap-mdpi/ic_launcher_round.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../res/mipmap-xhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin .../app/src/main/res/values/colors.xml | 0 .../app/src/main/res/values/strings.xml | 0 .../app/src/main/res/values/styles.xml | 0 .../build.gradle | 0 .../gradle.properties | 22 +- .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 61574 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradlew | 18 +- .../gradlew.bat | 15 +- .../settings.gradle | 2 + .../app/build.gradle | 55 ++++ .../app/proguard-rules.pro | 21 ++ .../app/src/debug/AndroidManifest.xml | 8 + .../app/src/main/AndroidManifest.xml | 25 ++ .../walmartlabs/ern/dummy/MainActivity.java | 27 ++ .../ern/dummy/MainApplication.java | 19 ++ .../walmartlabs/ern/dummy/RunnerConfig.java | 17 ++ .../app/src/main/res/layout/activity_main.xml | 11 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4690 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 6795 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2498 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3605 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 6154 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 9045 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 12570 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 17977 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 17293 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 24142 bytes .../app/src/main/res/values/colors.xml | 6 + .../app/src/main/res/values/strings.xml | 5 + .../app/src/main/res/values/styles.xml | 11 + .../simple-android-runner-rn-72/build.gradle | 23 ++ .../gradle.properties | 44 ++++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 61574 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + .../simple-android-runner-rn-72/gradlew | 244 ++++++++++++++++++ .../simple-android-runner-rn-72/gradlew.bat | 92 +++++++ .../settings.gradle | 2 + .../gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 0 bytes .../simple-android-runner/settings.gradle | 1 - ern-runner-gen-android/test/regen-fixtures.ts | 27 +- .../ErnRunner.xcodeproj/project.pbxproj | 42 ++- .../ErnRunner/PrivacyInfo.xcprivacy | 38 +++ 62 files changed, 830 insertions(+), 41 deletions(-) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/build.gradle (50%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/proguard-rules.pro (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/debug/AndroidManifest.xml (80%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/AndroidManifest.xml (90%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/java/com/walmartlabs/ern/dummy/MainActivity.java (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/java/com/walmartlabs/ern/dummy/MainApplication.java (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/java/com/walmartlabs/ern/dummy/RunnerConfig.java (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/layout/activity_main.xml (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-hdpi/ic_launcher_round.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-mdpi/ic_launcher_round.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/values/colors.xml (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/values/strings.xml (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/app/src/main/res/values/styles.xml (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/build.gradle (100%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/gradle.properties (55%) create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradle/wrapper/gradle-wrapper.jar rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/gradle/wrapper/gradle-wrapper.properties (92%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/gradlew (93%) rename ern-runner-gen-android/test/fixtures/{simple-android-runner => simple-android-runner-rn-67}/gradlew.bat (86%) create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/settings.gradle create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/build.gradle create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/proguard-rules.pro create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/debug/AndroidManifest.xml create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/AndroidManifest.xml create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/MainActivity.java create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/MainApplication.java create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/RunnerConfig.java create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/layout/activity_main.xml create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/colors.xml create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/strings.xml create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/styles.xml create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/build.gradle create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle.properties create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle/wrapper/gradle-wrapper.jar create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle/wrapper/gradle-wrapper.properties create mode 100755 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradlew create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradlew.bat create mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/settings.gradle delete mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.jar delete mode 100644 ern-runner-gen-android/test/fixtures/simple-android-runner/settings.gradle create mode 100644 ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner/PrivacyInfo.xcprivacy diff --git a/ern-runner-gen-android/test/AndroidRunnerGenerator-test.ts b/ern-runner-gen-android/test/AndroidRunnerGenerator-test.ts index 875937330..7d4282388 100644 --- a/ern-runner-gen-android/test/AndroidRunnerGenerator-test.ts +++ b/ern-runner-gen-android/test/AndroidRunnerGenerator-test.ts @@ -5,11 +5,11 @@ import { sameDirContent } from 'ern-util-dev'; import { AndroidRunnerGenerator } from 'ern-runner-gen-android'; import { RunnerGeneratorConfig } from 'ern-runner-gen'; -describe('AndroidRunnerGenerator', () => { +describe('Test AndroidRunnerGenerator for RN version 0.67.x', () => { const fixtureRunnerPath = path.join( __dirname, 'fixtures', - 'simple-android-runner', + 'simple-android-runner-rn-67', ); const generatedRunnerPath = tmp.dirSync({ unsafeCleanup: true }).name; process.chdir(generatedRunnerPath); @@ -25,7 +25,48 @@ describe('AndroidRunnerGenerator', () => { }, mainMiniAppName: 'dummy', outDir: generatedRunnerPath, - reactNativeVersion: '0.59.8', + reactNativeVersion: '0.67.0', + targetPlatform: 'android', + }; + + it('should generate simple-android-runner fixture given same configuration', async () => { + await new AndroidRunnerGenerator().generate(generatorConfig); + assert( + sameDirContent(fixtureRunnerPath, generatedRunnerPath), + 'Generated Android Runner project differs from simple-android-runner fixture', + ); + }); + + it('should re-generate configuration of simple-android-runner fixture given same configuration', async () => { + await new AndroidRunnerGenerator().regenerateRunnerConfig(generatorConfig); + assert( + sameDirContent(fixtureRunnerPath, generatedRunnerPath), + 'Generated Android Runner project differs from simple-android-runner fixture', + ); + }); +}); + +describe('Test AndroidRunnerGenerator for RN version 0.72.x', () => { + const fixtureRunnerPath = path.join( + __dirname, + 'fixtures', + 'simple-android-runner-rn-72', + ); + const generatedRunnerPath = tmp.dirSync({ unsafeCleanup: true }).name; + process.chdir(generatedRunnerPath); + + const generatorConfig: RunnerGeneratorConfig = { + extra: { + androidConfig: { + artifactId: 'runner-ern-container-dummy', + groupId: 'com.walmartlabs.ern', + packageFilePath: 'com/walmartlabs/ern/dummy', + packageName: 'com.walmartlabs.ern.dummy', + }, + }, + mainMiniAppName: 'dummy', + outDir: generatedRunnerPath, + reactNativeVersion: '0.72.0', targetPlatform: 'android', }; diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/build.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/build.gradle similarity index 50% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/build.gradle rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/build.gradle index cac8b8331..1e2dff1d6 100644 --- a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/build.gradle +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/build.gradle @@ -1,12 +1,26 @@ apply plugin: 'com.android.application' +apply plugin: "com.facebook.react" + +/** + * The preferred build flavor of JavaScriptCore (JSC) + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' android { - compileSdkVersion 31 - buildToolsVersion "31.0.0" + compileSdkVersion 33 + buildToolsVersion "33.0.0" defaultConfig { applicationId "com.walmartlabs.ern.dummy" - minSdkVersion 19 - targetSdkVersion 30 + minSdkVersion 21 + targetSdkVersion 33 versionCode 1 versionName "1.0" } @@ -17,8 +31,8 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } // Need this to avoid build conflict with jsr version which comes with react-native configurations.all { @@ -28,15 +42,14 @@ android { lintOptions { disable 'InvalidPackage' } - packagingOptions { - pickFirst "lib/armeabi-v7a/libc++_shared.so" - pickFirst "lib/arm64-v8a/libc++_shared.so" - pickFirst "lib/x86/libc++_shared.so" - pickFirst "lib/x86_64/libc++_shared.so" - } } dependencies { // Recompile this dependency on every build as it can be updated at any time (snapshot) implementation('com.walmartlabs.ern:runner-ern-container-dummy:1.0.0') { changing = true } + if (hermesEnabled.toBoolean()) { + implementation("com.facebook.react:hermes-android") + } else { + implementation jscFlavor + } } diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/proguard-rules.pro b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/proguard-rules.pro similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/proguard-rules.pro rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/proguard-rules.pro diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/debug/AndroidManifest.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/debug/AndroidManifest.xml similarity index 80% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/debug/AndroidManifest.xml rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/debug/AndroidManifest.xml index fa26aa56e..885c4ee44 100644 --- a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/debug/AndroidManifest.xml +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/debug/AndroidManifest.xml @@ -4,5 +4,5 @@ - + diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/AndroidManifest.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/AndroidManifest.xml similarity index 90% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/AndroidManifest.xml rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/AndroidManifest.xml index f2a9f0eb6..28587b4ca 100644 --- a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/AndroidManifest.xml +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/AndroidManifest.xml @@ -12,7 +12,8 @@ android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> - + diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/java/com/walmartlabs/ern/dummy/MainActivity.java b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/java/com/walmartlabs/ern/dummy/MainActivity.java similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/java/com/walmartlabs/ern/dummy/MainActivity.java rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/java/com/walmartlabs/ern/dummy/MainActivity.java diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/java/com/walmartlabs/ern/dummy/MainApplication.java b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/java/com/walmartlabs/ern/dummy/MainApplication.java similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/java/com/walmartlabs/ern/dummy/MainApplication.java rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/java/com/walmartlabs/ern/dummy/MainApplication.java diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/java/com/walmartlabs/ern/dummy/RunnerConfig.java b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/java/com/walmartlabs/ern/dummy/RunnerConfig.java similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/java/com/walmartlabs/ern/dummy/RunnerConfig.java rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/java/com/walmartlabs/ern/dummy/RunnerConfig.java diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/layout/activity_main.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/layout/activity_main.xml similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/layout/activity_main.xml rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/layout/activity_main.xml diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-hdpi/ic_launcher.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-hdpi/ic_launcher_round.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-hdpi/ic_launcher_round.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-mdpi/ic_launcher.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-mdpi/ic_launcher_round.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-mdpi/ic_launcher_round.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/values/colors.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/values/colors.xml similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/values/colors.xml rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/values/colors.xml diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/values/strings.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/values/strings.xml similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/values/strings.xml rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/values/strings.xml diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/values/styles.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/values/styles.xml similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/res/values/styles.xml rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/app/src/main/res/values/styles.xml diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/build.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/build.gradle similarity index 100% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/build.gradle rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/build.gradle diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle.properties b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradle.properties similarity index 55% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/gradle.properties rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradle.properties index 0566c221d..a3b2fa124 100644 --- a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle.properties +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradle.properties @@ -9,7 +9,8 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. -org.gradle.jvmargs=-Xmx1536m +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit @@ -22,3 +23,22 @@ org.gradle.jvmargs=-Xmx1536m android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true + +# Version of flipper SDK to use with React Native +FLIPPER_VERSION=0.182.0 + +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false + +# Use this property to enable or disable the Hermes JS engine. +# If set to false, you will be using JSC instead. +hermesEnabled=true diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradle/wrapper/gradle-wrapper.jar b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..943f0cbfa754578e88a3dae77fce6e3dea56edbf GIT binary patch literal 61574 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 ScNgau(U?ep-K_E5zy1%ZQTdPn literal 0 HcmV?d00001 diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.properties b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradle/wrapper/gradle-wrapper.properties similarity index 92% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.properties rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradle/wrapper/gradle-wrapper.properties index 669386b87..608bd9430 100644 --- a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.properties +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradlew similarity index 93% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradlew index 1b6c78733..65dcd68d6 100755 --- a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,10 +80,10 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' @@ -143,12 +143,16 @@ fi if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -205,6 +209,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew.bat b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradlew.bat similarity index 86% rename from ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew.bat rename to ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradlew.bat index ac1b06f93..6689b85be 100644 --- a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew.bat +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/settings.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/settings.gradle new file mode 100644 index 000000000..3ff0b112a --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-67/settings.gradle @@ -0,0 +1,2 @@ +include ':app' +includeBuild('../node_modules/@react-native/gradle-plugin') diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/build.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/build.gradle new file mode 100644 index 000000000..1e2dff1d6 --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/build.gradle @@ -0,0 +1,55 @@ +apply plugin: 'com.android.application' +apply plugin: "com.facebook.react" + +/** + * The preferred build flavor of JavaScriptCore (JSC) + * + * For example, to use the international variant, you can use: + * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` + * + * The international variant includes ICU i18n library and necessary data + * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that + * give correct results when using with locales other than en-US. Note that + * this variant is about 6MiB larger per architecture than default. + */ +def jscFlavor = 'org.webkit:android-jsc:+' + +android { + compileSdkVersion 33 + buildToolsVersion "33.0.0" + defaultConfig { + applicationId "com.walmartlabs.ern.dummy" + minSdkVersion 21 + targetSdkVersion 33 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } + // Need this to avoid build conflict with jsr version which comes with react-native + configurations.all { + resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.0' + } + // Needs this for okio issue (should be more restrictive to only okio) + lintOptions { + disable 'InvalidPackage' + } +} + +dependencies { + // Recompile this dependency on every build as it can be updated at any time (snapshot) + implementation('com.walmartlabs.ern:runner-ern-container-dummy:1.0.0') { changing = true } + if (hermesEnabled.toBoolean()) { + implementation("com.facebook.react:hermes-android") + } else { + implementation jscFlavor + } +} diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/proguard-rules.pro b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/proguard-rules.pro new file mode 100644 index 000000000..f1b424510 --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/debug/AndroidManifest.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/debug/AndroidManifest.xml new file mode 100644 index 000000000..885c4ee44 --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/debug/AndroidManifest.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/AndroidManifest.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/AndroidManifest.xml new file mode 100644 index 000000000..28587b4ca --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/AndroidManifest.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/MainActivity.java b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/MainActivity.java new file mode 100644 index 000000000..2b58c7725 --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/MainActivity.java @@ -0,0 +1,27 @@ +package com.walmartlabs.ern.dummy; + +import androidx.annotation.NonNull; + +import com.ern.api.impl.navigation.ElectrodeBaseActivity; + +// This is the main activity that gets launched upon app start +// It just launches the activity containing the miniapp +// Feel free to modify it at your convenience. + +public class MainActivity extends ElectrodeBaseActivity { + @NonNull + @Override + public String getRootComponentName() { + return "dummy"; + } + + @Override + protected int mainLayout() { + return R.layout.activity_main; + } + + @Override + public int getFragmentContainerId() { + return R.id.fragment_container; + } +} diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/MainApplication.java b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/MainApplication.java new file mode 100644 index 000000000..035c70206 --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/MainApplication.java @@ -0,0 +1,19 @@ +package com.walmartlabs.ern.dummy; + +import android.app.Application; + +import com.walmartlabs.ern.container.ElectrodeReactContainer; + +public class MainApplication extends Application { + @Override + public void onCreate() { + super.onCreate(); + + // Add additional plugin configuration below + ElectrodeReactContainer.initialize( + this, + new ElectrodeReactContainer.Config() + .isReactNativeDeveloperSupport(RunnerConfig.RN_DEV_SUPPORT_ENABLED) + ); + } +} diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/RunnerConfig.java b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/RunnerConfig.java new file mode 100644 index 000000000..b20c045b6 --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/java/com/walmartlabs/ern/dummy/RunnerConfig.java @@ -0,0 +1,17 @@ +package com.walmartlabs.ern.dummy; + +import com.walmartlabs.ern.container.miniapps.DummyActivity; + +// +// GENERATED CODE: DO NOT MODIFY +// +// Do not modify the content of this file as it will be regenerated +// every time a run-android command is executed. +// See https://native.electrode.io/cli-commands/run-android + +final class RunnerConfig { + static final Class MAIN_MINIAPP_ACTIVITY_CLASS = DummyActivity.class; + static final boolean RN_DEV_SUPPORT_ENABLED = false; + static final String PACKAGER_HOST = "localhost"; + static final String PACKAGER_PORT = "8081"; +} diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/layout/activity_main.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/layout/activity_main.xml new file mode 100644 index 000000000..a098c03ae --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-hdpi/ic_launcher.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b8bf1a9839d794793d298e50d76f2ba7895e821b GIT binary patch literal 4690 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 U-+&q_xBvhE07*qoM6N<$f>fRPR{#J2 literal 0 HcmV?d00001 diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..0abb1a387a75c1d0ec0d68b3624d677fb2d465c4 GIT binary patch literal 6795 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 literal 0 HcmV?d00001 diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-mdpi/ic_launcher.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2f04b41cf5f52fc5efc594459559421b8b49f114 GIT binary patch literal 2498 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 Hu0mjf7GY#z literal 0 HcmV?d00001 diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..96b1207b2b7543688267e58c1a504c4570e4b4ba GIT binary patch literal 12570 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 literal 0 HcmV?d00001 diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..72d49dde51747f11c0db8aca6f5109ed035d89a5 GIT binary patch literal 17977 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

h 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 literal 0 HcmV?d00001 diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/colors.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/colors.xml new file mode 100644 index 000000000..3ab3e9cbc --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/colors.xml @@ -0,0 +1,6 @@ + + + #3F51B5 + #303F9F + #FF4081 + diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/strings.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/strings.xml new file mode 100644 index 000000000..8e15e878d --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/strings.xml @@ -0,0 +1,5 @@ + + dummy + Welcome to dummy Runner App + Force close to reload ern mini-app bundle + diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/styles.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/styles.xml new file mode 100644 index 000000000..5885930df --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/app/src/main/res/values/styles.xml @@ -0,0 +1,11 @@ + + + + + + diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/build.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/build.gradle new file mode 100644 index 000000000..09fbaf32e --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/build.gradle @@ -0,0 +1,23 @@ +buildscript { + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:7.4.2' + classpath 'com.facebook.react:react-native-gradle-plugin:0.72.11' + } +} + +allprojects { + repositories { + mavenLocal() + google() + jcenter() + maven { url 'https://jitpack.io' } + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle.properties b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle.properties new file mode 100644 index 000000000..a3b2fa124 --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle.properties @@ -0,0 +1,44 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m +org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true + +# Version of flipper SDK to use with React Native +FLIPPER_VERSION=0.182.0 + +# Use this property to specify which architecture you want to build. +# You can also override it from the CLI using +# ./gradlew -PreactNativeArchitectures=x86_64 +reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 + +# Use this property to enable support to the new architecture. +# This will allow you to use TurboModules and the Fabric render in +# your application. You should enable this flag either if you want +# to write custom TurboModules/Fabric components OR use libraries that +# are providing them. +newArchEnabled=false + +# Use this property to enable or disable the Hermes JS engine. +# If set to false, you will be using JSC instead. +hermesEnabled=true diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle/wrapper/gradle-wrapper.jar b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..943f0cbfa754578e88a3dae77fce6e3dea56edbf GIT binary patch literal 61574 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 ScNgau(U?ep-K_E5zy1%ZQTdPn literal 0 HcmV?d00001 diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle/wrapper/gradle-wrapper.properties b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..608bd9430 --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradlew b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradlew new file mode 100755 index 000000000..65dcd68d6 --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradlew @@ -0,0 +1,244 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradlew.bat b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradlew.bat new file mode 100644 index 000000000..6689b85be --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/settings.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/settings.gradle new file mode 100644 index 000000000..3ff0b112a --- /dev/null +++ b/ern-runner-gen-android/test/fixtures/simple-android-runner-rn-72/settings.gradle @@ -0,0 +1,2 @@ +include ':app' +includeBuild('../node_modules/@react-native/gradle-plugin') diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.jar b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59536 zcma&NbC71ylI~qywr$(CZQJHswz}-9F59+k+g;UV+cs{`J?GrGXYR~=-ydruB3JCa zB64N^cILAcWk5iofq)<(fq;O7{th4@;QxID0)qN`mJ?GIqLY#rX8-|G{5M0pdVW5^ zzXk$-2kQTAC?_N@B`&6-N-rmVFE=$QD?>*=4<|!MJu@}isLc4AW#{m2if&A5T5g&~ ziuMQeS*U5sL6J698wOd)K@oK@1{peP5&Esut<#VH^u)gp`9H4)`uE!2$>RTctN+^u z=ASkePDZA-X8)rp%D;p*~P?*a_=*Kwc<^>QSH|^<0>o37lt^+Mj1;4YvJ(JR-Y+?%Nu}JAYj5 z_Qc5%Ao#F?q32i?ZaN2OSNhWL;2oDEw_({7ZbgUjna!Fqn3NzLM@-EWFPZVmc>(fZ z0&bF-Ch#p9C{YJT9Rcr3+Y_uR^At1^BxZ#eo>$PLJF3=;t_$2|t+_6gg5(j{TmjYU zK12c&lE?Eh+2u2&6Gf*IdKS&6?rYbSEKBN!rv{YCm|Rt=UlPcW9j`0o6{66#y5t9C zruFA2iKd=H%jHf%ypOkxLnO8#H}#Zt{8p!oi6)7#NqoF({t6|J^?1e*oxqng9Q2Cc zg%5Vu!em)}Yuj?kaP!D?b?(C*w!1;>R=j90+RTkyEXz+9CufZ$C^umX^+4|JYaO<5 zmIM3#dv`DGM;@F6;(t!WngZSYzHx?9&$xEF70D1BvfVj<%+b#)vz)2iLCrTeYzUcL z(OBnNoG6Le%M+@2oo)&jdOg=iCszzv59e zDRCeaX8l1hC=8LbBt|k5?CXgep=3r9BXx1uR8!p%Z|0+4Xro=xi0G!e{c4U~1j6!) zH6adq0}#l{%*1U(Cb%4AJ}VLWKBPi0MoKFaQH6x?^hQ!6em@993xdtS%_dmevzeNl z(o?YlOI=jl(`L9^ z0O+H9k$_@`6L13eTT8ci-V0ljDMD|0ifUw|Q-Hep$xYj0hTO@0%IS^TD4b4n6EKDG z??uM;MEx`s98KYN(K0>c!C3HZdZ{+_53DO%9k5W%pr6yJusQAv_;IA}925Y%;+!tY z%2k!YQmLLOr{rF~!s<3-WEUs)`ix_mSU|cNRBIWxOox_Yb7Z=~Q45ZNe*u|m^|)d* zog=i>`=bTe!|;8F+#H>EjIMcgWcG2ORD`w0WD;YZAy5#s{65~qfI6o$+Ty&-hyMyJ z3Ra~t>R!p=5ZpxA;QkDAoPi4sYOP6>LT+}{xp}tk+<0k^CKCFdNYG(Es>p0gqD)jP zWOeX5G;9(m@?GOG7g;e74i_|SmE?`B2i;sLYwRWKLy0RLW!Hx`=!LH3&k=FuCsM=9M4|GqzA)anEHfxkB z?2iK-u(DC_T1};KaUT@3nP~LEcENT^UgPvp!QC@Dw&PVAhaEYrPey{nkcn(ro|r7XUz z%#(=$7D8uP_uU-oPHhd>>^adbCSQetgSG`e$U|7mr!`|bU0aHl_cmL)na-5x1#OsVE#m*+k84Y^+UMeSAa zbrVZHU=mFwXEaGHtXQq`2ZtjfS!B2H{5A<3(nb-6ARVV8kEmOkx6D2x7~-6hl;*-*}2Xz;J#a8Wn;_B5=m zl3dY;%krf?i-Ok^Pal-}4F`{F@TYPTwTEhxpZK5WCpfD^UmM_iYPe}wpE!Djai6_{ z*pGO=WB47#Xjb7!n2Ma)s^yeR*1rTxp`Mt4sfA+`HwZf%!7ZqGosPkw69`Ix5Ku6G z@Pa;pjzV&dn{M=QDx89t?p?d9gna*}jBly*#1!6}5K<*xDPJ{wv4& zM$17DFd~L*Te3A%yD;Dp9UGWTjRxAvMu!j^Tbc}2v~q^59d4bz zvu#!IJCy(BcWTc`;v$9tH;J%oiSJ_i7s;2`JXZF+qd4C)vY!hyCtl)sJIC{ebI*0> z@x>;EzyBv>AI-~{D6l6{ST=em*U( z(r$nuXY-#CCi^8Z2#v#UXOt`dbYN1z5jzNF2 z411?w)whZrfA20;nl&C1Gi+gk<`JSm+{|*2o<< zqM#@z_D`Cn|0H^9$|Tah)0M_X4c37|KQ*PmoT@%xHc3L1ZY6(p(sNXHa&49Frzto& zR`c~ClHpE~4Z=uKa5S(-?M8EJ$zt0&fJk~p$M#fGN1-y$7!37hld`Uw>Urri(DxLa;=#rK0g4J)pXMC zxzraOVw1+kNWpi#P=6(qxf`zSdUC?D$i`8ZI@F>k6k zz21?d+dw7b&i*>Kv5L(LH-?J%@WnqT7j#qZ9B>|Zl+=> z^U-pV@1y_ptHo4hl^cPRWewbLQ#g6XYQ@EkiP z;(=SU!yhjHp%1&MsU`FV1Z_#K1&(|5n(7IHbx&gG28HNT)*~-BQi372@|->2Aw5It z0CBpUcMA*QvsPy)#lr!lIdCi@1k4V2m!NH)%Px(vu-r(Q)HYc!p zJ^$|)j^E#q#QOgcb^pd74^JUi7fUmMiNP_o*lvx*q%_odv49Dsv$NV;6J z9GOXKomA{2Pb{w}&+yHtH?IkJJu~}Z?{Uk++2mB8zyvh*xhHKE``99>y#TdD z&(MH^^JHf;g(Tbb^&8P*;_i*2&fS$7${3WJtV7K&&(MBV2~)2KB3%cWg#1!VE~k#C z!;A;?p$s{ihyojEZz+$I1)L}&G~ml=udD9qh>Tu(ylv)?YcJT3ihapi!zgPtWb*CP zlLLJSRCj-^w?@;RU9aL2zDZY1`I3d<&OMuW=c3$o0#STpv_p3b9Wtbql>w^bBi~u4 z3D8KyF?YE?=HcKk!xcp@Cigvzy=lnFgc^9c%(^F22BWYNAYRSho@~*~S)4%AhEttv zvq>7X!!EWKG?mOd9&n>vvH1p4VzE?HCuxT-u+F&mnsfDI^}*-d00-KAauEaXqg3k@ zy#)MGX!X;&3&0s}F3q40ZmVM$(H3CLfpdL?hB6nVqMxX)q=1b}o_PG%r~hZ4gUfSp zOH4qlEOW4OMUc)_m)fMR_rl^pCfXc{$fQbI*E&mV77}kRF z&{<06AJyJ!e863o-V>FA1a9Eemx6>^F$~9ppt()ZbPGfg_NdRXBWoZnDy2;#ODgf! zgl?iOcF7Meo|{AF>KDwTgYrJLb$L2%%BEtO>T$C?|9bAB&}s;gI?lY#^tttY&hfr# zKhC+&b-rpg_?~uVK%S@mQleU#_xCsvIPK*<`E0fHE1&!J7!xD#IB|SSPW6-PyuqGn3^M^Rz%WT{e?OI^svARX&SAdU77V(C~ zM$H{Kg59op{<|8ry9ecfP%=kFm(-!W&?U0@<%z*+!*<e0XesMxRFu9QnGqun6R_%T+B%&9Dtk?*d$Q zb~>84jEAPi@&F@3wAa^Lzc(AJz5gsfZ7J53;@D<;Klpl?sK&u@gie`~vTsbOE~Cd4 z%kr56mI|#b(Jk&;p6plVwmNB0H@0SmgdmjIn5Ne@)}7Vty(yb2t3ev@22AE^s!KaN zyQ>j+F3w=wnx7w@FVCRe+`vUH)3gW%_72fxzqX!S&!dchdkRiHbXW1FMrIIBwjsai8`CB2r4mAbwp%rrO>3B$Zw;9=%fXI9B{d(UzVap7u z6piC-FQ)>}VOEuPpuqznpY`hN4dGa_1Xz9rVg(;H$5Te^F0dDv*gz9JS<|>>U0J^# z6)(4ICh+N_Q`Ft0hF|3fSHs*?a=XC;e`sJaU9&d>X4l?1W=|fr!5ShD|nv$GK;j46@BV6+{oRbWfqOBRb!ir88XD*SbC(LF}I1h#6@dvK%Toe%@ zhDyG$93H8Eu&gCYddP58iF3oQH*zLbNI;rN@E{T9%A8!=v#JLxKyUe}e}BJpB{~uN zqgxRgo0*-@-iaHPV8bTOH(rS(huwK1Xg0u+e!`(Irzu@Bld&s5&bWgVc@m7;JgELd zimVs`>vQ}B_1(2#rv#N9O`fJpVfPc7V2nv34PC);Dzbb;p!6pqHzvy?2pD&1NE)?A zt(t-ucqy@wn9`^MN5apa7K|L=9>ISC>xoc#>{@e}m#YAAa1*8-RUMKwbm|;5p>T`Z zNf*ph@tnF{gmDa3uwwN(g=`Rh)4!&)^oOy@VJaK4lMT&5#YbXkl`q?<*XtsqD z9PRK6bqb)fJw0g-^a@nu`^?71k|m3RPRjt;pIkCo1{*pdqbVs-Yl>4E>3fZx3Sv44grW=*qdSoiZ9?X0wWyO4`yDHh2E!9I!ZFi zVL8|VtW38}BOJHW(Ax#KL_KQzarbuE{(%TA)AY)@tY4%A%P%SqIU~8~-Lp3qY;U-} z`h_Gel7;K1h}7$_5ZZT0&%$Lxxr-<89V&&TCsu}LL#!xpQ1O31jaa{U34~^le*Y%L za?7$>Jk^k^pS^_M&cDs}NgXlR>16AHkSK-4TRaJSh#h&p!-!vQY%f+bmn6x`4fwTp z$727L^y`~!exvmE^W&#@uY!NxJi`g!i#(++!)?iJ(1)2Wk;RN zFK&O4eTkP$Xn~4bB|q8y(btx$R#D`O@epi4ofcETrx!IM(kWNEe42Qh(8*KqfP(c0 zouBl6>Fc_zM+V;F3znbo{x#%!?mH3`_ANJ?y7ppxS@glg#S9^MXu|FM&ynpz3o&Qh z2ujAHLF3($pH}0jXQsa#?t--TnF1P73b?4`KeJ9^qK-USHE)4!IYgMn-7z|=ALF5SNGkrtPG@Y~niUQV2?g$vzJN3nZ{7;HZHzWAeQ;5P|@Tl3YHpyznGG4-f4=XflwSJY+58-+wf?~Fg@1p1wkzuu-RF3j2JX37SQUc? zQ4v%`V8z9ZVZVqS8h|@@RpD?n0W<=hk=3Cf8R?d^9YK&e9ZybFY%jdnA)PeHvtBe- zhMLD+SSteHBq*q)d6x{)s1UrsO!byyLS$58WK;sqip$Mk{l)Y(_6hEIBsIjCr5t>( z7CdKUrJTrW%qZ#1z^n*Lb8#VdfzPw~OIL76aC+Rhr<~;4Tl!sw?Rj6hXj4XWa#6Tp z@)kJ~qOV)^Rh*-?aG>ic2*NlC2M7&LUzc9RT6WM%Cpe78`iAowe!>(T0jo&ivn8-7 zs{Qa@cGy$rE-3AY0V(l8wjI^uB8Lchj@?L}fYal^>T9z;8juH@?rG&g-t+R2dVDBe zq!K%{e-rT5jX19`(bP23LUN4+_zh2KD~EAYzhpEO3MUG8@}uBHH@4J zd`>_(K4q&>*k82(dDuC)X6JuPrBBubOg7qZ{?x!r@{%0);*`h*^F|%o?&1wX?Wr4b z1~&cy#PUuES{C#xJ84!z<1tp9sfrR(i%Tu^jnXy;4`Xk;AQCdFC@?V%|; zySdC7qS|uQRcH}EFZH%mMB~7gi}a0utE}ZE_}8PQH8f;H%PN41Cb9R%w5Oi5el^fd z$n{3SqLCnrF##x?4sa^r!O$7NX!}&}V;0ZGQ&K&i%6$3C_dR%I7%gdQ;KT6YZiQrW zk%q<74oVBV>@}CvJ4Wj!d^?#Zwq(b$E1ze4$99DuNg?6t9H}k_|D7KWD7i0-g*EO7 z;5{hSIYE4DMOK3H%|f5Edx+S0VI0Yw!tsaRS2&Il2)ea^8R5TG72BrJue|f_{2UHa z@w;^c|K3da#$TB0P3;MPlF7RuQeXT$ zS<<|C0OF(k)>fr&wOB=gP8!Qm>F41u;3esv7_0l%QHt(~+n; zf!G6%hp;Gfa9L9=AceiZs~tK+Tf*Wof=4!u{nIO90jH@iS0l+#%8=~%ASzFv7zqSB^?!@N7)kp0t&tCGLmzXSRMRyxCmCYUD2!B`? zhs$4%KO~m=VFk3Buv9osha{v+mAEq=ik3RdK@;WWTV_g&-$U4IM{1IhGX{pAu%Z&H zFfwCpUsX%RKg);B@7OUzZ{Hn{q6Vv!3#8fAg!P$IEx<0vAx;GU%}0{VIsmFBPq_mb zpe^BChDK>sc-WLKl<6 zwbW|e&d&dv9Wu0goueyu>(JyPx1mz0v4E?cJjFuKF71Q1)AL8jHO$!fYT3(;U3Re* zPPOe%*O+@JYt1bW`!W_1!mN&=w3G9ru1XsmwfS~BJ))PhD(+_J_^N6j)sx5VwbWK| zwRyC?W<`pOCY)b#AS?rluxuuGf-AJ=D!M36l{ua?@SJ5>e!IBr3CXIxWw5xUZ@Xrw z_R@%?{>d%Ld4p}nEsiA@v*nc6Ah!MUs?GA7e5Q5lPpp0@`%5xY$C;{%rz24$;vR#* zBP=a{)K#CwIY%p} zXVdxTQ^HS@O&~eIftU+Qt^~(DGxrdi3k}DdT^I7Iy5SMOp$QuD8s;+93YQ!OY{eB24%xY7ml@|M7I(Nb@K_-?F;2?et|CKkuZK_>+>Lvg!>JE~wN`BI|_h6$qi!P)+K-1Hh(1;a`os z55)4Q{oJiA(lQM#;w#Ta%T0jDNXIPM_bgESMCDEg6rM33anEr}=|Fn6)|jBP6Y}u{ zv9@%7*#RI9;fv;Yii5CI+KrRdr0DKh=L>)eO4q$1zmcSmglsV`*N(x=&Wx`*v!!hn6X-l0 zP_m;X??O(skcj+oS$cIdKhfT%ABAzz3w^la-Ucw?yBPEC+=Pe_vU8nd-HV5YX6X8r zZih&j^eLU=%*;VzhUyoLF;#8QsEfmByk+Y~caBqSvQaaWf2a{JKB9B>V&r?l^rXaC z8)6AdR@Qy_BxQrE2Fk?ewD!SwLuMj@&d_n5RZFf7=>O>hzVE*seW3U?_p|R^CfoY`?|#x9)-*yjv#lo&zP=uI`M?J zbzC<^3x7GfXA4{FZ72{PE*-mNHyy59Q;kYG@BB~NhTd6pm2Oj=_ zizmD?MKVRkT^KmXuhsk?eRQllPo2Ubk=uCKiZ&u3Xjj~<(!M94c)Tez@9M1Gfs5JV z->@II)CDJOXTtPrQudNjE}Eltbjq>6KiwAwqvAKd^|g!exgLG3;wP+#mZYr`cy3#39e653d=jrR-ulW|h#ddHu(m9mFoW~2yE zz5?dB%6vF}+`-&-W8vy^OCxm3_{02royjvmwjlp+eQDzFVEUiyO#gLv%QdDSI#3W* z?3!lL8clTaNo-DVJw@ynq?q!%6hTQi35&^>P85G$TqNt78%9_sSJt2RThO|JzM$iL zg|wjxdMC2|Icc5rX*qPL(coL!u>-xxz-rFiC!6hD1IR%|HSRsV3>Kq~&vJ=s3M5y8SG%YBQ|{^l#LGlg!D?E>2yR*eV%9m$_J6VGQ~AIh&P$_aFbh zULr0Z$QE!QpkP=aAeR4ny<#3Fwyw@rZf4?Ewq`;mCVv}xaz+3ni+}a=k~P+yaWt^L z@w67!DqVf7D%7XtXX5xBW;Co|HvQ8WR1k?r2cZD%U;2$bsM%u8{JUJ5Z0k= zZJARv^vFkmWx15CB=rb=D4${+#DVqy5$C%bf`!T0+epLJLnh1jwCdb*zuCL}eEFvE z{rO1%gxg>1!W(I!owu*mJZ0@6FM(?C+d*CeceZRW_4id*D9p5nzMY&{mWqrJomjIZ z97ZNnZ3_%Hx8dn;H>p8m7F#^2;T%yZ3H;a&N7tm=Lvs&lgJLW{V1@h&6Vy~!+Ffbb zv(n3+v)_D$}dqd!2>Y2B)#<+o}LH#%ogGi2-?xRIH)1!SD)u-L65B&bsJTC=LiaF+YOCif2dUX6uAA|#+vNR z>U+KQekVGon)Yi<93(d!(yw1h3&X0N(PxN2{%vn}cnV?rYw z$N^}_o!XUB!mckL`yO1rnUaI4wrOeQ(+&k?2mi47hzxSD`N#-byqd1IhEoh!PGq>t z_MRy{5B0eKY>;Ao3z$RUU7U+i?iX^&r739F)itdrTpAi-NN0=?^m%?{A9Ly2pVv>Lqs6moTP?T2-AHqFD-o_ znVr|7OAS#AEH}h8SRPQ@NGG47dO}l=t07__+iK8nHw^(AHx&Wb<%jPc$$jl6_p(b$ z)!pi(0fQodCHfM)KMEMUR&UID>}m^(!{C^U7sBDOA)$VThRCI0_+2=( zV8mMq0R(#z;C|7$m>$>`tX+T|xGt(+Y48@ZYu#z;0pCgYgmMVbFb!$?%yhZqP_nhn zy4<#3P1oQ#2b51NU1mGnHP$cf0j-YOgAA}A$QoL6JVLcmExs(kU{4z;PBHJD%_=0F z>+sQV`mzijSIT7xn%PiDKHOujX;n|M&qr1T@rOxTdxtZ!&u&3HHFLYD5$RLQ=heur zb>+AFokUVQeJy-#LP*^)spt{mb@Mqe=A~-4p0b+Bt|pZ+@CY+%x}9f}izU5;4&QFE zO1bhg&A4uC1)Zb67kuowWY4xbo&J=%yoXlFB)&$d*-}kjBu|w!^zbD1YPc0-#XTJr z)pm2RDy%J3jlqSMq|o%xGS$bPwn4AqitC6&e?pqWcjWPt{3I{>CBy;hg0Umh#c;hU3RhCUX=8aR>rmd` z7Orw(5tcM{|-^J?ZAA9KP|)X6n9$-kvr#j5YDecTM6n z&07(nD^qb8hpF0B^z^pQ*%5ePYkv&FabrlI61ntiVp!!C8y^}|<2xgAd#FY=8b*y( zuQOuvy2`Ii^`VBNJB&R!0{hABYX55ooCAJSSevl4RPqEGb)iy_0H}v@vFwFzD%>#I>)3PsouQ+_Kkbqy*kKdHdfkN7NBcq%V{x^fSxgXpg7$bF& zj!6AQbDY(1u#1_A#1UO9AxiZaCVN2F0wGXdY*g@x$ByvUA?ePdide0dmr#}udE%K| z3*k}Vv2Ew2u1FXBaVA6aerI36R&rzEZeDDCl5!t0J=ug6kuNZzH>3i_VN`%BsaVB3 zQYw|Xub_SGf{)F{$ZX5`Jc!X!;eybjP+o$I{Z^Hsj@D=E{MnnL+TbC@HEU2DjG{3-LDGIbq()U87x4eS;JXnSh;lRlJ z>EL3D>wHt-+wTjQF$fGyDO$>d+(fq@bPpLBS~xA~R=3JPbS{tzN(u~m#Po!?H;IYv zE;?8%^vle|%#oux(Lj!YzBKv+Fd}*Ur-dCBoX*t{KeNM*n~ZPYJ4NNKkI^MFbz9!v z4(Bvm*Kc!-$%VFEewYJKz-CQN{`2}KX4*CeJEs+Q(!kI%hN1!1P6iOq?ovz}X0IOi z)YfWpwW@pK08^69#wSyCZkX9?uZD?C^@rw^Y?gLS_xmFKkooyx$*^5#cPqntNTtSG zlP>XLMj2!VF^0k#ole7`-c~*~+_T5ls?x4)ah(j8vo_ zwb%S8qoaZqY0-$ZI+ViIA_1~~rAH7K_+yFS{0rT@eQtTAdz#8E5VpwnW!zJ_^{Utv zlW5Iar3V5t&H4D6A=>?mq;G92;1cg9a2sf;gY9pJDVKn$DYdQlvfXq}zz8#LyPGq@ z+`YUMD;^-6w&r-82JL7mA8&M~Pj@aK!m{0+^v<|t%APYf7`}jGEhdYLqsHW-Le9TL z_hZZ1gbrz7$f9^fAzVIP30^KIz!!#+DRLL+qMszvI_BpOSmjtl$hh;&UeM{ER@INV zcI}VbiVTPoN|iSna@=7XkP&-4#06C};8ajbxJ4Gcq8(vWv4*&X8bM^T$mBk75Q92j z1v&%a;OSKc8EIrodmIiw$lOES2hzGDcjjB`kEDfJe{r}yE6`eZL zEB`9u>Cl0IsQ+t}`-cx}{6jqcANucqIB>Qmga_&<+80E2Q|VHHQ$YlAt{6`Qu`HA3 z03s0-sSlwbvgi&_R8s={6<~M^pGvBNjKOa>tWenzS8s zR>L7R5aZ=mSU{f?ib4Grx$AeFvtO5N|D>9#)ChH#Fny2maHWHOf2G=#<9Myot#+4u zWVa6d^Vseq_0=#AYS(-m$Lp;*8nC_6jXIjEM`omUmtH@QDs3|G)i4j*#_?#UYVZvJ z?YjT-?!4Q{BNun;dKBWLEw2C-VeAz`%?A>p;)PL}TAZn5j~HK>v1W&anteARlE+~+ zj>c(F;?qO3pXBb|#OZdQnm<4xWmn~;DR5SDMxt0UK_F^&eD|KZ=O;tO3vy4@4h^;2 zUL~-z`-P1aOe?|ZC1BgVsL)2^J-&vIFI%q@40w0{jjEfeVl)i9(~bt2z#2Vm)p`V_ z1;6$Ae7=YXk#=Qkd24Y23t&GvRxaOoad~NbJ+6pxqzJ>FY#Td7@`N5xp!n(c!=RE& z&<<@^a$_Ys8jqz4|5Nk#FY$~|FPC0`*a5HH!|Gssa9=~66&xG9)|=pOOJ2KE5|YrR zw!w6K2aC=J$t?L-;}5hn6mHd%hC;p8P|Dgh6D>hGnXPgi;6r+eA=?f72y9(Cf_ho{ zH6#)uD&R=73^$$NE;5piWX2bzR67fQ)`b=85o0eOLGI4c-Tb@-KNi2pz=Ke@SDcPn za$AxXib84`!Sf;Z3B@TSo`Dz7GM5Kf(@PR>Ghzi=BBxK8wRp>YQoXm+iL>H*Jo9M3 z6w&E?BC8AFTFT&Tv8zf+m9<&S&%dIaZ)Aoqkak_$r-2{$d~0g2oLETx9Y`eOAf14QXEQw3tJne;fdzl@wV#TFXSLXM2428F-Q}t+n2g%vPRMUzYPvzQ9f# zu(liiJem9P*?0%V@RwA7F53r~|I!Ty)<*AsMX3J{_4&}{6pT%Tpw>)^|DJ)>gpS~1rNEh z0$D?uO8mG?H;2BwM5a*26^7YO$XjUm40XmBsb63MoR;bJh63J;OngS5sSI+o2HA;W zdZV#8pDpC9Oez&L8loZO)MClRz!_!WD&QRtQxnazhT%Vj6Wl4G11nUk8*vSeVab@N#oJ}`KyJv+8Mo@T1-pqZ1t|?cnaVOd;1(h9 z!$DrN=jcGsVYE-0-n?oCJ^4x)F}E;UaD-LZUIzcD?W^ficqJWM%QLy6QikrM1aKZC zi{?;oKwq^Vsr|&`i{jIphA8S6G4)$KGvpULjH%9u(Dq247;R#l&I0{IhcC|oBF*Al zvLo7Xte=C{aIt*otJD}BUq)|_pdR>{zBMT< z(^1RpZv*l*m*OV^8>9&asGBo8h*_4q*)-eCv*|Pq=XNGrZE)^(SF7^{QE_~4VDB(o zVcPA_!G+2CAtLbl+`=Q~9iW`4ZRLku!uB?;tWqVjB0lEOf}2RD7dJ=BExy=<9wkb- z9&7{XFA%n#JsHYN8t5d~=T~5DcW4$B%3M+nNvC2`0!#@sckqlzo5;hhGi(D9=*A4` z5ynobawSPRtWn&CDLEs3Xf`(8^zDP=NdF~F^s&={l7(aw&EG}KWpMjtmz7j_VLO;@ zM2NVLDxZ@GIv7*gzl1 zjq78tv*8#WSY`}Su0&C;2F$Ze(q>F(@Wm^Gw!)(j;dk9Ad{STaxn)IV9FZhm*n+U} zi;4y*3v%A`_c7a__DJ8D1b@dl0Std3F||4Wtvi)fCcBRh!X9$1x!_VzUh>*S5s!oq z;qd{J_r79EL2wIeiGAqFstWtkfIJpjVh%zFo*=55B9Zq~y0=^iqHWfQl@O!Ak;(o*m!pZqe9 z%U2oDOhR)BvW8&F70L;2TpkzIutIvNQaTjjs5V#8mV4!NQ}zN=i`i@WI1z0eN-iCS z;vL-Wxc^Vc_qK<5RPh(}*8dLT{~GzE{w2o$2kMFaEl&q zP{V=>&3kW7tWaK-Exy{~`v4J0U#OZBk{a9{&)&QG18L@6=bsZ1zC_d{{pKZ-Ey>I> z;8H0t4bwyQqgu4hmO`3|4K{R*5>qnQ&gOfdy?z`XD%e5+pTDzUt3`k^u~SaL&XMe= z9*h#kT(*Q9jO#w2Hd|Mr-%DV8i_1{J1MU~XJ3!WUplhXDYBpJH><0OU`**nIvPIof z|N8@I=wA)sf45SAvx||f?Z5uB$kz1qL3Ky_{%RPdP5iN-D2!p5scq}buuC00C@jom zhfGKm3|f?Z0iQ|K$Z~!`8{nmAS1r+fp6r#YDOS8V*;K&Gs7Lc&f^$RC66O|)28oh`NHy&vq zJh+hAw8+ybTB0@VhWN^0iiTnLsCWbS_y`^gs!LX!Lw{yE``!UVzrV24tP8o;I6-65 z1MUiHw^{bB15tmrVT*7-#sj6cs~z`wk52YQJ*TG{SE;KTm#Hf#a~|<(|ImHH17nNM z`Ub{+J3dMD!)mzC8b(2tZtokKW5pAwHa?NFiso~# z1*iaNh4lQ4TS)|@G)H4dZV@l*Vd;Rw;-;odDhW2&lJ%m@jz+Panv7LQm~2Js6rOW3 z0_&2cW^b^MYW3)@o;neZ<{B4c#m48dAl$GCc=$>ErDe|?y@z`$uq3xd(%aAsX)D%l z>y*SQ%My`yDP*zof|3@_w#cjaW_YW4BdA;#Glg1RQcJGY*CJ9`H{@|D+*e~*457kd z73p<%fB^PV!Ybw@)Dr%(ZJbX}xmCStCYv#K3O32ej{$9IzM^I{6FJ8!(=azt7RWf4 z7ib0UOPqN40X!wOnFOoddd8`!_IN~9O)#HRTyjfc#&MCZ zZAMzOVB=;qwt8gV?{Y2?b=iSZG~RF~uyx18K)IDFLl})G1v@$(s{O4@RJ%OTJyF+Cpcx4jmy|F3euCnMK!P2WTDu5j z{{gD$=M*pH!GGzL%P)V2*ROm>!$Y=z|D`!_yY6e7SU$~a5q8?hZGgaYqaiLnkK%?0 zs#oI%;zOxF@g*@(V4p!$7dS1rOr6GVs6uYCTt2h)eB4?(&w8{#o)s#%gN@BBosRUe z)@P@8_Zm89pr~)b>e{tbPC~&_MR--iB{=)y;INU5#)@Gix-YpgP<-c2Ms{9zuCX|3 z!p(?VaXww&(w&uBHzoT%!A2=3HAP>SDxcljrego7rY|%hxy3XlODWffO_%g|l+7Y_ zqV(xbu)s4lV=l7M;f>vJl{`6qBm>#ZeMA}kXb97Z)?R97EkoI?x6Lp0yu1Z>PS?2{ z0QQ(8D)|lc9CO3B~e(pQM&5(1y&y=e>C^X$`)_&XuaI!IgDTVqt31wX#n+@!a_A0ZQkA zCJ2@M_4Gb5MfCrm5UPggeyh)8 zO9?`B0J#rkoCx(R0I!ko_2?iO@|oRf1;3r+i)w-2&j?=;NVIdPFsB)`|IC0zk6r9c zRrkfxWsiJ(#8QndNJj@{@WP2Ackr|r1VxV{7S&rSU(^)-M8gV>@UzOLXu9K<{6e{T zXJ6b92r$!|lwjhmgqkdswY&}c)KW4A)-ac%sU;2^fvq7gfUW4Bw$b!i@duy1CAxSn z(pyh$^Z=&O-q<{bZUP+$U}=*#M9uVc>CQVgDs4swy5&8RAHZ~$)hrTF4W zPsSa~qYv_0mJnF89RnnJTH`3}w4?~epFl=D(35$ zWa07ON$`OMBOHgCmfO(9RFc<)?$x)N}Jd2A(<*Ll7+4jrRt9w zwGxExUXd9VB#I|DwfxvJ;HZ8Q{37^wDhaZ%O!oO(HpcqfLH%#a#!~;Jl7F5>EX_=8 z{()l2NqPz>La3qJR;_v+wlK>GsHl;uRA8%j`A|yH@k5r%55S9{*Cp%uw6t`qc1!*T za2OeqtQj7sAp#Q~=5Fs&aCR9v>5V+s&RdNvo&H~6FJOjvaj--2sYYBvMq;55%z8^o z|BJDA4vzfow#DO#ZQHh;Oq_{r+qP{R9ox2TOgwQiv7Ow!zjN+A@BN;0tA2lUb#+zO z(^b89eV)D7UVE+h{mcNc6&GtpOqDn_?VAQ)Vob$hlFwW%xh>D#wml{t&Ofmm_d_+; zKDxzdr}`n2Rw`DtyIjrG)eD0vut$}dJAZ0AohZ+ZQdWXn_Z@dI_y=7t3q8x#pDI-K z2VVc&EGq445Rq-j0=U=Zx`oBaBjsefY;%)Co>J3v4l8V(T8H?49_@;K6q#r~Wwppc z4XW0(4k}cP=5ex>-Xt3oATZ~bBWKv)aw|I|Lx=9C1s~&b77idz({&q3T(Y(KbWO?+ zmcZ6?WeUsGk6>km*~234YC+2e6Zxdl~<_g2J|IE`GH%n<%PRv-50; zH{tnVts*S5*_RxFT9eM0z-pksIb^drUq4>QSww=u;UFCv2AhOuXE*V4z?MM`|ABOC4P;OfhS(M{1|c%QZ=!%rQTDFx`+}?Kdx$&FU?Y<$x;j7z=(;Lyz+?EE>ov!8vvMtSzG!nMie zsBa9t8as#2nH}n8xzN%W%U$#MHNXmDUVr@GX{?(=yI=4vks|V)!-W5jHsU|h_&+kY zS_8^kd3jlYqOoiI`ZqBVY!(UfnAGny!FowZWY_@YR0z!nG7m{{)4OS$q&YDyw6vC$ zm4!$h>*|!2LbMbxS+VM6&DIrL*X4DeMO!@#EzMVfr)e4Tagn~AQHIU8?e61TuhcKD zr!F4(kEebk(Wdk-?4oXM(rJwanS>Jc%<>R(siF+>+5*CqJLecP_we33iTFTXr6W^G z7M?LPC-qFHK;E!fxCP)`8rkxZyFk{EV;G-|kwf4b$c1k0atD?85+|4V%YATWMG|?K zLyLrws36p%Qz6{}>7b>)$pe>mR+=IWuGrX{3ZPZXF3plvuv5Huax86}KX*lbPVr}L z{C#lDjdDeHr~?l|)Vp_}T|%$qF&q#U;ClHEPVuS+Jg~NjC1RP=17=aQKGOcJ6B3mp z8?4*-fAD~}sX*=E6!}^u8)+m2j<&FSW%pYr_d|p_{28DZ#Cz0@NF=gC-o$MY?8Ca8 zr5Y8DSR^*urS~rhpX^05r30Ik#2>*dIOGxRm0#0YX@YQ%Mg5b6dXlS!4{7O_kdaW8PFSdj1=ryI-=5$fiieGK{LZ+SX(1b=MNL!q#lN zv98?fqqTUH8r8C7v(cx#BQ5P9W>- zmW93;eH6T`vuJ~rqtIBg%A6>q>gnWb3X!r0wh_q;211+Om&?nvYzL1hhtjB zK_7G3!n7PL>d!kj){HQE zE8(%J%dWLh1_k%gVXTZt zEdT09XSKAx27Ncaq|(vzL3gm83q>6CAw<$fTnMU05*xAe&rDfCiu`u^1)CD<>sx0i z*hr^N_TeN89G(nunZoLBf^81#pmM}>JgD@Nn1l*lN#a=B=9pN%tmvYFjFIoKe_(GF z-26x{(KXdfsQL7Uv6UtDuYwV`;8V3w>oT_I<`Ccz3QqK9tYT5ZQzbop{=I=!pMOCb zCU68`n?^DT%^&m>A%+-~#lvF!7`L7a{z<3JqIlk1$<||_J}vW1U9Y&eX<}l8##6i( zZcTT@2`9(Mecptm@{3A_Y(X`w9K0EwtPq~O!16bq{7c0f7#(3wn-^)h zxV&M~iiF!{-6A@>o;$RzQ5A50kxXYj!tcgme=Qjrbje~;5X2xryU;vH|6bE(8z^<7 zQ>BG7_c*JG8~K7Oe68i#0~C$v?-t@~@r3t2inUnLT(c=URpA9kA8uq9PKU(Ps(LVH zqgcqW>Gm?6oV#AldDPKVRcEyQIdTT`Qa1j~vS{<;SwyTdr&3*t?J)y=M7q*CzucZ&B0M=joT zBbj@*SY;o2^_h*>R0e({!QHF0=)0hOj^B^d*m>SnRrwq>MolNSgl^~r8GR#mDWGYEIJA8B<|{{j?-7p zVnV$zancW3&JVDtVpIlI|5djKq0(w$KxEFzEiiL=h5Jw~4Le23@s(mYyXWL9SX6Ot zmb)sZaly_P%BeX_9 zw&{yBef8tFm+%=--m*J|o~+Xg3N+$IH)t)=fqD+|fEk4AAZ&!wcN5=mi~Vvo^i`}> z#_3ahR}Ju)(Px7kev#JGcSwPXJ2id9%Qd2A#Uc@t8~egZ8;iC{e! z%=CGJOD1}j!HW_sgbi_8suYnn4#Ou}%9u)dXd3huFIb!ytlX>Denx@pCS-Nj$`VO&j@(z!kKSP0hE4;YIP#w9ta=3DO$7f*x zc9M4&NK%IrVmZAe=r@skWD`AEWH=g+r|*13Ss$+{c_R!b?>?UaGXlw*8qDmY#xlR= z<0XFbs2t?8i^G~m?b|!Hal^ZjRjt<@a? z%({Gn14b4-a|#uY^=@iiKH+k?~~wTj5K1A&hU z2^9-HTC)7zpoWK|$JXaBL6C z#qSNYtY>65T@Zs&-0cHeu|RX(Pxz6vTITdzJdYippF zC-EB+n4}#lM7`2Ry~SO>FxhKboIAF#Z{1wqxaCb{#yEFhLuX;Rx(Lz%T`Xo1+a2M}7D+@wol2)OJs$TwtRNJ={( zD@#zTUEE}#Fz#&(EoD|SV#bayvr&E0vzmb%H?o~46|FAcx?r4$N z&67W3mdip-T1RIxwSm_&(%U|+WvtGBj*}t69XVd&ebn>KOuL(7Y8cV?THd-(+9>G7*Nt%T zcH;`p={`SOjaf7hNd(=37Lz3-51;58JffzIPgGs_7xIOsB5p2t&@v1mKS$2D$*GQ6 zM(IR*j4{nri7NMK9xlDy-hJW6sW|ZiDRaFiayj%;(%51DN!ZCCCXz+0Vm#};70nOx zJ#yA0P3p^1DED;jGdPbQWo0WATN=&2(QybbVdhd=Vq*liDk`c7iZ?*AKEYC#SY&2g z&Q(Ci)MJ{mEat$ZdSwTjf6h~roanYh2?9j$CF@4hjj_f35kTKuGHvIs9}Re@iKMxS-OI*`0S z6s)fOtz}O$T?PLFVSeOjSO26$@u`e<>k(OSP!&YstH3ANh>)mzmKGNOwOawq-MPXe zy4xbeUAl6tamnx))-`Gi2uV5>9n(73yS)Ukma4*7fI8PaEwa)dWHs6QA6>$}7?(L8 ztN8M}?{Tf!Zu22J5?2@95&rQ|F7=FK-hihT-vDp!5JCcWrVogEnp;CHenAZ)+E+K5 z$Cffk5sNwD_?4+ymgcHR(5xgt20Z8M`2*;MzOM#>yhk{r3x=EyM226wb&!+j`W<%* zSc&|`8!>dn9D@!pYow~(DsY_naSx7(Z4i>cu#hA5=;IuI88}7f%)bRkuY2B;+9Uep zpXcvFWkJ!mQai63BgNXG26$5kyhZ2&*3Q_tk)Ii4M>@p~_~q_cE!|^A;_MHB;7s#9 zKzMzK{lIxotjc};k67^Xsl-gS!^*m*m6kn|sbdun`O?dUkJ{0cmI0-_2y=lTAfn*Y zKg*A-2sJq)CCJgY0LF-VQvl&6HIXZyxo2#!O&6fOhbHXC?%1cMc6y^*dOS{f$=137Ds1m01qs`>iUQ49JijsaQ( zksqV9@&?il$|4Ua%4!O15>Zy&%gBY&wgqB>XA3!EldQ%1CRSM(pp#k~-pkcCg4LAT zXE=puHbgsw)!xtc@P4r~Z}nTF=D2~j(6D%gTBw$(`Fc=OOQ0kiW$_RDd=hcO0t97h zb86S5r=>(@VGy1&#S$Kg_H@7G^;8Ue)X5Y+IWUi`o;mpvoV)`fcVk4FpcT|;EG!;? zHG^zrVVZOm>1KFaHlaogcWj(v!S)O(Aa|Vo?S|P z5|6b{qkH(USa*Z7-y_Uvty_Z1|B{rTS^qmEMLEYUSk03_Fg&!O3BMo{b^*`3SHvl0 zhnLTe^_vVIdcSHe)SQE}r~2dq)VZJ!aSKR?RS<(9lzkYo&dQ?mubnWmgMM37Nudwo z3Vz@R{=m2gENUE3V4NbIzAA$H1z0pagz94-PTJyX{b$yndsdKptmlKQKaaHj@3=ED zc7L?p@%ui|RegVYutK$64q4pe9+5sv34QUpo)u{1ci?)_7gXQd{PL>b0l(LI#rJmN zGuO+%GO`xneFOOr4EU(Wg}_%bhzUf;d@TU+V*2#}!2OLwg~%D;1FAu=Un>OgjPb3S z7l(riiCwgghC=Lm5hWGf5NdGp#01xQ59`HJcLXbUR3&n%P(+W2q$h2Qd z*6+-QXJ*&Kvk9ht0f0*rO_|FMBALen{j7T1l%=Q>gf#kma zQlg#I9+HB+z*5BMxdesMND`_W;q5|FaEURFk|~&{@qY32N$G$2B=&Po{=!)x5b!#n zxLzblkq{yj05#O7(GRuT39(06FJlalyv<#K4m}+vs>9@q-&31@1(QBv82{}Zkns~K ze{eHC_RDX0#^A*JQTwF`a=IkE6Ze@j#-8Q`tTT?k9`^ZhA~3eCZJ-Jr{~7Cx;H4A3 zcZ+Zj{mzFZbVvQ6U~n>$U2ZotGsERZ@}VKrgGh0xM;Jzt29%TX6_&CWzg+YYMozrM z`nutuS)_0dCM8UVaKRj804J4i%z2BA_8A4OJRQ$N(P9Mfn-gF;4#q788C@9XR0O3< zsoS4wIoyt046d+LnSCJOy@B@Uz*#GGd#+Ln1ek5Dv>(ZtD@tgZlPnZZJGBLr^JK+!$$?A_fA3LOrkoDRH&l7 zcMcD$Hsjko3`-{bn)jPL6E9Ds{WskMrivsUu5apD z?grQO@W7i5+%X&E&p|RBaEZ(sGLR@~(y^BI@lDMot^Ll?!`90KT!JXUhYS`ZgX3jnu@Ja^seA*M5R@f`=`ynQV4rc$uT1mvE?@tz)TN<=&H1%Z?5yjxcpO+6y_R z6EPuPKM5uxKpmZfT(WKjRRNHs@ib)F5WAP7QCADvmCSD#hPz$V10wiD&{NXyEwx5S z6NE`3z!IS^$s7m}PCwQutVQ#~w+V z=+~->DI*bR2j0^@dMr9`p>q^Ny~NrAVxrJtX2DUveic5vM%#N*XO|?YAWwNI$Q)_) zvE|L(L1jP@F%gOGtnlXtIv2&1i8q<)Xfz8O3G^Ea~e*HJsQgBxWL(yuLY+jqUK zRE~`-zklrGog(X}$9@ZVUw!8*=l`6mzYLtsg`AvBYz(cxmAhr^j0~(rzXdiOEeu_p zE$sf2(w(BPAvO5DlaN&uQ$4@p-b?fRs}d7&2UQ4Fh?1Hzu*YVjcndqJLw0#q@fR4u zJCJ}>_7-|QbvOfylj+e^_L`5Ep9gqd>XI3-O?Wp z-gt*P29f$Tx(mtS`0d05nHH=gm~Po_^OxxUwV294BDKT>PHVlC5bndncxGR!n(OOm znsNt@Q&N{TLrmsoKFw0&_M9$&+C24`sIXGWgQaz=kY;S{?w`z^Q0JXXBKFLj0w0U6P*+jPKyZHX9F#b0D1$&(- zrm8PJd?+SrVf^JlfTM^qGDK&-p2Kdfg?f>^%>1n8bu&byH(huaocL>l@f%c*QkX2i znl}VZ4R1en4S&Bcqw?$=Zi7ohqB$Jw9x`aM#>pHc0x z0$!q7iFu zZ`tryM70qBI6JWWTF9EjgG@>6SRzsd}3h+4D8d~@CR07P$LJ}MFsYi-*O%XVvD@yT|rJ+Mk zDllJ7$n0V&A!0flbOf)HE6P_afPWZmbhpliqJuw=-h+r;WGk|ntkWN(8tKlYpq5Ow z(@%s>IN8nHRaYb*^d;M(D$zGCv5C|uqmsDjwy4g=Lz>*OhO3z=)VD}C<65;`89Ye} zSCxrv#ILzIpEx1KdLPlM&%Cctf@FqTKvNPXC&`*H9=l=D3r!GLM?UV zOxa(8ZsB`&+76S-_xuj?G#wXBfDY@Z_tMpXJS7^mp z@YX&u0jYw2A+Z+bD#6sgVK5ZgdPSJV3>{K^4~%HV?rn~4D)*2H!67Y>0aOmzup`{D zzDp3c9yEbGCY$U<8biJ_gB*`jluz1ShUd!QUIQJ$*1;MXCMApJ^m*Fiv88RZ zFopLViw}{$Tyhh_{MLGIE2~sZ)t0VvoW%=8qKZ>h=adTe3QM$&$PO2lfqH@brt!9j ziePM8$!CgE9iz6B<6_wyTQj?qYa;eC^{x_0wuwV~W+^fZmFco-o%wsKSnjXFEx02V zF5C2t)T6Gw$Kf^_c;Ei3G~uC8SM-xyycmXyC2hAVi-IfXqhu$$-C=*|X?R0~hu z8`J6TdgflslhrmDZq1f?GXF7*ALeMmOEpRDg(s*H`4>_NAr`2uqF;k;JQ+8>A|_6ZNsNLECC%NNEb1Y1dP zbIEmNpK)#XagtL4R6BC{C5T(+=yA-(Z|Ap}U-AfZM#gwVpus3(gPn}Q$CExObJ5AC z)ff9Yk?wZ}dZ-^)?cbb9Fw#EjqQ8jxF4G3=L?Ra zg_)0QDMV1y^A^>HRI$x?Op@t;oj&H@1xt4SZ9(kifQ zb59B*`M99Td7@aZ3UWvj1rD0sE)d=BsBuW*KwkCds7ay(7*01_+L}b~7)VHI>F_!{ zyxg-&nCO?v#KOUec0{OOKy+sjWA;8rTE|Lv6I9H?CI?H(mUm8VXGwU$49LGpz&{nQp2}dinE1@lZ1iox6{ghN&v^GZv9J${7WaXj)<0S4g_uiJ&JCZ zr8-hsu`U%N;+9N^@&Q0^kVPB3)wY(rr}p7{p0qFHb3NUUHJb672+wRZs`gd1UjKPX z4o6zljKKA+Kkj?H>Ew63o%QjyBk&1!P22;MkD>sM0=z_s-G{mTixJCT9@_|*(p^bz zJ8?ZZ&;pzV+7#6Mn`_U-)k8Pjg?a;|Oe^us^PoPY$Va~yi8|?+&=y$f+lABT<*pZr zP}D{~Pq1Qyni+@|aP;ixO~mbEW9#c0OU#YbDZIaw=_&$K%Ep2f%hO^&P67hApZe`x zv8b`Mz@?M_7-)b!lkQKk)JXXUuT|B8kJlvqRmRpxtQDgvrHMXC1B$M@Y%Me!BSx3P z#2Eawl$HleZhhTS6Txm>lN_+I`>eV$&v9fOg)%zVn3O5mI*lAl>QcHuW6!Kixmq`X zBCZ*Ck6OYtDiK!N47>jxI&O2a9x7M|i^IagRr-fmrmikEQGgw%J7bO|)*$2FW95O4 zeBs>KR)izRG1gRVL;F*sr8A}aRHO0gc$$j&ds8CIO1=Gwq1%_~E)CWNn9pCtBE}+`Jelk4{>S)M)`Ll=!~gnn1yq^EX(+y*ik@3Ou0qU`IgYi3*doM+5&dU!cho$pZ zn%lhKeZkS72P?Cf68<#kll_6OAO26bIbueZx**j6o;I0cS^XiL`y+>{cD}gd%lux} z)3N>MaE24WBZ}s0ApfdM;5J_Ny}rfUyxfkC``Awo2#sgLnGPewK};dORuT?@I6(5~ z?kE)Qh$L&fwJXzK){iYx!l5$Tt|^D~MkGZPA}(o6f7w~O2G6Vvzdo*a;iXzk$B66$ zwF#;wM7A+(;uFG4+UAY(2`*3XXx|V$K8AYu#ECJYSl@S=uZW$ksfC$~qrrbQj4??z-)uz0QL}>k^?fPnJTPw% zGz)~?B4}u0CzOf@l^um}HZzbaIwPmb<)< zi_3@E9lc)Qe2_`*Z^HH;1CXOceL=CHpHS{HySy3T%<^NrWQ}G0i4e1xm_K3(+~oi$ zoHl9wzb?Z4j#90DtURtjtgvi7uw8DzHYmtPb;?%8vb9n@bszT=1qr)V_>R%s!92_` zfnHQPANx z<#hIjIMm#*(v*!OXtF+w8kLu`o?VZ5k7{`vw{Yc^qYclpUGIM_PBN1+c{#Vxv&E*@ zxg=W2W~JuV{IuRYw3>LSI1)a!thID@R=bU+cU@DbR^_SXY`MC7HOsCN z!dO4OKV7(E_Z8T#8MA1H`99?Z!r0)qKW_#|29X3#Jb+5+>qUidbeP1NJ@)(qi2S-X zao|f0_tl(O+$R|Qwd$H{_ig|~I1fbp_$NkI!0E;Y z6JrnU{1Ra6^on{9gUUB0mwzP3S%B#h0fjo>JvV~#+X0P~JV=IG=yHG$O+p5O3NUgG zEQ}z6BTp^Fie)Sg<){Z&I8NwPR(=mO4joTLHkJ>|Tnk23E(Bo`FSbPc05lF2-+)X? z6vV3*m~IBHTy*^E!<0nA(tCOJW2G4DsH7)BxLV8kICn5lu6@U*R`w)o9;Ro$i8=Q^V%uH8n3q=+Yf;SFRZu z!+F&PKcH#8cG?aSK_Tl@K9P#8o+jry@gdexz&d(Q=47<7nw@e@FFfIRNL9^)1i@;A z28+$Z#rjv-wj#heI|<&J_DiJ*s}xd-f!{J8jfqOHE`TiHHZVIA8CjkNQ_u;Ery^^t zl1I75&u^`1_q)crO+JT4rx|z2ToSC>)Or@-D zy3S>jW*sNIZR-EBsfyaJ+Jq4BQE4?SePtD2+jY8*%FsSLZ9MY>+wk?}}}AFAw)vr{ml)8LUG-y9>^t!{~|sgpxYc0Gnkg`&~R z-pilJZjr@y5$>B=VMdZ73svct%##v%wdX~9fz6i3Q-zOKJ9wso+h?VME7}SjL=!NUG{J?M&i!>ma`eoEa@IX`5G>B1(7;%}M*%-# zfhJ(W{y;>MRz!Ic8=S}VaBKqh;~7KdnGEHxcL$kA-6E~=!hrN*zw9N+_=odt<$_H_8dbo;0=42wcAETPCVGUr~v(`Uai zb{=D!Qc!dOEU6v)2eHSZq%5iqK?B(JlCq%T6av$Cb4Rko6onlG&?CqaX7Y_C_cOC3 zYZ;_oI(}=>_07}Oep&Ws7x7-R)cc8zfe!SYxJYP``pi$FDS)4Fvw5HH=FiU6xfVqIM!hJ;Rx8c0cB7~aPtNH(Nmm5Vh{ibAoU#J6 zImRCr?(iyu_4W_6AWo3*vxTPUw@vPwy@E0`(>1Qi=%>5eSIrp^`` zK*Y?fK_6F1W>-7UsB)RPC4>>Ps9)f+^MqM}8AUm@tZ->j%&h1M8s*s!LX5&WxQcAh z8mciQej@RPm?660%>{_D+7er>%zX_{s|$Z+;G7_sfNfBgY(zLB4Ey}J9F>zX#K0f6 z?dVNIeEh?EIShmP6>M+d|0wMM85Sa4diw1hrg|ITJ}JDg@o8y>(rF9mXk5M z2@D|NA)-7>wD&wF;S_$KS=eE84`BGw3g0?6wGxu8ys4rwI?9U=*^VF22t3%mbGeOh z`!O-OpF7#Vceu~F`${bW0nYVU9ecmk31V{tF%iv&5hWofC>I~cqAt@u6|R+|HLMMX zVxuSlMFOK_EQ86#E8&KwxIr8S9tj_goWtLv4f@!&h8;Ov41{J~496vp9vX=(LK#j! zAwi*21RAV-LD>9Cw3bV_9X(X3)Kr0-UaB*7Y>t82EQ%!)(&(XuAYtTsYy-dz+w=$ir)VJpe!_$ z6SGpX^i(af3{o=VlFPC);|J8#(=_8#vdxDe|Cok+ANhYwbE*FO`Su2m1~w+&9<_9~ z-|tTU_ACGN`~CNW5WYYBn^B#SwZ(t4%3aPp z;o)|L6Rk569KGxFLUPx@!6OOa+5OjQLK5w&nAmwxkC5rZ|m&HT8G%GVZxB_@ME z>>{rnXUqyiJrT(8GMj_ap#yN_!9-lO5e8mR3cJiK3NE{_UM&=*vIU`YkiL$1%kf+1 z4=jk@7EEj`u(jy$HnzE33ZVW_J4bj}K;vT?T91YlO(|Y0FU4r+VdbmQ97%(J5 zkK*Bed8+C}FcZ@HIgdCMioV%A<*4pw_n}l*{Cr4}a(lq|injK#O?$tyvyE`S%(1`H z_wwRvk#13ElkZvij2MFGOj`fhy?nC^8`Zyo%yVcUAfEr8x&J#A{|moUBAV_^f$hpaUuyQeY3da^ zS9iRgf87YBwfe}>BO+T&Fl%rfpZh#+AM?Dq-k$Bq`vG6G_b4z%Kbd&v>qFjow*mBl z-OylnqOpLg}or7_VNwRg2za3VBK6FUfFX{|TD z`Wt0Vm2H$vdlRWYQJqDmM?JUbVqL*ZQY|5&sY*?!&%P8qhA~5+Af<{MaGo(dl&C5t zE%t!J0 zh6jqANt4ABdPxSTrVV}fLsRQal*)l&_*rFq(Ez}ClEH6LHv{J#v?+H-BZ2)Wy{K@9 z+ovXHq~DiDvm>O~r$LJo!cOuwL+Oa--6;UFE2q@g3N8Qkw5E>ytz^(&($!O47+i~$ zKM+tkAd-RbmP{s_rh+ugTD;lriL~`Xwkad#;_aM?nQ7L_muEFI}U_4$phjvYgleK~`Fo`;GiC07&Hq1F<%p;9Q;tv5b?*QnR%8DYJH3P>Svmv47Y>*LPZJy8_{9H`g6kQpyZU{oJ`m%&p~D=K#KpfoJ@ zn-3cqmHsdtN!f?~w+(t+I`*7GQA#EQC^lUA9(i6=i1PqSAc|ha91I%X&nXzjYaM{8$s&wEx@aVkQ6M{E2 zfzId#&r(XwUNtPcq4Ngze^+XaJA1EK-%&C9j>^9(secqe{}z>hR5CFNveMsVA)m#S zk)_%SidkY-XmMWlVnQ(mNJ>)ooszQ#vaK;!rPmGKXV7am^_F!Lz>;~{VrIO$;!#30XRhE1QqO_~#+Ux;B_D{Nk=grn z8Y0oR^4RqtcYM)7a%@B(XdbZCOqnX#fD{BQTeLvRHd(irHKq=4*jq34`6@VAQR8WG z^%)@5CXnD_T#f%@-l${>y$tfb>2LPmc{~5A82|16mH)R?&r#KKLs7xpN-D`=&Cm^R zvMA6#Ahr<3X>Q7|-qfTY)}32HkAz$_mibYV!I)u>bmjK`qwBe(>za^0Kt*HnFbSdO z1>+ryKCNxmm^)*$XfiDOF2|{-v3KKB?&!(S_Y=Ht@|ir^hLd978xuI&N{k>?(*f8H z=ClxVJK_%_z1TH0eUwm2J+2To7FK4o+n_na)&#VLn1m;!+CX+~WC+qg1?PA~KdOlC zW)C@pw75_xoe=w7i|r9KGIvQ$+3K?L{7TGHwrQM{dCp=Z*D}3kX7E-@sZnup!BImw z*T#a=+WcTwL78exTgBn|iNE3#EsOorO z*kt)gDzHiPt07fmisA2LWN?AymkdqTgr?=loT7z@d`wnlr6oN}@o|&JX!yPzC*Y8d zu6kWlTzE1)ckyBn+0Y^HMN+GA$wUO_LN6W>mxCo!0?oiQvT`z$jbSEu&{UHRU0E8# z%B^wOc@S!yhMT49Y)ww(Xta^8pmPCe@eI5C*ed96)AX9<>))nKx0(sci8gwob_1}4 z0DIL&vsJ1_s%<@y%U*-eX z5rN&(zef-5G~?@r79oZGW1d!WaTqQn0F6RIOa9tJ=0(kdd{d1{<*tHT#cCvl*i>YY zH+L7jq8xZNcTUBqj(S)ztTU!TM!RQ}In*n&Gn<>(60G7}4%WQL!o>hbJqNDSGwl#H z`4k+twp0cj%PsS+NKaxslAEu9!#U3xT1|_KB6`h=PI0SW`P9GTa7caD1}vKEglV8# zjKZR`pluCW19c2fM&ZG)c3T3Um;ir3y(tSCJ7Agl6|b524dy5El{^EQBG?E61H0XY z`bqg!;zhGhyMFl&(o=JWEJ8n~z)xI}A@C0d2hQGvw7nGv)?POU@(kS1m=%`|+^ika zXl8zjS?xqW$WlO?Ewa;vF~XbybHBor$f<%I&*t$F5fynwZlTGj|IjZtVfGa7l&tK} zW>I<69w(cZLu)QIVG|M2xzW@S+70NinQzk&Y0+3WT*cC)rx~04O-^<{JohU_&HL5XdUKW!uFy|i$FB|EMu0eUyW;gsf`XfIc!Z0V zeK&*hPL}f_cX=@iv>K%S5kL;cl_$v?n(Q9f_cChk8Lq$glT|=e+T*8O4H2n<=NGmn z+2*h+v;kBvF>}&0RDS>)B{1!_*XuE8A$Y=G8w^qGMtfudDBsD5>T5SB;Qo}fSkkiV ze^K^M(UthkwrD!&*tTsu>Dacdj_q`~V%r_twr$(Ct&_dKeeXE?fA&4&yASJWJ*}~- zel=@W)tusynfC_YqH4ll>4Eg`Xjs5F7Tj>tTLz<0N3)X<1px_d2yUY>X~y>>93*$) z5PuNMQLf9Bu?AAGO~a_|J2akO1M*@VYN^VxvP0F$2>;Zb9;d5Yfd8P%oFCCoZE$ z4#N$^J8rxYjUE_6{T%Y>MmWfHgScpuGv59#4u6fpTF%~KB^Ae`t1TD_^Ud#DhL+Dm zbY^VAM#MrAmFj{3-BpVSWph2b_Y6gCnCAombVa|1S@DU)2r9W<> zT5L8BB^er3zxKt1v(y&OYk!^aoQisqU zH(g@_o)D~BufUXcPt!Ydom)e|aW{XiMnes2z&rE?og>7|G+tp7&^;q?Qz5S5^yd$i z8lWr4g5nctBHtigX%0%XzIAB8U|T6&JsC4&^hZBw^*aIcuNO47de?|pGXJ4t}BB`L^d8tD`H`i zqrP8?#J@8T#;{^B!KO6J=@OWKhAerih(phML`(Rg7N1XWf1TN>=Z3Do{l_!d~DND&)O)D>ta20}@Lt77qSnVsA7>)uZAaT9bsB>u&aUQl+7GiY2|dAEg@%Al3i316y;&IhQL^8fw_nwS>f60M_-m+!5)S_6EPM7Y)(Nq^8gL7(3 zOiot`6Wy6%vw~a_H?1hLVzIT^i1;HedHgW9-P#)}Y6vF%C=P70X0Tk^z9Te@kPILI z_(gk!k+0%CG)%!WnBjjw*kAKs_lf#=5HXC00s-}oM-Q1aXYLj)(1d!_a7 z*Gg4Fe6F$*ujVjI|79Z5+Pr`us%zW@ln++2l+0hsngv<{mJ%?OfSo_3HJXOCys{Ug z00*YR-(fv<=&%Q!j%b-_ppA$JsTm^_L4x`$k{VpfLI(FMCap%LFAyq;#ns5bR7V+x zO!o;c5y~DyBPqdVQX)8G^G&jWkBy2|oWTw>)?5u}SAsI$RjT#)lTV&Rf8;>u*qXnb z8F%Xb=7#$m)83z%`E;49)t3fHInhtc#kx4wSLLms!*~Z$V?bTyUGiS&m>1P(952(H zuHdv=;o*{;5#X-uAyon`hP}d#U{uDlV?W?_5UjJvf%11hKwe&(&9_~{W)*y1nR5f_ z!N(R74nNK`y8>B!0Bt_Vr!;nc3W>~RiKtGSBkNlsR#-t^&;$W#)f9tTlZz>n*+Fjz z3zXZ;jf(sTM(oDzJt4FJS*8c&;PLTW(IQDFs_5QPy+7yhi1syPCarvqrHFcf&yTy)^O<1EBx;Ir`5W{TIM>{8w&PB>ro4;YD<5LF^TjTb0!zAP|QijA+1Vg>{Afv^% zmrkc4o6rvBI;Q8rj4*=AZacy*n8B{&G3VJc)so4$XUoie0)vr;qzPZVbb<#Fc=j+8CGBWe$n|3K& z_@%?{l|TzKSlUEO{U{{%Fz_pVDxs7i9H#bnbCw7@4DR=}r_qV!Zo~CvD4ZI*+j3kO zW6_=|S`)(*gM0Z;;}nj`73OigF4p6_NPZQ-Od~e$c_);;4-7sR>+2u$6m$Gf%T{aq zle>e3(*Rt(TPD}03n5)!Ca8Pu!V}m6v0o1;5<1h$*|7z|^(3$Y&;KHKTT}hV056wuF0Xo@mK-52~r=6^SI1NC%c~CC?n>yX6wPTgiWYVz!Sx^atLby9YNn1Rk{g?|pJaxD4|9cUf|V1_I*w zzxK)hRh9%zOl=*$?XUjly5z8?jPMy%vEN)f%T*|WO|bp5NWv@B(K3D6LMl!-6dQg0 zXNE&O>Oyf%K@`ngCvbGPR>HRg5!1IV$_}m@3dWB7x3t&KFyOJn9pxRXCAzFr&%37wXG;z^xaO$ekR=LJG ztIHpY8F5xBP{mtQidqNRoz= z@){+N3(VO5bD+VrmS^YjG@+JO{EOIW)9=F4v_$Ed8rZtHvjpiEp{r^c4F6Ic#ChlC zJX^DtSK+v(YdCW)^EFcs=XP7S>Y!4=xgmv>{S$~@h=xW-G4FF9?I@zYN$e5oF9g$# zb!eVU#J+NjLyX;yb)%SY)xJdvGhsnE*JEkuOVo^k5PyS=o#vq!KD46UTW_%R=Y&0G zFj6bV{`Y6)YoKgqnir2&+sl+i6foAn-**Zd1{_;Zb7Ki=u394C5J{l^H@XN`_6XTKY%X1AgQM6KycJ+= zYO=&t#5oSKB^pYhNdzPgH~aEGW2=ec1O#s-KG z71}LOg@4UEFtp3GY1PBemXpNs6UK-ax*)#$J^pC_me;Z$Je(OqLoh|ZrW*mAMBFn< zHttjwC&fkVfMnQeen8`Rvy^$pNRFVaiEN4Pih*Y3@jo!T0nsClN)pdrr9AYLcZxZ| zJ5Wlj+4q~($hbtuY zVQ7hl>4-+@6g1i`1a)rvtp-;b0>^`Dloy(#{z~ytgv=j4q^Kl}wD>K_Y!l~ zp(_&7sh`vfO(1*MO!B%<6E_bx1)&s+Ae`O)a|X=J9y~XDa@UB`m)`tSG4AUhoM=5& znWoHlA-(z@3n0=l{E)R-p8sB9XkV zZ#D8wietfHL?J5X0%&fGg@MH~(rNS2`GHS4xTo7L$>TPme+Is~!|79=^}QbPF>m%J zFMkGzSndiPO|E~hrhCeo@&Ea{M(ieIgRWMf)E}qeTxT8Q#g-!Lu*x$v8W^M^>?-g= zwMJ$dThI|~M06rG$Sv@C@tWR>_YgaG&!BAbkGggVQa#KdtDB)lMLNVLN|51C@F^y8 zCRvMB^{GO@j=cHfmy}_pCGbP%xb{pNN>? z?7tBz$1^zVaP|uaatYaIN+#xEN4jBzwZ|YI_)p(4CUAz1ZEbDk>J~Y|63SZaak~#0 zoYKruYsWHoOlC1(MhTnsdUOwQfz5p6-D0}4;DO$B;7#M{3lSE^jnTT;ns`>!G%i*F?@pR1JO{QTuD0U+~SlZxcc8~>IB{)@8p`P&+nDxNj`*gh|u?yrv$phpQcW)Us)bi`kT%qLj(fi{dWRZ%Es2!=3mI~UxiW0$-v3vUl?#g{p6eF zMEUAqo5-L0Ar(s{VlR9g=j7+lt!gP!UN2ICMokAZ5(Agd>})#gkA2w|5+<%-CuEP# zqgcM}u@3(QIC^Gx<2dbLj?cFSws_f3e%f4jeR?4M^M3cx1f+Qr6ydQ>n)kz1s##2w zk}UyQc+Z5G-d-1}{WzjkLXgS-2P7auWSJ%pSnD|Uivj5u!xk0 z_^-N9r9o;(rFDt~q1PvE#iJZ_f>J3gcP$)SOqhE~pD2|$=GvpL^d!r z6u=sp-CrMoF7;)}Zd7XO4XihC4ji?>V&(t^?@3Q&t9Mx=qex6C9d%{FE6dvU6%d94 zIE;hJ1J)cCqjv?F``7I*6bc#X)JW2b4f$L^>j{*$R`%5VHFi*+Q$2;nyieduE}qdS{L8y8F08yLs?w}{>8>$3236T-VMh@B zq-nujsb_1aUv_7g#)*rf9h%sFj*^mIcImRV*k~Vmw;%;YH(&ylYpy!&UjUVqqtfG` zox3esju?`unJJA_zKXRJP)rA3nXc$m^{S&-p|v|-0x9LHJm;XIww7C#R$?00l&Yyj z=e}gKUOpsImwW?N)+E(awoF@HyP^EhL+GlNB#k?R<2>95hz!h9sF@U20DHSB3~WMa zk90+858r@-+vWwkawJ)8ougd(i#1m3GLN{iSTylYz$brAsP%=&m$mQQrH$g%3-^VR zE%B`Vi&m8f3T~&myTEK28BDWCVzfWir1I?03;pX))|kY5ClO^+bae z*7E?g=3g7EiisYOrE+lA)2?Ln6q2*HLNpZEWMB|O-JI_oaHZB%CvYB(%=tU= zE*OY%QY58fW#RG5=gm0NR#iMB=EuNF@)%oZJ}nmm=tsJ?eGjia{e{yuU0l3{d^D@)kVDt=1PE)&tf_hHC%0MB znL|CRCPC}SeuVTdf>-QV70`0(EHizc21s^sU>y%hW0t!0&y<7}Wi-wGy>m%(-jsDj zP?mF|>p_K>liZ6ZP(w5(|9Ga%>tLgb$|doDDfkdW>Z z`)>V2XC?NJT26mL^@ zf+IKr27TfM!UbZ@?zRddC7#6ss1sw%CXJ4FWC+t3lHZupzM77m^=9 z&(a?-LxIq}*nvv)y?27lZ{j zifdl9hyJudyP2LpU$-kXctshbJDKS{WfulP5Dk~xU4Le4c#h^(YjJit4#R8_khheS z|8(>2ibaHES4+J|DBM7I#QF5u-*EdN{n=Kt@4Zt?@Tv{JZA{`4 zU#kYOv{#A&gGPwT+$Ud}AXlK3K7hYzo$(fBSFjrP{QQ zeaKg--L&jh$9N}`pu{Bs>?eDFPaWY4|9|foN%}i;3%;@4{dc+iw>m}{3rELqH21G! z`8@;w-zsJ1H(N3%|1B@#ioLOjib)j`EiJqPQVSbPSPVHCj6t5J&(NcWzBrzCiDt{4 zdlPAUKldz%6x5II1H_+jv)(xVL+a;P+-1hv_pM>gMRr%04@k;DTokASSKKhU1Qms| zrWh3a!b(J3n0>-tipg{a?UaKsP7?+|@A+1WPDiQIW1Sf@qDU~M_P65_s}7(gjTn0X zucyEm)o;f8UyshMy&>^SC3I|C6jR*R_GFwGranWZe*I>K+0k}pBuET&M~ z;Odo*ZcT?ZpduHyrf8E%IBFtv;JQ!N_m>!sV6ly$_1D{(&nO~w)G~Y`7sD3#hQk%^ zp}ucDF_$!6DAz*PM8yE(&~;%|=+h(Rn-=1Wykas_-@d&z#=S}rDf`4w(rVlcF&lF! z=1)M3YVz7orwk^BXhslJ8jR);sh^knJW(Qmm(QdSgIAIdlN4Te5KJisifjr?eB{FjAX1a0AB>d?qY4Wx>BZ8&}5K0fA+d{l8 z?^s&l8#j7pR&ijD?0b%;lL9l$P_mi2^*_OL+b}4kuLR$GAf85sOo02?Y#90}CCDiS zZ%rbCw>=H~CBO=C_JVV=xgDe%b4FaEFtuS7Q1##y686r%F6I)s-~2(}PWK|Z8M+Gu zl$y~5@#0Ka%$M<&Cv%L`a8X^@tY&T7<0|(6dNT=EsRe0%kp1Qyq!^43VAKYnr*A5~ zsI%lK1ewqO;0TpLrT9v}!@vJK{QoVa_+N4FYT#h?Y8rS1S&-G+m$FNMP?(8N`MZP zels(*?kK{{^g9DOzkuZXJ2;SrOQsp9T$hwRB1(phw1c7`!Q!by?Q#YsSM#I12RhU{$Q+{xj83axHcftEc$mNJ8_T7A-BQc*k(sZ+~NsO~xAA zxnbb%dam_fZlHvW7fKXrB~F&jS<4FD2FqY?VG?ix*r~MDXCE^WQ|W|WM;gsIA4lQP zJ2hAK@CF*3*VqPr2eeg6GzWFlICi8S>nO>5HvWzyZTE)hlkdC_>pBej*>o0EOHR|) z$?};&I4+_?wvL*g#PJ9)!bc#9BJu1(*RdNEn>#Oxta(VWeM40ola<0aOe2kSS~{^P zDJBd}0L-P#O-CzX*%+$#v;(x%<*SPgAje=F{Zh-@ucd2DA(yC|N_|ocs*|-!H%wEw z@Q!>siv2W;C^^j^59OAX03&}&D*W4EjCvfi(ygcL#~t8XGa#|NPO+*M@Y-)ctFA@I z-p7npT1#5zOLo>7q?aZpCZ=iecn3QYklP;gF0bq@>oyBq94f6C=;Csw3PkZ|5q=(c zfs`aw?II0e(h=|7o&T+hq&m$; zBrE09Twxd9BJ2P+QPN}*OdZ-JZV7%av@OM7v!!NL8R;%WFq*?{9T3{ct@2EKgc8h) zMxoM$SaF#p<`65BwIDfmXG6+OiK0e)`I=!A3E`+K@61f}0e z!2a*FOaDrOe>U`q%K!QN`&=&0C~)CaL3R4VY(NDt{Xz(Xpqru5=r#uQN1L$Je1*dkdqQ*=lofQaN%lO!<5z9ZlHgxt|`THd>2 zsWfU$9=p;yLyJyM^t zS2w9w?Bpto`@H^xJpZDKR1@~^30Il6oFGfk5%g6w*C+VM)+%R@gfIwNprOV5{F^M2 zO?n3DEzpT+EoSV-%OdvZvNF+pDd-ZVZ&d8 zKeIyrrfPN=EcFRCPEDCVflX#3-)Ik_HCkL(ejmY8vzcf-MTA{oHk!R2*36`O68$7J zf}zJC+bbQk--9Xm!u#lgLvx8TXx2J258E5^*IZ(FXMpq$2LUUvhWQPs((z1+2{Op% z?J}9k5^N=z;7ja~zi8a_-exIqWUBJwohe#4QJ`|FF*$C{lM18z^#hX6!5B8KAkLUX ziP=oti-gpV(BsLD{0(3*dw}4JxK23Y7M{BeFPucw!sHpY&l%Ws4pSm`+~V7;bZ%Dx zeI)MK=4vC&5#;2MT7fS?^ch9?2;%<8Jlu-IB&N~gg8t;6S-#C@!NU{`p7M8@2iGc& zg|JPg%@gCoCQ&s6JvDU&`X2S<57f(k8nJ1wvBu{8r?;q3_kpZZ${?|( z+^)UvR33sjSd)aT!UPkA;ylO6{aE3MQa{g%Mcf$1KONcjO@&g5zPHWtzM1rYC{_K> zgQNcs<{&X{OA=cEWw5JGqpr0O>x*Tfak2PE9?FuWtz^DDNI}rwAaT0(bdo-<+SJ6A z&}S%boGMWIS0L}=S>|-#kRX;e^sUsotry(MjE|3_9duvfc|nwF#NHuM-w7ZU!5ei8 z6Mkf>2)WunY2eU@C-Uj-A zG(z0Tz2YoBk>zCz_9-)4a>T46$(~kF+Y{#sA9MWH%5z#zNoz)sdXq7ZR_+`RZ%0(q zC7&GyS_|BGHNFl8Xa%@>iWh%Gr?=J5<(!OEjauj5jyrA-QXBjn0OAhJJ9+v=!LK`` z@g(`^*84Q4jcDL`OA&ZV60djgwG`|bcD*i50O}Q{9_noRg|~?dj%VtKOnyRs$Uzqg z191aWoR^rDX#@iSq0n z?9Sg$WSRPqSeI<}&n1T3!6%Wj@5iw5`*`Btni~G=&;J+4`7g#OQTa>u`{4ZZ(c@s$ zK0y;ySOGD-UTjREKbru{QaS>HjN<2)R%Nn-TZiQ(Twe4p@-saNa3~p{?^V9Nixz@a zykPv~<@lu6-Ng9i$Lrk(xi2Tri3q=RW`BJYOPC;S0Yly%77c727Yj-d1vF!Fuk{Xh z)lMbA69y7*5ufET>P*gXQrxsW+ zz)*MbHZv*eJPEXYE<6g6_M7N%#%mR{#awV3i^PafNv(zyI)&bH?F}2s8_rR(6%!V4SOWlup`TKAb@ee>!9JKPM=&8g#BeYRH9FpFybxBXQI2|g}FGJfJ+ zY-*2hB?o{TVL;Wt_ek;AP5PBqfDR4@Z->_182W z{P@Mc27j6jE*9xG{R$>6_;i=y{qf(c`5w9fa*`rEzX6t!KJ(p1H|>J1pC-2zqWENF zmm=Z5B4u{cY2XYl(PfrInB*~WGWik3@1oRhiMOS|D;acnf-Bs(QCm#wR;@Vf!hOPJ zgjhDCfDj$HcyVLJ=AaTbQ{@vIv14LWWF$=i-BDoC11}V;2V8A`S>_x)vIq44-VB-v z*w-d}$G+Ql?En8j!~ZkCpQ$|cA0|+rrY>tiCeWxkRGPoarxlGU2?7%k#F693RHT24 z-?JsiXlT2PTqZqNb&sSc>$d;O4V@|b6VKSWQb~bUaWn1Cf0+K%`Q&Wc<>mQ>*iEGB zbZ;aYOotBZ{vH3y<0A*L0QVM|#rf*LIsGx(O*-7)r@yyBIzJnBFSKBUSl1e|8lxU* zzFL+YDVVkIuzFWeJ8AbgN&w(4-7zbiaMn{5!JQXu)SELk*CNL+Fro|2v|YO)1l15t zs(0^&EB6DPMyaqvY>=KL>)tEpsn;N5Q#yJj<9}ImL((SqErWN3Q=;tBO~ExTCs9hB z2E$7eN#5wX4<3m^5pdjm#5o>s#eS_Q^P)tm$@SawTqF*1dj_i#)3};JslbLKHXl_N z)Fxzf>FN)EK&Rz&*|6&%Hs-^f{V|+_vL1S;-1K-l$5xiC@}%uDuwHYhmsV?YcOUlk zOYkG5v2+`+UWqpn0aaaqrD3lYdh0*!L`3FAsNKu=Q!vJu?Yc8n|CoYyDo_`r0mPoo z8>XCo$W4>l(==h?2~PoRR*kEe)&IH{1sM41mO#-36`02m#nTX{r*r`Q5rZ2-sE|nA zhnn5T#s#v`52T5|?GNS`%HgS2;R(*|^egNPDzzH_z^W)-Q98~$#YAe)cEZ%vge965AS_am#DK#pjPRr-!^za8>`kksCAUj(Xr*1NW5~e zpypt_eJpD&4_bl_y?G%>^L}=>xAaV>KR6;^aBytqpiHe%!j;&MzI_>Sx7O%F%D*8s zSN}cS^<{iiK)=Ji`FpO#^zY!_|D)qeRNAtgmH)m;qC|mq^j(|hL`7uBz+ULUj37gj zksdbnU+LSVo35riSX_4z{UX=%n&}7s0{WuZYoSfwAP`8aKN9P@%e=~1`~1ASL-z%# zw>DO&ixr}c9%4InGc*_y42bdEk)ZdG7-mTu0bD@_vGAr*NcFoMW;@r?@LUhRI zCUJgHb`O?M3!w)|CPu~ej%fddw20lod?Ufp8Dmt0PbnA0J%KE^2~AIcnKP()025V> zG>noSM3$5Btmc$GZoyP^v1@Poz0FD(6YSTH@aD0}BXva?LphAiSz9f&Y(aDAzBnUh z?d2m``~{z;{}kZJ>a^wYI?ry(V9hIoh;|EFc0*-#*`$T0DRQ1;WsqInG;YPS+I4{g zJGpKk%%Sdc5xBa$Q^_I~(F97eqDO7AN3EN0u)PNBAb+n+ zWBTxQx^;O9o0`=g+Zrt_{lP!sgWZHW?8bLYS$;1a@&7w9rD9|Ge;Gb?sEjFoF9-6v z#!2)t{DMHZ2@0W*fCx;62d#;jouz`R5Y(t{BT=$N4yr^^o$ON8d{PQ=!O zX17^CrdM~7D-;ZrC!||<+FEOxI_WI3CA<35va%4v>gc zEX-@h8esj=a4szW7x{0g$hwoWRQG$yK{@3mqd-jYiVofJE!Wok1* znV7Gm&Ssq#hFuvj1sRyHg(6PFA5U*Q8Rx>-blOs=lb`qa{zFy&n4xY;sd$fE+<3EI z##W$P9M{B3c3Si9gw^jlPU-JqD~Cye;wr=XkV7BSv#6}DrsXWFJ3eUNrc%7{=^sP> zrp)BWKA9<}^R9g!0q7yWlh;gr_TEOD|#BmGq<@IV;ueg+D2}cjpp+dPf&Q(36sFU&K8}hA85U61faW&{ zlB`9HUl-WWCG|<1XANN3JVAkRYvr5U4q6;!G*MTdSUt*Mi=z_y3B1A9j-@aK{lNvx zK%p23>M&=KTCgR!Ee8c?DAO2_R?B zkaqr6^BSP!8dHXxj%N1l+V$_%vzHjqvu7p@%Nl6;>y*S}M!B=pz=aqUV#`;h%M0rU zHfcog>kv3UZAEB*g7Er@t6CF8kHDmKTjO@rejA^ULqn!`LwrEwOVmHx^;g|5PHm#B zZ+jjWgjJ!043F+&#_;D*mz%Q60=L9Ove|$gU&~As5^uz@2-BfQ!bW)Khn}G+Wyjw- z19qI#oB(RSNydn0t~;tAmK!P-d{b-@@E5|cdgOS#!>%#Rj6ynkMvaW@37E>@hJP^8 z2zk8VXx|>#R^JCcWdBCy{0nPmYFOxN55#^-rlqobe0#L6)bi?E?SPymF*a5oDDeSd zO0gx?#KMoOd&G(2O@*W)HgX6y_aa6iMCl^~`{@UR`nMQE`>n_{_aY5nA}vqU8mt8H z`oa=g0SyiLd~BxAj2~l$zRSDHxvDs;I4>+M$W`HbJ|g&P+$!U7-PHX4RAcR0szJ*( ze-417=bO2q{492SWrqDK+L3#ChUHtz*@MP)e^%@>_&#Yk^1|tv@j4%3T)diEX zATx4K*hcO`sY$jk#jN5WD<=C3nvuVsRh||qDHnc~;Kf59zr0;c7VkVSUPD%NnnJC_ zl3F^#f_rDu8l}l8qcAz0FFa)EAt32IUy_JLIhU_J^l~FRH&6-ivSpG2PRqzDdMWft>Zc(c)#tb%wgmWN%>IOPm zZi-noqS!^Ftb81pRcQi`X#UhWK70hy4tGW1mz|+vI8c*h@ zfFGJtW3r>qV>1Z0r|L>7I3un^gcep$AAWfZHRvB|E*kktY$qQP_$YG60C@X~tTQjB3%@`uz!qxtxF+LE!+=nrS^07hn` zEgAp!h|r03h7B!$#OZW#ACD+M;-5J!W+{h|6I;5cNnE(Y863%1(oH}_FTW})8zYb$7czP zg~Szk1+_NTm6SJ0MS_|oSz%e(S~P-&SFp;!k?uFayytV$8HPwuyELSXOs^27XvK-D zOx-Dl!P|28DK6iX>p#Yb%3`A&CG0X2S43FjN%IB}q(!hC$fG}yl1y9W&W&I@KTg6@ zK^kpH8=yFuP+vI^+59|3%Zqnb5lTDAykf z9S#X`3N(X^SpdMyWQGOQRjhiwlj!0W-yD<3aEj^&X%=?`6lCy~?`&WSWt z?U~EKFcCG_RJ(Qp7j=$I%H8t)Z@6VjA#>1f@EYiS8MRHZphp zMA_5`znM=pzUpBPO)pXGYpQ6gkine{6u_o!P@Q+NKJ}k!_X7u|qfpAyIJb$_#3@wJ z<1SE2Edkfk9C!0t%}8Yio09^F`YGzpaJHGk*-ffsn85@)%4@`;Fv^8q(-Wk7r=Q8p zT&hD`5(f?M{gfzGbbwh8(}G#|#fDuk7v1W)5H9wkorE0ZZjL0Q1=NRGY>zwgfm81DdoaVwNH;or{{eSyybt)m<=zXoA^RALYG-2t zouH|L*BLvmm9cdMmn+KGopyR@4*=&0&4g|FLoreZOhRmh=)R0bg~ zT2(8V_q7~42-zvb)+y959OAv!V$u(O3)%Es0M@CRFmG{5sovIq4%8Ahjk#*5w{+)+ zMWQoJI_r$HxL5km1#6(e@{lK3Udc~n0@g`g$s?VrnQJ$!oPnb?IHh-1qA`Rz$)Ai< z6w$-MJW-gKNvOhL+XMbE7&mFt`x1KY>k4(!KbbpZ`>`K@1J<(#vVbjx@Z@(6Q}MF# zMnbr-f55(cTa^q4+#)=s+ThMaV~E`B8V=|W_fZWDwiso8tNMTNse)RNBGi=gVwgg% zbOg8>mbRN%7^Um-7oj4=6`$|(K7!+t^90a{$18Z>}<#!bm%ZEFQ{X(yBZMc>lCz0f1I2w9Sq zuGh<9<=AO&g6BZte6hn>Qmvv;Rt)*cJfTr2=~EnGD8P$v3R|&1RCl&7)b+`=QGapi zPbLg_pxm`+HZurtFZ;wZ=`Vk*do~$wB zxoW&=j0OTbQ=Q%S8XJ%~qoa3Ea|au5o}_(P;=!y-AjFrERh%8la!z6Fn@lR?^E~H12D?8#ht=1F;7@o4$Q8GDj;sSC%Jfn01xgL&%F2 zwG1|5ikb^qHv&9hT8w83+yv&BQXOQyMVJSBL(Ky~p)gU3#%|blG?IR9rP^zUbs7rOA0X52Ao=GRt@C&zlyjNLv-} z9?*x{y(`509qhCV*B47f2hLrGl^<@SuRGR!KwHei?!CM10Tq*YDIoBNyRuO*>3FU? zHjipIE#B~y3FSfOsMfj~F9PNr*H?0oHyYB^G(YyNh{SxcE(Y-`x5jFMKb~HO*m+R% zrq|ic4fzJ#USpTm;X7K+E%xsT_3VHKe?*uc4-FsILUH;kL>_okY(w`VU*8+l>o>Jm ziU#?2^`>arnsl#)*R&nf_%>A+qwl%o{l(u)M?DK1^mf260_oteV3#E_>6Y4!_hhVD zM8AI6MM2V*^_M^sQ0dmHu11fy^kOqXqzpr?K$`}BKWG`=Es(9&S@K@)ZjA{lj3ea7_MBP zk(|hBFRjHVMN!sNUkrB;(cTP)T97M$0Dtc&UXSec<+q?y>5=)}S~{Z@ua;1xt@=T5 zI7{`Z=z_X*no8s>mY;>BvEXK%b`a6(DTS6t&b!vf_z#HM{Uoy_5fiB(zpkF{})ruka$iX*~pq1ZxD?q68dIo zIZSVls9kFGsTwvr4{T_LidcWtt$u{kJlW7moRaH6+A5hW&;;2O#$oKyEN8kx`LmG)Wfq4ykh+q{I3|RfVpkR&QH_x;t41Uw z`P+tft^E2B$domKT@|nNW`EHwyj>&}K;eDpe z1bNOh=fvIfk`&B61+S8ND<(KC%>y&?>opCnY*r5M+!UrWKxv0_QvTlJc>X#AaI^xo zaRXL}t5Ej_Z$y*|w*$6D+A?Lw-CO-$itm^{2Ct82-<0IW)0KMNvJHgBrdsIR0v~=H z?n6^}l{D``Me90`^o|q!olsF?UX3YSq^6Vu>Ijm>>PaZI8G@<^NGw{Cx&%|PwYrfw zR!gX_%AR=L3BFsf8LxI|K^J}deh0ZdV?$3r--FEX`#INxsOG6_=!v)DI>0q|BxT)z z-G6kzA01M?rba+G_mwNMQD1mbVbNTWmBi*{s_v_Ft9m2Avg!^78(QFu&n6mbRJ2bA zv!b;%yo{g*9l2)>tsZJOOp}U~8VUH`}$ z8p_}t*XIOehezolNa-a2x0BS})Y9}&*TPgua{Ewn-=wVrmJUeU39EKx+%w%=ixQWK zDLpwaNJs65#6o7Ln7~~X+p_o2BR1g~VCfxLzxA{HlWAI6^H;`juI=&r1jQrUv_q0Z z1Ja-tjdktrrP>GOC*#p?*xfQU5MqjMsBe!9lh(u8)w$e@Z|>aUHI5o;MGw*|Myiz3 z-f0;pHg~Q#%*Kx8MxH%AluVXjG2C$)WL-K63@Q`#y9_k_+}eR(x4~dp7oV-ek0H>I zgy8p#i4GN{>#v=pFYUQT(g&b$OeTy-X_#FDgNF8XyfGY6R!>inYn8IR2RDa&O!(6< znXs{W!bkP|s_YI*Yx%4stI`=ZO45IK6rBs`g7sP40ic}GZ58s?Mc$&i`kq_tfci>N zIHrC0H+Qpam1bNa=(`SRKjixBTtm&e`j9porEci!zdlg1RI0Jw#b(_Tb@RQK1Zxr_ z%7SUeH6=TrXt3J@js`4iDD0=IoHhK~I7^W8^Rcp~Yaf>2wVe|Hh1bUpX9ATD#moByY57-f2Ef1TP^lBi&p5_s7WGG9|0T}dlfxOx zXvScJO1Cnq`c`~{Dp;{;l<-KkCDE+pmexJkd}zCgE{eF=)K``-qC~IT6GcRog_)!X z?fK^F8UDz$(zFUrwuR$qro5>qqn>+Z%<5>;_*3pZ8QM|yv9CAtrAx;($>4l^_$_-L z*&?(77!-=zvnCVW&kUcZMb6;2!83si518Y%R*A3JZ8Is|kUCMu`!vxDgaWjs7^0j( ziTaS4HhQ)ldR=r)_7vYFUr%THE}cPF{0H45FJ5MQW^+W>P+eEX2kLp3zzFe*-pFVA zdDZRybv?H|>`9f$AKVjFWJ=wegO7hOOIYCtd?Vj{EYLT*^gl35|HQ`R=ti+ADm{jyQE7K@kdjuqJhWVSks>b^ zxha88-h3s;%3_5b1TqFCPTxVjvuB5U>v=HyZ$?JSk+&I%)M7KE*wOg<)1-Iy)8-K! z^XpIt|0ibmk9RtMmlUd7#Ap3Q!q9N4atQy)TmrhrFhfx1DAN`^vq@Q_SRl|V z#lU<~n67$mT)NvHh`%als+G-)x1`Y%4Bp*6Un5Ri9h=_Db zA-AdP!f>f0m@~>7X#uBM?diI@)Egjuz@jXKvm zJo+==juc9_<;CqeRaU9_Mz@;3e=E4=6TK+c`|uu#pIqhSyNm`G(X)&)B`8q0RBv#> z`gGlw(Q=1Xmf55VHj%C#^1lpc>LY8kfA@|rlC1EA<1#`iuyNO z(=;irt{_&K=i4)^x%;U(Xv<)+o=dczC5H3W~+e|f~{*ucxj@{Yi-cw^MqYr3fN zF5D+~!wd$#al?UfMnz(@K#wn`_5na@rRr8XqN@&M&FGEC@`+OEv}sI1hw>Up0qAWf zL#e4~&oM;TVfjRE+10B_gFlLEP9?Q-dARr3xi6nQqnw>k-S;~b z;!0s2VS4}W8b&pGuK=7im+t(`nz@FnT#VD|!)eQNp-W6)@>aA+j~K*H{$G`y2|QHY z|Hmy+CR@#jWY4~)lr1qBJB_RfHJFfP<}pK5(#ZZGSqcpyS&}01LnTWk5fzmXMGHkJ zTP6L^B+uj;lmB_W<~4=${+v0>z31M!-_O@o-O9GyW)j_mjx}!0@br_LE-7SIuPP84 z;5=O(U*g_um0tyG|61N@d9lEuOeiRd+#NY^{nd5;-CVlw&Ap7J?qwM^?E29wvS}2d zbzar4Fz&RSR(-|s!Z6+za&Z zY#D<5q_JUktIzvL0)yq_kLWG6DO{ri=?c!y!f(Dk%G{8)k`Gym%j#!OgXVDD3;$&v@qy#ISJfp=Vm>pls@9-mapVQChAHHd-x+OGx)(*Yr zC1qDUTZ6mM(b_hi!TuFF2k#8uI2;kD70AQ&di$L*4P*Y-@p`jdm%_c3f)XhYD^6M8&#Y$ZpzQMcR|6nsH>b=*R_Von!$BTRj7yGCXokoAQ z&ANvx0-Epw`QIEPgI(^cS2f(Y85yV@ygI{ewyv5Frng)e}KCZF7JbR(&W618_dcEh(#+^zZFY;o<815<5sOHQdeax9_!PyM&;{P zkBa5xymca0#)c#tke@3KNEM8a_mT&1gm;p&&JlMGH(cL(b)BckgMQ^9&vRwj!~3@l zY?L5}=Jzr080OGKb|y`ee(+`flQg|!lo6>=H)X4`$Gz~hLmu2a%kYW_Uu8x09Pa0J zKZ`E$BKJ=2GPj_3l*TEcZ*uYRr<*J^#5pILTT;k_cgto1ZL-%slyc16J~OH-(RgDA z%;EjEnoUkZ&acS{Q8`{i6T5^nywgqQI5bDIymoa7CSZG|WWVk>GM9)zy*bNih|QIm z%0+(Nnc*a_xo;$=!HQYaapLms>J1ToyjtFByY`C2H1wT#178#4+|{H0BBqtCdd$L% z_3Hc60j@{t9~MjM@LBalR&6@>B;9?r<7J~F+WXyYu*y3?px*=8MAK@EA+jRX8{CG?GI-< z54?Dc9CAh>QTAvyOEm0^+x;r2BWX|{3$Y7)L5l*qVE*y0`7J>l2wCmW zL1?|a`pJ-l{fb_N;R(Z9UMiSj6pQjOvQ^%DvhIJF!+Th7jO2~1f1N+(-TyCFYQZYw z4)>7caf^Ki_KJ^Zx2JUb z&$3zJy!*+rCV4%jqwyuNY3j1ZEiltS0xTzd+=itTb;IPYpaf?8Y+RSdVdpacB(bVQ zC(JupLfFp8y43%PMj2}T|VS@%LVp>hv4Y!RPMF?pp8U_$xCJ)S zQx!69>bphNTIb9yn*_yfj{N%bY)t{L1cs8<8|!f$;UQ*}IN=2<6lA;x^(`8t?;+ST zh)z4qeYYgZkIy{$4x28O-pugO&gauRh3;lti9)9Pvw+^)0!h~%m&8Q!AKX%urEMnl z?yEz?g#ODn$UM`+Q#$Q!6|zsq_`dLO5YK-6bJM6ya>}H+vnW^h?o$z;V&wvuM$dR& zeEq;uUUh$XR`TWeC$$c&Jjau2it3#%J-y}Qm>nW*s?En?R&6w@sDXMEr#8~$=b(gk zwDC3)NtAP;M2BW_lL^5ShpK$D%@|BnD{=!Tq)o(5@z3i7Z){} zGr}Exom_qDO{kAVkZ*MbLNHE666Kina#D{&>Jy%~w7yX$oj;cYCd^p9zy z8*+wgSEcj$4{WxKmCF(5o7U4jqwEvO&dm1H#7z}%VXAbW&W24v-tS6N3}qrm1OnE)fUkoE8yMMn9S$?IswS88tQWm4#Oid#ckgr6 zRtHm!mfNl-`d>O*1~d7%;~n+{Rph6BBy^95zqI{K((E!iFQ+h*C3EsbxNo_aRm5gj zKYug($r*Q#W9`p%Bf{bi6;IY0v`pB^^qu)gbg9QHQ7 zWBj(a1YSu)~2RK8Pi#C>{DMlrqFb9e_RehEHyI{n?e3vL_}L>kYJC z_ly$$)zFi*SFyNrnOt(B*7E$??s67EO%DgoZL2XNk8iVx~X_)o++4oaK1M|ou73vA0K^503j@uuVmLcHH4ya-kOIDfM%5%(E z+Xpt~#7y2!KB&)PoyCA+$~DXqxPxxALy!g-O?<9+9KTk4Pgq4AIdUkl`1<1#j^cJg zgU3`0hkHj_jxV>`Y~%LAZl^3o0}`Sm@iw7kwff{M%VwtN)|~!p{AsfA6vB5UolF~d zHWS%*uBDt<9y!9v2Xe|au&1j&iR1HXCdyCjxSgG*L{wmTD4(NQ=mFjpa~xooc6kju z`~+d{j7$h-;HAB04H!Zscu^hZffL#9!p$)9>sRI|Yovm)g@F>ZnosF2EgkU3ln0bR zTA}|+E(tt)!SG)-bEJi_0m{l+(cAz^pi}`9=~n?y&;2eG;d9{M6nj>BHGn(KA2n|O zt}$=FPq!j`p&kQ8>cirSzkU0c08%8{^Qyqi-w2LoO8)^E7;;I1;HQ6B$u0nNaX2CY zSmfi)F`m94zL8>#zu;8|{aBui@RzRKBlP1&mfFxEC@%cjl?NBs`cr^nm){>;$g?rhKr$AO&6qV_Wbn^}5tfFBry^e1`%du2~o zs$~dN;S_#%iwwA_QvmMjh%Qo?0?rR~6liyN5Xmej8(*V9ym*T`xAhHih-v$7U}8=dfXi2i*aAB!xM(Xekg*ix@r|ymDw*{*s0?dlVys2e)z62u1 z+k3esbJE=-P5S$&KdFp+2H7_2e=}OKDrf( z9-207?6$@f4m4B+9E*e((Y89!q?zH|mz_vM>kp*HGXldO0Hg#!EtFhRuOm$u8e~a9 z5(roy7m$Kh+zjW6@zw{&20u?1f2uP&boD}$#Zy)4o&T;vyBoqFiF2t;*g=|1=)PxB z8eM3Mp=l_obbc?I^xyLz?4Y1YDWPa+nm;O<$Cn;@ane616`J9OO2r=rZr{I_Kizyc zP#^^WCdIEp*()rRT+*YZK>V@^Zs=ht32x>Kwe zab)@ZEffz;VM4{XA6e421^h~`ji5r%)B{wZu#hD}f3$y@L0JV9f3g{-RK!A?vBUA}${YF(vO4)@`6f1 z-A|}e#LN{)(eXloDnX4Vs7eH|<@{r#LodP@Nz--$Dg_Par%DCpu2>2jUnqy~|J?eZ zBG4FVsz_A+ibdwv>mLp>P!(t}E>$JGaK$R~;fb{O3($y1ssQQo|5M;^JqC?7qe|hg zu0ZOqeFcp?qVn&Qu7FQJ4hcFi&|nR!*j)MF#b}QO^lN%5)4p*D^H+B){n8%VPUzi! zDihoGcP71a6!ab`l^hK&*dYrVYzJ0)#}xVrp!e;lI!+x+bfCN0KXwUAPU9@#l7@0& QuEJmfE|#`Dqx|px0L@K;Y5)KL diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/settings.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner/settings.gradle deleted file mode 100644 index e7b4def49..000000000 --- a/ern-runner-gen-android/test/fixtures/simple-android-runner/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -include ':app' diff --git a/ern-runner-gen-android/test/regen-fixtures.ts b/ern-runner-gen-android/test/regen-fixtures.ts index 153160276..4ca325a9b 100644 --- a/ern-runner-gen-android/test/regen-fixtures.ts +++ b/ern-runner-gen-android/test/regen-fixtures.ts @@ -4,18 +4,31 @@ import path from 'path'; import { AndroidRunnerGenerator } from 'ern-runner-gen-android'; async function regenAndroidRunnerFixture() { - console.log('Regenerating Android Runner Fixture...'); - const fixturesPath = path.join( + console.log('Regenerating Android Runner Fixtures...'); + const fixturesPath1 = path.join( __dirname, 'fixtures', - 'simple-android-runner', + 'simple-android-runner-rn-67', ); - shell.rm('-rf', fixturesPath); - shell.mkdir('-p', fixturesPath); + const fixturesPath2 = path.join( + __dirname, + 'fixtures', + 'simple-android-runner-rn-72', + ); + shell.rm('-rf', fixturesPath1); + shell.mkdir('-p', fixturesPath1); + shell.rm('-rf', fixturesPath2); + shell.mkdir('-p', fixturesPath2); + await new AndroidRunnerGenerator().generate({ + mainMiniAppName: 'dummy', + outDir: fixturesPath1, + reactNativeVersion: '0.67.0', + targetPlatform: 'android', + }); await new AndroidRunnerGenerator().generate({ mainMiniAppName: 'dummy', - outDir: fixturesPath, - reactNativeVersion: '0.62.2', + outDir: fixturesPath2, + reactNativeVersion: '0.72.0', targetPlatform: 'android', }); console.log(chalk.green('Done!')); diff --git a/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner.xcodeproj/project.pbxproj b/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner.xcodeproj/project.pbxproj index 8b3f69557..d42ce6513 100644 --- a/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner.xcodeproj/project.pbxproj +++ b/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ 6E6BEDD6262F9F10003F9D7B /* MainNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BEDD3262F9F10003F9D7B /* MainNavigationController.swift */; }; 6E6BEDD7262F9F10003F9D7B /* RunnerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BEDD4262F9F10003F9D7B /* RunnerConfig.swift */; }; 6E6BEDD8262F9F10003F9D7B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BEDD5262F9F10003F9D7B /* AppDelegate.swift */; }; + 7EEF60E22C1977D3008291B7 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 7EEF60E02C1977D3008291B7 /* PrivacyInfo.xcprivacy */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -63,6 +64,7 @@ 6E6BEDD3262F9F10003F9D7B /* MainNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainNavigationController.swift; sourceTree = ""; }; 6E6BEDD4262F9F10003F9D7B /* RunnerConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RunnerConfig.swift; sourceTree = ""; }; 6E6BEDD5262F9F10003F9D7B /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7EEF60E02C1977D3008291B7 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -106,6 +108,7 @@ 304F3E971EEF455C00F1E36B /* ErnRunner */ = { isa = PBXGroup; children = ( + 7EEF60E02C1977D3008291B7 /* PrivacyInfo.xcprivacy */, 6E6BEDD5262F9F10003F9D7B /* AppDelegate.swift */, 6E6BEDD3262F9F10003F9D7B /* MainNavigationController.swift */, 6E6BEDD4262F9F10003F9D7B /* RunnerConfig.swift */, @@ -134,6 +137,7 @@ 304F3E911EEF455C00F1E36B /* Sources */, 304F3E921EEF455C00F1E36B /* Frameworks */, 304F3E931EEF455C00F1E36B /* Resources */, + 7EEF60E72C1979DC008291B7 /* Bundle React Native code and images */, 304F3ECB1EEF597600F1E36B /* Embed Frameworks */, ); buildRules = ( @@ -208,6 +212,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7EEF60E22C1977D3008291B7 /* PrivacyInfo.xcprivacy in Resources */, 304F3EA81EEF455C00F1E36B /* LaunchScreen.storyboard in Resources */, 304F3EA51EEF455C00F1E36B /* Assets.xcassets in Resources */, ); @@ -215,6 +220,29 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 7EEF60E72C1979DC008291B7 /* Bundle React Native code and images */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "$(SRCROOT)/.xcode.env.local", + "$(SRCROOT)/.xcode.env", + ); + name = "Bundle React Native code and images"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 304F3E911EEF455C00F1E36B /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -289,7 +317,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -332,7 +360,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -346,7 +374,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = ErnRunner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.ernrunner; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -359,7 +390,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = ErnRunner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.ernrunner; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; diff --git a/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner/PrivacyInfo.xcprivacy b/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner/PrivacyInfo.xcprivacy new file mode 100644 index 000000000..ef1896e70 --- /dev/null +++ b/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner/PrivacyInfo.xcprivacy @@ -0,0 +1,38 @@ + + + + + NSPrivacyCollectedDataTypes + + + NSPrivacyAccessedAPITypes + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryFileTimestamp + NSPrivacyAccessedAPITypeReasons + + C617.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPITypeReasons + + CA92.1 + + + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + + + NSPrivacyTracking + + +