From 523b374e05f7e0f9c645640fb68f4e91de2863f3 Mon Sep 17 00:00:00 2001 From: thunderbiscuit Date: Fri, 5 Jun 2026 12:05:39 -0400 Subject: [PATCH 1/2] temp: use kotlin-toochain (amper) to build --- newbuildsystem/.gitignore | 1 + .../jniLibs/arm64-v8a/libjnidispatch.so | Bin 0 -> 168176 bytes .../jniLibs/x86_64/libjnidispatch.so | Bin 0 -> 118584 bytes newbuildsystem/justfile | 6 + newbuildsystem/kotlin | 286 +++ newbuildsystem/kotlin.bat | 257 ++ newbuildsystem/module.yaml | 36 + newbuildsystem/res/drawable/bdk_logo.xml | 24 + newbuildsystem/res/drawable/bdk_logo2.xml | 18 + .../drawable/ic_launcher_bdk_background.xml | 9 + .../drawable/ic_launcher_bdk_foreground.xml | 23 + .../ic_launcher_bdk_foreground_no_outline.xml | 23 + .../res/font/google_sans_code_light.ttf | Bin 0 -> 54952 bytes newbuildsystem/res/font/inter_bold.ttf | Bin 0 -> 344032 bytes newbuildsystem/res/font/inter_medium.ttf | Bin 0 -> 342936 bytes newbuildsystem/res/font/inter_regular.ttf | Bin 0 -> 342732 bytes newbuildsystem/res/font/inter_thin.ttf | Bin 0 -> 342944 bytes .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../res/mipmap-anydpi-v26/ic_launcher_bdk.xml | 5 + .../ic_launcher_bdk_round.xml | 5 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3593 bytes .../res/mipmap-hdpi/ic_launcher_bdk.png | Bin 0 -> 1971 bytes .../res/mipmap-hdpi/ic_launcher_bdk_round.png | Bin 0 -> 4051 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5339 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2636 bytes .../res/mipmap-mdpi/ic_launcher_bdk.png | Bin 0 -> 1277 bytes .../res/mipmap-mdpi/ic_launcher_bdk_round.png | Bin 0 -> 2556 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3388 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4926 bytes .../res/mipmap-xhdpi/ic_launcher_bdk.png | Bin 0 -> 2675 bytes .../mipmap-xhdpi/ic_launcher_bdk_round.png | Bin 0 -> 5820 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7472 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7909 bytes .../res/mipmap-xxhdpi/ic_launcher_bdk.png | Bin 0 -> 4335 bytes .../mipmap-xxhdpi/ic_launcher_bdk_round.png | Bin 0 -> 9177 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 11873 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10652 bytes .../res/mipmap-xxxhdpi/ic_launcher_bdk.png | Bin 0 -> 5772 bytes .../mipmap-xxxhdpi/ic_launcher_bdk_round.png | Bin 0 -> 13086 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 16570 bytes newbuildsystem/res/values/colors.xml | 11 + newbuildsystem/res/values/splash.xml | 8 + newbuildsystem/res/values/strings.xml | 3 + newbuildsystem/res/values/themes.xml | 7 + newbuildsystem/src/AndroidManifest.xml | 30 + .../bitcoindevkit/devkitwallet/data/Kyoto.kt | 145 ++ .../devkitwallet/data/TxDetails.kt | 27 + .../devkitwallet/data/WalletConfigs.kt | 25 + .../data/datastore/AppSettings.kt | 36 + .../devkitwallet/data/datastore/WalletData.kt | 57 + .../domain/AppSettingsRepository.kt | 20 + .../devkitwallet/domain/Constants.kt | 2067 +++++++++++++++++ .../devkitwallet/domain/CurrencyUnit.kt | 11 + .../devkitwallet/domain/DwLogger.kt | 54 + .../devkitwallet/domain/Wallet.kt | 367 +++ .../devkitwallet/domain/WalletRepository.kt | 26 + .../devkitwallet/domain/utils/FormatInBtc.kt | 18 + .../domain/utils/ProtobufExtensions.kt | 28 + .../devkitwallet/domain/utils/Timestamps.kt | 17 + .../presentation/DevkitWalletActivity.kt | 165 ++ .../presentation/navigation/AppNavigation.kt | 202 ++ .../presentation/navigation/Destinations.kt | 59 + .../presentation/theme/DevkitWalletColors.kt | 16 + .../devkitwallet/presentation/theme/Fonts.kt | 63 + .../devkitwallet/presentation/theme/Theme.kt | 63 + .../devkitwallet/presentation/theme/Type.kt | 22 + .../ui/components/CustomSnackbar.kt | 48 + .../ui/components/LoadingAnimation.kt | 77 + .../ui/components/NeutralButton.kt | 44 + .../ui/components/RadioButtonWithLabel.kt | 63 + .../ui/components/SecondaryScreensAppBar.kt | 49 + .../ui/components/TransactionCards.kt | 142 ++ .../ui/components/WalletOptionsCard.kt | 140 ++ .../ui/screens/intro/ActiveWalletsScreen.kt | 129 + .../ui/screens/intro/CreateNewWallet.kt | 247 ++ .../ui/screens/intro/OnboardingScreen.kt | 207 ++ .../ui/screens/intro/RecoverWalletScreen.kt | 404 ++++ .../ui/screens/intro/WalletChoiceScreen.kt | 187 ++ .../ui/screens/settings/AboutScreen.kt | 115 + .../settings/BlockchainClientScreen.kt | 128 + .../settings/CustomBlockchainClient.kt | 47 + .../ui/screens/settings/LogsScreen.kt | 66 + .../ui/screens/settings/RecoveryDataScreen.kt | 226 ++ .../ui/screens/settings/SettingsScreen.kt | 162 ++ .../ui/screens/settings/ThemeScreen.kt | 160 ++ .../ui/screens/wallet/RBFScreen.kt | 260 +++ .../ui/screens/wallet/ReceiveScreen.kt | 238 ++ .../ui/screens/wallet/SendScreen.kt | 480 ++++ .../wallet/TransactionHistoryScreen.kt | 66 + .../ui/screens/wallet/TransactionScreen.kt | 108 + .../ui/screens/wallet/WalletHomeScreen.kt | 414 ++++ .../viewmodels/AddressViewModel.kt | 39 + .../presentation/viewmodels/SendViewModel.kt | 67 + .../viewmodels/WalletViewModel.kt | 102 + .../viewmodels/mvi/MviReceiveScreen.kt | 15 + .../viewmodels/mvi/MviSendScreen.kt | 29 + .../viewmodels/mvi/MviWalletScreen.kt | 33 + 97 files changed, 8737 insertions(+) create mode 100644 newbuildsystem/.gitignore create mode 100644 newbuildsystem/jniLibs/arm64-v8a/libjnidispatch.so create mode 100644 newbuildsystem/jniLibs/x86_64/libjnidispatch.so create mode 100644 newbuildsystem/justfile create mode 100755 newbuildsystem/kotlin create mode 100644 newbuildsystem/kotlin.bat create mode 100644 newbuildsystem/module.yaml create mode 100644 newbuildsystem/res/drawable/bdk_logo.xml create mode 100644 newbuildsystem/res/drawable/bdk_logo2.xml create mode 100644 newbuildsystem/res/drawable/ic_launcher_bdk_background.xml create mode 100644 newbuildsystem/res/drawable/ic_launcher_bdk_foreground.xml create mode 100644 newbuildsystem/res/drawable/ic_launcher_bdk_foreground_no_outline.xml create mode 100644 newbuildsystem/res/font/google_sans_code_light.ttf create mode 100644 newbuildsystem/res/font/inter_bold.ttf create mode 100644 newbuildsystem/res/font/inter_medium.ttf create mode 100644 newbuildsystem/res/font/inter_regular.ttf create mode 100644 newbuildsystem/res/font/inter_thin.ttf create mode 100644 newbuildsystem/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 newbuildsystem/res/mipmap-anydpi-v26/ic_launcher_bdk.xml create mode 100644 newbuildsystem/res/mipmap-anydpi-v26/ic_launcher_bdk_round.xml create mode 100644 newbuildsystem/res/mipmap-hdpi/ic_launcher.png create mode 100644 newbuildsystem/res/mipmap-hdpi/ic_launcher_bdk.png create mode 100644 newbuildsystem/res/mipmap-hdpi/ic_launcher_bdk_round.png create mode 100644 newbuildsystem/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 newbuildsystem/res/mipmap-mdpi/ic_launcher.png create mode 100644 newbuildsystem/res/mipmap-mdpi/ic_launcher_bdk.png create mode 100644 newbuildsystem/res/mipmap-mdpi/ic_launcher_bdk_round.png create mode 100644 newbuildsystem/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 newbuildsystem/res/mipmap-xhdpi/ic_launcher.png create mode 100644 newbuildsystem/res/mipmap-xhdpi/ic_launcher_bdk.png create mode 100644 newbuildsystem/res/mipmap-xhdpi/ic_launcher_bdk_round.png create mode 100644 newbuildsystem/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 newbuildsystem/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 newbuildsystem/res/mipmap-xxhdpi/ic_launcher_bdk.png create mode 100644 newbuildsystem/res/mipmap-xxhdpi/ic_launcher_bdk_round.png create mode 100644 newbuildsystem/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 newbuildsystem/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 newbuildsystem/res/mipmap-xxxhdpi/ic_launcher_bdk.png create mode 100644 newbuildsystem/res/mipmap-xxxhdpi/ic_launcher_bdk_round.png create mode 100644 newbuildsystem/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 newbuildsystem/res/values/colors.xml create mode 100644 newbuildsystem/res/values/splash.xml create mode 100644 newbuildsystem/res/values/strings.xml create mode 100644 newbuildsystem/res/values/themes.xml create mode 100644 newbuildsystem/src/AndroidManifest.xml create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/Kyoto.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/TxDetails.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/WalletConfigs.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/datastore/AppSettings.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/datastore/WalletData.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/AppSettingsRepository.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/Constants.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/CurrencyUnit.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/DwLogger.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/Wallet.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/WalletRepository.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/FormatInBtc.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/ProtobufExtensions.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/Timestamps.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/DevkitWalletActivity.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/navigation/AppNavigation.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/navigation/Destinations.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/DevkitWalletColors.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Fonts.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Theme.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Type.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/CustomSnackbar.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/LoadingAnimation.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/NeutralButton.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/RadioButtonWithLabel.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/SecondaryScreensAppBar.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/TransactionCards.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/WalletOptionsCard.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/ActiveWalletsScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/CreateNewWallet.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/OnboardingScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/RecoverWalletScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/WalletChoiceScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/AboutScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/BlockchainClientScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/CustomBlockchainClient.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/LogsScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/RecoveryDataScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/SettingsScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/ThemeScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/RBFScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/ReceiveScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/SendScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/TransactionHistoryScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/TransactionScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/WalletHomeScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/AddressViewModel.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/SendViewModel.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/WalletViewModel.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviReceiveScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviSendScreen.kt create mode 100644 newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviWalletScreen.kt diff --git a/newbuildsystem/.gitignore b/newbuildsystem/.gitignore new file mode 100644 index 0000000..567609b --- /dev/null +++ b/newbuildsystem/.gitignore @@ -0,0 +1 @@ +build/ diff --git a/newbuildsystem/jniLibs/arm64-v8a/libjnidispatch.so b/newbuildsystem/jniLibs/arm64-v8a/libjnidispatch.so new file mode 100644 index 0000000000000000000000000000000000000000..cd7e6716fea3058c9657e8f6de3e9fd563c157fb GIT binary patch literal 168176 zcmeEvdwf*Ywf~-(00BW>;bA~C6Y$aaLU}97$pi)83Q=kGHj_+(LEZ#42$e}lm0N7f zQL5JVmPrB%(^p!dl2&B^YiaSeh%L4B;Q(rB=>scDhKlq1e)nVM%*iBPulLVi_#DnT zYp=cb+H0@9_S$RjvuD*cH(u-Yc!c@$iRXoUvlK+%#NxGHgCZ<3N%X}3L∾+asOQ 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 literal 0 HcmV?d00001 diff --git a/newbuildsystem/jniLibs/x86_64/libjnidispatch.so b/newbuildsystem/jniLibs/x86_64/libjnidispatch.so new file mode 100644 index 0000000000000000000000000000000000000000..e594b888233908dfd17af7cf031dd770dc93c8f8 GIT binary patch literal 118584 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 G`~L={Gn2po literal 0 HcmV?d00001 diff --git a/newbuildsystem/justfile b/newbuildsystem/justfile new file mode 100644 index 0000000..ced6b17 --- /dev/null +++ b/newbuildsystem/justfile @@ -0,0 +1,6 @@ +default: + just --list --unsorted + +# Run the app in an emulator +run: + ./kotlin run diff --git a/newbuildsystem/kotlin b/newbuildsystem/kotlin new file mode 100755 index 0000000..1313759 --- /dev/null +++ b/newbuildsystem/kotlin @@ -0,0 +1,286 @@ +#!/bin/sh + +# +# Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +# + +# Possible environment variables: +# KOTLIN_CLI_DOWNLOAD_ROOT Maven repository to download the Kotlin CLI dist from. +# default: https://packages.jetbrains.team/maven/p/amper/amper +# KOTLIN_CLI_JRE_DOWNLOAD_ROOT Url prefix to download the JRE to run the Kotlin CLI +# default: https:/ +# KOTLIN_CLI_BOOTSTRAP_CACHE_DIR Cache directory to store the extracted JRE and Kotlin CLI distribution +# KOTLIN_CLI_JAVA_HOME JRE to run the Kotlin CLI itself (optional, does not affect compilation) +# KOTLIN_CLI_JAVA_OPTIONS JVM options to pass to the JVM running the Kotlin CLI (does not affect the user's application) +# KOTLIN_CLI_NO_WELCOME_BANNER Disables the first-run welcome message if set to a non-empty value + +set -e -u + +# The version of the Kotlin Toolchain (and CLI) distribution to provision and use +kotlin_cli_version=0.11.0 +# Establish chain of trust from here by specifying exact checksum of Kotlin Toolchain (and CLI) distribution to be run +kotlin_cli_sha256=ff872a5bf42ad1a8fac90ccca6ac38a4d4a6aafefc39167860f66a77b1653d74 + +KOTLIN_CLI_DOWNLOAD_ROOT="${KOTLIN_CLI_DOWNLOAD_ROOT:-https://packages.jetbrains.team/maven/p/amper/amper}" + +die() { + echo >&2 + echo "$@" >&2 + echo >&2 + exit 1 +} + +# usage: check_sha SOURCE_MONIKER FILE SHA_CHECKSUM SHA_SIZE +# $1 SOURCE_MONIKER (e.g. url) +# $2 FILE +# $3 SHA hex string +# $4 SHA size in bits (256, 512, ...) +check_sha() { + sha_size=$4 + if command -v shasum >/dev/null 2>&1; then + echo "$3 *$2" | shasum -a "$sha_size" --status -c || { + die "ERROR: Checksum mismatch for $2 (downloaded from $1): expected checksum $3 but got $(shasum --binary -a "$sha_size" "$2" | awk '{print $1}')" + } + return 0 + fi + + shaNsumCommand="sha${sha_size}sum" + if command -v "$shaNsumCommand" >/dev/null 2>&1; then + # discard the output as sha*sum may print redundant warnings in some versions + echo "$3 *$2" | $shaNsumCommand -w -c >/dev/null 2>&1 || { + die "ERROR: Checksum mismatch for $2 (downloaded from $1): expected checksum $3 but got $($shaNsumCommand "$2" | awk '{print $1}')" + } + return 0 + fi + + echo "Both 'shasum' and 'sha${sha_size}sum' utilities are missing. Please install one of them" + return 1 +} + + +download_and_extract() { + moniker="$1" + file_url="$2" + file_sha="$3" + sha_size="$4" + cache_dir="$5" + extract_dir="$6" + show_banner_on_cache_miss="$7" + + if [ -e "$extract_dir/.flag" ] && [ "$(cat "$extract_dir/.flag")" = "${file_sha}" ]; then + # Everything is up-to-date in $extract_dir, do nothing + return 0; + fi + + mkdir -p "$cache_dir" + + # Take a lock for the download of this file + short_sha=$(echo "$file_sha" | cut -c1-32) # cannot use the ${short_sha:0:32} syntax in regular /bin/sh + download_lock_file="$cache_dir/download-${short_sha}.lock" + process_lock_file="$cache_dir/download-${short_sha}.$$.lock" + echo $$ >"$process_lock_file" + while ! ln "$process_lock_file" "$download_lock_file" 2>/dev/null; do + lock_owner=$(cat "$download_lock_file" 2>/dev/null || true) + # We use `kill -0` instead of `ps -p` as the first one is more portable + if [ -n "$lock_owner" ] && kill -0 "$lock_owner" >/dev/null; then + echo "Another Kotlin CLI instance (pid $lock_owner) is downloading $moniker. Awaiting the result..." + sleep 1 + elif [ -n "$lock_owner" ] && [ "$(cat "$download_lock_file" 2>/dev/null)" = "$lock_owner" ]; then + rm -f "$download_lock_file" + # We don't want to simply loop again here, because multiple concurrent processes may face this at the same time, + # which means the 'rm' command above from another script could delete our new valid lock file. Instead, we just + # ask the user to try again. This doesn't 100% eliminate the race, but the probability of issues is drastically + # reduced because it would involve 4 processes with perfect timing. We can revisit this later. + die "Another Kotlin CLI instance (pid $lock_owner) locked the download of $moniker, but is no longer running. The lock file is now removed, please try again." + fi + done + + # shellcheck disable=SC2064 + trap "rm -f \"$download_lock_file\"" EXIT + rm -f "$process_lock_file" + + unlock_and_cleanup() { + rm -f "$download_lock_file" + trap - EXIT + return 0 + } + + if [ -e "$extract_dir/.flag" ] && [ "$(cat "$extract_dir/.flag")" = "${file_sha}" ]; then + # Everything is up-to-date in $extract_dir, just release the lock + unlock_and_cleanup + return 0; + fi + + if [ "$show_banner_on_cache_miss" = "true" ] && [ -z "${KOTLIN_CLI_NO_WELCOME_BANNER:-}" ]; then + echo + cat </dev/null 2>&1; then + if [ -t 1 ]; then CURL_PROGRESS="--progress-bar"; else CURL_PROGRESS="--silent --show-error"; fi + # shellcheck disable=SC2086 + curl $CURL_PROGRESS -L --fail --retry 5 --connect-timeout 30 --output "${temp_file}" "$file_url" + elif command -v wget >/dev/null 2>&1; then + if [ -t 1 ]; then WGET_PROGRESS=""; else WGET_PROGRESS="-nv"; fi + wget $WGET_PROGRESS --tries=5 --connect-timeout=30 --read-timeout=120 -O "${temp_file}" "$file_url" + else + die "ERROR: Please install 'wget' or 'curl', as one of them is required to download $moniker" + fi + + check_sha "$file_url" "$temp_file" "$file_sha" "$sha_size" + + rm -rf "$extract_dir" + mkdir -p "$extract_dir" + + case "$file_url" in + *".zip") + if command -v unzip >/dev/null 2>&1; then + unzip -q "$temp_file" -d "$extract_dir" + else + die "ERROR: Please install 'unzip', which is required to extract $moniker" + fi ;; + *) + if command -v tar >/dev/null 2>&1; then + tar -x -f "$temp_file" -C "$extract_dir" + else + die "ERROR: Please install 'tar', which is required to extract $moniker" + fi ;; + esac + + rm -f "$temp_file" + + echo "$file_sha" >"$extract_dir/.flag" + + # Unlock and cleanup the lock file + unlock_and_cleanup + + echo "Download complete." + echo +} + + +# ********** Project-local version detection ********** + +# 1. Search upwards for an executable `amper` file and/or `project.yaml` +# Sets wrapper_script to the found wrapper path, or empty string if not found. +find_project_context() { + wrapper_script="" + this_script="$(realpath "$0")" + project_dir=$(pwd) + while [ "$project_dir" != "/" ] && [ -n "$project_dir" ]; do + wrapper_candidate="$project_dir/kotlin" + if [ "$this_script" = "$wrapper_candidate" ]; then + # Found itself (local wrapper case), no need to update any version or search further. + return 1 + fi + + if [ -f "$wrapper_candidate" ] && [ -x "$wrapper_candidate" ]; then + # Found the wrapper — check that a project context exists alongside it + if [ -f "$project_dir/project.yaml" ] || [ -f "$project_dir/module.yaml" ]; then + wrapper_script="$wrapper_candidate" + return 0 + else + echo "WARNING: Found wrapper script '$wrapper_candidate', but no project.yaml or module.yaml near it. Skipping." >&2 + # Continue the search + fi + elif [ -f "$project_dir/project.yaml" ]; then + # Found project.yaml but no executable wrapper alongside it + echo "WARNING: Found a project.yaml in '$project_dir', but the wrapper script is missing; using Kotlin Toolchain v$kotlin_cli_version." >&2 + return 1 + fi + + project_dir=$(dirname "$project_dir") + done + # Do not check root '/' - it's an unlikely candidate for a project + + return 1 +} + +parse_project_context() { + # Parse kotlin_cli_version and kotlin_cli_sha256 from "$wrapper_script" without executing it. + parsed_kotlin_cli_version=$( + sed -n 's/^kotlin_cli_version=\([A-Za-z0-9._+-]\{1,\}\)[[:space:]]*$/\1/p' "$wrapper_script" \ + | head -n 1 + ) + parsed_kotlin_cli_sha256=$( + sed -n 's/^kotlin_cli_sha256=\([0-9a-fA-F]\{64\}\)[[:space:]]*$/\1/p' "$wrapper_script" \ + | head -n 1 + ) + + if [ -z "$parsed_kotlin_cli_version" ]; then + echo "ERROR: Suspicious local wrapper script: failed to detect the distribution version in '$wrapper_script'" >&2 + return 1 + fi + if [ -z "$parsed_kotlin_cli_sha256" ]; then + echo "ERROR: Suspicious local wrapper script: failed to detect the distribution checksum in '$wrapper_script'" >&2 + return 1 + fi + + # overwrite builtin values and proceed + kotlin_cli_version=$parsed_kotlin_cli_version + kotlin_cli_sha256=$parsed_kotlin_cli_sha256 + return 0 +} + +if [ -z "${KOTLIN_CLI_WRAPPER_ALWAYS_USE_INTRINSIC_VERSION:-}" ]; then + find_project_context && parse_project_context +fi + +# ********** System detection ********** + +kernelName=$(uname -s) +case "$kernelName" in + Darwin* ) + default_kotlin_cli_cache_dir="$HOME/Library/Caches/JetBrains/Kotlin/cli" + ;; + Linux* ) + default_kotlin_cli_cache_dir="$HOME/.cache/JetBrains/Kotlin/cli" + ;; + CYGWIN* | MSYS* | MINGW* ) + if command -v cygpath >/dev/null 2>&1; then + default_kotlin_cli_cache_dir=$(cygpath -u "$LOCALAPPDATA\JetBrains\Kotlin\cli") + else + die "The 'cypath' command is not available, but the Kotlin CLI needs it. Use kotlin.bat instead, or try a Cygwin or MSYS environment." + fi + ;; + *) + die "Unsupported platform $kernelName" + ;; +esac + +kotlin_cli_cache_dir="${KOTLIN_CLI_BOOTSTRAP_CACHE_DIR:-$default_kotlin_cli_cache_dir}" + +# ********** Provision the Kotlin Toolchain distribution ********** + +kotlin_cli_url="$KOTLIN_CLI_DOWNLOAD_ROOT/org/jetbrains/kotlin/kotlin-cli/$kotlin_cli_version/kotlin-cli-$kotlin_cli_version-dist.tgz" +kotlin_cli_target_dir="$kotlin_cli_cache_dir/kotlin-cli-$kotlin_cli_version" +download_and_extract "Kotlin Toolchain distribution v$kotlin_cli_version" "$kotlin_cli_url" "$kotlin_cli_sha256" 256 "$kotlin_cli_cache_dir" "$kotlin_cli_target_dir" "true" + +# ********** Launch the Kotlin CLI ********** + +launcher_script="$kotlin_cli_target_dir/bin/launcher.sh" + +KOTLIN_CLI_WRAPPER_PATH="$(realpath "$0")" \ +exec /bin/sh "$launcher_script" "$@" diff --git a/newbuildsystem/kotlin.bat b/newbuildsystem/kotlin.bat new file mode 100644 index 0000000..7cd0acc --- /dev/null +++ b/newbuildsystem/kotlin.bat @@ -0,0 +1,257 @@ +@echo off + +@rem +@rem Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +@rem + +@rem Possible environment variables: +@rem KOTLIN_CLI_DOWNLOAD_ROOT Maven repository to download the Kotlin CLI dist from +@rem default: https://packages.jetbrains.team/maven/p/amper/amper +@rem KOTLIN_CLI_JRE_DOWNLOAD_ROOT Url prefix to download the Kotlin CLI JRE from. +@rem default: https:/ +@rem KOTLIN_CLI_BOOTSTRAP_CACHE_DIR Cache directory to store the extracted JRE and Kotlin CLI distribution +@rem KOTLIN_CLI_JAVA_HOME JRE to run the Kotlin CLI itself (optional, does not affect compilation) +@rem KOTLIN_CLI_JAVA_OPTIONS JVM options to pass to the JVM running the Kotlin CLI (does not affect the user's application) +@rem KOTLIN_CLI_NO_WELCOME_BANNER Disables the first-run welcome message if set to a non-empty value + +setlocal + +@rem The version of the Kotlin Toolchain distribution to provision and use +set kotlin_cli_version=0.11.0 +@rem Establish chain of trust from here by specifying the exact checksum of the Kotlin Toolchain distribution to be run +set kotlin_cli_sha256=ff872a5bf42ad1a8fac90ccca6ac38a4d4a6aafefc39167860f66a77b1653d74 + +if not defined KOTLIN_CLI_DOWNLOAD_ROOT set KOTLIN_CLI_DOWNLOAD_ROOT=https://packages.jetbrains.team/maven/p/amper/amper +if not defined KOTLIN_CLI_BOOTSTRAP_CACHE_DIR set KOTLIN_CLI_BOOTSTRAP_CACHE_DIR=%LOCALAPPDATA%\JetBrains\Kotlin\cli +@rem remove trailing \ if present +if [%KOTLIN_CLI_BOOTSTRAP_CACHE_DIR:~-1%] EQU [\] set KOTLIN_CLI_BOOTSTRAP_CACHE_DIR=%KOTLIN_CLI_BOOTSTRAP_CACHE_DIR:~0,-1% + +goto :after_function_declarations + +REM ********** Download and extract any zip or .tar.gz archive ********** + +:download_and_extract +setlocal + +set moniker=%~1 +set url=%~2 +set target_dir=%~3 +set sha=%~4 +set sha_size=%~5 +set show_banner_on_cache_miss=%~6 + +set flag_file=%target_dir%\.flag +if exist "%flag_file%" ( + set /p current_flag=<"%flag_file%" + if "%current_flag%" == "%sha%" exit /b +) + +setlocal enableDelayedExpansion +set NL=^ + + +@rem two empty lines required above for the NL character + +@rem We have to build the welcome banner here as an env var because we +@rem can't pass a multiline string through the single line powershell +set welcome_banner=!NL! ^ +Welcome to !NL! ^ + !NL! ^ +@@@ @@@@ @@@ @@@ !NL! ^ +@@@ @@@@ @@@ @@@ @@@ !NL! ^ +@@@ #@@@^" ,@@@ @@@ !NL! ^ +@@@ ,@@@%% ,@@@@@@@, @@@@@@@@@@ @@@ @@@ @@@ ,@@@@@, !NL! ^ +@@@ @@@@ @@@@@%%^"%%@@@@@ @@@@@@@@@@ @@@ @@@ @@@@@@%%%%@@@@@ !NL! ^ +@@@@@@%% @@@%% %%@@@ @@@ @@@ @@@ @@@@ %%@@%% !NL! ^ +@@@ @@@@= #@@@ @@@# @@@ @@@ @@@ @@@ @@@ !NL! ^ +@@@ @@@@ #@@@ @@@# @@@ @@@ @@@ @@@ @@@ !NL! ^ +@@@ *@@@%% @@@@ @@@@ @@@ @@@ @@@ @@@ @@@ !NL! ^ +@@@ %%@@@= %%@@@@*,*@@@@%% @@@@### @@@ @@@ @@@ @@@ !NL! ^ +@@@ @@@@ ^"@@@@@@@^" %%@@@@@ @@@ @@@ @@@ @@@ !NL! + +@rem This multiline string is actually passed as a single line to powershell, meaning #-comments are not possible. +@rem So here are a few comments about the code below: +@rem - we need to support both .zip and .tar.gz archives (for the Kotlin Toolchain distribution and the JRE) +@rem - tar should be present in all Windows machines since 2018 (and usable from both cmd and powershell) +@rem - tar requires the destination dir to exist +@rem - We use (New-Object Net.WebClient).DownloadFile instead of Invoke-WebRequest for performance. See the issue +@rem https://github.com/PowerShell/PowerShell/issues/16914, which is still not fixed in Windows PowerShell 5.1 +@rem - DownloadFile requires the directories in the destination file's path to exist +set download_and_extract_ps1= ^ +Set-StrictMode -Version 3.0; ^ +$ErrorActionPreference = 'Stop'; ^ + ^ +$createdNew = $false; ^ +$lock = New-Object System.Threading.Mutex($true, ('Global\kotlin-cli-bootstrap.' + '%target_dir%'.GetHashCode().ToString()), [ref]$createdNew); ^ +if (-not $createdNew) { ^ + Write-Host 'Another Kotlin CLI instance is bootstrapping. Waiting for our turn...'; ^ + [void]$lock.WaitOne(); ^ +} ^ + ^ +try { ^ + if ((Get-Content '%flag_file%' -ErrorAction Ignore) -ne '%sha%') { ^ + if (('%show_banner_on_cache_miss%' -eq 'true') -and [string]::IsNullOrEmpty('%KOTLIN_CLI_NO_WELCOME_BANNER%')) { ^ + Write-Host \"$env:welcome_banner\"; ^ + Write-Host ''; ^ + Write-Host 'This is the first run of the Kotlin CLI v%kotlin_cli_version%, so we need to download the Kotlin Toolchain.'; ^ + Write-Host 'Please give us a few seconds now, subsequent runs will be faster.'; ^ + Write-Host ''; ^ + } ^ + $temp_file = '%KOTLIN_CLI_BOOTSTRAP_CACHE_DIR%\' + [System.IO.Path]::GetRandomFileName(); ^ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; ^ + Write-Host 'Downloading %moniker%...'; ^ + [void](New-Item '%KOTLIN_CLI_BOOTSTRAP_CACHE_DIR%' -ItemType Directory -Force); ^ + if (Get-Command curl.exe -errorAction SilentlyContinue) { ^ + curl.exe -L --silent --show-error --fail --output $temp_file '%url%'; ^ + } else { ^ + (New-Object Net.WebClient).DownloadFile('%url%', $temp_file); ^ + } ^ + ^ + $actualSha = (Get-FileHash -Algorithm SHA%sha_size% -Path $temp_file).Hash.ToString(); ^ + if ($actualSha -ne '%sha%') { ^ + $writeErr = if ($Host.Name -eq 'ConsoleHost') { [Console]::Error.WriteLine } else { $host.ui.WriteErrorLine } ^ + $writeErr.Invoke(\"ERROR: Checksum mismatch for $temp_file (downloaded from %url%): expected checksum %sha% but got $actualSha\"); ^ + exit 1; ^ + } ^ + ^ + if (Test-Path '%target_dir%') { ^ + Remove-Item '%target_dir%' -Recurse; ^ + } ^ + if ($temp_file -like '*.zip') { ^ + Add-Type -A 'System.IO.Compression.FileSystem'; ^ + [IO.Compression.ZipFile]::ExtractToDirectory($temp_file, '%target_dir%'); ^ + } else { ^ + [void](New-Item '%target_dir%' -ItemType Directory -Force); ^ + tar -xzf $temp_file -C '%target_dir%'; ^ + } ^ + Remove-Item $temp_file; ^ + ^ + Set-Content '%flag_file%' -Value '%sha%'; ^ + Write-Host 'Download complete.'; ^ + Write-Host ''; ^ + } ^ +} ^ +finally { ^ + $lock.ReleaseMutex(); ^ +} + +rem We reset the PSModulePath in case this batch script was called from PowerShell Core +rem See https://github.com/PowerShell/PowerShell/issues/18108#issuecomment-2269703022 +set PSModulePath= +set powershell=%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe +"%powershell%" -NonInteractive -NoProfile -NoLogo -Command %download_and_extract_ps1% +if errorlevel 1 exit /b 1 +exit /b 0 + +:find_project_context +@rem Search upwards for a kotlin.bat wrapper file and/or project.yaml +@rem Sets wrapper_script to the found wrapper path, or empty string if not found. +@rem Returns errorlevel 0 if a valid wrapper (that is not this script itself) was found, 1 otherwise. +set wrapper_script= +set this_script=%~f0 +set project_dir=%CD% + +:find_loop +set wrapper_candidate=%project_dir%\kotlin.bat +if "%this_script%"=="%wrapper_candidate%" ( + @rem Found itself (local wrapper case), no need to update any version or search further. + exit /b 1 +) + +if exist "%wrapper_candidate%" ( + @rem Found a wrapper — check that a project context exists alongside it + if exist "%project_dir%\project.yaml" ( + set wrapper_script=%wrapper_candidate% + exit /b 0 + ) + if exist "%project_dir%\module.yaml" ( + set wrapper_script=%wrapper_candidate% + exit /b 0 + ) + echo WARNING: Found wrapper script '%wrapper_candidate%', but no project.yaml or module.yaml near it. Skipping. >&2 + @rem Continue the search + goto :find_next_parent +) + +if exist "%project_dir%\project.yaml" ( + @rem Found project.yaml but no wrapper alongside it + echo WARNING: Found a project.yaml in '%project_dir%', but the wrapper script is missing; using Kotlin Toolchain v$kotlin_cli_version. >&2 + exit /b 1 +) + +:find_next_parent +@rem Move to parent directory +for %%P in ("%project_dir%\..") do set parent_dir=%%~fP +if "%parent_dir%"=="%project_dir%" ( + @rem Reached the root, stop searching + exit /b 1 +) +set project_dir=%parent_dir% +goto :find_loop + +:parse_project_context +@rem Parse kotlin_cli_version and kotlin_cli_sha256 from the found wrapper_script without executing it. +set parsed_kotlin_cli_version= +set parsed_kotlin_cli_sha256= + +for /f "tokens=2 delims==" %%A in ('findstr /r /c:"^set kotlin_cli_version=[A-Za-z0-9._+-]*$" "%wrapper_script%"') do ( + if not defined parsed_kotlin_cli_version set parsed_kotlin_cli_version=%%A +) +for /f "tokens=2 delims==" %%A in ('findstr /r /c:"^set kotlin_cli_sha256=[0-9a-fA-F]*$" "%wrapper_script%"') do ( + if not defined parsed_kotlin_cli_sha256 set parsed_kotlin_cli_sha256=%%A +) + +if not defined parsed_kotlin_cli_version ( + echo ERROR: Suspicious local wrapper script: failed to detect the distribution version in '%wrapper_script%' >&2 + exit /b 1 +) +if not defined parsed_kotlin_cli_sha256 ( + echo ERROR: Suspicious local wrapper script: failed to detect the distribution checksum in '%wrapper_script%' >&2 + exit /b 1 +) + +@rem Overwrite builtin values and proceed +set kotlin_cli_version=%parsed_kotlin_cli_version% +set kotlin_cli_sha256=%parsed_kotlin_cli_sha256% +exit /b 0 + +:fail +echo ERROR: Kotlin CLI bootstrap failed, see errors above +exit /b 1 + +:after_function_declarations + +REM ********** Project-local version detection ********** + +if defined KOTLIN_CLI_WRAPPER_ALWAYS_USE_INTRINSIC_VERSION goto :after_local_version_detection + +call :find_project_context +if errorlevel 1 goto :after_local_version_detection +call :parse_project_context +if errorlevel 1 goto fail +:after_local_version_detection + +REM ********** Provision the Kotlin Toolchain distribution ********** + +set kotlin_cli_url=%KOTLIN_CLI_DOWNLOAD_ROOT%/org/jetbrains/kotlin/kotlin-cli/%kotlin_cli_version%/kotlin-cli-%kotlin_cli_version%-dist.tgz +set kotlin_cli_target_dir=%KOTLIN_CLI_BOOTSTRAP_CACHE_DIR%\kotlin-cli-%kotlin_cli_version% +call :download_and_extract "Kotlin Toolchain distribution v%kotlin_cli_version%" "%kotlin_cli_url%" "%kotlin_cli_target_dir%" "%kotlin_cli_sha256%" "256" "true" +if errorlevel 1 goto fail + +REM ********** Launch the Kotlin CLI ********** + +rem Determine the correct busybox binary based on architecture +if "%PROCESSOR_ARCHITECTURE%"=="ARM64" ( + set busybox_exe=%kotlin_cli_target_dir%\bin\busybox64a.exe +) else if "%PROCESSOR_ARCHITECTURE%"=="AMD64" ( + set busybox_exe=%kotlin_cli_target_dir%\bin\busybox64u.exe +) else ( + echo Unsupported architecture %PROCESSOR_ARCHITECTURE% >&2 + goto fail +) + +rem We use busybox here because it doesn't reinterpret the user-passed command-line arguments (that we pass via %*). +rem Also this way we can use the unified launcher script (.sh) +set KOTLIN_CLI_WRAPPER_PATH=%~f0 +"%busybox_exe%" sh "%kotlin_cli_target_dir%\bin\launcher.sh" %* +exit /B %ERRORLEVEL% diff --git a/newbuildsystem/module.yaml b/newbuildsystem/module.yaml new file mode 100644 index 0000000..0141b6f --- /dev/null +++ b/newbuildsystem/module.yaml @@ -0,0 +1,36 @@ +product: android/app + +settings: + android: + namespace: "org.bitcoindevkit.devkitwallet" + compileSdk: 36 + minSdk: 33 + compose: enabled + kotlin: + serialization: json + junit: junit-4 + +dependencies: + - androidx.core:core-ktx:1.17.0 + - androidx.datastore:datastore:1.2.0 + - com.google.protobuf:protobuf-javalite:4.33.5 + - org.jetbrains.kotlinx:kotlinx-serialization-json:1.10.0 + - androidx.core:core-splashscreen:1.2.0 + - androidx.activity:activity-compose:1.8.2 + + - bom: androidx.compose:compose-bom:2026.02.00 + - androidx.compose.animation:animation + - androidx.compose.ui:ui-tooling + - androidx.compose.ui:ui + - androidx.compose.material3:material3 + - androidx.lifecycle:lifecycle-viewmodel-compose:2.10.0 + - androidx.navigation:navigation-compose:2.9.7 + + # Icons + - androidx.compose.material:material-icons-extended:1.7.8 + - com.composables:icons-lucide:1.1.0 + + # Bitcoin + - org.bitcoindevkit:bdk-android:3.0.0 + # QR Codes + - com.google.zxing:core:3.5.4 diff --git a/newbuildsystem/res/drawable/bdk_logo.xml b/newbuildsystem/res/drawable/bdk_logo.xml new file mode 100644 index 0000000..a28d65b --- /dev/null +++ b/newbuildsystem/res/drawable/bdk_logo.xml @@ -0,0 +1,24 @@ + + + + + diff --git a/newbuildsystem/res/drawable/bdk_logo2.xml b/newbuildsystem/res/drawable/bdk_logo2.xml new file mode 100644 index 0000000..f8568bd --- /dev/null +++ b/newbuildsystem/res/drawable/bdk_logo2.xml @@ -0,0 +1,18 @@ + + + + diff --git a/newbuildsystem/res/drawable/ic_launcher_bdk_background.xml b/newbuildsystem/res/drawable/ic_launcher_bdk_background.xml new file mode 100644 index 0000000..668f371 --- /dev/null +++ b/newbuildsystem/res/drawable/ic_launcher_bdk_background.xml @@ -0,0 +1,9 @@ + + + + + + + diff --git a/newbuildsystem/res/drawable/ic_launcher_bdk_foreground.xml b/newbuildsystem/res/drawable/ic_launcher_bdk_foreground.xml new file mode 100644 index 0000000..0591aa4 --- /dev/null +++ b/newbuildsystem/res/drawable/ic_launcher_bdk_foreground.xml @@ -0,0 +1,23 @@ + + + + + + diff --git a/newbuildsystem/res/drawable/ic_launcher_bdk_foreground_no_outline.xml b/newbuildsystem/res/drawable/ic_launcher_bdk_foreground_no_outline.xml new file mode 100644 index 0000000..0591aa4 --- /dev/null +++ b/newbuildsystem/res/drawable/ic_launcher_bdk_foreground_no_outline.xml @@ -0,0 +1,23 @@ + + + + + + diff --git a/newbuildsystem/res/font/google_sans_code_light.ttf b/newbuildsystem/res/font/google_sans_code_light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..714fb3171b1f459a22ecfba1f0205c0c8f0b4e7f GIT binary patch literal 54952 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 LiurQ_WwQSTcXJ}b literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/font/inter_bold.ttf b/newbuildsystem/res/font/inter_bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e974d96fc818cdefd0a3cd06f02e13508dcb3b66 GIT binary patch literal 344032 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 literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/font/inter_medium.ttf b/newbuildsystem/res/font/inter_medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5c88739bdf1b4aec798fb58c873483a08a538b2a GIT binary patch literal 342936 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�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 z%0A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

(ooqSGyr+~wg7v7X~!Ms4b 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

rife;5RpkCf%7@_EqLdp!t}|B70o-Azq!r|v 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 z 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

ERBva=-o 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ૂ`3XTd_s$gG`pq+cNfzhxxM*6D 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 Duw-^W literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/font/inter_thin.ttf b/newbuildsystem/res/font/inter_thin.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3505b357ea8baf30989cc85a47db6150610d08a0 GIT binary patch literal 342944 zcmd>{2bdMbwy0Ni?+$y0oU=m|kqnY^mYj2toClm4vgDkjAPADPA_9^@BuP#p22c?Z zBqJaoY2IJG_Y4Di&hg%J!~5Qw`TnZv>go!sR>kh!ElNZZVfaKUSEyL2!`b_lV`KdiBfJ zZ*-{tMrU$-?NiF zVI<+>5#HIXqDQXvP2^BibhISIme6n+A@QWAIQl5gpFYON+4U@mNb+2da{SRY*(f(o z0PW;zeU(qjWj}H^UaN#9eit(k=0fk$Q*;RId5>~Djo{in9GYTyS9p04mt&D+o|#jO z9z7%bt0E$OI(CXuq~1BIbvIRpD>6w6vAt^zRaVF9#o^^o<&k#5V^O6fm3P+XTO^Of z60r*Sj^Z;XU>ipzw=s^|7fYvWi0`}@(Me=sw09Lo-Fh|Z$u5!T=s>yM?+r9T&DZCB zC9G3eVMt4HZ368_fwtnF3m@V8u}UFIrBdTCC#cz&@2hVxzf*r;J~pa|GO8LQF-IGV zF_#)kF;^I0U>-J(VV*EfVxBQBVqP-PO5>TyRc2MQF=jKf9cD+f7iM3xALama0Omk* z2Ifrj0_H{Y5#|%~sVJZLY)seZVutuaFcbN*U}p1W$9&zF6En9jA7(*cVa%ews+iS% z)iG=O>SEUSb;s=C>w)>UF9I{lN9w*lzCoBne6uiT`&MJF@qL2%sc%2#A>U7!zxXa= zUh&<;yzRSv`00p>Dm zxhOk@of0#noe?vuT?VtfT@ka6P1)^+c1z5+?6)za?B1Be?BSSW?6H^=>`9ml?M0YN zZ5`V-dne{Ddl%+zdk^M8`yl2~`zYo~`zy?|_F2r!_DwMzaeShj`c8e!?#^h;u@0K! zOm(JWPIsnbu5$Kae&HOzJnkIFJn5Xo{MEUS`M`NVdox|M!tLmimV3@Uhk4%p1^-{& ztGI8uw=kdi(OQ3ee|$0hDgCK%r}3x7%-|2h%;ZPf{#X5Ig+HGkIs4!6BWHhcKXUe$ z@|VIa<1dR@-d`TGvcEEBHGehC8h&K%ujQ|WS;t=ovxy&>`@8#lVh->R#vJM&i82vk(G&k6{}IgNetKa4*Z!|D&-#DHyc~kwhSUmqTg;HCkO7$ELw>-#6LJUh zVaP*Kp%N;XsX{4BXra(TVuqFrC2ygXLMw?8`ex{xxT}U%#lL=Near@-4QZje<%$#o z&m@`DvY-zvbY%dq=$5u))FpnN)&cC=`3w2 zeG&2(gN~hTwz`gdU92uOkonq z)vXE9)5}$Puhc!gJVoIXB`^DQ@bVr`s@;e=7uQE|O@#C#bZbJlCZ^}HSH`!GciahA zBXf6%MFjD+mj)d7^zxj`%WEX=Fk*Ny9$lu+XvbfbFm8z=z1(&u zMqPg$K+7(STvR9JK7UH5`U~l38Fl7LU3=}3VHk9V_Hle7@#!1qxC8O(GX7Q0dU)5? zleY<>Wv)x6-90FOd!+N?87-@DWDwecUj*ByEHBr?n_h*OAmhXJT*b)zCi* zQ-Ls%0c$2gP<*iTdbgex135#u?x@AOBdy$NAdHC1b zrfX8ylDyp0q>E-3BETsrYB$8uYrkL#PAX(j^G!RNON$Wz+K1J*19H>sAE)W|&tmVX-mhj-v-Ly>zai+`|7P*@EOaFaPg7oBVIn##!xS{G&mo=dHKTW4DIn-@R*F!{{kk2(UrY^(19=0d_r|!`L zeYp;$^Hhk^Xdq#!4?uJw{_sg5fX!YjzrTCE(@C<&#rM1H zeThugyOKY~&l)N{{|4Q>Fg;|iolx>y*ndes$-?Skuf{j!f0V9XdXJIiOqefC?QrM? zouNB^$t97G^MA_M+vM}@=sP~omaf)9>$ z;64~Qj=qci6@DS`VbFhF(65Q-H%As>?=><>Q~WO&JEbZ69Zk)5VJ=L88PEl&hrqSb zca0Lv|GjGh`7nA)b0`g!g6>Q~Tl;4NeOwFjgZ7K@PY~CSbx>1t8+H7dSII zpniV(=UBf`?|+NvJAWsf(~|hsqo@Bj@*BE45zrN<9dw0O&=y@@AHB)TGhzNJ?@k5j z=|h)enI+q;qV#FH9eo+R<|D%FCd}Vqx$N|{C+x@3Pki&G|9=$A;o9Tq#XsXy>Ev6a z#>5R{4V2~99MJZECpwLn85;dv-0{UJ&baXp@EwrXW4VL-Zt(a9|D`rQZ z(P6B6$O+q?ODdzbJ>blj| z-Nb063?q&B)J?{(YuLN6aa-fD&&VQ!e#o;4V{H^)Y`Jtf|Dueser2V;Z!ok+#_gqr zuRSvN@QxQbMFKYcl+Pn@emP-4#s#j6-W9xF$FWF7$~ahLT+;67UGN1gj>A&UCxeCf zEr*k^9)1m?{U!(eq;N34ajIYRURWKAmrnF9<2vbGkc!^!D|680m-~oVoj2-He;(1xuv5e#=#rXeYJ9@u5i|+iHaY4UI z*y+{T7uzCt9vAs~!*JSfppAQN^uN@t(|DPfwEmrRUyd{8I416YW~Y%dzBt%Pr1-zW zyePTj;>&@|f^l%4?}hkc{QpCCbLJc|=y+>O8S@*7_`CQbWsR>IdbEu>3G-v$&#e9Q z{4t|+wUm!Ns4PlPTT29;M+32;t zo#aF3rGaFzUm>nD^136;vBJIi&tBhl&avjOz7Ec9S%2%Y+xdyF3~LJJoz@%lWu-ye zZ{YU{@kGmB$B#P==WlS$HrAFON>jHZaSfGj&T#y8OLOkH?sboPem$KNl({M6-dY*v z>q`26kPd4)UmyC2?f*k`qYdafrH?fa(obk^1?_{<33p51H0+pje`T*B%si zrDt#)l7P+lJV%;9L&l?DVGH~Sr(q_1!np|S^}x8L!!wr8iT>DklJXXmL99bFz1Rmw zpGFp5A8h9Ouj_ZXN8ZvmT3T9qynKyu;J*>`uDITKnT3A;^;k0ax=1!_ndG*P(^t%p zdcKO(JD8)eU%@_%oeKLI9jR%~z*OD1~<$LVN8glD|UoBrAN7x6T+sGp7 zPOlr8FB8`F4U^VJ>gYq}AJUw<46zDJCgvrsZ!z)Nw7KJ~Ri}z;kB+{o!|HXIc{uu+ z6)kDJy{DnH>mYi)7~)btvt_H5OEy}s$rzWu0=qwZR=${hJlaEhV=Jic|+9#{@%;Y1Mar`<8(4&Yu4 zUuleNavHvm!)Y^2_2qu@2e2q$t2sgYFa53TYETdx8{}yKRg7bhn?bI`aqE15N*B21 zKYU$U@+>hhKD0F1b5p0~Q*)(!s%_fJr|dD+WWS;&?wYvU>0@mhrR5NGfpbCnWA`_H zmNC%ZStC6;jvMBMbH2mq$?H`-NR_(!?eF?c;ScXaB45t&y!Z_ z9j@aX&#YANC8n-6NKx%J)=Nh-o3z%bhlIN;ZOp6^WhP_HObY3xmBx6)m}<~hJ%C@N zA?I7i9IK5o7h0-MWvSXAosC;E3dX>S{};-jl0ECm^LR}(>Yy}0rp=5alyi@~W$cC@ zq>;yJWV3;A%V9ct`#E;Z@f{gyT!A~XQca)@Optm!kJ3*?G5+_HK57K@|38t&Evd#c zM%C~EYOjS!Qr~VQ_0=PpWZa`oKjKN5XvXdKs;H$@QPYvP z&5g3hOd#`(UFd75)K$5pBmF~HeNKl{&5-v}?z)Tgg-O62IuHFM<{lkh=LmBuy^qfr>&^2! zOBJV?EDMR0Wyy2NvKTk^IsDGycP_?leIln}b&%8gn)q7+*J|5tAEaZzcE6WpuqY0wJuUBk4Rh(>{^3a0OWq!fQBOwd z{UUEqhkYBG_-C~FB|+91r{!b#l=B~hXKO$0*8aNv|0Tiu<1zQQ^?mKXx<~BgRqqc3 z;a=v`0J4*NpgUvA;HwaQFXld9>^-`Fa{tY{hZXl8)ywyvg7=iHe|CQ;cn?XJ&xvyn zC-$CA+iYpP``<6^)$9Fq?_B%nv&@y|>a{of zv2)qWJsZGt|El+oVYOGkfj!`PoIe?}XRELC_-Fg8|J^L5PB~HV)m9|We_8apzW1c-&1&|_oX$g@y}BJvy>g3 z{ag9qxe2XTdjCc51L-{=Pmit`)D)~()JSFdT= zVdtDv@6Km7#n@trFI6^J2B^32YKOGBVB>72F=e*7p~<=c12eN((_@6TIUb??w9WAd-(A@oQi8sK=UrGQ z*7aa@EJZz?D2;CDy$MYbcvIS&OC^U7S+gIoM#n?B3wnGm&12o#?=uPa;@e7Cy)RXT zwat%`f;@zndpQ3!^ID!gF}g-?*K(t-ee6G!u^M3ak`&A}b85`R>~&@#j`=dvcr|*J zp}0O{^ciDv^b^w`{RsbX9Up6)Li7hCe0ih`zq!faYZ2Jr(fc^YQz?gDd>UL27ox9N z=6=k&EmZOvU8S~hmUU_$uF?Ca&q>35W3R9Fo(W(t#k=pW_lvogZO13<9Z73n#-`8o z`s-e@$h|~44@x_my6EcnW8YI-xlG5u(qK0)_wzHIap`k5!@#=2htuYW=QfqNVysCRvh?(?zDtK>(Y zE6aSEr)9M+a37>9bv4MihI>1CV;@%cGl9O3xw=l9V~x%JqM9%7YRrUELd(w#C+)1r zaZ#`y7D;xuiDVB+M4jmNqU&m~yzUmFAJp>$okzxJo9AfM7Va@!;+|;}8E3KfGLKWY z@1u9oQpSxyj*al!$9@{?c>55)8Hgkwl*LLbmGoF+e#x3Vz09y!m(wqanK}A^GLdIS zsbch^Kc($iSAx2y=MSA}pGBh|&{ut`{Y~}_Xvf*HPw2fk?Pm;Szs6+mW*he}0bSp1 zY>`69xu#moZ^st1=dg!15GvWsI><|dn=x#h(LjnREBctheu~z2xgj}JY1W`U2;-2a z2GRz~c(9%_8mWf#c`H3ad2TXV-|yvj5}@6tpZuEKYi%FBRmW+x_zRk`*YH#HP1dMs zSo``Y#~^->wbv>yV_1Xb1bzwkbPur9dYVb(3BON#as_u7_AqSvc%IRer-@($gyX*x z3PN4z2IqrZ#XbPU@pJ_c|C8;oJLrECzZ|$(4?bOl{RFna1(8P+L7)2-E^>Yf+zGlf zVc*jEP(!75EcfUel0jBrZwEx9*Pt42d|E-?S-J7;33A;>BD!~UpUZ3nGJb&8#l=3{y3&VixpY8|Z z=2>ws{U^@|R~|{g9MprCP8yDNJ$?w}!^_tiY~u0!zYO?29mjE9+~eUY z@guh8f3?BPfL0E3ib#3nDp-%qa=^7uhdb|^g*HAhsrHO z=o3rHGoH9!BV|+v?lClDPST9AhkGK7n@f2zJB!SUzRA5uegCYC?q_s=ivBcZ{D17V zoqy17)I6TXM&FR*7!USvjP?A6bv=C!ZuLFvjc%lROMYzhU$^1M7j)imqf1Y2W9J4J zw9X7M$Sc3u&94U0HupgzNzVRIE7H+_=$A(S9$KM?3SC9w!mg*N8Gv50YbWX=&{xpf zy%ug%z^2Xei!?DNz!KOFr{Ow1y${ksK_E_kcPr)ymsDona`<=C|Mlpgh!rgCZfE3*lS{=R!UK?e`PE-&QbI{}>VyK{#9& ziBDeQQ~vmrKYn#+2k*c%SOv75_zy)Aa7}{jPzD-9PoV4x7QkjW0hB!<@h40Ld7%ot z1%2T?SPKW>JUryL?};EglmWseS_r2A86-jmiIYGMCwT4DKbe)pPh_z$#OykXbw>@0f;9V@g%PbZA4O_mnrfC$0_u2f0zcVU^m^2 znn5IthsA(w3n1Hq4Pmdy8+ib~H}HD{c^5+7g)&2Ns0UqPIJ^(r;IK$x@?7`}xF%A> zgtSlqszF;A0Mp?NJQgYXCZKyo(Y>Ph6)O(JU5vPk5qGioVLcFcv7do!iYJBFp*%E$ zNEi=`VH1k8mE za73hZDL_W0!(kL4+tOAE zKwXxL4_TokGy>|m9C<5;e9GMvDQ`mtC_ZT1$}{V z)d*LOaMjMkeUa+%AQKdWy3hrN!5mlzhk$geKN6{t1ad$*XbeZ;7m=EsL~0?+TF9~% zvaE$HYf;|X=u7R5B6Wzj4)N9@-a5ovhj{A{Z=I_^ymdnWS=F5-QjhEFeI-)AsYrt? zfc`WyD3D%cI*!5yZYNgxMM&Zd;JX-^mf3t%&R1HXziL(a`oKyDztW0OX||Wp78>+g%r?+CUoZNuzyrXburD4i*7HV za(AcP-6?nX5>Ou~OZO!}dApwg$`MY!!^wB}G$4&|@*Yn8hCdYPkqELw5oiFky`Ej+ zB1`PfFcfIBZ+`-hL?Q?ufnUTOZuXMr$Y_zMgzzeq2I@bG`j4Xiqp1I=O>i7;iS#N3 z3jx1gw5wjU@!k z8Cn5#F%TIKQb1c6gf0&%3!8aYR73b(WC(sk$or5rK%7JC!35YRGAuFBriLNEVGW== z42SoDw1%C8D-!FZ7o$a@4jFp~U^Bu^vB?@01HlKhS&?os4-RC;&=Y5?(#8VFBB zMn?%-Q-J@N?IL3x7$!1~x*0bTzK7pM#>a=uP#nnXcywYsc^Xfi#-ke(sFMj@fNLip z=LyJp0&<>k9v+HJOax5;U6@F`6R+{O0kW7x`6um%AK<>oa-LrvNOwMUzkv7`5a+@Q&>W%wJzuy4w!>+-E^G%w zIw%O$p&Jlx(T8vZu8S;=2RWfSw1cZ6ONes`aW0tv)WOmk&=1~)+ak*<0(oE79hL!p z%cv~&st!Q-RcAz2BjeR`AzI|a;UXVV zhaaKaAB~3jB5N|kb&-!J^EeGMSsMl|p|{8rft=K_rZa z)j+s)*F@Hb!s}2Cy25x^4BOx=+!fhCJR4pE%CUjCKg|QQg^kE;<2xdol0g=r4mURx z*^&)Pfp&+(DEI(2!ZDGpwE+Ftx)!L*t<>w*ha%f3*S73X1{y<87z4<4+g_mUZ5PM@ zC7>zvg_-ankf-g$wf%|64(f0Reml5s$9Hf?WTy*UyR#4=|DDKx=OCB?t6&#=1Gjnn zfUuv1K@p&>?WztRh7&z%7wO385G?2I}Up4H;lA909@}$qb_aSsb}2 za+LUvqBlo}!~3ur_Q02LP2^Z^7z@bd*cU)qkJkp|cKippFLDBzo*>N=)b|PM`^08A zA#ySm(9TYdgkMEYRfD#$kFCQB@VUt8#DF|b(|3GTPvndPwAnMrjvey@gZ!7BS6?2*F|o2hLx}d4#Kx^ z1s;ps3Wdx-*={ug!rtl!oVz^;roaNAytmP<+o#|H+!OiD2PpuV{#FF4Kx60xePIkx z-rrWhW;g)fz_0L7S?~?8dkgvPH zh}?Sx3d7qlR^<1D@G6uBbmV?hpbj3;J|FZ2;(vfV9#HoWQv>??M+WXaA&*A|pgf>M zkJ>^c42O5&JbT>}fxJCNhacZ$zdIge1IqD)bi8{))ZLRE?0qK(>htNFK)#+Hf=h6p z`!eXwGi3OTYo8T?s?Z$5VF*lvC9n&q&u7RjIuT?C(uyXn=x#6yK7g%29Yx;}C261_ z@D@nv24i3Wtb^}?H%sy+IK`8cO7R{*)fxuCM3@g-;3rWAZ+SGrpa^sX-b>1p8p`Ba zvn23FMe_sL48Mxv?ycfU2W4f3K`;dt!3Nk5Tx;=0LyNa!+PpQ=CT@P+q-?IUdAFb4 z3C6-g;EjS#Lf|cc&P;e9%GK{394{)QyQt8dz}pDpQHFSwFW&E>;`ajHotdB|Acus+ znUFUzCOj=FQBvTol8K9nN>Tt0ib|Ro3d3YL&MRN*!TX|;lmFzzot(U;s0o_@nWY>B zM@6M_paIMV?vAhrtWtM|FGQuu0mPT)h^Vy4KkW=SD=J+om=1r4O5Y470P@H{J!NPD z$Ueg*QLl6at_?%>VP#;IsEm05IcG$MnK+;6H&K~e0qJKx33o+hp-$M>R9PCqKp+oU zkYg6|mxVV_X89Vfz++KaKlBS8-~NXupG9)VfY?yiOL=i zC{K3uHaq!$jr3nbcCURaDhKK3=ntQWVsBKvj(l<&kR1+)%2gM(0(ro*1aJwSiE2fE)9PoSk9aF7ybk37{dp@A#=~OR24BK8QLRl# z3&^H*HE0V1U^=XZJ#ZH8ifR)InV~q;gRU?f-iP&Y7=DJwqS_{f*P%Q#gGd+;i(wml z3D>wiZbDip0M(!^41npd8uq|hxGSoCC}f7>P!Et-d*syt`E)=&9gt54MB2*=3%`l#M!(;U{<~XIAY8Z3Fcua9y58+1 zToKh>L2AecZ$fM62UB4sd=B5jAELq&!)s6$ngHR#2^UVdaKeQXF8nu9J^YXnib5TD z8^*#y*aC#>LAaiT>q)qtgzHJTo}FPR%!W_kAp8V>hGLE1RillFh%mo#p1@wY<0ey%>A0p9*Nc15JeTYIIqR@vZ z^dYJ<5NFhEAkL^SfwX%$@Cr~jy=p-Zps(#U9|+g$INTD|+k&)E0IES-=m%3_C43G) z!UIu#62hxc8d^agm<-E-zOD~x_qisjuY#07dHPbGzLcjg<>@;SmI7h>eg%Z>X96e4S&P>?mY4>L;N5qmk3-j6k^2J%BKy>7Pc^KaIhEOi>`M zF^gccsIk?c86dxLRiO=hC2Bl*8Bbou6aRSfGM>ClXbS^?GEXc7%SBBp0E>b7&}3vX zg|U4~C1?q!L`@~`sf@u>Z;P6ST&7bO(+7!~krqY+@xP1TyY!9ka{bIEfWFKeDQXt^ zoi#z!d#}PeQL{sV>t-`n&nCS&t)LJ5AnN_fZ~#baZYJ0yY94*?ybYp0K;|D%5A*4d z=Z_V&AQyZfY9V#L5E(79;WJT-7m8X!o|Yi7EDZ8PM>r>Hd2`q!YDFiY z{#L#T=)}r{qE;cpRg4X*km0IdAX?Pwlu#I^!WB^;)`ibSePlsaC<)~8Bg*~JaF`Cr z^dofhBhvZkEL;<{hI(H^m^JA1$BkjPsI{cM_PVG~2+tm;Vvkd?$En!kRP1po_BhqL z;=r}*xOUwDm=3FfxYrT)y1Sy->s0GA17X)U1KRxt>3t@CxJs>S;?W=mV2sK70yC;b(X(YAbDc>#I;6(1)!( zfUw(;*S5BRPHej=YI{3)2ax^tB|u&8Ak2pIyj!*B_!j?<;CI z^|^ZtEP%~$0xrQbQF~HAZm0m%^`7alSk&HRkOfKr{(GZf1k8o)a1ow}+7}N9x32=! zhju{NeItN5<-T2TU(|l$+fTUtgxk;g{TtvEToCnz0p#(Ea!?oAKm?#~2axxH*+G63 zb&&K9ek1Bo2%t-c2Ei1dY=_o~I*dLZUI~|h@*n98LxD0MO$e0bDCr*^1@FO5QO9b- za@Yc2i8@YOI!?VEp8*FUTGWYb&;b}`Kn^D}Lwy(t8%3Q;0JNo3d7%s- z*Hc^JXHj3$cYcY?zibQW+n4*`im21%?{r}x?bD;-W1!4m5zkle0J36VQ=Or0eeDNy zSy%oVp37R)BwU=N)5z&X%Nf@ z%6pkQxI6$R0%g7YRMfBZslVd)E4q3Gd0e3mt{f0`wJe}FS67L;hAghtf!2WBuk8Tj zbUg`_fJitD&qUoIe>bR~8`SF!(zuCyZl(pwd=vkhqz8SzA?goUsk{t!b(!)&-MhAIg)pat}RnXpp~BQ?AZ z?SNyGV>1Gdi{UE@)qrb!T;m%IQ(+M4h}R-ss}+0(_r92FxpKTxjFV`9Y14wN(AYCtCOI|A3m|5}U$nPEIEgUxUf9*U9hHE00q#YmJG z2$zU5C#nTQ0eK`^B}QWM!!xZ$Vy;h&91?#6cf?4N1oA>v7zyMf$yG6u#)qs>8v4Lw zKt9QmLSdK&H{hul$qAc0J>&w?PF@3AKzEo4W2wgY)dbzh9s#GN`141gK%5$uQaVx%F>G)>q;=J8`S#5Y8Y3YDtYS7F^+M}~iz1s#m!}p?m!LMl7+#5m)>YBB2sb;!6TaD2XJo zB$1?&Oj7dojMVI6r#Y<+%B76aaxb!age=N=v{|#{_{~K{~&%(@6lbY z?GVwrt(wMn&AO=xo;k`hhlKa)9-;d8h-eqCB6@P5xX-#oIn08p2<96qH)bJ~1+%b9gIPo+itN=UQiVkJ>KV!Bs)$XV^=}{1L%0Wm3`==t zNzW|qnZ?j2eqG7Qw4RImEh>%Ys)8%E=c{pak;}+!>#{xVgvNV190{H#eDw%}>o^=0WqQ zxzYU0+-B}DcbZ$wL*{n#q`BEVVIDDenY+!s=6>@F^MJX}UE(fvm$}Q`74AxRmAjgE zIOXX@$~;}_hQjhkY*o!u_trSME=D7g#HBnWPWC(%s~%W2SuzS7IV1gq1Ac0;aaZkx~`8e@cG>k zH`I;i#&;9CiQL3)0yhcz`OK~CM!U(~6mBxKA(fljO@lsEao=>Sy4BpxesRncP?1*ZiiN!+qV&>G!$0-8^nCH?Nz|&F>a)i?{{dLT+LA z4Y#;k)Gg+ga7((S+|q7Yw~SlPE$>!vE4r23>TV6%RV}x+TgRR0&I+_Y_kFjnThFcU zHgFrdjol`0Q@4>j&%Nq4bDO&@-BxZ3_bs=z+s19@wsqUPSNs-V7VPA=b*;M}_#Lem zZdbRP-*vmY;cid2mmBH!aHHJbe!ttt?d$gQhq&*!1Ks}a0C$i-)E(jubqD+7>3)db zXqY?N9qx{FN4X>1aqbv*?4R}49q&$XC%Ti|Deh!njAkGn_RuiRtqDff`Qz~16s;=6~J-E;oF!P8#1D=V;YejBCbqdVu@7^_!;YGvk|y%*19& z^K~<~SGozu=&&Kc)x=NtaNb-r`XI_I44ogba^FCG2h zTy%bMesV52KYOlA&Si2}g`TFYyveMrm5gPyn29ag8*H|n-k+$y2Jib}6o)+%pRuqx6ASGKA!DpsYxt?o&cH!x+v z`pvpy-L)QA53R@6Q;WBY+G3A(Y$w!7<)n7fI2oMGPF{x{f>?>okji|mG~DUo^mN{K zBAiGk%IW3wcKSGdoqkS#XMppLGte3240eV%L!DvHaA$-w(i!E9rnlw$ru5Pi=-Veb zlNl4H(koA=FMpRYW0v!tGuxTN|NG8dXP)zcGv8V0EPCl^fwRn6?kskeI7>a(3TGvG z)3buO^7_9=TKfA_|K<$iACJ){t8Z4qf0}uCV|JJ~W@qun?5xZxdove)UW;WUJ>QVM z;#_sEIoF*V&Q0f*bKCjNx#Qe*?m53Z_noKCGv~4M#5G*yM7!cVbpEjC+nf33>?7hy zPwzL69xg5Y+AuYZe&mXApI)N{{lidmydEm+UYg4cd8ha``ai!RK{ z{~M))?l(fm*vnux`M0G+D=NC`>Dv> zq$+cu-po)2FcX@@JY_obq2=~U`$J|$F?t^CACN+r*HX*VMr&Jjta{9rDlnIMlQ~l_ zW;FeoIZb3w=5bYm^QU><49Hto{l(lx zuLVj5)+e6Eg?KB1P;W($PR(J>mcv{9yzZ@js(7oPs;sw0OEtablImXDt?9Mhx?bC@ z=e6Bt-ukV%w|;Bs&FVXNv-&Rd_$Bx$4Sl|hrq3@gW6`Hdyzi!_Ra3@m&5{Y|Ry~GBwpEg8Xxy7J9j&V&Gnf}g$h+uYFW&Ij$L=Gu(8K=n9=bS4 zW;16VCv(usiSj<0Ia%hSozr9<8ah)xuov5lWj?yPOctQ8D`X)$%bSYqkL`~|&$Y+M z60O0q6dj%@%hBU0yzg;8bMTc~qh%F3eONwZ96crY8@;vFZr1mKRj^|3k2L}K>}b|LDXeq2mExX8?C8ZxSAX?8@a1o=G#E=Cn|c?A zMGpIe-dAzGr(gAci@vT5CZPyp;z|QAoZ;MKt~BX2*i)h&%HpO?d+WSFz6|y-UELSi zW$d@@vGyXbPtvQG;#Lj2wB3_0iZ7(6+2^IFOJK+lDM=4hQ-8~xzM(EPSl?SA@Z!mS>0=1)DXx2*^((u%TrS-q`3R$r^1)!!Omy<-is z23td{q1G^KxHZBWX^pZ*TVt%T);MdRHQt(FO|&MFe&Rou$NR>5i1ofTPeQHv)_h4| zEwmO%LTib&lJK8cpGZn(7CR)Bp1DbCJ#*v51Q)CelHR&%n|%A)Z-+<``<8uMirJ6t z$HHBh*qYHL{;T=Ro8CMyFbjO&nyb^~8}9Q-b*Z(&T4^n_mdDO$u3I;l)!d4m*W9yy zx9;11Z+`QK^@usnlh|2~vJKm`Lv(J)iLSvKv=8yV7$1TpCoyKk<}T|q-ZGWd&St-A zXSZLobJ(xjIqh6_Zaa^i*Uo3>w+q+>?KkW~c451SUDPgS7q?5;CGAqwZdtx5ulw~X zw6kh`+;m*m9L@M^P(P4|d5{r8_xMt&;8teC7tlzty zYpOM!*|PQx#AL8OF$4YXb3b+^4PzW{Qh6SVJr-l^U-iCP8eX3yUazCPUdKeE*`|_j zWTWIDhq^VCf|%A&1h>9Q_hR~7ra0%gTfjY_z9zpA2<$*{oY-h!@Dw^LmAAw;+8gc3 z&1hqc#MApwlE8~6k@2UNR(ReJW&H83T-T~LtY$rv%xGE6W6scsMGEYfk^E7Xq zYhr$D{vs{R%jWOACGL^=m>*N>ytDz`a&`Z}5BV{b@d>6uiem|(+o^8nNkFIvz6{Sg zX`Qj&*ko)mwi?@5FYRT;^o4Q2IA|O)4jV^}W8V7dwDA?875#Utu1L5Pw4y!z)Vis4 zbQSGlr}de&%lh2fZSAr4TKla1))%a7^vwGoXeM*-SDY{>qmzj_corwClg)Y6$>Zd7 zayhx3?9OXW4u?B!yeaHQ^GEbnw@c-RPtcr^Ez@V8-8(t;ol>M9kFh0(mBRA* z?)fhGj`=qG7WgLl-tl$v)n)%Oj2+DT<`3*ftz~Q)WVSP_mcU`0^dZt@B=vphxp;L0{-$q6$oY`-oLRsb z+@8b(XZnZi579e0qjl|(@}q1%M4i4AS|_>vJvjq$G@qFYTMe#2K#DshA! zgbaD^8`34D3r9Kd)pj6ktTu(z5BljHy&tI!Td%-^f)y_Z%B{X*lNxm zzbTIW?D@Y8;};8oQ7jO@ZJ&?%mv+?ZCDM&a+p_lt{#hj|>rk9CK6{n^m)!WTjpJ{6 zqjU;<-;4Dnzt%D@AHA6i1^;zE(2(b8*>>ZYe=i^3#5rft!+HN+KDNg>s}Tbv{<;e9&*l{(JJ!cOGKOY_o<4{_A}3eT?VlENesH-^<6U=EmbcQ}acL>3>b&W2uR#BrntS`vrdB(IP)&oYfq+V&l zXr+1B-$g&wJ#~*Om9hW1n|M48Wp)0IaglSYm@jy)*fTrTPU8?~rT})(-%!hpb@Q#ZNu2%)BHe=#_)y;hDv(;2zJu8)(XQi>y7;PP&<1^a%Eq^?tz5fk=H>10MiT?{@ zssE_|B54}*Q+gZ`ZyYf#J&yRiam4Y)kx*|ON#czoNxg9-%o|5Ca%GslnzDy-Z^qU8 zRWgIM&lTCizSUUXcR7K#TQ*lq(V{4ITRl=c%?IWm>L3}atBzP{ts+J$=6}tNLe^w! zveB5msyRjzYmK$WXltjj(-`gSt@bvfy}iTUVRW=Vvv(Pt?EUtBqlnq4#yd_qr>Zg7so~T$#yAa}7RDs^ncrv3@~7|@Fh1}P@GmyD z`w#e!aDRhdNOgMt9~?a>5@&2xGv;5KQp;Lz0@_(fdH?JYE9SESU!Mxo|7eLqd-R{~ zAL6Na%}r_BAQ=l_9mD{!4Hr(^$LNLjWA|6fR%-Dv&)Ldxt_PkSll zMPAAay_BOUY0N+EOX%&q9NUyM=3kF{?CTr{~_)@;H)Ov z{_o68lCzU#u_2(c=j>7i6uY8gLqtSGM8%HSJ7UAG*bCi)*bo~wR6y*C*n7id4 zX=_(*3%uVeS8}ZP{XFmU{{PPlpKpG%lbK|4O-V8{nR967=QwN2^r?z*UjE57-$*%$ zc=Ec0YI0d+$zEL9v2t^IWxH1%UD>(v*vjK7`;#imUH%-xH%ntlyCQLKVvjz}HAByX ze9t54o?iIK9_|t4J=4=Y+!ND1z5lRhTDphu_8NRQEbp=Dn@igA(LZIGMIy)4Gg;n1 z?&L2|t(eAr=aKZuZYKSxEATZuW$Asqg7)M*R_`w=EGbfd}Oojj1+fe{+{DbV~Ox&vZ$ujhtWn8>1yWSB4TFpWK!ENhtNp z!*SfqPh1*K?&KOyTuaFBb!i`@Bs3|sPp`D8Tvee%mJU&gv5KCb+R&B!SeNJ1R@iJ+ zu@q0h*rd=zY{c_0R-uoYw{_w*7I-(8^YBC)%HOHwDrlt|dA|OI7OEi6(!b|ST5{wq zTk@hvN}f))jFG0Ljl7d5ko0XTEX3@enm#9oK|jhvP5SO5ZG1OMrIcxwBO`yrr=QFs zNqxBErampX9~kmQd^rwp$5Kju%J$ZzZzX!iFw**^;SA@KP>X+0&uZ<1il!5q)-9Ih7~dLCJumPtrZ<$|y?PWbI_tB=*1hZ+(OR+`sQ% z^E3S;ezL#KkN2be#r`Zm#2@Jo^!gLT+Z0pd`9Kosd%a4sfuZg zK~G@J?n=h~hE^QUSmM6);PhaeazjQoTQM?PLErNC^gY)xM)C&ZDUUJsatA&CV|dp% zhcSht3j=xM=v~;pusQELtr?4GS_tExc~f5)&xvQz;?Ibu^Q=3Oo~IGAVJ=|7qW7o;Gc5A!UUE(aG z?BCkOb}sKnvv{X`j`z%I_Fj9Ny}@3^oBDo z#{4R*rA*ssX1bk`Zl|Z)X>1+unzBb!_K7~7sf3ch^Ketszh`9OXJp}LWZ`E-8h%C= zenzC>pU%SbW}C*R=OyL_-R@AX<2w$ z-8B5PEc~=A{M0P`)GR!8Ee*$8aHe{_^ivgTXeY1_F>=?8vg_%xYkJu=t?bI*aoVT(My8m&X+=s-M^~cja-#mbqUZSL~^NV$s}{ z#}%vQetBH6Z0?uG73->>*f)3OamB{DUmiENGnUHYic8~)OXG@5QQn#%ijFFxt&Q# z`MgqgHAZe{*_&T)ZfEh!&zswst0>2nlB`F`?JRrq^X7KuYP0i-OV2AVjVmraueda> zxb(czJEi$6t~_pTXYtG9=5`jpJTAvc(}!)#adSJ1UmiENv-st4b2}5N95=VK_~mhP zJBwc)H@7p#EyvC6EPi?1+|J^c$Ib0bO3HC_JBwc)H@CC+X(Q@3}&f=HH z&Fw6HdEDI2>?_C3?JRzI+}zIMm&eWR%+bnmb32P)9yhnM_-S0unx$D>YG-k&oyDbb z#ie!@R~|RFGbt{|&Fw6HdEDI2;+MzG?aVcn#V?PW z+gbebxTHVLBkWj?o7-9Z^0>L3#V?PW+Zms7+}zIMm&eWREPfi7nAv&7rFIsV+F4v0 zS6pgmapiGyJ9E}@+}zIMm&eWREPi?1+|H!495=VK_~mhPJBwc)H@7oaR*sw7S^V<2 zxt+x?kDJ>WTa@GGb{4-pZfbS z)f{UE(R0;@xnNyQ7v}S<%{+>jIi}wR4ZP*OAG{XKq_0cf^KRh1{Yu_N&I(Qrj^(X- zfBGHz779G|O;5Me*t+y;Rr9~6rv7pz;xE^ss{WEn`CHPcI+gEeLOBk5a@Vx7E8i=} z)4g)U+?DT@qpF`AH+Sh?VrF~ArF+Gd@6C@aB|6_LHkYGl>CIjFUaXq#m3-Cnic9y3 zE8m+RS@JO7n;%*8OO7nAe6QqJXV;&xi*1?t*2&el=B^1(>&tDUozJuSJN6~}6i@1R z+X?m>p3{ffq4s#5()YD}Z4aK&H)Mu%E4w<=W>(N6{62HIU!Wg!x|wWR2c3E5|Jp8O z&fP3Vl4j8Jcdwmj$Jr4)?VrJHy~BCd?`L~5Z+c_qSQmNDPb?pJnWc=F%r+{35gy2|VD$>R(lhw2ZLpu)_j!|;X&+&x-)(lh9c3@(En)~gj|cJ&(Tlm* zoAL%xW1BN?(3<7+#mzULFt_j}QaFv7WD^*ZxssmOp&a{AvoAefJ?O#Mlo@AjO)Jxk z9;}dZdPZ<^p)F-_d4aE^c-QV~&$FlUrZUJ5uzh$>>B?-xw!EdRYGd;&a}^tyv-mzE zJ~NruIN99Boc2-XVsn-mVvZ#J{Y@{kE$8TDYD{y^VCi*jq?h%R;GN*5UXB%m?f!BBfk7S6>Ud3pd}=P zy5v~ulB20hj;Ag;qPpam;-V!iyYjfSgk`@xE-hi%FON%0nEBBXmR)&VdFIh`$P-NN z%Hzt@h5E^}Lhj1rN}bOA^0?HF%unu^x>xRhxhsz=H8l6j<4SE*Ke-F!t~{=^(79h8 zS887FCvmH=m85D(=8`;6Kgk7g$$4{EzE{qxep0)0SH4&3uk@Bxpb}fGIFtULpYW5O z7wPL^RJO8LB(nzoS4L$SlfU|ZJSv-~T1L^Uf;hVd`aVNOiKI8uNdIj>Z!7&o@mGHg zA-%2P;50@MbYlM+@ny^}xsrYonN2p9vA}EMYw0%`A73Be5Z@Tz6yMCuyeIx}3@jFQ z;`_XAfBQcvD5zn*C*-aMwA{& zRjxt)8LT7W)F!SS-GU=eYJmVGo-bcKznh6v>wEhSz>>m zaW1p8WbS@CznoC{QP-m_Y8kKfk2U1aC7xExPIb}$tD_&t46On2KFn9xkDlNI;sfJ@ z;(_tO@u2vS_|W(;`iGB*kBpCskB*OtkByIukB?8F*Z4$c-<=$vn$EaAlev!P#OE^C zaaeo-y~-EGm&O;zmv9B08O`lZAMD;dNnJ+o>;z^9z0KUDI>urno)33*doVlcD8^yO zGV=N%Gjis;U;l0DW%iod=J)XiT5TO~@bY9ekG~9Gp8msr`(?i0)|KlzznMu5Y@fCZ z)~v-I#*nakdZhHPfKiJ-_;GB>7gmhOa>sBisoBnqp~w3C-_J}b*@n4JFVH(Z#ZIy} zarKw~-+SIO%^B02#!R3Ij2>S}t0ZG#_b}FTTLdyv#MR>|%Ca<~P3Vx~}XRS9V=ncJWnw7USx&i!byu zKh^-qTzpxdx%i$xb1^$JbB!#!MwDHwIgstWvh2E|?7F<{x~%NFwCuX1?7Fz@x~S~B zu>5^fonLmHS9YCScAZmpon3aZ%0iaXGs~_s$}YZa$o38`yG|>+PA$7mDZ5TC zyG|;*hLl|=mR-yTNuXyX^YB?E0we z`mpT!pzM0T?0T>4npJl3rDc|ucgill;>i5oD!bk+yWS|fUN5^|E4yATyIv`~UM{;{ zD!X1RyIv@}o-ezeE4!X8yJnVM&y-y=%C4u&F4o7$QvYPx^+ehAc-i$>+4X4I^+?(E zaM?Az?0Tr|npSpADZ3slyB;XJcm~MQGP&%!FLQ14f9*S}`*}C}(^qGI`p!(gF)P4!~UXnJqcGn)3S8df#5s#{gk z>FHSb7{(n89{n~^t^|~^r8h7_+iWlQ3e>vM?mn$dFbj85LT#BSNl|7?sio z$a8vkp42yImP9Aso{B+Bx0Enr+!6`t787!b`4U85Y+En~aLEy8Cc^Q1|I z`S$a7x>dIBqMkW+myU0&%I1{y;(6kP5gQI2O=(GyS z$n03ucS2IvClXSG;o#X+Y0dC{_+Ht&_T*>=Y z+V8_^H*oq&6syP56x?k2Wl+>LBUyBpZM#BskS&D^WG>g(B#blmf~ z_UqU#qRjp&PlDBXN0pG5uwCIUmfUq05ptQk5T6k|XW8UhcL6?Mx?#9S{lgKsuT`$) zhNQ7hOkH6K*74~Pj$=F09g9!HKOEuk^t^|rM>r%s!XUQG-NE=Qb^~#batEbH zJ1{+hmV@2XkbP61Kjz(*_$+f>*)DZk5N52~9QPu(SsIeE?zT!@&Hj727j$x+Nng=* z;#l9fj%>ejQbR_#_H38Ac5Iiswj6V@YmIxHt7SXNZNPS{>w^C>S!F7@-qo=E-j&#n zc18S`xE8pFyOy|@x@z1bT`SxTZXLFZxU2VI)>K#C?aOu0twE?2ZuQh+s}X9MTNR%X z{2IAjV^iFtTovvwT@$tqjv7nZc4?bb;X?je=A_P!ke&f@1AAENA+5mQ$_6t!IhS1~ z=i=AViD~O4q&(p#BP_Kv{?ev3(^8))8-K_JzKW1o)InmUwa-%fl2Ml07ZYD*Hd*eh z_{?HElD`jRo|w!}`pY$2?kP#5eV*-d`y8WQXVuKQlL zqpZ~Fk$-L-E%lI8NIh(@Qujt#Y8^4gu^nx%O=F0?M~iQ2`7x<$wg23HNDFFDPg6aV z@GI;oY_GM{J1oMpBo;ZF?NWOdK4a~fxR+V#Bj-Pn?KnG_?FcKiaHgi>j~22HB#%wn!5B@U$9+ds8`8w^C{br<}0@2%qRF$7o}b?=Uw(n?Hcjt z{4wvQ$9PBfn77kVZ%I7!W_r{&@EMsMa$iQ(f}cc7Z-^N$ag?&Q9cr%ginKj4(H|9c6A}d##y( z|Ci)!-+#zi+JVZo%{6JvtJ9cc)0kID9KH{b_@mj5G^6loFylzaD2`8^i5tkvzqQcJ zTbELHS$f1v(<92Ae7U(8pT*`P+@s8e>CrEcBW8I^3&By(NPYg$W}CzDS!NDnyVM*? zn6c&%+>6YhG$bvTIU;qf6Ep;Md}sF#y|Xj<4r&U|LKErd{x5Rd?3tdoAKT?-caF4J zR%j$Q`>-8l_GdfR?1%p{zILF!Fw$y#Z+f#GZFa$biRq4exY-f+QbrZUQqq1j7}^ig zxv%6ef9;d%BKq#hXTt9-ivM2Na|B0W{x*LvF?(n}n}O&^j(CtLX*e+bdlA3lF8&Sw zbRRZ6O;8p#P3^x4XJ2ME#%F}tC{4+RxJQ`{aDQpKux&8wvn}6;O$Yv3X4^HsUtRW^)d)YztSaH;Jcwi27gIEck%X%Ng+}ulN;vj>HNwq@0=F#rYz;#3i2v=lkLcWmW7nQ&UO)HCaq4(bf)kh--b zpl)Fksaqohsap-aEr?A{NK0%3?+;Rf7X_!MC2uKtl$OZgwDj*qw4z!f|MXTC$enlv zZyj>&)St>GXOkMxmuL{tx|2^8pO&=S?N%%-!lDsk$e}Kwg*P+KuZ2|UqlbH6RY6l zYvA1T`zko})i<-HKlIm+%zEsn@m-bl*?*Pw+ONe->|M+K_SgL0b04;+?|wH*bvANg zj_0f7Y4)+o9qlvB{&)@d%gh6L*}h!a0}JG#deVOW$ooVUKJwMrKmC`Sl<@jr#>{L` ziW{(oNp??IaW6S2If?D5$=Pg&Cw!Tb+>qSBc0w|d?H$P^w)Z8I**=)C!ZRx#J;wIQ z=gH@6mnMwzB;O~ju&iI#Cch=W;a*uuIx1ZyBX^a)l98#( zs!GNQDqB>xV9RPrY>Tp95?|dn$|_?ae6PTl(vJoOzG8cv zufS*W&kvTsyD?g^w z_-E$*G@3eQ*1Tb6u#VR>X1z=@6X_$mhM6yy^Tc4dEBtBwoPRUE^f9HCb#>D6T2&rr zI*5^`!HhMr&dz^1-t_y5S~4mpBTu(Rx6u>#_w{+^$X8E%D`OIY~Da|bW1@U)PH-#jfOGe`!ry(i-C!WaC9bKHxfyW;-QQMfLQCdGS1N0QD9 z7^mlZu()4z7=I08g#X6qj(GQoJ5V&Y;$yaTvch!qMa68kb1FV$`)S2Tr0qOr1&oVj z#fgX!#|M~^(I?s)_c_cMxF+5;+6(tt%pYKN7S?Ww;xqZ$Wo+Cl>W}+$R#zDv_he<4 zh;hqF%fw#UU=u{}245)1t3Y5xm9cxnHSiM!(d-gEb1QWYe;vj+@5byqG~NimZ#;L4!q;Bz7Kg+e;{M9ZJ!4S30bvi0yHp&3 zT?f(*tY0B_?1SR<*d7>nW_v)~iS7PzN4ERL>$2T9?!b1RxIJ+Puqp@luR^2eu2fj& zX-^AFJ#9&0iKlfcEasC`TUb=Fl5InUe504O*7i!%J#PMAuHd-yzhAwvVx4^DMp?Hp zZt=&J8+F}AbJhRqx{Zfqt2Qo@6&rQE#(cHLzpmA&D>b^ozpvEjF3^=4|Ie(`$SNxT zG&5iqnTL?JK>x>AaH)8wvRB2sthDjRHF5rF&5aXTF_N_+|HC>s!}B#HE0*YbIRBlM zIMTHy|3@oL%3Bxrw*S1=|EnuZ=Icwoo31UX zD@*3_a4N>XBE1tnQYNmfz% z_iHDe`=3gUmKDBRm(_S~|IN_-@GGw_`JYyRDX(_9 zOjjvNzhtc__(H;8gY*mB zF8Ir}ZJLpN=np- z$_n$qjMRYlx0L8wbbBSb9o->Ao_V`xh@YHK*adoI$XWwCWgLw5%(w#GIb$TsYV|3% zq7q+t5qc{oL3dTmDrg^txj=!ext^}OE_u>dF=ETz6(ecur~Hn%9``(y7RJj2diue<`tAR>jm>Vy02npq5COjHp(hdf|2|^K#5qR zg1*j_XbO6e!iow3&(N>q*u@#m~(p&+PN%&+KNh4G^xn5QtJ6!1Ms3S&$`Ab9|`Il54>CG<c^ifx8+4T9V&40#~fz9?l#NbeaQH`v|LM3H-lk#hs%m4T7-f!t4woCEA0 zXj3JTt4j3;;vD9}{ROk&)f5*g7j_f$xH41&@ zfvHt2`Dj`z^!@~8kjC=$08``>hn)fNq^3`Or;aRzzU7$&ftRR$+z&Kjf`2h7*|W73NX| z^6Zi#`OsZqrbQraQ;OK2hr+Cm!0ePE_UNfF=Yt>Q&Jf%5QkW4EnBEz3eY+~I0_~Hr z3%Z-aycB+jJ452_t}ttbALP!EW9*?gDM$S?hN62aPR_qq#s%o!iaQV;kZ~cpkKztO z_szHn-A{1?(fu<^Do)ZiBty#iNs5!Sot*IydWzyEpr>ZMfu5!?`z4axG;7pLaW8W$A4q+}=Y#;OrMV`UUl}h@2KO8sswa^iYm9i%31HUCI zG9!BwKSWJtM~n6VRjtK!y1Z&Q4G z^mfJXiAq`p$@4oEw;MW1@tx4SG91dC1{GirC5i)tuUI;54$S%S@hkEKIkmP)uIwk z5L>>lFejBCYt0b5N}9k)`T8hBY%FCLn9s@&wq}UEKT({NyH7L3_Hz{G!t%qdioFE= zT%iXtFkdLP30kKxt{X5%Dur2IftjmFABUNz*cx=c5{yC@DE1mu$_FrqATVDl%-`e3 zTQgQe7b(nQ}Bx0$r)Nttg9_Okk{@svH-g+}tXu=QgHcH<$UR5i zNdz|tZKg=uVAoXK9cXh!+6%Fx;O<0QDsq2dR$_`9jIOOn8*SH7m}4DS+DgG=b6c(W zzGzXAz6W^^Ot}}WQT+O-#1Zy~){5_fQvL)_S+ZgakTPQB`oWR6w!Omqi@T~)v>PZ+j=iBG&xv*;#mRX#R-_HE zn<#EEx@iV=)o!LZDHoe7?re06jF-`_uqD?%5S8)@($8wQR-}K>cFWim-A0jjAiJ$1 z_c}{`5Zp27_KI7H?x1+NrtXR#gzl&WJE1)kY1gg%4PLIhry~7WcIS+v(O!zYi^@B5 z%ByH^MV_auq!palvyURrGIlq`4M6)U(*DVNui(B!`(;SElj|q1yx3BXB}f`2Kfv#e z%CYvz*cSyaw%iXWYhLVh0368k-l?dRGYC&d#qJOeMGww+1r-|!SHmHS7aJU!aT9u& z63#^rSG?ry5gB))N5WBX8;I?M$3gN5!t2pvGu}dv%MhC!pRoWvA!9x|Sn*PZPlO@Z zEkIAokbFN`aS3{g;tHr-KR9U{PE(xNQ?4JJM@#2;; z4Nh!-p5m~(m2v=XKXe#efLm;Hq2k0A7b$*g^kT(JS-4d3QuZ%X+_~uGij(tSp}2AA zl`xz%i!G&`fqM@fskqtbD8>DVj#k_+=olpw8(yXO?NP~l@ZHgC6yFQIR`F7n<=o)= zpw}tBD>_~&a8S8V3tr064N53^a%0BLsFWx0lDG1=@GeZq_#C|@<2Q7o;-n1Rs(8se zDQDoRd-nE>L(w}j4o4>`{y_9D#Y^7Zt+;d0dosqN_bOh>$$c=H=+jE2q-TawxheXLQn?8_6P^u%N=e&u@B%-s-2r`3N!p_?De)Zi zWhIt+`ifGy5h~|Hbu_IY66QYtq@-&QI+qVFh`ozZud%1-DkC6Vy& zDai)t`%2Os{Xj`1{D(>+cKAq1f%Bs-#VZb+nzeW@fnqYX;Z6J4Yv zJz}5`W5-3zV4iIHSaz-&uv3 znt>yb5OYo!DlzGherkakpMkWq0`o)z>BAD3@fpZ-fWU0dK-y)2`JjRHmkG=w4dmHZ zh`BzuhLT)`uBjwfqw6TlYYgPsU5L4UdA<>1Y#`4x^8CUa*}$!*B-f$jhwF;}c(gn0 zh?{!ndcvW&Z$J-&6LIg3o(iYomh%i%q`y$wU%``y@=PObvwsIYPl?3;e8p6u7b`L4 zjxYIAV#!qri+FNAVk zVs{8At4?eRK`&HniY-I(NyeXqK(1+=BJU+mYzH#F<-~RnN*-RX1ae(+4v>CvccUU> z+tM#4n2zYpirEgGpoEp^Es8l3ov4JA33)F~-%Z61w=1F8^A1J&Hsm>8katHnNeP>x zvJcEh=-qG+XCAxWRTPx1po+G#gc3HL&$ z!Nd3uMrGflxTP#S29M(w`#qufH_<1RP}1@gJWW}83!R~alCEbmwnk^dvm8g#_#C{5 zTh95C626S)%)|W(yh<2wuPLGA$?Hl;`rI2C-B3vrgpyuK2ZR##ZNX=LhI4 zc%LxsQTZD}Ip>Fp7yD;;!nrw$moT)kf`1SF8ot3j8~s+1=Uw-mBJI8VUXeam_k-d; zL4Q<|cBqtB2qf;$ii~N<*s~ByUi}6uIT!W_2`c@j!KJ9p=#M(ZpMw%8r4Je@(ia%U zP#|stTA`SxsD}i0g365T&?btfJV-ef%$BIc0e>;NO2+2ss!FgSx>^R;B6V8`c1G7w z{Ml%;jP=nqmEaPzc}5qsMTQ)+r6OY~;aZB>3SB#6BXpgNP0?10j0=U;ii|mjMMe6& z!xGS*`C%ySX4n?C0P;rgk{-%Rid=h#49a%6F02RJgIvP~AlE2q1$p-lB~64Qkh$li+F>%sxB58+=&_f_QCD%=nD zC%lx?0~9+EJy7xYpa&`bZgij`^*B6OiKIRaQv9XpA&S2jJyh|Rp@%6^6?(YhFGr71 z{C((=ioXIqO7WA?qZNN8dW_=lM~_wfaP&CEKY$*u_z~y{ihmFttoV`WiHe_s4pICl zRLVN|sp!cWQU*^^oaD3ER3JaX)09Z+)=6j&QgMn(f1VT>kZ#mg6&bs50F0H@IxiI9Q{a< zew}c3#_s6HiWeJyqIfCSpDJGLJxB33p`R&UZ2!69Z$`gRyyQb&MnAM(iPl2rDrReR zp5i61<}0QfxE6!*=Per($RD~CE79ws)-}` z6VNKfpNOub_#xH$i; zDY_5rOPH?c0ZP0TdZ-c)L=RKqqtL_Q2*MwWQvQUv1B&g0xD)!M5^sxAo&-}yJLAWEIBo`t`JrG8ao@8lr#BPF38SI>qo@jnEm916*s zC}mLKTgRZ9GFXl66Y6(0c~`v>H+8Fs?S-HjY7`mgDOx4yjylEmL_;MYPl{x?AbtPE zSP6Qd1x3aIiWN#g9u&PI{q@B}39x;!Qn6fbv56Awi&7p0%k>tUD#3o}DvBjvimNKY z{^)9o^wSqtR|4|0xQ1c}p>mxN9FMN4NPl;+xe}a!wos)1yVz0*2BTsZutU+cm4LEZ zTt~5|qpg%+2ui^g>=`IV7J}huNs)f#VvQ1vLu(c3_bs+of;-VRiuA1(+bY2%w4Gun zqwSU8F0_Lp{jbG!mEbnCqayvpMarlU+>Lft>;vd}O7I%GzG5FmyC}gcDD_IP52G6@ zM(j-;6QsYexUpiy_S82)`VEVlDn{~QGe!Cli<>Jl@2|LpBK>#8u8I-+ZK>F$DD_h? zV#}=+yA1877_sX%iuCyvw^fYTY&%8z?TXtgM(nqPBK>zoDfeK+mQvP1`tyoXzQM@# z?W8y*A{))^;EAFW{$2Po1%SUgZMm!k(M(qC8{sF*9zgB5o;I!KZEMnyR;NZ(>njs@l#RN{jhf=V1P z*P=%#?j-a`#f(FbQryYt(TceaJw|b-pvNjQx2SlW;x0swSIk881jSv14pwB&QBl$d z(q~zeG=a=NDoQ#)`Y(%eZZJ=xaz2p0x8kXac?vyEkv_QMP{llro~}rrTv74~%nVfW z2Be>^c$Q+GLC;pC->!I$BJ*sD=PK@f^gPA9hMuoTKU8s;B6Dqu7bxx%RBQp}EmW=_ z+^48qGnltgxlV8&p;A7;yn{-a0O`jnN;v@YE-HBs(w|klQZetL!xdMDj!=xGd8Fd% z(NT)bqbZJ7+!Az*V!lVmD$);Cyh<@YpjRu>FIBuoF+ZYGhCuqLic)UCK8Q+L0qJ`# zj#r$V_j<)GMQ>1K4n^@sMaB$^H!J>dbb?|etdukGN1#%+Adt9HoX#8 zk@+0OJCvXWdZ%LLS|%w$OH|4b*a9l$27~oUQ~V^kGHj))XI6f*SNu#jHdh zQ-YJw#}ye@EXl;BkK8O5H1&QyZa&}S8UF8Z7j z3`L(;WW2igf)bpLzNpB!b@3%7I0JoIvBS_;l;A`3RYk@Ni&FO>_y~Pnk@3Ug8;aQv zm3j!S3;LE~_DA1V+y&Q@gJaq(ltZHj)Pm_g{LirWmGqnJa`&lI;g`nh5bMZZvFe5qKcn8VO|MaG

YQD_-*S7sVfm{;GJ%)87<-6uLt3lBX*be{>+#Fenvh_XeP} z3#C=?XoIc_YvNCNF13Ve{Le*epacFFqU*v2_;bCb4T1a&Z$`<#(suY$7E0U0PS|!E zv={7#ZRNcEU?0Lij_#)z@~uQU7EA+rkYdQU(!q)$-%5jkYm$D8k{s(q+-smi6zNYb zouqimX6a-lJP$oZ@sc*$0zvxwN~bCQGjymT{adBe75_OZwg4FiEuE?OI+S)tkba!f z*@`D0OXn!k|4}+u@s#D#Fu08Ha!r@R=pYElm(m!x4*%ikc(?`sr_hOT7ycihcf*6Y zTcJ~6I&N%HdITQDeLVUYJVD&f=#xr7K9%HH5NwS;tt67J8H%TFm7Y&I^K?04nKQ_zqnah?f-6)s^TWbPXk% zhBgE0azt6FX|5#IXbUCbfHf^)Ey9q8HERRuipZ0iR=}|%@~@_(MDL;!rP5{?N;CoOsYDaeouLpn?|*GErPVoCdHFckZf?wZr# zOx%*jvw*fCmh+qo=i!!gov*|jqr;R~&U1khpNw7z7ZG00bFmW3v8hWnm*USkYQ&C| z_n33k(C*ZXz%5}%!YJHwY_S)_1JJQbygz!C5+9CUt;8pwVr%ent=B5?L8#;hWg#Af z-k`)spf|!z_#cf*{y{>1)ZD5>UC`T4fQoKCDPz zY>kv-h}xo$E0NUWCzPlLeM*ToL!VY6>VM4)CE5agMv1mUKUESr-W(-)6#Wc74}!vR zXoHf-dA?RyJx!+E1hoeHzmGblAbyb&zlX+3JPY+ofjG5mC<$e?wz(3oL|Z6vQ?#g< z;b=)Ql(kx}vzC*`tD@Lfh*v?eqY#QewyW(-`YlR15DJp6jg^4%T1)#Q#H*u}8zFud z?We>qqkBMq{NF(LguQTM*V?^df85Wa2f#qwub>AjF}A851m{zpzeK4|LV|&6FIN09 z=p}F|{uSsIN=zQsj!_C?zp+YzHl+3{rBI1ptrXTmuTcukQ0k6QSO=x<)KYf}ViU@3 zE#}c&Pl&!j z*H+@zs2mI8YLv1d#FU%X)L|j2M|&yJ4=C3!L|>t#we=CWm!jCRHFhjaK(A8@x1!^f z!bBd$ol@8X4V41rr48316#Ap&pHS$Bwo?jwqwS#s{*rIL`eN9FYTnvh`$^Q3LB%;AEB^0I#VfZiax6p zx}q;AssD?(A@zR=Hx#;~FDr!}=xa*c7JXeQbVIpTp|CZ&P>CeHUnzxSf&lZU6m~|* ztM)PBcSVUW6ndhECr3R?w1hc%SKhG+|=un{^yDeQ?jnD4ubX0QDWMG_0Cre=UIQH!U~u{mzGL&Ll8{5MM=&K zg1ZPK_@O~?4{flJR0cs^pcHmOE#MbihjN{DopCQl*8}Wi+o0r!U>`&KDE1kYYY^;9 zC~b;hUqg3SENxXC^{wte{IPExbwhA_qtqF}QSa)wX2G3~9tXoH|CEQi3*a)`ccA1` z-B{d|-MXuks1CgvuEk%DJx+-zFLiP~x8wg4D)Avs&^uugZfsU}7u=1TcBAedxDWR} z=w!Gbx1{X>B|Z{;P>GL6r@&Og3`VJ^br0db5Ty+lVoC4AN_-{y2t11a2vqC{@o4mM zcmg-qR!4oUxG0k_1H_O?1?skrucJ=`c;(5ozc~RGMp?zTL5-V zmZG)L8h0bwR!P1_J1MOF8q{}&Ehy()dwo}+ttxO`^;^L7sBAEv~cq0cMP%jhg1Y@vu^6QQyfif!hyzrvx|dG2i7%g~PjTUT%`jYg6C zRHIb_Y|%&@!BCzXL&b8hE<+1S@-2#8g#!83D93`}B^28V<_@$9u&KQq zU0spyY#N&>mU7mJodwIaHC97A&L!d7!%nyIVRO=aFS-SA z9ffJ=u_-~!Z{dE!Zv#RQuMwE#{ZfJgs{}9apAr=KP2n{kAP+07BtnvLUND(ooqpc# zWzXgpvd6Hx?^pIG7rKOB`d-DY;nsBPxHfKGx1Q_jc65ibI^j@vKEL@i!rkgVa-X>$ z-Ou5f;mzU7XoIHPRWm!JdY$SWt9Pm1t-4=z|LT3K52!w(`ljlM)lXKxRz0iwqv|iK z7ghgIy|Q>?ab>AcTBWpRsk+pmv_WZ$(sretO1qWzDeYG}pmb2_;L=g06HDioE-Q^L zU01rLbXV!Y()7{`rT0o7l|C(fRr zKCfx0`MTEBy4twb*RE09qPBHy``XU6U1~S3-MV(S+JkG)uf4SPirQ;yudltgc53az zwNKW*Q#-5n{n{^T7u0@PySTM&9k*Vk_3EwHZe48Mx%K9)d$k_a`iR!!+eB?zw&~EO zbDLppE^9Nq&D(9;v^~1*+ie%OyRF^5?H+3PXuGG|J=^Z(cCWX4yWPTeU$N+Q+`e1; zL)stFeqx6;I<)98pu^!EF7NPFho3vH(Wz_axbqsFTXk-`-Z|@?zy8WDEhpV_*UEdk z)Nx;|>s;5nZuhza>ju^xTQ{ukvbwQ#a z(T&$P-qbj$aaQApjh{Ex|M>ihl`AQ6{HqBj1`n9t=0(Y4 zPf6Iqb!VOE!`!LvEO#*_VU)Yw&2eA5f4N`7Vd2C-m4uxs3A7Q)UR9;29=I34Ji#PU0xbf8ef`N zy1O)`^hoKY(ubwlrO!&=mVT_Ex21Z>ucLMNC2a9rI5b(hy&Rd-$89d)nN&8hp2lHlu`)UQ_GqP{jQ37zY^)^A(CPyGRDNtjhn zQJDM6+>aYgqi<}ImW1lY_LPKPjVDtQE^i#ucthjOjdwM^*EqZJi>xGY2m1Rzd5)#E zxzK%DIKOaS;Y{}$e;rpigkOl;E9Sl{|9+!w|MS0nu3B{)h#K)?cyUg!((?{WiB|!7+13%^f*+ z#N6Qvj-Su7()=&#?wkKhecJ__%|CViqY`WWd-9wxe@PH5q}}Ey=PkTi^pF1*&05sB z;Qa-^v3L2RuCizD;svu8eDuZs^FLa^U7~?I!-7rVtOchm;BK^F!h$UqbX(AU!Q~5v zEjVhy5%XJdhSi{A-pYAD&bx2k{qsi8<1T^^N1MOFy!Yq5J?{-t&~e_nb03|1bN$VA ztIOW}U;Xi4yjy=({m%70>yx@K>*m+pP*+{I_7}^(SXfsvm%Hibh0l(iv-6xTbNbHd z@$tM5&i-tRk1jmylS57)^jU|UYObyMyp}sp>sxr+t7=-@9>P@uVZSv zj)i!L`r{huWYumSLzpAFC*)7dpS@XCxN3>Y0 z#o9s8>bbRsw0Z)4tkrI8uMC1!+g8f2D+erE{+#_JY#Q-~&U)9UvTpWda=n|poBsY! z-fZ)Kh2Dj}(pykCv~YRh>%zB%72INe_M7JWMP+uKZ^&4zdpzn_a2E~b@5EN7`J?;( z-L~?RKkunr*o0eJ5Hx8CTS2cTJU^f_n#^qSeN~gHPE{LMZC=$){N!I1Vc2$66}SAW z;{ICI9|mN9@2~pDZB-xk!yo@uZC}+B-(I<2Rgc^yTD29wy0~pskE))3jrYe;X~+%# z>ht%%tGL3dV(y>+Rn<3*Kd@?0z9;?rAJR|kepLrn4g6EM?60bG(pYS(hUxzJD^~G+ zJ-RPiCw?m$9la*2R>z*-%Kns<^XKp@+W)k+^%v>d`Hife&+5N{4R#223HAyO4z37B z2Db(;n#8PP)-r9)daTfVx;d}>%N4Jf*Uc<5+kDOH{8OS^;)*zmXaAeu1E~9tzc+nr z^gwi5^ke)rD-gGeiqYh#I(jf}#VW#0;^t999LAOL=kc1+_wkN#kN87(ZM=3gFJ2Ju z5VwdH#m~e~#xtYw0YyJ31YzKKQrafiH5e2e5*!*F7Q7z35xg0^?AJEyo1SK8o}YF! z-J@?!4|A`%k6$>r-+U4l+)%r!`PGJYZGLL1IlscOn?1%JYmc)>@%zzF@@opy!#%mT zuH#y{YS+@Wh`w`cx$E3`cfGsHHP~I;0)8uEji8D7EvT~1fAKY&53GT6X2XEO& zg17mO`W-tXc-PJhX4z@JwSCi6+F52*`?2q5*0v319lOZ1vWtCN`=zP1^`?t!Vm5G9 zW<%H1Y~d=*F0N>LyOP<})tI5Km$|?lXfAXInTy;&Gs+!nM!VzWm$S`ScY?Xeoo{Y- z!+ZyKo_WAsZ60(tm?`c?Gu7Q>rn#HVLvDh3!+mT%b^Owp`6e{x+t8ZtLT5+X9fO{} zx$WWCWhJiuL2uh9I561TuVwdR<*c)OHEUyC8I^+3VMlvMFgtkFw6L@7T)&6!Y&Lh5 z<`lD&Tidtydz!P|ZoZSb-ks)K`EA^p=61iIxzpU^t_j=uj^<;x&@6Yq`J%7!JNh2c zwo!M#zwhmj_ow(%{b{VAG|(RA+n6@?L*LG9@Az#}>w@>}v!;)$HPhWK=3zI{JmPLO zkGk8;WA1i)NwA7-60B-h3AVL0!6+c+74+*Zd zHv|v(^~^?Y6@Ce%MX;T%HAlFug4JvitZr8ij)ZW(7k`lX$*tfQ?vjs*WUDZ z9n79?U9*?#Xg+g`?Lz0>+4f~W&>tLh3HGqNn$~8LJI1Z_8~8!NPUdCS5INHxZJO9u z&G~LmGr|op^W2wq9lx31-0tM}w)@z9{Z@Wkzg>80cv^URIMlvkul76Jo5Hz%3wx)% z&E9Sw53lDpMCREAcE0cL0%z<>-Y^QhUF_s`@q76JZXdr7zd*9T+s_^0j&w)+t^Mx4 zn>&{$%yIr$f1G>I&E{R>moV_#`|iG%-_7^&T??T<9D9D4*NkTz|id-<97a zIou!U_jTvkv3@6is6Wj2RFa9E~ zkLSh<7DGD?3C=B^h|mrbCY?=M#;v}n@Q)SOR{y+E!ig7 zHrX!OKG`8&#BZ(f>p%Qb+~{Nkzi=})851`q*CykVHc4BvtzY2Z@$dRs(E?Kye;m)J zi+p}?PB10-#4O-IWlZw&Izl`U1omR z)O-}K!WhY?W?{H@cyf3_cw_iTxK}thJTV*+o)n(XQ~UVvdjDp4pMT509Zq&zhxdmM zgww)@!s+3|;mdAb_-goCcvJYO>lQv1zV2W3ANUW$_F;!`-S8Fvk$>O6;@|VL{l|7s z`@T8Rf5I26dzwz+RR5ZP-MOMh|5Z}*0s zf}Q=@;rhWPVV7`2)75MhZWL~6ItNdhll(A$fxpmS6mAiA^_PTOhFgc*hdYGb!yUsO z;m%>Na2MMuoEOdy7laM=f^bo|BwXt63LC@k!XLxsu4nk0>u2{0SGaG&m2PfiqcAE& z6;TpZMm}0KS}j`LUT80}xB5GxHQlNF&dwY5gQ#h=ik;~1@prp#Bj+#m_xj7CDu21Z z&tKsu`z!tZez>Mui=lMxt?`Vy1gK)7Q>mM@B!>_}Q!*9%*;kUtkeBE(> z_;a{x)GXXBYVNP{)BV-{VSkN(#9!+lH6KJK+$w4jc8j8L8-9^_TRSD}8@2S~{A2z) zKi)qcZW4awuMfWu?&X`1$>Fd52LFUvH~h)|8f;{%gN}Q1iqP5J{{u$HF&on2yoz1EKS#z3y&QI{qyPw>5{JPNhyzTwqZ}BhqbN!uu zqJJ@5FZ|Mc7zO@T|5DsOUN`O-ZxC-3ZyI-vx8(Osj^Y~9Ya4zPoQQ`@5K5f1AA}xSM(N zuQ5md75lJR-F|A;uyaf^`OH9!&H6^>u)YwMT&RNsmIn%*~W@ERi*~G18Hg&6; z&Da?ZsX4hph$6NUCf+z(VD0X`2T&9x6fkhvy}-&A8-$68f!!V00k$X> zDqvuDVRyHpa{u3%dCt9Om&I3o-{1fD+x?t79p{&+b?Qafx!Ol7Qr6dcDjR4_ z>8n}FhMKMP!w%AoG*j7FU88IQMtM_BRW{Q!Wpg#F%)qYAR_xGh!*0xW?7Zy2F3XwP zk;*LXC}p-bS9wKyOnFsXrcTfYs}uDd)&2FDdVn5R57ZOtL3&c1r2Fc@dWl-2m#UNX zGPPDOSL^f&^ zac7E?aHcv*XPR-4^QLj6^OkY4^R{t~vr4aa-Zhpw?-?&S9~ccrBlb>huk4`gs0?+F za6WVocTaZb8D|^k80Q-28RsjJ5PJ;6QEc-MGOZBko|jf|c~fA=KZi@vG58E&k& z9d}mT_zqxdxgEq zUUQ4s$Lte#J$4qm(CzK6@Ahzu-9on5oX0L>SFrQg`M6X4409uX7lylm+sEzeZs_ji z_H#FKH#T=QcQ6BUxH-by!yIYuX^t_+n&Zq-=H6xkcNw)pD(k=d9sgv!_{X zt}s`cPn!>z51LEON6bgf$INBsa`SQX3G+$wDf2$pa_U{%b#P}#U)O{#02h zvp-}}3wM9?!5tvQ)&|;Qx{>ZVeVo2O?!c1webt!!PPGlqeaz9gCuuzHP1+x~DNVs$ zPffT1>KOA_$h9ZquBcOSkJOpCW9l5-KXo2%iCTagq^`y7Qa9q}satR>)gtp<_aiTG zKXyNHKlO%L3#_ZHYpv_7>#ZB0t#{RLw7&XkeV+S0^z6&kt8qixN!rQUDcXGPH1kdC z8tXRe1M5@kbL$K1OY1A^YwI)X8zCeAVEt(QWPNA-?Ec`5wSMucaHrhCUX2aCum?>p zq$lyW=5%mp-TZk?h*XvSkV_USwiX&iYF|iV{nU-rjm6D5o2i?tTYv-H3ewpCb)Y&(-5UJFw(553_K zPzDJ}X#_Nkd#EGTJ=ML`QR?2x){v$$%HztD>OSgdb&NVz9jETA?x&7dC#VzE{nZ21 z1J#4nN$SCBjXGJaRqND@Iz^qTPE+gEL)7VNgW3p+ZB|><8EPxI{&uxP*+!iSxpKC$ ztvW|NR6R`jRXtoi0&?b2kTj20k5P|Rk5i9V<$XXWVSmYXz~%WW?!r}1SIH3 z1f8p%r=G7~pk9dE>Mm9g?^N$nR;zcb_u&4!d)52YCF=d^1Go+EA@yN(srrcesQQ??OkJ+7 zz`c!6s82!$Ua3Bs|-0 zeYFiC+irw!StOLH$|6Xdn6w>bI+7{ZD+E!YBZ2)cr9HecnZKG|gZKrLo z?Vt_TcGO~89CrmKHD4>yO0_cF99W?Z(S~X}X*=T{!Ckf8v`Vc?tJYFlS_`yc+Hh@z zwmW#=q_&4P60-DO+9*iEJ|y81Z8W&fvD!H3ts#qO6SRri{%1+v)$`{&Y$`b8z?F#KmAs<~0ISCSqcD;53ZdklYyIH$MTc|C&W;AGM!wALB0??z2+T+G_20?GNow z+!&cvzE%P*<0;L`8eIb~g)@0N!*{iYsVZbX8xp6Bi#7}NLcIt!CVmfAFIbw^)B7mH zl{S5SWrotCwCWo`E3zT(C6yYIP4&(6&GjwxE%mMR{`vrYpgsszscrOa_3dDh*a0_I z?x@G~xH3Xd=t=?uJ z;ra-DciewEQr}bGOCP20t?z@oFvs9N)Nwi_Q)Q&`sy<$s1=)0>zQ2BeexTB!v@0`l zXXYgRV7&%bv0A-O$gNZLX^@={(WmPTdLwS8Y*zNf{hBlMR=o|@k`8^QvX?#!_f^h; zTzeR9-#kJ;QW>Ru0E^mO++lf)ek|-M$AhDrhub+%f|czQSXWMkedToA|8*wxLTBUV z&U5wiNKbT;vbTOQZu7iUzf8Yeze3qZnGLJlRj|fftzV;Gt6!&IuitWiR9IUHvNuGDW;4prtThv~QJx9fN4cj|ZHZqR%5#rnPaefkpI6#9Vvp#G5lu)Y-c zhCZr4rZ3Z%>nm`J=o9*r`cwK!{b}4O`mFw({yc7qeNlf&e;K!oz6uHbb^Q(HHvLWg zEoBUBgRAs+aR2Cg%2@q<{R3s3{-OR6ZY2Fg|5X1>|6Kn9_mh65f31H5%h7kZt@H=T z6hA5ZLdyRI^2Kk;AIe8qQGeI}(Er4JrddNVROKW?Q}#1-!!Vd(8Wxv+ao?$D6c~j@ z5tnhnxAii58|xW;jP;ETa3AW1Mn7e|ax^%)jg3w4eV?OX@tkXHW^8V3VQgt^g}>2}>>80k(~x9^6l&~l z>|u;F_B8e~Mj3k>`xv8*F_5yy8T%>|jQx!9#sp=eG11uHIKVj2ILMe}9BkAm`x}#u zTBFX$K)ZFHF~yjwd}&NG>WxE;>73im$>^;{o6xV!gob4{EUt$t2O5VNhZ{#2M{@aH z`2j{Em9fCM+PFq?&BhJJjmAyJ%|aKzIp*7P8iBiwd!Prn*SODEV%%>$U_59% zWISvvmHaj5tc?}M<3eZfl(Euy+IU9!+<4Y_&UoH|jaLN3osS)cW0>#;s;eYOGX%Qj^F*hbJ0Zvq|h zW^8k|1-Rg?SbsJET<{>}VsOUW2wr%5@Wg|`5yu3FoMb+@;!<$M<*b4YAszTGY*)4$ zt7KKInx$Bp1#B1_&PK4^*&b|Uw|DRD$HwD!$cb!!b^vj!2eTSBnboqo|0DPDozBjH zHvcT>#Lt0V`#9x1<#^><=;+Ub3~~XxkXoqtu7n1C0lS)A!>(o5;pW#H zaHHf+>}KT`X#E!|y_NNpK5UV)zOsSRm))vtsPt1dQZ|NF;C6At-(73n@%JEmh&{}f zvPamX>@l{CEoUo)H1#Cx3oC^*^(^G7=Sg;YSxQe_LkC;KTeu-`mAIAnJ=hjLz+HhK zajA-Z%0657Exr6cLB(Oe;ZtX;l?Ci~=+FLOe=1k8H7u)mN`bPAsVKXd{08EKm90$8 z)L|E3T%t2=X#O8idckJ#sj{omL%H2_lsmAKYaZ+d1!kdH1gVG1KE2G|=6YrybA59I zA!YP4H&X6a?!lfNrrfFAr7Tk(gVkXZSkN{zH#fI1w=}mh`{SP0fl9H`Q@P0;q-?@9 zCCaACqvp2ecFKdwL&^=xjml=w?VY2Xt8A{Et`sTXDBmiJm9v%Wlp1q;NQ8r-S&2cn zlE6K)zFA_HLhD$rT&+|o$0(1$+EQp%C?_kYm_y8=%6xMtb7ylGNRqojHojE33^tA` zH*OicJpW*Vn z`8;Ia7tNQK_yhAp*pWUqKfz7rpTTal z-2B}90y^HW%&*OFVE=kYsW!h=PBXuQ&Ej?C4dqRo`*=%v8{6T2P*y4Lnm?L9nLnGq zn7^98nXAp;@j22z%s^dCf(lJy0x{9wXL2f&dOL*tf|&C ztKK?gXYCU2-YCUExvzA*ctjDbs{+T>wRbeKD0ivKDIuAHsG^}KHwW@1HOaJ{0E^A_}Ti!`qlc) zT5bJq{bBuSt+BGOrK`4P>$V|oYPM|Kc5K)7>;k*cF0za59(GT=m)+Z5Pu$bIf!){M z(C*jyW@dX!+|1nH9$*i&2iaTO+sM0_?H$D3%rQG|C+wu{+a-3XU1pct74{H&sJ)ZD zv%QPGtG%0DX;<0RcFIoMfj!I~ZjZ2cxA(9|+I!l2*`w^e?S1Ug_85DtJ?QX7_5--l_#yjYd#U}1{iywzz06*2udpAtpRk{_pR!ll zPutJnCgtbs=W(0zi}p+Q%l0ewtM+U5>-HP=oAz7w+x9B^9s6DTJ^Ow81N%e!BiyR| ziT$blnfv&FqQ|J^q#ZC{Wr_;;n?X2hYan^S>aQZqMI{loDVD;Pt*3HeF z&7CcrEuF2L{}I+&l~6L>+I)@cP7A= zx<71j2XgzObFfn*tZ{Wt2KwHq&NQc<+xB2 z4jaRf&QYNq$T`kA9u}E-u*RGOOUx;-!kh{V%<0YtWxy5f+`BVa-_xOU|v%ZLri_SYn-eLHKVJ!x@)-1HC>DAR9)Bg+yb}IErM3LhuhQb1s(Hx z&?2u7T{71s3q3M4*U)3To4Z@UBDIy<-yPr%BunSEuuEN4Xb7vw#{L%c#eRra}RfG2ai_ZtZll}eHoGnE3~nWh*v#g*hq{MB$A1Jg z@kc?2e>AlC$GXP}ZT&p=L}=(whTU|&d#ZaHY^Z0zf_j#FwtJ4Sp`Pzv;9lrnHRc5iVPx{KUf-P_#T-8gw%`@H*t`=a}j`?C9r`>Okz z`?~vv`=#aKCiFa=&)JalduHbH8_gaDQ}va({Mz zaesAxb62~+yMMTUx@+95r+C<^;pv{?G0*fY&-NV8^*pb@EA)!IVy}nS)9dB+_SW`AV zVd+l77GC0&dSza@SK$ruhI%`BJA1o$yL!8MmC#RDdnqsN1>P`kxHrPv-P^+(>Fw$5 z<&E<8_V)2cdt8Bchdr#3fbrdySbHMOnHO=jif z*38U|RY}nuP4%&Ob;=TMDlOe~Ot^_y=q6-1QOezTTE@rIl_DLkNQdjo^h(NCSx(_f za;wP|?ZnenRKAMJS5f(@QdZf}GOflHzwOOU&26G!5R(-Ku?h;yii21cg=GUlOuSG$ zh{=Y6SRm7@sC*TbuM*{Bi6qriCF+U!arxqYDs*KBgK{cgPUXv~TsgI0PVJXd`{mSr zdDwonIkKj4a$ODYPAr~ISe0opR3hxB=>1~^k60KM@Qfw=q%2n+m-*ufqbk!*m6exy z)wT7lwH=L98Zxup>bmCkn%de-Q#;R#F%wK zbc}|KAeoksiKpWUmYQ7CDmxMn5_alPQF@Yd$x64h)i*RZ z6_6W2I%+zI)1b#?7lJqqI&~$8)1X%ql2l8``tcGuT0~8Lj7BddyAZDsVSp6+58f4H z7yv7Z#4D2Cu*jGW%fnLOPaYL6Tl7NiUV8mrBx0rKo(0%BKh@DFPmmtsg7XM+}a8Bf{2m$dV2b zsG=+vR}JhMF}1a3W`=vj{0HnDkw+ySEg*#=1S=jz2#XgMOBzsjM2;ZBW~u}70f0GQ zrS!!C#GEgT3zA`6kgTB8Aem3C%Eh7EoR|Q#RL)1Qhd63C9;9;hrE>M9a`mOCzL*~? zm9@YJ(0IG&Utdy^FA*SFCK19Xgor0;+DOZxNhfKBOA^H;1;xdDxj4ssiN`?0a<)fJ zOG^z_AkG|!M&ijTb7XD?iKk`VaKpL@`6QZP@epVNh9OLs=#uuS55DLF2sx$g*&$j; z2BHcqsnzCQk%s*ebFW;(pmeIxr|H6{=|Tb_p7tx*UelVJr|apasiIzA&dLCu?2<2M z=a`Q*mCty7n!q5J=vcC>RNG5-DPCR0MonwRoIi@_aFoET!co&Yz&W*cG&a<9v`hG; zXn{-1w*Ur-_=H>*L7kGu6LJ!YCFJA-m*T_0@g<$5eF9hs0jz`ut(wxSDP1xi@pOvP zL(V|18Hgu%5k00;R9p;0c8sO(ENDHgBv_0iLsIfUau zy4v1nQfoUObaQkBaY{-XDM~Bl)6_+ z<6b5j1SF~pI2OYlJh`SVV~v%NkR4B^^|3V_Y#hg7bDUgK#t|xy6R6C_aUq~^TqlGc z7hPsj#7d^9=P9`q$K^yHi_-+3kbD^4gxJT1BMm@mbQ zm>*Q@)zj()EaO#4Z$iF)f-k*edD@&H+LP6X>{URoL?n;^O^+kykz7Gn#T4k&$DoAh ztAyyPgy^Y+7F>c;kfwYDuOMAzO(6DpqIh|CVs7n|-K!v6t)Sjlh!Mh6E863F33( zDY<|p5>$U>IHyuOl@b*bv7}WavDm7~qiQ@|QR&v?Wm@5lCdcBeMsVhsnG*b`3FO#^i8HkC)S+l@O9(@C4-KObBsP&L;`t9OC8WUTq#a zZfzIjl>$AM6M?)j-;Y~$(J8NlrY9ohL?Uk1wunsgCqse1sq5m{9cSyt0KR1<`&iTpz0DJk3cB})AF=Hyw!kZcy-l?4m#NvshIW-TmctEd^h#OM}x7E6waucO7cqI}^5aLzjOyWx} z30cI<3zx8=qJ&N3ujq;22Ei=2!q3@;gfWfxYg)cvvcqu#Y=Quq2zx^VMS^6yLbm2t zRTblP8ZvEd^_}Irz^s>xuK-FS#g}Y|d8xs*wT&%CJ*Sm=LZy0vN^(t41R{e~pP$9B z-qQL1lZ3iSf^@QkP3Plf zPM2H_e~EZSrPI(@Une2i5G8ua96{>vjRw4?*^r;V5XA%{^ASZM4>&P|hin@*<8 zhQV!Zv4qzk*kIw8!+?p8Cluux&!;6yt3|-!%?h6<+sltsk;V&P`X_BAt4dY zNd^~TdN0ysq$Pukc$#h{mjZ^AK$}i_%@N6|nItE2qmq;4y8;@MK+3>S#>ox@#L)%> z;Gm3ThO(s598#?>^)8T*%2;zI#00-g(v>gO$B+hSj7maR(wi^E?^psN{|q9a)+izQ zDb_0HN%1RF3Ri+{NtxN2#~8>^GP_(blI9#ca2l@T+{ zdknU@BNVoBQ$eFXG2t6xD;1HN;w8*TLCRKQv%vxz_&H`6nqSxjGXA&>{z?+k=UCs>Q zdQWDrbVY?ZCn`u2k_6Ojs5>I_mM?WRm<$DyKwg&Av3?9s9G3!t{7np~Nw|5W4`W`isg{GJaLU%Bj!)h8EYs70MD||L~ z8l-4#e7&}JJsVR$wXsIuds@A|cbn8EBuNAgf+}}ZV`gg9Y#~)eFlk7N2}lDJ(DV|J zCMYPCqZp7zD4^*kkb2a3KsMDNY^qW!TmmU|BV8&^0+P;yN~vH8NXid_YMT@jQq)S) zLY*W@IhpcJ@y-Nvn(ck5UI4h|OyQGa$d`&CsF{gdj+a5rTsx;#fXtUh6DWiQK%oVe ztGzGPNKl;75KCS>=1X%C+>rN{SmsOJ0aQ3)JT0PR!1X1&jB*qoN)V)%^(9Y_bUDBI z#Af@_x`KECb-097#D(~zMDe9X8~vsJ$WcIls6LuUeX^YUQay(J305O4+2S|CHINBC zkV+D8*ivf~kQ^P5={F#GI*^7IXIh;-~%UC;~XpDMHPd)ihIG>A`ad?dI6-3h{w8-KR5dR#ISty`6IgsWd zXhNuOWbz3}f(l5X8;}JeAbvU^OGH2xh#*x4d5mvm&}P@`tvRhdp_}9bpwE%?k*rRz zHZfhc*K}AN5*gMbx6`{7cZn>ZaAXw8b`p>z5ReTeAc-I#>q0=u5p&65G zBmr^!fwUaK@*w6IxMh0Fw0axQRBmV0(QDSsXLVQnMtVeMf`B;IfXoE}ajpTG4Fcj| z12P{3#K{Jv><(x@O&~R-n9GTnrMe1Xf-cDc0qwI1NCO*4?O8mKaynefPa5kWC^H4! z($p?dB<4#LflHILL~Bg-G+BohMY25l5{;2x02D4wx{_T$n3f2M)>s;-9%(s;Wio7^ z;%P5NNjT|}&d`?%XVgcNGimL7`TAH?s9kB%M?P9iLMx<{yzm}WUe0M?V`vePI(LNW zJ){C0lR60&WP$aiO$_;HvX{0ogsJ}_dnAV&YAY%)ZBWQZ?Mvey!qiVWJpdlmzC>Jv zsXX!dzSIbU;~}_7CLAgv0cW@=Bi+#|>}Cjv!f?yYmP{Ka5k4&-D9U0tf#?g|3ZtRE zHB1x(k4yqzkSG9zaH6ob8M?sQj@H&pQ|%n8O3WO{C9o5&STo^@*Mb|ShusrkL%bL+ z)GF85v>YykB{<@=`6^yj?H-zGZ5}M7ZyO99SCqu9_GzF(u*y@KJ0Mmf#%`;hEj&(B zeV9oUY@cHCQgGU5HN&xG(e^2pD9hb?>^(p_uL0?8*b&#nJ(>Ec)7s&&M2+oJ3aLKX z7f;qI+H|Qq$Xr0Rig-^}Df|UgiwM}Y%~&y!-D%0R);HJj<^*uzkx(973k5B&uPp;* z1BW{gKzW;KYRF9C-6|A;R_bKIWC-b*Fi8Z$q#_=go`KR*lq;rSnA|g8DYe-vQZq&M z%vT>~inKvdy`v3L+ZG|WMyQ&&H;zD_`vXA83wVKYQ)^X#yS z!Wt+dq&^pAyqY%jrM_)C{GvPI;Dp@?!#(qT4PU=ghbgj9HbbEvxvo=0f#`pjSN1T> zn|l+AD5BS)V9)$JQB3dXi&0#!$lFm=kK8L#gx%Hxe8LM0eSEAkMqX?KEr(YUzhCKO zX4hinhmwV2Xu^@RC^qyFnaf!_k&c%OOd@QYG^3-wp`lk4MPyV_XPhkVf{;DBB3f9f z#A*Ht0_i0^@Ss3?j3K9J9=2+v>rSbk+R>V+!=?!N0`U^Jxh2yyxuc;W(@yV{ENXA9 zuW6dvkm(dnGnt&w6D5_EUIdvvsA*BDXskHjhzNU`#$1{wtCacjEsHQ$O#_5U5$N5y z577+O(Etn%ct24TT@r!986BVwzSFlA>~{|l!ia?ttfjTSG2_YIYQityTdwplX_eU` z7Ws=JnRpO=YH7%Xsk~S$K?`Q0sTZ@MHO};CnrZsZk~_|J5iArA)%tq^wXm&@f3HV9Ly6m zGw^Pj9dXDba^Z_hWf``j#B{u)fG9Rt*?4tiD$RK+&HBMj9gVGKlW+**s_aZ-OZyzG z*k;Y(HgLV>Wa-pOr%pOp40+lV>A-r%L(`-KyABT>BAw~dfn9+|HcAI7d>+E$%AFSJ z%#aRNRUX+U9oRj1s6#qX;PTKc>0sIAA*flnbEt3}xn?7xIOmHl;YcVHYdJh}LF9`w zuYi_P?k$$9D))*!wAdq9B$xes0$;&-KFI~ZQz+PhFoP@CbWy)t)w!2A1^9|2&k$yh z%sxC{boSxlPO}e>=sf#~ss-9{AEBM_N+ji8F{+d0sKVi+3Wtv>9R4bB_^86+qY8(Q zDjYtlaQLXg;iC$Nk18BKs&M$I!r|bA!$%bkA5}PfRN?SZg~LY`4j)xGd{p7^QH8@t z6%HR&IDAwmw}qoRIX9}4Q4`-#CK)qip;6`WoGFu|Iypb8C>o9`oTg7*BVt+O{0qT2XCUJ_-fD&fh z7l9cM3Yf|G5N13?Fymf=SuT%+84pUBMG`p7cu>HMdj!mK83<-POfchK2{Z1KFw13^ zFcY~Y%!F6MOk~f)j0dAIm;VaAhqSO|zPanM2|_4Ei!xh*aQM}(#1 z6_*+hgu`-@C5ubJ6!B6riveY@F zLZLo@IkmJ$T?YJ3h9A~}t_iGDv5c6)Wxr{e`t|}Do}Ou#Sudol_L11sQ^`{j*x&^Rj9?^BId<0}QZUL?th88!^5qJ{ za?xD!b>dRF39Bt3n=~FFTp_zNxw&03+GRmmuKh@4C3c^o{f-uyy{>tde8Y-(QpR+& z)X_Uj#R#_1Ru+jeLcA5MBWEx1x`OxZ-T9qGT+i?Yx)v!H$;Bc$FDnRMx-2LaiR*O% zhKTGHR=8Fn?7QLot4QasDS}jCnF!=M(=}Q0?jkS1nJgi6@ZDK8K#NAq}h5~haCMf8RlXFce%{^7&93(B#IG0q} zy9G^Wny1t^ak6b|heBG`oRmhFM3U;j93tvYO5;i*DeVD?q%@kqCCViQ9BHnQPsU@O zlI5k{0DBF6LGo8AFiyn zN}4SaCDL9BV3U|Cx3*x%ja1N)@hsufu=?`s9Kw>4eR>^icoXfBaSQ2kTKA>m4q@4@ zFVEH`d_osrnl%uX@8e7TFT!$Ye5vO}SfUl_ZxN>Ur5+byYF{3TK$zN>`e1~qeYrO} z;Y;;9TnRT{s^1Z&eh`ZIQvHs2IXu2pzaw1UONuO3 zsAiHOS60edSTUdpnyM2Okl+cZ;QN)BU+`AmzcISk7ja#oeC z%9)X-MT*MLPGPzAqO(*O>0nD9Uskb_VXGYZu+NTs*fB@Gbj}y#e8WPYhr^Gd-x;3s zjmY_S&-wPq`9|h^d**z5<$R-ZzP)q4eR96hIp3I^Z*0ytF6Y}f=i4vm8=vz{$oVFQ zz5DkDNDu|l5{0QQW;Iz3WT0JEF-X!%8+zSA;H|`8kI;ZlcIz{_2dbI zB65U5;Rs=bMRJ4@X2}x<#e{?rmdFtXMMMcBEJC_B3QEGDK#njdOoS0;l~NtOJqdO) z)ME-X=Yk?BZ;y~hLimLG*RUnA(1T*_ z{_2E~8j8XI@E?MgOiPwV17Zs*rT8V0l#)ocM7%tbA~&>#wTW%7$)2Jm+5;QO>qlyV z_>oTmKNtHB{ZSC7 zNI^glXBZH31eHlg0U1PlR~GFR*V7} z-zDHMD$bvVi!@dt-?3)|ZN*Ge)+3LRGJ?-U{KUSTiOPCLuritfcqxMtmvA^NKR`I& zC2%RXS0|SSkc!Dlf)wZAaw(8XqV?gVR=&QNgnV)Ss8lpDKSr1uWXnY3vi71(C&(4& z4>3h*smc#K&MC=07U$3IL~?fOb0XT!gzP3)Q*%nH@6@d95)QoNUke9VM1W4ehyYh^ z6QX06X0%gD*;MWz1|gzclEOf=fFFe?>}X-V5Tc@(>_^9du)nBzt-gcs^MK}O6C(9h zN1>kX)KWB?Tm-4BCDE>yhdt)`*DH-y4dp>3CE5-)ob!~T z{7&gGBd|0|j@U09Ny(EpvgHXCfhav=?{ruup2p7Td;nXUBLNAYqTDX!NLqQc=hz6I zFI66eP`RwHXwF(ghWQ~1e&~dF6~+0TzL6^NRTQ2miJzbJj0E{{O%d#oC+K{-An8bu z6Lmf)$XW(Dqr^{di9=SA>iMBN8O)tA59}d{FL~&y^M99!=$&+C{2ZRq^qgXdpk> zII$bSF+Yl9ew0JPcO4=Xq@!ih5xm5%@JKdVBxDZ)iRI$W#HTkR8KX;|pUNW~dY4Bk zY{bgrIRbgqMj%>-aF3eJ<8lmptVN@pwswk`u6rUyOBl;2E(4 zfm9nj)LWX0xP}|5uR4*N!zJY7%X-U=1AMC!-#Q>Nz;MKyzdMpfK!*r~$h#=zxL<_Rb}e(2o|QCpiVEJD=DUwL=IjnqC@7`Fzk8GfD>lz zCZ%f`QG2w#T$y}I*D^Wt&|2-}Q>aY8uy67>PPC!!lEP9lcUV@Gs+C02ubU(S%!a}^ z)v3_BQ>Z0@QzYYy#YzbL5#+-+fy6M#jLAG!#o`gJCkDG3mEmz?ZKr;+Ml5CpH#g zzaxmCyo-oWC88pJdAB0IFxBB>c*1;v!?AIE6tA_pM%WqjIPWJk*GLc= z=~$e05Mxc`8dZd4eTjIrHez=fRb6I`1ffu%QX4hG7#p5cikJKLzSwNr2J5RfVYJ;? zThkJn3D6m#HU}3f43}_aClm7EDHvy=X2$|7th;c9831lto*b)ybYo#R6E<+QV}GM? zdF{^Rn#ps-zHqy?tsRDm+G&nB*ufJGObatbXA|KkAIeMJOxv`E=H`}M676_~-A87X z2O@CzSHdMB4@LkU1TQ+aQ$oiMOHwI&D!n&V;1^AW{i?mD0W(qy;M22n5JyV8#Go(H zB3&{d6*02zc*;A3pDw|~hKdWObJJ^61CEW>*E;e@1EN_2|1N|m5U<2hV7~8P9#WB& zl=%E$Km)#v(d3C!wE!p`)5bYmIZ|=C*&44c3>ZKYF+xZe1_+FxFi_xtJE4g@y^fKj zk)?C>iSUambhax^pP)S(-JWpV3A9C+-Rw9$yodc;Bv_&e61`C0(UgW5^QkFw2Ep=(j~4qRV<=h z0h)ZOPaop&rNs?OJP8S(5XPtPYWeaT4LFY_aov|Eb`X}3@#(u;J{|2N6HtsyKX8S~ z3@+6leyB;Fx(ajsU_`PMYj+WPrlbB!;62 za)Kb!7sA4%#hF|ICGfZ8QaSprm@iLk04@?E{D9J>B@%mUshr&TfqW9vd?GNPFvyo@ zuyGV2d{63+G=bs0sa$x5TAo5gyu?&ro;m~^sGL0Si=!NpfPKP9pD^5)d;b9k%1?Xx z$s~yP58s!{hu;sBCQ8m;OL*WjJ$&Ny>HLr{&ku7Zo8qZ|@(Ut(f2vPnJm4eSPZE5| z@``gvvRsnjnG6Cpoqr5Z)S9fS)|xt`R~}@>##Gtiq&!p$j-4vNS5^4=x3HPeEj2}T zaRVozD2_gI63{vEfR0cHbc8yfBh&$Xs34Gs{V~gnR|TsnK!LDm87J=~DkSL(TdAtR zZpCL9n!wCS4>)L7#0cKd5ngViBp=oknGePonNJvjq*qvgWJYe9p$apY+jtY$u!}7~ z(%(J{n@}>c)Rg)u?Q;r5792Up2A{efvQ@N25rrZGU!&+~!wkz|jHAzT=S^Hf24O+e zaK#(LC3`oWbBRl$M7%&+xPmy~iou5~hzhQ>8^`6?AuJ#VS3nMKI4x2;aykYhBqj-L z$PxJ~E944i^aAS0;0qc1|l&7Zbve}sY773ShC_b!~(&c$J zY`UguX;)W_c6G%{N{Xy=}ORN;}YQlPoIxV z(02tOREhc$bf`E%hl~^9_Y=dffrOuZqa)r4`uq})XqOA>>Vl-rXKt}NudXwBs2 znPOX`EJbWml0L(cq+|0*ItHJlW9~^h&Yq-`m`P$JlXSu{NqCy1lZ;6^$(W=Qj7d7d zn52`9Njj;Rq?3wCI;ohXZ;K`66ctN`SWIk4l1?rr=~FC8`rcHMKHHY04@MHEJawBBJ4`ZX%c26dJj72o1%lhDLUwzBAz2fqF;)zGDTRQ zBEcXQPP_C0uLPZ-O%R)!ko}7#(pBq)s*0%Ira-7&NGnu;)sMbo(oowc%-%_rlB*=I zdO_B1l_Z5iKO!1~;wD!xujlDDvZLFEJM!i8z3-^)k?XL~*+g>XyVp_MGv5))CYA{h z?BI@CN2*{UnihzfvEK4bMIsE^N5-EUF z3iWkUBdLWlf|84C!B@4`Os;RL>)>_u7K(o-=%p*Mh)dDJC z&;WLmvo}1UI1CUxb79I{C{ZR1Vak;3j%XzpqQbrTw~%jO=_m%ARq+`1QOuubi4%_2s7rHEuIElS%mlEG4^agoO_BThU65cp1@_m7x27Bhk_Fee$_EGOS%kwCdhSZp3$3xotr1$&p+Zm`<^_#uD@`*F^Y@L{g_D=)ib_ z*4zXM-HGb79U_vG!x*u!CP*$#kT8{?EvA?l=`)#?llTTO3dm1quP;BKDZZBo20X;` zjk=GX)S8*y-n&a0NAN<5o72iax=1bH$O9PrFuMp$l17rA`Rw(zlQ4HDiA`}3NWdut>A@mWhF~?1 zgkWNegzydBNC;NHNC@BckAz^2i-ho%EfL}qG}h`;V7;8N!l5b@I2(p+`odOa=ouAy z#)Y1m(31&0&7o(GOU3csvI22JnCQF+BZ8R%MyRPA;q4G#3gu2cnm39uc+>eAhiI73 zQWWmN(*^t~qL4?x04Pl`Jp|=&bfQ+huo=_-3Gmnk>nR^Wq`X}D>6wlWuYZ5pXycv^)+XgV@w>3GrggeBvXX!A0td zs`gh5?kZQ1do{V&lY29{x8iQeo)kO?LoeXtYxNnlzCF3bIn?)Y{54azBdH@D$|Ks8TelOYi1pE%)_B8zN zwf$cBo!Eakekb=Y$8Xi(>+w6hY$1MM@)0vY8@^akP#b?gUN>9{;ev03)c!a3pN!u( z`X7n*0F9&emhQ|qqBG!Z}OsD1;^7|?fMuK_>y|FQq-0euG? zK47KzR|ecSa5%yz3@`^=HlSd@ssT6i|D*cxf5hkiR}Sb!W%?@W)?bQxCk;vrymrvS zdDqWdIB(&=69+yxXzxKyaQXig^uJiRi?`l-;F@_02dy5sxYPg5gZd7<9sh9Q`xyU^ z4?Jz)?Stm$%D<5F@fu}q=WKn*ysPG2HSjI`FCKV1+P=@*SPH6U1PcnXK&5NW`n#x?_0AX z?-#yd{5LDS*^h>Lw@kRmA&kjlPBvB~U?*@M>nl>H!k5Rb{$XXj=+x4wi!HoG``nk>`Pq>!RoE7HhW@;+;(CzGU{cuH^_)U81vCNwXC>i05cE z%oc@1)E}n*GdFCfyHeSZ#xCzJwfng2x!H5OPx*JT*%$a|$oJ%U*F9``-C;`hXA!zX zwwFC!x}ATs2X_v4AIg5VM)DwHX6i1_zh6VTtL^W^t(*4#PU%RVArb#S@`iB!M}__m zXO`Sx=XC=Zal=1pwrlBsQueR%{fY`qNq-x-bUGC)_X<}e%_zsk@8W0)3>&C^fwE3lP&vsH<6v9va347n;4;L2 z`s>OWlN2(Sm+Sf_kR2l{k*s;`7#Say|M&9)=g!yu>s}^XJKx`n`R{nV><7_SxJ35< z!(XreX&W2-PiyP8vXIuLHUU_*ylb}X#a(0mU3hKHX4iVw{3&Cyr*uvE>u_Gu`uChd zzJ=^lfWqI^pX{?T1*_i_KJuI@{r58tdSrE`3CE3TR7 zUi->(hCD#m`KNO&okE>-Yn@X5bs$^!ABwtvnO^&ssgcD0mV?ZG8L2Gi%|4p*cJYK* z)g>BQq;;fpYg6b_Iv?C7?_GOs_y;4Jujaq@WncWyRb)$ep6n&-%9%ZKT`7MjJ`dR} zxA*;5e^Cp@zpp6!c=u&FfB1LirtVAs+t|)6a%f?G2<7f>CEj&wFaLEPp#9>1Yx4xq zQ+_Mc^1ov3U-zuDzRVe=O(ETF%H#hH6|7B5`Mz}Zb)JVi!#2ztLN^R|=kk7XJvqh# zGdBN2FHGr!|6LJt5_|!kxnX=~H(Zl>|2y+bB45r{klnF!x&IW(UL|u#*&zGSU+2$~ zzMbb->0n0wim52I=@8YqyBEFE}Gn}Kl^kT z{hxXvSGH_dn|WCL{|Q&lRR6cT(k-?9U+C1|!I^*1Ep^Coe1DO9E`F6EbGhH+JC#)T zJQ355U(Frkj^lfRhBV-5MT}*BVt!?QZT;dDx)-~5D5}XVKo(LDz_Tx&Y2=?w{w9<+ z%uh{lyY{>GdkS+;aZgt)Z+CBZr9dehGGxeZLxLeAhm0O_%#iUz4j*#Rkh&p<3~3oM zlefm+WN)#ztzYe@?3MPji0OlxJ~KZzzc9b#wV|&0?y2r+?&XEW?hq70PGIy{fC8 zq`alhR~M)UsMn}ptL^Hy>T2~t{TKZ=^$Ei=Myo4X6|2(v+G`v`+t69xNot!rhdB$h zU7W|AmD*HAW4C6{WL)#CnZvS;=AO`r>1=5Bb5@OK7`PVQygU1Xc@Lh&kX3Z^O8BnN zeq-JOKEp83FDr?s49^hMVzA2W4=l*8W@lnE8kY!}IWIdHC9X$3SD~J(P|sC-OtMSZ zTX^2iF0p>iF0r4&vl7pE;Vh`iZ)G*3Q8?Ssii2j z6s49bJ=K$y&D2wr&Da1urFbgv48gMy&k|)bb0a)iWixAMJiFl870+&XD)AhkY~~GD zHUoAHG90!g+lf`OYL;Squ!Zbai9zfG_JzsJe&!zLJo8HP8uJ$OZu1^clvL3sV8LrS!Mls41N*APREMGf0u}uB^VDc z`;%D&{fWk&Tk{!ve$9ON`U6_yAR%i!C+h9UrGAF7IU{?Yc_vDohf*fmTf!d41E``* zhxI$$KT*G_pPOBP@*V7^tinFe4rM=Q7oe_17?sDf7a;!yh+SkFqJfYfJD z?pcv{fvsj2*jjdhQ-r4&?`L7;zr@IY$#&1qMePev`+U?Bm~71w#YWHTSqjgscpgWa zE3-p6-lO)RsC}s7uv@Z=FxDLy>kf={2YPe?#<&Ax+<`Ifz!-NR*W;-D3FKG__i4B< zi8q^T{Q>vS>|ARNa(Nu4$aw>D&PUE0kaIqA&PR)j(BciqJs-JmK<@cU5AO?Mk@Sc+z+RJj3t|NBRi3yCZ!h+yy9iYxW@YWD$C>$g}|i2TuX~ec<*3SNScF~xi*~i?-JjcA&e8zGt*V@9`l4xY8wG(LLck2)9 zPf*B{l1AJe-5BP$-IWo_7|a-xloK)6U8&rnlqid^FSbgZsm@f!tEZ|LDihR;)vJ^# znC-4pnzY@uvC0f>igvtmxOSO#rE-aOjdqQ4g?7Dmt8%42TpzC7s87{9l$-R~`W)px z{RsUG<$fb(#FXcZ(Z*=ydE*P?3*`mYm-SU%WE-)Km6rg&0m>^JhRUlf&f?1JtQ2#} z8|EN$kn*Ovjk%5TmbtyTz4EqMW|k|f%<<-U#SH7~2vgRsZTQ^%bE8kiRt%b^W*6r5q%JZXqC6sVgygPcL?md-BD zF6vg!G0w4Sf9Fi+Y;~Y>sdK5ijdO={r@F1P*jcP@?<{fdS9fq8bRJZ9be?opsxjv| z=LI$C{OJ6smb!*(sAX!o|L|J>-y){(zxuz=@0&a^S(iM-AD(PU&P*PjJSKT!uBI3K zPXEc%BH<(bz5KEMME_uair?V3;(xY(B+|RazK}e}e{CKA$N9^<{a@v;>;JfQrmU+( z7{8PMq5Mx?6#63W_5P;o{!d=v_xJlJujRj8{Z zBe^*FVDho#lm2v}e@QwCA+v)wA^V^v)0)o3+pBlw)7 z;d?z+hqi}xn01&o(mKLALfg|i+B#a>%R1gVUK?fIXx*so&1WHPAL|b54sEn`uXV3B z##&-6(Z*U2Sr2LBtVgX!wS8^fwzd8ET%;XnZ(#S+YV0lTt+kAuw1;X9c9osdI_%;0 zKH6+PFKNfv2itYp33jvHp`BtMW1p;@WuIxEtzB%NXJ4XSW?yYD)UL7bu&z~*6y+&wI9>&wpZ9sXp8O7?9a3%&X&%W+Wk(6Q>s0{XD#g^r_pKD z9(K-g&efJW=R4@60FR<`;j)m$( zb*_4{x<5Gf3)LxnB?HHP4RG>sVB~M=tpX#T14a&4f8=YM){o<*HbASv|3Ix4|ARP= zYFlgbv{SU<+Ns(Z+Me23+5&AKzVadcdhK?t4!FBQYv#DC9m{bSxnI#f)K1bq*8b2g z(AMa~v_<+J`grX(eSf`9xA+>V_vCA&zB$&&bM!5N+3)K^IA-hfIA-e?>3`^d>K7Xj z!t_fymg`p=J&gYPHHL4L==T}B8oTQEbBxy?Foqe!^aqU*#t8i(W27-sf7lphjMA6# z6<2@67;7}@j~a80^YynmZRkH4Pa5w*R{6pB!`O_eOf|OQ)M9MQidd1c9j6&%drmXP z4t#|+2J;o#h_P+iwnm(7&vq~pe4RFYR?dbPC7iB|a?sT-2B(~ZjIrjyX0vgirCNs3 z$Z5lv0orIXTCEnV!)Ui=S%(>if+|ihjshjzWSnH(V%=e!V%=rkYn%ldc+5E8`qcW_ zxDwd!8n@a7_SVK?ds};~@iMTyjw$w3dl4(LZ@2Gc`*A#G6FDBU134bEgE$_uNgR(^ z4e}ME zv!k73onzT?&hgIi?0DyF=UjFI$9r~?bD?t~JK4F|xtN{eT;^QH=7SQhVy8NHI(M=& zI6bg4IX$qmI6bg)Ko85=dCs%W3+w{tRp(W9iSwrOCcD&m+j*N^20HnGUC!x*EpWbY zzF=27-#Xv2Yn&gPAK10dPtGswI_G!icXlH`P{nR?b=P1wyI}v=LQWxU5vb!#Jdl9} zRqU@UQrA~*1SK4)_7XHON6^4=pn=!avjp}(2kalNeha)mSldOLjQ?@KpCJ_5_f2rQot zEMKiJ7Wn1{Ups}_7jj^4vz5cy1*of;t0`JT8UyTZ*QvZYF zy}>x%8z%66cVIK{9<0_V;JnK*-Y7C=7_G+EM!V5rY-`Lijx@ICG=N$zG;T!Rg~n~h zL7X0p$$}o*jgO2^jQPfA#@EK_#<%!C*Z3Y3a-OjU|5pk+xr!OgHWmnKxn5Aq4Xg*K zT4AWCDnYND&p1Op(=K&@J#)N-jHT1znn zYq`W)vOcYAGVM7AZ3S?^v-WGP{aAaS%&NfD!aECp9GG5sf8oyqv(ddxfw?kk4*Wp$ zEwDuNEpQ|H_D0|)(XqhoqGN#{ijDz4v+yPnha+(6R$eMR+0bzE+;sRUCqguBfPs zZi=oVjkVDSq8p-*RqTpxYU1>G1unW-XxlFOK5@20Uyk>Tz8()m-;BN;eOuq#El+R@ z5ALG-V^%B}>mKVBH?h94zVb$_C|0g-&Z{_VE_PNd9vc`N5<4Y!M(j-C8#^n@J$5es z3qOjBO^obo-Nou7`(hWwrp7LbO_vz4*%DH5(MNN!1?l&9RD3iytzud%Q2{+9x4L3m z=Ui-Q#bVt3;$jWn_0Va%9ClR9@LcTnjIWc|^%d)5cUC|T&Bgm1+{NyW_fa`q-k~(^ ziQQYVGPW-EP;6uD$=EZo7hWNm=E!( z#dFB)OW?JNZO*;1RUg%rUxb?$o)BJCKBK&@d|rlM`9+?uwdbMb8CSkgeB~GN74wBz z7b}hKI20E-GrEH>m2WIx&Nt1g%kK#t&$rU+Gn_)J#g#u&Ufn@At~}p8o^$_P`Ag-4 z%7^kr^|taI<-2fCl|RSx=Aq-#slMl3Tc@#ZgiFklP$X0p8Wb8DIyE#BCpjLiPgX~F z9o&`g3!89H420dFeZu|Zjc{o=rf=?x=D5&3`7V57XmRMC*xF|9#8?Mi=*Gk6kfp)l z;o;N6qrzjt@Bb(+d~sUB&nwSyu{Akv zeymj&UJ{!hzAQX5JU6V*!;2&&y1o_nNc1DQ@G|fH*r<=!fV58W6QFxWMI~x@p(L2qtU0LPvwS(AMozN z8=~(;--~UE1#(^ZG43|Cl5BDw3+J{Yw0rOUy?0z zr+pvc-RMhc_geI|h!urqTx_oAqT4#)UW#suJ=WZXZj77}3F3N1`bLT(<&k(~U}Q+- zlt}j$A!o$s)1otClR}R~&ZIA!5LzBv(s`FF!5#5;sHRuMI_JC=9TOXq)4R-#%?#ZW zIV*NC{cm;osj*d&bIYsgcUMc_8<`lnATl*_N$A4J^vLW;ePlu8_Q<`FL}V$nA#yw6 zcSi2Uzb^7nWMkyX$TN`_BCkZYMz%+GhAxWiiR_IWi29?wqmgJA&?DMAbW!y9XbJwR z=%DD(=&8|>(b3Uy(et9!(S5O1)bxerBcm5Zr-f!jXN1&6>!S12H!U=+d}N3xO>SCr zVW=*;IC^7fM)_#oSRR@enipLeT`kwpLR=jXzvmW4?~%DgbRT2qi7^9}zM>m-y$P-9 zgAU}(ucZ9aA7BV@K-vdRTOZOJp-ofhwGFskrMe9`4M8`b+ zQtinZktEG@-|6)lP48x;Ho7CUIyOP;<#h5gDmI3YHGn!Jo$=@-sZfhkNabSUk(#DAm**?-uZ%51b_#Tc_(N0r z*Y#hX4xiV5p7>&C$hH5%{);6ZzLmJuB{TZp)Bpbd>-#?vJEi}PUN~`2>A$@BbA9$) z|Hu13)&IHJx&2>?ohz>YYeK91;z~xx7L?SLl$4CF^7olYNSFTG`tRt!tE!9V;&WqD zi%#$VUhIORQT_K7jVT(%y(xaCD8NcS?TW^Tuc%v5&!V0h#wx#fIw8Z0`V{pmDlLi? zome!uWO>nW;Z-!MXiR*6e1B+d(fIi3;)*5|O)8qg_2Qz-ie|PJ7MmWMUNpC8e$gVX zf+Z5-xuO+CtBTeXtu1<>XhYFsMVoNTidGP(S!ir}<<6qb#b-dbfR~G2FM6}+?c#yO z@yeaWXB6!&dcSCY<<82TRT1t_DL$jvDh?KRFYZ;`x45Xd92Y07K zd{lf?@sq{R$hG|K@WA+}$^*qOR2~o)n=Q2XmEx_H2da7$Z!g|i)g$BLV~Y0_?}Z*H z@t5?7^Z&9kj{DvvT}pbC^!7q%61F4SywW&WT@OB z8>353B_{8Sgp|xE8CP;%Np;DEB^Q-UlNcp4fWA#C^WtxoEG$`Ea%0JId@HN`@$n_A z!96ASm#i;&BtAaYz}@2|JK_^co+^0``Vx38K0%yZOSY+GJRs5`zWDx<9VNRwU+nJK z-J#M@zmoS#_Jv|06ADNOVcondzMi2z8Grg&zfdXRF>oRpHW)2g7aATqJv1sbCNw6t zu5xc^d}w^-UUgPzLTFOxvd}UxrP8XjLKiDt#r@3C+|c~cqRO6hKb_XOx~Pe$SPjg&hP} zdT!}NxmKnB%GOs5t-QNzdD(giz)m6?2rIm6=>^`kiS{nNy>u$+TvE}cbb9HXrMFk~ zE}dOkU%CLxO4^m)DZbJ~>C)1r8rFro2Hv}~azW|crS~cx;<~Q%q0)`<4dP0lEPbZ* z1+K4@k1E|-y1jIJRm5}gN%2X&pR01}8@aa9#H{kYU~*&|Z# zWh={W#J?P@EL&Z6k36ZoTWI#L?EbR*<&N0v%N`*n@0UH5eV*@w|F*K{z)NMXL3fnx zp!KJSE8A7J3;G_|S8mD!<=x^_Dn|34sAGX55aQE`pn}>vZh5Lq!!sS(6;&a3Ca6JBgcwl9BddSh? zA>fqCUg~y+&j_E1JFCwH;d7P$#Q6O11@Zm4WpCRbUXZB+iBtKCxbW2QRL|E$w^nw_ zp%FOIo#rk)Jv=-8v_7m(^Oo0AncQacR=K^C?#xPDcxiZP<3_P?a(aAC_=Wg{@GF&j!dv5~%h;rSGBcg<_V`@f z`&{RT_l9?d_dpLs{E;q^9+BRW(UIdLC6Nf%p>zy`phF|4Mn-Z!E^=O^Ix;VEVdSDn zU1VBh26SFzA#QQx#>n!>%E;=-OObmb_ea)qeLV6Acs%k{tMi)@SRh<1zYio6#M zMD|4u2Wq-Sd*b>;`$bEmG2DsK!O`K-({U4`lcJ-dW1{1^ihojcO7!CBWzm_;2liC? zy}hvLZuY`X_8d%HzCCu3&9jADFzg4a*d&q;4`S$w9qm&Dk5CO9j0 zZpGuViB(-<7hro{$$U`k^Owl3PsQrWodTKT$nH;7kBUd)W7xrYyvi>S7fZyJ>O5gW z?DjZ_J;}IwXa1-jyPI_G#fkl2b^tb3S{m<}ifyqM1WmgE=^cT%Y1$L;b_HZVfX0sZ zi}$M=#AfeV>oa!xm&8VoZGTtAdlmcQhQprS z;yu|f=+}E%yi_#QOFtfqpBNt;AKrd@sW!}yFN!beb3uF=TCyU(s&YYmO?++q0mkRY z;+xR7EtQwhm%S{jfcWe2H&vV7uG|~n9e-c^GBaYf9IWh4zt*?1sIt5=UOBLG2s5cu zD$fvot~{&q+{%fS7gSDVl)I#IdgW~Nc0pyLa%p8lpX_8UvzK`=D-`Cyy{nF|Dxnsuss=G8pGwTpRpYA8 z<9x?yoMz%%diy5(CS!5lp^$F}0%hI0K!5ri-4U?dp8i`JCzIeBL?L z9L3rC(dKApsx#Fb?_A_uWKM7{b}lykoJ*ZcIj>*uT+6xYo1B|W+-Y!bGnLK{ogbQ$ zojaU6%^+vBv)T-C);Md-XPuvNzJDmEneQ{hInnHzQ=EsLhs_ysrrC_(RP(dui=1bE z!F+`?&3`awIe&EiXwG)FId7Wr&UWX|=Bu1&n>#q|kT7=zt_v(NYXUa}ZZvlXmIZD$ z_XKVW{LrioGzRW8_XXAl)|#L3t-yNoKtZ6Oi}^)Czk(9;5ND!KHoxTCfzOzYd_QoS z`4wLdOf*l+*8^sA&=<7K^PG`>*1Q<}UGRDHYGL=nW6bMaj_GoY+1^FYOuyB26yF#8 zSx(z%OB|;yF+f`)NJ|`NDxBkKj~?0{pQb%3O_iQ)K0#ZhhqlUKT4gA0Fw7Zdj^(?D z;k4i9Xs1(Yr_Y;DIj7QE{b{W;%x9bt&Im#{RZh%N&M4Z0QzL|&>6}TNFFRkR4Mx+h zCuzGDYP%L{yB5--SMhDb0%rkI!Z~#O*V4wews9ZYxWSYY<$KF)GyIsRLnTTM@A zg|h-FxeW>EsS>-?6GXONyQDm`6QdJ0r} z9HeKPahx}ip>D{~c2nZK<-BD=&JJe>{y!sCA*AXZ%DBhbLn@q`$Nzz|ADVJfe5>IL zSbPV<$$8UT&d!^oI6l>d@UDTbCc-ItzG^}WyW>9+S?sN{coeeOmm_$`A(4ZS$Wu)q za9ZGW6Xrw?{~0)NMqmUXBLiPF#eq?QFX2BkaHcth?^V8Rh6Y9l{)3P)$nijx<1*x! z??(bN0y9j%!1n?(@y`m(!aqAO8~>cZ9P_zAU7*f;In8^0b2As(H`c|p>cBJZ?o$mkS`vF^Zj4!Lu zv13%nigI);qB_=x?~T5|)2yad$;m82MAM2?(;}*AeR4FdzxJ0t)h^4K?_7<9iH!n)PPxb96)wH8j$BuGD#|m;Z%2ti4 zaPFhW^`TcA;3*mv*M8ThdgbKkRX5eEBXabrTaI3JQ@skJSKIhz=?zD|ixRy$LiOr+ z)vFU!uZ~x}Izjcya&|lK5>vFxasKA~4ZrA^<-AW{?rECkeCQm&FZ$*LR#`_qQJH2 z`40k%neNK?b8KK~U@1LCt{&bLxXBDq4eY5JSfUzuVj#tLaCSl0f+Ntq?ge~ds2bQ+ zHL$B{U{}?^0@Xmf;GBYU%wW|+TlFxgdKk#j!)`fx*eyp7k5D}fsvZVZ4}+?Qy@FeU zTZ~V&F%Wz)_#z+nWp%Plbuz3vS*AJ}R-G(YoeZc>I;xYl@qPFReU8ukoYSU0pZtd; z--o*k`a-uAY$JS`gc$i>Uq17KK3%N-|53We+09#LD}6=jHBN$%-#af6|7J(NS6#;V z;`7ZH3G&Ssnet7d&lkGU_^g5Q6e=-S`-c;Lj?!0@{$8lLS?MwjnXj~~hP#M!I#b)n`hp-xz+{S)Q$ ziiY1Seupnq(SS>Z`s!`QWpj&A-#GRES^f0~o|kZ;zH#dRvrzxy)Q5yzY2OW>&!j}d zju0B?r)k|T)cJw>ZxU*KSEx^G+jo-sD>VFbN?%esO2hfjNbn!4{%uPCBGh_N>0?T@ zm96#a*LL(x7QgR{8Zt&{mHDmaP)c;AozTCJ3?V&U*@iQ{N_ok0@9s4rB$=k*~;;^)h0 z_-NkDKJoiL5Nc^m>%Z0itkNIp)0s*&6_Pqk_`fXjW?kp+N{!v8{vZ2qC1jq;;d~AGvb3Xh zUFz!+NBuue{YB!4-#1@FzG~k==}wds1LykCBRH=i|6Q%$(9d}-rEOQRSISs$mz1tR zWsGlurHq>M0DAC`H^oI zd_Lu76^q}jI>0Zdn0GaPkgu`nr8UkZr56ZgPAIgBcs_IgfoeEEF4U*Jf$#Skv-rT< zgli9Amr01N^=bc7{n{4(2J!oUsPqPsuI#;M!@A<7&_!n5W5&xSKVhz!7)jPA?x`&WiLd|jwA1~BwSN~N?zb(`%RR08} zJC%M#>15T-6-vLSbgodd-t&LBN75C)HAF*Hm(B7I_e;7$&2kMNFVt*T|5ZxAEz~Mh z{{*Ewm3~F2->c7J(RxSanHjj$=ZQl3Iz{NOlrC0UE7bpi`c*z1t!?K<4Y^vV^{CP* zLVf#%nm;Msb|8X(gS4{c$&yNirLAdA*Z8U(X5xWC#JNmDtcx`KeWjLC)koi_)jvR} zHAv~1O7|#LO|hyDj3y65HRL3v-Z-WGgY}|>I6XD|A*EZCjuh(m3-x*2zNg_Ul%A$^ zpiui5^=qA27i!2fq2@(xZf0Zz2sRa7LEU$roLI@Y}WA28s}ws*VYv6A?kl#>1#syW=H6KO1*i-kJW#L zP~U?>%^ONzkyOkdl)fsdm{+BAP?-b2nhvM_ecSZizX-LIgY}sDf39@B(#1k~i?Tqe zH{WCl@qIBJPU(Dug{N<*(jk(fZ-}G_B}J$_9isI-TX|k3)Ye+H|3m#+t9DrZO;dS5(zPEJ>c3X$Ql-}@T_n^# zRw#TZg%eT#MCCIn5^-?u5rd`_*p7ZXKBo{^r=d$ z^-YcA$?c;W=TUw7sFv$dE$O5B)}zYjQ7z+R>VG&LBHD3_@~M^b+P7)_uaKwq50&1g zJTFu_Q{S4QY1O9v!eNFy^_K`A|38$zqx1>oJVSFbLvm$zlMs8ZhEG)vQ$-7o8&0kWFX(};YMGkj%!MTUhX`a8}TtbEmwFU&FcO4)xp^~=&%71{SRqP*z zE<7kT1{H1nuH?r&sH@jsNFI!<^g-c6I3OxTHUk;x=BpCkMkNKan;$lw&MCH;Nqx52-miDpMsp7YLYsjgRmR+NMU8`Cu;e2Z?@&8j}>KJ70)sRU_ zUsS64>)WdJ`Jm(ziK1Lk(U-~TT9uLx)R5;jq(rE1qxy#`9jEjIrROW1Ce-&2p?rS} zwaPT)9raf^g@hc?JbX#%kCa}o)azG&Ab#I6scqk5O26U!9RD4GW1*KRohu<`m)ee& zWB2x%+mtR3%!B_BjenKWE0wNPx=3knp=Kqvcb{*b_^m<>pP=;HO2;d`LAd#DQMy>^ zBBkH(Ig%eAJ&Er!rE?|3?DD+{UG8J<3YAtEqA{;hdZp5pN*5{ZE!3>^EtQ;z-zwDb z2}-}MbiC3Vgd6{PKi?RA_^UPiA`SnR&_I!d zSoPBSfqoK#^%rXQ_p@Gh?$VIUWVYt0B}#Qpg6&zj>8Oe| zTKo%@-mdhU$}^q#y1Zp=){xEOH?Qd!H%&uc(Kr*-KRHcHh<}#)AN8ob z#h43E`!?lvp@z>;Iz{PoLVZKzDdQSC#h6IXga0z2su$k~dK~?bkJ49^u2vdXx=`s}q0AoT z-7%Wh^Fn=3tG`5Pm4^I7{e6|5uk=)Ti#|%?PgVL~8vdU8k5bx0>*qObi_4U%L|K#7 zf0oigTGEAHd4-xsopH(;YE^5Tla;C@TdQO|wJyO@!dyb)TWTe?PWD&hKRHkY{gj3e zP@YEK^}R0RvUQS%>&RuDtMjGrD4n4E<0`9jHDs8EOi?;Rs9hsZZ7)PMh}zaZU#K-q z>1w45mF`vgki5%(50o+JDNVgZTeDb09#{H~(x)}IYT357Xw2s|W?%J>@u>6<*7G`+ zJ+1x{9T7^@U!~#yP=8;g=WECwefN7peY@1ZLj7;6f4ETl7@_7>EpM&T3xyh8RaviS z$atalG!6fea{jyW@oeu8YMd(NSs?mipRG?Xlo8)NsNuhmIP4L~+-Z%_4NDCxY5#!W z)PIGWHL<0ey<*l7akE#n=4Oq4!ObdPaL?R6>Ki9?&Zf+L-PUV{)~&u~XgZ!qJuzmL zd-ueQWPG!x%wBQ*g;J7PlD2P#eez6yC0v`U2-&gNaDg-eZ|e5mvOUt(f9VE z7xKb~%-uYD9_5;MvL+n zJfoi(ZS$T$^{pK0wX7$}?Mee&ZmcjByRn&YKuo|1Cl+be`zb`4rrBYw`cO)MoY#MbUrO!y9q(Th6_sXInS{~0gM06qR8*n>OvKIos#Fl5v-> zZt3dlu9#3?clks0t2}q*BbUE4XX~7;9ZT~t#M&9mb=wy#p0{Da;suMZ8gt9>*N(ht zm-rXIw)nLLi!-I@%(Z^dyunxQty`DtuGo@sSFK!h=2a^_w{YQAD;MftCZy%H?vz&D zxVppO=9V6+tDD#nx9q)58|p@hyLx&@;^t@CEq z?_01Fi9|XzWN-bxD;IjtuH8Imt2~is;v}~BWX{&QxlO()by+tKzZKkCmzeg{w5Pnc zxT7VI`*eF;GtLXi+-GuAH}RVF*Q{^1gdM8Wb~$XxeY#}&oSot%2cEAvt=pd|L&vV3 zwA3v>RH>QUIaGT&RKWGOzC%m+pk)A#j-i;v<}u~YDapIx{39J^uAkNr`_e<=WLwwP~F5i54Gm5 z@?Tz5x3w)--?Oea5|VD~MNiJz*^%0m_@voMcjdWR2_VfW)Pg6=$f!uE2ayo*UGYHO z#KrwYm*ftaY04#cq))p|ob%+IC#OBd^_jY&InUts%-M7M;H4|)yfEj58y3l(INtTH zgD&4)2QEJsxBK!l)J?s7>UFE?Vs&c-%g>$v*ql9A_q}_^oISx;Jh$M)%Ll4kU0)}8 zo+H24u$6atQ@DZI$}wkT^u~m`U6=DteO|$ zdXM0CnQhb$lKZPxUKx?prH15faaz_XbrVI8B}{eFt0~EwR|lStwjj=w`a$)Bgai3Q zCgx&;nVkE|=5Iuc=dA|lF9G(FN10!lOpQxT%0$io-AvAsnbdWFvmL2d`E7=r zKjp){$Aw=f$oX}y)Su{CgBx8+<(^FJvef7$$b_ifY6uP>!)+WURU zY)P`dT%PjVnciRPziXCxn!WPtZSSOZ~9YcGGDbg5M^WQ$>gNcS7d1 zws@rKn_|ehoA&?GEt4N9w>DdofQ-b+Td8$Q-JD;}dfemYJ@KA;AsL!lt)a@|Vi{Rb?-K>F9EXvFR`KyLJ2`kMq-nQOu1vh_HFbsfDN`*yTO++qQO>g#J&nd~ zAby8eFIYRJ8*A7$Rixyng)sgIsHVR_!v2}sMY z=<5fhF4B_K6Tjxb-{lP%Uz+l`U0#zrZ??m@Q%_llZ8q?}mL$~;J|iVw?jI@0iSYEF za#%onat{w_EqyohT&`(uE;(D83HN@LRVe32Bo3`WE_LK%Y}4`2yYt@2&JPGB75Sr0 zJWp%%iwAz42~M5HJ38~ogmmoM{P&QX*F`pkTz=`?eNnFTj$1={z3kj#~^ua{bgs{?Q_evdt02c;raUHrI5)@HdfZx zUjDMNJ`SI1+{eNApgddFHho@GJEfL4XP~;xny_U%WLvQLJDs_2`RmvndpolxmDpLS z&*)H!U(3tz$v$lgVfLQxo$51T|IXLcelK_V@-1PRC(Uv%qkO0TI=@P7ov7>u3Z4JUOQDmmOP`Q>zm0uhAcf_bC+S<(f@=nXY zT#orq^ZTCG+A}5JLN@>N=6mF|y}#VKO(vbr%#GUPeR!W`a@RiB+#WqYCNs#U-aP-w zLGENtmGjqH3h7xwdTyB$xf9+t`-nO1G0BmdIp)>&Vzzj8(D|N9ZHw312sr3yk*^bC zH}?92=H+J1%KRa}wOenwgY+k)ko`+-6u(znIdvvsd%*vAG36>TQ+(H(3G<#nRi6mY zTgx>)J)EAQhm%>mywYWAHx3U||7b5p>YwdB&9&pS&!=53hxwt(pUy}r9Wy!kV|6+# zHO}*AX+~}{vAiew`yLXOdPr@j!|*8&S&`!BKKC!HQ>h`T#?;qy#{@5h18XGy0nv|i z{<7~k=azlq`7(LUhLeVyxofFKpMWf95Qml4 zDrXMcl23+5XRmoFO6&RX>@jLDS1B|_Sx#OG+54=obza%$?fY8KpS;6P zw6uooV5VousnarPNl0#Oh|M+kPv7{Qgm~j0_VPu!@x8bizIkuDsUUB8<NRrqPWH_vUyF7^^RI7uipSf* z&)O&Ro^^Ol=#}-r>sX{)mPzM&xqQW+*@&IA=O=)}-&!OZm)BClS zZp+@SwOIekFz;kdeh$!kH$UW)yi5HKje7`O*|}6xn}Vsw%TlU?OHpevJPqM2!N`2;i=^FJd_oU0*V8xE z7T6;HIycJa`iY!#YLSsoA|UlwFO|%UD)mxxxCja!Ol*4>YDeor%zLWh~Ehjgn_K z&cx4LMZQv(Hr;LNh`cq$Zc5z?X=!uG<}dS3=E|J*#Z=Y$`s{)^Yx(Z=*h+58gm&Dnoei_dso}R`|^Ls{O8VR z{~hz!xjdy-d#Bg=LhWAhWzaU4%xU+wW9F}|HJK+SI+isKCZTFC(X`%Bh?P0|NrQ))IjQwhlS0* zEtA|?gO^F{vmfd7_rJcV*)nB(sgd3pR>@ng4cB`vb6)Xb+3d)kOQ$UxZCP$JxofM& z{$=e@(N>N$yv5nPc4K$)VawgIEQ8eP8GmX)#`j5F57thfL>@lbG~^7y|J6U)FXMlL zu=AC*Ac-%te<p(kJ-N$DBWJF7tnDL~Lt*_6fFHJ4qd$|LfLH0w4b)u_d%+PmptR znX_{FaoW4fOAg#!c>ApIc+jHzj(_C7E=t%?%``7w+XPf9EFe?&H!0 zS(O})zmJx`%zsqKogKBCtGv2tH|8h$kn?+)cK(RzruuwD2LA_NKlq%Y?LwzsZ2Q@v zJ?ZSuTXrX=W4k1IcGaW2Jm#&K$~%(p7JXBjFL^tjIlK2w{14tobRd<3YHVvgNXzex z`1a^mnIg2bE$5vOJWQIHN$sH5W;7|=i6|`R{o1t`u~Xvqtx7% z<8AYhocp}*M_cRnQq6Lg^KP>znOhl$Q(H54owy!mi)-r9mT9*Z)-u+ihvaEu2iT<6 zv>oZ-y;$=i{uLH1E{jW{I@Xvu0wYb~X8Ozt=*uTmQ?` zucN&&aa(V1*N}XL3X8Gq?6|%uOKDC~-*p11F zU`)=_?2I5U#$mkq_)|EHnQg`@`#;^AJ@{mAeT6si1(wh0LJ#b7Mv}PC{{~-%`mBxo z-wA%@SwfsQ==FWRLNkz%pJVeDIzr=&HI}_J)j*7DV_6TG5!NqxV%c+2Z`*aLhmGa0 zO0D#tp4wn6-;Yu?zSY>5EdP+yO6PreTIM!swvJ22Gr3JeFI*g*WeKghnu7=E)T8Ss-MCoklCDK{`vLVd5NPVj97{{yzAPAE9Q|4eYm z{pj4hQIgRn&^+D1_fiSCBuv1Rk*`mK!C(mZEEoy`z7;9gcN=*+u+~xAzXH^ZbAl;%`h$omCq|_yv>q@6X{CY08fZNX9s$1so6W%BWN-nk z*|n*(ucqqxou+!{45C1ek0)3YU=PG0sj%^2M?Us}Eq3LtC&9CT|AQpb zXuSZi;@Vw|2^1R>{1){w44F8hMed|-4w^&KdYZJJCatGQ>uJ(@nzWuKt*1%rY0`R{ zw4Nrdr%CH+(t6r-xA&)9`$KR5q-ZzJbNPM10yaRFa%C@gW6BNQgd}y>8bLBUT`S$m z=~&T0ayypXjwQEa$?aHjJC@vzCAVYA?O1X^3owhofo)Iw;6w$d>Uzx&|K2Umk@z#?!Tco@6^c7u1p-@yCe zLvR4?WPdGStCl7Ux~7r^-M|s4WN-_Xtz)eFDB1nsXW$oLJ=g$TAidI~;4wh&WIYa^ z0Gq(m;J0Rk(-n!G1ilF_1S^o<-cs9e9t-EOa2^Ziv2Y#>=do}e3+J(L9t-EOa2^Zi zv2Y#>=do}e3+J(L9t-EOa2^Ziv2Y%1dTS4OX(~ibgs6!SH4&mFLexZvng~%7A!;H- zO@ye45H%5^CPLIih?)pd6CwJm5H%5^CPLIih?)qI=O!f@i?9 z;5qQS)FOX0b-n*HU~KC8;BfG{)S}=i;Pa_Ph1aF7FZ>JG3H}Op@t>i3XZk4L7W%5^ z!3*F;@DliM0n%{rr?}ZP4FZzFjXU?OW{@E26}Gc?!w(| zs-4^M{}8MMloakR++Dc4jA$<0UAVh&cj4~B-G#dgcNgw5cDZnO;ZDt8bGYhVM#EO?zE9p*cq!xXe1I%a7MHTPl*OeiGCsSM#icARWpQP8Kv`VM;!+lu zvbZunQwEnZxRk-A3@&9jCRI)SS5yDhv~D%6TTT5}Q~%Y}e>L@AP5oC>|JBrgHT7Su zk}4zYQ2d_RHe+2 z{Xbz2=aXK9+3`9?gpKt6GV2||9FBQ%X0FAY7|x_|Exs#|OtI}rSUvC7;;STV2XjbE zHHF!e&Zm<|bQ0h1c^X9<)Mx#UJPPM=$U?2LB{gdsa{)=w&g6ozf2{XR!VCM#GwmHS zvvga^#9Y*yhuTtFe$BH1zBM{OuP5z#`F&4#K1|7&ZSk9*Zx}mMChmBa{`JpsdgphZ zOw~G@Q?&*E1Rs(+zaLG`c_V2gPCaqziBnIUdg2_(y#A-DTK@y7VQ5c+`Ty(mq+7xN zfNi8BaR&H@X?->L(Fa{4X#J#XvB5ahVv?Gz_1^=iO{XVsI=S4P(o}<{AnSnhsq04a zRx3IcIDxnU=Q%>CU*`qNK_3+;WJYof^_}-55Y#6wPm(5(m+D$_m`OQ6eb>`#cs2Ql zR1Iml)KfL<0U4*#Es;|@t_kJM0uOa=l9@fG=O}H>B4zHPGs)cf3$sd@!|2R1#O$b? z*-<&Oqw>62<}bKk4>kZ7JOnZ`&qwh;27U=-j{Z2;C%`7~G>{qTZ@J34rYmcjW@{T} zQ{|Zz2D7SiW>w|nsN57ZYn?{gp^+A9)D|j`7DYl_q@&)cKV9AQK^JVV~~|=((VHv(LiPsNM;hbs3C=V zm6$?OsUejbQfZPSQmP@P8d9nur5aPHqe!j{zd>Cv%MSPt{Jlw*yR;iCw@$m}wRxs} zH=3!Ll?8cwBhyx2X01zc-xruRw&QatPG>z3*!ZDyZM zO+=TwYl> zr7bzq8ck*Isd?y2KK_&S>!&~;@ZaE1XjKDqsC!g~2l&?>_&a^|02v*epCYk;NR4y0 zs>D_!5ed^1iEs2T=PlL)erC&lX3KtN%YJ6de&pMKCt$Yhm)Y_f@MCbd^p57*;701? z39yNJ>D6kUZa`aZN)0%qyd9%*H=1&P6-)q=!G&NdxEhE|_Ddy1F8$*VE}Mm?P~w5s zYU~zwfd>IrFY77rC$Jm53-}7e;{OlXUjsA2EHE3)0d?SVFc(|_>H+_+)1C*e0`tMu zU;(DFpMnR#TL7N^16a4Pl{i>t9sb{(!*`|*7B}ZuV+#I`{bUM&XAqu2coudAr-IV} zc`2L-rUCL__;V})y_pXum=7nI4=2#N1oPnp^Wg;Z;RN&H1oPnp^Wg;JSAsc0g86WQ z`EY{yaDv%Pg86WQxp0EHu=Z}ug%iw$6Uw;(&JA#GfO7+!8{pgk=LR@8z_|g=4RCIN za|4`Z4&MN0nWZ$qxdF}%aF$WL0nQC@ZqQX)Bb*!I+z97JI5)z%5zdWpZiI6qoEzcX z2e%(Y3D8JZ$1ba5m({V$>eyw4=CV3=SslBqj$KyAtS~#GKUlhwSh3g08&w_N{gKcXBwyhD^wnkuA8o`W2`(o@{BbbGZ zU}bX*vd~Gn$;_FX%Mb0)x(pq1Dl#AMa4LN%%SV>f+!g_nPJ`3RSloQ< z(*AD<{a>8^FRu3T2f6+RJO%y)(zbp2!Z>|loW3wlUl^w^jMEp!=?mlZg>m}AIDKK9 zzA#Q-7^g3c(-+3+3*+>Kar(kIePNuwFiu|>r!S1t7slxe=&Jq)6bdf$WPM;X3PmI$i#_1E|^oem+Nd4&-$(!`Pyqh=52pOK4k9pKVTbp8;hdD>V0o&T)_v7Tl;(tbEWL)rh zt}mvNU1SY>CN>YIC%_NTGWNAlH4p@afEfzw18@IW{wr>GAg3mJ06F#E6Ua%2Uf>we z8_0jmkiA1@GNvy$4#@Z7Cjj|QvOg#S#X!Eqk@FO#pbV6QFpyJ6Q4j+aAPy=)6&L_c z1Sf%k;AAied>Y7Cik|^Pz-NK{ueV`fIQSem1$-WyO0n6svfrnuls`!MgOoo=`Gb@{ zNcjuD1HKRLA^rg0KiT`*4?YCU-FzwLg*>o)0FMP13oaI1EVx*3vEX7+ix#zLQHxeL zKrLF-qD3uQ)S^W#TGXONEn3u~MJ-y?qD3uQ)S^W#TGXON4O-NoMGacipj8B@L5mu6 zNYjy=j|Tq%#(=MYv%pv~c~Xa@a6hvNkwkWNnr0O~W)>E(fgi96_Xj|GtBQk5X(CTb zZ$u(*0tb`ULF}O<*+WUPhmvHsqmkW?Ms_4KjydR@T6*tbtis z1GBOQW@QcRSu`*!Yrs0y;M)f1SDBSHFe__dR@T6*tbtis1G6%*+a0uTg+pbO{U}a-^gHM4z;8@TX90!gE{1<7%%Fpx%MW7gzfDkAJWuP30jWPnF zAOFS4>F$vvYKQiWlm)UD*MRK zbA6vxmBR`-04Ou#xa|7Wu$XZK;Lcl zZfy2$>^*?}8~Z)*cd!rqlm0+#-Obj98M~mLzQpOP>l0lk2Cv0`JwOhEtaEeMjfMAf zzYhEYJj)vReCtOkSNBZVPqTgCdax9*(`d6E#A4#w%fQWmy;}PgfQ`n!6=0{aZv*UZ z+SqGs>@_y_8XJ3!jlIUkUSq@G#%5zdJcCoR&KxN(Tc8{JkLGz!MvFc8R`d@{Qu7l6z;5^uL; zL}6HM6=Msp;(7x%ixC!@VxcM4gMgmXqUW^!1lR?)-UWLAJK^@%z)Ua;%m#Bn9k?9K z1y_K2a3w%mZKTykT5Y7&Mq2%s(x;$#*kfz`Z*he$J0LD6{#>UUI0AeM^Z~~L-f^x4 zOTaqt3$PxLPiF)8CD;hIgB?Ila>3I{VV#9%!Qat{DS&(h$ybnk6?O%ug3|!yDVzwV zfz{yWDYwf2a3b0==6{p6bgHjvZ65m(H7nEKsD@2pEbH_+2uAH1M(r9#?HV8ZM4T0> z;jB;%XN77wD^$Z-p&HH#)i4K6Fb7UB2Tm{tPA~^fFb7UB(vM`MAIV5Rl97HSBmGE5 z`jL$EBN^#OGSZJ^q#wyhKa!DtBqRMuM*5MA^dlMRM>5inWTYSI+sz*6yI>Fa8+Z@= z9lQ_z0XT{1`vB}?_f&SJqnygAM2=;5dJxyoaGyQPQR5#$*jPQeQ|-S3>p}Wl2Q!5l z&N=VPtRwJ^4s*FY}?yIgqRIU#BO2s+moUWHvF9 zxp#uOcY?Whf|*4PGm9E#7B$Q)YM6T`n0qIfdne5G)^Vv9tpgyHdeOFk4gA0X0Z;&f zpb&Hg-M|r`J2(>b07rqI;Aqebd>M=eW58FyS>S9i9-ITt1rxy6!9;LAs0QBvlfYzf z0r)1k5Zs@7(SHfx_fq^@s(DnLE48on7Y6E^}v>xwFgM z*=6qRGIw^FJG;!CUFOa%b7z;iv&-DsW$r8|5Nqfg>gf;a=?}6yPGh+r$Ne_OslJR; zz1i{p6zBtvWxdThjFm)!{-K`!AxZy`q<=`#FVxU4)X*=~FxPg23Gf537%*>R-t98) zmNR<^Rvgkt)U)D9&_~qJN7OI}cbS8`%)wpe;4b|{J^e&I{X{+eM7>#R9cL=710ZE8 zZ421I4>-eZ2S5P`fi~(N(XMwZ9cyJCl7fb+O z2NS{hpc;GwOaha^1>l?DLU6yS^j`w%!IfYhxC+b%SAzxM8n6(2A1ngb0@l0!AArT+ zI50-)(z>VN0ungP`)`BFs7u*Ma4%UHRfc4-(umQN>A@DGG1Uw2J1HS|t!LPvM z;0dq^yb1mUwu7DEuV5E=2kZv#g7?8cz+UhH*a!Xz_Ja>ir9;~|w1q=kIJAXxB%t0M z>fE8u9r9GL2mH-c2EPq12HyeHTW|*W9+(Mc0rDOszd`aDB%i@wgWs6SLU!H>XQU=8>&_z9rAg}h%#`3j#0FJQ5}3rRA0r*T?4fs=dkrunHGIdOx%5lQ4g z7r@SlByxZYVDm!~4U%Y(M1v$6B+(#=21ztXqCpZ3l4y`bgCrUx(IANiNi;~JK@ts; zXplsMBpM{qAc+P^G)SUB5)G1QkVJzd8YIymi3UkDNTNX!4U%Y(MB}dqSAu!qDli{h z4HkfFz(RmU6-hKmqCpZ3l4y`bgCrUx(IANiNi;~JK@ts;XplsMBpM{qAc+P^G)SUB z5)G1QkVJzd8YIymi3UkDNTNX!4U%Y(M1v$6B+(#=21ztXqCpZ3l4y`bgCrUx(IANi zNi;~JK@ts;XplsMBpM{qAc+P^G)SUB5)G1QkVHOE0kj2@XplssC!~(#O5G!k25B@% zqd^)C(r8$flsBD{`Zo6$gYN+95y>=2ra>|dl4;}=71C*flmY29NT)$M4bo|lPJ?tB zq|+ds2I(|Nr$IUm(rJ)RgLE3C(-iVP(rJ)RgLE3R46#aLrQ>uTz_yE(E{T;ciIpyi zl`e^uE{T;ciIpyil`e^uE{T;ciIpyil`e^uE{T;ciItAi{(v4FD_s&RT@ouD=T5avC<{6(j~FdC9%>aTic~O#L>Kg(Y%4tynz{W zk{NT78FP{ubCMZzk{NT78FP{ubCMZzk{NT78FLZ~VG;{r63bwc5i-FD*}w=XCns`8 zNI5-`aPGyz^d#5K;F*-+yqn=<*#LHf2Cy460Bd3rYhn^>qMTR|`}zRRX(l+Qnc!TU z;anX19E_Z_GgihVR>owIcE-w>JIXdN%T6-O7F+y);AZe_Y5?cy4Cm>Lj;7zif-NKJ z_qkq&1xrTNd+=jXV+3tr1Z`jhZ7|zeF=oH%3Z*7nrJxLygD{AID2Ray5C@f@3Jd@z zf|I~Na55MKJ`Dzg&wwG|vtTF~28M&rfm6We!KvUha3=UN7!Cddi~(N(XMwR`95@?{ z2j_ru!B@d~;A>z4_&S&f&Ii@t8(SkM<72aX3PfPSDqC<4Wx1kjc?ZE4e%Hf?FsmNso^ z)0Q@EY15WAZE4e%Hf?FsmNso^)0Q@EY15WAZE4e%_F(WCFa&%S3;0xdkFanGOUj(DTmjG>T)223U>ZeUP1vc4FoBGcMUj^rZuYn2R>wq@( z)24pf)K8oGX;VLK>ZeWpw5gvq_0y()+SE^*`e{=?ZR)2@{j{l{Huck{{-1$ggD1gX zKq@ua=>d)b)UiW-2FXj1yadThkh}!ROOU(-$xD!Y1d)j#G7&^3g2+VhyI?w~1Zz_-E0fPT$)3AhwY1OEjs1K$PHK`od8 z=7K9gC(qgW*6_}c!QJ2|fIidrQ?M2!!M)%%oIy18~7Z;9>9x zcoaMaehD^$UxCNL6JQhgHFy#$)NjC3scO!0J;7P7C$OnL!5PvgILGw_=eVBW9M=<^ z<9dSCVl}J9YF3NYtOl!D4OX)ntY$S>&1$fk)nGNN!D?26)vN}qSq)aR8mwkDSZ%)p z`1Xm_U^T13YF2~QtOl!D4OX)ntY$S>?eD^P*ImcFVT^gz{z@~QZ_^t6gSdX0@Xrv& z_^spMFuu9<&L=kbNAMi^@gpx-k>tyu1Xfg8Jy!E=bR#Rs>Vh4NU0uP^fVo951WG{} zC0hyKM$@m8W(hUv-b6uT`5FQbd0=}>-~hS1HS;z0_u)2vzjrpnlZE5?7$-B zvKNuSD&=C8l0At8J3y(Ri%Edb6Vx4laPPtg8T&z>Bjm;SAlxuefM}i*U zD9{re4SInugVA6N_zE}+oDIf7L0Yu#X99;opP~Gxmc%MtWz%5DHrRM z>{Q8KXM&xo1Upp;cB&HWR3+G{O0ZLvV5cg{KP#sY=)@0X8~z zsuJu}CD^G-*p!`}ssuY#33jRy>{KP#sYh~$XqOBE*3Hu3z>_B%*8_HVj**}khxgMTr6ZR7BUwLnTv(Y z#X{y{A#<^ixmd_tEMzVgGS`0(SPPQiUT`1yIlzv9mCVIT=3*stv68u1$y}^tE>1WiFO7*S`~BU-9n(?||LlUGP5m z2iOZf0N7XjVqe)0KE#HCoH*zs>q&c!?TxmfUAEO;&!JUNj+jM?h2;BQIq z8SpIr=efR!J%@V0y5};B?Zzy&8&*CSE1!#%&&A5;V&!wO^0`>~T&#R9Rz4RipNo~x z#meVm<#RbJCA)@vrykY7Xdv}=m=55?HzCylYUg$g0cZT`CZ=|o*JnEb4n`_?j-OAqDZr{_s z7tDvgmwfN|3Vi>x`ud8kNxs?E6zghVy>*TCecwv! zT8k6j))MP_-;b=@tsnXBvesC?^(C!mt(SZ+TCZEL`~F~UwchZ(ZvDynn{S)-cWb}z zUF(2td>`1B?fCZFg?1MU8-m@-vh3dWu~t|6ID3?Jq^zx1YBX_ICR%>j(Dx_WRa# z{-8f-E%A5pcd@Sbck>@L2DGX07y};y=~8 z!+*N}i`Jd~FZ;i2-R&ReKim3=|GWP0T0iyw#Qzg(t^cR~`>dq@XZ|Ox2mF8X@35Zo z|Hc1T>lyz${&%e3`TyomSz8>->1qAZ>E#?_?RGxp^s)9h$2%uj?>YUQ{?_|WiBn?z z!zpvhti8@aXQ1_gGu#<&?Q>3ZPP6{$Om(JO`<;uNi>wcwi=B(D1J0$+rB=$B?_6yg z=Nji4+j15;i)`Du)w$L7JGVKv*^YCEbB7&p8l5}s0%x_e+Aeg~IBV=K&RS=!-PO6* zxzFzAY;ZQ%-JOU3AA9E=9#ysd{j*P-nS_=`=m!W8>VSmMO9&l7IDpbZRk{=bL9kI& zP@0G!Di(?gf{49buOc_tuLZGttw*M7S`nkXO?sYD!8UBe zsAyYuz^G)GvP&6N?Xq@Rqncgbu4FiNbGx}w%f7FL8EV=TA;eoKhP%7(YPXz7sxY)1r7&}8p8v>22L2G0)GTf8e;;HK*Sgq zG=f26e6Uoov@s=^985N*1yh6NjcbAxgLRFW!ApWoja!24f}M@qg1v%6jpe~%!Li1J z!STU4#^&J7!8?qXgKL5h7;gk03T`ys4?Y>(VSF5XI{1w7N${oMOU7rxSAsi@&x8L8 z<{SSBz8QSe_%`@<@NMI};GWlPK2g~rWt>Pt`E&KPKFkS78(Vi zTSJSC!qDxZJ4`LKDzw_vL-&MuD@o}7&^j{^S|3_(hC&-do6UsK*3dSyT7F?@r!CWyLTktrxV6*nLcwD@$ z?G$ff5k426k_)(B*@6bxf`%fjhxNvyrGAM%K(yAcz&Z@aIt&scbQq}^sjS0Q$~xSl ztivK@9d6fG>8r#NY{Vw96dSQqtkQR3DYjuLJ`*qMU+CY8*Y)r9@5NhKil4;W`T_l* zct<~~9~JNEzhXQ7t*pjJSPfh3l~zN1A+3h^N?HxEPg)IeP+5)g%4$?qR->A-8a0hs z#wb?BK=lVU^|wWrLi5W z&3a}%tVRQD$GysSJYZ&<+4@6f3$vB79Ub(IW=Atuf5hx;cGn+M7G#_0nv<~|Q_X2u zis|Of`gNumZiw3i8Tor zEv!VVw9(EgXC)gsR+^P&bh0W~6^zbSC99IrMcNmmtF$jhcdM>d*XSWFi_z0+W3@3Z zwK`j!jb2t)tDDi=y3M-H=wmIhmKc4l71j#FwN_cHjDFTyYpv1Wy3e}L7=XRlVO(xK zZ{ed^uUor}JnJp%ZDY9gp7nt-(%Nh7HLkM0vi@U?vA(swHO5;%U`-}i`>jL9BxO^k zTF0&9#x$$QDl)FIP1`c2+X;4pF%zp%(YV&GYF9Pp1hN8I#@s-QKnvsgK z1lt6=8e6do1B@4f1F;S}u@2*m-N8v%hYzt1%h~NKu@1ik*JB+DlyxWyJ`;S#6w*4F zy0i|a5!@Ag(+oF4wT}21WV&dbkj{wwPrlQ>8`2#afROp3U4aZl1|fryA;?f94;h9GM@ArI z#%QCE(FmC_8gE$9#vo&namaXN0x}Vqgj|hGMy4QBk!i>^$aG`|G84HLnT5tRPs&SdI52X=Ea4JCWCsUC6(Xd}KHB z2J#N_F2a+~cynE}JqS-d;nQ`|K0`i7zCaElhsla6ikYpqUNkz&d=|}~nB2o#d zj8s9YBGnKFsgBe@Y9bj(Eu=P52gyY0BK45^NCTuH(g+D7jgcnEB}h{w3u%UABQ21Y zNGqf@(gtaZv_sk>WKfA5WHxdgG6$K9FmK`p&PW%eE7A?=j`TqIj!t=<@;c@9WylKTLF6IiVT84zZ$MZZ`X+?6 zpg)dmMYbWV1)a5^vlevLg3jFN%#F^x=wBjVAzvf^LB2)4L%v6TKz>B_A^VX7$U)=~ zau_*+97TRcjv>DwzaxJjCz1amr;tC9)5sa5fG6R4BeM|3k~f%jG3cYgxES=)pq~c) zH0YBkRVbDsgE>3m`9U&G?_=UIl|nT%$3PJnH`Z%2;*upre=4fCvqtn zaI6=L@)qT-)(B%`S5{A_bO|uu0qO`a-vR0gP){Hap}zt88=$`d`Wv9HfnSl|5c(Pn zAqfcW3zkO8AZ3wq2x~paS`V_$gK0>4q#{xY;l9BtNL8d7;vm(L8c02az6R-Qup!b9 z>5mLUh9e`8amaXN0x}VK0C^C32zeM;kFYj^tc~Ck$kPaY;W(^INFX|5AQoaHjB|)S zgxD7$)?i1~L=57MX?2My^BVAlD@LEVYBBcCgeAmfFEmJ6LK5OYLB(9W1qjrFO8?4wl-%Qae~` z2TSc>sU0k}gQa$`)DD)~!BRU|Y6na0V5uD}wS%R0u+$Eg+QCvgSZW7L?O>@LEVYBB zcCgeAmfFEmJ6LK5OYLB(9W1qjrFO8?4wl-%Qae~`2TSc>sU0k}gQa$`)DD)~!BRU| zY6na0V5uD}wS%R0u+$Eg+QCvgSZW7L?O>@LEVYBBcCgeAmf8^=kQ`(-avd@UnTs%Q zSZW7L?O>@LEVYBBcCgeAmfFEmJ6LK5OYLB(9l?BJsU0k}gQa$`)DD)~!BRU|Y6na0 zV5uD}wS%R0u+$Eg+QCvgSZW7L?O>@LEVYBBcCgeAmfFEmJ6LK5OYP{7Ae#}^1Qy%D zVmnxD2aD}su^lY7gT;1uZr{ObJ6LT8tLyQT!#>`;M z493i0%nZiNV9X50%wWunN0G-6#?D~u493o2>a6k_S^l(5A2lQ}24+r#cKo1A>a6k_S^l(5A$1;%G2;Tug91z3- zK^zdov5PbZ1aUwR2Ly3I5C;TtKoAE6aX=6U1aUwR2Ly3I5C;TtKoAE6aX=6U1aUwR z2Ly3I5C;TtKoAE6aX=6U1aUwR2Ly3I5C;TtKoAE6aX=6U1aUwR2Ly3I5C;TtKoAE6 zaX=6U1aUwR2Ly3I5C;TtKoAE6aX=6!xByv*+=ASS+=ejM!Nth!$Q=lC1j;y|j04Iz zpo{~`IG~IJ$~d5m1Ijp{j04Izpo{~`IG~IJ$~d5m1Ijq+$z=95NaKJs4oKsGG!97P zfHV$Bb?Vybd z+PI*N3);A#jSJeipp6UKxS)*-+PI*N3);A#jSJeipp6UKxS)*-+PI*N3);A#jSJei zpp6UKxS)*-+PI*N3);A#jSJeipp6UKxS)*-+PI*N3);A#jSJeipp6UKxS)*-+PI*N z3);A#jSJeipp6UKxS)*-+PI*N3);A#jmycSXT+q=49bM4T1sz?`(FGk{ z(9s1QUC_}59bM4T1sz?G$px8QkjVv^T#(5HnOu;`1({rs$px8Qvo&u3V~v>|_?I;X zLb+xx*PZy6c?P9iP|5|RTu{n2`|%FAM7RxWAEa_YDi@@3K`IxdlJ7>7Pvg6wl?z(A zpp^?+xuBJNGH4ix<$_o)h~hA`x_nJ-{|l@IEUvc9Z<#rWgI;p*^Rt`yo>xB`4ssK`2zV8 z`3m_O`493f@*VO$@&ocCvJcsh;CudW@GCt+Jw~)9ib&s!I#=m`#z6icQ8SD-j?2d5- zG6Wfl{?kkQDM$W_QJWHz!0S&ZC{;FDjF_c0%!+y5HxGN(`%oWPuq zEI<|_w;;D7a0HWfnY7EKT_)`^mmsW5a~ZN6S%KV%tVHfYRv~vI@KJLO0;eE*-Z7s< zb|9=NvgaN1d4x4Z_Pj&(ykoMiOxBgjx-$QXyo#{C$ewph)|a^p`4^Ipu+B`@nYj=7 z31Q8c2SM$l{QEO<4EY8575NQ0!DqiCe;_CM{l5r&oNRiBYjT7htTG^fS^i~BSgZ$&^>9({d7RHr{6FTPtTzzc;eDv*^3h4?u0|#! ztN}9r9WwtNGXEVi{~gf%@9|OQi>Ct|o(^z$I>6!S0Eedo{+g#Uwjst=@zrMh+XZ1S zDZWa3{zsg36XhR49z!-GTac{?>xU-~9G*NV=CvPly%#xv97GNwetz2nEY!8T5T5(c z)@yHRYhYZ5wO2VS->ZGgIr!z`aeW~F)z=5}UjwpXuGAaK^KLy`o_Fh)bKbp-v+x!A z{e1SI{%?J}Jl)pUa=Lv&UoUfC^jA2=4(RzR>*alw_3|O-*WL9mIJv%x-^UqG8=3MX z+L*yf^hslmaoV(vd&pubWo$Cbm}QJDoI!_;$IT{YD`SVuSutKFXQjLG56+r<8E=?< z&1;OeWVVWNSe`E%N96gkan$5|+4xzWFB>Q1`La=D?z583#$>2eFo$!3T*bUn=A)Qn ztwvU3bDTUoHYZxmt>)$=tCiK(yxQtu<(ShrNA6}$w|ZE;%vmx|#hfeiRLtvTo{D*c z%u_LMwB}h$%$uy$)@t((&XgZ8msk&351A{;P}yYOC392EH8MBFyvKUN+HS6uxhdv- z@~qihCv#KG4f4d<+{lUZ2j(O4tl4}*o;91>G9lL?~t=-6OV*X@j+3n3kc1Jtc{KLM~zSR7$-N)`@ zp0ZurHUG5x+jGs+GH1oADRWk=OnbY%-KtOKN`lpZ%$1r}6M0%~Wy{lQt2w9D9jz9D z%L7+f9b_(x)iH1|aL~%-{Q9KTNuE|)eL1b}Y7OKhn*1D@iDLZ{d?L8R`dwzCSf}J! zvvpdYHCt!oS+mX4HNg*TJNQxXW4kn`%!loA!ALM-Cv(|Y)_RZ%l0(#RF2!%$P5+xMtQPq-y~0#?VIJvvOQmBtJn*8 zmDL~Yw;avFEAOret%ufMGl?C|;re?16U1t6=jR>#SB2Qj60VoAKTY=M8(hE1E=^~b zzQ^^ywGX+L8E}FOmruC%SkFX9(|{whxM z&U`ZOc#CvpJU@e+o0?o_=pA|8SFWDRo8&taZxDJ<{VFtL^f6kNv_4!f(iicb#KlA+ z1a|0luJ0fUA+SU%_(^sin!EJ-DM|hfnn#F~2lYqw$26NPM!q-dEpC!JKp}&B? zm!!YM`)O_cW&FJ){h!1ZGW6H*_mark*`*ED|HV5rGW2}Bz9jukA_`UXxAk`@|1LgY zlKvjCg$(T9zq$T^_(BzZ4^f3G`lon>0&Dmmev%uAm-a2bpO6_pe0M+50U>jJxc;3e zfY2j&aX4_q%7f(ngt$&1U%ZNuh*xG{H+h?!aVegeVe}?iAdJiK$_&Fb`l0WSM`n=y zGnl`_Gz5>!z_wnil_C>pHYKk!ZbQF_n1L`>5=Re`3A9=pZmc1`9mEDdP5C{>9xXv; z6l#{S*Z73%PmRyC8ZtwOpWhlk;H~{={DGcKL&}^s&Tw5|+FE5ZKomllAv2`alevey zmA(`)2_Y>w*X7J|S}&PPq*XQR6QdAjBeRj#Oy(qNsaW8N%#hcA=iG#5IK3 z&Fsc^yA$6KW>2CU!t7=CLgSh)HTNUdQP%8lPUhuuQ}7ZE@|LD*gUxB?G_9?9jd_h$ ziX5itS~ZC=T+cLb;`(OuW^IBw&%B57pbmf62GrpvsKd`k&Bysk?xfa<+{q_+6aIGm zLBo97e409+F`waH&zjGoe-8i7FyA!aLi4uywl>my$NXL^ZT?{Xpe2|;nm=lN%zgNM zhIzm|K>36Ce+|q-CP+@E)DgaQ6wl8vkDJH&^aP$?1M?*Qonc0J=cjEJnMImz@n^j7 z@R-v1uJ_cN>nD}k4hCE^1nS*5JfT$jNYY+#ke8#KtlDn~s@ zc!h?QY$a=@tQ0&$gRHFb=+mu=lqV}oORy?im9>84W>wL$B))2C5?{4i5?Q%!MHDGb zW@u@xWd^9$6_o9u^{{fR9Ic(z$?Alj%q?xS)y3+f^|!iN-OzNmx>K@;)q|2ft)7&; z)Vfr=%IanHB1SdAnxNIOCRvmCIoX=bPf%Ga2P!Yrl4TAl*JOZc6=fzV*Nd&&(UVWg zH92AE@3ijJu8{bxwURkuTCR1kbuZUshH*{Ksn*# zyU@I4y`?p^-nMuu+Iq)&R|}JW#@{Wo{%!pm&HL5|T3zWMaE*VU)y6;gL8~q^Td856 zwU6@qt^Hb#b-+5Hb+isz2f03E9pd_^^$WfJ)%uN+WU6s5vR}FW-TDJPIj~&+X%%oy zCM?(Fv1t`$KCD*G7PhV>lND=nZQB8@r5&_GTDHt@qfDZmsCAQhvRW;CkuqGDwaZc_ z%}%2X*>74CyOK?|f?b)|VVYfo=wTk7N*%4SooUz8z;wI5HqdThH{iOV-4J~vyOB1; z4%=aEnBCZJg60ytsdfoIO%`RE+0D4lwzIh=8<*=Ab_;Ek-O_HUjkR0bt+k$Z8@r7* z&TebB)yCWH>~?6n+TFAcc3-=%*2eBPBnC=r&{nGzXcy>6$;*k3j*$Kn*Z5DGiU0JoCIZI-$Fvl(0Dt3}EI=MQ|2^=#R*GD} zKQudVl6a}W$2z6e4*VH7tyK@437pZI1_}Z^r5`8^6mm@-F;CNrpsv-G*~C019U{6a z$Q?}7Ofrj;xlReDa7|`0*Xh9uS~~f~HMp)Btc$)L5mOOt6l|iU$c$sHY%nX>hR2`V z2HR>?$v*C&)ePnYJ8G%H++b&|Ot4F^t5ykb&(#9KeneMAa6oVfujCvW9Ln2+^MZL? z4c6$0`kY})iJAylC|I@^4h0K6NgICJ8Ug7C)BlyqYt6cAd=gDlyU0QjW zG0pYv;2T_%H_bKqk^Foo_>LAPOY%LfcJSZ9_qFQ54}u?X{Za5Et(DBG*2>B3N%Wrt zKjG(LqQgRZw;B*hWLN-|rj|lJWq@n)DS5p>LMTBiMOI~^W`|0_7lq8N)ar(kLP=Wp zP)aC;pLoOCrP2@9%1S?&GHr+@SHT83Gct^7>y2i-4(ivpR0&emkr$=TCJ7Ax4wrmWN=c?{h|B$bX{m2 z*ZA4|+ytXFLXYw`X*={7jMl*C-pbEyycO1xp0}2O=lv|bdycnF+o9(}FQEBH=oK`t z!Fr9*>!E*fy&Lvxgx&}dFCp*qO*C&2As5m|r~JooVI%Za=qvOG;K3qvBy@~6|3buE zgnkVjrzQCAnvlM`R$cn;T1Dx*Ye9VX?pj)658~+pkFq)*d|N#DcKGo!y3S|#@vc@) zJ+Wfq(f8+CKDT0W;yYX`&w1}0N?xxm=BLb0Z-!65hWGN`!++`8R?bvy&Qzb!N)w;n zt{KY9ud4j}s>-vks(kvY%BQcYy!ooij}PL*JntMl_z)g^XT0_< zf_zk!?QV)$`1Aqg(>G90!Ir>f^=O5@pY z)`DV-*un{+%$E;}UE&Sx60+vswb zjbwg3W9i`WHiSC^YaqCe?!mJ2jC48d(dhVSs1GE9Jqd^R$h7kLdG7nTErff z@N=ooGeblnmTBFT_umcg|4#HP;Q%@u;4ZC(%*01?H+-N5e1N|YrEh{27_fpz(L4q# zsI6Fmu2=zoKNMEL+uC6TAs;IUDOS)BRHs~ z5Z=7x20Ag66n>_{5JK|F0Q~z(MkVcP`FsG^J>d+s;0%4ab`6($c)|!xe`2|{d1BxS zJotgeKx!Cd3_>IMgRb~Pg5nS56n{vQPZDs)xyD?|TyI>@^$o@iydmdC7=;a^SVcSU zhF1(xyka7}f|YDMX*`LBCzYb?BGJb#5*541RO}*Cv5Pveiyx_fpYfBH$TLm*Y3Bj> zMxx>ywG`h-GzyF&d}}tBR+}dkY_56Y36EKFk0w#>k!U9Jmy0~^Az4R#SVw&=O+E=l zNy$ArDDF{3agX-$$p)>0nFRw$i*gUiI!gIiM+f)@7M5onI`Un~Gz3pPlw=pf<Mk|g{PO%H2xI|^eB`PZ}QCV?`%8E-^ z<~DPicD;{L2)M+v@PuL(Ary<4s#rvlViAe(hkaT(`E&&(C4XqH_(L7|!%=$lGm&K5 zJVq?Jl6;;E&988YN^pr2T>lQEuwfJ@x&ANlWZOJNL|HfgB&KYer->>jm}iJ9>t+Fw zW!o%-d+3ULBq;776!)m3xJPrvJq*P?bhw8FXRwJs>sF8mbaNgpNWhbp3?!r&h=75V zMNl!tpXf_tR%U7ia;BN<4dVjx#429l!~$P^ezBW=7DhKKZ) zaXx%v$wsbGY~)hKM!G9DQctmwE{cuxRXk*d;vrq+b0k`K#X!0!2GUnCkZTnKnIz+a z_~^t1`AJ-mpOS$jD+ZFH7)Y{WAk`HENmdLbMKO?M#Xzbn?$K3okINPJ=&HEK<%)ac zD(=xqagSWZJvv#Ed*mwa(MfTS*48F#6Zd`8dX%5U8u=-?$1KG?>RFO|G*R3m8Se2C zoZ)2{$VkONsw)PPtQbgj#X#CB2GUY7kXDL;v{ekGrD7miih;CL45YD)P{KNXfQN(? z4@p)$q?O_!{S*)BuXsp5#Y6fl9+IMXNV4J~)fEp(Ry-s{@sMQ2LsAqENme|hy5b?p ziif1gr}JPVl81CwJfx%IA=MQR8KihfYsEtbDIU^U@sN&+hqO^Vq@Lm-lVKp4@RPcB zUF|Zv9y}yl@sP2Khqy41F#dgGyRkOGZUO_j4DQj4GLm(;igip=tYf-j9kcCLb}Q{V z#XW{9?lDJkkGYC_47JM1r-6E<>Ks}MLs-UeBQFq3q}Oj70ZNm?bC$#Gu0e*%7z zp!i8S_{mB5iDV{?6*CDdX3|zMla`8^v{lTcrD7&oK4y}pm`OGH%p+cS88SWs@(Cxc znPMq56+fxU(@vGO3c)HWJ2A#m>S+yv_2DY%imRk5u2LGV(h7#qI@nsfgeRifa4mUD zeZ^bqD&A5>@s?7Gw`3^ZqQhJ8GiLVkFgkvu_P+SlBpO=9mQA@6=Nx{7>l78O9;mD0C(pJE!d9a zEdj+_s`_|K6(3^}im~X5v54SnFcw`gmdZZHQu!Rl(n>Lw#)`3o6=P|v7)w{hSdtZE z3Crib=&58Z-4tV~31i{!P4GB1Q6yXsLrYieB^CB!X_a6vLA+}Iho3DuOgZ^v7@oRh zFIk~-p>kR~#bE}Al0(T{OC~colp0FoTJjlFM)$Qe#cE0`R+B2D`}pNV_o-9znR1HH zR8oA#QhY}D@tJZyKBFr>lK`K&Nh=MXxtW&Fht)Jttfrb`HKi4+slsz+i@1wqHPz&k zs_+d?255=oGxa$cSgEyFe5RV>Go=-uDW#Z96(5tSqL@q-P7L6j@R>(x^JARP>7gy~ znM#V!2p^wGRD4D#K9ivMOk(K85bycpY~f|TCAp1I+(uX2MuhU=HoD?AbriP|aGSTZ zW}&xXI29DbNtCA$+>7ViXgSZfX;l=H2`eU3T`?I$F`0Ut_9ck!k&(tJGPVp@M-mLC z27eRe5-nS6Lq@CCu|`r2kyax+qeXU&v@9d3Mp7UnJ4^6yMp{;OR$4}Oru;Omw){;N zNlW5$rSm?CYK>Ecef1rYpvd{`v&hcRKNmSUJ9idoB4;NTFqNDlZRfnm&UraG^F+?P zog(MXJ0m-%MMeg{JEi61+}tro%%e1Ac=-zd&ZEq{obMiyS4i^=96$M%opW=;kS|DMG)=8|1>xaek_EGHtpZ>PE{*b7CUj0Gw zflq%=tbD>U?YK|BIj%o0cxzqkzQO4+ePWfEJ~G67BM>W}nV`yRfy9Bt^yA+P)Qo-4 zKB67--RFjwK4AqXL8^bUK5I`*e^xzr$Mgxy{p}5g;`#$x&*J)h`u*bDVtt@^oDOUE z`}FbtC7cpTK7H{#EREF@X)Px@e&6Qt@z`8KPx(Jb$HuStz6mSEJ;n70pN`d&SgS<8 ziuJWGps!OxzbIZ$CU2MU#*_90V)LBo%`@w%M7wIDY?(m_8!! zADib)Z=TP-KjR3mEM70ZaXq1ZQ}hGl$9pQx->olA_Cr(tU`fJ_v-iifpT)H|O^KGZ zMp&Pjnbf(C-D4-*oDkEGjp{cl{k*t-NL0U8>F3Aw!=w89m3~27-^~6-)qjoBFC6lX z*BUFUg#H$#S4JT|27%(WE{(;7_J(yZHkJvCwM|8*G=sM#=9;_gJSHoyo`*C1#S(If3=fD4+XhRDRAIHktA0%<{Q^X6qy{ zvs!>syxUaH7@zxRSbqO1_5J8f^SOVf>m)GK>iezZ-}leB{63#>|LDxqJD-)H?{D*| z@WI4cAaO20l$1 z6E4h?|F<@s&J(9%7-JWx_1BJ81?(e6m)PD%FKwi!KWNq|)~mfL^@f(u`khTnQnae_ zuX)W#s?oH3`LtBPF0Gm_|IMgfqiOT(W_9Xh)X3&aUS`zD7auNoZG6tOZkH_?G=A5j zNJFvrnGYvCH9=mCy}QqcTO-4*JwqSAcF@YJQjLU>4~(0+V|4hndnepKAe?v4;0L!e zZR*B>W;C#)Y&gd3HF2lZV{B-UPydlJzWI@zemx-cozmCzIuI+L*sADs}JWevYJ-Y(=)s+2s4&kx)OuO1Gd@x; zM@ubqrMD02&D28o^b$0^^2@|PpI(|cPrp>}?9)r<#M3X2m6!L8*Pof7?#o6~_fg}P zYo#iKUXS_0Tde&TVFa=nyVQHj&9|u>DbgvPD|Cz zjGAFRGpm}B)wEV}b~C+JM$IyMAfvsZKl-95ziwUR@QeOcBdiA>jGVc5#`CdNW9@q_ zvSr`C$mX3x?%L9)*ZnLT(ec1x(ILKUV#Ck0*lO5xwXGv;yEKizhBr!@jOe}PrPnNx zl#!(OjNB!rd?0G9SrPedSLAAO_xqyOx{Z-{3jZArZx(I8{!%o5H2hTLxr0APc048R zCv_TXQ$MISbq(3k5?lI$_loXf{f_h9a#Q48Zt2^-7rJ|NqecR9iSYJqOxAMkBeis- zDT^pS-_tJ@uX=h+8DkMIzf{~EH)TFOrfg$WpX@JhA0U@X8Hh-4zaIbZu|G%Ao?4i= zpe50M0Drd7PMmN&YEFWmcv{&?qksrvu|6V8qtEp8vKQ7z{4UhY)ly?CQ6P>;`NkCm zpX)~o(~PDPf5wCh`%7*k`&>(HixKiJ_95ZK$HK2aDBkz!<#tr%>BDb6z1)tTeusczk@$_(!x@r!*@@qKdh>iyBmviaqmzQXd#7*zM zhqe2B^-quK;TGkh^$#~0wYYw@_-Aqb!GFc{i39xYFV-i#7}GPy{(2Z6HOKjpTm5>t z;{DOJ!hMwoC)h+uZ6zdhYP3zcOJ^)=r0mUYJ@Y(!LycMBdj>f&J?E_h#>m#}_+SbrkEvK1WDB3dYY z>J{v#Oj=H5_=P6|F(%RgHiKRSl>WwqD4(&KDaJ8ElvDbfVvNJqqxx@@KF(!51qt>^;@i;E5xow`U5)E@Tr^x}KEcyE>5 zqi5~Ks3ox(@{sZ;qn0G!$SpXkzh2lOIytp@q5bj5aNchv-C)3?Q#K9)#)GSlJw7y9?0zC#II_gF%jYO!({7Y-%z2;b-*?TKcz?V9{^XbJ!{1&2=jo5P z3RHj2vkE-@xvRj_pSuc_{yeL|D}U}P@XDXN3Ov2H3Ov7OuLlq_ust=941VT^jc3E* zf?n31!uI;E(_#IG!fMRY&6q4ovzFE~OLoHQIx%lzuUhd^8=$YOu&6cKtGo~!JDz+~Xk*JXJKtB zZK1z?=C#?I2M*jkTYsUj$C8&v#3on4C!OJUIp{gcQCNSDqwtk-6xN^PDC|=}zWy9X z;pwRUY)9dxsQxTRfd_76sC2zJ+fjHbs`onzw9{UsLY(WxGinjXL!WW|(@O6Jz;G-G zz)8nqy>^acao!$FM?x-RTP|-oGKAp#BS47F09@HVQJ0C&{UaeiZ=ybrx=xWRZ2ySJ z&m-#ds0+pC{*mEx(^8+uLx?3tNPhoM^?B5#;`{!QlAjl<&*LG)_{hi+lb?UAK97zZ z-;a%`969;<9`(65g876HecPGE|FTyPKB}GA>c@0S?~dFmepA~` zm9~!-8OqE+H?{vNQs?Op72T$4`4_d!_vsI6+3K!uqd%t1o_E(}MT3-{-^6bLNhad; zEBy)d`6^iH>5mi*Q2I~Mf3F+^ubve}*Gs*Y5E-JKjJMNHSo6JHP1`7)pp2ncn%BOm zTD;asx4_dckG6&x5tDtbKU^eyca@aRD}SnJwz}(J%6BO)pRls1Q0cctHj9LKYcS4Q z7d2`divAEc$kk5ToopYgU(PD4pL+S7{U(MhyRh4D7cMlHs{EhIUhF>GUg#cy*nPIW z&_7iBe788uUg)1i^*_<3ct9P?`d(Cjmc7tFi0aR>7y2X0UhF>GUc~i2d%>StJnw84 zU10V#?2EWg*_Ykt+L!Z<+}R_1{*h#V<lv#7k2LsTeHI9 z(|1VD*MWkUs3pZl0>76OS!&9=qHn3Tm8aiVR7&Zi6|;1to^92FZKc(W+^S!u7Kkd% zwi=-ph$^iXl&3#b^kZ=?KK(%rHcmZtxNA?ft-QM~D|%Mx33cn2scjXnU+MdxudcS0 zr$18kl+rgv-(GDiubve}pDTS{WQa~^Jlgs|!W!Y7+j;GjUWr$JDS%Sk9=WkR{qksg z%20obul@X$5#N2~#`4OaD*D*FZ^`lrE43lf_H35Z6fe(x)wr>7j4RYeI4nA;1srGC zhIcl2SX`>~afWR+QVaO7UP{qxy*UJN3( z4sAKo7h1<`gjl(ynTyTbcRMLrH2EefBltq<2LH0e0|x*WYy z;l#v(5Aey3MeeL#_@U9dQo%OvlOIVosh4(^mFTNgeV`I2ZwSh=di9SZ9f+WL=$RaFmma=^ie^4=wSfN$KLf0dI!l=o|O zQpg}>iRR7Arw8hgjlwMgN%>7k;I1`lMD^;;Mm8*bPyaBdul-4 z(zNhya%sOg6{#feBKxi8M~;)K-8fA9Eg7qU{iNkL;jb+0Ih_{`g&Bv{AjxgOnTHmm zDarCn44$VyAXtcA<;G#VLQJ1nS4{Erk2rP>X(-dTF>+J(-@K`y45{JUSUW z{oiBI-;Pd3Z@->k^1oHEl-8IkATBCalV*8R#Y42J7G~skwNxvzCgWjp&UJ`rvw&qE zGW9pj&a#gQOG&Pd4vbxefoY@$MpQG>IXPje;-@uh*1TCZr*8o!AZ%o2rKXloO-stp z(T%cIt5z*rp={M^RmxMa=>IkaM8FnVDkkMxLA)Nhp3L6w5xphO?3(W(eg|6 zyx2(k>t}@XVk7C-+egHt*sApF2?9+0bCeh5lzQlNgY!i>FEob!sONcy^DLr$;j#57 zeQ_JkL+LLtk7jir!C&=%*$U5;Mc2+Kwh{b0ixWv9NjaGYX&DL&tm^rY9 z*6Y%hQhJ#JMLihlw&u>_HOE@C<>#^XsNY$G^7qJa`(tHoA6_MnI_37YOY%L9aU47Xq#16J-yt9O3yab zi}f-Z>**6)Y7g)|FFu)TKdUA4BpMzMi>sQR)l~Tygz>|=5kC*VKySWi-+$=RS-rzK zZ7yFpWn#O(=$rLwU6S>CuU_3ICzudC-Q@3gRjv-NONYd*#a&XC#nbz92Xd9u;|+~J zcOX~cl~?|V=LEtFTjIM-l^#VUyD6L}?$T0PSu=;Qaz z^z;%ZOWeQsK8JcOD%Q)y%IN(MXiuI`pXm6f-nUfzITN|QdiMKrDRL!k ziq?PFUr(?`OrKb_gg#zAae%*HzItAa=_8x{MdF9W&uUu!D(Jgz{{aJ6e><=bk2;(uIR|IA9dwaeSKk6(x zhEL$>zf}4t5kp@)s{c{xqeKk-2~RJcQu-(nLw`D|e^Ke9L=62eQT;Zhj}kHT$D{fk zO0S4m(F=0kWOAi95749)D!Ee4KUUPhSb?HL<`^0$0muH1rMb`u zMq3siX>X-UobfC`3FE6~WU9CGRZry%`F>YBk>6Qi>U$DDn5@t7F=PV1HY(OMVa#mDHch`wKcBl^D5L~M`j-t&HB_fv!=qsbqh4`_0Z z%R|S$gu&wcKoSI#^2J9t?wmY%=Z%qW;-zU@M~&J#Ei%m7GkMp|H@|*$c;vR})1Mf1 zI?qE&vxC|Lvt^I$gTf1T;FY15Bc$|jgM4*p_X_$J+}lux6Da{h#B=#dw!o-#xX#hS zch1)iV{PQVN@9G$ymK1FP=aCRx7;96E};?`Mi;nIahBkDy6np=I_GAw-YY+WUdkPa zFFHqt9(csMwOaA)CoGy>0J7%S%r(|SiTCtgqrdFNpDHy4(e@%G5^(zUH z{J&V@VozjesmQU@rI!BXGMCMPJiW~OLCO=WB52$ZQj|feXw5oxWV&K=atF(&XC;ZI z96>hI>%_7aMRDjsr52h8!*i2vxbJiEDACE-tyi@2# zZeCtEw|nWjDM|HYY+T&*#(PuW6&1H^6&2r`^6uMW-s$e!MDBOricZ^~kG%5fryQn7 zI*%Ot_1FEnhNaufT#i)>Rne7L(r3wqQUkVr-sNiKMAkGD6RkZHch0-%)rsNZTdtY$ z_=wYa`lE$IqH{M^t=xIhmHQ8cHZl~!O)^tUhWL9o~1l4uk?g2eD`I??2Ymg^vZjX7l!;6e4@S+++$P4X zNV%5cc%)ow@oQ`D_1b)CzQ{= zmzmFvXPv1wsr464o8Yw!ay@x^8TwOt8D;VG91qinxPCP+g_rBwD=)oTul(|O`DA~2 zLUUfU$SW_`u~(j`P_%xTx>j6&G+Gp`|Ib+Y#OkDjw2$34*dng4sO>ARM}!!PR; zE=s%Vm4yrcIVSwZQ%}9oNS~g*^OZB7b0=`eXGYQxvvMTFqXq;k^Q=vb z^AP4;9n#DBW*k=wg49wkzpLz;r(dpl#~VYigTC_2`wU-sIqzP1m7=BU-|R2XJb9V_ zLkPY4>xpIl4l`6)O_KZUaWVZK#kmEGAa*Apqk6V<*w zTYpfm;L}Tcq{_px+W7QxJ$d>i+ESlh1~R<*k81mUdKvri^hZQXpI)+fubvfRgipUY zu0JlGRqOcdc77I(Gd@PjF_RE0pEy|W=qoSnqgVfOfBO}S_Vfp|RmJyJ?AO!pyMX@4 z1@s5~dfzx7)_y9kU-=ha{innbPmdqrYd;)gsq!NpBNf@FClz^rRNvdLm-C{c@oId0 z?LVyf#$QDNy!#%CjsIEqU8>jh>X(bUxc#uXGZj zt0%rrVAX7bm>xDydx+!M1CNpH#sygyH@2;>mpKf~Ab~CPqN6tUrc3|(;WiRid z+R_j>w!d@&nm3ncWBL_^doB?>qK_Mk?Uxi1Nj!6t_pq_K;IurcQD0V(fw$CH#2+bU zOsSMUC_OfnM_Ij_1(La0ZSQ6>itio76<-xU^(@|x3~3^A%Q;TD(wuFS70tVf=4Go@ zD_go;HK&}&Z4w#MHS%%AODdGEcuB>GY~1pe)26kQVovv86Y}qy_hKIZKeNMYbRb!U zP2QD_PFTiYPnV7dok1_dI7)9H(z~Bme^CFgPcIFCSI?4YFxRW6Sih7L8&!W~v+R7l zJbE=K4VVFrNMs0h29Lgafq8FOvW0iLA;Z-T^m>H{T8hi6wQgM{t!k^*RmEj33lHe^ zT1FnM(z0chlqxM-RE<1f*fsTIk#Ie?UxNny+)WSpq#Qj} zcT_IQ9yJ0>qfbkmtzV)wRV{Boo?ICfMporHBg|E%r9osc@7I)vS)RUw@s+3ddIUa5 zy|>2l>0w!>J*mVZOVURczSUApXgnmG93C1L<60KJqwg}xMatyxWc<7walGKy!uG8G zlT>-oI>PD)U4aHUPQ^!(_zik$&BC3n#qZ+7>Lc?iRIfcgGg3FK@2yo!j}+F_A8k~t zROM>vDJ={8%2d7R(#==1{kdAY2W7@~TrbVN(gW`&e0n*no_>kuJ;23mn<}};(?est zlU`3>Tz+ZPe0X}f%Dnp?5;bD0!(@zNdbZ5>$_$-V9`mu**B)s;yn2pm56VDA(WkOK zjI}pV>SVa&h@1ImlJz^z8Fh0_I803HoUxA$2~D%*t@vF=3*KYeGkHB4o?AR#cXpR! zLqvIdnu;!bF1$EfJaHn>#nbEaRXyRB29Cb!tuiDw{=6>NV97PcPS!(z7-`@aZMAd-~FoS7vb#bEzpV&|zbQ@9-{iq28-g#IL`W zk5OD`Ac`BBI9}VwxqWni)Jl{cWBkc*Bt$4PZ9CQso062M(QjIfXH}VwG}|^_&7F14 z>|5>|mTgQfxYt-$u=>gki)K%q);_6LMpAm4$QA8IUp=~A*t)iHlhaGpwQh(8@?~|} zAktSR@~Y)btyR>qmD~(!7UgD4u_R|auuP6uMj1U*I=tB&(0e>hypXqkbp0zIykF|5^HPxS1!B(=*OW800sG`n14 z3qJ11Y&& zPv6t8w~xo~li}A}k(i!n6e-uSe(;*CXg@H!#rhk4_1B8&Wqaf0<;y83f06dqj(zW} z_SW(1?cZYePt4Rj)>v|UZToPwcx$aq(b9IplHGBwJw2{H@LpUSFDv5!qr4u=9+3A)Hg#EGdvgN*+KBR3d9=T#Y08z=O|2kg(DQ%TczckiL`^Yt_m60LF)S`<(OX9AFn4fL6zquJAR)?>k^~UT>GuKKI_eR zYmee3>Dq>(UyWzYKHkpksA3biNNl@!d?dY$E>D4>qG?&}^>i83N^5UK<0|^)(Vcn4 zvVNDZ9-($-;-pPi7Vpf7PkB3Y)wZ7f?lAjwSv;=Ym6v9hO{gNb=KLONYtHW>x27St zX4~-C*A_pSR4JuQ(A%0aK%|xqLu$*d8T&oH#dv12#Fi+rm@sX8+unuo8BlC`vT6jp zpb&kD#eq~miRfiVEm0aV85zIx$al23XQv1vr384ONNmqrH@xdjTgRAllPA42Yxb*? zC%nF3fc4@d>xQcSEUCH@tPzRgcZ>bY|imuZ-Ms^VF@Q``$Tn;IhHkuQBUK zPu(~~H@nSVi@_S_Uem35>D#}!>6U$~%)1WX-hFz9#7pP*o&WvH>+k%2zPobQ^olK~ z^}k{1n4Pzamc=G*;F=MUf0=W3%xK{ai@nQYJ?cy?pm#(Zi47NeEL&86kUv!r9Y#4Y zL?&fd_5Ap8FQhInd}LGMipv%c64lP+iwXl5_YN;Su=d^q3lckO|NG+NzM zHICC7h13gG<2*fPR9AZDnDp>id1=NxJ!Utm#|V5a*M!nbvx{DtG4FX>RiE#BHDlkC zo%ZQ_`t{Q6M(>m1*Gsb-ZP#+`(c*SVGaA(|^Xq-}*NW+7d*kJ$*`=O~w6}KbduO$` zj$bd$ZnV9b+NR=m#m5)3+b2GX(v+&wnBD)zwbEclwFe?`ZM>{ByPo+QE_)yiU9`tb zg>R(ewMerYEiYRhZwcWd-f3K1zg(W)Os|wV!LgaPFuPIxsc1UBw=(21_g2giZG%@H z!}x7+doYOa6xSmSX0)EIV)=RXck;JigG-Bk#(<{ntRN1Exv3;;ig9lm!Gwnie4e9mz&ZQXeF31s;HM<0RpqZ({oix zt4~ZdvqqXh%;T?{^l}CL$>SGom5Qf!|BI&inh-s4REH;jIU?e$*O=%RAEC%A#cwh3 zM$2p)`QiMdWegE(z1Nq>BNR12_Jr8LvBuxhc1t~ezHdO$=PM^}1Ae|wkDvds^7A*~ z=l}1|dSTbV%nQvr05=>AmjFjBNCl0R)g}%UknfxE&Y;x$X3}}zO!&4v*Il>gwt;ty z>yX$mp;g}8-q-ze^5lPB*ZYQ{trHq1y`tn*Bn@w zJkBIO*bIy+Q)7{4(AIUtC_=XivYC_pul2 zB?5W+<+1W=TBIG7dih2PN%CbFO^>yHyPT`m>zCFm z7apU?SZf=NaL6#}D#HqlN&LYTUP6Xx3IsA+r~`8XA%Cxd=8m4%b_!pYH)z)N16z%s z(kZ8I?&QZuO-F{5!>5ey*YB!U^Cpe0Fn;T@o5qg4LEQEiJyAR5 zsClbh!K@Qqq;-vJqB{tWMxlmUyr9GF3N@5xq+mFvU#3uFcx0!X7Ivu8gBlM+^~ojl z2Sj79{zz}X9v|^xbuh!~3+$88Vy_GxgMNpAW zug_7-7O*XCV&s@Y?W4v?6%#9g+Gzxu&(BWvmPvId{8DmnQoU>k?GI8gE zk!#1LHLP&$mef^+53eu0OR>f9xn$B?$;L_L%a3K?@%v9H%a5@wugpb*a{>Lr4H|A- z-K5|?k^fiC0@Y`pS}KVny%~QVC7wdWRR8)_Z@U>Eof@dWnxBB%Q_x6ig8}6%^ zvTRS>Pk=E;M+08xuP^r2Gs(Mrvp{&Pmv1yA|B>~YOs0CYh(?l11hw__WuIJk-A9YYJUX|NF|XkMlu0jNJNutgCcd_C z#M*J?8&;gT#q4ue;rfT!wRaNZ36~)RwD6}@#;U`MyG_q2b?N**WV7gO(&qftwsP{+ z&x^_M0HH)s-t4G1AJwT+!&Ez^e!4rx<-iw5t0xKTPBk;|fPaJJTk^~GEk6EXSL(f@gSOE|@S{(jqi9`fnJ|4BEP zEZL3w`CFiM_$yIN7SBTG7d7+r(HNc5V`DgUjp>yI_4F&W4}5xQOFaEj{&rTpy!<MaR5N(pM+T= zu>e5x=~QPJH2Ge z#=bq451aSXefR92w?E%**kIY78LUWdX3jRZVvMqxaj3U%%F|Oyc<~pwzp*tfP@{L7 zGS!n(oYFlnvC2mVT)aX0!NS}@4a2>)+aa5c=D?7&b8wo8KJ*d*o>Ik+&OT{ZOTS&V+K1$C^ZbR959v?Y-BsLVY&$Djp+e^0=HZ$A)T4He6_t?hh z?IgK7Pj~-T14?wg?FCy?JOC%+B=~&IV)l95Xf?B6H@Xj^Q?B}-lojj02h+((aM5zQ zZN4?`&P!iiGxp&;;;yxK&Y8Y_bcgGQEPG){<1z0gU-|Ajk-Fv|1J{mLL%)5)%6k`U$3em_7usFu@$8IUGS5uyMe@vw)N2f) zda^d6`sJQpyF-;H%Ok2^s%5Bb4x+jK-3wn|Cq3e#ooAI_67e43*br%7qWlVN&!5Aw z4MczadU*U+$diOkxsaj2ds^&CONd4Bx+c<}4s4zW2TSf-p5b-PP6A)zwwi z)o~WM!SJ9SVT^HP*SOBEV!XHlO9!*UlVkJvZqqZoU%|P-8fh9w-#(k!312#DsZG+cME(_8*3FmKMz|6oXviF z;VJ(uyt>$k(F6`KS`yU4>J>+fct>@>O-5 ziPD$QyJ|QM{fiSu>vw3Jsd5gEz!QJ+9oI(uW~2bJO;VSt$(s5U7qh6iYXlPna)a~2;F}+)|?dtqe8{o}eSMkP8tVE-OX!r)_ zN={iwmq06=^Nb2#qQR>{zxqyrGq6yCa%8Eyi#Ds$3=1hFPZm}zgU(K8k8a~~CFIf( z(M3w6bJ&LZNX;gSH_zgBLecqc#j+jW6X>%h>AEAB5-Q$rk>Ct5*2P|mc@_+fEStJ zh6lQO7Fldl4`gw?DnlV#ZQzitS(q)Nu7#2={08>WDAmIW*W9v>$jSmr8JX~jqv_M0 z>?@GUw23`(Gns_kA*L_bO@olYQ}wKULzqj73t?le<<;qJA%R(db8{J2GOr_UPR;sP zf$$VIjT4848+*YrVz6C+UbjGL>iX*_iyw*BPc3jmt&C-~;{(f3LS&3)J#|IaZ06j* zC8ED9+UnI<3!c|bOB!bxfG`1n@soEwnwe)3sSUWWOVxsDMm3|#gbB*gemT8+ zq;%>yyh~H0Xl^&ecWM+HIA0d#bWQEvJ-KVE-Z6f6?nF-NFvL4_tmvvXQgL5N7Pg|1 zru>{XweeS`eZqRjOAPnQJMv47^TrI7urzM$v}GO{kxgl>Z~@#%>&z(5T|{vBx-{Q=VuLL#yj!(9Yp>gyRxHRV*zoO&%Dc zmv9kkO=cI7q;FpOZFr}e?HTZv@ZDVA`+wEsY(;w!f(jUM$d-S_5p;Ah<**~DmkNz1 zXvS~ER0N%j;ZoiI7M6eo%ghp-Bb>x4X#J;OM%TdP9zElIncXsK}w?k_Qb;kxemGu%}+DWA`r_BkR}^HTc+ZxMl2$6i1$p5&c4WjGa9n zJCs((j+eHK9dtUI(lmA%RmP6WyQ^^P*y&!!*gfK7q_+O3VmklsHziDPvcfTTGq^Ps zyu&%lznmKKkg;+?5r?M&`3=(Yn@Q*{qqr5m|;W8gU#B9)Jq0L|0 zWe4YROGEPBc6O|nTpX3QHeB8^FS(bCetM9Q);<4f${;YaNM8}JJxs^Gvmr4GUt z$zA=W%?8U!H)r)PgCsjRjaz0ROX@lzOU%kBd2^vkmdj-^Q#z}JIXIcNQJgU9AAFNz zAq;8U?Wt*>hQh10uD>P!W%DGdVYmCX>~E1!g^xkvs-r^F069bsa^VBU0-TIS9F9{; z=T*3}hep#DPHH1x!YJCqY~pxvV_%(#qv|GJMF_hX>=Q)rFxl;Ks+TW6QZcG0&o z+Acrbj`3oH(g5pSM^OxCYJ4>i-p-!EO&ARw)N$!b>i&#KtG%<(KGS4WPD>ttFn(?7h59f{PP zYOrZwowBfERH6P~5QCUNZO&kjW}3MXOaap)X9@})QG?~SD~@VViw6Ihb+aiCSC|S% z6#5YxxV4^NbbMo_axZbaR(=uNZ02^``psK&b*oLYKx@~s)rQlH2ia)#EY`iPifPQp zaN4SHIAsM)qS=P5far%hdn9+rpaxtr^Fw-p6x)pCcd%6>6QEPw?VW{)&RHE@4K8w*!itN#1hG10pZtA?h&2dx^74MgSwQWQ6>g1N0*z^Z zrj~~l-W(qVI9Uy}dLG$$49m%Cpp{>$`=r|XztC7xZI@V>;{z7f>WBB&OibWeD^{4Q z)#!EDBmH&&=Ld;vkBa<#2=D&!VNY6f~R2W#csb$hi@0X`NkA%8IH=hg`e zUYG=g7Y=n`v~0Mm65NIxZQ*J^u-R58(+ApQ>i0jMPW5n>0!|qtH^*~VUPoA5g;$wm z&)atM^>^#gO)ndU1$p-H^={g(V{OmcgI{^_>1(!-TXga5Jp#YHJNF$*!-W7>$Obc6 zY=#k%M6Z&W=~{6~q7scZBz(${bDajk{LG1~GUmVOAg=}fhk3B<^0lPC>Xfs>3m7-W zXv|}U&tN!AT}?eRb>CJCpT*!`t)_gT?zs)z%AE7rMJrsBn~<@!f@;A|VD2UUvdKpF z*TPc#9sx1OULqs~KUp@N`diWX0$t4$-bVHtlgVAFP5~iV%mz#Ab#eHo9BZ2kx1qVw zQNz(B+_`k;hBWQC3r_M-zyel1a<-EfN{HC-!}MuCY-D<+V&x|p<33ql-dI><8YtHg zI+;Ec78U${P}=tNO*!womD1Kb6J+>G$R-3wynxhdL~$j$#%orb#Cwtta8lJtS1gb` z3_ct!+Qh$;g9IVy$TFqgPpY{pVGy^*zw_90w$vsJo)m7Ipl(E-n}XRn+fyYNu=Q}> zH$b!I07#gK*ef+I++)tJ%0ttwzeWO?Ssu4w&ZgW~zy&H6V!|!4qAwWdUI{N7n_Z>z z0WZ?W#)4P&+TWpvkyFv5IT5M}##4MwsBq#v4u@p;zzXL)N^mtA{Em5qdmyC$#khp3 zBP`yblR{hLZNu-BUN(Wlu$q?OtdJ$h4uP)URvBS6K-fans-Xu^lwSoAn+V*$L8%g1 zUky917ye&`FCX~J_~7cpmtPVe%=eH&pwx#fjAWnSu2FORJYtG41Km$ftchFg>}n>g zhwcO@gVjI-~iwbu`PL+3=^?Cts}1)?Rs~a?O^#Az2VCji@G5Y6Q$TjF^&4 zrWKx0-<>P|WQQT*$TUhvg~?ZGcC{l#4m&K1?xzTIL(Q6F){)ud^7)tyIdbi2;X~l= z48|(N=MH2fC2yy7bK6#cIrN1Jg#h!;7Jkf?l`FR(PX+*MD?kz(jl-a>BjhicddPL_ z<`*Cp4eQA2O6Ax%7(Abgj(AV?0|JYC(KaMI#KH7p9>s5ki1pd=icfPiVq zSksuiez@@6^vzJo7i5~6*^G%u=jTbv!h=xFs6uksj;m_Es6u+$p$UO}E$5_%S?&iu z?_pB484|NebuvnCASVeQC<87drS*4Il{y|)9O88p0=|TfbZMoZwV={!izI1yi!jwa z<)vYkwQ12}memn_JXgS}Jel@ju7v^P5kqZcl(qdzHOdl=u%w^mtOFWNr1Wrf`X0fy z{B~?N+$#y!%XXH%{o{|xrWm>O=+ULhMd7$|)t_~g0{1OnvR7W5SFp6~DSN0mzgQt$ zHd;-nlGk02DwJ6dUejI{MKuR9|BlK>;LG2a7UV5yzh~+4y}}UoNO8jOr&T-=hf5*4 zcIsBry(7<128(^A%yL?sTz%w~Qv(p$-Emt-)spS^t|&e>KJ(bzH<2|iVfn~9vh%va z1^XsVJds~Ca*t!^f;fHt;$=CJ@vnQh&PyFx)Y$&iDaZW__T^T1eII$vq%ZNAU z9?KkmY}N9;_Of04mT}p8M;7Ium^f+g!osyKqTAB7{pUob&UE#7Jw7sL+2VYC+=9@s z1u>~pn|L%%jm(}mvj7wBGDO0cILL+xr^;J3q}S-AMfSoF?EMx}!+)-ucxbeIcHPb^Z6mj5 zuiUwFW!X$>7khpM?LtKkCl>%>dZ?AH5l|boj{Js4y>|$cXr<15+k<=-bk@ zdElgpJ~eFy+Am!D%WP4Xyl;l`wdR967Yk z8+9c6CUsILQeZE0F3TGcUK1I>+vBJ9gmio_DG9tL@?9djB)p0>w;shGSE>7g)sp+K zDy=99uwCB1ogA;fU0riPTp7Ub0ddt;3PiE;SrDgf4ck6;shl&+p;4XM4z9{zR-#1J zE}Cqxd;aH`G&^S0x5vdSClEj9J-?P$82u4iQ%VwLz!GyiM)HSa6QJMLT}%N_MtdVTrVxzj$I zmv&%cJ-Ke`+Sq9q$7Oynd*qs^#bYPG6&{?O+$nTQZ#g%v|Lnvrljldy*qyk)Yz8Z- zKfmlCj*g7jLhHcX2dg&yT+lJ4U(DD!sZptN&zuk`xomyRl!UyH@jd2dMdbCAnseNn zD-YQnOkkcPX(HMeN#Vf+HoAj-{GFYevyvTh#87aJ-l2(oDt3;_LupRbFgx&!Y~>pZ z2U31yH78p&yh414F|5ps!Y^Qs@M;(Y@)5Cg?6H0*DvKFcFaSSootJKYq78fVd3n0R=mR&};EblHI_ocOVIduzJ7*!$=l z>*9rv%NHPcGd_7=`pW1wZK7AEmp|c4%5PEunj-s4l@yDWdLk8+6$w6-yCHBe+7*dRqC_!V#PDq_C;=FR{gk+xrO)FM!cfJGZ^7(0kQFA5{x| zV1;r;lh-#CAbZ5*utyS zLsOCJf&W{@5(aThMRV;?VG$#2BNv>sHJZ;FElL4m8DhbE!ihBVlu0{omI_Jhh7DVn zMDYl?FrgC19JOL!X~s0HI%8~G;S;87rIsqqm+G4%hUU%Tke>}h^L@Jtugr)#OL@zL z;r><{YPEc&q2_}@a5%ec7>r~ehuX?M&K4?EV`t0ot2JAg&cZ}$>8fn5LT%WbPahSk zO`j??zsOj;#cG5IhpUWINjkf}L^|7!kXbmluQW(6$mVJWO5@V^tb9TIV&O*)SNXBh zEKtk8$n9$R%Cm;Jo!}O3Cn8&h&uFm7FAl$B8E%V&;BfM}s-&wVH~HLFNoSqg(c0YR z@LF+#7B)cjaCxehuPjdqOM+Lz(uQ#~d18@Dybe_=VWtLQS9cq04_rr;^YF6Yl)+xC zZPPAIYd7uEgthIU42EyN{($uZ@W1f5>~iIgdmzA+VgjJd;xC~sJKRCJ)r5cCRJr9v zc1XBD9;=_5>Pvwb72Y;q-fyV*`;x>80wV$=^opR+S=eMQQ@ZGMNX{8ZTP0vxk4|hs zYlhWG`>UQ08m2q>kdlqDDavKf2lZRlvv+Rm%=Cdw@6yH@$35yj@Ki1bDL>gcJJoWe zf0Uo3!18;&=k&(^Vq@!H2wjM8-m6!0`YGQEw0QGeL%GG#TB!RHznKbG(E<%bD-E>2 zL^q&l&ND1+V1b?wfW~XiZCsSHK&1@m+1G1X|A8k93}TIHIXT-o(m$*b(MxQsB36FS z`WMjMYDP?qHzUSZZ56S_3_740&bgJtk#PJ(weSZ*q79tHkXp|oAxDKHF*N9I3+L+@ zCkW?Cwfr&x^Z-F*aMVc5ui1%9>wY{l?qHrv^ZdA0EE-K}lg zKErypR(?@tunEeyDkM0(M{8D-W%?=UusYQ>9q$`dS9S>h4UU)|rXE3l02ctE zz{c&Bly*Yx2E)QmOMOlC2W}jQ|Aoh;zYmOUV?;w{*UtU?>buveY2VDz-QTOp!18T>jh+;EbI_RfddWkSnuQO1 zue9Auu~qTn^bjc$pP#sXIV$JMw>A0erp4AcjNSdE?OCWp>JU+fY>CO7$vM^dB;s%= zXKz~JT=iAUKcYLkE%nf3QOiR}S>b$AsBqlsV}R&F&7e8av;psVsl2SIE?Of2g^_Yhud z7#?<}tVDRMGO?+?zD`(d8v~lgenIk~SaPW&AErmTo%|ex3ddPB6^@(BOKspqW;js& zhQq6nx7J8D7WIj=@<d@qA2cqRcYsO}*9fC2xj7on)rFt&zV9yqRGtt2Wx^{-nqY#I$ z;Eft-{q$iin=!Z6LR)8{ZP{({2gO04dS!hlp!L7F08olAf6C_n&FyHfcmW_Vz-*GH zXxQ?}pa#g0ZFQ_vyS$f}Ssp5uBktvE{Cor>sCvuKO?-mx!6{w08GfXja`^!DT+j|q z2F5Esfl{!(fT@xG+6kH+Roe{SVI*~Mfo1_cPtA2cR%qG4)6>Pp)3breBsD4D*($7+ zv94<~2f@wsjkAY`v(Yn77L#Nlq@j;@!zK;AJ2VuU$Z{QAQeD?{se$PO z!OtLIndFA;B=d!HKH80QZtl2-h;DhqMMTZjy9QlIc7)ziPM$r>LT=fA!9vcSRZf0k zZ-0&X9Xh03yJmk?xpwFf^DB`<_A}4--)Elt_bZ>i|Gx6+et9c<{nTmJaO+m(=hLT@ z`&;)Iyq|vpE&!KMLU=IV8z2*Q%+L$8yuz^AOFqEDAEK(Rn|`w#zU|?fCTkvU3zv(S zbiT<2CKj1ifk`pNiR0W#E~L!r96hcC?fR0U=QOfw*9gj$B~AB4IJS zCj6{4xZCIiGW+q%>{@8ObaBdNd*)pj6T9c$ym|Nb#Ev;XpY2iFesX)2QoehSQnu>$ zC-Qu+W91vxl$WHWl$5X8P=3s7zWiw~*5&(iti`Tf%AIrHEARLE6w(kjJbf`;b16Ac zrZcE0|2F>c*KmWER{nclUb~JHpLW*Z4>{bL-ruOgDRTts*RJD)=(X42mpI&-_FvH8 z$2nZPj+69*O7&Q-12Ej7>i{GN3in3+v!lON@i%;}!54G5dQE@<{oSd5fSc|eB2guh z{(q|`{Z}F?^~=5HJ+VIjPU|1u+xCy%gB#GE)=wqEXxq)O~{iW~! z&A-?BjrX?wruRSd_geq)-nRer9yOzVjSj%imJam(9sXXU2j1J#gWg}_?^U{FD-pzl zShF1fHP*Z*z{3aL%z=jo*VmCG4EJ^H$d?lsjGPRP&IrA6^z#>xb{ZV&V>f@a*q)#t2_NW{KH$UcI}QD9?|- zuUtCI&a&?BA7eGncI)kBm#u92^(*D=ceAdty1)WlDz(DtD_86`>q5DqC{%c9eEexw zz`d`U`fOx%1rOzJ3oqB#8rH7u(CD?!ecCWPCbsU=(V?+J?bjOAYUb^x+!vk-!69uW z!9&yweZo!mg+}2$CCNjO+VwY;nCw;lk;?UVz*ns(lNac0nHN$kx-|uG;-7^&d)&Ce zDh?~b{1So|xMrO;FnnRca_ozI<5)MyKT4JsC>E{U2m1;E9enDy3H2Qmqp#Dj^&3KO zU(?4vfem|i^6S$euoKpl$+?R|o!bSsi4JeQ}Fmv&C!+ZU)( zNeaTq*uw!tK_Li=w5*6N&G8(Ug=Z#zc6dffQc}qbco7dDeDA%3%3!)sb$-gJsZ&p- z$RBLm_JLZR_?xj7#BNPm3w-MO@tfGhcV$`;cd!&?9l!eP28h!_86lR^LA{#O?R1E+ zO??Ui)#@HWdmG%Crbq5LY~~t(We_tdcC1I?nzXp!k7lAlFhnP|4fc1h-AU|uOfLOn zocP$}>|4iYFpjllc6{^rqjkc8(pY5$3nGAivZ=5{c|@ymJG8PNRf|{=_;OWKz!i+3 zE)?EoOq?Z`e<^fO+WE69xW?tOztUdl(8=_@BAdQfPr2gQak+5I6eL_SwKYk?JyT=! z1=rdbU8pY-bb6?RT@9gp!e-*+K~03>8}!`)S650Ln4}}`h&$sEH`Hw1%Q9;v1O%9l z3u6LIZ!5Qvkfpouj;XcDApB^0LmQ`M9Ba%htR8L@&1uHEF2ji@e}6HT)b}G&9%RtSx1G6oOIn$K55?7qMjhA^}69K zPRPqhCb*AICD!WC3EWLc-~{En2Q&mW;SKS(n(X3zKfUiWn({27k((c+bgU&*BZ|0-!VA3hoE zEnArDdtsNE>*h_$cbCJ$PP1Cemn;7{9d=6j&x#eS)(3L_M&?{{hBer*L3wcIjPlDy z8F$_vJjjHlOBLnd0mZcRUxw)CyFdr@TklVdrS-e3l#YIjG(ilMTU5k`1$<0b9)gX) z5_Ns*k&moywD^R5S^l~#E|B9g*7GFQ&_?MZ#Ai=fkgTi#D{O~A%tj>+JU1GIt{Ojp z@xpZ{5^;hMx8h2o{QlLo&(ac=3N{Ew?nhr-M3*#PyqFLZFg(_@mSzPIMM@BeI+_76 zBGC+xy!gOrZ9vqi@Gk6+iZvQTlTxgcIGI} zX#h<-#$U*pej$UJ{A@?c-X!7=)QgLSLH6F%p6-3Vi&g~(-{YU^2B2snxE3)<7w?y4KWrFRPQjx~9>)8a2_h zkxWTkU}8CWNt>5taaH+Pab0x{K{id6%kNj$LUZu5tf`jl%4jML=rFUJ;iv5+t(ke$v^ zPz0}b5ePCSV6O%#K?w`7g=IdX3F#NI4vZdsAd8(=`sKYdZrnS0?0Wf1UzX;p-!W?6 z#PNIM8uN*hjq#~( z9Un72AmZI9ySsKdyf?O!KK3FXpWCM(P&YD{Q`$HUo_!)`ol*{|EMc4qhp6LZYLD>& zG4B1uqTY#Kv2SqLhFODlD;FO;R4(lpRJdWlpnWT1`1oLJRq?ZN5^(6Lx<1{ZomvkJ z+LOMjq2*-3rv>e`xQdD7EsoAEJd%~d`3%v0=S}s_Ih~$&XUWn#d7}>gs(ioonR0k9 zmW0!Ell>;v<!3r^w2a6deSu18wWqte+}E1t_NsEgy8-#xTYlkhJE~M)MzQ! zRT>7F9(E86qJBi5u5ugCQfQc^BT!p(#V-cj%#C{uH>hkaKq6zJ$5lL#8W_kv(S$r1 zbTv5~U1qLw@o9w}5dt6`X+QMBIa=|s=}K)OKv`S#)r=Wm6%AWDxqS`K-49kctoeO^ zG%NVBXxh6IC%!vv>U$G&-qoK}$`NN)YGBL$yLRoL%ltD2uV!}N43dZZp!}xX+;B*# zSmZhThlLC8&Yk=Hf`vcKMwjV`-&iS>k_A|g^kT;OxYTnKtK6wj&qp-6;a&x=g*PTm z`E35^_2c{3sa-R{GtIG2>VoL$=QGkTJ9H|i|-%w}K~bNx2(IjpS}Zqu*% z>|GU(JLtyh&HcjWnyupfw)F2M?=Ag&$$LwGU-I74@0Yx{^#3LAEp(vwmi}7tx6tDy z?<>;uY4d46HP@LXq#81Id*YFa z;}0f;=Jgx8F=_k4Jhla3~Sb0}rxn6(k-SFL?F0qqzB8pFaPJ@>A}D)2)L;M0pR;S*y>sx?UZSY zJy-fx4hslwE4xVHHjx1bkr;KK5`nttt`+F{NRHueBOP2QNZTwOvEo5ksDa!srU00K zWAfx1^E1O2r*(z~$1Za=I`a9n^}EtiPAZ3&z1=gV22u2}JDmijMHqu~0{5L=DZ)r}MtSU|bJ zHs51LE3gP9&mw4zsu>7o72E^+aLU1v0cpk2ePTzg8GdR*`hw6}?d_trq(?6pygl7L{Vt)oRNlt zS#M4lo81l!$1&p*e!M2g=Ha)B@p54Nx|Nt_j8#jIzn>5G=2ncsNp7lIVKi`*f5|yG zs#98VY*6INGpE;2+!N=SeqmzF!g#Nko#SHGkMHI=YER~}LyT=(73mnZFs5%tXe*Cd zQ*)Lj{c!ff|Bkny+imveYc713Pzhg59D_vo;zD{*Hr|%9<|NF73!M#6Ib5Va{rxn{ z8d;xd2H={w?rpE=b>aa`>vzv3;V8(>sqmFgql6^#-{RH)j#hM5=Am}lJH2^&tGSs57=Tb$Nu)PY%jB3Ex^?BMco zdq;V88^1m#b4QF<{6fd^|NZdn4@t{%rq1$c6`IjEW?`6ySHgD})_gv@n;9{YC?+id zVs){I_Qm>6zB}CY(F8Q{r&9&onWts4el;RWJ^VxETFdKPs?|Ke!?8u(*Xp%3E%~3& zRS>;KhfHj{Id;6CUhiQrm>#_L(Gd;xnJ+f>WWoD9^-jh$mS2dT<4tY{@j+J0d^=gl}%pZq?qaBjx}iJp=2 z^A+#83MY!I@O*QmFEz}S2NhnR<;<>Heg?y)4iu~kpQ(FXEqoS(5wDu^h0JJ$^F?26 zcQ%7-)m+{NK8N{Q;Wqu6&;FsoBW&<*RrB6!)N5<+s(WkgV|8z>J+1DowZGN9wf4HY zx7NPnt)-7}J?7m)hEc(99fH1Plrw>pz05hmX-L z>sxSF8See#BHu_hU!y@HU5cxL{0}biH$dV~`IqvqW?iE)gIKr3{_g$fjg*w@!Y^n3 zRLah8y?_7m!{5K3VwU>XPIb?W>FZUirhQ;!R?nFEu`Z${x0UpJw=LN(f3WkdBP9Gq zUGs|nNKTxu>ybaLYK}{?ztS8M|A2i|adl>; zydiUcUaj6ni&X)+I%sYjq8SGHdxW@vR*OpT0*3eCj+-ie=JLo>kXSxkTZb)=~;f7s%pLmQjnGYQ`8$E)qG@0d-8ivxn6(i^R3&TEs+azg<@F64IK@A5xWzWW>mf16;Rd_8Hl?u`s!;Qh7fyGGIJFMDdAgHa#399sz8{zv zb}&k>qV4Em?^O-HP%5#VRL!HdDSYY*=elL~oqQ&JjqmwG zIg_;zgugJQm^rj2Tu)m^dPX~;-CxADLYPmg_+M~bGIN1<{16v=>kTX8tAaA^x zAA+ zV=Nyw_7fCgU*zo>9y+Oex32la_q?@ssl0T}TYHA(ck323DP;JbytMiKkX)qy{Ms{r zTv`0xjxHTHf4}+T(i_Kb-aLMz^kY19?6Tv#;*~$nj9L*HxgrXz#Zlqf!&S~&{}#YX z7C6a56`rp})vM*L@B;EhS5tllLu^hp@R{uWYT>ik!)oD$>^m!*YXvGkv)R*X;d2D2 z&X#sb!&J-97j~*}MCn}PGM?ZtWC^Lf-> zyEGiF1P|%bXyAg0Qme8jCw4V$?eE{(?VTNxRQ7QE(&3G|hjVj@YP@Tq!(NO}XRa?H zy8@Y+jBs|^WGAcEbk}ZV@%06r`!$o>Mfd&S*$fA1L zrG(ouFNO>|I$jj~&;$WYs0!o#6U`&&K8Gs$PzY07vYE9~u1LLkpP&g=AHvisxpi01 zrZr{3cfDNRZGv!8Y0Ira}2vz_EcHR0tg`9RYHy`&(Q&Ri}X`buM_Fr zU<@DNh<_=32`Rr27$ghbOjmmfOjC?26SVKigNY-nvUW=FQzLM{gRFv|&Wy_*tt*?{f&9Gkn~eE5_!$DbLDC zDw;QL`0S97f*~Upxk%1yQijbNtPR$7^cB$;a6?lEd0#~YnVVwT%960Njd-`*73Zg# zir=Fb6ok@?lmrR345VLKs(Y9BCQ$6jdqabtfcmuXD+}4S%bVH0PROnBac8CXCY*_T zE*MSUn|{Q<&xt20e8o$cp!F#X0aqqyIwX`yZPBF_kScSld-~m#x0m-zIy^pQLqyK6 zr@oXSl)9Sktri-{ekp4crtFK62d_z+v}LFXGv4$-Xn;t;2P)>`C!GFIIL2K?0l!st z`~ywb#@whJGKM@NZb+`wjjat-hOr9)$}r{Kb4YNd)_UD^19d+TTPqDvi-dmPMlB-M zLeVE?ggMhlOm0w_0A4tAbG-@~p!K4bt)QMGFaZ%@PcsK~32st@kYVlW)o>MN%BHX0 zuyf0pCVORHSRynpyDZr&c4vRhMkkRMLh8XM3>HQ(S)dri1th_dN*>Io!n=y`9FF1A z<5;1=P%}$?29qA6@9CMom(+!thP8y3%QTmhf~mfmcqV2R$vDXG36YR`3S=;XrQoCM z0a7q6)`H^G#0^YVzA`m&ki`Zv?Z6aILHAEFBEq0ki1B*B%Us%hqViWgMH zs}rnwse5a+T5`sV-`Q5JF)!|(MDJ9r14RT4X_Md(nuNKnhq>ZIvS~1c77>@^7SR?o zz?KBG%Eni!%1D8o|5KH*W6`br{98p{^KRwk-J0j+m3wLY_;;pxO?_v=_;;sznG-da zZ{Lc5bV}6xbCH^;SyLGypOknp7`)~Rbdkl!59WAvmbi=HHWE}mtez^^h0OXbYS(N2 zT1Y~(u->PY)16qNvau8E$NF_rHeL=M+`LnQ5^prN)$3VSlt=Qibk^KdF35rx7hBhr zPcqhx_wJJwgziIrNlj?T`Ds8J@}U-12q1W^o*)asEi58}sE8+2;oaD$c(2a4WgxaW zB+e!x4w@&XxlsRfiM)CHh>|hkGsd!pGRxb2j3q1Uw=MK&<=ePf9c2y;i#D8%sbxKe zhPOP}%+w-UFqq+8*c|1MI?VdPXc@8&2UEyYz<;*Of+PK3HWc;Z=1=~k)vroyJs5-P z*CaMg2H-&JLv@i~Zq3fI{*w=k9C=`}vPousn~opfq?{6xk+=&PqNt6T&YPYhL# zdeoybm?+gnthqIV@DQr0kWZed%9RpPFb#1G7DU17N>_Y|q4xc-vPk&*sqOnY0z)sZ~#nzGMf>ZZ|6vgIFQEb}M z408p061gxXsFsIaK^q2rUk6PVR7DUdYZ6j-EiWYV`1dL4gvTGMN z#Ao);t5^Lz$7e`fJ3FuRkpaug$r>ZLPypL@1nqo_=83j0JWNpQ4!OC^zE%omuc}kx z(hs(toqS2YV46vS5#9Xhr8$GqckIr^K44UCa)X+n-IoQ63`NeHBh~sqLM%CUYzd1{ z_EH`~mSt*!yoP>~J@ODPmiI1MzOU>uHee6|$_L_3)Yr(Ii$+`In?obFQFIJ$SUDh% z+2^e@_m7TRHzr|SRC9P+vkxU^UYyQqL0wcnkdu#3&N(yesYT@BC&^3szRO5+FfAXKrv(Gu>WMa^lc`6CykbO%>-j?E2Itzuz$ z#1(cysS8d21vjXpZsCbJKd)N-^K1)GfE(y25`vrbd!$Sx^ipHE$fMvyS7`*Lv`m)Z@Q zwrT!)!{&XM^ML{iS1ic?Y-0q82P_~rxVYm1)z};Ok+`RMsRmRFr%eNxzbqW4cxuZ3 z#H$cXthM^q!gPTCB*8+D$1`NO`-*~dBwu!BV*u!BPvuB9Mv#KR^~-oxp7~X48{9{Ojhq z?&7BPkVaSw1rdVe7V|!yY?O`Zr*daq8XLT7+MdIQCVn_$<~tLNa;=*O#~)AWvnXv} z{NmX5Q$8;-20tr#3-f98%Av^TIXE}2rEkX*voa4QCLfu&_A+j^37Hn#%(qEM?D#%8 zCsK*$AqQ|ZEf8#j?r8|B2vyJbf`jbv5}UJ?>k-E%pZ{yF$6gZgVdA&EZB?^`VK|(* z(a92bOkzC-oqht@C%%d|yUBkUWVXoUEIc$h>u;1F76+?8-lhSqok}SMW6T0Fm(gqJS)Ti^vxOc9uI#&^%NLxWVZNP73HDlz2K$h z&f)o2v?m7#HMT%Y^Lg{i8?k&sK81*vb4$ zarwGX8@D+s$#( zjYqK3L?_yrgP5Jg2Mx-HHV~bi%O5n5vg>>0%>5> zqpdpMv^VQ$Rs!6xeAUBCF~^~NhrN(zntZ3|V$!WW$}{^?2*wFFR}>3V&pDL8Ymnj~ z>$VFYwivP@bK6<3gd@|C>C+TaLx01|3k_nEB86C3U)`dBge{4TnO;KeatHCZatD2b z(g*qmUS1_$UQm=SS3K4K$fIJXkQyjXm0EH&&>M9fMO}1^18Nf4fhg|YtLE*O5H)Ar!y$TBWe|@G8;&dR)eG!vMBEZp^Ukd9q>s^W;{n$iQ-gSgwH; zc`J!QN|8Y+3R05A^%&z_vMjDBovdHLe`NjqQbJd%A`7s*yt*`K`RWqE5Mu|^ zyp;+EZyk*P%L?FNQz{;aS23Yzt~MoeWe@c%h89$2p!-9hFEOwNx!-V{6QZ7O5+NTi zVywtfaBs-0SYLx|Ogxf1dH0CW4gsE#dsx46U-4u5QR<((?Ij0z1zg&`>r5>wr9a&| zYo8B;(?*?3 zMyL!l>M#Xi!J#-k+C8cXjIa(m)z#lC_19l5^*`w$c5D?A(y}fSWRLP|t@?+wa$rm> z0U;Ja+bz-GC|l*5n&Ru5lIkms1!2;BQ&WBEr;LtHWmg32oA8wwYl6BGnaI zRmBJ@Cr%Yed8SL=LeNeAZ~7}8*f1=5#t}0HKTo*GB5`gb@)F?|wtnWIUCJe#+j!@# zL9^Bm7_@hJj7B6CF=zusB)`8wN!aK0N_d#5^9mTKCs*q00%$?d6e6rN$V|^;BRf_a zDwQzS#i5BH9ddN;y$x5#uP8o4=vq3e0o?*Wx`)aRe%{wDhl;?;BipzU&I^{!3Hlfgp1kxg0~c`(A*$7 zo8I*nx)sW7Zt<8mgJs!JfB3YJg4K-;^`hnu%U<4B?vgiV)h4~Jv`}AQdSY@Eo~$}c z7gab)al8D7v@b{vPU$@Qz<7EwX6^6`zy+>tDF?=g*C1G7AtJfN4_;!JX|vM|Vimuj zrkrHa>(|SZ<|-e`O!i{_b0>MR4eO;iw&A2Ql$~2NzwCynGs$fJLea5YIkf?G&qv)G zQ8zz^IogeeoNGTw!sD++l`*s?ZItuBm_PrEe3{LDv|+=eIf}j4l`oj{ym`vQFRpxe zhqYU`PWk+fxVmh+6vx$tCq`9Wn90?J6ln>5>nZ2DbXa5BTIyc62c{Rf31}5+$=Yk1qN6fxSQOgtSi+1swQgRL_$QRe8Z5SrUt{JiU5R_9Z zBI-`X4Pv_^COq~IKKOyE$bY{gYHY3iv8;Sa|44t2p}yn>{(HWN{{0(71zi#%sN3UE zWF7L0LYUA&NQ%H9g^=t>l(I$TF6h=m$nvkJP5XNJ@~@^%`)c{@%bA&%XV1QpnR&(W z0*n0VXBK(kg0lDLpOn29_9L2U6CSjyex8$#J)BCk#_hbq7 zHypi&!uQsX9lu5~;%-N%B*2F!u;J#Ks#YN*Q~;;>?9T~v1LF5&X6+j#kG+_OV^Dz$ zCMj*j;I=}OytkK!rEZIh-;t7YCL{giq+uIQ%~13r9irA+fNi)d=blv7s3M0D#O?xV z1T0=#Ey&$!Fw$&CRgf_{X?FH5g`eiindc@Il%!6*UgYdN`CR6x-I?R|jrPpEn45bp zW9x#n^}{D!ub*^ueB!1Nqj!wS*fzpz=$e%HwNX(UlP4ZdN<5HRc&WMQJZ{sd38ynK z(^EhT()w$X8zmfhYj7PoI?n2n@JJDExx1Q@#jQ%YCo5_$wGAov6lEyt#rBdHPgawJ zT^?l&LU@?jtw>s%+968IQ4i~m$gkzmx*+71q{%Tmv+~cUXO>LLIPTFgO!(F`pr_Pf zZ}#Zj`N30f5cWwMM@+mjz3`oJF<}PbPfycK|M1`$Z>KM~T>zY;(P$|b7jV#GAM3{r zGnHsrUDNFKOYD>BXL##*=f_%F|Hc&7Q}o_5e)O&aw2ovLa_Q@ThXR-yr-bgoQtYGl zoO3m?HBw)4i7(VMF9Ma!rS>>bBMAOu_7wzsWt1$)+?Qr2*EzRh;d{w~=saa#{Pd4= zv)-RG;b?NksR_{=#>tM2vNk(L9AwhlYnc1*%j0%uE;~`8EKwc}oe?ta#@xJ{h4O@p z6DOa~>YKMYs_^ItFc~&-;t%R9m`6)9J!Z^q$BdKNBe!Qe3hp0FPv4g~X5ZM{k6H4n zYns(ku+KPqnx-R?vLj z$>b+)Q=o>BoGJTB6Eo~ddA2s_P#o0D_c)%|Bhuc~d^YJtkA%=7@7mM|KlWuurDpB= zgQpD0yEbj=)%@%e8RJf7W}Y0Eal$eG=B%;D!;m+yeY0Ne^FNz8>t?<@{$kF=3**OM zn3!{MJT;8D^dkn8-}=`>^}A3;MeIt=yoNjP`4ljVJ)uSZ)v3e%mDU~Ee{0tpGC7PI zzLuAD($cX0UjAo==_kVAmibI=x$rZzd|{Gp%ZD*Pr=sOoTQ*m{gneFN*%Wl8SOeN| zd0LBBM3Vjp(!k~)HcCeQN4l`mtN7v@g!cE>#p8=RZRiXBEY*N_ z7SHfs-qE!YcN1LqIqNSyklYEPyQ{vD=HU(1nSn3d)jIi`F#3i~RqhIf2*fe!H&E6^ zl-;a+&-NJH(b`6sa}e~UmVn6P#%2_OzID5U{StI4J(Ct(dB*Qf`zQ0Ut+h$a!kHbNcf41q4BZx7BX$pUC_vM7v{lM zAk!AQ9F9$`2nHb+X@pEBLRJKWkc&7WDF@7UwFEL2BfRWFxODT zYuM6)N)!kY;yz&x+Bl;7ldu5f5+F}BNID<}U2Ca1yhjH8!$DNS`uwN{4X;TTC$*D^ znI5;V{QN6DvjCPMJ`r8<{)q>F*5Mgv8w~n?(X;M}ZmSd^KF0HJ>a*Y}1qdVY{5yaC zMYmq+F8+q+r&{?dD1Qad|JI%tNdZzEp8w#_A2L~r7wP#w+Vc-myl@oHf6_C<^{!HF zOc$e}rtUQFvqAT<)Ld^spC9T5>2~lwnjw#1I0gj0e1Kj)M489fI4!6I`BjCm0HF?g z`X0(WL2Bl=c;5k$2=Xr#qI<%60o$d3{APv-H_#s)AirynUsyM(yHpIwQ$VQoCoBzL zr2+D9^H&JV3V`F%sQ&|y9F+NxeTq?Ffc!@*^Pw;clo$fYpMY!uK8?`&YiQkIu#2J) zBOIfZ60m3l*(h{4FG*p3+A8IO#mjnZnq2ut^_DWI?XX-yZJ=jCntUm{%cRI#ek1&s zj|-g|>=P3xZ0%y2+$FwK_~OWjd4mEII^D{jnz(oDxD)e+)Q}~&&Mh5!ed?I{_PEg8 zoSxfTN2T`2TH1S3XxEhN0p*88|IjHp!BGna51bbnIys^3_ED?G#BYd+SpR9B7_uba z&uKXAj-nBh^#;6}FtGHf2fbAkqL-Pnh4)q=eE+aq+8pcg2}n9uzEsh61zQwRjSb*o zrk}|!&P|&-yEJXeilhN$$CWHsX9768f}HqLK*m_e#O1Ul(=TT?@f$TF&l(-f5%~t_ zr8O#(rGaHf_35ruy^FalCTjSq1n5z6(vj?}eWOQbb_s9Sz}&AlXAH_3(Z2W65phe0L~l$SeoxHl>%-&6A(2pK;7}E7XIEF@=!}6H*2@Nu*pxW_ zXcDka+!od@EWXbSR!k#Am}3l7+T8~hE$KwT-%`&VX-g_maCOVbkgVZRtK-IOh?bL& zWR2aQIC@H-0ZqM}Wti@HGfi1Za<9}lzp$BuMlKy1vvExJk(9WdX|c=iH$3!6Sq$9SU!d2EG zKG?h8=nfr5_w!E66bd&pT-RB=M)^p&vT>7gMY*>6E>0mcT{@QX9D}>L5?Er8HVesW zV45+e)A#ZHy@TVuv(l9BSL23&fK3}A{yVNIR<0_SH~*rz-$fmFfXHPaV&oGNUS%Jr zI}b`ql)J`Y`MI-Bf}#T4W#z$Iai+^fg$Y`PNPvfhx^8Ys z$phuCZ1~0VSqUmMm#|b=S1ZRtKSfEkKCQHw5Y$>-y^)@0eKwg9f(}J&#YHdUovCvs0%Z zhXJW;Xw19;1wSgEA2^`g{9(q7ADG91@J%avzTRi!uEg}sQBhmc(sswk?^be`l(W$D z=UHgkk|kxziSwxk@_T!w49%Wjc&Di7>sdt;em3<=4Nt!?;{@ySWbWK2%KIlyD(^p; z>)O?$mE5B_yOVPzZ~FT=litsreq|D5-&H7FH@QN!fvZpHc+TO^8(~+d(A~lFW&XU0 zzelJHIFS^vE&O>t6tGnOyv_U`<4W(h^XKe}C}UScE&_F+(?i>qc%;GwzFujO%A+B$ zSjT2YMuH2!h1-9~f0zV2DWXPs2L9Ykf6-Qped6V%c++3vO(?krU2p86?n*bfWq}lJ zPu289i#hFr$-HJSkUh1djXjmQcXSc)qt|{5D{^muz?*O6PQSS+Dr(cs>1%#p%$7V| zUHo*(lHUctCWo5f|3hVSTn{&Ca@h4y{ZadWnmhO2zEPw0-J3i2r~RYk^{mE@oy@Ri zjZ(UEhw^N_c%%98=4J86@h|=tJK+xqg(elQf|sEIgeOvB;m#Q^#nqeLH8gl$!$4_8 z?5 zEgUj`Bb_e86MutmYS?^JL-&k-1BTJwfB}wUz!`%07YN7EXY#z+n4)OGV9$Mq``~}y zVLm>?*aGb@4$=t}{f`*h+V~L8oT{H_MPAGQ{M`wsK= z9_Hga+*{@_z=4pD5FlK{u`n73BE&@{M@XekvDIvm@U2LP3J~g{$74Taon3SV&wuD{ zipRxIU`N9KHp$$LW?W)JYS$I!7oHe7@YB_W`vWc1S1@{@_R>C;-pF z3Z9h`P<*~{2_yRi6hETFZU!T83FAr6NBMKM@K8D}Ho)^S^LvaPy+2ORNLSwsBeVun z6#g^a8V>OU>E8n6lm_t;ZU`4e9U$0G=+>glYQYV}dK-{4Y8l-hY^-=(N&=)rgD8Mp z;E=OgJvluj>B66+Nm?Rd_$-@DFw0R)K%S;U8)6MCBg4uG>T= zfQmb%*HF_(y0fL%&;s7*p5hH4{0-Cf20pNq^M1IAJ~vt?dlNn=i#H6eJgA-5dF|J! zcJywbcwcwY+Vg?FzWv1e?6FcG-{2kF!N0k|zqx@uBv)0%`$Dk=?vAek2VOUr+7o;y z7QXNv<>)SZD4!SwVyAwU8&_;{EJ&Jv`lb!J%^*lTfAnbTOdBrUAB(L>e>Nz z;sd%(9d+UzGDi>vzT$O$rDe={6DAfH&1}O;uYx9gGoyAm_Lb~iQPh@$TRhrxy{K__%~0e@;hO@KdA z-$*O|@(p#MnPwxR4p41OtxYIouEMWibkrs+rdq^rP=7xaBK{1>OTH%7&@B@hNI|si zLw;b$a`v5)#g=zgCbGrL*q7`}rM1$!a=9tI+(5Qinb?^vSF$X{&=9J_X}%zk>OSxC zecf*=H(B66bNJ5$N42MPt;Nrz1Ue=NqqGz2=;Y3vPKk|8_I7s23@>{LlE32Y(7;}4 z&#z*Ti5d%(BPIrm;bMUl<8Ac6uST#!{nMG)Chge$u!D1smeiYzXuxCHlo zi7|1BVbmBC6XPT%F(#VbWQ>}`ILRB$%VbRAsAD!o?&14apL5x~X6AkGeP4dRsJBja zRdscDb@fu!*gom2phvc` zi%pz&Bn1!Mu@KE*zMjW6vwDBI;bo=FZ1F@(lCVlGC?GCxpJXfER2URub|41AB!fIo zOxhHJq_v9g4#@Othk|{olleH95HqbaZlYaZ>*# zw(>0cN&gGG7?z*(Pg;Jyqgf}};@$(P3u+*3bA_Q^?@(pLBst1}t6c)z5qX{1r{xAJ zum>AdL1G?eZk)fT!5335!#i;o8B1hOejcb7ANggEbzH^xgtB2ilY)~g?EHHs6pa}> z&BrHqY({lA!ykMTwuR>eu@M6Y3}cz&yN}2i9@5{%KPy&lvIs`s-NU|>f)Er>7e>fu zY`e4%{~wogAg6~;uShf7$C5Pc#;BaYkuLpxGB`gWaDa=ykQ0kh_h-#{@sbw1N!WAK z@I5XWyKsFu6kWejT9pbFj>T%QY zocwAZmLQ+(!{Yo|Tp#%)OXwrNDy(A*PJ6#`+UpI5=at^@I{k+CX?Ychy~D=APuhs< zpV-sGGGvG&$m!w3c!FRsD2Cb#gN0u5!9FZcKG28d_7eQWo-Ef{euhnPmJjw6**Lb< z>b%$cz25gaZ^gFCWofK~F8>!HbBUdf>!zCSi1 zV(f92P1xpA^tWO2&)c^Byjl5^^}c&o=rc6V&k#S%Fg7S;luSuLRv?w|3hfU#c@N|% z1=Txp>b(K;St4D0h4Jt}>hR8MbwMW~eYkRMhTZ^D*W~QSs&{MBH_Yl6nlp$cN4J(eW= z>L7+Y{Y@T#C|wJ9@4bL)xFX698d^>mF0d-`l+Z`^U{{q$4GK@EMIXC?Faimr|BMtj zm-$&>0EHN(VM1=pHlW59(NwKmlR=gNXM~PHccI`Is0e|7*xk*UWtbQnV;nm&Dl)Cu zXq;(a@lj(Z2;qTa6Vm5=V|evi5Xp7QAim17lShsT^Bo*y)4kh-;L#IPV**A54|NN+ zw&^h;G%8Kx5_XUn7MK)p0tzrk`8>wkkS}q~HFw4tC9Z&Dn^Ne{`uzB#X%E$X%Y`F` zE2IE_ImTeF_6>ufRRf)1w^OSbDW1~OV;t5z_P7rc3FDvwt7k{pV8=oBfk?eA;^ibq zXV~IF_MY6mjm87<4w5g!rivEhV*=>AxW3mLdBIV+C#v~w!to1YgsGYqXg63@vNV|k=>B(I0KYt5dSYTeA2`mrChZ$5+MjKgC8iX^l|<8`n(oi=H1FH*fs- zd2zAxqroFaSR}lS2rhR`04k|&itwWlezvCEg~lEnbd6n9&NUckY5WL>e9 z*z(9tmBrh7_}HYcOo=L=@QAVlj;@=N~md4p-=Lr8LRA^ds;i@q~#VvrbJUPyFiD(+N|5u5bgprB)gT8UWb$ zapczk&DWIObd5efy1vy(6&rkN@~1A=3a0PHKDFWF*HxRo6!y0nl#kU>j}b0|)`ue>+{#oOk5 zI}!4nXF8>{5&oI>fd9fvs~-P+fw+J|!ce$Sz9{a5cE@N^loqEv{@D4Z+oGPhQbuw( zE4Ssylh$)DAN`x+B(WEZPT;QmE#fI*r4Zg@!S49-r7yXc&R$fzBW6-{ zSWLmo+crJh)6jkW;$^!G(R|z@FQT^42+%^6r8*CS|zcg|AB<^drse+yQg6KQ@IJXG2NWH+4i>`H!mjlsp$oKa^Lq%MGrckXs#*)ACeWdkKgJ*80_>zFLyI?Va^2sgi@JYWSAmewbFzmJ zrwie0LabHQK90bR4xJj=;atp7p!GZ;l!t&Wc|!J3!#{Ps+JZmt->F`sgwjcyz+J*b zNZTHK^}(blWEc)QMzs9mBaZOr;fN`%SEOI0rRbi{ zc;-Zt!LL#pgisH18WD_SE0To^HNZ*6om!ofQ-!Ov!qxO*?Pq(l7|YuGS#9-Sp3Y`0 z`{}<_Z@#rr5H{Z0Tz+QDBqnUQ>*Xe`a(l2Td+&vsnhQ^7Wj#%Q@6Gn#cxUsL+Z$82 zyj8a4&Ia_4k+2`Q#s&?N@x$F{h6?a7Ok`;q$+me=%%X?DR>=!I*fx2#2Q1!?eNFzR zfWCc&PlXG8O-?4-VK<6(LZbFfjVr$qz^6nSG<-&;o63qG+&*^%2V?XoQ%6A7%Fvo= zDWxToCzfMI9A7*pdiEHD*uQ4d^c8)kk6ln$EY_t>3W)HqwsII`AD$55Z{-^~*n47_ zTszYcHLNtl*sGVm`-q?s5s;$+a=fN%fJJuYCe72GJRUp6E|U*N6BoG&JdTI$%UIM` zH28_mOVZPp#KzWV&TeR!J$uf>R>7HL%GRze87OrKM}VM)tEFk}w?AAQqcDR705(FnkqXN11=yt1*v+Uy_zy-$%p) z%6%6Z%a$%JD_Oo=tczbU89b6lvLq8*JTkd+HEM+esD@kTYM8_RQ57BBD5?z40>3(^ zF)3+fdfM_t4aSe*V=7CJ!NZYJQDxx!8yhPBko$JSy#P;%WC{Hh~6Z+O0)0RSA#>tD( z_R$M-N|!AuD_y=qcxKS(Vcq@1b0)6}i;r27KDi+wIee+<{n-5B%zD|Jvem20%IL|N z2FTZdwsBM^eLIAA!jiPl`p5nJx)>{n9ZB@k2ERVNocr|Z8KG}TZE&Ub12!J zzc{HRwuIM<`r3COvC_{c$pFn@%SI1sG9UXi2as+p(P64W; z__x>~Mi4NzFED5ZVW;wNca{|)f1=&$$L7nQyR&F1e=Kuo5#;kitBEl`SA-04m1vHG z2KIx<4?6CrYcMgPRrw;`)}E&5i8Q(rp{UAPSr@C}Ty%$0eNfNQuEDRH)1vXgX`$9V zx<}@QPOI_DpO8AoFE2R_3KIgBj2|~RV%V^;?nP7OwX7;RIW0ln$ZBF!G85!&=EgxU zF*lBxV;hI#eui#c8z*2{m$u0kYlXw0(o=)bZnG=Q+qlhukOiT!ZXV<5G}6<{*F;pr z$5lqGr4eDA+>nSdZd{Q#Y(q)xoXE&Iu_a`48-%06YoN|;6ltY{bwWo*1Yu~0zT1EV zU#fL7W-NM4{7E%Y!cozB$;f2IJSC5mkKSuDQ8ZYN^1-5*L3ou94H4FXg|OLAd~8vM z*@!%bo9Ta7Er@WG8Am3Yt;iD7?KUR7)!A0<>vV?NUJG1_<;K+xay!qCv9i`_yV+z^ zQrqSEhT>u#c5k<%p{ByZjfD~@zJ(@b7tDENnA?}n?eL2gLjnX0(uZvQR65RrU(#g>2v6v^L)aV!N56?|&?bJPX;#=}px+v4D!#pK{ zc{71&BS*5+FiWI_g_sOpp$^A83dRk$nLM647(w2wI<`E*Z%%IRB7-k_p15#$ZUifr zw?(!0CUK!=wC(L8R%7jf0;gIi~9ux_jL*O ze@rH07zWIRU`<;9aNh!*i8*drhT;M=b0>G2GOFvtSa12kh=u`veVuLHhV))GLT+Zg zM{Mu!)2GiskAB-RK@4|igV(x-x!Mi&v0p3y)m^@@*Clkokm3DlLpoYG!nH%Y`k|pt zM8A`gxW8U%J)p185Z4~w^1lL)I}EYw*@r9aZF@twM{hUb_)w-796b6Pg9dHO-<|Q|C)8{YO2?-7wbMh@yZupymI1mpEvg%c;k%&``(1n z>_`h$d=xcLauB;x^mAp!gDjBs?kgnsLB*y*w`AT`7uj7O9Lfs(qzfN#6MbP}@O&T@ z0BH)4sQ0zq^rx^IU&%Rof`=Hj$ZjYUv|sGwVmmA>(!@}v3V@fP0BZSQTsly_5nTR+ zp`?pCdgPIDtYTr~C%P}pFIecevwGeRM?+GGe3LbkG95;x#dsv-%}AbFUz_VTIx^Ak zrsxa8aQ8T2U#u!DJ1;WVVeo};oFd!07JNv%zp`9=U zs&6mbDa^=R^3TC?iV&_AG~MLoaHi{lip@gBo&e85ie@`htaC6S->k&sS{Kdyg}P~F ztJlwrEbbrd&;BCkdWx=vQ7H{c2T{E#qhfPwvU2BoyGyLmN50a}V{Apj>`m(E*pJRJ z5VyF|pW8RA%trvu?Q>q+fYHHtu+C;5zAH8-w2O7CY=mT8C6(hUZFBR*2G9RB(dA2qnYvj1e8Ale4h#OlTGh>TSO`5SPEN?_^kt)Sb)Yqwl zk4rICf$D0cZ8BHfcD8Wh(!?MGa|)N=M7o}6!^HZ;q@^j-*Q_llSiM@Ti<}b^S`@+} z^0`JK zB{@r$b5$i@w4IiEsW+n8V5iuewI4FBW#Ejm8Ran~a@Tntw@?+y?%!rT8XG^9; zkITv$7d@pzzBh;-QtaV`KRSnLGEgy$wo0HC)&3Vn_~3G5iB=Tr0} za70nCe1=upx$_1rkE8~ys!|$ok8qD=>Q3^NFg1vhp@m1g?s1Lq^&cNQFv8#;6C?d4 z_3**C`7PBGo_uQ3ygO+6Je2IK`!g@eEuoqSUZ3Yb#w9M=-zQ>F{5avBaqsSgx(8LU z&m1u>xLuBN&!SusI8v7(?->6-`=`1(;huQfyJZLMaLfWmPZdMG0X(a=wn@0>EtYt< zL_tTZq;5iqx|ag$jblujyYhYId+a-@8+%_4`;jnWmNNUI|sovtScMe-o6j-R6* zk}8E*Z8^S>94Jk1ksQLzm(TWUBYk}@`1s)9*eHJ}B(fgxkA`S84^jYW0OU1>!)4t2 zRUp}bG;kcx4v@_p2Rj_RRJQzqaDd|=aEn7++1GPf`bnLMOQm za!J_9DNj%#d*nElDbSi=q6*0aq%RIV^g3*rbFDrLND{}Hq(Wu^(vw55)y#2LwdM%O z2#iu`Dx^{4B@}7W0WqqOL#=NMv6|C>OeTni$rZS1hD(DqV)HR;$rWPDh!%nFOJmq) zwf-j5iq?w%iFo0*+d*y9DJ@QCE#A6y@!~C87SF7$omo^{XLI?LS3bXd@|DYm*Z1vz z{q_C(Pl0+zQgA;XMU1@Mw2wWNA+yVK4cfzN+sz3z{huZ78kPykKO8?BaXU ziUYpqEM`ABZdU5#;^C``i&hRwiu{S47|I+b&kB#9G9z(neO=D5NqJE>L_f$d4Y5-t zpa|=N`kQAwqD$wAZ4BBR2i56hGZU+$(KdCNdGnVQxwz!cElQhI9>^lf$B!==l^UBi zZF4vBIJ2k4CFc6!4pU5KR@|s5AtBi#Be}~NpG{8!O+#bOf(Ec>*_k`Bw^vppZ7yeF zd^PTa3pH6&=Z&6|6a*iL%UCs<> ztr1+f%URQw2t#okGuSe>$K;pUFV6{IS86*tI42_)^6*b=`WJ-8Uc1?QDTrW2*TjeKz({FG@WkTFsng^*D=U_m%@RT(V zyPO?%S=xpO_c*78PK)yjshvKyV6-mKdP-txwdh-XN=E2*{B5#ufn1IUK)53wOiy=uXcxBHE3zasu zG%}5`mE#QFw@1qV)Y~PGEZ(rG#8_2joIHQNO=QLR(4tT_M&2~Qux4h_dc(Z5w7GM^ z2nvN^62^lE#*;bm#U{2yj$psb%Y;uw!*El8I-rZ83f03@W%(a_n9~w!$NQ!Pj++!w z5*1Y%F=F!Vs71noa}`Qawe9RPMlCW+a`2cxPRJ6IGEETMq~#CWramdhl4pX z%|Covs9|bsd_h5c>{M2t6Fn|7b6hlSeJV|5gYJ&0yFvE((+1VHJIcN0f~(T4$J>mO5{4D%wrZtkmogW(%c? zi$!-x6(`M4{+0b>50+KKKl7!f?@CrK%wT)S;&UHuhCGPv;Xc}7+*^tlB!z(4M?1{+ z$)R|$Ty4pNUE?ysGhp=C{v(D4jEP`-(vCL8)wI@3*t0ja>R;fT zhLVC(GNY3Ro8}$bZ|tZ5&k-(>qaxDwK9yA0IzR5&=hJHMR-#y4>#v&cG!NbHKGyYq zH&D~%{{||r8wCcWBou1NnOdhprU@UwH7CgWHpqvWq= zh!iQzkmdmLgbFzG@F9F%DLe>b|SePyskSA408Xy9P>>&vC9^qxpcj7?4>1J+g zw3WH{2rpA8GC~Agsr#_~z|EndVeUR`KRYGIpuK8XuI5*9Ab9Ns<pF7-*MFk_V^;hk5i!{~?_c@JOps`l_4QTM*K{Q0vg=k3FkAci2AtGQb$gxp?+X#$l zkhF=@;Qfiq(Zp$N6kQY=t-oo}zbw$$EIO-l{HEJtQI5?L76HVi^*3FRMJ}7gZ#hN= zFlKWuyw7qucsz=3vjmrn>H;~CbIXDpTU4FGHPH3r7`#t&8qe{%Y!Tm5XrQ(`Ez;Pg zzL-H=GAv?jSGiDK+$`2*yLgIoAvwG(%CTLQV>q~s;TU`zk)-TxF6nmR^M6y@9jY9V zRPS#=QuIc`Krd*NC=yGn`BUp1?RBm4&h2odts1B95SdSz`OP-+BvhZ5d2roW|tj#vI4&#$>~Wd5%>Z zHdHyz+t6Zs;*cO@_P12;cu(gn?PcoY(kNz-o@ zri~GYX%9;L{Z);~f4{Fi$hQjIc|TL!DonM5I!wDA|1Cb@(7(TfeZPLDH`RYIt@;mb zOn-Zae*Nw3`*-~tqE$*ag&jH#SYw95@3UHW;kNdDRPiSNy;qwjRA`Y8NcR)}oh@Ax zW>Quyynjacsrb#aY}stQN56}-F`9RIRWNJfcd7Ixdk$$)bvE#g@Vip_LD->{@f-e> zTGe5?ZM>@e9$i%|%S6GXR!GiL|8c-`xW6{0pMz36^WT1KpiB?8WyyK0LPM5ds)?!j6|$o3u+6yiR73?5)Gj`fQS3K%#nw7XyT6s`MU!{G3s=q&sd5Eh$? zdKbxuH1D<|^^gsk_7!lG53V*m_~2kulV706kl-z;QOhUx9a$Hf zifeMXtg1hN$S8WyY!E#=GLN33!)l10%fpe0;}9Ga@reveKTy(nV&?_-PjT!(H<8Yz zie5VZ)Rrqc$xE0kzf-Vt^5k99XYfB4Kg$j-tZ%|)z~)@KXs12UoX2E?;VR2$sy57T z%3v7>s}0pn8Gda4wh3Dfu>D&mY@rCL`qo=kndpHYI!834UK1~3!;;|mk>3Hn8onpN zQ3vE7x`=cAp8PkqwWW9Thp+`MPq*~*LEqGK@j|+_+9^#SIKTj!nZS92g&96*b`PEWW-+;#_ z=DZ@`iC-HebPsHNuQ+5>=93>+&HH$F=DJ_@2=@KtR|7_k6lb$>A@U988axU;0A8Z5 zUfYMRK;|=?BI9%x7d`_AIbzV`;WHP}nTY|WDq-Cqd2GMYqX)Q*jc}2^ec<8}G1kS= zVDP2ujO&DTu5x7mk)i!;aRb7DAXZz4q29wB{D+ZLp}tO&~(ILq6`P-8dE4*52cK?;E9uwP(*z2s=ArB z3A1HaA8knUM?P8`rSvw_4tB=hpAE*q;Y4_?{yh<^3BSMOW99ZR5oCgZ?oX(y@nmDf zP)D3z;er8n8=M_+D+9NzBrjL?mZPu1;OH`Ttjhzap8oDXX4C*V(iN4$$6?+>9c-a< z19WfOFLY#o_Li%OjvYbX`urc0*N^Q;{+>?X+==`kcKQ#=JFHUm?nzG=KwP_KSHXDm zn0>10D5P@}QVl{n2_v@E)vPd226P-J=`p&UC2u!jwrQK2u%_8dJHn^=7j1VRH=#tB zjj~7DbZ)MXMH2e4Dv5Q!_p+Mc^ZS2UxjjUJX)bGQkQ3;j5DH^>ggzm6qyddR*Ln zK&Wv6wE;Gcer+7U8$8KcV-*DQ0VF+wu9SX)tEJRWPzSw147QWLX_+b1d8MX#b#wG< z<3Qp|f*|g0nW@U}tJcim>ulpPdQ8Lsp%x4-W1XQ>7~uInx~YNdxuJ?xpo_ZD81hvJ zA{XCG!Qf=$nP&79YFqI3hpBM@-n4eHarW(~J5_#+Jl-J#yV#lz{hf5Bj)RBnPrG>- z*{PSBsycPz_a1FII*kxhRmbk#ZnRXJ(xW%}_WxE=o27ps>90%w*OE$P&A3jreD1V| zW@%(ui_T=z^ss5p?IYv!$zFa4*_NzsX=8Y4nloWJgQK8E{oRnt{zK^U(VZ zZM)b241WYl4 zt%EmBF;OC{J2mAQW%7WLbdYY6)}4GYJIQ0wt(&lNrcfAgh(~wESaHY93h%-JK8ZW} z8`GXPRZ%xO(?2Y%FBp(9B?jJ(>@7Siq)vZhM!67S>E;86HU{hrrfxKX_6$Fd!v_C6 zxGRi^W1gl9Zx}u_Kt*EOr0r|U<X5vCYwb2s$HaDx#yuv1c>2RDfRfYGBB6h6J0 zCjqLD>Av=~oJ-j%sOasP-g`Tf~{G=`+VvL zcV8!$$OsobAA729QL2;b?_umky10xQ(~q4QM1pEGRuuK^+jYS6gE@YJrtGZi+y}Yg zu4gBAqiwiLw-Aeqc-52?1h39NSM#9vqsLA0v00_Ziu@5QTYa_)^P%F0(2za=StweN zWKoQaPUi-;{4_>+L5^SBbqee_|7wqPv@H*MD-xunC=yAxsGZto<92%@RGqCxT&{o7 zvC>(`iaVJdc#2J$De$@Gqkrf$Q_s!5UgLUDjOJ>No^8ONE@lj6FX?8z@r8^l8Nwk>#_>iz}#0*5?WN2loYE_sN!N^H~_?q9?g z|JE3tKXz#GWjtd#|7Ki^KP4Uz58~Sjd|RP>%dlfB@IfEbLiyU;8BrAmS&N)k%SU2} zID$CpG>Er5K!|O8fe6k+AQmydAEhgA`G7>gx&?UcQUDKfh<2(dhUP{t&He7WeJw8n zvt1@&X4qMa5Ubf=TMIlAjvne0Q=l>|`}JRP*?Gz<;>`!Aa&1e*3d~)+Dqd~z7&vU$ zKo@WC?&;~eb@!|8F>m_iGSHh%6e!@)9QKaZ9B(1`TU=owwA%!t+;VR(#)+DZnR)UJT-^qPHoXl znZj}b{gKtoZP6eGId@9?r(86jnLIs;?n-?OQPzLN;cKpQ)BE{CVe^>Jh#`n~okkj$5&oMlV zmMN#RBc=j5mH)n|z_r~8%8s=d2+EEqP<8~rGhs)Lp}{&*)x_(~e8qJwRV}l{ZD#&0 z260nMMax_)J3E%34Gen2m)?8R#P=Lxt@E_jv2QuIWB7BnyiMLFZZmUdCGrmZ-o&Lk z1R09uUGnbJoj)T=UJ-Q%E1?1{{v;|Ywu==L!37;Y;}P!#R6%^*&1TY9WI5Q-YSf?9 z)kCy_81Lr%iJ?f|fODNl^9-oY#PIWRfI!zadAzPYJQ<#ph`buItN1;HuAAdGe`e4v zdwW*a_UxQ(Sy|h1CM-=#S~`LM8G;Ncu55(sX&l9UCx3u{no|5t6$COJWv3Q!5ZgyZ zcVuPl$N?DxOIn(&kVsydB>c?YkfV3=0(0@A+)@_eirlN;($OALD2BMQ1b9p7peKKT zrF?rO&H6W2^`RGy9)6GqS?Nv!+d>KQnIrGuxCdoKLxYc>*CUT}ppWxO^Fx%Q}dI8RlVO zEHk#q0@J)&H@FV*nADkON9$cZ(z?@*U?iTY9As}lh}lavrmI&?SA>HXE+Ple)hnzX znHpEI4Z{HYE7mt}fVxOMuN|U`O zpA`DC6kJUDR({d+J;?@JZ-X0$I@nRhV9xD!AQj^&xyp13 zyY0yYXw+j*7;6V}6q`FP8=JjyDu97b8?G=5!EHtXkL9+Th(XvZrh9OT&9GPPhr6ST zKuTo4q%=%OUY>I24*s6dkb*y1+W6tbz;i$334rdN0mk1iK2kGs5>mG zEQ~nWqSyW_MbX0lN&j3c2kGsnv%T2pkqg>m6!g3T&W^2G=;_?ajb@#6FH=uHL zXQ%)xHFkVgBEo5=-X)wNUqD6AT;^^}xba6_;^#qbxCmhz#4 z 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 Ovn$h(yQkU(Tm1>JgZelC literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-anydpi-v26/ic_launcher.xml b/newbuildsystem/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..2f8431b --- /dev/null +++ b/newbuildsystem/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/newbuildsystem/res/mipmap-anydpi-v26/ic_launcher_bdk.xml b/newbuildsystem/res/mipmap-anydpi-v26/ic_launcher_bdk.xml new file mode 100644 index 0000000..af9e637 --- /dev/null +++ b/newbuildsystem/res/mipmap-anydpi-v26/ic_launcher_bdk.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/newbuildsystem/res/mipmap-anydpi-v26/ic_launcher_bdk_round.xml b/newbuildsystem/res/mipmap-anydpi-v26/ic_launcher_bdk_round.xml new file mode 100644 index 0000000..af9e637 --- /dev/null +++ b/newbuildsystem/res/mipmap-anydpi-v26/ic_launcher_bdk_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/newbuildsystem/res/mipmap-hdpi/ic_launcher.png b/newbuildsystem/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a571e60098c92c2baca8a5df62f2929cbff01b52 GIT binary patch literal 3593 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 P00000NkvXXu0mjfP=x?Y literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-hdpi/ic_launcher_bdk.png b/newbuildsystem/res/mipmap-hdpi/ic_launcher_bdk.png new file mode 100644 index 0000000000000000000000000000000000000000..b94c1ed5984ee5f0fff4ddf2e42bc68162ddcf42 GIT binary patch literal 1971 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 FV1fnoo5TPB literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-hdpi/ic_launcher_bdk_round.png b/newbuildsystem/res/mipmap-hdpi/ic_launcher_bdk_round.png new file mode 100644 index 0000000000000000000000000000000000000000..07db04c2b305a44d58b9c215106527f4f17e3248 GIT binary patch literal 4051 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 FV1i_s-MRn( literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-hdpi/ic_launcher_round.png b/newbuildsystem/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..61da551c5594a1f9d26193983d2cd69189014603 GIT binary patch literal 5339 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 literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-mdpi/ic_launcher_bdk_round.png b/newbuildsystem/res/mipmap-mdpi/ic_launcher_bdk_round.png new file mode 100644 index 0000000000000000000000000000000000000000..efe98251295a1adbb2866d25150253c5f9d25898 GIT binary patch literal 2556 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 h>B_8 literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-xhdpi/ic_launcher_bdk_round.png b/newbuildsystem/res/mipmap-xhdpi/ic_launcher_bdk_round.png new file mode 100644 index 0000000000000000000000000000000000000000..5d4b7d914520d78d18cd9995c85e777e62fba953 GIT binary patch literal 5820 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 literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-xxhdpi/ic_launcher_bdk.png b/newbuildsystem/res/mipmap-xxhdpi/ic_launcher_bdk.png new file mode 100644 index 0000000000000000000000000000000000000000..66f997cefa1855fa5338d67086755d2f5d65cf2c GIT binary patch literal 4335 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 literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-xxhdpi/ic_launcher_bdk_round.png b/newbuildsystem/res/mipmap-xxhdpi/ic_launcher_bdk_round.png new file mode 100644 index 0000000000000000000000000000000000000000..ad3ace1506e05f808b51482877692b9dee0d5c48 GIT binary patch literal 9177 zcmV;~BPQI5P)1>9Y>0G@fC_gOgo%=hls=9^gu2eqk9ZE91S+SHa~8zFf# z8ckjxFfsA1%pi`#Im*kZEjKq#5|F@4b08mpzq3RHdam+%D!Fn?VY+{r=o%iC z_+fZVa%gyTlBTOBd3AVn@?MGy6!*fTQ+}nN|4=-qcu7Gx@He*o!;iVg&)F+oBT2)q zNw1B2DDR7=eJ+(u*{o$i8hrDiHM+(mg;OCfp~5~+@kB-n9W+ViLwPNBkCbC!(aDQ( zZ#)CjLb9fkDH}9lp5)tLTBzV!Q_P`4JR@n0bcymZOq2AS;{_0|Nqh-}MJ2t;4BF%P zdEz?K_H>B_t#t;^glA*sPu8?%PHi@5>1Z1WAWXCQldjRp3#qVD4G0sh6*40UBLdxS z6>x%u>4^0r9W9kAJ!?t}`4>RdN>*;l&V@r89+Nbd3gog}K=fNq36d;n7Hg8lSV+$x z5sE&Wf>4+74tN*si}Ejt_J6fyttpAqH74a_+VN{B{*r4NkcNNz4TYGEz@PEC!qnki z*5KW=FRl_PYfWjY!Zj(Mb&XE?PEXqiO_PqGatN4al4~WrV`%i|mKpVf+FsY_H&5;x zgvTU$&=7ft0dcZ}d9oCwchMsf-Z@m0)I{_H>l4*K%Dl;m(@nFbGSs?^IKsCv6hQ8R zM*AJ`oy7)kd-=x9?EdJb#lr zO_ixom^K>zpOu@nH{Lhuvvg^G@i!$-j7)9kh=|HokotlRrSSeqiAk>y-<&23QNt!B zR-v78NKfme(}^k=ZO`f(7jY{Z5JK}etb>3)mWh_`9X|>VsArm)t zPOoosWz);+M5jzswN93x)kc(5(`lD74U}vBA`xW;Y7!l3RJECt2dRD4*D)V2#PCRH z)TS-ogJKKF`#RS&;phcwRyc=CWfiK)vJ_+{Ep+0h6Mn;IxybuG$2ak9=%U$(#Nahf zo_`HGLPgdPmH00w(e-vCmsXSaeU5G71%f7QaHB7mrjp0X(2^)2t;2}L?s6IAxF%F+ zh$gWPb(nva$dja!$J*c|3YoC+mw;ih@5^P8W13)n@VNDrC}|$4 zM$R&4B8&`QKw~qJ?iVc#>%C|4{u;`={ zSutHbCT}KtPu?PFPk$qG)*m+5uRc> znli2F(rg-%71IUuo3@qwkouV1yqiYGEZkwRUxhx#EZj-^>M{A@)??at=9w`7G7B2J zmiP~vHx{zAnJMF$%shdkmsX_O2W#bs>AD6FX$%I;*h*6G|4go>J|rXOZ#USlLLZ}O zAEB>q{rHshpJA>uEfwk`DhnLB;QO6Sw&|tuf^4noP;(WR zH%ybb#S+>FPzhujEJ`2-X_zBmaO^HBTWOI{Yc!#KI*pBQ!5!x;X&wQUK&HX+1Y!>L zt4^a#eAPE zB@LBO31k|qK_KA^(TI$E8a}ZFWNlF`q>a2LCM>h0_5oA^nFgy6NW$oO@`CGBHg zsYXUn31k|qMWC>#M7Sm|x{Qe@pZA%ffy^89$!g7zG(H04qs}v1wp4P>7s zXPT?9w?f8mm}L#~1*ilv4OS(PhUJ7_p!C(J&$Kwm-h4C0&6ii;04Hj`r1@PIbe;uN z0+|M@6Ns(mpNR3X8*U!0oxuUK%$P7=okp#cGSBJU%o0!uWE!kZAVB1VT7-^i3l5lN z#`sD3g2u1=($cvfIaC6f2HOxQ=>=+qKJPVUAvj< zK2yIYColiVW>egI^o+!;+;4D4ALl8P@ojao%o1drMxcdMn<(c+ zDe>*G8;m$OzH3Y}S-0yPo8bWsbo$BzrUkHX_5%fSWX{UF#nNnI5Pov?9Vb|TRJ)2U?d$(!U3 z)jnby1QfaGTkSdBVp7P`%_m6wjy}{dl&G z-(4VcHhgce-yGPEK#7tc)PL4d2lzqYgfV`Q@P8Wk1-XQ267I95WUY|@5io^7Q&#UM zJ*RBe+kW@aFC>QgM9S+bVJv|_z%OQOBZFpbXER2W`vsuca168z1PSe@JjN8zZ#;AQ zF=4Pf4Fr_?1#CtjKDZhX5t~-Mu~&I;!l*hSuBzVh`(kc=s(siZMb>hl0aFMxd9~z( z&ZXaGvF-ZZCwgR*b!uiMc$VI!g+ksIFcas%cPmu#>QpwQ^cbQq9L>=z*qBdI*i26ayk?uHr>2r^O z{>{OO27UUxJ}b=~=zQ&m#C2rm%R;5A8Nn0+LFfRSX#5X9XY>Bcdf)!!eV26Py7z?n zIvc({r*|DWKnR5XtG1n{#QNP}|G~4jwF??dSh|PJVN)I>aF<3}i<6IQ1rH4+_WeYk zHEy#sn{?WmgL>y(z4Md7wLtcTiN_53%Z3DkBmD}Fv}fRmp5TO0jx;BbW9QMUBUuC% zm0&gV1(-r0C2mtwG;iY(y%j6cBhcENXW48{vHi(2NejWG;oM29_LB!cN#+fBNdLY; z&jt3My2XxxHo0))kxsyr5V${lFibTT+aXxwpztil66i5~He3hV6kiIl{p1fnQnRL? zhOjAtX!PA>%o@@vJZdU9VHAP*K?Q=wu3cnp2O7u!^i*)6_;{CYXX7&r*Dz5i@#%OgiYUG(Ax*I z1g&T+fxbO3%c#eNVB=>@U>>K)SvgfE4-)-vj#%kN`X0zvlFl=*!z`vT=eQO=D_LU}1n%jfLu zTr4bV)3xkMAP8sEcNg^b#qT)7_L)i`>_2<;f%Y6|Bl+4p7z*h|%~6ubx|73Au`y=RwJv8@EoZC3`>aU4}c%F|5Pg3Mg1=bQ*6g` zA$e{*^NNy0fISn=C)QFm`WgE z5cOxopr;ZdjK}qHZ8>q30Fe>3iDg%E3xNV67XMniVXODR4Pyx8=+$9(Eqa0fSUZUb zm_s0h&A0A9C1jJyprmHaro1I+4x z8M?vSoK7H-Ozbc;?yvey0~-*F{;@ZKFkApZD>0mgwrmK2l0%uTg#g8I z!)RzMl8n$IBVu<-+v)k~4HtkYxHh6ZWS})G_K|+{9`dM+h38abAyW)f1p5=ni~C>Q=7ApIMy3Sfspw^28Z>B-@qnrzP-FkT zbtrNE%ej@s5x8L#f$Fskt`QcM@N;%2kN_el42UX+ zAaWyYNg!Pqzu?)sAGE-)A7)M$JqYAKXkJ>`n(j5h4L+QaLE{9Xcsq2$#;e(NC<7RXk?TwP$vyKw=0s$Ds#_SBO7P^(DtqlS}=5G9+6@V#+JunRM z&G%OsxsZcF1)!Miff}FD3wLYpfvH8PP!#*mTz$auILi016>Li&Omj{kK7FU3r<`!* z+{kz=jJ78bJ^YzdnZh_9X4x_b=DIh;8+GAB^k z27ZOV%b9MQau0|Qx8MQzf>OfJK*bYquO(lSGRkes4 zO!0|ge&zGq8a5@6Cg~-9)yK2bu$kb5DFiCkru*a|rh)93NPHcEAYl36=hC&Ndt3`+YM6H>wxb^U>@{7T5bB}r>H7%Slt9tRuL4IbCm(tD>JLsBMWE{5 z-iX4AdiW1$Ld}=e2UN`=5Gn*wk%%I6u@4#o6AG~(POyC6*9U%JS?lyLLRNE(2utpi z3!umz4!QE#?ExDSNSYrXvFLwp&HP(~6P3NZq-F0iX?b{@U*w%CwJU{8+<4d8k(en2 zLf!Gs@2|0_NN#Qb%+o@|g!3>VP+pvlC=2Ee9fHyIuf92>1!|(j{SeacI&#f`K$ue| zN;>QfTM_BD zEHeVBFoZ1#q#XnMV(#x%+?zK87kCo!wf+xU9_B1LI~SvWmkS!Z_K-ClX=@P(<5lxF z9VH7AjBlhEOWSUXdft5KB+M{M@-^rT>_syxWI)Ow2arA1^tYgG7%7N0( z)vH6980A2VmbbLKJ0dZcrv3x`;E`J^ACwt^luoofk%+Z)Fti}wk0~`+i~xn{nA;_` z!;x0rH>bh|1Y-H0fQW@J>Usu*fCH{>Zbm!MqUCXr{GbvPm8my=(OO!_90DQ2f+H-S zT7!9A2*I%*S!I-OAOVPB3zWZ#YffKth!IV|o{Mmr18Wlq<_jy6weB(LI+cA5#sP^7 zMw>4*9GtIs#kwWwXF30Y^X6nH0%1%_9-iMzd#1O{9e~8&jJ1cztaXR<=8dh|u3NkS zkS`6B6JS*W$;?;N4ue-h_QlG(VYT|#%!yCG2|uV*L+>8ml$BPQrC|zzu*BVjrF+Sp z2fE<~jCoCqmsaL51}cFv0XJXm1}*rv_D8;*A$xQDAJJg*3OE!k`ZoQn+-cMbs}z`- zLLg+9kx3S&3+4%<>FKRch_Y8Pivz`D*tR6)1WO>wuZaRN45BK}&#tg0fuMa5eYNVQ z!D<}Uxa?uRO!9w3gUZU!Ram)J-6xJgbsBD>ym3}w3V|?WA^t{mg>{!R@?pL|cSlB& z`)r$XMGpZ?Ay%HBU12o>@wK6mJp9nF_cX}7Xt`P-kV)aYvc2W%>Ix6Mlxt>};IsevZ^jUkzx@5_c#UXpnfh;wsutG&j zl`2g?tJ08ut0lFNDFm9b`hYOmsR&2Fmp3j@3e##GL=Bs4xwXdIr+ZJsgL!18I?dr zK=?i=obNn*H)P9YEQ-f0LLf9aQjW!n6@wP4Smz^e@6M5{|F(n{GKW9_22C;7OYFnq z;h4T7RtQrGWCXbO@$EnJzg69vb%1P(O1U2_;gTiiS=odZDpKg}^5y7fb?+XNSA~q< zkYz1oE`fl_tM=ny>%o+qw5Pw3IU5ce z>{p==R3c!e2>MLVML?d&gmM>?eZE@rP7c2V$OA z+X1s)x;60`09h3*UK-j51EyAYoHJ^|lwr{A?E=MItJBXqo}Grw#F8NFw^p;5rB-19 zNF(j9+6{^&ANurM02y&vA)hA(Ol_`xMAMowic$p%6u^VM_gUz;#7?7Dnr+HdSP0y7 zbr`yYG;Kd<8)U;}gjyfFnJ#4$rmU!gWK%H}q;BhOngc8{qc33aVk)c;P99hTug)Wm zP?=zz=Nb-$3SlS;m4k#pK7YfWrKvF7_P9p_7P3)4>=bsUc4&(tmRy)oX6+Ar{2U*N2?^V z5k#grGM;=EI`(!+*Ro9^3oa9c>~{BiGHSvfLPpbtJ8HGdRI1s+r}wlwT1}*UVHK8x zj65yFC;V8tV%5(e11bx+6&NUmY_f&llTpKiA)^Tg%~eEZAW@rMQ*Nj}krg4zGe)f< zpN5S~<>V0&7bZnOCKjtQv}O}S9c(%fXMdfNrOJNXs$0}q)SoaCsUg1Qz(Vz;7nsx4 zB535rlCJMyO&^d4eUFF>vas1ug(aFG5xo7<1&X@7OF!N6=g(jN(~zoxB*JPEZZ((DdsBb7uZgPSar75fjIN1C=9xP|uZ2k2wo*Ql0|hwC|pJfbN{RGKHT zYSR~eze(G^voRAOc-(r`FESNkY-{`m;?sBLix0iK#iCEqx4e&q=E5C-Y}GT0ijGdsAW>c9DOz+Hxeqlem@1@(`Wb+S==k&>G@p0|4mnuD zrA%}5p;O6{@1ak5-->7}M{6Es6PgGwhFk;&@+wdg)uEs7!7pn3d9N8heP{e7h5FRN zW<}qsHey;w`t8zJ=o{}|Q~qk$Dr^q=41LGHh$u-#pQ3Mb9eLzUBpZd!PyqrIc{^DmywcH4Gws(6Ci#RGS`?9uC|dLxL0cVrX( zqzJ3y@TH`6cg>>@KJ602qpZ5TuPXDtLm%3_qR`$=kVrV!P`~BrH>#$iqa)KsMN7Ii z`#50WTHn6Y{|uxKqtwC4&sm{bZX^=dIP4vxlL-O~pFY$6^ziGm-l>F3bEb7@-%!*- zU-3Q@&hi^Y9?|4}5!5e6iIKaIYomG<-fhsXX@?=(eEZM(A0iKQHv4u8A1No3i9f&O z^NknPv7Z(L#<1TJ0vqzpX1D%+)QCoCN7tO z#BpbRAo)7bI_Mkp5&G(l)H)e8r8YvXF6?_nsOBbR187jU7Gm!TUWkT!w#G{@8g}hxk3#O`T~8T zYMs|Kxo?Dg2BHh7>`JsVYa{Y-;2Nn=(UKq6Zxu56liSS?y$rOw0*o zX3jo@5`^KAlpqaeMnKz8Gxax~z5b`cQ|P-i)oGj}@N;V8o%y??56~BHtgmBg6WRzN zDO5EaMHE6|`cP$jD`lpw9z}!7?jAvn{dz6^ENt9GDwux|y+JcUka~n--+mdXvg$+0 zuOVIYrPiO}gn@R1rU7aE`p^Cc&xmKORM#UI&yIJ%yWpL;#;MHT74M99M<0mrTqTbQ zEh8c^jl_K<7O`=BK+&-J`_01|`}AD&Nzmw{-o2+jK~4#E!HiHWC6Fw@9ajz}`~(RS z$@IW9iP+CblBheET}!$y$OOW`;fIO!?)~Kxs%ehknX0*acBRkQh(9ZPZoC8cafHSZ z#6f7T62}5fP9$_HIu~jkbuMr$tI}_79j28W9fekcfa*KHQ>E2=O?(G`r16xBu)va1XD}BM;!7 z?|Jw}IKNZ5HPClfNY2!AnFgl{|uRf9!yoK!_hl&FVrnF(H} zvE-Ud4(&eevGiPALy(0==avzfU>cBkL*^FFDQacl zsA6&*Gy)t~2phggH70y%IHfj69S-(C(0>Koh`!62yXrfN6p7;m|^BfDCeA8}{KC9E)=VQE)9>6W7K) za4*~w_m-O{l{7i9$q6MVl^_;00|X8&0pSDC8tFmo$FVpE=L(|8$)XY_mp36?CAs7P j8RSszmy_g;CCmQ<2l1XGCho4e00000NkvXXu0mjfg$Y-K literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-xxhdpi/ic_launcher_round.png b/newbuildsystem/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b216f2d313cc673d8b8c4da591c174ebed52795c GIT binary patch literal 11873 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 literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/mipmap-xxxhdpi/ic_launcher_bdk_round.png b/newbuildsystem/res/mipmap-xxxhdpi/ic_launcher_bdk_round.png new file mode 100644 index 0000000000000000000000000000000000000000..28da01a04b39672fc7887d8a5125a07c0c03cde5 GIT binary patch literal 13086 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 literal 0 HcmV?d00001 diff --git a/newbuildsystem/res/values/colors.xml b/newbuildsystem/res/values/colors.xml new file mode 100644 index 0000000..f89c5e3 --- /dev/null +++ b/newbuildsystem/res/values/colors.xml @@ -0,0 +1,11 @@ + + + + + #1C1B1F + #E6E1E5 + + + + + diff --git a/newbuildsystem/res/values/splash.xml b/newbuildsystem/res/values/splash.xml new file mode 100644 index 0000000..c5adf6c --- /dev/null +++ b/newbuildsystem/res/values/splash.xml @@ -0,0 +1,8 @@ + + + + diff --git a/newbuildsystem/res/values/strings.xml b/newbuildsystem/res/values/strings.xml new file mode 100644 index 0000000..d0e88cc --- /dev/null +++ b/newbuildsystem/res/values/strings.xml @@ -0,0 +1,3 @@ + + Devkit Wallet + diff --git a/newbuildsystem/res/values/themes.xml b/newbuildsystem/res/values/themes.xml new file mode 100644 index 0000000..11e000d --- /dev/null +++ b/newbuildsystem/res/values/themes.xml @@ -0,0 +1,7 @@ + + + + diff --git a/newbuildsystem/src/AndroidManifest.xml b/newbuildsystem/src/AndroidManifest.xml new file mode 100644 index 0000000..cbe7c27 --- /dev/null +++ b/newbuildsystem/src/AndroidManifest.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/Kyoto.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/Kyoto.kt new file mode 100644 index 0000000..9a73ceb --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/Kyoto.kt @@ -0,0 +1,145 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.data + +import android.util.Log +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.SharedFlow +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.launch +import org.bitcoindevkit.CbfBuilder +import org.bitcoindevkit.CbfClient +import org.bitcoindevkit.CbfNode +import org.bitcoindevkit.Info +import org.bitcoindevkit.IpAddress +import org.bitcoindevkit.Network +import org.bitcoindevkit.Peer +import org.bitcoindevkit.ScanType +import org.bitcoindevkit.Transaction +import org.bitcoindevkit.Update +import org.bitcoindevkit.Wallet +import org.bitcoindevkit.Warning +import org.bitcoindevkit.Wtxid +import kotlin.collections.listOf + +private const val TAG = "KyotoClient" + +// TODO: Document this class well +class Kyoto private constructor( + private val kyotoNode: CbfNode, + private val kyotoClient: CbfClient, +) { + private val scope: CoroutineScope = CoroutineScope(Dispatchers.IO) + + fun start(): Flow { + kyotoNode.run() + + return flow { + // Set this to stop under certain circumstances + while (true) { + val update = kyotoClient.update() + emit(update) + } + } + } + + fun infoLog(): SharedFlow { + val sharedFlow = MutableSharedFlow(replay = 0) + scope.launch { + while (true) { + val info = kyotoClient.nextInfo() + sharedFlow.emit(info) + } + } + return sharedFlow + } + + fun warningLog(): SharedFlow { + val sharedFlow = MutableSharedFlow(replay = 0) + scope.launch { + while (true) { + val warning = kyotoClient.nextWarning() + sharedFlow.emit(warning) + } + } + return sharedFlow + } + + fun logToLogcat() { + scope.launch { + infoLog().collect { + Log.i(TAG, it.toString()) + } + } + scope.launch { + warningLog().collect { + Log.i(TAG, it.toString()) + } + } + } + + fun lookupHost(hostname: String): List { + return kyotoClient.lookupHost(hostname) + } + + suspend fun broadcast(transaction: Transaction): Wtxid { + return kyotoClient.broadcast(transaction) + } + + fun connect(peer: Peer) { + kyotoClient.connect(peer) + } + + fun isRunning(): Boolean { + return kyotoClient.isRunning() + } + + fun shutdown() { + kyotoClient.shutdown() + } + + companion object { + private var instance: Kyoto? = null + + fun getInstance(): Kyoto = instance ?: throw KyotoNotInitialized() + + fun create(wallet: Wallet, dataDir: String, network: Network): Kyoto { + Log.i(TAG, "Starting Kyoto node") + val peers: List = when (network) { + Network.REGTEST -> { + val ip: IpAddress = IpAddress.fromIpv4(10u, 0u, 2u, 2u) + val peer1: Peer = Peer(ip, 18444u, false) + listOf(peer1) + } + + Network.SIGNET -> { + val ip: IpAddress = IpAddress.fromIpv4(68u, 47u, 229u, 218u) + val peer1: Peer = Peer(ip, null, false) + listOf(peer1) + } + + else -> { + listOf() + } + } + + val (client, node) = + CbfBuilder() + .dataDir(dataDir) + .peers(peers) + .connections(1u) + .scanType(ScanType.Sync) + .build(wallet) + + return Kyoto(node, client).also { instance = it } + } + } +} + +class KyotoNotInitialized : Exception() diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/TxDetails.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/TxDetails.kt new file mode 100644 index 0000000..15036eb --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/TxDetails.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.data + +import org.bitcoindevkit.FeeRate +import org.bitcoindevkit.Transaction + +data class TxDetails( + val transaction: Transaction, + val txid: String, + val sent: ULong, + val received: ULong, + val fee: ULong, + val feeRate: FeeRate?, + val pending: Boolean, + val confirmationBlock: ConfirmationBlock?, + val confirmationTimestamp: Timestamp?, +) + +@JvmInline +value class Timestamp(val timestamp: ULong) + +@JvmInline +value class ConfirmationBlock(val height: UInt) diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/WalletConfigs.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/WalletConfigs.kt new file mode 100644 index 0000000..8158e41 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/WalletConfigs.kt @@ -0,0 +1,25 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.data + +import org.bitcoindevkit.Descriptor +import org.bitcoindevkit.Network +import org.bitcoindevkit.devkitwallet.data.datastore.ActiveWalletScriptType + +data class NewWalletConfig( + val name: String, + val network: Network, + val scriptType: ActiveWalletScriptType, +) + +data class RecoverWalletConfig( + val name: String, + val network: Network, + val scriptType: ActiveWalletScriptType?, + val recoveryPhrase: String?, + val descriptor: Descriptor, + val changeDescriptor: Descriptor, +) diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/datastore/AppSettings.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/datastore/AppSettings.kt new file mode 100644 index 0000000..9f62427 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/datastore/AppSettings.kt @@ -0,0 +1,36 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.data.datastore + +import androidx.datastore.core.CorruptionException +import androidx.datastore.core.Serializer +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationException +import kotlinx.serialization.json.Json +import java.io.InputStream +import java.io.OutputStream + +@Serializable +data class AppSettings( + val darkTheme: Boolean = true, + val introDone: Boolean = false, +) + +object AppSettingsSerializer : Serializer { + override val defaultValue = AppSettings() + + override suspend fun readFrom(input: InputStream): AppSettings { + try { + return Json.decodeFromString(input.readBytes().decodeToString()) + } catch (e: SerializationException) { + throw CorruptionException("Cannot read AppSettings.", e) + } + } + + override suspend fun writeTo(t: AppSettings, output: OutputStream) { + output.write(Json.encodeToString(t).encodeToByteArray()) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/datastore/WalletData.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/datastore/WalletData.kt new file mode 100644 index 0000000..760c811 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/data/datastore/WalletData.kt @@ -0,0 +1,57 @@ +package org.bitcoindevkit.devkitwallet.data.datastore + +import androidx.datastore.core.CorruptionException +import androidx.datastore.core.Serializer +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationException +import kotlinx.serialization.json.Json +import java.io.InputStream +import java.io.OutputStream + +@Serializable +enum class ActiveWalletNetwork { + TESTNET, + SIGNET, + REGTEST, +} + +@Serializable +enum class ActiveWalletScriptType { + P2WPKH, + P2TR, + UNKNOWN, +} + +@Serializable +data class StoredWallet( + val id: String, + val name: String, + val network: ActiveWalletNetwork, + val scriptType: ActiveWalletScriptType, + val descriptor: String, + val changeDescriptor: String, + val recoveryPhrase: String = "", + val fullScanCompleted: Boolean = false, +) + +@Serializable +data class WalletData( + val wallets: List = emptyList(), + // network config fields go here alongside wallets +) + +object WalletDataSerializer : Serializer { + override val defaultValue = WalletData() + + override suspend fun readFrom(input: InputStream): WalletData { + try { + return Json.decodeFromString(input.readBytes().decodeToString()) + } catch (e: SerializationException) { + throw CorruptionException("Cannot read AppSettings.", e) + } + } + + override suspend fun writeTo(t: WalletData, output: OutputStream) { + output.write(Json.encodeToString(t).encodeToByteArray()) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/AppSettingsRepository.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/AppSettingsRepository.kt new file mode 100644 index 0000000..071708c --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/AppSettingsRepository.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.domain + +import androidx.datastore.core.DataStore +import kotlinx.coroutines.flow.first +import org.bitcoindevkit.devkitwallet.data.datastore.AppSettings + +class AppSettingsRepository(private val store: DataStore) { + suspend fun fetchDarkTheme() = store.data.first().darkTheme + + suspend fun setDarkTheme(isDark: Boolean) = store.updateData { it.copy(darkTheme = isDark) } + + suspend fun fetchIntroDone() = store.data.first().introDone + + suspend fun setIntroDone() = store.updateData { it.copy(introDone = true) } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/Constants.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/Constants.kt new file mode 100644 index 0000000..0e7e305 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/Constants.kt @@ -0,0 +1,2067 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.domain + +import org.bitcoindevkit.Network + +val supportedNetworks: List = + listOf( + Network.SIGNET, + Network.TESTNET, + Network.REGTEST, + ) + +val bip39WordList: List = + listOf( + "abandon", + "ability", + "able", + "about", + "above", + "absent", + "absorb", + "abstract", + "absurd", + "abuse", + "access", + "accident", + "account", + "accuse", + "achieve", + "acid", + "acoustic", + "acquire", + "across", + "act", + "action", + "actor", + "actress", + "actual", + "adapt", + "add", + "addict", + "address", + "adjust", + "admit", + "adult", + "advance", + "advice", + "aerobic", + "affair", + "afford", + "afraid", + "again", + "age", + "agent", + "agree", + "ahead", + "aim", + "air", + "airport", + "aisle", + "alarm", + "album", + "alcohol", + "alert", + "alien", + "all", + "alley", + "allow", + "almost", + "alone", + "alpha", + "already", + "also", + "alter", + "always", + "amateur", + "amazing", + "among", + "amount", + "amused", + "analyst", + "anchor", + "ancient", + "anger", + "angle", + "angry", + "animal", + "ankle", + "announce", + "annual", + "another", + "answer", + "antenna", + "antique", + "anxiety", + "any", + "apart", + "apology", + "appear", + "apple", + "approve", + "april", + "arch", + "arctic", + "area", + "arena", + "argue", + "arm", + "armed", + "armor", + "army", + "around", + "arrange", + "arrest", + "arrive", + "arrow", + "art", + "artefact", + "artist", + "artwork", + "ask", + "aspect", + "assault", + "asset", + "assist", + "assume", + "asthma", + "athlete", + "atom", + "attack", + "attend", + "attitude", + "attract", + "auction", + "audit", + "august", + "aunt", + "author", + "auto", + "autumn", + "average", + "avocado", + "avoid", + "awake", + "aware", + "away", + "awesome", + "awful", + "awkward", + "axis", + "baby", + "bachelor", + "bacon", + "badge", + "bag", + "balance", + "balcony", + "ball", + "bamboo", + "banana", + "banner", + "bar", + "barely", + "bargain", + "barrel", + "base", + "basic", + "basket", + "battle", + "beach", + "bean", + "beauty", + "because", + "become", + "beef", + "before", + "begin", + "behave", + "behind", + "believe", + "below", + "belt", + "bench", + "benefit", + "best", + "betray", + "better", + "between", + "beyond", + "bicycle", + "bid", + "bike", + "bind", + "biology", + "bird", + "birth", + "bitter", + "black", + "blade", + "blame", + "blanket", + "blast", + "bleak", + "bless", + "blind", + "blood", + "blossom", + "blouse", + "blue", + "blur", + "blush", + "board", + "boat", + "body", + "boil", + "bomb", + "bone", + "bonus", + "book", + "boost", + "border", + "boring", + "borrow", + "boss", + "bottom", + "bounce", + "box", + "boy", + "bracket", + "brain", + "brand", + "brass", + "brave", + "bread", + "breeze", + "brick", + "bridge", + "brief", + "bright", + "bring", + "brisk", + "broccoli", + "broken", + "bronze", + "broom", + "brother", + "brown", + "brush", + "bubble", + "buddy", + "budget", + "buffalo", + "build", + "bulb", + "bulk", + "bullet", + "bundle", + "bunker", + "burden", + "burger", + "burst", + "bus", + "business", + "busy", + "butter", + "buyer", + "buzz", + "cabbage", + "cabin", + "cable", + "cactus", + "cage", + "cake", + "call", + "calm", + "camera", + "camp", + "can", + "canal", + "cancel", + "candy", + "cannon", + "canoe", + "canvas", + "canyon", + "capable", + "capital", + "captain", + "car", + "carbon", + "card", + "cargo", + "carpet", + "carry", + "cart", + "case", + "cash", + "casino", + "castle", + "casual", + "cat", + "catalog", + "catch", + "category", + "cattle", + "caught", + "cause", + "caution", + "cave", + "ceiling", + "celery", + "cement", + "census", + "century", + "cereal", + "certain", + "chair", + "chalk", + "champion", + "change", + "chaos", + "chapter", + "charge", + "chase", + "chat", + "cheap", + "check", + "cheese", + "chef", + "cherry", + "chest", + "chicken", + "chief", + "child", + "chimney", + "choice", + "choose", + "chronic", + "chuckle", + "chunk", + "churn", + "cigar", + "cinnamon", + "circle", + "citizen", + "city", + "civil", + "claim", + "clap", + "clarify", + "claw", + "clay", + "clean", + "clerk", + "clever", + "click", + "client", + "cliff", + "climb", + "clinic", + "clip", + "clock", + "clog", + "close", + "cloth", + "cloud", + "clown", + "club", + "clump", + "cluster", + "clutch", + "coach", + "coast", + "coconut", + "code", + "coffee", + "coil", + "coin", + "collect", + "color", + "column", + "combine", + "come", + "comfort", + "comic", + "common", + "company", + "concert", + "conduct", + "confirm", + "congress", + "connect", + "consider", + "control", + "convince", + "cook", + "cool", + "copper", + "copy", + "coral", + "core", + "corn", + "correct", + "cost", + "cotton", + "couch", + "country", + "couple", + "course", + "cousin", + "cover", + "coyote", + "crack", + "cradle", + "craft", + "cram", + "crane", + "crash", + "crater", + "crawl", + "crazy", + "cream", + "credit", + "creek", + "crew", + "cricket", + "crime", + "crisp", + "critic", + "crop", + "cross", + "crouch", + "crowd", + "crucial", + "cruel", + "cruise", + "crumble", + "crunch", + "crush", + "cry", + "crystal", + "cube", + "culture", + "cup", + "cupboard", + "curious", + "current", + "curtain", + "curve", + "cushion", + "custom", + "cute", + "cycle", + "dad", + "damage", + "damp", + "dance", + "danger", + "daring", + "dash", + "daughter", + "dawn", + "day", + "deal", + "debate", + "debris", + "decade", + "december", + "decide", + "decline", + "decorate", + "decrease", + "deer", + "defense", + "define", + "defy", + "degree", + "delay", + "deliver", + "demand", + "demise", + "denial", + "dentist", + "deny", + "depart", + "depend", + "deposit", + "depth", + "deputy", + "derive", + "describe", + "desert", + "design", + "desk", + "despair", + "destroy", + "detail", + "detect", + "develop", + "device", + "devote", + "diagram", + "dial", + "diamond", + "diary", + "dice", + "diesel", + "diet", + "differ", + "digital", + "dignity", + "dilemma", + "dinner", + "dinosaur", + "direct", + "dirt", + "disagree", + "discover", + "disease", + "dish", + "dismiss", + "disorder", + "display", + "distance", + "divert", + "divide", + "divorce", + "dizzy", + "doctor", + "document", + "dog", + "doll", + "dolphin", + "domain", + "donate", + "donkey", + "donor", + "door", + "dose", + "double", + "dove", + "draft", + "dragon", + "drama", + "drastic", + "draw", + "dream", + "dress", + "drift", + "drill", + "drink", + "drip", + "drive", + "drop", + "drum", + "dry", + "duck", + "dumb", + "dune", + "during", + "dust", + "dutch", + "duty", + "dwarf", + "dynamic", + "eager", + "eagle", + "early", + "earn", + "earth", + "easily", + "east", + "easy", + "echo", + "ecology", + "economy", + "edge", + "edit", + "educate", + "effort", + "egg", + "eight", + "either", + "elbow", + "elder", + "electric", + "elegant", + "element", + "elephant", + "elevator", + "elite", + "else", + "embark", + "embody", + "embrace", + "emerge", + "emotion", + "employ", + "empower", + "empty", + "enable", + "enact", + "end", + "endless", + "endorse", + "enemy", + "energy", + "enforce", + "engage", + "engine", + "enhance", + "enjoy", + "enlist", + "enough", + "enrich", + "enroll", + "ensure", + "enter", + "entire", + "entry", + "envelope", + "episode", + "equal", + "equip", + "era", + "erase", + "erode", + "erosion", + "error", + "erupt", + "escape", + "essay", + "essence", + "estate", + "eternal", + "ethics", + "evidence", + "evil", + "evoke", + "evolve", + "exact", + "example", + "excess", + "exchange", + "excite", + "exclude", + "excuse", + "execute", + "exercise", + "exhaust", + "exhibit", + "exile", + "exist", + "exit", + "exotic", + "expand", + "expect", + "expire", + "explain", + "expose", + "express", + "extend", + "extra", + "eye", + "eyebrow", + "fabric", + "face", + "faculty", + "fade", + "faint", + "faith", + "fall", + "false", + "fame", + "family", + "famous", + "fan", + "fancy", + "fantasy", + "farm", + "fashion", + "fat", + "fatal", + "father", + "fatigue", + "fault", + "favorite", + "feature", + "february", + "federal", + "fee", + "feed", + "feel", + "female", + "fence", + "festival", + "fetch", + "fever", + "few", + "fiber", + "fiction", + "field", + "figure", + "file", + "film", + "filter", + "final", + "find", + "fine", + "finger", + "finish", + "fire", + "firm", + "first", + "fiscal", + "fish", + "fit", + "fitness", + "fix", + "flag", + "flame", + "flash", + "flat", + "flavor", + "flee", + "flight", + "flip", + "float", + "flock", + "floor", + "flower", + "fluid", + "flush", + "fly", + "foam", + "focus", + "fog", + "foil", + "fold", + "follow", + "food", + "foot", + "force", + "forest", + "forget", + "fork", + "fortune", + "forum", + "forward", + "fossil", + "foster", + "found", + "fox", + "fragile", + "frame", + "frequent", + "fresh", + "friend", + "fringe", + "frog", + "front", + "frost", + "frown", + "frozen", + "fruit", + "fuel", + "fun", + "funny", + "furnace", + "fury", + "future", + "gadget", + "gain", + "galaxy", + "gallery", + "game", + "gap", + "garage", + "garbage", + "garden", + "garlic", + "garment", + "gas", + "gasp", + "gate", + "gather", + "gauge", + "gaze", + "general", + "genius", + "genre", + "gentle", + "genuine", + "gesture", + "ghost", + "giant", + "gift", + "giggle", + "ginger", + "giraffe", + "girl", + "give", + "glad", + "glance", + "glare", + "glass", + "glide", + "glimpse", + "globe", + "gloom", + "glory", + "glove", + "glow", + "glue", + "goat", + "goddess", + "gold", + "good", + "goose", + "gorilla", + "gospel", + "gossip", + "govern", + "gown", + "grab", + "grace", + "grain", + "grant", + "grape", + "grass", + "gravity", + "great", + "green", + "grid", + "grief", + "grit", + "grocery", + "group", + "grow", + "grunt", + "guard", + "guess", + "guide", + "guilt", + "guitar", + "gun", + "gym", + "habit", + "hair", + "half", + "hammer", + "hamster", + "hand", + "happy", + "harbor", + "hard", + "harsh", + "harvest", + "hat", + "have", + "hawk", + "hazard", + "head", + "health", + "heart", + "heavy", + "hedgehog", + "height", + "hello", + "helmet", + "help", + "hen", + "hero", + "hidden", + "high", + "hill", + "hint", + "hip", + "hire", + "history", + "hobby", + "hockey", + "hold", + "hole", + "holiday", + "hollow", + "home", + "honey", + "hood", + "hope", + "horn", + "horror", + "horse", + "hospital", + "host", + "hotel", + "hour", + "hover", + "hub", + "huge", + "human", + "humble", + "humor", + "hundred", + "hungry", + "hunt", + "hurdle", + "hurry", + "hurt", + "husband", + "hybrid", + "ice", + "icon", + "idea", + "identify", + "idle", + "ignore", + "ill", + "illegal", + "illness", + "image", + "imitate", + "immense", + "immune", + "impact", + "impose", + "improve", + "impulse", + "inch", + "include", + "income", + "increase", + "index", + "indicate", + "indoor", + "industry", + "infant", + "inflict", + "inform", + "inhale", + "inherit", + "initial", + "inject", + "injury", + "inmate", + "inner", + "innocent", + "input", + "inquiry", + "insane", + "insect", + "inside", + "inspire", + "install", + "intact", + "interest", + "into", + "invest", + "invite", + "involve", + "iron", + "island", + "isolate", + "issue", + "item", + "ivory", + "jacket", + "jaguar", + "jar", + "jazz", + "jealous", + "jeans", + "jelly", + "jewel", + "job", + "join", + "joke", + "journey", + "joy", + "judge", + "juice", + "jump", + "jungle", + "junior", + "junk", + "just", + "kangaroo", + "keen", + "keep", + "ketchup", + "key", + "kick", + "kid", + "kidney", + "kind", + "kingdom", + "kiss", + "kit", + "kitchen", + "kite", + "kitten", + "kiwi", + "knee", + "knife", + "knock", + "know", + "lab", + "label", + "labor", + "ladder", + "lady", + "lake", + "lamp", + "language", + "laptop", + "large", + "later", + "latin", + "laugh", + "laundry", + "lava", + "law", + "lawn", + "lawsuit", + "layer", + "lazy", + "leader", + "leaf", + "learn", + "leave", + "lecture", + "left", + "leg", + "legal", + "legend", + "leisure", + "lemon", + "lend", + "length", + "lens", + "leopard", + "lesson", + "letter", + "level", + "liar", + "liberty", + "library", + "license", + "life", + "lift", + "light", + "like", + "limb", + "limit", + "link", + "lion", + "liquid", + "list", + "little", + "live", + "lizard", + "load", + "loan", + "lobster", + "local", + "lock", + "logic", + "lonely", + "long", + "loop", + "lottery", + "loud", + "lounge", + "love", + "loyal", + "lucky", + "luggage", + "lumber", + "lunar", + "lunch", + "luxury", + "lyrics", + "machine", + "mad", + "magic", + "magnet", + "maid", + "mail", + "main", + "major", + "make", + "mammal", + "man", + "manage", + "mandate", + "mango", + "mansion", + "manual", + "maple", + "marble", + "march", + "margin", + "marine", + "market", + "marriage", + "mask", + "mass", + "master", + "match", + "material", + "math", + "matrix", + "matter", + "maximum", + "maze", + "meadow", + "mean", + "measure", + "meat", + "mechanic", + "medal", + "media", + "melody", + "melt", + "member", + "memory", + "mention", + "menu", + "mercy", + "merge", + "merit", + "merry", + "mesh", + "message", + "metal", + "method", + "middle", + "midnight", + "milk", + "million", + "mimic", + "mind", + "minimum", + "minor", + "minute", + "miracle", + "mirror", + "misery", + "miss", + "mistake", + "mix", + "mixed", + "mixture", + "mobile", + "model", + "modify", + "mom", + "moment", + "monitor", + "monkey", + "monster", + "month", + "moon", + "moral", + "more", + "morning", + "mosquito", + "mother", + "motion", + "motor", + "mountain", + "mouse", + "move", + "movie", + "much", + "muffin", + "mule", + "multiply", + "muscle", + "museum", + "mushroom", + "music", + "must", + "mutual", + "myself", + "mystery", + "myth", + "naive", + "name", + "napkin", + "narrow", + "nasty", + "nation", + "nature", + "near", + "neck", + "need", + "negative", + "neglect", + "neither", + "nephew", + "nerve", + "nest", + "net", + "network", + "neutral", + "never", + "news", + "next", + "nice", + "night", + "noble", + "noise", + "nominee", + "noodle", + "normal", + "north", + "nose", + "notable", + "note", + "nothing", + "notice", + "novel", + "now", + "nuclear", + "number", + "nurse", + "nut", + "oak", + "obey", + "object", + "oblige", + "obscure", + "observe", + "obtain", + "obvious", + "occur", + "ocean", + "october", + "odor", + "off", + "offer", + "office", + "often", + "oil", + "okay", + "old", + "olive", + "olympic", + "omit", + "once", + "one", + "onion", + "online", + "only", + "open", + "opera", + "opinion", + "oppose", + "option", + "orange", + "orbit", + "orchard", + "order", + "ordinary", + "organ", + "orient", + "original", + "orphan", + "ostrich", + "other", + "outdoor", + "outer", + "output", + "outside", + "oval", + "oven", + "over", + "own", + "owner", + "oxygen", + "oyster", + "ozone", + "pact", + "paddle", + "page", + "pair", + "palace", + "palm", + "panda", + "panel", + "panic", + "panther", + "paper", + "parade", + "parent", + "park", + "parrot", + "party", + "pass", + "patch", + "path", + "patient", + "patrol", + "pattern", + "pause", + "pave", + "payment", + "peace", + "peanut", + "pear", + "peasant", + "pelican", + "pen", + "penalty", + "pencil", + "people", + "pepper", + "perfect", + "permit", + "person", + "pet", + "phone", + "photo", + "phrase", + "physical", + "piano", + "picnic", + "picture", + "piece", + "pig", + "pigeon", + "pill", + "pilot", + "pink", + "pioneer", + "pipe", + "pistol", + "pitch", + "pizza", + "place", + "planet", + "plastic", + "plate", + "play", + "please", + "pledge", + "pluck", + "plug", + "plunge", + "poem", + "poet", + "point", + "polar", + "pole", + "police", + "pond", + "pony", + "pool", + "popular", + "portion", + "position", + "possible", + "post", + "potato", + "pottery", + "poverty", + "powder", + "power", + "practice", + "praise", + "predict", + "prefer", + "prepare", + "present", + "pretty", + "prevent", + "price", + "pride", + "primary", + "print", + "priority", + "prison", + "private", + "prize", + "problem", + "process", + "produce", + "profit", + "program", + "project", + "promote", + "proof", + "property", + "prosper", + "protect", + "proud", + "provide", + "public", + "pudding", + "pull", + "pulp", + "pulse", + "pumpkin", + "punch", + "pupil", + "puppy", + "purchase", + "purity", + "purpose", + "purse", + "push", + "put", + "puzzle", + "pyramid", + "quality", + "quantum", + "quarter", + "question", + "quick", + "quit", + "quiz", + "quote", + "rabbit", + "raccoon", + "race", + "rack", + "radar", + "radio", + "rail", + "rain", + "raise", + "rally", + "ramp", + "ranch", + "random", + "range", + "rapid", + "rare", + "rate", + "rather", + "raven", + "raw", + "razor", + "ready", + "real", + "reason", + "rebel", + "rebuild", + "recall", + "receive", + "recipe", + "record", + "recycle", + "reduce", + "reflect", + "reform", + "refuse", + "region", + "regret", + "regular", + "reject", + "relax", + "release", + "relief", + "rely", + "remain", + "remember", + "remind", + "remove", + "render", + "renew", + "rent", + "reopen", + "repair", + "repeat", + "replace", + "report", + "require", + "rescue", + "resemble", + "resist", + "resource", + "response", + "result", + "retire", + "retreat", + "return", + "reunion", + "reveal", + "review", + "reward", + "rhythm", + "rib", + "ribbon", + "rice", + "rich", + "ride", + "ridge", + "rifle", + "right", + "rigid", + "ring", + "riot", + "ripple", + "risk", + "ritual", + "rival", + "river", + "road", + "roast", + "robot", + "robust", + "rocket", + "romance", + "roof", + "rookie", + "room", + "rose", + "rotate", + "rough", + "round", + "route", + "royal", + "rubber", + "rude", + "rug", + "rule", + "run", + "runway", + "rural", + "sad", + "saddle", + "sadness", + "safe", + "sail", + "salad", + "salmon", + "salon", + "salt", + "salute", + "same", + "sample", + "sand", + "satisfy", + "satoshi", + "sauce", + "sausage", + "save", + "say", + "scale", + "scan", + "scare", + "scatter", + "scene", + "scheme", + "school", + "science", + "scissors", + "scorpion", + "scout", + "scrap", + "screen", + "script", + "scrub", + "sea", + "search", + "season", + "seat", + "second", + "secret", + "section", + "security", + "seed", + "seek", + "segment", + "select", + "sell", + "seminar", + "senior", + "sense", + "sentence", + "series", + "service", + "session", + "settle", + "setup", + "seven", + "shadow", + "shaft", + "shallow", + "share", + "shed", + "shell", + "sheriff", + "shield", + "shift", + "shine", + "ship", + "shiver", + "shock", + "shoe", + "shoot", + "shop", + "short", + "shoulder", + "shove", + "shrimp", + "shrug", + "shuffle", + "shy", + "sibling", + "sick", + "side", + "siege", + "sight", + "sign", + "silent", + "silk", + "silly", + "silver", + "similar", + "simple", + "since", + "sing", + "siren", + "sister", + "situate", + "six", + "size", + "skate", + "sketch", + "ski", + "skill", + "skin", + "skirt", + "skull", + "slab", + "slam", + "sleep", + "slender", + "slice", + "slide", + "slight", + "slim", + "slogan", + "slot", + "slow", + "slush", + "small", + "smart", + "smile", + "smoke", + "smooth", + "snack", + "snake", + "snap", + "sniff", + "snow", + "soap", + "soccer", + "social", + "sock", + "soda", + "soft", + "solar", + "soldier", + "solid", + "solution", + "solve", + "someone", + "song", + "soon", + "sorry", + "sort", + "soul", + "sound", + "soup", + "source", + "south", + "space", + "spare", + "spatial", + "spawn", + "speak", + "special", + "speed", + "spell", + "spend", + "sphere", + "spice", + "spider", + "spike", + "spin", + "spirit", + "split", + "spoil", + "sponsor", + "spoon", + "sport", + "spot", + "spray", + "spread", + "spring", + "spy", + "square", + "squeeze", + "squirrel", + "stable", + "stadium", + "staff", + "stage", + "stairs", + "stamp", + "stand", + "start", + "state", + "stay", + "steak", + "steel", + "stem", + "step", + "stereo", + "stick", + "still", + "sting", + "stock", + "stomach", + "stone", + "stool", + "story", + "stove", + "strategy", + "street", + "strike", + "strong", + "struggle", + "student", + "stuff", + "stumble", + "style", + "subject", + "submit", + "subway", + "success", + "such", + "sudden", + "suffer", + "sugar", + "suggest", + "suit", + "summer", + "sun", + "sunny", + "sunset", + "super", + "supply", + "supreme", + "sure", + "surface", + "surge", + "surprise", + "surround", + "survey", + "suspect", + "sustain", + "swallow", + "swamp", + "swap", + "swarm", + "swear", + "sweet", + "swift", + "swim", + "swing", + "switch", + "sword", + "symbol", + "symptom", + "syrup", + "system", + "table", + "tackle", + "tag", + "tail", + "talent", + "talk", + "tank", + "tape", + "target", + "task", + "taste", + "tattoo", + "taxi", + "teach", + "team", + "tell", + "ten", + "tenant", + "tennis", + "tent", + "term", + "test", + "text", + "thank", + "that", + "theme", + "then", + "theory", + "there", + "they", + "thing", + "this", + "thought", + "three", + "thrive", + "throw", + "thumb", + "thunder", + "ticket", + "tide", + "tiger", + "tilt", + "timber", + "time", + "tiny", + "tip", + "tired", + "tissue", + "title", + "toast", + "tobacco", + "today", + "toddler", + "toe", + "together", + "toilet", + "token", + "tomato", + "tomorrow", + "tone", + "tongue", + "tonight", + "tool", + "tooth", + "top", + "topic", + "topple", + "torch", + "tornado", + "tortoise", + "toss", + "total", + "tourist", + "toward", + "tower", + "town", + "toy", + "track", + "trade", + "traffic", + "tragic", + "train", + "transfer", + "trap", + "trash", + "travel", + "tray", + "treat", + "tree", + "trend", + "trial", + "tribe", + "trick", + "trigger", + "trim", + "trip", + "trophy", + "trouble", + "truck", + "true", + "truly", + "trumpet", + "trust", + "truth", + "try", + "tube", + "tuition", + "tumble", + "tuna", + "tunnel", + "turkey", + "turn", + "turtle", + "twelve", + "twenty", + "twice", + "twin", + "twist", + "two", + "type", + "typical", + "ugly", + "umbrella", + "unable", + "unaware", + "uncle", + "uncover", + "under", + "undo", + "unfair", + "unfold", + "unhappy", + "uniform", + "unique", + "unit", + "universe", + "unknown", + "unlock", + "until", + "unusual", + "unveil", + "update", + "upgrade", + "uphold", + "upon", + "upper", + "upset", + "urban", + "urge", + "usage", + "use", + "used", + "useful", + "useless", + "usual", + "utility", + "vacant", + "vacuum", + "vague", + "valid", + "valley", + "valve", + "van", + "vanish", + "vapor", + "various", + "vast", + "vault", + "vehicle", + "velvet", + "vendor", + "venture", + "venue", + "verb", + "verify", + "version", + "very", + "vessel", + "veteran", + "viable", + "vibrant", + "vicious", + "victory", + "video", + "view", + "village", + "vintage", + "violin", + "virtual", + "virus", + "visa", + "visit", + "visual", + "vital", + "vivid", + "vocal", + "voice", + "void", + "volcano", + "volume", + "vote", + "voyage", + "wage", + "wagon", + "wait", + "walk", + "wall", + "walnut", + "want", + "warfare", + "warm", + "warrior", + "wash", + "wasp", + "waste", + "water", + "wave", + "way", + "wealth", + "weapon", + "wear", + "weasel", + "weather", + "web", + "wedding", + "weekend", + "weird", + "welcome", + "west", + "wet", + "whale", + "what", + "wheat", + "wheel", + "when", + "where", + "whip", + "whisper", + "wide", + "width", + "wife", + "wild", + "will", + "win", + "window", + "wine", + "wing", + "wink", + "winner", + "winter", + "wire", + "wisdom", + "wise", + "wish", + "witness", + "wolf", + "woman", + "wonder", + "wood", + "wool", + "word", + "work", + "world", + "worry", + "worth", + "wrap", + "wreck", + "wrestle", + "wrist", + "write", + "wrong", + "yard", + "year", + "yellow", + "you", + "young", + "youth", + "zebra", + "zero", + "zone", + "zoo", + ) diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/CurrencyUnit.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/CurrencyUnit.kt new file mode 100644 index 0000000..e33b463 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/CurrencyUnit.kt @@ -0,0 +1,11 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.domain + +enum class CurrencyUnit { + Bitcoin, + Satoshi, +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/DwLogger.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/DwLogger.kt new file mode 100644 index 0000000..293fff0 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/DwLogger.kt @@ -0,0 +1,54 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.domain + +import java.time.Instant +import java.time.ZoneId +import java.time.temporal.ChronoUnit + +object DwLogger { + private const val MAX_LOGS = 5000 + private val logEntries = ArrayDeque(MAX_LOGS) + private val lock = Any() + + fun log(tag: LogLevel, message: String) { + synchronized(lock) { + if (logEntries.size >= MAX_LOGS) { + logEntries.removeLast() + } + val millis = System.currentTimeMillis() + val dateTime = + Instant + .ofEpochMilli(millis) + .atZone(ZoneId.systemDefault()) + .toLocalDateTime() + .truncatedTo(ChronoUnit.SECONDS) + + logEntries.addFirst("$dateTime $tag $message") + } + } + + fun getLogs(): List { + synchronized(lock) { + return logEntries.toList() + } + } + + enum class LogLevel { + INFO, + WARN, + ERROR, + ; + + override fun toString(): String { + return when (this) { + INFO -> "[INFO] " + WARN -> "[WARN] " + ERROR -> "[ERROR]" + } + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/Wallet.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/Wallet.kt new file mode 100644 index 0000000..29fd725 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/Wallet.kt @@ -0,0 +1,367 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.domain + +import android.util.Log +import kotlinx.coroutines.runBlocking +import org.bitcoindevkit.Address +import org.bitcoindevkit.AddressInfo +import org.bitcoindevkit.Amount +import org.bitcoindevkit.CanonicalTx +import org.bitcoindevkit.ChainPosition +import org.bitcoindevkit.Descriptor +import org.bitcoindevkit.DescriptorSecretKey +import org.bitcoindevkit.FeeRate +import org.bitcoindevkit.KeychainKind +import org.bitcoindevkit.Mnemonic +import org.bitcoindevkit.Network +import org.bitcoindevkit.NetworkKind +import org.bitcoindevkit.Persister +import org.bitcoindevkit.Psbt +import org.bitcoindevkit.Script +import org.bitcoindevkit.TxBuilder +import org.bitcoindevkit.Update +import org.bitcoindevkit.WordCount +import org.bitcoindevkit.devkitwallet.data.ConfirmationBlock +import org.bitcoindevkit.devkitwallet.data.NewWalletConfig +import org.bitcoindevkit.devkitwallet.data.RecoverWalletConfig +import org.bitcoindevkit.devkitwallet.data.Timestamp +import org.bitcoindevkit.devkitwallet.data.TxDetails +import org.bitcoindevkit.devkitwallet.data.datastore.ActiveWalletScriptType +import org.bitcoindevkit.devkitwallet.data.datastore.StoredWallet +import org.bitcoindevkit.devkitwallet.domain.utils.intoDomain +import org.bitcoindevkit.devkitwallet.domain.utils.intoProto +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.Recipient +import java.util.UUID +import org.bitcoindevkit.Wallet as BdkWallet + +private const val TAG = "Wallet" + +class Wallet private constructor( + val wallet: BdkWallet, + private val walletSecrets: WalletSecrets, + private val connection: Persister, + private var fullScanCompleted: Boolean, + private val walletId: String, + private val walletRepository: WalletRepository, + val internalAppFilesPath: String, + val network: Network, +) { + fun getWalletSecrets(): WalletSecrets { + return walletSecrets + } + + fun bestBlock(): UInt { + return wallet.latestCheckpoint().height + } + + fun createTransaction(recipientList: List, feeRate: FeeRate, opReturnMsg: String?): Psbt { + // technique 1 for adding a list of recipients to the TxBuilder + // var txBuilder = TxBuilder() + // for (recipient in recipientList) { + // txBuilder = txBuilder.addRecipient(address = recipient.first, amount = recipient.second) + // } + // txBuilder = txBuilder.feeRate(satPerVbyte = fee_rate) + + // technique 2 for adding a list of recipients to the TxBuilder + var txBuilder = + recipientList.fold(TxBuilder()) { builder, recipient -> + // val address = Address(recipient.address) + val scriptPubKey: Script = Address(recipient.address, this.network).scriptPubkey() + builder.addRecipient(scriptPubKey, Amount.fromSat(recipient.amount)) + } + // if (!opReturnMsg.isNullOrEmpty()) { + // txBuilder = txBuilder.addData(opReturnMsg.toByteArray(charset = Charsets.UTF_8).asUByteArray().toList()) + // } + return txBuilder.feeRate(feeRate).finish(wallet) + } + + // @OptIn(ExperimentalUnsignedTypes::class) + // fun createSendAllTransaction( + // recipient: String, + // feeRate: Float, + // enableRBF: Boolean, + // opReturnMsg: String? + // ): PartiallySignedTransaction { + // val scriptPubkey: Script = Address(recipient).scriptPubkey() + // var txBuilder = TxBuilder() + // .drainWallet() + // .drainTo(scriptPubkey) + // .feeRate(satPerVbyte = feeRate) + // + // if (enableRBF) { + // txBuilder = txBuilder.enableRbf() + // } + // if (!opReturnMsg.isNullOrEmpty()) { + // txBuilder = txBuilder.addData(opReturnMsg.toByteArray(charset = Charsets.UTF_8).asUByteArray().toList()) + // } + // return txBuilder.finish(wallet).psbt + // } + + // fun createBumpFeeTransaction(txid: String, feeRate: Float): PartiallySignedTransaction { + // return BumpFeeTxBuilder(txid = txid, newFeeRate = feeRate) + // .enableRbf() + // .finish(wallet = wallet) + // } + + fun sign(psbt: Psbt): Boolean { + return wallet.sign(psbt) + } + + // fun broadcast(signedPsbt: Psbt): String { + // currentBlockchainClient?.broadcast(signedPsbt.extractTx()) + // ?: throw IllegalStateException("Blockchain client not initialized") + // return signedPsbt.extractTx().computeTxid().toString() + // } + + private fun getAllTransactions(): List = wallet.transactions() + + fun getAllTxDetails(): List { + val transactions = getAllTransactions() + return transactions.map { tx -> + val txid = tx.transaction.computeTxid() + val (sent, received) = wallet.sentAndReceived(tx.transaction) + var feeRate: FeeRate? = null + var fee: Amount? = null + // TODO: I don't know why we're getting negative fees here, but it looks like a bug + try { + fee = wallet.calculateFee(tx.transaction) + } catch (e: Exception) { + Log.e(TAG, "Error calculating fee rate for tx $txid: $e") + } + try { + feeRate = wallet.calculateFeeRate(tx.transaction) + } catch (e: Exception) { + Log.e(TAG, "Error calculating fee for tx $txid: $e") + } + + val (confirmationBlock, confirmationTimestamp, pending) = + when (val position = tx.chainPosition) { + is ChainPosition.Unconfirmed -> { + Triple(null, null, true) + } + + is ChainPosition.Confirmed -> { + Triple( + ConfirmationBlock(position.confirmationBlockTime.blockId.height), + Timestamp(position.confirmationBlockTime.confirmationTime), + false, + ) + } + } + TxDetails( + tx.transaction, + txid.toString(), + sent.toSat(), + received.toSat(), + fee?.toSat() ?: 0uL, + feeRate, + pending, + confirmationBlock, + confirmationTimestamp + ) + } + } + + // fun getTransaction(txid: String): TransactionDetails? { + // val allTransactions = getAllTransactions() + // allTransactions.forEach { + // if (it.txid == txid) { + // return it + // } + // } + // return null + // } + + fun getBalance(): ULong = wallet.balance().total.toSat() + + fun getNewAddress(): AddressInfo = wallet.revealNextAddress(KeychainKind.EXTERNAL) + + fun applyUpdate(update: Update) { + wallet.applyUpdate(update) + wallet.persist(connection) + Log.i("KYOTOTEST", "Wallet applied a Kyoto update") + } + + companion object { + fun createWallet( + newWalletConfig: NewWalletConfig, + internalAppFilesPath: String, + walletRepository: WalletRepository, + ): Wallet { + val mnemonic = Mnemonic(WordCount.WORDS12) + val bip32ExtendedRootKey = DescriptorSecretKey(NetworkKind.TEST, mnemonic, null) + val descriptor: Descriptor = + createScriptAppropriateDescriptor( + newWalletConfig.scriptType, + bip32ExtendedRootKey, + KeychainKind.EXTERNAL, + ) + val changeDescriptor: Descriptor = + createScriptAppropriateDescriptor( + newWalletConfig.scriptType, + bip32ExtendedRootKey, + KeychainKind.INTERNAL, + ) + val walletId = UUID.randomUUID().toString() + val connection = Persister.newSqlite("$internalAppFilesPath/wallet-${walletId.take(8)}.sqlite3") + + // Create SingleWallet object for saving to datastore + val newWalletForDatastore: StoredWallet = + StoredWallet( + id = walletId, + name = newWalletConfig.name, + network = newWalletConfig.network.intoProto(), + scriptType = ActiveWalletScriptType.P2WPKH, + descriptor = descriptor.toStringWithSecret(), + changeDescriptor = changeDescriptor.toStringWithSecret(), + recoveryPhrase = mnemonic.toString() + ) + // TODO: launch this correctly, not on the main thread + // Save the new wallet to the datastore + runBlocking { walletRepository.addWallet(newWalletForDatastore) } + + val bdkWallet = + BdkWallet( + descriptor = descriptor, + changeDescriptor = changeDescriptor, + network = newWalletConfig.network, + persister = connection, + ) + + val walletSecrets = WalletSecrets(descriptor, changeDescriptor, mnemonic.toString()) + + return Wallet( + wallet = bdkWallet, + walletSecrets = walletSecrets, + connection = connection, + fullScanCompleted = false, + walletId = walletId, + walletRepository = walletRepository, + internalAppFilesPath = internalAppFilesPath, + network = newWalletConfig.network + ) + } + + fun loadActiveWallet( + activeWallet: StoredWallet, + internalAppFilesPath: String, + walletRepository: WalletRepository, + ): Wallet { + val descriptor = Descriptor(activeWallet.descriptor, NetworkKind.TEST) + val changeDescriptor = Descriptor(activeWallet.changeDescriptor, NetworkKind.TEST) + val connection = Persister.newSqlite("$internalAppFilesPath/wallet-${activeWallet.id.take(8)}.sqlite3") + val bdkWallet = + BdkWallet.load( + descriptor = descriptor, + changeDescriptor = changeDescriptor, + persister = connection, + ) + + val walletSecrets = WalletSecrets(descriptor, changeDescriptor, activeWallet.recoveryPhrase) + return Wallet( + wallet = bdkWallet, + walletSecrets = walletSecrets, + connection = connection, + fullScanCompleted = activeWallet.fullScanCompleted, + walletId = activeWallet.id, + walletRepository = walletRepository, + internalAppFilesPath = internalAppFilesPath, + network = activeWallet.network.intoDomain() + ) + } + + fun recoverWallet( + recoverWalletConfig: RecoverWalletConfig, + internalAppFilesPath: String, + walletRepository: WalletRepository, + ): Wallet { + Log.i(TAG, "Recovering wallet with config: $recoverWalletConfig") + var descriptor: Descriptor? = null + var changeDescriptor: Descriptor? = null + var mnemonicString: String = "" + + // If there is a recovery phrase, we use it to recover the wallet + if (recoverWalletConfig.recoveryPhrase != null && recoverWalletConfig.scriptType != null) { + val mnemonic: Mnemonic = Mnemonic.fromString(recoverWalletConfig.recoveryPhrase) + mnemonicString = mnemonic.toString() + val bip32ExtendedRootKey = DescriptorSecretKey(NetworkKind.TEST, mnemonic, null) + descriptor = + createScriptAppropriateDescriptor( + recoverWalletConfig.scriptType, + bip32ExtendedRootKey, + KeychainKind.EXTERNAL, + ) + changeDescriptor = + createScriptAppropriateDescriptor( + recoverWalletConfig.scriptType, + bip32ExtendedRootKey, + KeychainKind.INTERNAL, + ) + } else { + descriptor = recoverWalletConfig.descriptor + changeDescriptor = recoverWalletConfig.changeDescriptor + } + val walletId = UUID.randomUUID().toString() + val connection = Persister.newSqlite("$internalAppFilesPath/wallet-${walletId.take(8)}.sqlite3") + + // Create SingleWallet object for saving to datastore + val newWalletForDatastore: StoredWallet = + StoredWallet( + id = walletId, + name = recoverWalletConfig.name, + network = recoverWalletConfig.network.intoProto(), + scriptType = ActiveWalletScriptType.P2WPKH, + descriptor = descriptor.toStringWithSecret(), + changeDescriptor = changeDescriptor.toStringWithSecret(), + recoveryPhrase = mnemonicString + ) + + // TODO: launch this correctly, not on the main thread + // Save the new wallet to the datastore + runBlocking { walletRepository.addWallet(newWalletForDatastore) } + + val bdkWallet = + BdkWallet( + descriptor = descriptor, + changeDescriptor = changeDescriptor, + persister = connection, + network = recoverWalletConfig.network, + ) + + val walletSecrets = WalletSecrets(descriptor, changeDescriptor, mnemonicString) + return Wallet( + wallet = bdkWallet, + walletSecrets = walletSecrets, + connection = connection, + fullScanCompleted = false, + walletId = walletId, + walletRepository = walletRepository, + internalAppFilesPath = internalAppFilesPath, + network = recoverWalletConfig.network + ) + } + } +} + +fun createScriptAppropriateDescriptor( + scriptType: ActiveWalletScriptType, + bip32ExtendedRootKey: DescriptorSecretKey, + keychain: KeychainKind, +): Descriptor { + return when (scriptType) { + ActiveWalletScriptType.P2WPKH -> Descriptor.newBip84(bip32ExtendedRootKey, keychain, NetworkKind.TEST) + ActiveWalletScriptType.P2TR -> Descriptor.newBip86(bip32ExtendedRootKey, keychain, NetworkKind.TEST) + ActiveWalletScriptType.UNKNOWN -> TODO() + // ActiveWalletScriptType.UNRECOGNIZED -> TODO() + } +} + +data class WalletSecrets( + val descriptor: Descriptor, + val changeDescriptor: Descriptor, + val recoveryPhrase: String, +) diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/WalletRepository.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/WalletRepository.kt new file mode 100644 index 0000000..8c9e204 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/WalletRepository.kt @@ -0,0 +1,26 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.domain + +import androidx.datastore.core.DataStore +import kotlinx.coroutines.flow.first +import org.bitcoindevkit.devkitwallet.data.datastore.StoredWallet +import org.bitcoindevkit.devkitwallet.data.datastore.WalletData + +class WalletRepository(private val store: DataStore) { + suspend fun fetchWallets() = store.data.first().wallets + + suspend fun addWallet(wallet: StoredWallet) = store.updateData { it.copy(wallets = it.wallets + wallet) } + + suspend fun setFullScanCompleted(walletId: String) = + store.updateData { data -> + data.copy( + wallets = data.wallets.map { + if (it.id == walletId) it.copy(fullScanCompleted = true) else it + } + ) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/FormatInBtc.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/FormatInBtc.kt new file mode 100644 index 0000000..e8b5974 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/FormatInBtc.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.domain.utils + +import java.text.DecimalFormat + +fun ULong?.formatInBtc(): String { + val balanceInSats = + if (this == 0UL || this == null) { + 0F + } else { + this.toDouble().div(100_000_000) + } + return DecimalFormat("0.00000000").format(balanceInSats) +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/ProtobufExtensions.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/ProtobufExtensions.kt new file mode 100644 index 0000000..d8d505b --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/ProtobufExtensions.kt @@ -0,0 +1,28 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.domain.utils + +import org.bitcoindevkit.Network +import org.bitcoindevkit.devkitwallet.data.datastore.ActiveWalletNetwork + +fun Network.intoProto(): ActiveWalletNetwork { + return when (this) { + Network.TESTNET -> ActiveWalletNetwork.TESTNET + Network.TESTNET4 -> throw IllegalArgumentException("Bitcoin testnet 4 network is not supported") + Network.SIGNET -> ActiveWalletNetwork.SIGNET + Network.REGTEST -> ActiveWalletNetwork.REGTEST + Network.BITCOIN -> throw IllegalArgumentException("Bitcoin mainnet network is not supported") + } +} + +fun ActiveWalletNetwork.intoDomain(): Network { + return when (this) { + ActiveWalletNetwork.TESTNET -> Network.TESTNET + ActiveWalletNetwork.SIGNET -> Network.SIGNET + ActiveWalletNetwork.REGTEST -> Network.REGTEST + // ActiveWalletNetwork.UNRECOGNIZED -> throw IllegalArgumentException("Unrecognized network") + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/Timestamps.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/Timestamps.kt new file mode 100644 index 0000000..efb850d --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/domain/utils/Timestamps.kt @@ -0,0 +1,17 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.domain.utils + +import android.text.format.DateFormat +import java.util.Calendar +import java.util.Locale + +// extension function on the ULong timestamp provided in the Transaction.Confirmed type +fun ULong.timestampToString(): String { + val calendar = Calendar.getInstance(Locale.ENGLISH) + calendar.timeInMillis = (this * 1000u).toLong() + return DateFormat.format("MMMM d yyyy HH:mm", calendar).toString() +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/DevkitWalletActivity.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/DevkitWalletActivity.kt new file mode 100644 index 0000000..b064ded --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/DevkitWalletActivity.kt @@ -0,0 +1,165 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation + +import android.content.Context +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.util.Log +import androidx.activity.ComponentActivity +import androidx.activity.compose.setContent +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue +import androidx.core.graphics.drawable.toDrawable +import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen +import androidx.datastore.core.DataStore +import androidx.datastore.dataStore +import androidx.lifecycle.lifecycleScope +import kotlinx.coroutines.async +import kotlinx.coroutines.launch +import org.bitcoindevkit.devkitwallet.data.NewWalletConfig +import org.bitcoindevkit.devkitwallet.data.RecoverWalletConfig +import org.bitcoindevkit.devkitwallet.data.datastore.AppSettings +import org.bitcoindevkit.devkitwallet.data.datastore.AppSettingsSerializer +import org.bitcoindevkit.devkitwallet.data.datastore.StoredWallet +import org.bitcoindevkit.devkitwallet.data.datastore.WalletData +import org.bitcoindevkit.devkitwallet.data.datastore.WalletDataSerializer +import org.bitcoindevkit.devkitwallet.domain.AppSettingsRepository +import org.bitcoindevkit.devkitwallet.domain.DwLogger +import org.bitcoindevkit.devkitwallet.domain.DwLogger.LogLevel.INFO +import org.bitcoindevkit.devkitwallet.domain.Wallet +import org.bitcoindevkit.devkitwallet.domain.WalletRepository +import org.bitcoindevkit.devkitwallet.presentation.navigation.AppNavigation +import org.bitcoindevkit.devkitwallet.presentation.theme.DevkitTheme +import org.bitcoindevkit.devkitwallet.presentation.theme.themeSurfaceColor +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro.OnboardingScreen + +private const val TAG = "DevkitWalletActivity" +private val Context.appSettingsStore: DataStore by dataStore( + fileName = "app_settings.json", + serializer = AppSettingsSerializer, +) +private val Context.walletDataStore: DataStore by dataStore( + fileName = "wallet_data.json", + serializer = WalletDataSerializer, +) + +class DevkitWalletActivity : ComponentActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + installSplashScreen() + + super.onCreate(savedInstanceState) + + // Initialize Devkit Wallet Logger (used in the LogsScreen) + DwLogger.log(INFO, "Devkit Wallet app started") + + val appSettingsRepository = AppSettingsRepository(appSettingsStore) + val walletRepository = WalletRepository(walletDataStore) + + var activeWallet: Wallet? by mutableStateOf(null) + var activeWallets: List by mutableStateOf(emptyList()) + var onboardingDone: Boolean by mutableStateOf(false) + var useDarkTheme: Boolean by mutableStateOf(true) + var preferencesLoaded: Boolean by mutableStateOf(false) + + val onBuildWalletButtonClicked: (WalletCreateType) -> Unit = { walletCreateType -> + try { + activeWallet = + when (walletCreateType) { + is WalletCreateType.FROMSCRATCH -> { + Wallet.createWallet( + newWalletConfig = walletCreateType.newWalletConfig, + internalAppFilesPath = filesDir.absolutePath, + walletRepository = walletRepository, + ) + } + + is WalletCreateType.LOADEXISTING -> { + Wallet.loadActiveWallet( + activeWallet = walletCreateType.activeWallet, + internalAppFilesPath = filesDir.absolutePath, + walletRepository = walletRepository, + ) + } + + is WalletCreateType.RECOVER -> { + Wallet.recoverWallet( + recoverWalletConfig = walletCreateType.recoverWalletConfig, + internalAppFilesPath = filesDir.absolutePath, + walletRepository = walletRepository, + ) + } + } + } catch (e: Throwable) { + Log.i(TAG, "Could not build wallet: $e") + } + } + + val onToggleTheme: () -> Unit = { + useDarkTheme = !useDarkTheme + // Keep the window background in sync with the Compose theme. Navigation transitions + // include a fade-out, which causes the window background to show through briefly. + // Updating it here (synchronously, before Compose recomposes) prevents a color flash. + window.setBackgroundDrawable(themeSurfaceColor(useDarkTheme).toDrawable()) + lifecycleScope.launch { appSettingsRepository.setDarkTheme(useDarkTheme) } + } + + lifecycleScope.launch { + activeWallets = + async { + walletRepository.fetchWallets() + }.await() + + onboardingDone = + async { + appSettingsRepository.fetchIntroDone() + }.await() + + useDarkTheme = + async { + appSettingsRepository.fetchDarkTheme() + }.await() + + // Set the window background before allowing the UI to render for the first time, + // so the correct surface color is already in place when Compose draws its first frame. + window.setBackgroundDrawable(ColorDrawable(themeSurfaceColor(useDarkTheme))) + preferencesLoaded = true + } + + val onFinishOnboarding: () -> Unit = { + lifecycleScope.launch { appSettingsRepository.setIntroDone() } + onboardingDone = true + } + + setContent { + if (!preferencesLoaded) return@setContent + + if (!onboardingDone) { + DwLogger.log(INFO, "First time opening the app, triggering onboarding screen") + OnboardingScreen(onFinishOnboarding) + } else { + DevkitTheme(darkTheme = useDarkTheme) { + AppNavigation( + activeWallet = activeWallet, + activeWallets = activeWallets, + onBuildWalletButtonClicked = onBuildWalletButtonClicked, + useDarkTheme = useDarkTheme, + onToggleTheme = onToggleTheme, + ) + } + } + } + } +} + +sealed class WalletCreateType { + data class FROMSCRATCH(val newWalletConfig: NewWalletConfig) : WalletCreateType() + + data class LOADEXISTING(val activeWallet: StoredWallet) : WalletCreateType() + + data class RECOVER(val recoverWalletConfig: RecoverWalletConfig) : WalletCreateType() +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/navigation/AppNavigation.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/navigation/AppNavigation.kt new file mode 100644 index 0000000..48b1364 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/navigation/AppNavigation.kt @@ -0,0 +1,202 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.navigation + +import androidx.compose.animation.EnterTransition +import androidx.compose.animation.ExitTransition +import androidx.compose.animation.core.CubicBezierEasing +import androidx.compose.animation.core.tween +import androidx.compose.animation.fadeIn +import androidx.compose.animation.fadeOut +import androidx.compose.animation.slideInHorizontally +import androidx.compose.animation.slideOutHorizontally +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember +import androidx.navigation.NavHostController +import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable +import androidx.navigation.compose.rememberNavController +import androidx.navigation.toRoute +import org.bitcoindevkit.devkitwallet.data.datastore.StoredWallet +import org.bitcoindevkit.devkitwallet.domain.Wallet +import org.bitcoindevkit.devkitwallet.presentation.WalletCreateType +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro.ActiveWalletsScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro.CreateNewWalletScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro.RecoverWalletScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro.WalletChoiceScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings.AboutScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings.BlockchainClientScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings.LogsScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings.RecoveryDataScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings.SettingsScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings.ThemeScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet.RBFScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet.ReceiveScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet.SendScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet.TransactionHistoryScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet.TransactionScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet.WalletHomeScreen +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.AddressViewModel +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.SendViewModel +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.WalletViewModel + +// M3 motion easing curves +private val EmphasizedDecelerate = CubicBezierEasing(0.05f, 0.7f, 0.1f, 1.0f) +private val EmphasizedAccelerate = CubicBezierEasing(0.3f, 0.0f, 0.8f, 0.15f) + +private const val ENTER_DURATION = 400 +private const val EXIT_DURATION = 200 +private const val FADE_IN_DURATION = 300 +private const val FADE_OUT_DURATION = 150 +private const val SLIDE_DISTANCE_DP = 30 + +// Forward: entering screen slides in from right and fades in (decelerate) +private val m3ForwardEnter: EnterTransition = + slideInHorizontally( + animationSpec = tween(ENTER_DURATION, easing = EmphasizedDecelerate), + initialOffsetX = { SLIDE_DISTANCE_DP * 3 }, + ) + fadeIn( + animationSpec = tween(FADE_IN_DURATION, delayMillis = 50, easing = EmphasizedDecelerate), + ) + +// Forward: outgoing screen slides out to left and fades out (accelerate) +private val m3ForwardExit: ExitTransition = + slideOutHorizontally( + animationSpec = tween(EXIT_DURATION, easing = EmphasizedAccelerate), + targetOffsetX = { -SLIDE_DISTANCE_DP * 3 }, + ) + fadeOut( + animationSpec = tween(FADE_OUT_DURATION, easing = EmphasizedAccelerate), + ) + +// Backward: returning screen slides in from left and fades in (decelerate) +private val m3BackwardEnter: EnterTransition = + slideInHorizontally( + animationSpec = tween(ENTER_DURATION, easing = EmphasizedDecelerate), + initialOffsetX = { -SLIDE_DISTANCE_DP * 3 }, + ) + fadeIn( + animationSpec = tween(FADE_IN_DURATION, delayMillis = 50, easing = EmphasizedDecelerate), + ) + +// Backward: outgoing screen slides out to right and fades out (accelerate) +private val m3BackwardExit: ExitTransition = + slideOutHorizontally( + animationSpec = tween(EXIT_DURATION, easing = EmphasizedAccelerate), + targetOffsetX = { SLIDE_DISTANCE_DP * 3 }, + ) + fadeOut( + animationSpec = tween(FADE_OUT_DURATION, easing = EmphasizedAccelerate), + ) + +@Composable +fun AppNavigation( + activeWallet: Wallet?, + activeWallets: List, + onBuildWalletButtonClicked: (WalletCreateType) -> Unit, + useDarkTheme: Boolean, + onToggleTheme: () -> Unit, +) { + val navController: NavHostController = rememberNavController() + + val walletViewModel = remember(activeWallet) { activeWallet?.let { WalletViewModel(it) } } + val addressViewModel = remember(activeWallet) { activeWallet?.let { AddressViewModel(it) } } + val sendViewModel = remember(activeWallet) { activeWallet?.let { SendViewModel(it) } } + + LaunchedEffect(activeWallet) { + if (activeWallet != null) { + navController.navigate(HomeScreen) { + popUpTo(WalletChoiceScreen) { inclusive = true } + } + } + } + + NavHost( + navController = navController, + startDestination = WalletChoiceScreen, + enterTransition = { m3ForwardEnter }, + exitTransition = { m3ForwardExit }, + popEnterTransition = { m3BackwardEnter }, + popExitTransition = { m3BackwardExit }, + ) { + // Create-wallet flow destinations + composable { + WalletChoiceScreen(navController = navController) + } + + composable { + ActiveWalletsScreen( + activeWallets = activeWallets, + navController = navController, + onBuildWalletButtonClicked + ) + } + + composable { + CreateNewWalletScreen(navController = navController, onBuildWalletButtonClicked) + } + + composable { + RecoverWalletScreen(onAction = onBuildWalletButtonClicked, navController = navController) + } + + // Wallet screens + composable { + WalletHomeScreen( + state = walletViewModel!!.state, + onAction = walletViewModel::onAction, + navController = navController, + ) + } + + composable { + ReceiveScreen( + state = addressViewModel!!.state, + onAction = addressViewModel::onAction, + navController = navController, + ) + } + + composable { SendScreen(navController, sendViewModel!!) } + + composable { + val args = it.toRoute() + RBFScreen(args.txid, navController) + } + + composable { TransactionHistoryScreen(navController, activeWallet!!) } + + composable { + val args = it.toRoute() + TransactionScreen(args.txid, navController) + } + + // Settings/drawer screens + composable { SettingsScreen(navController = navController) } + + composable { AboutScreen(navController = navController) } + + composable { + RecoveryDataScreen(activeWallet!!.getWalletSecrets(), navController = navController) + } + + composable { + BlockchainClientScreen( + state = walletViewModel!!.state, + onAction = walletViewModel::onAction, + navController = navController, + ) + } + + composable { LogsScreen(navController = navController) } + + composable { + ThemeScreen( + useDarkTheme = useDarkTheme, + onToggleTheme = onToggleTheme, + navController = navController, + ) + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/navigation/Destinations.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/navigation/Destinations.kt new file mode 100644 index 0000000..917f863 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/navigation/Destinations.kt @@ -0,0 +1,59 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.navigation + +import kotlinx.serialization.Serializable + +// Create wallet navigation destinations +@Serializable +object WalletChoiceScreen + +@Serializable +object ActiveWalletsScreen + +@Serializable +object CreateNewWalletScreen + +@Serializable +object WalletRecoveryScreen + +// Home navigation destinations +@Serializable +object SettingsScreen + +@Serializable +object AboutScreen + +@Serializable +object RecoveryPhraseScreen + +@Serializable +object BlockchainClientScreen + +@Serializable +object LogsScreen + +@Serializable +object ThemeScreen + +// Wallet navigation destinations +@Serializable +object HomeScreen + +@Serializable +object ReceiveScreen + +@Serializable +object SendScreen + +@Serializable +object TransactionHistoryScreen + +@Serializable +data class TransactionScreen(val txid: String) + +@Serializable +data class RbfScreen(val txid: String) diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/DevkitWalletColors.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/DevkitWalletColors.kt new file mode 100644 index 0000000..d1662b4 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/DevkitWalletColors.kt @@ -0,0 +1,16 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.theme + +import androidx.compose.ui.graphics.Color + +// NightGlow (dark theme) accent colors +val NightGlowHistoryAccent: Color = Color(0xFFE3D082) +val NightGlowSubtle: Color = Color(0xFF79747E) + +// DayGlow (light theme) accent colors +val DayGlowHistoryAccent: Color = Color(0xFF816C2A) +val DayGlowSubtle: Color = Color(0xFF79747E) diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Fonts.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Fonts.kt new file mode 100644 index 0000000..c1843ba --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Fonts.kt @@ -0,0 +1,63 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.theme + +import androidx.compose.ui.text.font.Font +import androidx.compose.ui.text.font.FontFamily +import androidx.compose.ui.text.font.FontStyle +import androidx.compose.ui.text.font.FontWeight +import org.bitcoindevkit.devkitwallet.R + +// val monoRegular = +// FontFamily( +// Font( +// resId = R.font.ia_writer_mono_regular, +// weight = FontWeight.Normal, +// style = FontStyle.Normal, +// ), +// ) +// +// val monoBold = +// FontFamily( +// Font( +// resId = R.font.ia_writer_mono_bold, +// weight = FontWeight.Bold, +// style = FontStyle.Normal, +// ), +// ) + +val googleSansCode = + FontFamily( + Font( + resId = R.font.google_sans_code_light, + weight = FontWeight.Light, + style = FontStyle.Normal, + ), + ) + +val inter = + FontFamily( + Font( + resId = R.font.inter_thin, + weight = FontWeight.Thin, + style = FontStyle.Normal, + ), + Font( + resId = R.font.inter_regular, + weight = FontWeight.Normal, + style = FontStyle.Normal, + ), + Font( + resId = R.font.inter_medium, + weight = FontWeight.Medium, + style = FontStyle.Normal, + ), + Font( + resId = R.font.inter_bold, + weight = FontWeight.Bold, + style = FontStyle.Normal, + ), + ) diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Theme.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Theme.kt new file mode 100644 index 0000000..f2e9f60 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Theme.kt @@ -0,0 +1,63 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.theme + +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.lightColorScheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.Color + +private val NightGlowColorScheme = darkColorScheme( + surface = Color(0xFF1C1B1F), + onSurface = Color(0xFFE6E1E5), + surfaceVariant = Color(0xFF49454F), + onSurfaceVariant = Color(0xFFCAC4D0), + background = Color(0xFF1C1B1F), + onBackground = Color(0xFFE6E1E5), + outline = Color(0xFFCAC4D0), + outlineVariant = Color(0xFF49454F), + primary = Color(0xFFF2D2B6), + onPrimary = Color(0xFF1C1B1F), + secondary = Color(0xFFC6B2E0), + onSecondary = Color(0xFF1C1B1F), + tertiary = Color(0xFF8FD998), + onTertiary = Color(0xFF1C1B1F), +) + +private val DayGlowColorScheme = lightColorScheme( + surface = Color(0xFFFFF8F4), + onSurface = Color(0xFF1C1B1F), + surfaceVariant = Color(0xFFEDE5DF), + onSurfaceVariant = Color(0xFF49454F), + background = Color(0xFFFFF8F4), + onBackground = Color(0xFF1C1B1F), + outline = Color(0xFF79747E), + outlineVariant = Color(0xFFCAC4D0), + primary = Color(0xFF7D5260), + onPrimary = Color(0xFFFFFFFF), + secondary = Color(0xFF625B71), + onSecondary = Color(0xFFFFFFFF), + tertiary = Color(0xFF2E6A3C), + onTertiary = Color(0xFFFFFFFF), +) + +// Returns the surface color for the given theme as an ARGB int for use outside of Compose (e.g. +// setting the window background from the Activity). Keeps the values co-located with the color +// schemes above so there is a single source of truth for each theme's surface color. +fun themeSurfaceColor(darkTheme: Boolean): Int = if (darkTheme) 0xFF1C1B1F.toInt() else 0xFFFFF8F4.toInt() + +@Composable +fun DevkitTheme(darkTheme: Boolean = true, content: @Composable () -> Unit) { + MaterialTheme( + colorScheme = if (darkTheme) NightGlowColorScheme else DayGlowColorScheme, + typography = devkitTypography, + content = content, + ) +} + +// NOTES ON THE UI +// - The standard padding is 32dp for start/end, 16dp for top/bottom diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Type.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Type.kt new file mode 100644 index 0000000..b18f25e --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/theme/Type.kt @@ -0,0 +1,22 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.theme + +import androidx.compose.material3.Typography +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp + +internal val devkitTypography = + Typography( + labelLarge = + TextStyle( + fontFamily = inter, + fontWeight = FontWeight.Normal, + fontSize = 16.sp, + lineHeight = 28.sp, + ), + ) diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/CustomSnackbar.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/CustomSnackbar.kt new file mode 100644 index 0000000..8f98067 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/CustomSnackbar.kt @@ -0,0 +1,48 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.components + +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Snackbar +import androidx.compose.material3.SnackbarData +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import com.composables.icons.lucide.Lucide +import com.composables.icons.lucide.X +import org.bitcoindevkit.devkitwallet.presentation.theme.inter + +@Composable +fun CustomSnackbar(data: SnackbarData) { + val colorScheme = MaterialTheme.colorScheme + Snackbar( + modifier = Modifier.padding(12.dp), + action = { + IconButton( + onClick = { data.performAction() }, + ) { + Icon( + imageVector = Lucide.X, + contentDescription = "Ok", + tint = colorScheme.onSurface, + ) + } + }, + containerColor = colorScheme.surfaceVariant, + ) { + Text( + text = data.visuals.message, + fontFamily = inter, + fontSize = 14.sp, + color = colorScheme.onSurface, + ) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/LoadingAnimation.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/LoadingAnimation.kt new file mode 100644 index 0000000..50fc018 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/LoadingAnimation.kt @@ -0,0 +1,77 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.components + +import androidx.compose.animation.core.Animatable +import androidx.compose.animation.core.RepeatMode +import androidx.compose.animation.core.infiniteRepeatable +import androidx.compose.animation.core.tween +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import kotlinx.coroutines.delay + +@Composable +fun LoadingAnimation( + circleColor: Color = Color(0xffE9C46A), + circleSize: Dp = 21.dp, + animationDelay: Int = 800, + initialAlpha: Float = 0.3f, +) { + val circles = + listOf( + remember { Animatable(initialValue = initialAlpha) }, + remember { Animatable(initialValue = initialAlpha) }, + remember { Animatable(initialValue = initialAlpha) }, + ) + + circles.forEachIndexed { index, animatable -> + LaunchedEffect(Unit) { + // Use coroutine delay to sync animations + delay(timeMillis = (animationDelay / circles.size).toLong() * index) + + animatable.animateTo( + targetValue = 1f, + animationSpec = + infiniteRepeatable( + animation = + tween( + durationMillis = animationDelay, + ), + repeatMode = RepeatMode.Reverse, + ), + ) + } + } + + // container for circles + Row { + circles.forEachIndexed { index, animatable -> + // gap between the circles + if (index != 0) Spacer(modifier = Modifier.width(width = 6.dp)) + + Box( + modifier = + Modifier + .size(size = circleSize) + .clip(shape = CircleShape) + .background(circleColor.copy(alpha = animatable.value)), + ) + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/NeutralButton.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/NeutralButton.kt new file mode 100644 index 0000000..f44b605 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/NeutralButton.kt @@ -0,0 +1,44 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.components + +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import org.bitcoindevkit.devkitwallet.presentation.theme.inter + +@Composable +fun NeutralButton(text: String, enabled: Boolean, modifier: Modifier? = null, onClick: () -> Unit) { + val colorScheme = MaterialTheme.colorScheme + Button( + onClick = onClick, + colors = + ButtonDefaults.buttonColors( + containerColor = colorScheme.secondary, + disabledContainerColor = colorScheme.secondary.copy(alpha = 0.4f), + ), + shape = RoundedCornerShape(16.dp), + enabled = enabled, + modifier = + modifier ?: Modifier + .height(60.dp) + .fillMaxWidth(0.9f) + .padding(vertical = 4.dp, horizontal = 8.dp), + ) { + Text( + text = text, + fontFamily = inter, + ) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/RadioButtonWithLabel.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/RadioButtonWithLabel.kt new file mode 100644 index 0000000..9a702da --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/RadioButtonWithLabel.kt @@ -0,0 +1,63 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.components + +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.selection.selectable +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.RadioButton +import androidx.compose.material3.RadioButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import org.bitcoindevkit.devkitwallet.presentation.theme.inter + +@Composable +fun RadioButtonWithLabel(label: String, isSelected: Boolean, onSelect: () -> Unit) { + val colorScheme = MaterialTheme.colorScheme + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(4.dp), + modifier = + Modifier + .padding(0.dp) + .selectable( + selected = isSelected, + onClick = onSelect, + ), + ) { + RadioButton( + selected = isSelected, + onClick = onSelect, + colors = + RadioButtonDefaults.colors( + selectedColor = colorScheme.primary, + unselectedColor = colorScheme.outline, + ), + modifier = + Modifier + .padding(start = 8.dp) + .size(40.dp), + ) + Text( + text = label, + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 12.sp, + modifier = + Modifier + .clickable(onClick = onSelect) + .padding(0.dp), + ) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/SecondaryScreensAppBar.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/SecondaryScreensAppBar.kt new file mode 100644 index 0000000..f572c5b --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/SecondaryScreensAppBar.kt @@ -0,0 +1,49 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.components + +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.rounded.ArrowBack +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.runtime.Composable +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.sp +import org.bitcoindevkit.devkitwallet.presentation.theme.inter + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +internal fun SecondaryScreensAppBar(title: String, navigation: () -> Unit) { + val colorScheme = MaterialTheme.colorScheme + TopAppBar( + title = { + Text( + text = title, + color = colorScheme.onSurface, + fontSize = 18.sp, + fontFamily = inter, + fontWeight = FontWeight.Medium, + ) + }, + navigationIcon = { + IconButton(onClick = navigation) { + Icon( + imageVector = Icons.AutoMirrored.Rounded.ArrowBack, + contentDescription = "Back", + tint = colorScheme.onSurface, + ) + } + }, + colors = TopAppBarDefaults.topAppBarColors( + containerColor = colorScheme.surface, + ), + ) +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/TransactionCards.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/TransactionCards.kt new file mode 100644 index 0000000..f2b04b1 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/TransactionCards.kt @@ -0,0 +1,142 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.components + +import android.util.Log +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import org.bitcoindevkit.devkitwallet.data.TxDetails +import org.bitcoindevkit.devkitwallet.domain.utils.timestampToString +import org.bitcoindevkit.devkitwallet.presentation.theme.DayGlowHistoryAccent +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet.viewTransaction + +private const val TAG = "TransactionCards" + +@Composable +fun ConfirmedTransactionCard(details: TxDetails, navController: NavController) { + val colorScheme = MaterialTheme.colorScheme + Row( + Modifier + .padding(horizontal = 8.dp, vertical = 6.dp) + .fillMaxWidth() + .background( + color = colorScheme.surfaceVariant.copy(alpha = 0.5f), + shape = RoundedCornerShape(16.dp), + ).border( + width = 1.dp, + color = colorScheme.outline.copy(alpha = 0.08f), + shape = RoundedCornerShape(16.dp), + ).clickable { viewTransaction(navController = navController, txid = details.txid) }, + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.Absolute.SpaceBetween, + ) { + Text( + confirmedTransactionsItem(details), + fontFamily = inter, + fontSize = 12.sp, + lineHeight = 20.sp, + color = colorScheme.onSurface, + modifier = Modifier.padding(16.dp), + ) + Box( + modifier = + Modifier + .padding(top = 16.dp, end = 16.dp) + .size(24.dp) + .clip(shape = CircleShape) + .background(colorScheme.tertiary.copy(alpha = 0.6f)) + .align(Alignment.Top), + ) + } +} + +@Composable +fun PendingTransactionCard(details: TxDetails, navController: NavController) { + val colorScheme = MaterialTheme.colorScheme + Row( + Modifier + .padding(horizontal = 8.dp, vertical = 6.dp) + .fillMaxWidth() + .background( + color = colorScheme.surfaceVariant.copy(alpha = 0.5f), + shape = RoundedCornerShape(16.dp), + ).border( + width = 1.5.dp, + color = DayGlowHistoryAccent.copy(alpha = 0.5f), + shape = RoundedCornerShape(16.dp), + ).clickable { + viewTransaction( + navController = navController, + txid = details.txid, + ) + }, + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.Absolute.SpaceBetween, + ) { + Text( + pendingTransactionsItem(details), + fontFamily = inter, + fontSize = 12.sp, + color = colorScheme.onSurface, + modifier = Modifier.padding(16.dp), + ) + Box( + modifier = + Modifier + .padding(top = 16.dp, end = 16.dp) + .size(24.dp) + .clip(shape = CircleShape) + .background(DayGlowHistoryAccent.copy(alpha = 0.6f)) + .align(Alignment.Top), + ) + } +} + +fun pendingTransactionsItem(txDetails: TxDetails): String { + return buildString { + Log.i(TAG, "Pending transaction list item: $txDetails") + + appendLine("Confirmation time: Pending") + appendLine("Received: ${txDetails.received}") + appendLine("Sent: ${txDetails.sent}") + appendLine("Total fee: ${txDetails.fee} sat") + appendLine("Fee rate: ${txDetails.feeRate?.toSatPerVbCeil() ?: 0} sat/vbyte") + append("Txid: ${txDetails.txid.take(n = 8)}...${txDetails.txid.takeLast(n = 8)}") + } +} + +fun confirmedTransactionsItem(txDetails: TxDetails): String { + return buildString { + Log.i(TAG, "Transaction list item: $txDetails") + + appendLine("Confirmation time: ${txDetails.confirmationTimestamp?.timestamp?.timestampToString()}") + appendLine("Received: ${txDetails.received} sat") + appendLine("Sent: ${txDetails.sent} sat") + appendLine("Total fee: ${txDetails.fee} sat") + appendLine("Fee rate: ${txDetails.feeRate?.toSatPerVbCeil() ?: 0} sat/vbyte") + appendLine("Block: ${txDetails.confirmationBlock?.height}") + append("Txid: ${txDetails.txid.take(n = 8)}...${txDetails.txid.takeLast(n = 8)}") + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/WalletOptionsCard.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/WalletOptionsCard.kt new file mode 100644 index 0000000..b5d5c41 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/components/WalletOptionsCard.kt @@ -0,0 +1,140 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.components + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.MutableState +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import org.bitcoindevkit.Network +import org.bitcoindevkit.devkitwallet.data.datastore.ActiveWalletScriptType +import org.bitcoindevkit.devkitwallet.domain.supportedNetworks +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro.displayString + +@Composable +fun WalletOptionsCard( + scriptTypes: List, + selectedNetwork: MutableState, + selectedScriptType: MutableState, +) { + val colorScheme = MaterialTheme.colorScheme + Column( + Modifier + .fillMaxWidth() + .background( + color = colorScheme.surfaceVariant, + shape = RoundedCornerShape(16.dp), + ), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.Start, + ) { + Text( + text = "Network", + fontFamily = inter, + fontSize = 14.sp, + color = colorScheme.onSurface, + modifier = + Modifier + .align(Alignment.CenterHorizontally) + .padding(top = 8.dp, bottom = 8.dp), + ) + + HorizontalDivider( + color = colorScheme.outline.copy(alpha = 0.15f), + thickness = 1.dp, + modifier = Modifier.padding(bottom = 8.dp), + ) + + supportedNetworks.forEachIndexed { index, it -> + RadioButtonWithLabel( + label = it.displayString(), + isSelected = selectedNetwork.value == it, + onSelect = { selectedNetwork.value = it }, + ) + if (index == 2) Spacer(modifier = Modifier.padding(bottom = 8.dp)) + } + + Text( + text = "Script Type", + fontFamily = inter, + fontSize = 14.sp, + color = colorScheme.onSurface, + modifier = + Modifier + .align(Alignment.CenterHorizontally) + .padding(top = 16.dp, bottom = 8.dp), + ) + + HorizontalDivider( + color = colorScheme.outline.copy(alpha = 0.15f), + thickness = 1.dp, + modifier = Modifier.padding(bottom = 8.dp), + ) + + scriptTypes.forEachIndexed { index, it -> + RadioButtonWithLabel( + label = it.displayString(), + isSelected = selectedScriptType.value == it, + onSelect = { selectedScriptType.value = it }, + ) + if (index == 1) Spacer(modifier = Modifier.padding(bottom = 8.dp)) + } + } +} + +@Composable +fun NetworkOptionsCard(selectedNetwork: MutableState) { + val colorScheme = MaterialTheme.colorScheme + Column( + Modifier + .fillMaxWidth() + .background( + color = colorScheme.surfaceVariant, + shape = RoundedCornerShape(16.dp), + ), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.Start, + ) { + Text( + text = "Network", + fontFamily = inter, + fontSize = 14.sp, + color = colorScheme.onSurface, + modifier = + Modifier + .align(Alignment.CenterHorizontally) + .padding(top = 8.dp, bottom = 8.dp), + ) + + HorizontalDivider( + color = colorScheme.outline.copy(alpha = 0.15f), + thickness = 1.dp, + modifier = Modifier.padding(bottom = 8.dp), + ) + + supportedNetworks.forEachIndexed { index, it -> + RadioButtonWithLabel( + label = it.displayString(), + isSelected = selectedNetwork.value == it, + onSelect = { selectedNetwork.value = it }, + ) + if (index == 2) Spacer(modifier = Modifier.padding(bottom = 8.dp)) + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/ActiveWalletsScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/ActiveWalletsScreen.kt new file mode 100644 index 0000000..ff638d3 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/ActiveWalletsScreen.kt @@ -0,0 +1,129 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro + +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedCard +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import com.composables.icons.lucide.ChevronRight +import com.composables.icons.lucide.Lucide +import org.bitcoindevkit.devkitwallet.data.datastore.StoredWallet +import org.bitcoindevkit.devkitwallet.domain.DwLogger +import org.bitcoindevkit.devkitwallet.domain.DwLogger.LogLevel.INFO +import org.bitcoindevkit.devkitwallet.presentation.WalletCreateType +import org.bitcoindevkit.devkitwallet.presentation.theme.NightGlowSubtle +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +private const val TAG = "ActiveWalletsScreen" + +@Composable +internal fun ActiveWalletsScreen( + activeWallets: List, + navController: NavController, + onBuildWalletButtonClicked: (WalletCreateType) -> Unit, +) { + val colorScheme = MaterialTheme.colorScheme + + Scaffold( + topBar = { + SecondaryScreensAppBar(title = "Choose a Wallet", navigation = { navController.navigateUp() }) + }, + ) { paddingValues -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(paddingValues) + .padding(horizontal = 24.dp, vertical = 16.dp), + verticalArrangement = Arrangement.spacedBy(10.dp), + ) { + if (activeWallets.isEmpty()) { + Text( + text = "No active wallets.", + fontFamily = inter, + fontSize = 14.sp, + color = NightGlowSubtle, + ) + } else { + activeWallets.forEach { wallet -> + OutlinedCard( + onClick = { + DwLogger.log(INFO, "Activating existing wallet: ${wallet.name}") + onBuildWalletButtonClicked(WalletCreateType.LOADEXISTING(wallet)) + }, + shape = RoundedCornerShape(20.dp), + border = BorderStroke(1.5.dp, colorScheme.outline.copy(alpha = 0.12f)), + colors = CardDefaults.outlinedCardColors(containerColor = Color.Transparent), + ) { + Row( + modifier = Modifier + .fillMaxWidth() + .padding(20.dp), + verticalAlignment = Alignment.CenterVertically, + ) { + Column(modifier = Modifier.weight(1f)) { + Text( + text = wallet.name, + fontFamily = inter, + fontSize = 15.sp, + fontWeight = FontWeight.Medium, + color = colorScheme.onSurface, + ) + Row( + horizontalArrangement = Arrangement.spacedBy(8.dp), + modifier = Modifier.padding(top = 4.dp), + ) { + WalletChip(text = wallet.network.name) + WalletChip(text = wallet.scriptType.name) + } + } + Icon( + imageVector = Lucide.ChevronRight, + contentDescription = "Open", + tint = colorScheme.outlineVariant, + modifier = Modifier.size(18.dp), + ) + } + } + } + } + } + } +} + +@Composable +private fun WalletChip(text: String) { + val colorScheme = MaterialTheme.colorScheme + Text( + text = text, + fontFamily = inter, + fontSize = 11.sp, + fontWeight = FontWeight.Medium, + color = colorScheme.onSurfaceVariant, + modifier = Modifier + .padding(0.dp), + ) +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/CreateNewWallet.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/CreateNewWallet.kt new file mode 100644 index 0000000..3da5792 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/CreateNewWallet.kt @@ -0,0 +1,247 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro + +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.selection.selectable +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.OutlinedTextFieldDefaults +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import org.bitcoindevkit.Network +import org.bitcoindevkit.devkitwallet.data.NewWalletConfig +import org.bitcoindevkit.devkitwallet.data.datastore.ActiveWalletScriptType +import org.bitcoindevkit.devkitwallet.domain.DwLogger +import org.bitcoindevkit.devkitwallet.domain.DwLogger.LogLevel.INFO +import org.bitcoindevkit.devkitwallet.domain.supportedNetworks +import org.bitcoindevkit.devkitwallet.presentation.WalletCreateType +import org.bitcoindevkit.devkitwallet.presentation.theme.NightGlowSubtle +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +@Composable +internal fun CreateNewWalletScreen( + navController: NavController, + onBuildWalletButtonClicked: (WalletCreateType) -> Unit, +) { + val colorScheme = MaterialTheme.colorScheme + + val walletName = remember { mutableStateOf("") } + val selectedNetwork: MutableState = remember { mutableStateOf(Network.SIGNET) } + val selectedScriptType: MutableState = + remember { mutableStateOf(ActiveWalletScriptType.P2TR) } + val scriptTypes = listOf(ActiveWalletScriptType.P2TR, ActiveWalletScriptType.P2WPKH) + + Scaffold( + topBar = { + SecondaryScreensAppBar(title = "Create a New Wallet", navigation = { navController.navigateUp() }) + }, + ) { paddingValues -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(paddingValues) + .padding(horizontal = 24.dp), + ) { + Spacer(Modifier.height(20.dp)) + + // Wallet name + FormLabel("Wallet Name") + OutlinedTextField( + modifier = Modifier.fillMaxWidth(), + value = walletName.value, + onValueChange = { walletName.value = it }, + placeholder = { + Text( + text = "Give your wallet a name", + color = colorScheme.outlineVariant, + fontFamily = inter, + fontSize = 15.sp, + ) + }, + singleLine = true, + textStyle = TextStyle(fontFamily = inter, color = colorScheme.onSurface, fontSize = 15.sp), + colors = OutlinedTextFieldDefaults.colors( + cursorColor = colorScheme.primary, + focusedBorderColor = colorScheme.primary.copy(alpha = 0.40f), + unfocusedBorderColor = colorScheme.outline.copy(alpha = 0.15f), + ), + shape = RoundedCornerShape(16.dp), + ) + + Spacer(Modifier.height(24.dp)) + + // Network + FormLabel("Network") + OptionGroup { + supportedNetworks.forEach { network -> + ThemedRadioOption( + label = network.displayString(), + isSelected = selectedNetwork.value == network, + onSelect = { selectedNetwork.value = network }, + ) + } + } + + Spacer(Modifier.height(24.dp)) + + // Script Type + FormLabel("Script Type") + OptionGroup { + scriptTypes.forEach { scriptType -> + ThemedRadioOption( + label = scriptType.displayString(), + isSelected = selectedScriptType.value == scriptType, + onSelect = { selectedScriptType.value = scriptType }, + ) + } + } + + Spacer(Modifier.weight(1f)) + + // Create button + Button( + onClick = { + val newWalletConfig = NewWalletConfig( + name = walletName.value, + network = selectedNetwork.value, + scriptType = selectedScriptType.value, + ) + DwLogger.log(INFO, "Creating new wallet named ${newWalletConfig.name}") + onBuildWalletButtonClicked(WalletCreateType.FROMSCRATCH(newWalletConfig)) + }, + modifier = Modifier + .fillMaxWidth() + .height(56.dp), + shape = RoundedCornerShape(20.dp), + colors = ButtonDefaults.buttonColors( + containerColor = colorScheme.tertiary, + contentColor = colorScheme.onTertiary, + ), + ) { + Text( + text = "Create Wallet", + fontFamily = inter, + fontSize = 15.sp, + fontWeight = FontWeight.SemiBold, + ) + } + Spacer(Modifier.height(40.dp)) + } + } +} + +@Composable +internal fun FormLabel(text: String) { + Text( + text = text.uppercase(), + fontFamily = inter, + fontSize = 12.sp, + fontWeight = FontWeight.Medium, + color = NightGlowSubtle, + letterSpacing = 1.5.sp, + modifier = Modifier.padding(bottom = 10.dp), + ) +} + +@Composable +internal fun OptionGroup(content: @Composable () -> Unit) { + val colorScheme = MaterialTheme.colorScheme + Column( + modifier = Modifier + .fillMaxWidth() + .border( + width = 1.5.dp, + color = colorScheme.outline.copy(alpha = 0.10f), + shape = RoundedCornerShape(20.dp), + ).padding(8.dp), + ) { + content() + } +} + +@Composable +internal fun ThemedRadioOption(label: String, isSelected: Boolean, onSelect: () -> Unit) { + val colorScheme = MaterialTheme.colorScheme + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(10.dp), + modifier = Modifier + .fillMaxWidth() + .selectable(selected = isSelected, onClick = onSelect) + .padding(horizontal = 16.dp, vertical = 12.dp), + ) { + Box( + modifier = Modifier + .size(22.dp) + .border( + width = 2.dp, + color = if (isSelected) colorScheme.tertiary else colorScheme.outlineVariant, + shape = CircleShape, + ), + contentAlignment = Alignment.Center, + ) { + if (isSelected) { + Box( + modifier = Modifier + .size(10.dp) + .background(colorScheme.tertiary, CircleShape), + ) + } + } + Text( + text = label, + fontFamily = inter, + fontSize = 14.sp, + color = colorScheme.onSurface, + ) + } +} + +fun ActiveWalletScriptType.displayString(): String { + return when (this) { + ActiveWalletScriptType.P2TR -> "P2TR (Taproot, BIP-86)" + ActiveWalletScriptType.P2WPKH -> "P2WPKH (Native Segwit, BIP-84)" + ActiveWalletScriptType.UNKNOWN -> TODO() + } +} + +fun Network.displayString(): String { + return when (this) { + Network.TESTNET -> "Testnet 3" + Network.TESTNET4 -> "Testnet 4" + Network.REGTEST -> "Regtest" + Network.SIGNET -> "Signet" + Network.BITCOIN -> TODO() + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/OnboardingScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/OnboardingScreen.kt new file mode 100644 index 0000000..e960236 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/OnboardingScreen.kt @@ -0,0 +1,207 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro + +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.pager.HorizontalPager +import androidx.compose.foundation.pager.rememberPagerState +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import kotlinx.coroutines.launch +import org.bitcoindevkit.devkitwallet.R +import org.bitcoindevkit.devkitwallet.presentation.theme.inter + +private val surface = Color(0xFF1C1B1F) +private val onSurface = Color(0xFFE6E1E5) +private val subtle = Color(0xFF79747E) +private val accent = Color(0xFFF2D2B6) + +@Composable +fun OnboardingScreen(onFinishOnboarding: () -> Unit) { + val pagerState = rememberPagerState(initialPage = 1, pageCount = { 4 }) + val coroutineScope = rememberCoroutineScope() + + @Suppress("ktlint:standard:max-line-length") + val messages = listOf( + "Easter egg #1: \uD83E\uDD5A", + "Welcome to the Devkit Wallet! This app is a playground for developers and bitcoin enthusiasts to experiment with bitcoin's test networks.", + "It is developed with the Bitcoin Dev Kit, a powerful set of libraries produced and maintained by the Bitcoin Dev Kit Foundation.\n\nThis version of the app is using Compact Block Filters to sync its wallets.", + "The Foundation maintains this app as a way to showcase the capabilities of the Bitcoin Dev Kit and to provide a starting point for developers to build their own apps.\n\nIt is not a production application, and only works for testnet3, testnet4, signet, and regtest. Have fun!" + ) + + Column( + modifier = Modifier + .fillMaxSize() + .background(surface) + .padding(horizontal = 32.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Spacer(Modifier.height(120.dp)) + + // Logo + Box( + modifier = Modifier + .size(100.dp) + .border( + width = 2.dp, + color = accent.copy(alpha = 0.20f), + shape = CircleShape, + ), + contentAlignment = Alignment.Center, + ) { + Image( + painter = painterResource(id = R.drawable.bdk_logo), + contentDescription = "Bitcoin Dev Kit logo", + modifier = Modifier.size(56.dp), + ) + } + + Spacer(Modifier.height(16.dp)) + + Text( + text = "Devkit Wallet", + fontFamily = inter, + fontSize = 24.sp, + fontWeight = FontWeight.Light, + color = onSurface, + ) + Text( + text = "BITCOIN DEVELOPMENT KIT", + fontFamily = inter, + fontSize = 11.sp, + color = subtle, + letterSpacing = 1.5.sp, + ) + + Spacer(Modifier.height(48.dp)) + + // Pager + HorizontalPager( + state = pagerState, + modifier = Modifier + .fillMaxWidth() + .weight(1f), + ) { page -> + Text( + text = messages[page], + fontFamily = inter, + fontSize = 15.sp, + lineHeight = 24.sp, + color = onSurface.copy(alpha = 0.85f), + textAlign = TextAlign.Center, + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 8.dp), + ) + } + + // Page indicators + Row( + horizontalArrangement = Arrangement.Center, + modifier = Modifier.padding(bottom = 32.dp), + ) { + repeat(3) { index -> + val isSelected = pagerState.currentPage == index + 1 + Box( + modifier = Modifier + .padding(horizontal = 6.dp) + .size(if (isSelected) 10.dp else 8.dp) + .clip(CircleShape) + .background( + if (isSelected) accent else accent.copy(alpha = 0.25f) + ), + ) + } + } + + // Navigation buttons + Row( + modifier = Modifier + .fillMaxWidth() + .padding(bottom = 40.dp), + horizontalArrangement = Arrangement.SpaceBetween, + ) { + Text( + text = "Previous", + fontFamily = inter, + fontSize = 14.sp, + fontWeight = FontWeight.Medium, + color = subtle, + modifier = Modifier + .clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() }, + ) { + coroutineScope.launch { + pagerState.animateScrollToPage((pagerState.currentPage - 1).coerceIn(0, 3)) + } + }.border( + width = 1.5.dp, + color = subtle.copy(alpha = 0.20f), + shape = RoundedCornerShape(12.dp), + ).padding(horizontal = 20.dp, vertical = 10.dp), + ) + Text( + text = if (pagerState.currentPage < 3) "Next" else "Get Started", + fontFamily = inter, + fontSize = 14.sp, + fontWeight = FontWeight.Medium, + color = if (pagerState.currentPage < 3) onSurface else surface, + modifier = Modifier + .clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() }, + ) { + if (pagerState.currentPage < 3) { + coroutineScope.launch { + pagerState.animateScrollToPage((pagerState.currentPage + 1).coerceIn(0, 3)) + } + } else { + onFinishOnboarding() + } + }.then( + if (pagerState.currentPage < 3) { + Modifier.border( + width = 1.5.dp, + color = accent.copy(alpha = 0.30f), + shape = RoundedCornerShape(12.dp), + ) + } else { + Modifier + .background(accent, RoundedCornerShape(12.dp)) + } + ).padding(horizontal = 20.dp, vertical = 10.dp), + ) + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/RecoverWalletScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/RecoverWalletScreen.kt new file mode 100644 index 0000000..14e20ff --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/RecoverWalletScreen.kt @@ -0,0 +1,404 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro + +import android.util.Log +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.selection.selectable +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.OutlinedTextFieldDefaults +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import kotlinx.coroutines.launch +import org.bitcoindevkit.Descriptor +import org.bitcoindevkit.DescriptorSecretKey +import org.bitcoindevkit.KeychainKind +import org.bitcoindevkit.Mnemonic +import org.bitcoindevkit.Network +import org.bitcoindevkit.NetworkKind +import org.bitcoindevkit.devkitwallet.data.RecoverWalletConfig +import org.bitcoindevkit.devkitwallet.data.datastore.ActiveWalletScriptType +import org.bitcoindevkit.devkitwallet.domain.DwLogger +import org.bitcoindevkit.devkitwallet.domain.DwLogger.LogLevel.INFO +import org.bitcoindevkit.devkitwallet.domain.bip39WordList +import org.bitcoindevkit.devkitwallet.domain.createScriptAppropriateDescriptor +import org.bitcoindevkit.devkitwallet.domain.supportedNetworks +import org.bitcoindevkit.devkitwallet.presentation.WalletCreateType +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +@Composable +internal fun RecoverWalletScreen(onAction: (WalletCreateType) -> Unit, navController: NavController) { + val colorScheme = MaterialTheme.colorScheme + val scope = rememberCoroutineScope() + val snackbarHostState = remember { SnackbarHostState() } + + var selectedTab by remember { mutableStateOf(0) } + val tabs = listOf("Recovery Phrase", "Descriptor") + + var walletName by remember { mutableStateOf("") } + val selectedNetwork: MutableState = remember { mutableStateOf(Network.SIGNET) } + val selectedScriptType: MutableState = + remember { mutableStateOf(ActiveWalletScriptType.P2TR) } + val scriptTypes = listOf(ActiveWalletScriptType.P2TR, ActiveWalletScriptType.P2WPKH) + + var recoveryPhrase by remember { mutableStateOf("") } + var descriptorString by remember { mutableStateOf("") } + var changeDescriptorString by remember { mutableStateOf("") } + + Scaffold( + topBar = { + SecondaryScreensAppBar(title = "Recover a Wallet", navigation = { navController.navigateUp() }) + }, + snackbarHost = { + SnackbarHost(hostState = snackbarHostState) + }, + ) { paddingValues -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(paddingValues) + .padding(horizontal = 24.dp) + .verticalScroll(rememberScrollState()), + ) { + Spacer(Modifier.height(20.dp)) + + // Tab selector + FormLabel("Recovery Method") + Row( + modifier = Modifier + .fillMaxWidth() + .border( + width = 1.5.dp, + color = colorScheme.outline.copy(alpha = 0.10f), + shape = RoundedCornerShape(20.dp), + ).padding(4.dp), + horizontalArrangement = Arrangement.spacedBy(0.dp), + ) { + tabs.forEachIndexed { index, label -> + val isSelected = selectedTab == index + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.Center, + modifier = Modifier + .weight(1f) + .selectable(selected = isSelected, onClick = { selectedTab = index }) + .then( + if (isSelected) { + Modifier.border( + width = 1.5.dp, + color = colorScheme.primary.copy(alpha = 0.30f), + shape = RoundedCornerShape(16.dp), + ) + } else { + Modifier + } + ).padding(horizontal = 16.dp, vertical = 12.dp), + ) { + Text( + text = label, + fontFamily = inter, + fontSize = 13.sp, + fontWeight = if (isSelected) FontWeight.Medium else FontWeight.Normal, + color = if (isSelected) colorScheme.primary else colorScheme.onSurfaceVariant, + ) + } + } + } + + Spacer(Modifier.height(24.dp)) + + // Wallet name (always shown) + FormLabel("Wallet Name") + OutlinedTextField( + modifier = Modifier.fillMaxWidth(), + value = walletName, + onValueChange = { walletName = it }, + placeholder = { + Text( + text = "Give your wallet a name", + color = colorScheme.outlineVariant, + fontFamily = inter, + fontSize = 15.sp, + ) + }, + singleLine = true, + textStyle = TextStyle(fontFamily = inter, color = colorScheme.onSurface, fontSize = 15.sp), + colors = OutlinedTextFieldDefaults.colors( + cursorColor = colorScheme.primary, + focusedBorderColor = colorScheme.primary.copy(alpha = 0.40f), + unfocusedBorderColor = colorScheme.outline.copy(alpha = 0.15f), + ), + shape = RoundedCornerShape(16.dp), + ) + + Spacer(Modifier.height(24.dp)) + + if (selectedTab == 0) { + // Recovery Phrase tab + // Network + FormLabel("Network") + OptionGroup { + supportedNetworks.forEach { network -> + ThemedRadioOption( + label = network.displayString(), + isSelected = selectedNetwork.value == network, + onSelect = { selectedNetwork.value = network }, + ) + } + } + + Spacer(Modifier.height(24.dp)) + + // Script Type + FormLabel("Script Type") + OptionGroup { + scriptTypes.forEach { scriptType -> + ThemedRadioOption( + label = scriptType.displayString(), + isSelected = selectedScriptType.value == scriptType, + onSelect = { selectedScriptType.value = scriptType }, + ) + } + } + + Spacer(Modifier.height(24.dp)) + + // Recovery phrase input + FormLabel("Recovery Phrase") + OutlinedTextField( + modifier = Modifier.fillMaxWidth(), + value = recoveryPhrase, + onValueChange = { recoveryPhrase = it }, + placeholder = { + Text( + text = "Enter your 12-word recovery phrase", + color = colorScheme.outlineVariant, + fontFamily = inter, + fontSize = 15.sp, + ) + }, + singleLine = false, + minLines = 3, + textStyle = TextStyle(fontFamily = inter, color = colorScheme.onSurface, fontSize = 14.sp), + colors = OutlinedTextFieldDefaults.colors( + cursorColor = colorScheme.primary, + focusedBorderColor = colorScheme.primary.copy(alpha = 0.40f), + unfocusedBorderColor = colorScheme.outline.copy(alpha = 0.15f), + ), + shape = RoundedCornerShape(16.dp), + ) + } else { + // Descriptor tab + // Network + FormLabel("Network") + OptionGroup { + supportedNetworks.forEach { network -> + ThemedRadioOption( + label = network.displayString(), + isSelected = selectedNetwork.value == network, + onSelect = { selectedNetwork.value = network }, + ) + } + } + + Spacer(Modifier.height(24.dp)) + + // Descriptor input + FormLabel("Descriptor") + OutlinedTextField( + modifier = Modifier.fillMaxWidth(), + value = descriptorString, + onValueChange = { descriptorString = it }, + placeholder = { + Text( + text = "Input your descriptor here", + color = colorScheme.outlineVariant, + fontFamily = inter, + fontSize = 15.sp, + ) + }, + singleLine = false, + minLines = 4, + textStyle = TextStyle(fontFamily = inter, color = colorScheme.onSurface, fontSize = 13.sp), + colors = OutlinedTextFieldDefaults.colors( + cursorColor = colorScheme.primary, + focusedBorderColor = colorScheme.primary.copy(alpha = 0.40f), + unfocusedBorderColor = colorScheme.outline.copy(alpha = 0.15f), + ), + shape = RoundedCornerShape(16.dp), + ) + + Spacer(Modifier.height(16.dp)) + + // Change descriptor input + FormLabel("Change Descriptor") + OutlinedTextField( + modifier = Modifier.fillMaxWidth(), + value = changeDescriptorString, + onValueChange = { changeDescriptorString = it }, + placeholder = { + Text( + text = "Input your change descriptor here", + color = colorScheme.outlineVariant, + fontFamily = inter, + fontSize = 15.sp, + ) + }, + singleLine = false, + minLines = 4, + textStyle = TextStyle(fontFamily = inter, color = colorScheme.onSurface, fontSize = 13.sp), + colors = OutlinedTextFieldDefaults.colors( + cursorColor = colorScheme.primary, + focusedBorderColor = colorScheme.primary.copy(alpha = 0.40f), + unfocusedBorderColor = colorScheme.outline.copy(alpha = 0.15f), + ), + shape = RoundedCornerShape(16.dp), + ) + } + + Spacer(Modifier.weight(1f)) + + // Recover button + Button( + onClick = { + if (selectedTab == 0) { + // Recovery phrase flow + if (recoveryPhrase.isEmpty()) { + scope.launch { + snackbarHostState.showSnackbar( + "You must provide a recovery phrase to recover a wallet.", + ) + } + return@Button + } + Log.i("RecoverWalletScreen", "Recovering wallet with recovery phrase") + val parsingResult = parseRecoveryPhrase(recoveryPhrase) + + if (parsingResult is RecoveryPhraseValidationResult.Invalid) { + scope.launch { + snackbarHostState.showSnackbar(parsingResult.reason) + } + } else if (parsingResult is RecoveryPhraseValidationResult.ProbablyValid) { + val mnemonic = Mnemonic.fromString(parsingResult.recoveryPhrase) + val bip32ExtendedRootKey = DescriptorSecretKey(NetworkKind.TEST, mnemonic, null) + val descriptor = + createScriptAppropriateDescriptor( + scriptType = selectedScriptType.value, + bip32ExtendedRootKey = bip32ExtendedRootKey, + keychain = KeychainKind.EXTERNAL, + ) + val changeDescriptor = + createScriptAppropriateDescriptor( + scriptType = selectedScriptType.value, + bip32ExtendedRootKey = bip32ExtendedRootKey, + keychain = KeychainKind.INTERNAL, + ) + val recoverWalletConfig = + RecoverWalletConfig( + name = walletName, + network = selectedNetwork.value, + scriptType = selectedScriptType.value, + descriptor = descriptor, + changeDescriptor = changeDescriptor, + recoveryPhrase = parsingResult.recoveryPhrase, + ) + DwLogger.log(INFO, "Recovering wallet with recovery phrase (name: $walletName)") + onAction(WalletCreateType.RECOVER(recoverWalletConfig)) + } + } else { + // Descriptor flow + if (descriptorString.isEmpty() || changeDescriptorString.isEmpty()) { + scope.launch { + snackbarHostState.showSnackbar( + "You must provide both a descriptor and a change descriptor.", + ) + } + return@Button + } + Log.i("RecoverWalletScreen", "Recovering wallet with descriptors") + val descriptor = Descriptor(descriptorString, NetworkKind.TEST) + val changeDescriptor = Descriptor(changeDescriptorString, NetworkKind.TEST) + val recoverWalletConfig = + RecoverWalletConfig( + name = walletName, + network = selectedNetwork.value, + scriptType = null, + descriptor = descriptor, + changeDescriptor = changeDescriptor, + recoveryPhrase = null, + ) + DwLogger.log(INFO, "Recovering wallet with descriptors (name: $walletName)") + onAction(WalletCreateType.RECOVER(recoverWalletConfig)) + } + }, + modifier = Modifier + .fillMaxWidth() + .height(56.dp), + shape = RoundedCornerShape(20.dp), + colors = ButtonDefaults.buttonColors( + containerColor = colorScheme.primary, + contentColor = colorScheme.onPrimary, + ), + ) { + Text( + text = "Recover Wallet", + fontFamily = inter, + fontSize = 15.sp, + fontWeight = FontWeight.SemiBold, + ) + } + Spacer(Modifier.height(40.dp)) + } + } +} + +private fun parseRecoveryPhrase(recoveryPhrase: String): RecoveryPhraseValidationResult { + val words = recoveryPhrase.trim().split(" ") + if (words.size != 12) { + return RecoveryPhraseValidationResult.Invalid("Recovery phrase must have 12 words") + } + if (words.any { it !in bip39WordList }) { + return RecoveryPhraseValidationResult.Invalid("Invalid word in recovery phrase") + } + return RecoveryPhraseValidationResult.ProbablyValid(recoveryPhrase) +} + +sealed class RecoveryPhraseValidationResult { + data class ProbablyValid(val recoveryPhrase: String) : RecoveryPhraseValidationResult() + + data class Invalid(val reason: String) : RecoveryPhraseValidationResult() +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/WalletChoiceScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/WalletChoiceScreen.kt new file mode 100644 index 0000000..84749ce --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/intro/WalletChoiceScreen.kt @@ -0,0 +1,187 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.intro + +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedCard +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import com.composables.icons.lucide.List +import com.composables.icons.lucide.Lucide +import com.composables.icons.lucide.Plus +import com.composables.icons.lucide.RotateCcw +import org.bitcoindevkit.devkitwallet.presentation.navigation.ActiveWalletsScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.CreateNewWalletScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.WalletRecoveryScreen +import org.bitcoindevkit.devkitwallet.presentation.theme.NightGlowSubtle +import org.bitcoindevkit.devkitwallet.presentation.theme.inter + +@Composable +internal fun WalletChoiceScreen(navController: NavController) { + val colorScheme = MaterialTheme.colorScheme + + Scaffold { paddingValues -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(paddingValues), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center, + ) { + // Logo area + Box( + modifier = Modifier + .size(72.dp) + .border( + width = 2.dp, + color = colorScheme.primary.copy(alpha = 0.20f), + shape = CircleShape, + ), + contentAlignment = Alignment.Center, + ) { + Text( + text = "\u20BF", + color = colorScheme.primary, + fontSize = 32.sp, + fontWeight = FontWeight.Bold, + ) + } + + Spacer(Modifier.height(20.dp)) + + Text( + text = "Devkit Wallet", + fontFamily = inter, + fontSize = 28.sp, + fontWeight = FontWeight.Light, + color = colorScheme.onSurface, + ) + Text( + text = "BITCOIN DEVELOPMENT KIT", + fontSize = 13.sp, + color = NightGlowSubtle, + letterSpacing = 1.sp, + ) + + Spacer(Modifier.height(64.dp)) + + // Buttons + Column( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 48.dp), + verticalArrangement = Arrangement.spacedBy(12.dp), + ) { + WelcomeButton( + icon = Lucide.List, + iconTint = colorScheme.primary, + title = "Use an Active Wallet", + description = "Open an existing wallet on this device", + borderColor = colorScheme.outline.copy(alpha = 0.15f), + onClick = { navController.navigate(ActiveWalletsScreen) }, + ) + WelcomeButton( + icon = Lucide.Plus, + iconTint = colorScheme.tertiary, + title = "Create a New Wallet", + description = "Generate fresh keys and start from scratch", + borderColor = colorScheme.outline.copy(alpha = 0.15f), + onClick = { navController.navigate(CreateNewWalletScreen) }, + ) + WelcomeButton( + icon = Lucide.RotateCcw, + iconTint = colorScheme.secondary, + title = "Recover an Existing Wallet", + description = "Import from descriptor or recovery phrase", + borderColor = colorScheme.outline.copy(alpha = 0.15f), + onClick = { navController.navigate(WalletRecoveryScreen) }, + ) + } + } + } +} + +@Composable +private fun WelcomeButton( + icon: androidx.compose.ui.graphics.vector.ImageVector, + iconTint: Color, + title: String, + description: String, + borderColor: Color, + onClick: () -> Unit, +) { + OutlinedCard( + onClick = onClick, + shape = RoundedCornerShape(20.dp), + border = BorderStroke(1.5.dp, borderColor), + colors = CardDefaults.outlinedCardColors(containerColor = Color.Transparent), + ) { + Row( + modifier = Modifier + .fillMaxWidth() + .padding(20.dp), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(16.dp), + ) { + Box( + modifier = Modifier + .size(44.dp) + .border( + width = 1.dp, + color = iconTint.copy(alpha = 0.15f), + shape = RoundedCornerShape(14.dp), + ), + contentAlignment = Alignment.Center, + ) { + Icon( + imageVector = icon, + contentDescription = null, + tint = iconTint, + modifier = Modifier.size(22.dp), + ) + } + Column { + Text( + text = title, + fontFamily = inter, + fontSize = 15.sp, + fontWeight = FontWeight.Medium, + color = MaterialTheme.colorScheme.onSurface, + ) + Text( + text = description, + fontFamily = inter, + fontSize = 12.sp, + color = NightGlowSubtle, + ) + } + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/AboutScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/AboutScreen.kt new file mode 100644 index 0000000..e14c22f --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/AboutScreen.kt @@ -0,0 +1,115 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings + +import androidx.compose.foundation.Image +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalUriHandler +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.style.TextDecoration +import androidx.compose.ui.tooling.preview.Devices +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import androidx.navigation.compose.rememberNavController +import org.bitcoindevkit.devkitwallet.R +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +private val message: String = + """ + This wallet is build for: + + 1. Developers interested in learning how to leverage the Bitcoin Development Kit on Android. + + 2. Any bitcoiner looking for a Signet/Testnet/Regtest wallet! + """.trimIndent() + +@Composable +internal fun AboutScreen(navController: NavController) { + val colorScheme = MaterialTheme.colorScheme + val mUriHandler = LocalUriHandler.current + val openSourceRepository = + remember { { mUriHandler.openUri("https://github.com/bitcoindevkit/bdk-kotlin-example-wallet") } } + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "About", + navigation = { navController.popBackStack() }, + ) + }, + containerColor = colorScheme.surface, + ) { paddingValues -> + Column( + modifier = + Modifier + .fillMaxSize() + .padding(paddingValues) + .padding(start = 16.dp, end = 16.dp, top = 16.dp, bottom = 100.dp), + verticalArrangement = Arrangement.Top, + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Spacer(modifier = Modifier.padding(24.dp)) + Image( + painter = painterResource(id = R.drawable.bdk_logo), + contentDescription = "Old School BDK Logo", + Modifier.size(180.dp), + ) + Spacer(modifier = Modifier.padding(24.dp)) + Text( + text = message, + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 16.sp, + lineHeight = 26.sp, + modifier = Modifier.padding(all = 8.dp), + ) + Spacer(modifier = Modifier.padding(8.dp)) + Text( + text = "You are using the Compact Block Filters (CBF) version of the wallet.", + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 16.sp, + lineHeight = 26.sp, + modifier = Modifier.padding(all = 8.dp), + ) + Spacer(modifier = Modifier.padding(8.dp)) + Text( + text = "Check out the source code for the wallet on GitHub.", + color = colorScheme.primary, + fontFamily = inter, + fontSize = 16.sp, + textDecoration = TextDecoration.Underline, + lineHeight = 26.sp, + modifier = + Modifier + .padding(all = 8.dp) + .clickable(onClick = openSourceRepository), + ) + } + } +} + +@Preview(device = Devices.PIXEL_4, showBackground = true) +@Composable +internal fun PreviewAboutScreen() { + AboutScreen(rememberNavController()) +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/BlockchainClientScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/BlockchainClientScreen.kt new file mode 100644 index 0000000..7b4e1e6 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/BlockchainClientScreen.kt @@ -0,0 +1,128 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.NeutralButton +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.CbfNodeStatus +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.WalletScreenAction +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.WalletScreenState + +@Composable +internal fun BlockchainClientScreen( + state: WalletScreenState, + onAction: (WalletScreenAction) -> Unit, + navController: NavController, +) { + val colorScheme = MaterialTheme.colorScheme + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "Compact Block Filters Node", + navigation = { navController.popBackStack() }, + ) + }, + containerColor = colorScheme.surface, + ) { paddingValues -> + Column( + verticalArrangement = Arrangement.Top, + horizontalAlignment = Alignment.CenterHorizontally, + modifier = + Modifier + .fillMaxSize() + .padding(paddingValues) + .padding(vertical = 32.dp, horizontal = 16.dp), + ) { + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween, + modifier = Modifier.fillMaxWidth(), + ) { + val status = if (state.kyotoNodeStatus == CbfNodeStatus.Running) "Online" else "Offline" + Text( + text = "CBF Node Status: $status", + color = colorScheme.onSurface, + fontSize = 14.sp, + fontFamily = inter, + textAlign = TextAlign.Start, + ) + Box( + modifier = + Modifier + .padding(horizontal = 8.dp) + .size(size = 21.dp) + .clip(shape = CircleShape) + .background( + if (state.kyotoNodeStatus == CbfNodeStatus.Running) { + Color(0xFF8FD998) + } else { + Color(0xFFE76F51) + } + ), + ) + } + + Row( + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween, + modifier = Modifier.fillMaxWidth().padding(top = 16.dp), + ) { + Text( + text = "Latest known block:", + color = colorScheme.onSurface, + fontSize = 14.sp, + fontFamily = inter, + textAlign = TextAlign.Start, + ) + Text( + text = "${state.bestBlockHeight}", + color = colorScheme.onSurface, + fontSize = 14.sp, + fontFamily = inter, + textAlign = TextAlign.Start, + ) + } + + Spacer(modifier = Modifier.padding(16.dp)) + + NeutralButton( + text = "Start Node", + enabled = state.kyotoNodeStatus == CbfNodeStatus.Stopped, + onClick = { onAction(WalletScreenAction.ActivateCbfNode) }, + ) + NeutralButton( + text = "Stop Node", + enabled = state.kyotoNodeStatus == CbfNodeStatus.Running, + onClick = { onAction(WalletScreenAction.StopKyotoNode) }, + ) + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/CustomBlockchainClient.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/CustomBlockchainClient.kt new file mode 100644 index 0000000..7cff349 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/CustomBlockchainClient.kt @@ -0,0 +1,47 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.runtime.Composable +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalFocusManager +import androidx.compose.ui.unit.dp +import androidx.navigation.NavController +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +@Composable +internal fun CustomBlockchainClient(navController: NavController) { + val focusManager = LocalFocusManager.current + val electrumServer: MutableState = remember { mutableStateOf("") } + val isChecked: MutableState = remember { mutableStateOf(false) } + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "Custom Blockchain Client", + navigation = { navController.popBackStack() }, + ) + }, + containerColor = MaterialTheme.colorScheme.surface, + ) { paddingValues -> + Column( + modifier = + Modifier + .fillMaxSize() + .padding(paddingValues) + .padding(all = 16.dp), + ) { + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/LogsScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/LogsScreen.kt new file mode 100644 index 0000000..b1118af --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/LogsScreen.kt @@ -0,0 +1,66 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings + +import androidx.compose.foundation.horizontalScroll +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.foundation.rememberScrollState +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import org.bitcoindevkit.devkitwallet.domain.DwLogger +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +@Composable +fun LogsScreen(navController: NavController) { + val logs: List = remember { DwLogger.getLogs() } + val colorScheme = MaterialTheme.colorScheme + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "Logs", + navigation = { navController.popBackStack() }, + ) + }, + containerColor = colorScheme.surface, + ) { paddingValues -> + LazyColumn( + modifier = + Modifier + .fillMaxSize() + .padding(paddingValues) + .padding(16.dp), + ) { + items(logs) { logLine -> + Text( + text = logLine, + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 14.sp, + maxLines = 1, + overflow = TextOverflow.Visible, + modifier = + Modifier + .fillMaxWidth() + .horizontalScroll(rememberScrollState()), + ) + } + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/RecoveryDataScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/RecoveryDataScreen.kt new file mode 100644 index 0000000..d02b277 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/RecoveryDataScreen.kt @@ -0,0 +1,226 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings + +import android.content.ClipData +import android.content.ClipboardManager +import android.content.Context +import androidx.compose.animation.Crossfade +import androidx.compose.animation.core.tween +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.text.selection.SelectionContainer +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableIntStateOf +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.unit.dp +import androidx.navigation.NavController +import com.composables.icons.lucide.ClipboardCopy +import com.composables.icons.lucide.Lucide +import org.bitcoindevkit.devkitwallet.domain.WalletSecrets +import org.bitcoindevkit.devkitwallet.presentation.theme.googleSansCode +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.NeutralButton +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +private val MESSAGE: String = + """ + The next screen will show your recovery phrase and descriptors. Make sure no one else is looking at your screen. + """.trimIndent() + +@Composable +internal fun RecoveryDataScreen(walletSecrets: WalletSecrets, navController: NavController) { + val (currentIndex, setCurrentIndex) = remember { mutableIntStateOf(0) } + val colorScheme = MaterialTheme.colorScheme + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "Your Wallet Recovery Data", + navigation = { navController.popBackStack() }, + ) + }, + containerColor = colorScheme.surface, + ) { paddingValues -> + Crossfade( + modifier = Modifier.padding(paddingValues), + targetState = currentIndex, + label = "", + animationSpec = + tween( + durationMillis = 1000, + delayMillis = 200, + ), + ) { screen -> + when (screen) { + 0 -> WarningText(setCurrentIndex = setCurrentIndex) + 1 -> RecoveryPhrase(walletSecrets = walletSecrets) + } + } + } +} + +@Composable +fun WarningText(setCurrentIndex: (Int) -> Unit) { + val colorScheme = MaterialTheme.colorScheme + Column( + modifier = + Modifier + .fillMaxSize() + .padding(horizontal = 32.dp, vertical = 16.dp), + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.Center, + ) { + Text( + text = MESSAGE, + color = colorScheme.onSurface, + fontFamily = inter, + ) + Spacer(modifier = Modifier.padding(16.dp)) + NeutralButton( + text = "See my recovery data", + enabled = true, + ) { setCurrentIndex(1) } + } +} + +@Composable +fun RecoveryPhrase(walletSecrets: WalletSecrets) { + val context = LocalContext.current + val colorScheme = MaterialTheme.colorScheme + Column( + modifier = + Modifier + .fillMaxSize() + .padding(all = 32.dp), + ) { + Text( + text = "Write down your recovery phrase and keep it in a safe place.", + color = colorScheme.onSurface, + fontFamily = inter, + ) + Spacer(modifier = Modifier.padding(8.dp)) + Box { + SelectionContainer { + Text( + modifier = + Modifier + .clickable { + simpleCopyClipboard( + walletSecrets.recoveryPhrase, + context, + ) + }.background( + color = colorScheme.surfaceVariant, + shape = RoundedCornerShape(16.dp), + ).padding(12.dp), + text = walletSecrets.recoveryPhrase, + fontFamily = googleSansCode, + color = colorScheme.onSurface, + ) + } + Icon( + Lucide.ClipboardCopy, + tint = colorScheme.onSurface.copy(alpha = 0.5f), + contentDescription = "Copy to clipboard", + modifier = + Modifier + .padding(8.dp) + .size(20.dp) + .align(Alignment.BottomEnd), + ) + } + Spacer(modifier = Modifier.padding(16.dp)) + Text( + text = "These are your descriptors.", + color = colorScheme.onSurface, + fontFamily = inter, + ) + Spacer(modifier = Modifier.padding(8.dp)) + Box { + SelectionContainer { + Text( + modifier = + Modifier + .clickable { + simpleCopyClipboard( + walletSecrets.descriptor.toStringWithSecret(), + context, + ) + }.background( + color = colorScheme.surfaceVariant, + shape = RoundedCornerShape(16.dp), + ).padding(12.dp), + text = walletSecrets.descriptor.toStringWithSecret(), + fontFamily = googleSansCode, + color = colorScheme.onSurface, + ) + } + Icon( + Lucide.ClipboardCopy, + tint = colorScheme.onSurface.copy(alpha = 0.5f), + contentDescription = "Copy to clipboard", + modifier = + Modifier + .padding(8.dp) + .size(20.dp) + .align(Alignment.BottomEnd), + ) + } + Spacer(modifier = Modifier.padding(4.dp)) + Box { + SelectionContainer { + Text( + modifier = + Modifier + .clickable { + simpleCopyClipboard( + walletSecrets.changeDescriptor.toStringWithSecret(), + context, + ) + }.background( + color = colorScheme.surfaceVariant, + shape = RoundedCornerShape(16.dp), + ).padding(12.dp), + text = walletSecrets.changeDescriptor.toStringWithSecret(), + fontFamily = googleSansCode, + color = colorScheme.onSurface, + ) + } + Icon( + Lucide.ClipboardCopy, + tint = colorScheme.onSurface.copy(alpha = 0.5f), + contentDescription = "Copy to clipboard", + modifier = + Modifier + .padding(8.dp) + .size(20.dp) + .align(Alignment.BottomEnd), + ) + } + } +} + +fun simpleCopyClipboard(content: String, context: Context) { + val clipboard: ClipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager + val clip: ClipData = ClipData.newPlainText("", content) + clipboard.setPrimaryClip(clip) +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/SettingsScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/SettingsScreen.kt new file mode 100644 index 0000000..df8fcd7 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/SettingsScreen.kt @@ -0,0 +1,162 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings + +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import com.composables.icons.lucide.Info +import com.composables.icons.lucide.Lucide +import com.composables.icons.lucide.Palette +import com.composables.icons.lucide.ScrollText +import org.bitcoindevkit.devkitwallet.presentation.navigation.AboutScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.LogsScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.ThemeScreen +import org.bitcoindevkit.devkitwallet.presentation.theme.DayGlowHistoryAccent +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +@Composable +internal fun SettingsScreen(navController: NavController) { + val colorScheme = MaterialTheme.colorScheme + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "Settings", + navigation = { navController.popBackStack() }, + ) + }, + containerColor = colorScheme.surface, + ) { paddingValues -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(paddingValues) + .padding(horizontal = 20.dp, vertical = 16.dp), + ) { + Column( + modifier = Modifier + .fillMaxWidth() + .border( + width = 1.5.dp, + color = colorScheme.outline.copy(alpha = 0.10f), + shape = RoundedCornerShape(20.dp), + ).clip(RoundedCornerShape(20.dp)), + ) { + SettingsItem( + icon = Lucide.Info, + iconTint = colorScheme.primary, + title = "About", + description = "Version and project info", + onClick = { navController.navigate(AboutScreen) }, + ) + HorizontalDivider( + thickness = 1.dp, + color = colorScheme.outline.copy(alpha = 0.06f), + ) + SettingsItem( + icon = Lucide.ScrollText, + iconTint = DayGlowHistoryAccent, + title = "Logs", + description = "View application logs", + onClick = { navController.navigate(LogsScreen) }, + ) + HorizontalDivider( + thickness = 1.dp, + color = colorScheme.outline.copy(alpha = 0.06f), + ) + SettingsItem( + icon = Lucide.Palette, + iconTint = colorScheme.tertiary, + title = "Theme", + description = "Appearance and display", + onClick = { navController.navigate(ThemeScreen) }, + ) + } + } + } +} + +@Composable +private fun SettingsItem( + icon: ImageVector, + iconTint: Color, + title: String, + description: String, + onClick: () -> Unit, +) { + val colorScheme = MaterialTheme.colorScheme + + Row( + modifier = Modifier + .fillMaxWidth() + .clickable(onClick = onClick) + .padding(horizontal = 16.dp, vertical = 14.dp), + verticalAlignment = Alignment.CenterVertically, + ) { + Box( + modifier = Modifier + .size(44.dp) + .clip(RoundedCornerShape(14.dp)) + .background(iconTint.copy(alpha = 0.08f)) + .border( + width = 1.dp, + color = iconTint.copy(alpha = 0.12f), + shape = RoundedCornerShape(14.dp), + ), + contentAlignment = Alignment.Center, + ) { + Icon( + imageVector = icon, + contentDescription = title, + tint = iconTint, + modifier = Modifier.size(20.dp), + ) + } + Spacer(modifier = Modifier.width(14.dp)) + Column { + Text( + text = title, + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 15.sp, + ) + Spacer(modifier = Modifier.height(2.dp)) + Text( + text = description, + color = colorScheme.onSurface.copy(alpha = 0.5f), + fontFamily = inter, + fontSize = 12.sp, + ) + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/ThemeScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/ThemeScreen.kt new file mode 100644 index 0000000..1827e3f --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/settings/ThemeScreen.kt @@ -0,0 +1,160 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.settings + +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import com.composables.icons.lucide.Check +import com.composables.icons.lucide.Lucide +import com.composables.icons.lucide.Moon +import com.composables.icons.lucide.Sun +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +@Composable +internal fun ThemeScreen(useDarkTheme: Boolean, onToggleTheme: () -> Unit, navController: NavController) { + val colorScheme = MaterialTheme.colorScheme + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "Theme", + navigation = { navController.popBackStack() }, + ) + }, + containerColor = colorScheme.surface, + ) { paddingValues -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(paddingValues) + .padding(horizontal = 20.dp, vertical = 16.dp), + ) { + Column( + modifier = Modifier + .fillMaxWidth() + .border( + width = 1.5.dp, + color = colorScheme.outline.copy(alpha = 0.10f), + shape = RoundedCornerShape(20.dp), + ).clip(RoundedCornerShape(20.dp)), + ) { + ThemeItem( + icon = Lucide.Sun, + iconTint = colorScheme.primary, + title = "DayGlow", + description = "Light theme", + isSelected = !useDarkTheme, + onClick = { if (useDarkTheme) onToggleTheme() }, + ) + HorizontalDivider( + thickness = 1.dp, + color = colorScheme.outline.copy(alpha = 0.06f), + ) + ThemeItem( + icon = Lucide.Moon, + iconTint = colorScheme.secondary, + title = "NightGlow", + description = "Dark theme", + isSelected = useDarkTheme, + onClick = { if (!useDarkTheme) onToggleTheme() }, + ) + } + } + } +} + +@Composable +private fun ThemeItem( + icon: ImageVector, + iconTint: Color, + title: String, + description: String, + isSelected: Boolean, + onClick: () -> Unit, +) { + val colorScheme = MaterialTheme.colorScheme + + Row( + modifier = Modifier + .fillMaxWidth() + .clickable(onClick = onClick) + .padding(horizontal = 16.dp, vertical = 14.dp), + verticalAlignment = Alignment.CenterVertically, + ) { + Box( + modifier = Modifier + .size(44.dp) + .clip(RoundedCornerShape(14.dp)) + .background(iconTint.copy(alpha = if (isSelected) 0.10f else 0.05f)) + .border( + width = 1.dp, + color = iconTint.copy(alpha = if (isSelected) 0.15f else 0.07f), + shape = RoundedCornerShape(14.dp), + ), + contentAlignment = Alignment.Center, + ) { + Icon( + imageVector = icon, + contentDescription = title, + tint = if (isSelected) iconTint else iconTint.copy(alpha = 0.4f), + modifier = Modifier.size(20.dp), + ) + } + Spacer(modifier = Modifier.width(14.dp)) + Column(modifier = Modifier.weight(1f)) { + Text( + text = title, + color = if (isSelected) colorScheme.onSurface else colorScheme.onSurface.copy(alpha = 0.5f), + fontFamily = inter, + fontSize = 15.sp, + ) + Spacer(modifier = Modifier.height(2.dp)) + Text( + text = description, + color = colorScheme.onSurface.copy(alpha = 0.5f), + fontFamily = inter, + fontSize = 12.sp, + ) + } + if (isSelected) { + Icon( + imageVector = Lucide.Check, + contentDescription = "Selected", + tint = colorScheme.primary, + modifier = Modifier.size(18.dp), + ) + } else { + Spacer(modifier = Modifier.width(18.dp)) + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/RBFScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/RBFScreen.kt new file mode 100644 index 0000000..0e77b91 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/RBFScreen.kt @@ -0,0 +1,260 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet + +import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.runtime.Composable +import androidx.compose.ui.unit.dp +import androidx.navigation.NavController + +private const val TAG = "RBFScreen" + +@Composable +internal fun RBFScreen( + txid: String?, + navController: NavController, + paddingValues: PaddingValues = PaddingValues(0.dp), +) { +// if (txid.isNullOrEmpty()) { +// navController.popBackStack() +// } +// var transaction: TransactionDetails? = getTransaction(txid = txid) +// if (transaction == null) { +// navController.popBackStack() +// } +// transaction = transaction as TransactionDetails +// val context = LocalContext.current +// +// val amount = (transaction.sent - transaction.received - (transaction.fee ?: 0UL)).toString() +// val feeRate: MutableState = rememberSaveable { mutableStateOf("") } +// val (showDialog, setShowDialog) = rememberSaveable { mutableStateOf(false) } +// +// ConstraintLayout( +// modifier = Modifier +// .fillMaxSize() +// .padding(paddingValues) +// .background(DevkitWalletColors.primary) +// ) { +// val (screenTitle, transactionInputs, bottomButtons) = createRefs() +// +// Text( +// text = "Send Bitcoin", +// color = DevkitWalletColors.white, +// fontSize = 28.sp, +// textAlign = TextAlign.Center, +// modifier = Modifier +// .constrainAs(screenTitle) { +// top.linkTo(parent.top) +// start.linkTo(parent.start) +// end.linkTo(parent.end) +// } +// .padding(top = 70.dp) +// ) +// +// Column( +// horizontalAlignment = Alignment.CenterHorizontally, +// verticalArrangement = Arrangement.Center, +// modifier = Modifier.constrainAs(transactionInputs) { +// top.linkTo(screenTitle.bottom) +// bottom.linkTo(bottomButtons.top) +// start.linkTo(parent.start) +// end.linkTo(parent.end) +// height = Dimension.fillToConstraints +// } +// ) { +// ShowTxnDetail(name = "Transaction Id",content = txid!!) +// ShowTxnDetail(name = "Amount", content = amount) +// TransactionFeeInput(feeRate = feeRate) +// BumpFeeDialog( +// txid = txid, +// amount = amount, +// feeRate = feeRate, +// showDialog = showDialog, +// setShowDialog = setShowDialog, +// context = context +// ) +// } +// Column( +// Modifier +// .constrainAs(bottomButtons) { +// bottom.linkTo(parent.bottom) +// start.linkTo(parent.start) +// end.linkTo(parent.end) +// } +// .padding(bottom = 32.dp) +// ) { +// Button( +// onClick = { setShowDialog(true) }, +// colors = ButtonDefaults.buttonColors(DevkitWalletColors.accent2), +// shape = RoundedCornerShape(16.dp), +// modifier = Modifier +// .height(80.dp) +// .fillMaxWidth(0.9f) +// .padding(vertical = 8.dp, horizontal = 8.dp) +// .shadow(elevation = 4.dp, shape = RoundedCornerShape(16.dp)) +// ) { +// Text( +// text = "broadcast transaction", +// fontSize = 14.sp, +// textAlign = TextAlign.Center, +// lineHeight = 28.sp, +// ) +// } +// Button( +// onClick = { navController.navigate(Screen.HomeScreen.route) }, +// colors = ButtonDefaults.buttonColors(DevkitWalletColors.primaryLight), +// shape = RoundedCornerShape(16.dp), +// modifier = Modifier +// .height(80.dp) +// .fillMaxWidth(0.9f) +// .padding(vertical = 8.dp, horizontal = 8.dp) +// .shadow(elevation = 4.dp, shape = RoundedCornerShape(16.dp)) +// ) { +// Text( +// text = "back to wallet", +// fontSize = 14.sp, +// textAlign = TextAlign.Center, +// lineHeight = 28.sp, +// ) +// } +// } +// } +} +// +// @OptIn(ExperimentalMaterial3Api::class) +// @Composable +// private fun ShowTxnDetail(name: String, content: String) { +// Row( +// verticalAlignment = Alignment.CenterVertically, +// modifier = Modifier.fillMaxWidth(fraction = 0.9f) +// ) { +// OutlinedTextField( +// modifier = Modifier +// .padding(vertical = 8.dp) +// .weight(0.5f), +// value = content, +// onValueChange = { }, +// label = { +// Text( +// text = name, +// color = DevkitWalletColors.white, +// ) +// }, +// singleLine = true, +// textStyle = TextStyle(color = DevkitWalletColors.white), +// colors = TextFieldDefaults.outlinedTextFieldColors( +// focusedBorderColor = DevkitWalletColors.accent1, +// unfocusedBorderColor = DevkitWalletColors.white, +// cursorColor = DevkitWalletColors.accent1, +// ), +// enabled = false, +// ) +// } +// } +// +// @OptIn(ExperimentalMaterial3Api::class) +// @Composable +// private fun TransactionFeeInput(feeRate: MutableState) { +// Column(horizontalAlignment = Alignment.CenterHorizontally) { +// OutlinedTextField( +// modifier = Modifier +// .padding(vertical = 8.dp) +// .fillMaxWidth(0.9f), +// value = feeRate.value, +// onValueChange = { newValue: String -> +// feeRate.value = newValue.filter { it.isDigit() } +// }, +// singleLine = true, +// textStyle = TextStyle(color = DevkitWalletColors.white), +// label = { +// Text( +// text = "New fee rate", +// color = DevkitWalletColors.white, +// ) +// }, +// colors = TextFieldDefaults.outlinedTextFieldColors( +// focusedBorderColor = DevkitWalletColors.accent1, +// unfocusedBorderColor = DevkitWalletColors.white, +// cursorColor = DevkitWalletColors.accent1, +// ), +// ) +// } +// } +// +// @Composable +// fun BumpFeeDialog( +// txid: String, +// amount: String, +// showDialog: Boolean, +// setShowDialog: (Boolean) -> Unit, +// context: Context, +// feeRate: MutableState, +// ) { +// if (showDialog) { +// var confirmationText = "Confirm Transaction : \nTxid : $txid\nAmount : $amount" +// if (feeRate.value.isNotEmpty()) { +// confirmationText += "Fee Rate : ${feeRate.value.toULong()}" +// } +// AlertDialog( +// containerColor = DevkitWalletColors.primaryLight, +// onDismissRequest = {}, +// title = { +// Text( +// text = "Confirm transaction", +// color = DevkitWalletColors.white +// ) +// }, +// text = { +// Text( +// text = confirmationText, +// color = DevkitWalletColors.white +// ) +// }, +// confirmButton = { +// TextButton( +// onClick = { +// if (feeRate.value.isNotEmpty()) { +// broadcastTransaction(txid = txid, feeRate = feeRate.value.toFloat()) +// } else { +// Toast.makeText(context, "Fee is empty!", Toast.LENGTH_SHORT).show() +// } +// setShowDialog(false) +// }, +// ) { +// Text( +// text = "Confirm", +// color = DevkitWalletColors.white +// ) +// } +// }, +// dismissButton = { +// TextButton( +// onClick = { +// setShowDialog(false) +// }, +// ) { +// Text( +// text = "Cancel", +// color = DevkitWalletColors.white +// ) +// } +// }, +// ) +// } +// } +// +// private fun broadcastTransaction(txid: String, feeRate: Float = 1F) { +// Log.i(TAG, "Attempting to broadcast transaction with inputs: txid $txid, fee rate: $feeRate") +// try { +// // create, sign, and broadcast +// val psbt: PartiallySignedTransaction = Wallet.createBumpFeeTransaction(txid = txid, feeRate = feeRate) +// Wallet.sign(psbt) +// val newTxid: String = Wallet.broadcast(psbt) +// Log.i(TAG, "Transaction was broadcast! txid: $newTxid") +// } catch (e: Throwable) { +// Log.i(TAG, "Broadcast error: ${e.message}") +// } +// } diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/ReceiveScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/ReceiveScreen.kt new file mode 100644 index 0000000..9b8d70a --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/ReceiveScreen.kt @@ -0,0 +1,238 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet + +import android.content.ClipData +import android.content.ClipboardManager +import android.content.Context +import android.util.Log +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.Image +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedButton +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.ImageBitmap +import androidx.compose.ui.graphics.asImageBitmap +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.core.graphics.createBitmap +import androidx.navigation.NavController +import com.composables.icons.lucide.ClipboardCopy +import com.composables.icons.lucide.Lucide +import com.google.zxing.BarcodeFormat +import com.google.zxing.common.BitMatrix +import com.google.zxing.qrcode.QRCodeWriter +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.delay +import kotlinx.coroutines.launch +import org.bitcoindevkit.devkitwallet.presentation.navigation.HomeScreen +import org.bitcoindevkit.devkitwallet.presentation.theme.googleSansCode +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.ReceiveScreenAction +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.ReceiveScreenState + +private const val TAG = "ReceiveScreen" + +@Composable +internal fun ReceiveScreen( + state: ReceiveScreenState, + onAction: (ReceiveScreenAction) -> Unit, + navController: NavController, +) { + Log.i(TAG, "We are recomposing the ReceiveScreen") + val snackbarHostState = remember { SnackbarHostState() } + val colorScheme = MaterialTheme.colorScheme + val context = LocalContext.current + val scope = rememberCoroutineScope() + + Scaffold( + snackbarHost = { SnackbarHost(snackbarHostState) }, + topBar = { + SecondaryScreensAppBar( + title = "Receive Address", + navigation = { navController.navigate(HomeScreen) }, + ) + }, + containerColor = colorScheme.surface, + ) { paddingValues -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(paddingValues) + .verticalScroll(rememberScrollState()), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Spacer(Modifier.height(24.dp)) + + val qrBitmap: ImageBitmap? = state.address?.let { addressToQR(it) } + Log.i(TAG, "New receive address is ${state.address}") + + if (qrBitmap != null) { + // QR code in outlined container + Box( + modifier = Modifier + .border( + width = 1.5.dp, + color = colorScheme.outline.copy(alpha = 0.10f), + shape = RoundedCornerShape(24.dp), + ).clip(RoundedCornerShape(24.dp)) + .padding(20.dp), + contentAlignment = Alignment.Center, + ) { + Image( + bitmap = qrBitmap, + contentDescription = "Bitcoin address QR code", + Modifier + .size(230.dp) + .clip(RoundedCornerShape(12.dp)), + ) + } + + Spacer(Modifier.height(24.dp)) + + // Address card with copy button + Box( + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 24.dp) + .border( + width = 1.5.dp, + color = colorScheme.outline.copy(alpha = 0.10f), + shape = RoundedCornerShape(16.dp), + ).clip(RoundedCornerShape(16.dp)) + .padding(horizontal = 16.dp, vertical = 14.dp), + ) { + Text( + text = state.address.chunked(4).joinToString(" "), + fontFamily = googleSansCode, + fontSize = 13.sp, + fontWeight = FontWeight.Light, + color = colorScheme.onSurface, + modifier = Modifier + .align(Alignment.CenterStart) + .padding(end = 40.dp), + ) + IconButton( + onClick = { + copyToClipboard( + state.address, + context, + scope, + snackbarHostState, + null, + ) + }, + modifier = Modifier + .size(28.dp) + .align(Alignment.CenterEnd), + ) { + Icon( + Lucide.ClipboardCopy, + tint = colorScheme.onSurface.copy(alpha = 0.5f), + contentDescription = "Copy to clipboard", + modifier = Modifier.size(18.dp), + ) + } + } + + Spacer(Modifier.height(24.dp)) + + // Address index + Text( + text = "Address index: ${state.addressIndex}", + fontFamily = inter, + fontSize = 12.sp, + color = colorScheme.onSurface.copy(alpha = 0.4f), + ) + } + + // Generate new address button + OutlinedButton( + onClick = { onAction(ReceiveScreenAction.UpdateAddress) }, + shape = RoundedCornerShape(16.dp), + border = BorderStroke(1.5.dp, colorScheme.primary), + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 24.dp) + .height(52.dp), + ) { + Text( + text = "Generate New Address", + fontFamily = inter, + fontSize = 15.sp, + color = colorScheme.primary, + ) + } + + Spacer(Modifier.height(32.dp)) + } + } +} + +private fun addressToQR(address: String): ImageBitmap? { + Log.i(TAG, "We are generating the QR code for address $address") + try { + val qrCodeWriter = QRCodeWriter() + val bitMatrix: BitMatrix = qrCodeWriter.encode(address, BarcodeFormat.QR_CODE, 1000, 1000) + val bitMap = createBitmap(1000, 1000) + for (x in 0 until 1000) { + for (y in 0 until 1000) { + bitMap.setPixel(x, y, if (bitMatrix[x, y]) 0xFF1C1B1F.toInt() else 0xFFE6E1E5.toInt()) + } + } + return bitMap.asImageBitmap() + } catch (e: Throwable) { + Log.i(TAG, "Error with QRCode generation, $e") + } + return null +} + +fun copyToClipboard( + content: String, + context: Context, + scope: CoroutineScope, + snackbarHostState: SnackbarHostState, + setCopyClicked: ( + (Boolean) -> Unit + )?, +) { + val clipboard: ClipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager + val clip: ClipData = ClipData.newPlainText("", content) + clipboard.setPrimaryClip(clip) + scope.launch { + snackbarHostState.showSnackbar("Copied address to clipboard!") + delay(1000) + if (setCopyClicked != null) { + setCopyClicked(false) + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/SendScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/SendScreen.kt new file mode 100644 index 0000000..12c4186 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/SendScreen.kt @@ -0,0 +1,480 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet + +import android.content.Context +import android.widget.Toast +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.width +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.OutlinedTextFieldDefaults +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Switch +import androidx.compose.material3.SwitchDefaults +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateListOf +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import org.bitcoindevkit.devkitwallet.presentation.navigation.HomeScreen +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.SendViewModel +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.Recipient +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.SendScreenAction +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.TransactionType +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.TxDataBundle + +private const val TAG = "SendScreen" + +@Composable +internal fun SendScreen(navController: NavController, sendViewModel: SendViewModel) { + val onAction = sendViewModel::onAction + val context = LocalContext.current + val colorScheme = MaterialTheme.colorScheme + + val recipientList: MutableList = remember { mutableStateListOf(Recipient(address = "", amount = 0u)) } + val feeRate: MutableState = rememberSaveable { mutableStateOf("") } + val (showDialog, setShowDialog) = rememberSaveable { mutableStateOf(false) } + + val sendAll: MutableState = remember { mutableStateOf(false) } + val opReturnMsg: MutableState = remember { mutableStateOf(null) } + val (showAdvanced, setShowAdvanced) = rememberSaveable { mutableStateOf(false) } + + val textFieldColors = OutlinedTextFieldDefaults.colors( + focusedBorderColor = colorScheme.primary, + unfocusedBorderColor = colorScheme.outline.copy(alpha = 0.30f), + cursorColor = colorScheme.primary, + focusedLabelColor = colorScheme.primary, + unfocusedLabelColor = colorScheme.onSurface.copy(alpha = 0.5f), + ) + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "Send Bitcoin", + navigation = { navController.navigate(HomeScreen) }, + ) + }, + containerColor = colorScheme.surface, + ) { paddingValues -> + Column( + modifier = Modifier + .fillMaxSize() + .padding(paddingValues) + .verticalScroll(rememberScrollState()) + .padding(horizontal = 24.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Spacer(Modifier.height(16.dp)) + + // Recipient address fields + recipientList.forEachIndexed { index, _ -> + val recipientAddress: MutableState = rememberSaveable { mutableStateOf("") } + + FormLabel(text = "Recipient address${if (recipientList.size > 1) " ${index + 1}" else ""}") + OutlinedTextField( + modifier = Modifier.fillMaxWidth(), + value = recipientAddress.value, + onValueChange = { + recipientAddress.value = it + recipientList[index].address = it + }, + placeholder = { + Text( + text = "bc1q...", + color = colorScheme.onSurface.copy(alpha = 0.3f), + fontFamily = inter, + ) + }, + singleLine = true, + textStyle = TextStyle( + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 15.sp, + ), + colors = textFieldColors, + shape = RoundedCornerShape(12.dp), + ) + Spacer(Modifier.height(16.dp)) + } + + // Amount fields + recipientList.forEachIndexed { index, _ -> + val amount: MutableState = rememberSaveable { mutableStateOf("") } + val transactionType = if (sendAll.value) TransactionType.SEND_ALL else TransactionType.STANDARD + + FormLabel( + text = when { + transactionType == TransactionType.SEND_ALL -> "Amount (Send All)" + recipientList.size > 1 -> "Amount ${index + 1}" + else -> "Amount" + } + ) + OutlinedTextField( + modifier = Modifier.fillMaxWidth(), + value = amount.value, + onValueChange = { + amount.value = it + recipientList[index].amount = it.toULongOrNull() ?: 0u + }, + trailingIcon = { + Text( + text = "sats", + color = colorScheme.onSurface.copy(alpha = 0.4f), + fontFamily = inter, + fontSize = 13.sp, + modifier = Modifier.padding(end = 8.dp), + ) + }, + singleLine = true, + textStyle = TextStyle( + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 15.sp, + ), + colors = textFieldColors, + shape = RoundedCornerShape(12.dp), + enabled = transactionType != TransactionType.SEND_ALL, + ) + Spacer(Modifier.height(16.dp)) + } + + // Fee rate + FormLabel(text = "Fee rate") + OutlinedTextField( + modifier = Modifier.fillMaxWidth(), + value = feeRate.value, + onValueChange = { newValue: String -> + feeRate.value = newValue.filter { it.isDigit() } + }, + trailingIcon = { + Text( + text = "sat/vB", + color = colorScheme.onSurface.copy(alpha = 0.4f), + fontFamily = inter, + fontSize = 13.sp, + modifier = Modifier.padding(end = 8.dp), + ) + }, + singleLine = true, + textStyle = TextStyle( + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 15.sp, + ), + colors = textFieldColors, + shape = RoundedCornerShape(12.dp), + ) + Text( + text = "Suggested: 1–10 for low priority", + color = colorScheme.onSurface.copy(alpha = 0.35f), + fontFamily = inter, + fontSize = 12.sp, + modifier = Modifier + .fillMaxWidth() + .padding(start = 4.dp, top = 4.dp), + ) + + Spacer(Modifier.height(20.dp)) + + // Advanced options toggle + TextButton( + onClick = { setShowAdvanced(!showAdvanced) }, + ) { + Text( + text = if (showAdvanced) "Hide advanced options" else "Advanced options", + color = colorScheme.primary, + fontFamily = inter, + fontSize = 14.sp, + ) + } + + AnimatedVisibility(visible = showAdvanced) { + Column( + modifier = Modifier.fillMaxWidth(), + ) { + Spacer(Modifier.height(8.dp)) + + // Send all switch + Row( + modifier = Modifier.fillMaxWidth(), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.SpaceBetween, + ) { + Text( + text = "Send All", + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 15.sp, + ) + Switch( + checked = sendAll.value, + onCheckedChange = { + sendAll.value = !sendAll.value + while (recipientList.size > 1) { + recipientList.removeAt(recipientList.lastIndex) + } + }, + colors = SwitchDefaults.colors( + uncheckedBorderColor = colorScheme.outline.copy(alpha = 0.30f), + uncheckedThumbColor = colorScheme.outline, + uncheckedTrackColor = colorScheme.surface, + checkedThumbColor = colorScheme.surface, + checkedTrackColor = colorScheme.primary, + ), + ) + } + + Spacer(Modifier.height(12.dp)) + + // OP_RETURN message + FormLabel(text = "OP_RETURN message (optional)") + OutlinedTextField( + modifier = Modifier.fillMaxWidth(), + value = opReturnMsg.value ?: "", + onValueChange = { opReturnMsg.value = it }, + singleLine = true, + textStyle = TextStyle( + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 15.sp, + ), + colors = textFieldColors, + shape = RoundedCornerShape(12.dp), + ) + + Spacer(Modifier.height(16.dp)) + + // Number of recipients + Text( + text = "Number of Recipients", + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 14.sp, + modifier = Modifier.fillMaxWidth(), + ) + Spacer(Modifier.height(8.dp)) + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically, + ) { + Button( + onClick = { + if (recipientList.size > 1) { + recipientList.removeAt(recipientList.lastIndex) + } + }, + enabled = !sendAll.value, + colors = ButtonDefaults.buttonColors( + containerColor = colorScheme.secondary, + ), + shape = RoundedCornerShape(12.dp), + modifier = Modifier.width(70.dp), + ) { + Text(text = "−", fontSize = 18.sp) + } + + Text( + text = "${recipientList.size}", + color = colorScheme.onSurface, + fontFamily = inter, + fontSize = 18.sp, + ) + + Button( + onClick = { recipientList.add(Recipient("", 0u)) }, + enabled = !sendAll.value, + colors = ButtonDefaults.buttonColors( + containerColor = colorScheme.primary, + ), + shape = RoundedCornerShape(12.dp), + modifier = Modifier.width(70.dp), + ) { + Text(text = "+", fontSize = 18.sp) + } + } + + Spacer(Modifier.height(16.dp)) + } + } + + Spacer(Modifier.height(24.dp)) + + // Broadcast button + Button( + onClick = { setShowDialog(true) }, + colors = ButtonDefaults.buttonColors( + containerColor = colorScheme.secondary, + ), + shape = RoundedCornerShape(16.dp), + modifier = Modifier + .fillMaxWidth() + .height(52.dp), + ) { + Text( + text = "Broadcast Transaction", + fontFamily = inter, + fontSize = 15.sp, + ) + } + + Spacer(Modifier.height(32.dp)) + } + + // Confirmation dialog + ConfirmDialog( + recipientList = recipientList, + feeRate = feeRate, + showDialog = showDialog, + setShowDialog = setShowDialog, + transactionType = if (sendAll.value) TransactionType.SEND_ALL else TransactionType.STANDARD, + opReturnMsg = opReturnMsg.value, + context = context, + onAction = onAction, + ) + } +} + +@Composable +private fun FormLabel(text: String) { + val colorScheme = MaterialTheme.colorScheme + Text( + text = text, + color = colorScheme.onSurface.copy(alpha = 0.6f), + fontFamily = inter, + fontSize = 13.sp, + modifier = Modifier + .fillMaxWidth() + .padding(bottom = 6.dp), + ) +} + +fun checkRecipientList( + recipientList: MutableList, + feeRate: MutableState, + context: Context, +): Boolean { + if (recipientList.size > 4) { + Toast.makeText(context, "Too many recipients", Toast.LENGTH_SHORT).show() + return false + } + for (recipient in recipientList) { + if (recipient.address == "") { + Toast.makeText(context, "Address is empty", Toast.LENGTH_SHORT).show() + return false + } + } + if (feeRate.value.isBlank()) { + Toast.makeText(context, "Fee rate is empty", Toast.LENGTH_SHORT).show() + return false + } + return true +} + +@Composable +private fun ConfirmDialog( + recipientList: MutableList, + feeRate: MutableState, + showDialog: Boolean, + setShowDialog: (Boolean) -> Unit, + transactionType: TransactionType, + opReturnMsg: String?, + context: Context, + onAction: (SendScreenAction) -> Unit, +) { + if (showDialog) { + val colorScheme = MaterialTheme.colorScheme + + var confirmationText = "Confirm Transaction:\n" + recipientList.forEach { confirmationText += "${it.address}, ${it.amount}\n" } + if (feeRate.value.isNotEmpty()) { + confirmationText += "Fee Rate: ${feeRate.value.toULong()}\n" + } + if (!opReturnMsg.isNullOrEmpty()) { + confirmationText += "OP_RETURN Message: $opReturnMsg" + } + AlertDialog( + containerColor = colorScheme.surface, + onDismissRequest = {}, + title = { + Text( + text = "Confirm transaction", + color = colorScheme.onSurface, + fontFamily = inter, + ) + }, + text = { + Text( + text = confirmationText, + color = colorScheme.onSurface.copy(alpha = 0.7f), + fontFamily = inter, + fontSize = 14.sp, + ) + }, + confirmButton = { + TextButton( + onClick = { + if (checkRecipientList(recipientList = recipientList, feeRate = feeRate, context = context)) { + val txDataBundle = + TxDataBundle( + recipients = recipientList.toList(), + feeRate = feeRate.value.toULong(), + transactionType = transactionType, + opReturnMsg = opReturnMsg, + ) + onAction(SendScreenAction.Broadcast(txDataBundle)) + setShowDialog(false) + } + }, + ) { + Text( + text = "Confirm", + color = colorScheme.primary, + fontFamily = inter, + ) + } + }, + dismissButton = { + TextButton( + onClick = { setShowDialog(false) }, + ) { + Text( + text = "Cancel", + color = colorScheme.onSurface.copy(alpha = 0.5f), + fontFamily = inter, + ) + } + }, + ) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/TransactionHistoryScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/TransactionHistoryScreen.kt new file mode 100644 index 0000000..dbbfd51 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/TransactionHistoryScreen.kt @@ -0,0 +1,66 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import androidx.navigation.NavController +import org.bitcoindevkit.devkitwallet.domain.Wallet +import org.bitcoindevkit.devkitwallet.presentation.navigation.HomeScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.TransactionScreen +import org.bitcoindevkit.devkitwallet.presentation.ui.components.ConfirmedTransactionCard +import org.bitcoindevkit.devkitwallet.presentation.ui.components.PendingTransactionCard +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +private const val TAG = "TransactionHistoryScreen" + +@Composable +internal fun TransactionHistoryScreen(navController: NavController, activeWallet: Wallet) { + val (pendingTransactions, confirmedTransactions) = activeWallet.getAllTxDetails().partition { it.pending } + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "Transaction History", + navigation = { navController.navigate(HomeScreen) }, + ) + }, + containerColor = MaterialTheme.colorScheme.surface, + ) { paddingValues -> + val scrollState = rememberScrollState() + Column( + modifier = + Modifier + .padding(paddingValues) + .fillMaxSize() + .padding(top = 6.dp) + .verticalScroll(state = scrollState), + ) { + if (pendingTransactions.isNotEmpty()) { + pendingTransactions.forEach { + PendingTransactionCard(details = it, navController = navController) + } + } + if (confirmedTransactions.isNotEmpty()) { + confirmedTransactions.sortedBy { it.confirmationBlock?.height }.forEach { + ConfirmedTransactionCard(it, navController) + } + } + } + } +} + +fun viewTransaction(navController: NavController, txid: String) { + navController.navigate(TransactionScreen(txid)) +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/TransactionScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/TransactionScreen.kt new file mode 100644 index 0000000..2c2a8e5 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/TransactionScreen.kt @@ -0,0 +1,108 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavController +import org.bitcoindevkit.devkitwallet.presentation.navigation.RbfScreen +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.SecondaryScreensAppBar + +@Composable +internal fun TransactionScreen(txid: String?, navController: NavController) { + val colorScheme = MaterialTheme.colorScheme + + Scaffold( + topBar = { + SecondaryScreensAppBar( + title = "Transaction Details", + navigation = { navController.navigateUp() }, + ) + }, + containerColor = colorScheme.surface, + ) { paddingValues -> + Column( + modifier = + Modifier + .fillMaxSize() + .padding(paddingValues) + .verticalScroll(rememberScrollState()) + .padding(horizontal = 24.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Spacer(Modifier.height(48.dp)) + + Text( + text = "Transaction", + color = colorScheme.onSurface, + fontSize = 28.sp, + fontFamily = inter, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth(), + ) + + Spacer(Modifier.weight(1f)) + + TransactionDetailButton( + content = "increase fees", + navController = navController, + txid = txid, + ) + + Spacer(Modifier.height(32.dp)) + } + } +} + +@Composable +fun TransactionDetailButton(content: String, navController: NavController, txid: String?) { + val colorScheme = MaterialTheme.colorScheme + Button( + onClick = { + when (content) { + "increase fees" -> { + navController.navigate(RbfScreen(txid!!)) + } + + "back to transaction list" -> { + navController.navigateUp() + } + } + }, + colors = ButtonDefaults.buttonColors(colorScheme.secondary), + shape = RoundedCornerShape(16.dp), + modifier = + Modifier + .height(52.dp) + .fillMaxWidth(), + ) { + Text( + text = content, + fontSize = 14.sp, + fontFamily = inter, + textAlign = TextAlign.Center, + ) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/WalletHomeScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/WalletHomeScreen.kt new file mode 100644 index 0000000..72ceeeb --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/ui/screens/wallet/WalletHomeScreen.kt @@ -0,0 +1,414 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.ui.screens.wallet + +import android.content.Context +import android.net.ConnectivityManager +import android.net.NetworkCapabilities +import android.util.Log +import androidx.compose.foundation.BorderStroke +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.CenterAlignedTopAppBar +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedCard +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp +import androidx.navigation.NavHostController +import com.composables.icons.lucide.ArrowDownLeft +import com.composables.icons.lucide.ArrowUpRight +import com.composables.icons.lucide.History +import com.composables.icons.lucide.List +import com.composables.icons.lucide.Lucide +import com.composables.icons.lucide.Monitor +import com.composables.icons.lucide.Settings +import com.composables.icons.lucide.Shield +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.launch +import org.bitcoindevkit.devkitwallet.domain.CurrencyUnit +import org.bitcoindevkit.devkitwallet.domain.utils.formatInBtc +import org.bitcoindevkit.devkitwallet.presentation.navigation.BlockchainClientScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.ReceiveScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.RecoveryPhraseScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.SendScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.SettingsScreen +import org.bitcoindevkit.devkitwallet.presentation.navigation.TransactionHistoryScreen +import org.bitcoindevkit.devkitwallet.presentation.theme.DayGlowHistoryAccent +import org.bitcoindevkit.devkitwallet.presentation.theme.NightGlowSubtle +import org.bitcoindevkit.devkitwallet.presentation.theme.inter +import org.bitcoindevkit.devkitwallet.presentation.ui.components.CustomSnackbar +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.WalletScreenAction +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.WalletScreenState + +private const val TAG = "WalletHomeScreen" + +@Composable +internal fun WalletHomeScreen( + state: WalletScreenState, + onAction: (WalletScreenAction) -> Unit, + navController: NavHostController, +) { + val snackbarHostState = remember { SnackbarHostState() } + val networkAvailable: Boolean = isOnline(LocalContext.current) + val interactionSource = remember { MutableInteractionSource() } + val scope: CoroutineScope = rememberCoroutineScope() + val colorScheme = MaterialTheme.colorScheme + + LaunchedEffect(Unit) { + onAction(WalletScreenAction.UpdateBalance) + } + + Scaffold( + topBar = { WalletAppBar(onSettingsClick = { navController.navigate(SettingsScreen) }) }, + snackbarHost = { + SnackbarHost(hostState = snackbarHostState) { data -> + CustomSnackbar(data) + } + }, + ) { paddingValues -> + + // If a new snackbar has be triggered, show it + state.snackbarMessage?.let { message -> + Log.i("WalletHomeScreen", "Showing snackbar: $message") + LaunchedEffect(message) { + scope.launch { + snackbarHostState.showSnackbar(message) + onAction(WalletScreenAction.ClearSnackbar) + } + } + } + + Column( + modifier = + Modifier + .fillMaxSize() + .padding(paddingValues) + .clickable( + interactionSource = interactionSource, + indication = null, + onClick = { onAction(WalletScreenAction.SwitchUnit) }, + ), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Spacer(Modifier.height(32.dp)) + + // Balance + when (state.unit) { + CurrencyUnit.Bitcoin -> { + Text( + text = state.balance.formatInBtc(), + fontFamily = inter, + // fontFamily = googleSansCode, + fontSize = 48.sp, + fontWeight = FontWeight.Light, + color = colorScheme.onSurface, + ) + } + + CurrencyUnit.Satoshi -> { + Text( + text = "${state.balance} sat", + fontFamily = inter, + // fontFamily = googleSansCode, + fontSize = 48.sp, + fontWeight = FontWeight.Light, + color = colorScheme.onSurface, + ) + } + } + Text( + text = "BITCOIN", + fontSize = 14.sp, + color = NightGlowSubtle, + letterSpacing = 2.sp, + ) + + Spacer(Modifier.height(24.dp)) + + // Receive / Send row + Row( + modifier = Modifier.fillMaxWidth(0.9f), + horizontalArrangement = Arrangement.spacedBy(12.dp), + ) { + // Receive card + OutlinedCard( + onClick = { navController.navigate(ReceiveScreen) }, + modifier = Modifier + .weight(1f) + .height(120.dp), + shape = RoundedCornerShape(24.dp), + border = BorderStroke(1.5.dp, colorScheme.outline.copy(alpha = 0.15f)), + colors = CardDefaults.outlinedCardColors( + containerColor = Color.Transparent, + ), + ) { + Column( + modifier = Modifier + .fillMaxSize() + .padding(16.dp), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Box( + modifier = Modifier + .size(52.dp) + .clip(RoundedCornerShape(16.dp)) + .background(colorScheme.onSurfaceVariant.copy(alpha = 0.08f)) + .border( + width = 1.dp, + color = colorScheme.onSurfaceVariant.copy(alpha = 0.12f), + shape = RoundedCornerShape(16.dp), + ), + contentAlignment = Alignment.Center, + ) { + Icon( + imageVector = Lucide.ArrowDownLeft, + contentDescription = "Receive", + tint = colorScheme.onSurfaceVariant, + modifier = Modifier.size(24.dp), + ) + } + Spacer(Modifier.height(8.dp)) + Text( + text = "RECEIVE", + color = colorScheme.onSurfaceVariant, + fontSize = 12.sp, + fontWeight = FontWeight.Medium, + letterSpacing = 1.sp, + ) + } + } + + // Send card + OutlinedCard( + onClick = { navController.navigate(SendScreen) }, + enabled = networkAvailable, + modifier = Modifier + .weight(1f) + .height(120.dp), + shape = RoundedCornerShape(24.dp), + border = BorderStroke(1.5.dp, colorScheme.outline.copy(alpha = 0.15f)), + colors = CardDefaults.outlinedCardColors( + containerColor = Color.Transparent, + ), + ) { + Column( + modifier = Modifier + .fillMaxSize() + .padding(16.dp), + verticalArrangement = Arrangement.Center, + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Box( + modifier = Modifier + .size(52.dp) + .clip(RoundedCornerShape(16.dp)) + .background(colorScheme.onSurfaceVariant.copy(alpha = 0.08f)) + .border( + width = 1.dp, + color = colorScheme.onSurfaceVariant.copy(alpha = 0.12f), + shape = RoundedCornerShape(16.dp), + ), + contentAlignment = Alignment.Center, + ) { + Icon( + imageVector = Lucide.ArrowUpRight, + contentDescription = "Send", + tint = colorScheme.onSurfaceVariant, + modifier = Modifier.size(24.dp), + ) + } + Spacer(Modifier.height(8.dp)) + Text( + text = "SEND", + color = colorScheme.onSurfaceVariant, + fontSize = 12.sp, + fontWeight = FontWeight.Medium, + letterSpacing = 1.sp, + ) + } + } + } + + Spacer(Modifier.height(16.dp)) + HorizontalDivider( + thickness = 1.dp, + color = colorScheme.outline.copy(alpha = 0.08f), + modifier = Modifier.fillMaxWidth(0.9f), + ) + Spacer(Modifier.height(16.dp)) + + // Quick actions row + Row( + horizontalArrangement = Arrangement.spacedBy(12.dp), + verticalAlignment = Alignment.CenterVertically, + ) { + QuickAction( + icon = Lucide.List, + label = "UTXOs", + tint = colorScheme.primary, + onClick = {}, + ) + QuickAction( + icon = Lucide.Shield, + label = "Security", + tint = colorScheme.secondary, + onClick = { navController.navigate(RecoveryPhraseScreen) }, + ) + QuickAction( + icon = Lucide.Monitor, + label = "Node", + tint = colorScheme.tertiary, + onClick = { navController.navigate(BlockchainClientScreen) }, + ) + QuickAction( + icon = Lucide.History, + label = "History", + tint = DayGlowHistoryAccent, + onClick = { navController.navigate(TransactionHistoryScreen) }, + ) + } + + // Network unavailable banner + if (!networkAvailable) { + Spacer(Modifier.height(16.dp)) + Row( + Modifier + .fillMaxWidth() + .background(color = colorScheme.primary.copy(alpha = 0.12f)) + .height(40.dp), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.Center, + ) { + Text( + text = "Network unavailable", + fontFamily = inter, + fontSize = 14.sp, + color = colorScheme.onSurface, + ) + } + } + } + } +} + +@Composable +private fun QuickAction(icon: ImageVector, label: String, tint: Color, onClick: () -> Unit) { + Column( + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier + .clickable(onClick = onClick) + .padding(horizontal = 4.dp), + ) { + Box( + modifier = Modifier + .size(56.dp) + .border( + width = 1.5.dp, + color = tint.copy(alpha = 0.20f), + shape = CircleShape, + ), + contentAlignment = Alignment.Center, + ) { + Icon( + imageVector = icon, + contentDescription = label, + tint = tint, + modifier = Modifier.size(22.dp), + ) + } + Spacer(Modifier.height(4.dp)) + Text( + text = label, + fontSize = 11.sp, + color = NightGlowSubtle, + ) + } +} + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +internal fun WalletAppBar(onSettingsClick: () -> Unit) { + CenterAlignedTopAppBar( + title = { + Text( + text = "", + color = MaterialTheme.colorScheme.onSurface, + fontFamily = inter, + fontSize = 20.sp, + ) + }, + actions = { + IconButton(onClick = onSettingsClick) { + Icon( + imageVector = Lucide.Settings, + contentDescription = "Settings", + tint = MaterialTheme.colorScheme.onSurfaceVariant, + ) + } + }, + ) +} + +fun isOnline(context: Context): Boolean { + val connectivityManager = + context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager + val capabilities = + connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork) + if (capabilities != null) { + when { + capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> { + Log.i("Internet", "NetworkCapabilities.TRANSPORT_CELLULAR") + return true + } + + capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> { + Log.i("Internet", "NetworkCapabilities.TRANSPORT_WIFI") + return true + } + + capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> { + Log.i("Internet", "NetworkCapabilities.TRANSPORT_ETHERNET") + return true + } + } + } + return false +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/AddressViewModel.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/AddressViewModel.kt new file mode 100644 index 0000000..e9e4a83 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/AddressViewModel.kt @@ -0,0 +1,39 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.viewmodels + +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue +import androidx.lifecycle.ViewModel +import org.bitcoindevkit.AddressInfo +import org.bitcoindevkit.devkitwallet.domain.DwLogger +import org.bitcoindevkit.devkitwallet.domain.DwLogger.LogLevel.INFO +import org.bitcoindevkit.devkitwallet.domain.Wallet +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.ReceiveScreenAction +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.ReceiveScreenState + +internal class AddressViewModel(private val wallet: Wallet) : ViewModel() { + var state: ReceiveScreenState by mutableStateOf(ReceiveScreenState()) + private set + + fun onAction(action: ReceiveScreenAction) { + when (action) { + is ReceiveScreenAction.UpdateAddress -> updateAddress() + } + } + + private fun updateAddress() { + val newAddress: AddressInfo = wallet.getNewAddress() + DwLogger.log(INFO, "Revealing new address at index ${newAddress.index}") + + state = + ReceiveScreenState( + address = newAddress.address.toString(), + addressIndex = newAddress.index, + ) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/SendViewModel.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/SendViewModel.kt new file mode 100644 index 0000000..3a0a345 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/SendViewModel.kt @@ -0,0 +1,67 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.viewmodels + +import android.util.Log +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import kotlinx.coroutines.launch +import org.bitcoindevkit.FeeRate +import org.bitcoindevkit.Psbt +import org.bitcoindevkit.devkitwallet.data.Kyoto +import org.bitcoindevkit.devkitwallet.data.KyotoNotInitialized +import org.bitcoindevkit.devkitwallet.domain.Wallet +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.SendScreenAction +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.TransactionType +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.TxDataBundle + +private const val TAG = "SendViewModel" + +internal class SendViewModel(private val wallet: Wallet) : ViewModel() { + fun onAction(action: SendScreenAction) { + when (action) { + is SendScreenAction.Broadcast -> broadcast(action.txDataBundle) + } + } + + private fun broadcast(txInfo: TxDataBundle) { + Log.i(TAG, "The tx data bundle is $txInfo") + + // TODO: Add error snackbar if Kyoto node is not running, or maybe simply disable the button + viewModelScope.launch { + try { + // Create, sign, and broadcast + val psbt: Psbt = + when (txInfo.transactionType) { + TransactionType.STANDARD -> { + wallet.createTransaction( + recipientList = txInfo.recipients, + feeRate = FeeRate.fromSatPerVb(txInfo.feeRate), + opReturnMsg = txInfo.opReturnMsg, + ) + } + + // TransactionType.SEND_ALL -> Wallet.createSendAllTransaction(recipientList[0].address, FeeRate.fromSatPerVb(feeRate), rbfEnabled, opReturnMsg) + TransactionType.SEND_ALL -> { + throw NotImplementedError("Send all not implemented") + } + } + val isSigned = wallet.sign(psbt) + if (isSigned) { + val transaction = psbt.extractTx() + val wtxid: String = Kyoto.getInstance().broadcast(transaction).toString() + Log.i(TAG, "Transaction was broadcast! txid: $wtxid") + } else { + Log.i(TAG, "Transaction not signed.") + } + } catch (e: KyotoNotInitialized) { + Log.i(TAG, "Kyoto was not initialized! Transaction cannot be broadcast.") + } catch (e: Throwable) { + Log.i(TAG, "Broadcast error message: ${e.message}") + } + } + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/WalletViewModel.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/WalletViewModel.kt new file mode 100644 index 0000000..4ebc587 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/WalletViewModel.kt @@ -0,0 +1,102 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.viewmodels + +import android.util.Log +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import org.bitcoindevkit.devkitwallet.data.Kyoto +import org.bitcoindevkit.devkitwallet.domain.CurrencyUnit +import org.bitcoindevkit.devkitwallet.domain.DwLogger +import org.bitcoindevkit.devkitwallet.domain.DwLogger.LogLevel.INFO +import org.bitcoindevkit.devkitwallet.domain.Wallet +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.WalletScreenAction +import org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi.WalletScreenState + +private const val TAG = "WalletViewModel" + +internal class WalletViewModel( + private val wallet: Wallet, +) : ViewModel() { + var state: WalletScreenState by mutableStateOf(WalletScreenState()) + private set + + private val kyotoCoroutineScope: CoroutineScope = CoroutineScope(Dispatchers.IO) + private var kyoto: Kyoto? = null + + @Suppress("ktlint:standard:no-multi-spaces") + fun onAction(action: WalletScreenAction) { + when (action) { + WalletScreenAction.SwitchUnit -> switchUnit() + WalletScreenAction.UpdateBalance -> updateBalance() + WalletScreenAction.ActivateCbfNode -> activateKyoto() + WalletScreenAction.StopKyotoNode -> stopKyotoNode() + WalletScreenAction.ClearSnackbar -> clearSnackbar() + } + } + + private fun showSnackbar(message: String) { + state = state.copy(snackbarMessage = message) + } + + private fun clearSnackbar() { + state = state.copy(snackbarMessage = null) + } + + private fun switchUnit() { + state = + when (state.unit) { + CurrencyUnit.Bitcoin -> state.copy(unit = CurrencyUnit.Satoshi) + CurrencyUnit.Satoshi -> state.copy(unit = CurrencyUnit.Bitcoin) + } + } + + private fun updateLatestBlock(blockHeight: UInt) { + state = state.copy(bestBlockHeight = blockHeight) + } + + private fun updateBalance() { + viewModelScope.launch(Dispatchers.IO) { + val newBalance = wallet.getBalance() + Log.i("Kyoto", "New balance: $newBalance") + DwLogger.log(INFO, "New balance: $newBalance") + + state = state.copy(balance = newBalance) + Log.i("Kyoto", "New state object: $state") + DwLogger.log(INFO, "New state object: $state") + } + } + + private fun activateKyoto() { + val dataDir = wallet.internalAppFilesPath + this.kyoto = Kyoto.create(wallet.wallet, dataDir, wallet.network) + val updatesFlow = kyoto!!.start() + kyotoCoroutineScope.launch { + updatesFlow.collect { + Log.i(TAG, "Collecting a flow update") + wallet.applyUpdate(it) + updateBalance() + updateBestBlock() + } + } + kyoto!!.logToLogcat() + } + + private fun stopKyotoNode() { + kyoto!!.shutdown() + } + + private fun updateBestBlock() { + val bestBlockHeight = wallet.bestBlock() + state = state.copy(bestBlockHeight = bestBlockHeight) + } +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviReceiveScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviReceiveScreen.kt new file mode 100644 index 0000000..c1fa731 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviReceiveScreen.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi + +data class ReceiveScreenState( + val address: String? = null, + val addressIndex: UInt? = null, +) + +sealed interface ReceiveScreenAction { + data object UpdateAddress : ReceiveScreenAction +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviSendScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviSendScreen.kt new file mode 100644 index 0000000..eee1809 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviSendScreen.kt @@ -0,0 +1,29 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi + +// data class SendScreenState( +// val address: String? = null, +// ) + +sealed class SendScreenAction { + data class Broadcast(val txDataBundle: TxDataBundle) : SendScreenAction() +} + +data class TxDataBundle( + val recipients: List, + val feeRate: ULong, + val transactionType: TransactionType, + val rbfDisabled: Boolean = false, + val opReturnMsg: String? = null, +) + +data class Recipient(var address: String, var amount: ULong) + +enum class TransactionType { + STANDARD, + SEND_ALL, +} diff --git a/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviWalletScreen.kt b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviWalletScreen.kt new file mode 100644 index 0000000..d2726a6 --- /dev/null +++ b/newbuildsystem/src/org/bitcoindevkit/devkitwallet/presentation/viewmodels/mvi/MviWalletScreen.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2021-2026 thunderbiscuit and contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the ./LICENSE file. + */ + +package org.bitcoindevkit.devkitwallet.presentation.viewmodels.mvi + +import org.bitcoindevkit.devkitwallet.domain.CurrencyUnit + +data class WalletScreenState( + val balance: ULong = 0u, + val unit: CurrencyUnit = CurrencyUnit.Bitcoin, + val bestBlockHeight: UInt = 0u, + val snackbarMessage: String? = null, + val kyotoNodeStatus: CbfNodeStatus = CbfNodeStatus.Stopped, +) + +sealed interface WalletScreenAction { + data object UpdateBalance : WalletScreenAction + + data object SwitchUnit : WalletScreenAction + + data object ActivateCbfNode : WalletScreenAction + + data object StopKyotoNode : WalletScreenAction + + data object ClearSnackbar : WalletScreenAction +} + +enum class CbfNodeStatus { + Running, + Stopped, +} From e358dbc9137b4fb8d4cd2a99c6ef91d00c9c64d6 Mon Sep 17 00:00:00 2001 From: thunderbiscuit Date: Tue, 9 Jun 2026 20:12:55 -0400 Subject: [PATCH 2/2] test: build app in CI using the new amper toolchain --- .github/workflows/build.yaml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..d32eafb --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,36 @@ +name: Build + +# Verifies that the app compiles. + +on: [workflow_dispatch, push, pull_request] + +permissions: {} + +jobs: + build: + name: "Build app" + runs-on: ubuntu-24.04 + + steps: + - name: "Checkout PR branch" + uses: actions/checkout@v5 + with: + persist-credentials: false + + - name: "Set up JDK" + uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: 17 + + - name: "Set up Android SDK" + uses: android-actions/setup-android@v3 + + - name: "Set up Android NDK" + uses: nttld/setup-ndk@v1 + with: + ndk-version: r26c + + - name: "Build app" + working-directory: newbuildsystem + run: ./kotlin build