From 15c608a7afe5a41ca092ac7674d7f8af133bbe4e Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Tue, 17 Sep 2024 22:00:58 -0400 Subject: [PATCH 01/41] FIX: Allow user to define a custom block explorer URL #7077 --- blue_modules/notifications.js | 6 +- components/Context/SettingsProvider.tsx | 27 ++++ ...SettingsBlockExplorerCustomUrlListItem.tsx | 116 ++++++++++++++++++ components/TransactionListItem.tsx | 10 +- ios/Podfile.lock | 12 +- loc/en.json | 5 + models/blockExplorer.ts | 32 +++++ navigation/DetailViewScreensStack.tsx | 7 ++ navigation/DetailViewStackParamList.ts | 1 + navigation/LazyLoadSettingsStack.tsx | 7 ++ screen/send/Broadcast.tsx | 8 +- screen/send/success.js | 4 +- ...NetworkSettings.js => NetworkSettings.tsx} | 22 ++-- screen/settings/SettingsBlockExplorer.tsx | 90 ++++++++++++++ screen/transactions/TransactionDetails.tsx | 8 +- screen/transactions/TransactionStatus.tsx | 4 +- 16 files changed, 328 insertions(+), 31 deletions(-) create mode 100644 components/SettingsBlockExplorerCustomUrlListItem.tsx create mode 100644 models/blockExplorer.ts rename screen/settings/{NetworkSettings.js => NetworkSettings.tsx} (54%) create mode 100644 screen/settings/SettingsBlockExplorer.tsx diff --git a/blue_modules/notifications.js b/blue_modules/notifications.js index dc97ad4db..3fbb66c96 100644 --- a/blue_modules/notifications.js +++ b/blue_modules/notifications.js @@ -31,8 +31,6 @@ function Notifications(props) { return false; }; - Notifications.isNotificationsCapable = hasGmsSync() || hasHmsSync() || Platform.OS !== 'android'; - /** * Calls `configure`, which tries to obtain push token, save it, and registers all associated with * notifications callbacks @@ -131,7 +129,7 @@ function Notifications(props) { * @returns {Promise} TRUE if permissions were obtained, FALSE otherwise */ Notifications.tryToObtainPermissions = async function (anchor) { - if (!Notifications.isNotificationsCapable) return false; + if (!isNotificationsCapable) return false; if (await Notifications.getPushToken()) { // we already have a token, no sense asking again, just configure pushes to register callbacks and we are done if (!alreadyConfigured) configureNotifications(); // no await so it executes in background while we return TRUE and use token @@ -441,4 +439,6 @@ function Notifications(props) { return null; } +export const isNotificationsCapable = hasGmsSync() || hasHmsSync() || Platform.OS !== 'android'; + export default Notifications; diff --git a/components/Context/SettingsProvider.tsx b/components/Context/SettingsProvider.tsx index 444e98c10..dfde2b712 100644 --- a/components/Context/SettingsProvider.tsx +++ b/components/Context/SettingsProvider.tsx @@ -14,6 +14,7 @@ import { useStorage } from '../../hooks/context/useStorage'; import { BitcoinUnit } from '../../models/bitcoinUnits'; import { TotalWalletsBalanceKey, TotalWalletsBalancePreferredUnit } from '../TotalWalletsBalance'; import { LayoutAnimation } from 'react-native'; +import { BLOCK_EXPLORERS, getBlockExplorer, saveBlockExplorer } from '../../models/blockExplorer'; // DefaultPreference and AsyncStorage get/set @@ -85,6 +86,8 @@ interface SettingsContextType { setTotalBalancePreferredUnitStorage: (unit: BitcoinUnit) => Promise; isDrawerShouldHide: boolean; setIsDrawerShouldHide: (value: boolean) => void; + selectedBlockExplorer: string; + setBlockExplorerStorage: (url: string) => Promise; } const defaultSettingsContext: SettingsContextType = { @@ -112,6 +115,8 @@ const defaultSettingsContext: SettingsContextType = { setTotalBalancePreferredUnitStorage: async (unit: BitcoinUnit) => {}, isDrawerShouldHide: false, setIsDrawerShouldHide: () => {}, + selectedBlockExplorer: BLOCK_EXPLORERS.DEFAULT, + setBlockExplorerStorage: async () => false, }; export const SettingsContext = createContext(defaultSettingsContext); @@ -142,6 +147,8 @@ export const SettingsProvider: React.FC<{ children: React.ReactNode }> = ({ chil // Toggle Drawer (for screens like Manage Wallets or ScanQRCode) const [isDrawerShouldHide, setIsDrawerShouldHide] = useState(false); + const [selectedBlockExplorer, setSelectedBlockExplorer] = useState(BLOCK_EXPLORERS.DEFAULT); + const languageStorage = useAsyncStorage(STORAGE_KEY); const { walletsInitialized } = useStorage(); @@ -211,6 +218,14 @@ export const SettingsProvider: React.FC<{ children: React.ReactNode }> = ({ chil setTotalBalancePreferredUnitState(unit); }) .catch(error => console.error('Error fetching total balance preferred unit:', error)); + + getBlockExplorer() + .then(url => { + console.debug('SettingsContext blockExplorer:', url); + setSelectedBlockExplorer(url); + }) + .catch(error => console.error('Error fetching block explorer settings:', error)); + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); @@ -295,6 +310,14 @@ export const SettingsProvider: React.FC<{ children: React.ReactNode }> = ({ chil setTotalBalancePreferredUnitState(unit); }, []); + const setBlockExplorerStorage = useCallback(async (url: string): Promise => { + const success = await saveBlockExplorer(url); + if (success) { + setSelectedBlockExplorer(url); + } + return success; + }, []); + const value = useMemo( () => ({ preferredFiatCurrency, @@ -321,6 +344,8 @@ export const SettingsProvider: React.FC<{ children: React.ReactNode }> = ({ chil setTotalBalancePreferredUnitStorage, isDrawerShouldHide, setIsDrawerShouldHide, + selectedBlockExplorer, + setBlockExplorerStorage, }), [ preferredFiatCurrency, @@ -347,6 +372,8 @@ export const SettingsProvider: React.FC<{ children: React.ReactNode }> = ({ chil setTotalBalancePreferredUnitStorage, isDrawerShouldHide, setIsDrawerShouldHide, + selectedBlockExplorer, + setBlockExplorerStorage, ], ); diff --git a/components/SettingsBlockExplorerCustomUrlListItem.tsx b/components/SettingsBlockExplorerCustomUrlListItem.tsx new file mode 100644 index 000000000..aea693c84 --- /dev/null +++ b/components/SettingsBlockExplorerCustomUrlListItem.tsx @@ -0,0 +1,116 @@ +import React from 'react'; +import { StyleSheet, TextInput, View, TouchableOpacity } from 'react-native'; +import { ListItem as RNElementsListItem } from '@rneui/themed'; +import { useTheme } from './themes'; +import loc from '../loc'; + +interface SettingsBlockExplorerCustomUrlListItemProps { + title: string; + customUrl?: string; + onCustomUrlChange?: (url: string) => void; + onSubmitCustomUrl?: () => void; + selected: boolean; + onPress: () => void; + checkmark?: boolean; + isLoading?: boolean; +} + +const SettingsBlockExplorerCustomUrlListItem: React.FC = ({ + title, + customUrl, + onCustomUrlChange, + onSubmitCustomUrl, + selected, + onPress, + checkmark = false, + isLoading = false, +}) => { + const { colors } = useTheme(); + const styleHook = StyleSheet.create({ + uri: { + borderColor: colors.formBorder, + borderBottomColor: colors.formBorder, + backgroundColor: colors.inputBackgroundColor, + }, + containerStyle: { + backgroundColor: colors.background, + minHeight: checkmark ? 140 : 60, + }, + checkmarkContainer: { + justifyContent: 'center', + alignItems: 'center', // + }, + checkmarkStyle: { + backgroundColor: 'transparent', + borderWidth: 0, + }, + }); + + return ( + + + + {title} + + {checkmark && ( + + + + )} + + + {selected && ( + + + + )} + + ); +}; + +const styles = StyleSheet.create({ + title: { + fontSize: 16, + fontWeight: '500', + }, + uri: { + flexDirection: 'row', + borderWidth: 1, + borderBottomWidth: 0.5, + minHeight: 44, + height: 44, + alignItems: 'center', + borderRadius: 4, + }, + uriText: { + flex: 1, + color: '#81868e', + marginHorizontal: 8, + minHeight: 36, + height: 36, + }, +}); + +export default SettingsBlockExplorerCustomUrlListItem; diff --git a/components/TransactionListItem.tsx b/components/TransactionListItem.tsx index 239980f4f..65231255f 100644 --- a/components/TransactionListItem.tsx +++ b/components/TransactionListItem.tsx @@ -43,7 +43,7 @@ export const TransactionListItem: React.FC = React.mem const { navigate } = useExtendedNavigation(); const menuRef = useRef(); const { txMetadata, counterpartyMetadata, wallets } = useStorage(); - const { language } = useSettings(); + const { language, selectedBlockExplorer } = useSettings(); const containerStyle = useMemo( () => ({ backgroundColor: 'transparent', @@ -253,16 +253,16 @@ export const TransactionListItem: React.FC = React.mem const handleOnCopyTransactionID = useCallback(() => Clipboard.setString(item.hash), [item.hash]); const handleOnCopyNote = useCallback(() => Clipboard.setString(subtitle ?? ''), [subtitle]); const handleOnViewOnBlockExplorer = useCallback(() => { - const url = `https://mempool.space/tx/${item.hash}`; + const url = `${selectedBlockExplorer}/${item.hash}`; Linking.canOpenURL(url).then(supported => { if (supported) { Linking.openURL(url); } }); - }, [item.hash]); + }, [item.hash, selectedBlockExplorer]); const handleCopyOpenInBlockExplorerPress = useCallback(() => { - Clipboard.setString(`https://mempool.space/tx/${item.hash}`); - }, [item.hash]); + Clipboard.setString(`${selectedBlockExplorer}/${item.hash}`); + }, [item.hash, selectedBlockExplorer]); const onToolTipPress = useCallback( (id: any) => { diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 23cd31114..1b78d0995 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1596,7 +1596,7 @@ PODS: - React - RNCAsyncStorage (1.24.0): - React-Core - - RNCClipboard (1.14.1): + - RNCClipboard (1.14.2): - React-Core - RNCPushNotificationIOS (1.11.0): - React-Core @@ -1641,7 +1641,7 @@ PODS: - React - RNRate (1.2.12): - React-Core - - RNReactNativeHapticFeedback (2.3.1): + - RNReactNativeHapticFeedback (2.3.2): - DoubleConversion - glog - hermes-engine @@ -1751,7 +1751,7 @@ PODS: - Yoga - RNShare (10.2.1): - React-Core - - RNSVG (15.6.0): + - RNSVG (15.7.1): - React-Core - RNVectorIcons (10.2.0): - DoubleConversion @@ -2202,7 +2202,7 @@ SPEC CHECKSUMS: ReactNativeCameraKit: 9d46a5d7dd544ca64aa9c03c150d2348faf437eb RealmJS: 325a7b621587dd9945306d4cbfd6b641bc20e2dd RNCAsyncStorage: ec53e44dc3e75b44aa2a9f37618a49c3bc080a7a - RNCClipboard: 0a720adef5ec193aa0e3de24c3977222c7e52a37 + RNCClipboard: 5e503962f0719ace8f7fdfe9c60282b526305c85 RNCPushNotificationIOS: 64218f3c776c03d7408284a819b2abfda1834bc8 RNDefaultPreference: 08bdb06cfa9188d5da97d4642dac745218d7fb31 RNDeviceInfo: b899ce37a403a4dea52b7cb85e16e49c04a5b88e @@ -2215,11 +2215,11 @@ SPEC CHECKSUMS: RNPrivacySnapshot: 71919dde3c6a29dd332115409c2aec564afee8f4 RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93 RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a - RNReactNativeHapticFeedback: 2bdbd63bcdbb52c4ae81a7b0c48ab1f00c06980a + RNReactNativeHapticFeedback: 9b35ff960958c399b03581140fa2d1499c09c8b6 RNReanimated: ece067b779e0d6c7887c6bb80d381d0a0efd43c9 RNScreens: 19719a9c326e925498ac3b2d35c4e50fe87afc06 RNShare: 0fad69ae2d71de9d1f7b9a43acf876886a6cb99c - RNSVG: 5da7a24f31968ec74f0b091e3440080f347e279b + RNSVG: 4590aa95758149fa27c5c83e54a6a466349a1688 RNVectorIcons: 6382277afab3c54658e9d555ee0faa7a37827136 RNWatch: fd30ca40a5b5ef58dcbc195638e68219bc455236 SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d diff --git a/loc/en.json b/loc/en.json index 9ecf5079e..a099d1c48 100644 --- a/loc/en.json +++ b/loc/en.json @@ -10,6 +10,8 @@ "never": "Never", "of": "{number} of {total}", "ok": "OK", + "default": "Default", + "enter_url": "Enter URL", "storage_is_encrypted": "Your storage is encrypted. Password is required to decrypt it.", "yes": "Yes", "no": "No", @@ -262,6 +264,9 @@ "encrypt_storage_explanation_description_line1": "Enabling Storage Encryption adds an extra layer of protection to your app by securing the way your data is stored on your device. This makes it harder for anyone to access your information without permission.", "encrypt_storage_explanation_description_line2": "However, it's important to know that this encryption only protects the access to your wallets stored on the device's keychain. It doesn't put a password or any extra protection on the wallets themselves.", "i_understand": "I understand", + "block_explorer": "Block Explorer", + "block_explorer_custom": "Custom Block Explorer", + "block_explorer_error_saving_custom": "Error saving custom block explorer", "encrypt_title": "Security", "encrypt_tstorage": "Storage", "encrypt_use": "Use {type}", diff --git a/models/blockExplorer.ts b/models/blockExplorer.ts new file mode 100644 index 000000000..628892cbc --- /dev/null +++ b/models/blockExplorer.ts @@ -0,0 +1,32 @@ +import DefaultPreference from 'react-native-default-preference'; +import { GROUP_IO_BLUEWALLET } from '../blue_modules/currency'; + +export const BLOCK_EXPLORER = 'blockExplorer'; +export const BLOCK_EXPLORERS = { + DEFAULT: 'https://mempool.space/tx', + BLOCKCHAIR: 'https://blockchair.com', + BLOCKSTREAM: 'https://blockstream.info', + CUSTOM: 'custom', +}; + +export const getBlockExplorer = async (): Promise => { + try { + await DefaultPreference.setName(GROUP_IO_BLUEWALLET); + const selectedExplorer = await DefaultPreference.get(BLOCK_EXPLORER); + return selectedExplorer || BLOCK_EXPLORERS.DEFAULT; // Return the selected explorer or default to mempool.space + } catch (error) { + console.error('Error getting block explorer:', error); + return BLOCK_EXPLORERS.DEFAULT; + } +}; + +export const saveBlockExplorer = async (url: string): Promise => { + try { + await DefaultPreference.setName(GROUP_IO_BLUEWALLET); + await DefaultPreference.set(BLOCK_EXPLORER, url); // Save whatever URL is provided (either predefined or custom) + return true; + } catch (error) { + console.error('Error saving block explorer:', error); + return false; + } +}; diff --git a/navigation/DetailViewScreensStack.tsx b/navigation/DetailViewScreensStack.tsx index 5d8e34b06..c9915756a 100644 --- a/navigation/DetailViewScreensStack.tsx +++ b/navigation/DetailViewScreensStack.tsx @@ -31,6 +31,7 @@ import AddWalletStack from './AddWalletStack'; import AztecoRedeemStackRoot from './AztecoRedeemStack'; import { AboutComponent, + BlockExplorerSettingsComponent, CurrencyComponent, DefaultViewComponent, ElectrumSettingsComponent, @@ -304,6 +305,12 @@ const DetailViewStackScreensStack = () => { component={NetworkSettingsComponent} options={navigationStyle({ title: loc.settings.network })(theme)} /> + + import('../screen/settings/Settings')); const GeneralSettings = lazy(() => import('../screen/settings/GeneralSettings')); @@ -46,6 +47,12 @@ export const NetworkSettingsComponent = () => ( ); +export const BlockExplorerSettingsComponent = () => ( + }> + + +); + export const AboutComponent = () => ( }> diff --git a/screen/send/Broadcast.tsx b/screen/send/Broadcast.tsx index cd39c947e..55b17088d 100644 --- a/screen/send/Broadcast.tsx +++ b/screen/send/Broadcast.tsx @@ -23,6 +23,7 @@ import { useTheme } from '../../components/themes'; import { scanQrHelper } from '../../helpers/scan-qr'; import loc from '../../loc'; import { DetailViewStackParamList } from '../../navigation/DetailViewStackParamList'; +import { useSettings } from '../../hooks/context/useSettings'; const BROADCAST_RESULT = Object.freeze({ none: 'Input transaction hex', @@ -39,6 +40,7 @@ const Broadcast: React.FC = () => { const [txHex, setTxHex] = useState(); const { colors } = useTheme(); const [broadcastResult, setBroadcastResult] = useState(BROADCAST_RESULT.none); + const { selectedBlockExplorer } = useSettings(); const stylesHooks = StyleSheet.create({ input: { @@ -158,13 +160,13 @@ const Broadcast: React.FC = () => { )} - {BROADCAST_RESULT.success === broadcastResult && tx && } + {BROADCAST_RESULT.success === broadcastResult && tx && } ); }; -const SuccessScreen: React.FC<{ tx: string }> = ({ tx }) => { +const SuccessScreen: React.FC<{ tx: string; url: string }> = ({ tx, url }) => { if (!tx) { return null; } @@ -177,7 +179,7 @@ const SuccessScreen: React.FC<{ tx: string }> = ({ tx }) => { {loc.settings.success_transaction_broadcasted} - Linking.openURL(`https://mempool.space/tx/${tx}`)} /> + Linking.openURL(url)} /> diff --git a/screen/send/success.js b/screen/send/success.js index d8351bb04..f83dc22c2 100644 --- a/screen/send/success.js +++ b/screen/send/success.js @@ -13,12 +13,14 @@ import loc from '../../loc'; import { BitcoinUnit } from '../../models/bitcoinUnits'; import HandOffComponent from '../../components/HandOffComponent'; import { HandOffActivityType } from '../../components/types'; +import { useSettings } from '../../hooks/context/useSettings'; const Success = () => { const pop = () => { getParent().pop(); }; const { colors } = useTheme(); + const { selectedBlockExplorer } = useSettings(); const { getParent } = useNavigation(); const { amount, fee, amountUnit = BitcoinUnit.BTC, invoiceDescription = '', onDonePressed = pop, txid } = useRoute().params; const stylesHook = StyleSheet.create({ @@ -52,7 +54,7 @@ const Success = () => { )} diff --git a/screen/settings/NetworkSettings.js b/screen/settings/NetworkSettings.tsx similarity index 54% rename from screen/settings/NetworkSettings.js rename to screen/settings/NetworkSettings.tsx index b8bf06bab..40123ae9e 100644 --- a/screen/settings/NetworkSettings.js +++ b/screen/settings/NetworkSettings.tsx @@ -1,30 +1,34 @@ -import { useNavigation } from '@react-navigation/native'; import React from 'react'; import { ScrollView } from 'react-native'; - -import Notifications from '../../blue_modules/notifications'; +import { isNotificationsCapable } from '../../blue_modules/notifications'; import ListItem from '../../components/ListItem'; import loc from '../../loc'; +import { useExtendedNavigation } from '../../hooks/useExtendedNavigation'; -const NetworkSettings = () => { - const { navigate } = useNavigation(); +const NetworkSettings: React.FC = () => { + const navigation = useExtendedNavigation(); const navigateToElectrumSettings = () => { - navigate('ElectrumSettings'); + navigation.navigate('ElectrumSettings'); }; const navigateToLightningSettings = () => { - navigate('LightningSettings'); + navigation.navigate('LightningSettings'); + }; + + const navigateToBlockExplorerSettings = () => { + navigation.navigate('SettingsBlockExplorer'); }; return ( + - {Notifications.isNotificationsCapable && ( + {isNotificationsCapable && ( navigate('NotificationSettings')} + onPress={() => navigation.navigate('NotificationSettings')} testID="NotificationSettings" chevron /> diff --git a/screen/settings/SettingsBlockExplorer.tsx b/screen/settings/SettingsBlockExplorer.tsx new file mode 100644 index 000000000..38315a97e --- /dev/null +++ b/screen/settings/SettingsBlockExplorer.tsx @@ -0,0 +1,90 @@ +import React, { useState } from 'react'; +import { FlatList, Alert, StyleSheet } from 'react-native'; +import ListItem from '../../components/ListItem'; +import SettingsBlockExplorerCustomUrlListItem from '../../components/SettingsBlockExplorerCustomUrlListItem'; +import loc from '../../loc'; +import { BLOCK_EXPLORERS } from '../../models/blockExplorer'; +import { useTheme } from '../../components/themes'; +import { useSettings } from '../../hooks/context/useSettings'; + +const SettingsBlockExplorer: React.FC = () => { + const { selectedBlockExplorer, setBlockExplorerStorage } = useSettings(); + const [customUrlInput, setCustomUrlInput] = useState(selectedBlockExplorer || ''); + const { colors } = useTheme(); + + const blockExplorers = [ + { name: `${loc._.default} - Mempool.space`, key: 'default', url: BLOCK_EXPLORERS.DEFAULT }, + { name: 'Blockchair', key: 'blockchair', url: BLOCK_EXPLORERS.BLOCKCHAIR }, + { name: 'Blockstream.info', key: 'blockstream', url: BLOCK_EXPLORERS.BLOCKSTREAM }, + { name: loc.settings.block_explorer_custom, key: 'custom', url: null }, + ]; + + const handleExplorerPress = async (key: string, url: string | null) => { + if (key === 'custom') { + setCustomUrlInput(selectedBlockExplorer); + return; + } + + const success = await setBlockExplorerStorage(url!); + if (!success) { + Alert.alert(loc.errors.error, loc.settings.block_explorer_error_saving_custom); + } + }; + + const handleCustomUrlChange = (url: string) => { + setCustomUrlInput(url); + }; + + const handleSubmitCustomUrl = async () => { + if (!customUrlInput) return; + const success = await setBlockExplorerStorage(customUrlInput); + if (!success) { + Alert.alert(loc.errors.error, loc.settings.block_explorer_error_saving_custom); + } + }; + + const renderItem = ({ item }: { item: { name: string; key: string; url: string | null } }) => { + if (item.key === 'custom') { + return ( + handleExplorerPress(item.key, item.url)} + checkmark={selectedBlockExplorer === customUrlInput} + /> + ); + } + + return ( + handleExplorerPress(item.key, item.url)} + checkmark={selectedBlockExplorer === item.url} + disabled={selectedBlockExplorer === item.url} + containerStyle={{ backgroundColor: colors.background }} + /> + ); + }; + + return ( + item.key} + renderItem={renderItem} + contentInsetAdjustmentBehavior="automatic" + automaticallyAdjustContentInsets + style={[styles.container, { backgroundColor: colors.background }]} + /> + ); +}; + +export default SettingsBlockExplorer; + +const styles = StyleSheet.create({ + container: { + flex: 1, + }, +}); diff --git a/screen/transactions/TransactionDetails.tsx b/screen/transactions/TransactionDetails.tsx index 9374b519e..4851cf033 100644 --- a/screen/transactions/TransactionDetails.tsx +++ b/screen/transactions/TransactionDetails.tsx @@ -19,6 +19,7 @@ import { useExtendedNavigation } from '../../hooks/useExtendedNavigation'; import { DetailViewStackParamList } from '../../navigation/DetailViewStackParamList'; import { useStorage } from '../../hooks/context/useStorage'; import { HandOffActivityType } from '../../components/types'; +import { useSettings } from '../../hooks/context/useSettings'; const actionKeys = { CopyToClipboard: 'copyToClipboard', @@ -63,6 +64,7 @@ const TransactionDetails = () => { const { setOptions, navigate } = useExtendedNavigation(); const { hash, walletID } = useRoute().params; const { saveToDisk, txMetadata, counterpartyMetadata, wallets, getTransactions } = useStorage(); + const { selectedBlockExplorer } = useSettings(); const [from, setFrom] = useState([]); const [to, setTo] = useState([]); const [isLoading, setIsLoading] = useState(true); @@ -159,7 +161,7 @@ const TransactionDetails = () => { ); const handleOnOpenTransactionOnBlockExplorerTapped = () => { - const url = `https://mempool.space/tx/${tx?.hash}`; + const url = `${selectedBlockExplorer}/${tx?.hash}`; Linking.canOpenURL(url) .then(supported => { if (supported) { @@ -184,7 +186,7 @@ const TransactionDetails = () => { }; const handleCopyPress = (stringToCopy: string) => { - Clipboard.setString(stringToCopy !== actionKeys.CopyToClipboard ? stringToCopy : `https://mempool.space/tx/${tx?.hash}`); + Clipboard.setString(stringToCopy !== actionKeys.CopyToClipboard ? stringToCopy : `${selectedBlockExplorer}/${tx?.hash}`); }; if (isLoading || !tx) { @@ -255,7 +257,7 @@ const TransactionDetails = () => { diff --git a/screen/transactions/TransactionStatus.tsx b/screen/transactions/TransactionStatus.tsx index 5094c606a..c43ee5db9 100644 --- a/screen/transactions/TransactionStatus.tsx +++ b/screen/transactions/TransactionStatus.tsx @@ -21,6 +21,7 @@ import { useStorage } from '../../hooks/context/useStorage'; import { HandOffActivityType } from '../../components/types'; import HeaderRightButton from '../../components/HeaderRightButton'; import { DetailViewStackParamList } from '../../navigation/DetailViewStackParamList'; +import { useSettings } from '../../hooks/context/useSettings'; enum ButtonStatus { Possible, @@ -97,6 +98,7 @@ const TransactionStatus = () => { const { navigate, setOptions, goBack } = useNavigation(); const { colors } = useTheme(); const wallet = useRef(wallets.find(w => w.getID() === walletID)); + const { selectedBlockExplorer } = useSettings(); const fetchTxInterval = useRef(); const stylesHook = StyleSheet.create({ value: { @@ -481,7 +483,7 @@ const TransactionStatus = () => { From af5d024c94bb1aee916aea714cee9a5874be5311 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 18 Sep 2024 22:12:48 -0400 Subject: [PATCH 02/41] FIX: Make FContainer load first --- screen/wallets/WalletTransactions.tsx | 38 ++++++++++++++++----------- tests/e2e/bluewallet.spec.js | 4 ++- tests/e2e/bluewallet2.spec.js | 10 ++++++- tests/e2e/bluewallet3.spec.js | 4 +-- 4 files changed, 36 insertions(+), 20 deletions(-) diff --git a/screen/wallets/WalletTransactions.tsx b/screen/wallets/WalletTransactions.tsx index e58c2ca35..09adc2941 100644 --- a/screen/wallets/WalletTransactions.tsx +++ b/screen/wallets/WalletTransactions.tsx @@ -129,17 +129,23 @@ const WalletTransactions: React.FC = ({ route }) => { } }, [wallet, isElectrumDisabled, isLoading, saveToDisk, pageSize]); - useEffect(() => { - if (wallet && wallet.getLastTxFetch() === 0) { - refreshTransactions(); - } - }, [wallet, refreshTransactions]); + useFocusEffect( + useCallback(() => { + const task = InteractionManager.runAfterInteractions(() => { + if (wallet && wallet.getLastTxFetch() === 0) { + refreshTransactions(); + } + }); + + return () => task.cancel(); + }, [refreshTransactions, wallet]), + ); useEffect(() => { if (wallet) { - setSelectedWalletID(wallet.getID()); + setSelectedWalletID(walletID); } - }, [wallet, setSelectedWalletID]); + }, [wallet, setSelectedWalletID, walletID]); const isLightning = (): boolean => wallet?.chain === Chain.OFFCHAIN || false; @@ -174,7 +180,7 @@ const WalletTransactions: React.FC = ({ route }) => { navigate('SendDetailsRoot', { screen: 'SendDetails', params: { - walletID: wallet?.getID(), + walletID, }, }); }; @@ -183,8 +189,8 @@ const WalletTransactions: React.FC = ({ route }) => { assert(wallet?.type === LightningCustodianWallet.type, `internal error, wallet is not ${LightningCustodianWallet.type}`); navigate('WalletTransactions', { walletType: wallet?.type, - walletID: wallet?.getID(), - key: `WalletTransactions-${wallet?.getID()}`, + walletID, + key: `WalletTransactions-${walletID}`, }); // navigating back to ln wallet screen // getting refill address, either cached or from the server: @@ -253,7 +259,7 @@ const WalletTransactions: React.FC = ({ route }) => { if (!isLoading) { setIsLoading(true); const params = { - walletID: wallet?.getID(), + walletID, uri: ret?.data ? ret.data : ret, }; if (wallet?.chain === Chain.ONCHAIN) { @@ -264,7 +270,7 @@ const WalletTransactions: React.FC = ({ route }) => { setIsLoading(false); } }, - [wallet, navigate, isLoading], + [isLoading, walletID, wallet?.chain, navigate], ); const choosePhoto = () => { @@ -289,7 +295,7 @@ const WalletTransactions: React.FC = ({ route }) => { const sendButtonPress = () => { if (wallet?.chain === Chain.OFFCHAIN) { - return navigate('ScanLndInvoiceRoot', { screen: 'ScanLndInvoice', params: { walletID: wallet.getID() } }); + return navigate('ScanLndInvoiceRoot', { screen: 'ScanLndInvoice', params: { walletID } }); } if (wallet?.type === WatchOnlyWallet.type && wallet.isHd() && !wallet.useWithHardwareWalletEnabled()) { @@ -408,7 +414,7 @@ const WalletTransactions: React.FC = ({ route }) => { navigate('WalletExportRoot', { screen: 'WalletExport', params: { - walletID: wallet!.getID(), + walletID, }, }); }); @@ -461,9 +467,9 @@ const WalletTransactions: React.FC = ({ route }) => { text={loc.receive.header} onPress={() => { if (wallet.chain === Chain.OFFCHAIN) { - navigate('LNDCreateInvoiceRoot', { screen: 'LNDCreateInvoice', params: { walletID: wallet.getID() } }); + navigate('LNDCreateInvoiceRoot', { screen: 'LNDCreateInvoice', params: { walletID } }); } else { - navigate('ReceiveDetailsRoot', { screen: 'ReceiveDetails', params: { walletID: wallet.getID() } }); + navigate('ReceiveDetailsRoot', { screen: 'ReceiveDetails', params: { walletID } }); } }} icon={ diff --git a/tests/e2e/bluewallet.spec.js b/tests/e2e/bluewallet.spec.js index d20731be7..dcad3be76 100644 --- a/tests/e2e/bluewallet.spec.js +++ b/tests/e2e/bluewallet.spec.js @@ -178,6 +178,7 @@ describe('BlueWallet UI Tests - no wallets', () => { await yo('WalletsList'); await expect(element(by.id('cr34t3d'))).toBeVisible(); await element(by.id('cr34t3d')).tap(); + await yo('ReceiveButton'); await element(by.id('ReceiveButton')).tap(); await element(by.text('Yes, I have.')).tap(); try { @@ -506,7 +507,7 @@ describe('BlueWallet UI Tests - no wallets', () => { await element(by.id('CreateButton')).tap(); await yo('Multisig Vault'); await element(by.id('Multisig Vault')).tap(); // go inside the wallet - + await yo('ReceiveButton'); await element(by.id('ReceiveButton')).tap(); await element(by.text('Yes, I have.')).tap(); try { @@ -571,6 +572,7 @@ describe('BlueWallet UI Tests - no wallets', () => { // sending... + await yo('SendButton'); await element(by.id('SendButton')).tap(); await element(by.id('AddressInput')).replaceText('bc1q063ctu6jhe5k4v8ka99qac8rcm2tzjjnuktyrl'); diff --git a/tests/e2e/bluewallet2.spec.js b/tests/e2e/bluewallet2.spec.js index d4eb7f6d4..d37e630cd 100644 --- a/tests/e2e/bluewallet2.spec.js +++ b/tests/e2e/bluewallet2.spec.js @@ -40,6 +40,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { await element(by.text('Imported HD SegWit (BIP84 Bech32 Native)')).tap(); // lets create real transaction: + await yo('SendButton'); await element(by.id('SendButton')).tap(); await element(by.id('AddressInput')).replaceText('bc1q063ctu6jhe5k4v8ka99qac8rcm2tzjjnuktyrl'); await element(by.id('BitcoinAmountInput')).typeText('0.0001\n'); @@ -188,6 +189,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { // go inside the wallet await element(by.text('Imported HD SegWit (BIP84 Bech32 Native)')).tap(); + await yo('SendButton'); await element(by.id('SendButton')).tap(); // lets create real transaction: @@ -262,7 +264,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { // go inside the wallet await element(by.text('Imported HD SegWit (BIP84 Bech32 Native)')).tap(); - + await yo('SendButton'); await element(by.id('SendButton')).tap(); // set fee rate @@ -332,6 +334,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { // go inside the wallet await element(by.text('Imported HD SegWit (BIP84 Bech32 Native)')).tap(); + await yo('SendButton'); await element(by.id('SendButton')).tap(); await element(by.id('advancedOptionsMenuButton')).tap(); @@ -391,6 +394,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { // go to receive screen and check that payment code is there + await yo('ReceiveButton'); await element(by.id('ReceiveButton')).tap(); try { @@ -451,6 +455,8 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { await device.pressBack(); await device.pressBack(); await element(by.text('Imported HD SegWit (BIP84 Bech32 Native)')).tap(); + await yo('SendButton'); + await element(by.id('SendButton')).tap(); await element(by.id('advancedOptionsMenuButton')).tap(); await element(by.text('Insert Contact')).tap(); @@ -600,6 +606,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { await device.launchApp({ newInstance: true }); await yo('WalletsList'); await element(by.text('Imported HD SegWit (BIP84 Bech32 Native)')).tap(); + await yo('SendButton'); await element(by.id('SendButton')).tap(); await element(by.id('advancedOptionsMenuButton')).tap(); await element(by.text('Coin Control')).tap(); @@ -647,6 +654,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { await device.pressBack(); // create tx with unfrozen input + await yo('SendButton'); await element(by.id('SendButton')).tap(); await element(by.id('AddressInput')).replaceText('bc1q063ctu6jhe5k4v8ka99qac8rcm2tzjjnuktyrl'); await element(by.id('advancedOptionsMenuButton')).tap(); diff --git a/tests/e2e/bluewallet3.spec.js b/tests/e2e/bluewallet3.spec.js index 47130fcfd..06af50184 100644 --- a/tests/e2e/bluewallet3.spec.js +++ b/tests/e2e/bluewallet3.spec.js @@ -29,7 +29,7 @@ describe('BlueWallet UI Tests - import Watch-only wallet (zpub)', () => { '0.0001', ); await sleep(15000); - + await yo('ReceiveButton'); await element(by.id('ReceiveButton')).tap(); try { // in case emulator has no google services and doesnt support pushes @@ -51,7 +51,7 @@ describe('BlueWallet UI Tests - import Watch-only wallet (zpub)', () => { await expect(element(by.text('bitcoin:bc1qc8wun6lf9vcajpddtgdpd2pdrp0kwp29j6upgv?amount=1&label=Test'))).toBeVisible(); await device.pressBack(); - + await yo('SendButton'); await element(by.id('SendButton')).tap(); await element(by.text('OK')).tap(); From 23026e592860c1a9615f1a3b30ab20d7ef243d03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Wed, 18 Sep 2024 23:29:34 -0400 Subject: [PATCH 03/41] Update bluewallet3.spec.js --- tests/e2e/bluewallet3.spec.js | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/e2e/bluewallet3.spec.js b/tests/e2e/bluewallet3.spec.js index 06af50184..19312e47f 100644 --- a/tests/e2e/bluewallet3.spec.js +++ b/tests/e2e/bluewallet3.spec.js @@ -29,7 +29,6 @@ describe('BlueWallet UI Tests - import Watch-only wallet (zpub)', () => { '0.0001', ); await sleep(15000); - await yo('ReceiveButton'); await element(by.id('ReceiveButton')).tap(); try { // in case emulator has no google services and doesnt support pushes From 2d0416afaf0b3e769981841fedb542603e40241d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Thu, 19 Sep 2024 01:09:44 -0400 Subject: [PATCH 04/41] Update bluewallet3.spec.js --- tests/e2e/bluewallet3.spec.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/e2e/bluewallet3.spec.js b/tests/e2e/bluewallet3.spec.js index 19312e47f..e2af835c6 100644 --- a/tests/e2e/bluewallet3.spec.js +++ b/tests/e2e/bluewallet3.spec.js @@ -1,4 +1,4 @@ -import { hashIt, helperDeleteWallet, helperImportWallet, sleep, yo } from './helperz'; +import { hashIt, helperDeleteWallet, helperImportWallet, sleep } from './helperz'; beforeAll(async () => { // reinstalling the app just for any case to clean up app's storage @@ -50,7 +50,6 @@ describe('BlueWallet UI Tests - import Watch-only wallet (zpub)', () => { await expect(element(by.text('bitcoin:bc1qc8wun6lf9vcajpddtgdpd2pdrp0kwp29j6upgv?amount=1&label=Test'))).toBeVisible(); await device.pressBack(); - await yo('SendButton'); await element(by.id('SendButton')).tap(); await element(by.text('OK')).tap(); From 08e0167a45cee39207500bc8ea4d07861a31d985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Thu, 19 Sep 2024 02:23:59 -0400 Subject: [PATCH 05/41] Update bluewallet3.spec.js --- tests/e2e/bluewallet3.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/bluewallet3.spec.js b/tests/e2e/bluewallet3.spec.js index e2af835c6..1b6c79fd9 100644 --- a/tests/e2e/bluewallet3.spec.js +++ b/tests/e2e/bluewallet3.spec.js @@ -1,4 +1,4 @@ -import { hashIt, helperDeleteWallet, helperImportWallet, sleep } from './helperz'; +import { hashIt, helperDeleteWallet, helperImportWallet, sleep, yo } from './helperz'; beforeAll(async () => { // reinstalling the app just for any case to clean up app's storage From f7a03d25eb31aa7159bf4a002c5a7ceb84f2108e Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Mon, 23 Sep 2024 22:36:14 -0400 Subject: [PATCH 06/41] wip --- components/Context/SettingsProvider.tsx | 2 +- ...SettingsBlockExplorerCustomUrlListItem.tsx | 13 +++- components/TransactionListItem.tsx | 4 +- loc/en.json | 2 + models/blockExplorer.ts | 13 +++- screen/send/Broadcast.tsx | 2 +- screen/send/success.js | 2 +- screen/settings/SettingsBlockExplorer.tsx | 61 ++++++++++++++----- screen/transactions/TransactionDetails.tsx | 6 +- screen/transactions/TransactionStatus.tsx | 2 +- 10 files changed, 78 insertions(+), 29 deletions(-) diff --git a/components/Context/SettingsProvider.tsx b/components/Context/SettingsProvider.tsx index dfde2b712..4c0ec8dd0 100644 --- a/components/Context/SettingsProvider.tsx +++ b/components/Context/SettingsProvider.tsx @@ -14,7 +14,7 @@ import { useStorage } from '../../hooks/context/useStorage'; import { BitcoinUnit } from '../../models/bitcoinUnits'; import { TotalWalletsBalanceKey, TotalWalletsBalancePreferredUnit } from '../TotalWalletsBalance'; import { LayoutAnimation } from 'react-native'; -import { BLOCK_EXPLORERS, getBlockExplorer, saveBlockExplorer } from '../../models/blockExplorer'; +import { BLOCK_EXPLORERS, getBlockExplorer, saveBlockExplorer } from '../../models/blockExplorer'; // DefaultPreference and AsyncStorage get/set diff --git a/components/SettingsBlockExplorerCustomUrlListItem.tsx b/components/SettingsBlockExplorerCustomUrlListItem.tsx index aea693c84..45dd3a503 100644 --- a/components/SettingsBlockExplorerCustomUrlListItem.tsx +++ b/components/SettingsBlockExplorerCustomUrlListItem.tsx @@ -13,6 +13,9 @@ interface SettingsBlockExplorerCustomUrlListItemProps { onPress: () => void; checkmark?: boolean; isLoading?: boolean; + onFocus?: () => void; + onBlur?: () => void; + inputRef?: React.RefObject; } const SettingsBlockExplorerCustomUrlListItem: React.FC = ({ @@ -24,6 +27,9 @@ const SettingsBlockExplorerCustomUrlListItem: React.FC { const { colors } = useTheme(); const styleHook = StyleSheet.create({ @@ -34,11 +40,11 @@ const SettingsBlockExplorerCustomUrlListItem: React.FC diff --git a/components/TransactionListItem.tsx b/components/TransactionListItem.tsx index a9d2643fa..1d5085e60 100644 --- a/components/TransactionListItem.tsx +++ b/components/TransactionListItem.tsx @@ -253,7 +253,7 @@ export const TransactionListItem: React.FC = React.mem const handleOnCopyTransactionID = useCallback(() => Clipboard.setString(item.hash), [item.hash]); const handleOnCopyNote = useCallback(() => Clipboard.setString(subtitle ?? ''), [subtitle]); const handleOnViewOnBlockExplorer = useCallback(() => { - const url = `${selectedBlockExplorer}/${item.hash}`; + const url = `${selectedBlockExplorer}/tx/${item.hash}`; Linking.canOpenURL(url).then(supported => { if (supported) { Linking.openURL(url); @@ -261,7 +261,7 @@ export const TransactionListItem: React.FC = React.mem }); }, [item.hash, selectedBlockExplorer]); const handleCopyOpenInBlockExplorerPress = useCallback(() => { - Clipboard.setString(`${selectedBlockExplorer}/${item.hash}`); + Clipboard.setString(`${selectedBlockExplorer}/tx/${item.hash}`); }, [item.hash, selectedBlockExplorer]); const onToolTipPress = useCallback( diff --git a/loc/en.json b/loc/en.json index a099d1c48..98330eb94 100644 --- a/loc/en.json +++ b/loc/en.json @@ -210,7 +210,9 @@ "about_review": "Leave us a review", "performance_score": "Performance score: {num}", "run_performance_test": "Test performance", + "enter_custom_url": "Enter custom block explorer URL", "about_selftest": "Run self-test", + "block_explorer_invalid_custom_url": "The custom URL provided is invalid. Please enter a valid URL starting with http:// or https://.", "about_selftest_electrum_disabled": "Self-testing is not available with Electrum Offline Mode. Please disable offline mode and try again.", "about_selftest_ok": "All internal tests have passed successfully. The wallet works well.", "about_sm_github": "GitHub", diff --git a/models/blockExplorer.ts b/models/blockExplorer.ts index 628892cbc..408817258 100644 --- a/models/blockExplorer.ts +++ b/models/blockExplorer.ts @@ -1,14 +1,23 @@ import DefaultPreference from 'react-native-default-preference'; import { GROUP_IO_BLUEWALLET } from '../blue_modules/currency'; +import loc from '../loc'; export const BLOCK_EXPLORER = 'blockExplorer'; + export const BLOCK_EXPLORERS = { - DEFAULT: 'https://mempool.space/tx', + DEFAULT: 'https://mempool.space', BLOCKCHAIR: 'https://blockchair.com', BLOCKSTREAM: 'https://blockstream.info', CUSTOM: 'custom', }; +export const blockExplorers = [ + { name: `${loc._.default} - Mempool.space`, key: 'default', url: BLOCK_EXPLORERS.DEFAULT }, + { name: 'Blockchair', key: 'blockchair', url: BLOCK_EXPLORERS.BLOCKCHAIR }, + { name: 'Blockstream.info', key: 'blockstream', url: BLOCK_EXPLORERS.BLOCKSTREAM }, + { name: loc.settings.block_explorer_custom, key: 'custom', url: null }, +]; + export const getBlockExplorer = async (): Promise => { try { await DefaultPreference.setName(GROUP_IO_BLUEWALLET); @@ -23,7 +32,7 @@ export const getBlockExplorer = async (): Promise => { export const saveBlockExplorer = async (url: string): Promise => { try { await DefaultPreference.setName(GROUP_IO_BLUEWALLET); - await DefaultPreference.set(BLOCK_EXPLORER, url); // Save whatever URL is provided (either predefined or custom) + await DefaultPreference.set(BLOCK_EXPLORER, url); return true; } catch (error) { console.error('Error saving block explorer:', error); diff --git a/screen/send/Broadcast.tsx b/screen/send/Broadcast.tsx index 55b17088d..4b434ed47 100644 --- a/screen/send/Broadcast.tsx +++ b/screen/send/Broadcast.tsx @@ -160,7 +160,7 @@ const Broadcast: React.FC = () => { )} - {BROADCAST_RESULT.success === broadcastResult && tx && } + {BROADCAST_RESULT.success === broadcastResult && tx && } ); diff --git a/screen/send/success.js b/screen/send/success.js index f83dc22c2..6be333ca6 100644 --- a/screen/send/success.js +++ b/screen/send/success.js @@ -54,7 +54,7 @@ const Success = () => { )} diff --git a/screen/settings/SettingsBlockExplorer.tsx b/screen/settings/SettingsBlockExplorer.tsx index 38315a97e..6d45e537e 100644 --- a/screen/settings/SettingsBlockExplorer.tsx +++ b/screen/settings/SettingsBlockExplorer.tsx @@ -1,30 +1,40 @@ -import React, { useState } from 'react'; -import { FlatList, Alert, StyleSheet } from 'react-native'; +import React, { useState, useRef } from 'react'; +import { FlatList, Alert, StyleSheet, TextInput } from 'react-native'; import ListItem from '../../components/ListItem'; import SettingsBlockExplorerCustomUrlListItem from '../../components/SettingsBlockExplorerCustomUrlListItem'; import loc from '../../loc'; -import { BLOCK_EXPLORERS } from '../../models/blockExplorer'; import { useTheme } from '../../components/themes'; import { useSettings } from '../../hooks/context/useSettings'; +import { blockExplorers } from '../../models/blockExplorer'; + +const normalizeUrl = (url: string) => url.replace(/\/+$/, ''); + +const isValidUrl = (url: string) => { + const urlPattern = /^(https?:\/\/)/; + return urlPattern.test(url); +}; const SettingsBlockExplorer: React.FC = () => { const { selectedBlockExplorer, setBlockExplorerStorage } = useSettings(); const [customUrlInput, setCustomUrlInput] = useState(selectedBlockExplorer || ''); + const [prevSelectedBlockExplorer, setPrevSelectedBlockExplorer] = useState(selectedBlockExplorer); // Use prevSelectedBlockExplorer + const [isCustomSelected, setIsCustomSelected] = useState(false); + const customUrlInputRef = useRef(null); const { colors } = useTheme(); - const blockExplorers = [ - { name: `${loc._.default} - Mempool.space`, key: 'default', url: BLOCK_EXPLORERS.DEFAULT }, - { name: 'Blockchair', key: 'blockchair', url: BLOCK_EXPLORERS.BLOCKCHAIR }, - { name: 'Blockstream.info', key: 'blockstream', url: BLOCK_EXPLORERS.BLOCKSTREAM }, - { name: loc.settings.block_explorer_custom, key: 'custom', url: null }, - ]; + const isSelectedExplorer = (url: string | null) => { + if (!url && selectedBlockExplorer === customUrlInput) return true; + return normalizeUrl(selectedBlockExplorer) === normalizeUrl(url || ''); + }; const handleExplorerPress = async (key: string, url: string | null) => { if (key === 'custom') { - setCustomUrlInput(selectedBlockExplorer); + setIsCustomSelected(true); + setPrevSelectedBlockExplorer(selectedBlockExplorer); // Store previous selection return; } - + setCustomUrlInput(''); + setIsCustomSelected(false); const success = await setBlockExplorerStorage(url!); if (!success) { Alert.alert(loc.errors.error, loc.settings.block_explorer_error_saving_custom); @@ -36,24 +46,44 @@ const SettingsBlockExplorer: React.FC = () => { }; const handleSubmitCustomUrl = async () => { - if (!customUrlInput) return; + if (!customUrlInput || !isValidUrl(customUrlInput)) { + Alert.alert(loc.errors.error, loc.settings.block_explorer_invalid_custom_url); + customUrlInputRef.current?.focus(); + await setBlockExplorerStorage(prevSelectedBlockExplorer); // Revert to previous block explorer + return; + } const success = await setBlockExplorerStorage(customUrlInput); if (!success) { Alert.alert(loc.errors.error, loc.settings.block_explorer_error_saving_custom); } }; + const handleCustomUrlBlur = async () => { + if (isValidUrl(customUrlInput)) { + setIsCustomSelected(false); + } else { + await handleSubmitCustomUrl(); // Revert to previous block explorer if invalid + } + }; + + const handleCustomUrlFocus = () => { + setIsCustomSelected(true); + }; + const renderItem = ({ item }: { item: { name: string; key: string; url: string | null } }) => { if (item.key === 'custom') { return ( handleExplorerPress(item.key, item.url)} - checkmark={selectedBlockExplorer === customUrlInput} + onFocus={handleCustomUrlFocus} + onBlur={handleCustomUrlBlur} + inputRef={customUrlInputRef} + checkmark={isSelectedExplorer(null)} /> ); } @@ -62,8 +92,7 @@ const SettingsBlockExplorer: React.FC = () => { handleExplorerPress(item.key, item.url)} - checkmark={selectedBlockExplorer === item.url} - disabled={selectedBlockExplorer === item.url} + checkmark={isSelectedExplorer(item.url)} containerStyle={{ backgroundColor: colors.background }} /> ); diff --git a/screen/transactions/TransactionDetails.tsx b/screen/transactions/TransactionDetails.tsx index 4851cf033..094907b3e 100644 --- a/screen/transactions/TransactionDetails.tsx +++ b/screen/transactions/TransactionDetails.tsx @@ -161,7 +161,7 @@ const TransactionDetails = () => { ); const handleOnOpenTransactionOnBlockExplorerTapped = () => { - const url = `${selectedBlockExplorer}/${tx?.hash}`; + const url = `${selectedBlockExplorer}/tx/${tx?.hash}`; Linking.canOpenURL(url) .then(supported => { if (supported) { @@ -186,7 +186,7 @@ const TransactionDetails = () => { }; const handleCopyPress = (stringToCopy: string) => { - Clipboard.setString(stringToCopy !== actionKeys.CopyToClipboard ? stringToCopy : `${selectedBlockExplorer}/${tx?.hash}`); + Clipboard.setString(stringToCopy !== actionKeys.CopyToClipboard ? stringToCopy : `${selectedBlockExplorer}/tx/${tx?.hash}`); }; if (isLoading || !tx) { @@ -257,7 +257,7 @@ const TransactionDetails = () => { diff --git a/screen/transactions/TransactionStatus.tsx b/screen/transactions/TransactionStatus.tsx index c43ee5db9..8b45bb9d5 100644 --- a/screen/transactions/TransactionStatus.tsx +++ b/screen/transactions/TransactionStatus.tsx @@ -483,7 +483,7 @@ const TransactionStatus = () => { From c675bf290bd412499143635e4e1ed30354650737 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Thu, 26 Sep 2024 02:36:51 -0400 Subject: [PATCH 07/41] wip --- components/Context/SettingsProvider.tsx | 29 +- ...SettingsBlockExplorerCustomUrlListItem.tsx | 118 +++----- components/themes.ts | 1 + loc/en.json | 12 +- models/blockExplorer.ts | 84 ++++-- navigation/DetailViewStackParamList.ts | 2 +- screen/settings/SettingsBlockExplorer.tsx | 260 ++++++++++++------ 7 files changed, 306 insertions(+), 200 deletions(-) diff --git a/components/Context/SettingsProvider.tsx b/components/Context/SettingsProvider.tsx index 4c0ec8dd0..bbe01aa49 100644 --- a/components/Context/SettingsProvider.tsx +++ b/components/Context/SettingsProvider.tsx @@ -14,7 +14,7 @@ import { useStorage } from '../../hooks/context/useStorage'; import { BitcoinUnit } from '../../models/bitcoinUnits'; import { TotalWalletsBalanceKey, TotalWalletsBalancePreferredUnit } from '../TotalWalletsBalance'; import { LayoutAnimation } from 'react-native'; -import { BLOCK_EXPLORERS, getBlockExplorer, saveBlockExplorer } from '../../models/blockExplorer'; +import { BLOCK_EXPLORERS, getBlockExplorerUrl, saveBlockExplorer, BlockExplorer, normalizeUrl } from '../../models/blockExplorer'; // DefaultPreference and AsyncStorage get/set @@ -86,8 +86,8 @@ interface SettingsContextType { setTotalBalancePreferredUnitStorage: (unit: BitcoinUnit) => Promise; isDrawerShouldHide: boolean; setIsDrawerShouldHide: (value: boolean) => void; - selectedBlockExplorer: string; - setBlockExplorerStorage: (url: string) => Promise; + selectedBlockExplorer: BlockExplorer; + setBlockExplorerStorage: (explorer: BlockExplorer) => Promise; } const defaultSettingsContext: SettingsContextType = { @@ -115,8 +115,8 @@ const defaultSettingsContext: SettingsContextType = { setTotalBalancePreferredUnitStorage: async (unit: BitcoinUnit) => {}, isDrawerShouldHide: false, setIsDrawerShouldHide: () => {}, - selectedBlockExplorer: BLOCK_EXPLORERS.DEFAULT, - setBlockExplorerStorage: async () => false, + selectedBlockExplorer: BLOCK_EXPLORERS.default, + setBlockExplorerStorage: async (explorer: BlockExplorer) => false, }; export const SettingsContext = createContext(defaultSettingsContext); @@ -147,7 +147,7 @@ export const SettingsProvider: React.FC<{ children: React.ReactNode }> = ({ chil // Toggle Drawer (for screens like Manage Wallets or ScanQRCode) const [isDrawerShouldHide, setIsDrawerShouldHide] = useState(false); - const [selectedBlockExplorer, setSelectedBlockExplorer] = useState(BLOCK_EXPLORERS.DEFAULT); + const [selectedBlockExplorer, setSelectedBlockExplorer] = useState(BLOCK_EXPLORERS.default); const languageStorage = useAsyncStorage(STORAGE_KEY); const { walletsInitialized } = useStorage(); @@ -218,11 +218,15 @@ export const SettingsProvider: React.FC<{ children: React.ReactNode }> = ({ chil setTotalBalancePreferredUnitState(unit); }) .catch(error => console.error('Error fetching total balance preferred unit:', error)); - - getBlockExplorer() + getBlockExplorerUrl() .then(url => { console.debug('SettingsContext blockExplorer:', url); - setSelectedBlockExplorer(url); + const predefinedExplorer = Object.values(BLOCK_EXPLORERS).find(explorer => normalizeUrl(explorer.url) === normalizeUrl(url)); + if (predefinedExplorer) { + setSelectedBlockExplorer(predefinedExplorer); + } else { + setSelectedBlockExplorer({ key: 'custom', name: 'Custom', url }); + } }) .catch(error => console.error('Error fetching block explorer settings:', error)); @@ -310,14 +314,13 @@ export const SettingsProvider: React.FC<{ children: React.ReactNode }> = ({ chil setTotalBalancePreferredUnitState(unit); }, []); - const setBlockExplorerStorage = useCallback(async (url: string): Promise => { - const success = await saveBlockExplorer(url); + const setBlockExplorerStorage = useCallback(async (explorer: BlockExplorer): Promise => { + const success = await saveBlockExplorer(explorer.url); if (success) { - setSelectedBlockExplorer(url); + setSelectedBlockExplorer(explorer); } return success; }, []); - const value = useMemo( () => ({ preferredFiatCurrency, diff --git a/components/SettingsBlockExplorerCustomUrlListItem.tsx b/components/SettingsBlockExplorerCustomUrlListItem.tsx index 45dd3a503..15b04bbf7 100644 --- a/components/SettingsBlockExplorerCustomUrlListItem.tsx +++ b/components/SettingsBlockExplorerCustomUrlListItem.tsx @@ -1,125 +1,89 @@ import React from 'react'; -import { StyleSheet, TextInput, View, TouchableOpacity } from 'react-native'; -import { ListItem as RNElementsListItem } from '@rneui/themed'; +import { StyleSheet, TextInput, View, Switch } from 'react-native'; +import { ListItem } from '@rneui/themed'; import { useTheme } from './themes'; import loc from '../loc'; -interface SettingsBlockExplorerCustomUrlListItemProps { - title: string; - customUrl?: string; - onCustomUrlChange?: (url: string) => void; - onSubmitCustomUrl?: () => void; - selected: boolean; - onPress: () => void; - checkmark?: boolean; - isLoading?: boolean; - onFocus?: () => void; - onBlur?: () => void; +interface SettingsBlockExplorerCustomUrlItemProps { + isCustomEnabled: boolean; + onSwitchToggle: (value: boolean) => void; + customUrl: string; + onCustomUrlChange: (url: string) => void; + onSubmitCustomUrl: () => void; inputRef?: React.RefObject; } -const SettingsBlockExplorerCustomUrlListItem: React.FC = ({ - title, +const SettingsBlockExplorerCustomUrlItem: React.FC = ({ + isCustomEnabled, + onSwitchToggle, customUrl, onCustomUrlChange, onSubmitCustomUrl, - selected, - onPress, - checkmark = false, - isLoading = false, - onFocus, - onBlur, inputRef, }) => { const { colors } = useTheme(); - const styleHook = StyleSheet.create({ - uri: { - borderColor: colors.formBorder, - borderBottomColor: colors.formBorder, - backgroundColor: colors.inputBackgroundColor, - }, - containerStyle: { - backgroundColor: colors.background, - minHeight: selected ? 140 : 60, - }, - checkmarkContainer: { - justifyContent: 'center', - alignItems: 'center', - }, - checkmarkStyle: { - backgroundColor: 'transparent', - borderWidth: 0, - }, - }); return ( - - - - {title} - - {checkmark && ( - - - - )} - + <> + + + {loc.settings.block_explorer_preferred} + + + - {selected && ( - + {isCustomEnabled && ( + )} - + ); }; +export default SettingsBlockExplorerCustomUrlItem; + const styles = StyleSheet.create({ + container: { + minHeight: 60, + paddingVertical: 10, + }, title: { fontSize: 16, fontWeight: '500', }, - uri: { + uriContainer: { flexDirection: 'row', borderWidth: 1, - borderBottomWidth: 0.5, - minHeight: 44, - height: 44, - alignItems: 'center', borderRadius: 4, + marginHorizontal: 15, + marginVertical: 10, + paddingHorizontal: 10, + alignItems: 'center', }, uriText: { flex: 1, - color: '#81868e', - marginHorizontal: 8, minHeight: 36, - height: 36, }, }); - -export default SettingsBlockExplorerCustomUrlListItem; diff --git a/components/themes.ts b/components/themes.ts index bb91e61bc..d285b35b8 100644 --- a/components/themes.ts +++ b/components/themes.ts @@ -31,6 +31,7 @@ export const BlueDefaultTheme = { outgoingForegroundColor: '#d0021b', successColor: '#37c0a1', failedColor: '#ff0000', + placeholderTextColor: '#81868e', shadowColor: '#000000', inverseForegroundColor: '#ffffff', hdborderColor: '#68BBE1', diff --git a/loc/en.json b/loc/en.json index de443bcae..10327e269 100644 --- a/loc/en.json +++ b/loc/en.json @@ -10,7 +10,6 @@ "never": "Never", "of": "{number} of {total}", "ok": "OK", - "default": "Default", "enter_url": "Enter URL", "storage_is_encrypted": "Your storage is encrypted. Password is required to decrypt it.", "yes": "Yes", @@ -27,7 +26,8 @@ "pick_file": "Choose a file", "enter_amount": "Enter amount", "qr_custom_input_button": "Tap 10 times to enter custom input", - "unlock": "Unlock" + "unlock": "Unlock", + "suggested": "Suggested" }, "azteco": { "codeIs": "Your voucher code is", @@ -207,11 +207,11 @@ "about_review": "Leave us a review", "performance_score": "Performance score: {num}", "run_performance_test": "Test performance", - "enter_custom_url": "Enter custom block explorer URL", "about_selftest": "Run self-test", - "block_explorer_invalid_custom_url": "The custom URL provided is invalid. Please enter a valid URL starting with http:// or https://.", + "block_explorer_invalid_custom_url": "The URL provided is invalid. Please enter a valid URL starting with http:// or https://.", "about_selftest_electrum_disabled": "Self-testing is not available with Electrum Offline Mode. Please disable offline mode and try again.", "about_selftest_ok": "All internal tests have passed successfully. The wallet works well.", + "about_sm_github": "GitHub", "about_sm_discord": "Discord Server", "about_sm_telegram": "Telegram channel", @@ -264,8 +264,8 @@ "encrypt_storage_explanation_description_line2": "However, it's important to know that this encryption only protects the access to your wallets stored on the device's keychain. It doesn't put a password or any extra protection on the wallets themselves.", "i_understand": "I understand", "block_explorer": "Block Explorer", - "block_explorer_custom": "Custom Block Explorer", - "block_explorer_error_saving_custom": "Error saving custom block explorer", + "block_explorer_preferred": "Use preferred block explorer", + "block_explorer_error_saving_custom": "Error saving preferred block explorer", "encrypt_title": "Security", "encrypt_tstorage": "Storage", "encrypt_use": "Use {type}", diff --git a/models/blockExplorer.ts b/models/blockExplorer.ts index 408817258..1b4a9cc94 100644 --- a/models/blockExplorer.ts +++ b/models/blockExplorer.ts @@ -1,41 +1,79 @@ +// blockExplorer.ts import DefaultPreference from 'react-native-default-preference'; -import { GROUP_IO_BLUEWALLET } from '../blue_modules/currency'; -import loc from '../loc'; -export const BLOCK_EXPLORER = 'blockExplorer'; +export interface BlockExplorer { + key: string; + name: string; + url: string; +} -export const BLOCK_EXPLORERS = { - DEFAULT: 'https://mempool.space', - BLOCKCHAIR: 'https://blockchair.com', - BLOCKSTREAM: 'https://blockstream.info', - CUSTOM: 'custom', +export const BLOCK_EXPLORERS: { [key: string]: BlockExplorer } = { + default: { key: 'default', name: 'Mempool.space', url: 'https://mempool.space' }, + blockchair: { key: 'blockchair', name: 'Blockchair', url: 'https://blockchair.com/bitcoin' }, + blockstream: { key: 'blockstream', name: 'Blockstream.info', url: 'https://blockstream.info' }, + custom: { key: 'custom', name: 'Custom', url: '' }, // Custom URL will be handled separately }; -export const blockExplorers = [ - { name: `${loc._.default} - Mempool.space`, key: 'default', url: BLOCK_EXPLORERS.DEFAULT }, - { name: 'Blockchair', key: 'blockchair', url: BLOCK_EXPLORERS.BLOCKCHAIR }, - { name: 'Blockstream.info', key: 'blockstream', url: BLOCK_EXPLORERS.BLOCKSTREAM }, - { name: loc.settings.block_explorer_custom, key: 'custom', url: null }, -]; +export const getBlockExplorersList = (): BlockExplorer[] => { + return Object.values(BLOCK_EXPLORERS); +}; -export const getBlockExplorer = async (): Promise => { +export const normalizeUrl = (url: string): string => { + return url.replace(/\/+$/, ''); +}; + +export const isValidUrl = (url: string): boolean => { + const pattern = /^(https?:\/\/)/; + return pattern.test(url); +}; + +export const findMatchingExplorerByDomain = (url: string): BlockExplorer | null => { + const domain = getDomain(url); + for (const explorer of Object.values(BLOCK_EXPLORERS)) { + if (getDomain(explorer.url) === domain) { + return explorer; + } + } + return null; +}; + +export const getDomain = (url: string): string => { try { - await DefaultPreference.setName(GROUP_IO_BLUEWALLET); - const selectedExplorer = await DefaultPreference.get(BLOCK_EXPLORER); - return selectedExplorer || BLOCK_EXPLORERS.DEFAULT; // Return the selected explorer or default to mempool.space - } catch (error) { - console.error('Error getting block explorer:', error); - return BLOCK_EXPLORERS.DEFAULT; + const hostname = new URL(url).hostname; + return hostname.replace(/^www\./, ''); + } catch { + return ''; } }; +const BLOCK_EXPLORER_STORAGE_KEY = 'blockExplorer'; + export const saveBlockExplorer = async (url: string): Promise => { try { - await DefaultPreference.setName(GROUP_IO_BLUEWALLET); - await DefaultPreference.set(BLOCK_EXPLORER, url); + await DefaultPreference.set(BLOCK_EXPLORER_STORAGE_KEY, url); return true; } catch (error) { console.error('Error saving block explorer:', error); return false; } }; + +export const removeBlockExplorer = async (): Promise => { + try { + await DefaultPreference.clear(BLOCK_EXPLORER_STORAGE_KEY); + return true; + } catch (error) { + console.error('Error removing block explorer:', error); + return false; + } +}; + +export const getBlockExplorerUrl = async (): Promise => { + try { + const url = await DefaultPreference.get(BLOCK_EXPLORER_STORAGE_KEY); + return url ?? BLOCK_EXPLORERS.default.url; + } catch (error) { + console.error('Error getting block explorer:', error); + return BLOCK_EXPLORERS.default.url; + } +}; diff --git a/navigation/DetailViewStackParamList.ts b/navigation/DetailViewStackParamList.ts index ac90d0b33..5ab885335 100644 --- a/navigation/DetailViewStackParamList.ts +++ b/navigation/DetailViewStackParamList.ts @@ -51,10 +51,10 @@ export type DetailViewStackParamList = { PlausibleDeniability: undefined; Licensing: undefined; NetworkSettings: undefined; - SettingsBlockExplorer: undefined; About: undefined; DefaultView: undefined; ElectrumSettings: undefined; + SettingsBlockExplorer: undefined; EncryptStorage: undefined; Language: undefined; LightningSettings: { diff --git a/screen/settings/SettingsBlockExplorer.tsx b/screen/settings/SettingsBlockExplorer.tsx index 6d45e537e..4d1ef8558 100644 --- a/screen/settings/SettingsBlockExplorer.tsx +++ b/screen/settings/SettingsBlockExplorer.tsx @@ -1,111 +1,205 @@ -import React, { useState, useRef } from 'react'; -import { FlatList, Alert, StyleSheet, TextInput } from 'react-native'; +import React, { useRef, useCallback, useState, useEffect } from 'react'; +import { SectionList, StyleSheet, TextInput, SectionListRenderItemInfo, SectionListData, View, LayoutAnimation } from 'react-native'; import ListItem from '../../components/ListItem'; -import SettingsBlockExplorerCustomUrlListItem from '../../components/SettingsBlockExplorerCustomUrlListItem'; import loc from '../../loc'; import { useTheme } from '../../components/themes'; +import { + getBlockExplorersList, + BlockExplorer, + isValidUrl, + normalizeUrl, + BLOCK_EXPLORERS, + removeBlockExplorer, +} from '../../models/blockExplorer'; +import presentAlert from '../../components/Alert'; +import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback'; import { useSettings } from '../../hooks/context/useSettings'; -import { blockExplorers } from '../../models/blockExplorer'; +import SettingsBlockExplorerCustomUrlItem from '../../components/SettingsBlockExplorerCustomUrlListItem'; +import { Header } from '../../components/Header'; -const normalizeUrl = (url: string) => url.replace(/\/+$/, ''); +type BlockExplorerItem = BlockExplorer | string; -const isValidUrl = (url: string) => { - const urlPattern = /^(https?:\/\/)/; - return urlPattern.test(url); -}; +interface SectionData extends SectionListData { + title?: string; + data: BlockExplorerItem[]; +} const SettingsBlockExplorer: React.FC = () => { - const { selectedBlockExplorer, setBlockExplorerStorage } = useSettings(); - const [customUrlInput, setCustomUrlInput] = useState(selectedBlockExplorer || ''); - const [prevSelectedBlockExplorer, setPrevSelectedBlockExplorer] = useState(selectedBlockExplorer); // Use prevSelectedBlockExplorer - const [isCustomSelected, setIsCustomSelected] = useState(false); - const customUrlInputRef = useRef(null); const { colors } = useTheme(); + const { selectedBlockExplorer, setBlockExplorerStorage } = useSettings(); + const customUrlInputRef = useRef(null); + const [customUrl, setCustomUrl] = useState(selectedBlockExplorer.key === 'custom' ? selectedBlockExplorer.url : ''); + const [isCustomEnabled, setIsCustomEnabled] = useState(selectedBlockExplorer.key === 'custom'); + const [isSubmitting, setIsSubmitting] = useState(false); - const isSelectedExplorer = (url: string | null) => { - if (!url && selectedBlockExplorer === customUrlInput) return true; - return normalizeUrl(selectedBlockExplorer) === normalizeUrl(url || ''); - }; + const predefinedExplorers = getBlockExplorersList().filter(explorer => explorer.key !== 'custom'); - const handleExplorerPress = async (key: string, url: string | null) => { - if (key === 'custom') { - setIsCustomSelected(true); - setPrevSelectedBlockExplorer(selectedBlockExplorer); // Store previous selection - return; - } - setCustomUrlInput(''); - setIsCustomSelected(false); - const success = await setBlockExplorerStorage(url!); - if (!success) { - Alert.alert(loc.errors.error, loc.settings.block_explorer_error_saving_custom); - } - }; + const sections: SectionData[] = [ + { + title: loc._.suggested, + data: predefinedExplorers, + }, + { + title: loc.wallets.details_advanced, + data: ['custom'], + }, + ]; - const handleCustomUrlChange = (url: string) => { - setCustomUrlInput(url); - }; + const handleExplorerPress = useCallback( + async (explorer: BlockExplorer) => { + const success = await setBlockExplorerStorage(explorer); + if (success) { + triggerHapticFeedback(HapticFeedbackTypes.NotificationSuccess); + setIsCustomEnabled(false); + } else { + triggerHapticFeedback(HapticFeedbackTypes.NotificationError); + presentAlert({ message: loc.settings.block_explorer_error_saving_custom }); + } + }, + [setBlockExplorerStorage], + ); - const handleSubmitCustomUrl = async () => { - if (!customUrlInput || !isValidUrl(customUrlInput)) { - Alert.alert(loc.errors.error, loc.settings.block_explorer_invalid_custom_url); + const handleCustomUrlChange = useCallback((url: string) => { + setCustomUrl(url); + }, []); + + const handleSubmitCustomUrl = useCallback(async () => { + if (isSubmitting) return; + setIsSubmitting(true); + const customUrlNormalized = normalizeUrl(customUrl); + + if (!isValidUrl(customUrlNormalized)) { + presentAlert({ message: loc.settings.block_explorer_invalid_custom_url }); customUrlInputRef.current?.focus(); - await setBlockExplorerStorage(prevSelectedBlockExplorer); // Revert to previous block explorer + setIsSubmitting(false); return; } - const success = await setBlockExplorerStorage(customUrlInput); - if (!success) { - Alert.alert(loc.errors.error, loc.settings.block_explorer_error_saving_custom); - } - }; - const handleCustomUrlBlur = async () => { - if (isValidUrl(customUrlInput)) { - setIsCustomSelected(false); + const customExplorer: BlockExplorer = { + key: 'custom', + name: 'Custom', + url: customUrlNormalized, + }; + + const success = await setBlockExplorerStorage(customExplorer); + + if (success) { + triggerHapticFeedback(HapticFeedbackTypes.NotificationSuccess); } else { - await handleSubmitCustomUrl(); // Revert to previous block explorer if invalid + triggerHapticFeedback(HapticFeedbackTypes.NotificationError); + presentAlert({ message: loc.settings.block_explorer_error_saving_custom }); } - }; + setIsSubmitting(false); + }, [customUrl, setBlockExplorerStorage, isSubmitting]); - const handleCustomUrlFocus = () => { - setIsCustomSelected(true); - }; + const handleCustomSwitchToggle = useCallback( + async (value: boolean) => { + LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); + setIsCustomEnabled(value); + if (value) { + await removeBlockExplorer(); + customUrlInputRef.current?.focus(); + } else { + const defaultExplorer = BLOCK_EXPLORERS.default; + const success = await setBlockExplorerStorage(defaultExplorer); + if (success) { + triggerHapticFeedback(HapticFeedbackTypes.NotificationSuccess); + } else { + triggerHapticFeedback(HapticFeedbackTypes.NotificationError); + if (!isSubmitting) { + presentAlert({ message: loc.settings.block_explorer_error_saving_custom }); + } + } + } + }, + [setBlockExplorerStorage, isSubmitting], + ); - const renderItem = ({ item }: { item: { name: string; key: string; url: string | null } }) => { - if (item.key === 'custom') { + useEffect(() => { + return () => { + if (isCustomEnabled) { + const customUrlNormalized = normalizeUrl(customUrl); + if (!isValidUrl(customUrlNormalized)) { + (async () => { + const success = await setBlockExplorerStorage(BLOCK_EXPLORERS.default); + if (!success) { + triggerHapticFeedback(HapticFeedbackTypes.NotificationError); + presentAlert({ message: loc.settings.block_explorer_error_saving_custom }); + } + })(); + } + } + }; + }, [customUrl, isCustomEnabled, setBlockExplorerStorage]); + + const renderItem = useCallback( + ({ item, section }: SectionListRenderItemInfo) => { + if (section.title === loc._.suggested) { + const explorer = item as BlockExplorer; + const isSelected = !isCustomEnabled && normalizeUrl(selectedBlockExplorer.url || '') === normalizeUrl(explorer.url || ''); + return ( + handleExplorerPress(explorer)} + checkmark={isSelected} + disabled={isCustomEnabled} + containerStyle={[{ backgroundColor: colors.background }, styles.rowHeight]} + /> + ); + } else { + return ( + + ); + } + }, + [ + selectedBlockExplorer, + isCustomEnabled, + handleExplorerPress, + colors.background, + handleCustomSwitchToggle, + customUrl, + handleCustomUrlChange, + handleSubmitCustomUrl, + ], + ); + + // @ts-ignore: renderSectionHeader type is not correct + const renderSectionHeader = useCallback(({ section }) => { + const { title } = section; + if (title) { return ( - handleExplorerPress(item.key, item.url)} - onFocus={handleCustomUrlFocus} - onBlur={handleCustomUrlBlur} - inputRef={customUrlInputRef} - checkmark={isSelectedExplorer(null)} - /> + +
+ ); } - - return ( - handleExplorerPress(item.key, item.url)} - checkmark={isSelectedExplorer(item.url)} - containerStyle={{ backgroundColor: colors.background }} - /> - ); - }; + return null; + }, []); return ( - item.key} + + sections={sections} + keyExtractor={(item, index) => { + if (typeof item === 'string') { + return `custom-${index}`; + } else { + return item.key; + } + }} renderItem={renderItem} + renderSectionHeader={renderSectionHeader} contentInsetAdjustmentBehavior="automatic" automaticallyAdjustContentInsets - style={[styles.container, { backgroundColor: colors.background }]} + style={[styles.root, { backgroundColor: colors.background }]} + stickySectionHeadersEnabled={false} /> ); }; @@ -113,7 +207,13 @@ const SettingsBlockExplorer: React.FC = () => { export default SettingsBlockExplorer; const styles = StyleSheet.create({ - container: { + root: { flex: 1, }, + container: { + paddingTop: 24, + }, + rowHeight: { + minHeight: 60, + }, }); From 373032155037910eea97ca53a8361ad2fc1508f7 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Fri, 27 Sep 2024 08:39:31 -0400 Subject: [PATCH 08/41] REF: HeaderMenuButton --- components/HeaderMenuButton.tsx | 31 +++++++++++++++++++++++++++++++ screen/receive/details.js | 12 ++++-------- screen/send/SendDetails.tsx | 21 ++------------------- screen/wallets/Add.tsx | 13 ++++--------- screen/wallets/import.js | 17 +++-------------- tests/e2e/bluewallet.spec.js | 4 ++-- tests/e2e/bluewallet2.spec.js | 28 ++++++++++++++-------------- tests/e2e/bluewallet3.spec.js | 2 +- 8 files changed, 61 insertions(+), 67 deletions(-) create mode 100644 components/HeaderMenuButton.tsx diff --git a/components/HeaderMenuButton.tsx b/components/HeaderMenuButton.tsx new file mode 100644 index 000000000..ac4dc38b9 --- /dev/null +++ b/components/HeaderMenuButton.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import ToolTipMenu from './TooltipMenu'; +import { useTheme } from './themes'; +import { Icon } from '@rneui/themed'; +import { Platform } from 'react-native'; +import { Action } from './types'; + +interface HeaderMenuButtonProps { + onPressMenuItem: (id: string) => void; + actions: Action[]; + disabled?: boolean; +} + +const HeaderMenuButton: React.FC = ({ onPressMenuItem, actions, disabled }) => { + const { colors } = useTheme(); + const styleProps = Platform.OS === 'android' ? { iconStyle: { transform: [{ rotate: '90deg' }] } } : {}; + return ( + + + + ); +}; + +export default HeaderMenuButton; diff --git a/screen/receive/details.js b/screen/receive/details.js index 5ed067fb0..7d164bbc6 100644 --- a/screen/receive/details.js +++ b/screen/receive/details.js @@ -35,9 +35,8 @@ import { SuccessView } from '../send/success'; import { useStorage } from '../../hooks/context/useStorage'; import { HandOffActivityType } from '../../components/types'; import SegmentedControl from '../../components/SegmentControl'; -import ToolTipMenu from '../../components/TooltipMenu'; -import { Icon } from '@rneui/themed'; import { CommonToolTipActions } from '../../typings/CommonToolTipActions'; +import HeaderMenuButton from '../../components/HeaderMenuButton'; const segmentControlValues = [loc.wallets.details_address, loc.bip47.payment_code]; @@ -167,12 +166,9 @@ const ReceiveDetails = () => { }, [onEnablePaymentsCodeSwitchValue]); const HeaderRight = useMemo( - () => ( - - - - ), - [colors.foregroundColor, onPressMenuItem, toolTipActions], + () => , + + [onPressMenuItem, toolTipActions], ); const handleClose = useCallback(() => { diff --git a/screen/send/SendDetails.tsx b/screen/send/SendDetails.tsx index 8cdbd1b6e..ec4ef0cf6 100644 --- a/screen/send/SendDetails.tsx +++ b/screen/send/SendDetails.tsx @@ -24,7 +24,6 @@ import { import DocumentPicker from 'react-native-document-picker'; import { Icon } from '@rneui/themed'; import RNFS from 'react-native-fs'; - import { btcToSatoshi, fiatToBTC } from '../../blue_modules/currency'; import * as fs from '../../blue_modules/fs'; import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback'; @@ -40,7 +39,6 @@ import Button from '../../components/Button'; import CoinsSelected from '../../components/CoinsSelected'; import InputAccessoryAllFunds, { InputAccessoryAllFundsAccessoryViewID } from '../../components/InputAccessoryAllFunds'; import { useTheme } from '../../components/themes'; -import ToolTipMenu from '../../components/TooltipMenu'; import { requestCameraAuthorization, scanQrHelper } from '../../helpers/scan-qr'; import loc, { formatBalance, formatBalanceWithoutSuffix } from '../../loc'; import { BitcoinUnit, Chain } from '../../models/bitcoinUnits'; @@ -58,6 +56,7 @@ import SelectFeeModal from '../../components/SelectFeeModal'; import { useKeyboard } from '../../hooks/useKeyboard'; import { DismissKeyboardInputAccessory, DismissKeyboardInputAccessoryViewID } from '../../components/DismissKeyboardInputAccessory'; import ActionSheet from '../ActionSheet'; +import HeaderMenuButton from '../../components/HeaderMenuButton'; interface IPaymentDestinations { address: string; // btc address or payment code @@ -1055,18 +1054,7 @@ const SendDetails = () => { const setHeaderRightOptions = () => { navigation.setOptions({ // eslint-disable-next-line react/no-unstable-nested-components - headerRight: () => ( - - - - ), + headerRight: () => , }); }; @@ -1499,11 +1487,6 @@ const styles = StyleSheet.create({ alignItems: 'center', paddingHorizontal: 10, }, - advancedOptions: { - minWidth: 40, - height: 40, - justifyContent: 'center', - }, frozenContainer: { flexDirection: 'row', justifyContent: 'center', diff --git a/screen/wallets/Add.tsx b/screen/wallets/Add.tsx index 10566a168..6c2b75a29 100644 --- a/screen/wallets/Add.tsx +++ b/screen/wallets/Add.tsx @@ -25,11 +25,10 @@ import WalletButton from '../../components/WalletButton'; import loc from '../../loc'; import { Chain } from '../../models/bitcoinUnits'; import { useStorage } from '../../hooks/context/useStorage'; -import ToolTipMenu from '../../components/TooltipMenu'; -import { Icon } from '@rneui/themed'; import { CommonToolTipActions } from '../../typings/CommonToolTipActions'; import { Action } from '../../components/types'; import { getLNDHub } from '../../helpers/lndHub'; +import HeaderMenuButton from '../../components/HeaderMenuButton'; enum ButtonSelected { // @ts-ignore: Return later to update @@ -228,9 +227,7 @@ const WalletsAdd: React.FC = () => { const HeaderRight = useMemo( () => ( - { LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); if (id === HDSegwitBech32Wallet.type) { @@ -246,11 +243,9 @@ const WalletsAdd: React.FC = () => { } }} actions={toolTipActions} - > - - + /> ), - [colors.foregroundColor, handleOnLightningButtonPressed, navigateToEntropy, toolTipActions], + [handleOnLightningButtonPressed, navigateToEntropy, toolTipActions], ); useEffect(() => { diff --git a/screen/wallets/import.js b/screen/wallets/import.js index 6455620be..efbcdd1be 100644 --- a/screen/wallets/import.js +++ b/screen/wallets/import.js @@ -11,11 +11,10 @@ import { DoneAndDismissKeyboardInputAccessory, DoneAndDismissKeyboardInputAccessoryViewID, } from '../../components/DoneAndDismissKeyboardInputAccessory'; -import { Icon } from '@rneui/themed'; import { CommonToolTipActions } from '../../typings/CommonToolTipActions'; import { useKeyboard } from '../../hooks/useKeyboard'; -import ToolTipMenu from '../../components/TooltipMenu'; import { useExtendedNavigation } from '../../hooks/useExtendedNavigation'; +import HeaderMenuButton from '../../components/HeaderMenuButton'; const WalletsImport = () => { const navigation = useExtendedNavigation(); @@ -140,18 +139,8 @@ const WalletsImport = () => { }, [askPassphrase, searchAccounts]); const HeaderRight = useMemo( - () => ( - - - - ), - [toolTipOnPressMenuItem, toolTipActions, colors.foregroundColor], + () => , + [toolTipOnPressMenuItem, toolTipActions], ); // Adding the ToolTipMenu to the header diff --git a/tests/e2e/bluewallet.spec.js b/tests/e2e/bluewallet.spec.js index d20731be7..8a0e2e8e0 100644 --- a/tests/e2e/bluewallet.spec.js +++ b/tests/e2e/bluewallet.spec.js @@ -677,9 +677,9 @@ describe('BlueWallet UI Tests - no wallets', () => { await element(by.id('MnemonicInput')).replaceText( 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about', ); - await element(by.id('HeaderRightButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Passphrase')).tap(); - await element(by.id('HeaderRightButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Search accounts')).tap(); await element(by.id('DoImport')).tap(); await sleep(1000); diff --git a/tests/e2e/bluewallet2.spec.js b/tests/e2e/bluewallet2.spec.js index d4eb7f6d4..ec894edb7 100644 --- a/tests/e2e/bluewallet2.spec.js +++ b/tests/e2e/bluewallet2.spec.js @@ -202,23 +202,23 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { await element(by.text('OK')).tap(); // lest add another two outputs - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Add Recipient')).tap(); await yo('Transaction1'); // adding a recipient autoscrolls it to the last one await element(by.id('AddressInput').withAncestor(by.id('Transaction1'))).replaceText('bc1q063ctu6jhe5k4v8ka99qac8rcm2tzjjnuktyrl'); await element(by.id('BitcoinAmountInput').withAncestor(by.id('Transaction1'))).replaceText('0.0002\n'); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Add Recipient')).tap(); await yo('Transaction2'); // adding a recipient autoscrolls it to the last one // remove last output, check if second output is shown - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Remove Recipient')).tap(); await yo('Transaction1'); // adding it again - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Add Recipient')).tap(); await yo('Transaction2'); // adding a recipient autoscrolls it to the last one await element(by.id('AddressInput').withAncestor(by.id('Transaction2'))).replaceText('bc1qh6tf004ty7z7un2v5ntu4mkf630545gvhs45u7'); @@ -227,7 +227,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { // remove second output await element(by.id('Transaction2')).swipe('right', 'fast', NaN, 0.2); await sleep(5000); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Remove Recipient')).tap(); // creating and verifying. tx should have 3 outputs @@ -275,7 +275,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { // first send MAX output await element(by.id('AddressInput')).replaceText('bc1qnapskphjnwzw2w3dk4anpxntunc77v6qrua0f7'); await element(by.id('BitcoinAmountInput')).typeText('0.0001\n'); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Use Full Balance')).tap(); await element(by.text('OK')).tap(); @@ -294,7 +294,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { // add second output with amount await device.pressBack(); await device.pressBack(); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Add Recipient')).tap(); await yo('Transaction1'); await element(by.id('AddressInput').withAncestor(by.id('Transaction1'))).replaceText('bc1q063ctu6jhe5k4v8ka99qac8rcm2tzjjnuktyrl'); @@ -334,7 +334,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { await element(by.text('Imported HD SegWit (BIP84 Bech32 Native)')).tap(); await element(by.id('SendButton')).tap(); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Sign a transaction')).tap(); // tapping 5 times invisible button is a backdoor: @@ -452,14 +452,14 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { await device.pressBack(); await element(by.text('Imported HD SegWit (BIP84 Bech32 Native)')).tap(); await element(by.id('SendButton')).tap(); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Insert Contact')).tap(); await element(by.id('ContactListItem0')).tap(); await element(by.id('BitcoinAmountInput')).typeText('0.0001\n'); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Add Recipient')).tap(); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Insert Contact')).tap(); await element(by.id('ContactListItem1')).tap(); await element(by.id('BitcoinAmountInput')).atIndex(1).typeText('0.0002\n'); @@ -601,7 +601,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { await yo('WalletsList'); await element(by.text('Imported HD SegWit (BIP84 Bech32 Native)')).tap(); await element(by.id('SendButton')).tap(); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Coin Control')).tap(); await waitFor(element(by.id('Loading'))) // wait for outputs to be loaded .not.toExist() @@ -620,7 +620,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { await element(by.text('test2')).atIndex(0).tap(); await element(by.id('UseCoin')).tap(); await element(by.id('AddressInput')).replaceText('bc1q063ctu6jhe5k4v8ka99qac8rcm2tzjjnuktyrl'); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Use Full Balance')).tap(); await element(by.text('OK')).tap(); // setting fee rate: @@ -649,7 +649,7 @@ describe('BlueWallet UI Tests - import BIP84 wallet', () => { // create tx with unfrozen input await element(by.id('SendButton')).tap(); await element(by.id('AddressInput')).replaceText('bc1q063ctu6jhe5k4v8ka99qac8rcm2tzjjnuktyrl'); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Use Full Balance')).tap(); await element(by.text('OK')).tap(); // setting fee rate: diff --git a/tests/e2e/bluewallet3.spec.js b/tests/e2e/bluewallet3.spec.js index 47130fcfd..2ee3e49da 100644 --- a/tests/e2e/bluewallet3.spec.js +++ b/tests/e2e/bluewallet3.spec.js @@ -55,7 +55,7 @@ describe('BlueWallet UI Tests - import Watch-only wallet (zpub)', () => { await element(by.id('SendButton')).tap(); await element(by.text('OK')).tap(); - await element(by.id('advancedOptionsMenuButton')).tap(); + await element(by.id('HeaderMenuButton')).tap(); await element(by.text('Import Transaction (QR)')).tap(); // opens camera // produced by real Keystone device using MNEMONICS_KEYSTONE From 3fa8e430a4d5637becd3b66521a937e0594f7a29 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Mon, 30 Sep 2024 21:59:40 -0400 Subject: [PATCH 09/41] FIX: use scanqrhelper --- screen/lnd/lndCreateInvoice.js | 14 +++----------- screen/send/isItMyAddress.js | 13 ++----------- screen/send/psbtWithHardwareWallet.js | 13 ++----------- 3 files changed, 7 insertions(+), 33 deletions(-) diff --git a/screen/lnd/lndCreateInvoice.js b/screen/lnd/lndCreateInvoice.js index 9212776eb..8468f95bd 100644 --- a/screen/lnd/lndCreateInvoice.js +++ b/screen/lnd/lndCreateInvoice.js @@ -25,7 +25,7 @@ import AmountInput from '../../components/AmountInput'; import Button from '../../components/Button'; import { useTheme } from '../../components/themes'; import { presentWalletExportReminder } from '../../helpers/presentWalletExportReminder'; -import { requestCameraAuthorization } from '../../helpers/scan-qr'; +import { scanQrHelper } from '../../helpers/scan-qr'; import loc, { formatBalance, formatBalancePlain, formatBalanceWithoutSuffix } from '../../loc'; import { BitcoinUnit, Chain } from '../../models/bitcoinUnits'; import * as NavigationService from '../../NavigationService'; @@ -325,16 +325,8 @@ const LNDCreateInvoice = () => { }; const navigateToScanQRCode = () => { - requestCameraAuthorization().then(() => { - NavigationService.navigate('ScanQRCodeRoot', { - screen: 'ScanQRCode', - params: { - onBarScanned: processLnurl, - launchedBy: name, - }, - }); - Keyboard.dismiss(); - }); + scanQrHelper(name, true, processLnurl); + Keyboard.dismiss(); }; const renderScanClickable = () => { diff --git a/screen/send/isItMyAddress.js b/screen/send/isItMyAddress.js index 0568da994..a43966149 100644 --- a/screen/send/isItMyAddress.js +++ b/screen/send/isItMyAddress.js @@ -5,7 +5,7 @@ import { BlueButtonLink, BlueCard, BlueSpacing10, BlueSpacing20, BlueText } from import Button from '../../components/Button'; import SafeArea from '../../components/SafeArea'; import { useTheme } from '../../components/themes'; -import { requestCameraAuthorization } from '../../helpers/scan-qr'; +import { scanQrHelper } from '../../helpers/scan-qr'; import loc from '../../loc'; import { useStorage } from '../../hooks/context/useStorage'; import { useExtendedNavigation } from '../../hooks/useExtendedNavigation'; @@ -57,16 +57,7 @@ const IsItMyAddress = () => { }; const importScan = () => { - requestCameraAuthorization().then(() => { - navigate('ScanQRCodeRoot', { - screen: 'ScanQRCode', - params: { - launchedBy: name, - onBarScanned, - showFileImportButton: true, - }, - }); - }); + scanQrHelper(name, true, onBarScanned); }; const clearAddressInput = () => { diff --git a/screen/send/psbtWithHardwareWallet.js b/screen/send/psbtWithHardwareWallet.js index b49a52c61..0636a9b1d 100644 --- a/screen/send/psbtWithHardwareWallet.js +++ b/screen/send/psbtWithHardwareWallet.js @@ -15,7 +15,7 @@ import { DynamicQRCode } from '../../components/DynamicQRCode'; import SaveFileButton from '../../components/SaveFileButton'; import { SecondButton } from '../../components/SecondButton'; import { useTheme } from '../../components/themes'; -import { requestCameraAuthorization } from '../../helpers/scan-qr'; +import { scanQrHelper } from '../../helpers/scan-qr'; import { useBiometrics, unlockWithBiometrics } from '../../hooks/useBiometrics'; import loc from '../../loc'; import { useStorage } from '../../hooks/context/useStorage'; @@ -215,16 +215,7 @@ const PsbtWithHardwareWallet = () => { }; const openScanner = () => { - requestCameraAuthorization().then(() => { - navigation.navigate('ScanQRCodeRoot', { - screen: 'ScanQRCode', - params: { - launchedBy: route.name, - showFileImportButton: false, - onBarScanned, - }, - }); - }); + scanQrHelper(route.name, false, onBarScanned); }; if (txHex) return _renderBroadcastHex(); From 21c5b8d358a0d8011965ace08075242c99692d5b Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Tue, 1 Oct 2024 08:27:23 -0400 Subject: [PATCH 10/41] REF: Press to display finger print and display in home screen toggle --- screen/wallets/WalletDetails.tsx | 49 +++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/screen/wallets/WalletDetails.tsx b/screen/wallets/WalletDetails.tsx index b04240d34..f0eb2b0f5 100644 --- a/screen/wallets/WalletDetails.tsx +++ b/screen/wallets/WalletDetails.tsx @@ -4,6 +4,7 @@ import { Alert, I18nManager, InteractionManager, + LayoutAnimation, ScrollView, StyleSheet, Switch, @@ -63,7 +64,7 @@ const WalletDetails: React.FC = () => { ); const [hideTransactionsInWalletsList, setHideTransactionsInWalletsList] = useState( - wallet.getHideTransactionsInWalletsList ? wallet.getHideTransactionsInWalletsList() : false, + wallet.getHideTransactionsInWalletsList ? !wallet.getHideTransactionsInWalletsList() : true, ); const { setOptions, navigate, addListener } = useExtendedNavigation(); const { colors } = useTheme(); @@ -73,7 +74,7 @@ const WalletDetails: React.FC = () => { const walletTransactionsLength = useMemo(() => wallet.getTransactions().length, [wallet]); const derivationPath = useMemo(() => { try { - // @ts-expect-error: Need to fix later + // @ts--error: Need to fix later if (wallet.getDerivationPath) { // @ts-expect-error: Need to fix later const path = wallet.getDerivationPath(); @@ -85,6 +86,7 @@ const WalletDetails: React.FC = () => { } }, [wallet]); const [isToolTipMenuVisible, setIsToolTipMenuVisible] = useState(false); + const [isMasterFingerPrintVisible, setIsMasterFingerPrintVisible] = useState(false); const onMenuWillShow = () => setIsToolTipMenuVisible(true); const onMenuWillHide = () => setIsToolTipMenuVisible(false); @@ -96,17 +98,19 @@ const WalletDetails: React.FC = () => { useFocusEffect( useCallback(() => { const task = InteractionManager.runAfterInteractions(() => { - if (wallet.allowMasterFingerprint && wallet.allowMasterFingerprint()) { + if (isMasterFingerPrintVisible && wallet.allowMasterFingerprint && wallet.allowMasterFingerprint()) { // @ts-expect-error: Need to fix later if (wallet.getMasterFingerprintHex) { // @ts-expect-error: Need to fix later setMasterFingerprint(wallet.getMasterFingerprintHex()); } + } else { + setMasterFingerprint(undefined); } }); return () => task.cancel(); - }, [wallet]), + }, [isMasterFingerPrintVisible, wallet]), ); const stylesHook = StyleSheet.create({ @@ -279,16 +283,18 @@ const WalletDetails: React.FC = () => { }; const walletNameTextInputOnBlur = useCallback(async () => { - if (walletName.trim().length === 0) { + const trimmedWalletName = walletName.trim(); + if (trimmedWalletName.length === 0) { const walletLabel = wallet.getLabel(); setWalletName(walletLabel); - } else { - wallet.setLabel(walletName.trim()); + } else if (wallet.getLabel() !== trimmedWalletName) { + // Only save if the name has changed + wallet.setLabel(trimmedWalletName); try { - console.warn('saving wallet name:', walletName.trim()); + console.warn('saving wallet name:', trimmedWalletName); await saveToDisk(); } catch (error) { - console.log((error as Error).message); + console.error((error as Error).message); } } }, [wallet, walletName, saveToDisk]); @@ -373,6 +379,11 @@ const WalletDetails: React.FC = () => { return `${label}-history.csv`; }, [wallet]); + const onViewMasterFingerPrintPress = () => { + LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); + setIsMasterFingerPrintVisible(true); + }; + return ( { {loc.wallets.details_type.toLowerCase()} - {wallet.typeReadable} + + {wallet.typeReadable} + {wallet.type === MultisigHDWallet.type && ( <> @@ -473,9 +486,9 @@ const WalletDetails: React.FC = () => { disabled={isToolTipMenuVisible} value={hideTransactionsInWalletsList} onValueChange={async (value: boolean) => { - setHideTransactionsInWalletsList(value); if (wallet.setHideTransactionsInWalletsList) { - wallet.setHideTransactionsInWalletsList(value); + wallet.setHideTransactionsInWalletsList(!value); + setHideTransactionsInWalletsList(!wallet.getHideTransactionsInWalletsList()); } try { await saveToDisk(); @@ -545,14 +558,22 @@ const WalletDetails: React.FC = () => { {wallet.allowMasterFingerprint && wallet.allowMasterFingerprint() && ( {loc.wallets.details_master_fingerprint.toLowerCase()} - {masterFingerprint ?? } + {isMasterFingerPrintVisible ? ( + {masterFingerprint ?? } + ) : ( + + {loc.multisig.view} + + )} )} {derivationPath && ( {loc.wallets.details_derivation_path} - {derivationPath} + + {derivationPath} + )} From f55a015a9be95d572d49fb698f4755a12f02af2a Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Tue, 1 Oct 2024 08:42:42 -0400 Subject: [PATCH 11/41] wip --- components/AmountInput.js | 2 +- screen/send/psbtWithHardwareWallet.js | 3 ++- screen/wallets/WalletDetails.tsx | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/components/AmountInput.js b/components/AmountInput.js index c9c9ac49d..476269c18 100644 --- a/components/AmountInput.js +++ b/components/AmountInput.js @@ -362,7 +362,7 @@ const styles = StyleSheet.create({ flexDirection: 'row', justifyContent: 'center', alignItems: 'center', - marginVertical: 8, + margin: 16, }, container: { flexDirection: 'row', diff --git a/screen/send/psbtWithHardwareWallet.js b/screen/send/psbtWithHardwareWallet.js index 0636a9b1d..37a81a05d 100644 --- a/screen/send/psbtWithHardwareWallet.js +++ b/screen/send/psbtWithHardwareWallet.js @@ -64,7 +64,8 @@ const PsbtWithHardwareWallet = () => { }; const onBarScanned = ret => { - if (ret && !ret.data) ret = { data: ret }; + if (!ret) return; + if (ret !== undefined && ret.data) ret = { data: ret }; if (ret.data.toUpperCase().startsWith('UR')) { presentAlert({ message: 'BC-UR not decoded. This should never happen' }); } diff --git a/screen/wallets/WalletDetails.tsx b/screen/wallets/WalletDetails.tsx index f0eb2b0f5..9877ff217 100644 --- a/screen/wallets/WalletDetails.tsx +++ b/screen/wallets/WalletDetails.tsx @@ -74,11 +74,11 @@ const WalletDetails: React.FC = () => { const walletTransactionsLength = useMemo(() => wallet.getTransactions().length, [wallet]); const derivationPath = useMemo(() => { try { - // @ts--error: Need to fix later + // @ts-expect-error: Need to fix later if (wallet.getDerivationPath) { // @ts-expect-error: Need to fix later - const path = wallet.getDerivationPath(); - return path.length > 0 ? path : null; + const path = wallt.getDerivationPath(); + return path.lengthe > 0 ? path : null; } return null; } catch (e) { From bfdcc771dd81d3b2a3057f8d74cc3491c8d42834 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 12:53:19 +0000 Subject: [PATCH 12/41] Update dependency react-native-reanimated to v3.15.4 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index cac898f9f..1c78a28ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -89,7 +89,7 @@ "react-native-quick-actions": "0.3.13", "react-native-randombytes": "3.6.1", "react-native-rate": "1.2.12", - "react-native-reanimated": "3.15.3", + "react-native-reanimated": "3.15.4", "react-native-safe-area-context": "4.11.0", "react-native-screens": "3.34.0", "react-native-secure-key-store": "github:BlueWallet/react-native-secure-key-store#2076b4849e88aa0a78e08bfbb4ce3923e0925cbc", @@ -20882,9 +20882,9 @@ } }, "node_modules/react-native-reanimated": { - "version": "3.15.3", - "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.15.3.tgz", - "integrity": "sha512-5QBk/7PZvZ98Adxm4MRyglwzsRzReTQIe4Hd2wbBBAZ68IC4OYKvsc8cPEjgx3/1mG8HgHFYhbcDe5U2RjeFqw==", + "version": "3.15.4", + "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.15.4.tgz", + "integrity": "sha512-jcpHE+MnsvSbClhHgAFoken7SnaHrUJ5gVA8BUw8S1j6rkrw2VzRpht6cxn14NlqYx5ytjfG9IXJDOzq8tFvfw==", "license": "MIT", "dependencies": { "@babel/plugin-transform-arrow-functions": "^7.0.0-0", diff --git a/package.json b/package.json index 516586f3a..b7ffda6e0 100644 --- a/package.json +++ b/package.json @@ -153,7 +153,7 @@ "react-native-quick-actions": "0.3.13", "react-native-randombytes": "3.6.1", "react-native-rate": "1.2.12", - "react-native-reanimated": "3.15.3", + "react-native-reanimated": "3.15.4", "react-native-safe-area-context": "4.11.0", "react-native-screens": "3.34.0", "react-native-secure-key-store": "github:BlueWallet/react-native-secure-key-store#2076b4849e88aa0a78e08bfbb4ce3923e0925cbc", From d3c0b127720c587e242849f698407689e7f1d1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Tue, 1 Oct 2024 11:36:55 -0400 Subject: [PATCH 13/41] Update psbtWithHardwareWallet.js --- screen/send/psbtWithHardwareWallet.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/screen/send/psbtWithHardwareWallet.js b/screen/send/psbtWithHardwareWallet.js index 37a81a05d..af7f91595 100644 --- a/screen/send/psbtWithHardwareWallet.js +++ b/screen/send/psbtWithHardwareWallet.js @@ -65,7 +65,7 @@ const PsbtWithHardwareWallet = () => { const onBarScanned = ret => { if (!ret) return; - if (ret !== undefined && ret.data) ret = { data: ret }; + if (ret.data) ret = { data: ret }; if (ret.data.toUpperCase().startsWith('UR')) { presentAlert({ message: 'BC-UR not decoded. This should never happen' }); } From 58f897c457d1f1fd9b39482d7f78ab443d87f10e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Tue, 1 Oct 2024 11:38:40 -0400 Subject: [PATCH 14/41] Update WalletDetails.tsx --- screen/wallets/WalletDetails.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/screen/wallets/WalletDetails.tsx b/screen/wallets/WalletDetails.tsx index 9877ff217..87e624567 100644 --- a/screen/wallets/WalletDetails.tsx +++ b/screen/wallets/WalletDetails.tsx @@ -78,7 +78,7 @@ const WalletDetails: React.FC = () => { if (wallet.getDerivationPath) { // @ts-expect-error: Need to fix later const path = wallt.getDerivationPath(); - return path.lengthe > 0 ? path : null; + return path.length > 0 ? path : null; } return null; } catch (e) { From 9db72a614239becb6307714a84d74839a2f1020b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Tue, 1 Oct 2024 11:39:16 -0400 Subject: [PATCH 15/41] Update WalletDetails.tsx --- screen/wallets/WalletDetails.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/screen/wallets/WalletDetails.tsx b/screen/wallets/WalletDetails.tsx index 87e624567..c077541c8 100644 --- a/screen/wallets/WalletDetails.tsx +++ b/screen/wallets/WalletDetails.tsx @@ -77,7 +77,7 @@ const WalletDetails: React.FC = () => { // @ts-expect-error: Need to fix later if (wallet.getDerivationPath) { // @ts-expect-error: Need to fix later - const path = wallt.getDerivationPath(); + const path = wallet.getDerivationPath(); return path.length > 0 ? path : null; } return null; From b4367f156e471c5549477eaadd7c2388d730fa12 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Tue, 1 Oct 2024 13:26:57 -0400 Subject: [PATCH 16/41] wip --- navigation/SendDetailsStackParamList.ts | 14 ------------- screen/send/SendDetails.tsx | 28 ++++++------------------- screen/send/psbtWithHardwareWallet.js | 5 +++-- 3 files changed, 9 insertions(+), 38 deletions(-) diff --git a/navigation/SendDetailsStackParamList.ts b/navigation/SendDetailsStackParamList.ts index f47e77627..ef7028f2a 100644 --- a/navigation/SendDetailsStackParamList.ts +++ b/navigation/SendDetailsStackParamList.ts @@ -79,18 +79,4 @@ export type SendDetailsStackParamList = { PaymentCodeList: { walletID: string; }; - ScanQRCodeRoot: { - screen: string; - params: { - isLoading?: boolean; - cameraStatusGranted?: boolean; - backdoorPressed?: boolean; - launchedBy?: string; - urTotal?: number; - urHave?: number; - backdoorText?: string; - showFileImportButton?: boolean; - onBarScanned: (data: string) => void; - }; - }; }; diff --git a/screen/send/SendDetails.tsx b/screen/send/SendDetails.tsx index ec4ef0cf6..fb0f91868 100644 --- a/screen/send/SendDetails.tsx +++ b/screen/send/SendDetails.tsx @@ -39,7 +39,7 @@ import Button from '../../components/Button'; import CoinsSelected from '../../components/CoinsSelected'; import InputAccessoryAllFunds, { InputAccessoryAllFundsAccessoryViewID } from '../../components/InputAccessoryAllFunds'; import { useTheme } from '../../components/themes'; -import { requestCameraAuthorization, scanQrHelper } from '../../helpers/scan-qr'; +import { scanQrHelper } from '../../helpers/scan-qr'; import loc, { formatBalance, formatBalanceWithoutSuffix } from '../../loc'; import { BitcoinUnit, Chain } from '../../models/bitcoinUnits'; import NetworkTransactionFees, { NetworkTransactionFee } from '../../models/networkTransactionFees'; @@ -679,22 +679,13 @@ const SendDetails = () => { * * @returns {Promise} */ - const importQrTransaction = () => { + const importQrTransaction = async () => { if (wallet?.type !== WatchOnlyWallet.type) { return presentAlert({ title: loc.errors.error, message: 'Importing transaction in non-watchonly wallet (this should never happen)' }); } - requestCameraAuthorization().then(() => { - feeModalRef.current?.dismiss(); - - navigation.navigate('ScanQRCodeRoot', { - screen: 'ScanQRCode', - params: { - onBarScanned: importQrTransactionOnBarScanned, - showFileImportButton: false, - }, - }); - }); + const data = await scanQrHelper(route.name, true); + importQrTransactionOnBarScanned(data); }; const importQrTransactionOnBarScanned = (ret: any) => { @@ -852,15 +843,8 @@ const SendDetails = () => { }; const importTransactionMultisigScanQr = async () => { - await requestCameraAuthorization().then(() => { - navigation.navigate('ScanQRCodeRoot', { - screen: 'ScanQRCode', - params: { - onBarScanned, - showFileImportButton: true, - }, - }); - }); + const data = await scanQrHelper(route.name, true); + onBarScanned(data); }; const handleAddRecipient = () => { diff --git a/screen/send/psbtWithHardwareWallet.js b/screen/send/psbtWithHardwareWallet.js index af7f91595..8470a8bd0 100644 --- a/screen/send/psbtWithHardwareWallet.js +++ b/screen/send/psbtWithHardwareWallet.js @@ -215,8 +215,9 @@ const PsbtWithHardwareWallet = () => { } }; - const openScanner = () => { - scanQrHelper(route.name, false, onBarScanned); + const openScanner = async () => { + const scannedData = await scanQrHelper(route.name, true); + onBarScanned({ data: scannedData }); }; if (txHex) return _renderBroadcastHex(); From e2e5e140a2e0cb435a3c499cb3096caa46810ba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Tue, 1 Oct 2024 17:41:12 -0400 Subject: [PATCH 17/41] Update psbtMultisigQRCode.js --- screen/send/psbtMultisigQRCode.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/screen/send/psbtMultisigQRCode.js b/screen/send/psbtMultisigQRCode.js index 7ec30c104..3377b49e2 100644 --- a/screen/send/psbtMultisigQRCode.js +++ b/screen/send/psbtMultisigQRCode.js @@ -60,7 +60,7 @@ const PsbtMultisigQRCode = () => { }; const openScanner = async () => { - const scanned = await scanQrHelper(name, true, undefined); + const scanned = await scanQrHelper(name, true); onBarScanned({ data: scanned }); }; From 4c50f3006266a2908cbbe14c0282ec2502611bf7 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Tue, 1 Oct 2024 20:28:15 -0400 Subject: [PATCH 18/41] Update import.js --- screen/wallets/import.js | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/screen/wallets/import.js b/screen/wallets/import.js index efbcdd1be..4feefb01b 100644 --- a/screen/wallets/import.js +++ b/screen/wallets/import.js @@ -4,7 +4,7 @@ import { Keyboard, Platform, StyleSheet, TouchableWithoutFeedback, View, ScrollV import { BlueButtonLink, BlueFormLabel, BlueFormMultiInput, BlueSpacing20 } from '../../BlueComponents'; import Button from '../../components/Button'; import { useTheme } from '../../components/themes'; -import { requestCameraAuthorization } from '../../helpers/scan-qr'; +import { scanQrHelper } from '../../helpers/scan-qr'; import usePrivacy from '../../hooks/usePrivacy'; import loc from '../../loc'; import { @@ -96,16 +96,9 @@ const WalletsImport = () => { setTimeout(() => importMnemonic(value), 500); }; - const importScan = () => { - requestCameraAuthorization().then(() => - navigation.navigate('ScanQRCodeRoot', { - screen: 'ScanQRCode', - params: { - launchedBy: route.name, - showFileImportButton: true, - }, - }), - ); + const importScan = async () => { + const data = await scanQrHelper(route.name, true); + onBarScanned(data); }; const speedBackdoorTap = () => { From af6f427c24341db0f0e5d74c3c0266568a26909b Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Tue, 1 Oct 2024 21:37:45 -0400 Subject: [PATCH 19/41] Update SendDetails.tsx --- screen/send/SendDetails.tsx | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/screen/send/SendDetails.tsx b/screen/send/SendDetails.tsx index fb0f91868..2ad9d1fb3 100644 --- a/screen/send/SendDetails.tsx +++ b/screen/send/SendDetails.tsx @@ -600,7 +600,6 @@ const SendDetails = () => { if (tx && routeParams.launchedBy && psbt) { console.warn('navigating back to ', routeParams.launchedBy); - feeModalRef.current?.dismiss(); // @ts-ignore idk how to fix FIXME? @@ -608,8 +607,6 @@ const SendDetails = () => { } if (wallet?.type === WatchOnlyWallet.type) { - feeModalRef.current?.dismiss(); - // watch-only wallets with enabled HW wallet support have different flow. we have to show PSBT to user as QR code // so he can scan it and sign it. then we have to scan it back from user (via camera and QR code), and ask // user whether he wants to broadcast it @@ -624,8 +621,6 @@ const SendDetails = () => { } if (wallet?.type === MultisigHDWallet.type) { - feeModalRef.current?.dismiss(); - navigation.navigate('PsbtMultisig', { memo: transactionMemo, psbtBase64: psbt.toBase64(), @@ -650,7 +645,6 @@ const SendDetails = () => { // (ez can be the case for single-address wallet when doing self-payment for consolidation) recipients = outputs; } - feeModalRef.current?.dismiss(); navigation.navigate('Confirm', { fee: new BigNumber(fee).dividedBy(100000000).toNumber(), @@ -698,8 +692,6 @@ const SendDetails = () => { // this looks like NOT base64, so maybe its transaction's hex // we dont support it in this flow } else { - feeModalRef.current?.dismiss(); - // psbt base64? // we construct PSBT object and pass to next screen @@ -1157,8 +1149,6 @@ const SendDetails = () => { accessibilityRole="button" style={styles.selectTouch} onPress={() => { - feeModalRef.current?.dismiss(); - navigation.navigate('SelectWallet', { chainType: Chain.ONCHAIN }); }} > From 3124e93ab384025551285ac011a5ef0e19fbbc2a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 18:24:51 +0000 Subject: [PATCH 20/41] Update dependency react-native to v0.75.4 --- package-lock.json | 212 ++++++++++++++++++++++++++++++++++++++-------- package.json | 2 +- 2 files changed, 178 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1c78a28ff..7754c4bd0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -61,7 +61,7 @@ "prop-types": "15.8.1", "react": "18.3.1", "react-localization": "github:BlueWallet/react-localization#ae7969a", - "react-native": "0.75.3", + "react-native": "0.75.4", "react-native-biometrics": "3.0.1", "react-native-blue-crypto": "github:BlueWallet/react-native-blue-crypto#3cb5442", "react-native-camera-kit": "13.0.0", @@ -5610,9 +5610,9 @@ } }, "node_modules/@react-native/assets-registry": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.75.3.tgz", - "integrity": "sha512-i7MaRbYR06WdpJWv3a0PQ2ScFBUeevwcJ0tVopnFwTg0tBWp3NFEMDIcU8lyXVy9Y59WmrP1V2ROaRDaPiESgg==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.75.4.tgz", + "integrity": "sha512-WX6/LNHwyjislSFM+h3qQjBiPaXXPJW5ZV4TdgNKb6QOPO0g1KGYRQj44cI2xSpZ3fcWrvQFZfQgSMbVK9Sg7A==", "license": "MIT", "engines": { "node": ">=18" @@ -5712,15 +5712,15 @@ } }, "node_modules/@react-native/community-cli-plugin": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.3.tgz", - "integrity": "sha512-njsYm+jBWzfLcJcxavAY5QFzYTrmPtjbxq/64GSqwcQYzy9qAkI7LNTK/Wprq1I/4HOuHJO7Km+EddCXB+ByRQ==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.4.tgz", + "integrity": "sha512-k/hevYPjEpW0MNVVyb3v9PJosOP+FzenS7+oqYNLXdEmgTnGHrAtYX9ABrJJgzeJt7I6g8g+RDvm8PSE+tnM5w==", "license": "MIT", "dependencies": { "@react-native-community/cli-server-api": "14.1.0", "@react-native-community/cli-tools": "14.1.0", - "@react-native/dev-middleware": "0.75.3", - "@react-native/metro-babel-transformer": "0.75.3", + "@react-native/dev-middleware": "0.75.4", + "@react-native/metro-babel-transformer": "0.75.4", "chalk": "^4.0.0", "execa": "^5.1.1", "metro": "^0.80.3", @@ -5733,6 +5733,117 @@ "node": ">=18" } }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-plugin-codegen": { + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.4.tgz", + "integrity": "sha512-gu5ZRIdr7+ufi09DJROhfDtbF4biTnCDJqtqcmtsku4cXOXPHE36QbC/vAmKEZ0PMPURBI8lwF2wfaeHLn7gig==", + "license": "MIT", + "dependencies": { + "@react-native/codegen": "0.75.4" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-preset": { + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.75.4.tgz", + "integrity": "sha512-UtyYCDJ3rZIeggyFEfh/q5t/FZ5a1h9F8EI37Nbrwyk/OKPH+1XS4PbHROHJzBARlJwOAfmT75+ovYUO0eakJA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-export-default-from": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-export-default-from": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.18.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-syntax-optional-chaining": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-async-generator-functions": "^7.24.3", + "@babel/plugin-transform-async-to-generator": "^7.20.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-class-properties": "^7.24.1", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.20.0", + "@babel/plugin-transform-flow-strip-types": "^7.20.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", + "@babel/plugin-transform-numeric-separator": "^7.24.1", + "@babel/plugin-transform-object-rest-spread": "^7.24.5", + "@babel/plugin-transform-optional-catch-binding": "^7.24.1", + "@babel/plugin-transform-optional-chaining": "^7.24.5", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-react-jsx-self": "^7.0.0", + "@babel/plugin-transform-react-jsx-source": "^7.0.0", + "@babel/plugin-transform-regenerator": "^7.20.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-sticky-regex": "^7.0.0", + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", + "@react-native/babel-plugin-codegen": "0.75.4", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/codegen": { + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.75.4.tgz", + "integrity": "sha512-0FplNAD/S5FUvm8YIn6uyarOcP4jdJPqWz17K4a/Gp2KSsG/JJKEskX3aj5wpePzVfNQl3WyvBJ0whODdCocIA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.0", + "glob": "^7.1.1", + "hermes-parser": "0.22.0", + "invariant": "^2.2.4", + "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/metro-babel-transformer": { + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.4.tgz", + "integrity": "sha512-O0WMW/K8Ny/MAAeRebqGEQhrbzcioxcPHZtos+EH2hWeBTEKHQV8fMYYxfYDabpr392qdhSBwg3LlXUD4U3PXQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.20.0", + "@react-native/babel-preset": "0.75.4", + "hermes-parser": "0.22.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -5804,22 +5915,22 @@ } }, "node_modules/@react-native/debugger-frontend": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.75.3.tgz", - "integrity": "sha512-99bLQsUwsxUMNR7Wa9eV2uyR38yfd6mOEqfN+JIm8/L9sKA926oh+CZkjDy1M8RmCB6spB5N9fVFVkrVdf2yFA==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.75.4.tgz", + "integrity": "sha512-QfGurR5hV6bhMPn/6VxS2RomYrPRFGwA03jJr+zKyWHnxDAu5jOqYVyKAktIIbhYe5sPp78QVl1ZYuhcnsRbEw==", "license": "BSD-3-Clause", "engines": { "node": ">=18" } }, "node_modules/@react-native/dev-middleware": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.75.3.tgz", - "integrity": "sha512-h2/6+UGmeMWjnT43axy27jNqoDRsE1C1qpjRC3sYpD4g0bI0jSTkY1kAgj8uqGGXLnHXiHOtjLDGdbAgZrsPaA==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.75.4.tgz", + "integrity": "sha512-UhyBeQOG2wNcvrUGw3+IBrHBk/lIu7hHGmWt4j8W9Aqv9BwktHKkPyko+5A1yoUeO1O/VDnHWYqWeOejcA9wpQ==", "license": "MIT", "dependencies": { "@isaacs/ttlcache": "^1.4.1", - "@react-native/debugger-frontend": "0.75.3", + "@react-native/debugger-frontend": "0.75.4", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", @@ -6084,9 +6195,9 @@ } }, "node_modules/@react-native/gradle-plugin": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.75.3.tgz", - "integrity": "sha512-mSfa/Mq/AsALuG/kvXz5ECrc6HdY5waMHal2sSfa8KA0Gt3JqYQVXF9Pdwd4yR5ClPZDI2HRa1tdE8GVlhMvPA==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.75.4.tgz", + "integrity": "sha512-kKTmw7cF7p1raT30DC0L6N+xiVXN7dlRy0J+hYPiCRRVHplwgvyS7pszjxfzwXmHFqOxwpxQVI3du8opsma1Mg==", "license": "MIT", "engines": { "node": ">=18" @@ -6135,9 +6246,9 @@ } }, "node_modules/@react-native/normalize-colors": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.75.3.tgz", - "integrity": "sha512-3mhF8AJFfIN0E5bEs/DQ4U2LzMJYm+FPSwY5bJ1DZhrxW1PFAh24bAPrSd8PwS0iarQ7biLdr1lWf/8LFv8pDA==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.75.4.tgz", + "integrity": "sha512-90QrQDLg0/k9xqYesaKuIkayOSjD+FKa0hsHollbwT5h3kuGMY+lU7UZxnb8tU55Y1PKdvjYxqQsYWI/ql79zA==", "license": "MIT" }, "node_modules/@react-native/typescript-config": { @@ -6148,9 +6259,9 @@ "license": "MIT" }, "node_modules/@react-native/virtualized-lists": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.75.3.tgz", - "integrity": "sha512-cTLm7k7Y//SvV8UK8esrDHEw5OrwwSJ4Fqc3x52Imi6ROuhshfGIPFwhtn4pmAg9nWHzHwwqiJ+9hCSVnXXX+g==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.75.4.tgz", + "integrity": "sha512-iEauRiXjvWG/iOH8bV+9MfepCS+72cuL5rhkrenYZS0NUnDcNjF+wtaoS9+Gx5z1UJOfEXxSmyXRtQJZne8SnA==", "license": "MIT", "dependencies": { "invariant": "^2.2.4", @@ -20467,22 +20578,22 @@ } }, "node_modules/react-native": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.75.3.tgz", - "integrity": "sha512-+Ne6u5H+tPo36sme19SCd1u2UID2uo0J/XzAJarxmrDj4Nsdi44eyUDKtQHmhgxjRGsuVJqAYrMK0abLSq8AHw==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.75.4.tgz", + "integrity": "sha512-Jehg4AMNIAXu9cn0/1jbTCoNg3tc+t6EekwucCalN8YoRmxGd/PY6osQTI/5fSAM40JQ4O8uv8Qg09Ycpb5sxQ==", "license": "MIT", "dependencies": { "@jest/create-cache-key-function": "^29.6.3", "@react-native-community/cli": "14.1.0", "@react-native-community/cli-platform-android": "14.1.0", "@react-native-community/cli-platform-ios": "14.1.0", - "@react-native/assets-registry": "0.75.3", - "@react-native/codegen": "0.75.3", - "@react-native/community-cli-plugin": "0.75.3", - "@react-native/gradle-plugin": "0.75.3", - "@react-native/js-polyfills": "0.75.3", - "@react-native/normalize-colors": "0.75.3", - "@react-native/virtualized-lists": "0.75.3", + "@react-native/assets-registry": "0.75.4", + "@react-native/codegen": "0.75.4", + "@react-native/community-cli-plugin": "0.75.4", + "@react-native/gradle-plugin": "0.75.4", + "@react-native/js-polyfills": "0.75.4", + "@react-native/normalize-colors": "0.75.4", + "@react-native/virtualized-lists": "0.75.4", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", @@ -21092,6 +21203,37 @@ "node": ">= 10.14.2" } }, + "node_modules/react-native/node_modules/@react-native/codegen": { + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.75.4.tgz", + "integrity": "sha512-0FplNAD/S5FUvm8YIn6uyarOcP4jdJPqWz17K4a/Gp2KSsG/JJKEskX3aj5wpePzVfNQl3WyvBJ0whODdCocIA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.0", + "glob": "^7.1.1", + "hermes-parser": "0.22.0", + "invariant": "^2.2.4", + "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/react-native/node_modules/@react-native/js-polyfills": { + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.75.4.tgz", + "integrity": "sha512-NF5ID5FjcVHBYk1LQ4JMRjPmxBWEo4yoqW1m6vGOQZPT8D5Qs9afgx3f7gQatxbn3ivMh0FVbLW0zBx6LyxEzA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/react-native/node_modules/@types/yargs": { "version": "15.0.19", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", diff --git a/package.json b/package.json index b7ffda6e0..7e77cf172 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,7 @@ "prop-types": "15.8.1", "react": "18.3.1", "react-localization": "github:BlueWallet/react-localization#ae7969a", - "react-native": "0.75.3", + "react-native": "0.75.4", "react-native-biometrics": "3.0.1", "react-native-blue-crypto": "github:BlueWallet/react-native-blue-crypto#3cb5442", "react-native-camera-kit": "13.0.0", From 4399f82a9b3d517eb98f525025bd2b06a77fdb82 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 2 Oct 2024 18:00:19 -0400 Subject: [PATCH 21/41] Update import.js --- screen/wallets/import.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/screen/wallets/import.js b/screen/wallets/import.js index 4feefb01b..1d6023f9c 100644 --- a/screen/wallets/import.js +++ b/screen/wallets/import.js @@ -97,7 +97,7 @@ const WalletsImport = () => { }; const importScan = async () => { - const data = await scanQrHelper(route.name, true); + const data = await scanQrHelper(navigation, onBarScanned, loc.send.scan_address); onBarScanned(data); }; From a47ff5ed932c66eb3f5d8a6196c17fa4564b1c75 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 2 Oct 2024 18:02:08 -0400 Subject: [PATCH 22/41] wip --- ios/Podfile.lock | 536 +++++++++++++++++++++++----------------------- package-lock.json | 232 ++++---------------- package.json | 14 +- 3 files changed, 320 insertions(+), 462 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 586f3218b..f81623b16 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -6,12 +6,12 @@ PODS: - React-Core - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.75.3) + - FBLazyVector (0.75.4) - fmt (9.1.0) - glog (0.3.5) - - hermes-engine (0.75.3): - - hermes-engine/Pre-built (= 0.75.3) - - hermes-engine/Pre-built (0.75.3) + - hermes-engine (0.75.4): + - hermes-engine/Pre-built (= 0.75.4) + - hermes-engine/Pre-built (0.75.4) - lottie-ios (4.4.1) - lottie-react-native (6.7.2): - DoubleConversion @@ -51,32 +51,32 @@ PODS: - DoubleConversion - fmt (= 9.1.0) - glog - - RCTDeprecation (0.75.3) - - RCTRequired (0.75.3) - - RCTTypeSafety (0.75.3): - - FBLazyVector (= 0.75.3) - - RCTRequired (= 0.75.3) - - React-Core (= 0.75.3) - - React (0.75.3): - - React-Core (= 0.75.3) - - React-Core/DevSupport (= 0.75.3) - - React-Core/RCTWebSocket (= 0.75.3) - - React-RCTActionSheet (= 0.75.3) - - React-RCTAnimation (= 0.75.3) - - React-RCTBlob (= 0.75.3) - - React-RCTImage (= 0.75.3) - - React-RCTLinking (= 0.75.3) - - React-RCTNetwork (= 0.75.3) - - React-RCTSettings (= 0.75.3) - - React-RCTText (= 0.75.3) - - React-RCTVibration (= 0.75.3) - - React-callinvoker (0.75.3) - - React-Core (0.75.3): + - RCTDeprecation (0.75.4) + - RCTRequired (0.75.4) + - RCTTypeSafety (0.75.4): + - FBLazyVector (= 0.75.4) + - RCTRequired (= 0.75.4) + - React-Core (= 0.75.4) + - React (0.75.4): + - React-Core (= 0.75.4) + - React-Core/DevSupport (= 0.75.4) + - React-Core/RCTWebSocket (= 0.75.4) + - React-RCTActionSheet (= 0.75.4) + - React-RCTAnimation (= 0.75.4) + - React-RCTBlob (= 0.75.4) + - React-RCTImage (= 0.75.4) + - React-RCTLinking (= 0.75.4) + - React-RCTNetwork (= 0.75.4) + - React-RCTSettings (= 0.75.4) + - React-RCTText (= 0.75.4) + - React-RCTVibration (= 0.75.4) + - React-callinvoker (0.75.4) + - React-Core (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - RCTDeprecation - - React-Core/Default (= 0.75.3) + - React-Core/Default (= 0.75.4) - React-cxxreact - React-featureflags - React-hermes @@ -88,7 +88,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/CoreModulesHeaders (0.75.3): + - React-Core/CoreModulesHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -105,7 +105,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/Default (0.75.3): + - React-Core/Default (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -121,13 +121,13 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/DevSupport (0.75.3): + - React-Core/DevSupport (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - RCTDeprecation - - React-Core/Default (= 0.75.3) - - React-Core/RCTWebSocket (= 0.75.3) + - React-Core/Default (= 0.75.4) + - React-Core/RCTWebSocket (= 0.75.4) - React-cxxreact - React-featureflags - React-hermes @@ -139,7 +139,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTActionSheetHeaders (0.75.3): + - React-Core/RCTActionSheetHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -156,7 +156,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTAnimationHeaders (0.75.3): + - React-Core/RCTAnimationHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -173,7 +173,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTBlobHeaders (0.75.3): + - React-Core/RCTBlobHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -190,7 +190,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTImageHeaders (0.75.3): + - React-Core/RCTImageHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -207,7 +207,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTLinkingHeaders (0.75.3): + - React-Core/RCTLinkingHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -224,7 +224,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTNetworkHeaders (0.75.3): + - React-Core/RCTNetworkHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -241,7 +241,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTSettingsHeaders (0.75.3): + - React-Core/RCTSettingsHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -258,7 +258,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTTextHeaders (0.75.3): + - React-Core/RCTTextHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -275,7 +275,7 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTVibrationHeaders (0.75.3): + - React-Core/RCTVibrationHeaders (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -292,12 +292,12 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-Core/RCTWebSocket (0.75.3): + - React-Core/RCTWebSocket (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - RCTDeprecation - - React-Core/Default (= 0.75.3) + - React-Core/Default (= 0.75.4) - React-cxxreact - React-featureflags - React-hermes @@ -309,36 +309,36 @@ PODS: - React-utils - SocketRocket (= 0.7.0) - Yoga - - React-CoreModules (0.75.3): + - React-CoreModules (0.75.4): - DoubleConversion - fmt (= 9.1.0) - RCT-Folly (= 2024.01.01.00) - - RCTTypeSafety (= 0.75.3) - - React-Core/CoreModulesHeaders (= 0.75.3) - - React-jsi (= 0.75.3) + - RCTTypeSafety (= 0.75.4) + - React-Core/CoreModulesHeaders (= 0.75.4) + - React-jsi (= 0.75.4) - React-jsinspector - React-NativeModulesApple - React-RCTBlob - - React-RCTImage (= 0.75.3) + - React-RCTImage (= 0.75.4) - ReactCodegen - ReactCommon - SocketRocket (= 0.7.0) - - React-cxxreact (0.75.3): + - React-cxxreact (0.75.4): - boost - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.75.3) - - React-debug (= 0.75.3) - - React-jsi (= 0.75.3) + - React-callinvoker (= 0.75.4) + - React-debug (= 0.75.4) + - React-jsi (= 0.75.4) - React-jsinspector - - React-logger (= 0.75.3) - - React-perflogger (= 0.75.3) - - React-runtimeexecutor (= 0.75.3) - - React-debug (0.75.3) - - React-defaultsnativemodule (0.75.3): + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - React-runtimeexecutor (= 0.75.4) + - React-debug (0.75.4) + - React-defaultsnativemodule (0.75.4): - DoubleConversion - glog - hermes-engine @@ -363,7 +363,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - React-domnativemodule (0.75.3): + - React-domnativemodule (0.75.4): - DoubleConversion - glog - hermes-engine @@ -385,7 +385,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - React-Fabric (0.75.3): + - React-Fabric (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -396,21 +396,21 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/animations (= 0.75.3) - - React-Fabric/attributedstring (= 0.75.3) - - React-Fabric/componentregistry (= 0.75.3) - - React-Fabric/componentregistrynative (= 0.75.3) - - React-Fabric/components (= 0.75.3) - - React-Fabric/core (= 0.75.3) - - React-Fabric/dom (= 0.75.3) - - React-Fabric/imagemanager (= 0.75.3) - - React-Fabric/leakchecker (= 0.75.3) - - React-Fabric/mounting (= 0.75.3) - - React-Fabric/observers (= 0.75.3) - - React-Fabric/scheduler (= 0.75.3) - - React-Fabric/telemetry (= 0.75.3) - - React-Fabric/templateprocessor (= 0.75.3) - - React-Fabric/uimanager (= 0.75.3) + - React-Fabric/animations (= 0.75.4) + - React-Fabric/attributedstring (= 0.75.4) + - React-Fabric/componentregistry (= 0.75.4) + - React-Fabric/componentregistrynative (= 0.75.4) + - React-Fabric/components (= 0.75.4) + - React-Fabric/core (= 0.75.4) + - React-Fabric/dom (= 0.75.4) + - React-Fabric/imagemanager (= 0.75.4) + - React-Fabric/leakchecker (= 0.75.4) + - React-Fabric/mounting (= 0.75.4) + - React-Fabric/observers (= 0.75.4) + - React-Fabric/scheduler (= 0.75.4) + - React-Fabric/telemetry (= 0.75.4) + - React-Fabric/templateprocessor (= 0.75.4) + - React-Fabric/uimanager (= 0.75.4) - React-featureflags - React-graphics - React-jsi @@ -420,7 +420,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/animations (0.75.3): + - React-Fabric/animations (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -440,7 +440,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/attributedstring (0.75.3): + - React-Fabric/attributedstring (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -460,7 +460,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistry (0.75.3): + - React-Fabric/componentregistry (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -480,7 +480,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/componentregistrynative (0.75.3): + - React-Fabric/componentregistrynative (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -500,7 +500,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components (0.75.3): + - React-Fabric/components (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -511,9 +511,9 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.75.3) - - React-Fabric/components/root (= 0.75.3) - - React-Fabric/components/view (= 0.75.3) + - React-Fabric/components/legacyviewmanagerinterop (= 0.75.4) + - React-Fabric/components/root (= 0.75.4) + - React-Fabric/components/view (= 0.75.4) - React-featureflags - React-graphics - React-jsi @@ -523,7 +523,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/legacyviewmanagerinterop (0.75.3): + - React-Fabric/components/legacyviewmanagerinterop (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -543,7 +543,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/root (0.75.3): + - React-Fabric/components/root (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -563,7 +563,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/components/view (0.75.3): + - React-Fabric/components/view (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -584,7 +584,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - Yoga - - React-Fabric/core (0.75.3): + - React-Fabric/core (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -604,7 +604,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/dom (0.75.3): + - React-Fabric/dom (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -624,7 +624,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/imagemanager (0.75.3): + - React-Fabric/imagemanager (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -644,7 +644,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/leakchecker (0.75.3): + - React-Fabric/leakchecker (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -664,7 +664,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/mounting (0.75.3): + - React-Fabric/mounting (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -684,7 +684,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/observers (0.75.3): + - React-Fabric/observers (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -695,7 +695,7 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/observers/events (= 0.75.3) + - React-Fabric/observers/events (= 0.75.4) - React-featureflags - React-graphics - React-jsi @@ -705,7 +705,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/observers/events (0.75.3): + - React-Fabric/observers/events (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -725,7 +725,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/scheduler (0.75.3): + - React-Fabric/scheduler (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -747,7 +747,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/telemetry (0.75.3): + - React-Fabric/telemetry (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -767,7 +767,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/templateprocessor (0.75.3): + - React-Fabric/templateprocessor (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -787,7 +787,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/uimanager (0.75.3): + - React-Fabric/uimanager (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -798,7 +798,7 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/uimanager/consistency (= 0.75.3) + - React-Fabric/uimanager/consistency (= 0.75.4) - React-featureflags - React-graphics - React-jsi @@ -809,7 +809,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-Fabric/uimanager/consistency (0.75.3): + - React-Fabric/uimanager/consistency (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -830,7 +830,7 @@ PODS: - React-runtimescheduler - React-utils - ReactCommon/turbomodule/core - - React-FabricComponents (0.75.3): + - React-FabricComponents (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -842,8 +842,8 @@ PODS: - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components (= 0.75.3) - - React-FabricComponents/textlayoutmanager (= 0.75.3) + - React-FabricComponents/components (= 0.75.4) + - React-FabricComponents/textlayoutmanager (= 0.75.4) - React-featureflags - React-graphics - React-jsi @@ -855,7 +855,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components (0.75.3): + - React-FabricComponents/components (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -867,15 +867,15 @@ PODS: - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.75.3) - - React-FabricComponents/components/iostextinput (= 0.75.3) - - React-FabricComponents/components/modal (= 0.75.3) - - React-FabricComponents/components/rncore (= 0.75.3) - - React-FabricComponents/components/safeareaview (= 0.75.3) - - React-FabricComponents/components/scrollview (= 0.75.3) - - React-FabricComponents/components/text (= 0.75.3) - - React-FabricComponents/components/textinput (= 0.75.3) - - React-FabricComponents/components/unimplementedview (= 0.75.3) + - React-FabricComponents/components/inputaccessory (= 0.75.4) + - React-FabricComponents/components/iostextinput (= 0.75.4) + - React-FabricComponents/components/modal (= 0.75.4) + - React-FabricComponents/components/rncore (= 0.75.4) + - React-FabricComponents/components/safeareaview (= 0.75.4) + - React-FabricComponents/components/scrollview (= 0.75.4) + - React-FabricComponents/components/text (= 0.75.4) + - React-FabricComponents/components/textinput (= 0.75.4) + - React-FabricComponents/components/unimplementedview (= 0.75.4) - React-featureflags - React-graphics - React-jsi @@ -887,7 +887,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/inputaccessory (0.75.3): + - React-FabricComponents/components/inputaccessory (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -910,7 +910,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/iostextinput (0.75.3): + - React-FabricComponents/components/iostextinput (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -933,7 +933,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/modal (0.75.3): + - React-FabricComponents/components/modal (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -956,7 +956,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/rncore (0.75.3): + - React-FabricComponents/components/rncore (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -979,7 +979,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/safeareaview (0.75.3): + - React-FabricComponents/components/safeareaview (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -1002,7 +1002,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/scrollview (0.75.3): + - React-FabricComponents/components/scrollview (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -1025,7 +1025,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/text (0.75.3): + - React-FabricComponents/components/text (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -1048,7 +1048,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/textinput (0.75.3): + - React-FabricComponents/components/textinput (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -1071,7 +1071,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/components/unimplementedview (0.75.3): + - React-FabricComponents/components/unimplementedview (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -1094,7 +1094,7 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricComponents/textlayoutmanager (0.75.3): + - React-FabricComponents/textlayoutmanager (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -1117,26 +1117,26 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/core - Yoga - - React-FabricImage (0.75.3): + - React-FabricImage (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) - - RCTRequired (= 0.75.3) - - RCTTypeSafety (= 0.75.3) + - RCTRequired (= 0.75.4) + - RCTTypeSafety (= 0.75.4) - React-Fabric - React-graphics - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.75.3) + - React-jsiexecutor (= 0.75.4) - React-logger - React-rendererdebug - React-utils - ReactCommon - Yoga - - React-featureflags (0.75.3) - - React-featureflagsnativemodule (0.75.3): + - React-featureflags (0.75.4) + - React-featureflagsnativemodule (0.75.4): - DoubleConversion - glog - hermes-engine @@ -1157,7 +1157,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - React-graphics (0.75.3): + - React-graphics (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog @@ -1165,19 +1165,19 @@ PODS: - React-jsi - React-jsiexecutor - React-utils - - React-hermes (0.75.3): + - React-hermes (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-cxxreact (= 0.75.3) + - React-cxxreact (= 0.75.4) - React-jsi - - React-jsiexecutor (= 0.75.3) + - React-jsiexecutor (= 0.75.4) - React-jsinspector - - React-perflogger (= 0.75.3) + - React-perflogger (= 0.75.4) - React-runtimeexecutor - - React-idlecallbacksnativemodule (0.75.3): + - React-idlecallbacksnativemodule (0.75.4): - DoubleConversion - glog - hermes-engine @@ -1199,7 +1199,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - React-ImageManager (0.75.3): + - React-ImageManager (0.75.4): - glog - RCT-Folly/Fabric - React-Core/Default @@ -1208,43 +1208,43 @@ PODS: - React-graphics - React-rendererdebug - React-utils - - React-jserrorhandler (0.75.3): + - React-jserrorhandler (0.75.4): - RCT-Folly/Fabric (= 2024.01.01.00) - React-debug - React-jsi - - React-jsi (0.75.3): + - React-jsi (0.75.4): - boost - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-jsiexecutor (0.75.3): + - React-jsiexecutor (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-cxxreact (= 0.75.3) - - React-jsi (= 0.75.3) + - React-cxxreact (= 0.75.4) + - React-jsi (= 0.75.4) - React-jsinspector - - React-perflogger (= 0.75.3) - - React-jsinspector (0.75.3): + - React-perflogger (= 0.75.4) + - React-jsinspector (0.75.4): - DoubleConversion - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - React-featureflags - React-jsi - - React-runtimeexecutor (= 0.75.3) - - React-jsitracing (0.75.3): + - React-runtimeexecutor (= 0.75.4) + - React-jsitracing (0.75.4): - React-jsi - - React-logger (0.75.3): + - React-logger (0.75.4): - glog - - React-Mapbuffer (0.75.3): + - React-Mapbuffer (0.75.4): - glog - React-debug - - React-microtasksnativemodule (0.75.3): + - React-microtasksnativemodule (0.75.4): - DoubleConversion - glog - hermes-engine @@ -1330,8 +1330,8 @@ PODS: - react-native-tcp-socket (6.2.0): - CocoaAsyncSocket - React-Core - - React-nativeconfig (0.75.3) - - React-NativeModulesApple (0.75.3): + - React-nativeconfig (0.75.4) + - React-NativeModulesApple (0.75.4): - glog - hermes-engine - React-callinvoker @@ -1342,13 +1342,13 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - React-perflogger (0.75.3) - - React-performancetimeline (0.75.3): + - React-perflogger (0.75.4) + - React-performancetimeline (0.75.4): - RCT-Folly (= 2024.01.01.00) - React-cxxreact - - React-RCTActionSheet (0.75.3): - - React-Core/RCTActionSheetHeaders (= 0.75.3) - - React-RCTAnimation (0.75.3): + - React-RCTActionSheet (0.75.4): + - React-Core/RCTActionSheetHeaders (= 0.75.4) + - React-RCTAnimation (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - React-Core/RCTAnimationHeaders @@ -1356,7 +1356,7 @@ PODS: - React-NativeModulesApple - ReactCodegen - ReactCommon - - React-RCTAppDelegate (0.75.3): + - React-RCTAppDelegate (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTRequired - RCTTypeSafety @@ -1381,7 +1381,7 @@ PODS: - React-utils - ReactCodegen - ReactCommon - - React-RCTBlob (0.75.3): + - React-RCTBlob (0.75.4): - DoubleConversion - fmt (= 9.1.0) - hermes-engine @@ -1394,7 +1394,7 @@ PODS: - React-RCTNetwork - ReactCodegen - ReactCommon - - React-RCTFabric (0.75.3): + - React-RCTFabric (0.75.4): - glog - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) @@ -1417,7 +1417,7 @@ PODS: - React-runtimescheduler - React-utils - Yoga - - React-RCTImage (0.75.3): + - React-RCTImage (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - React-Core/RCTImageHeaders @@ -1426,14 +1426,14 @@ PODS: - React-RCTNetwork - ReactCodegen - ReactCommon - - React-RCTLinking (0.75.3): - - React-Core/RCTLinkingHeaders (= 0.75.3) - - React-jsi (= 0.75.3) + - React-RCTLinking (0.75.4): + - React-Core/RCTLinkingHeaders (= 0.75.4) + - React-jsi (= 0.75.4) - React-NativeModulesApple - ReactCodegen - ReactCommon - - ReactCommon/turbomodule/core (= 0.75.3) - - React-RCTNetwork (0.75.3): + - ReactCommon/turbomodule/core (= 0.75.4) + - React-RCTNetwork (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - React-Core/RCTNetworkHeaders @@ -1441,7 +1441,7 @@ PODS: - React-NativeModulesApple - ReactCodegen - ReactCommon - - React-RCTSettings (0.75.3): + - React-RCTSettings (0.75.4): - RCT-Folly (= 2024.01.01.00) - RCTTypeSafety - React-Core/RCTSettingsHeaders @@ -1449,24 +1449,24 @@ PODS: - React-NativeModulesApple - ReactCodegen - ReactCommon - - React-RCTText (0.75.3): - - React-Core/RCTTextHeaders (= 0.75.3) + - React-RCTText (0.75.4): + - React-Core/RCTTextHeaders (= 0.75.4) - Yoga - - React-RCTVibration (0.75.3): + - React-RCTVibration (0.75.4): - RCT-Folly (= 2024.01.01.00) - React-Core/RCTVibrationHeaders - React-jsi - React-NativeModulesApple - ReactCodegen - ReactCommon - - React-rendererconsistency (0.75.3) - - React-rendererdebug (0.75.3): + - React-rendererconsistency (0.75.4) + - React-rendererdebug (0.75.4): - DoubleConversion - fmt (= 9.1.0) - RCT-Folly (= 2024.01.01.00) - React-debug - - React-rncore (0.75.3) - - React-RuntimeApple (0.75.3): + - React-rncore (0.75.4) + - React-RuntimeApple (0.75.4): - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) - React-callinvoker @@ -1485,7 +1485,7 @@ PODS: - React-RuntimeHermes - React-runtimescheduler - React-utils - - React-RuntimeCore (0.75.3): + - React-RuntimeCore (0.75.4): - glog - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) @@ -1498,9 +1498,9 @@ PODS: - React-runtimeexecutor - React-runtimescheduler - React-utils - - React-runtimeexecutor (0.75.3): - - React-jsi (= 0.75.3) - - React-RuntimeHermes (0.75.3): + - React-runtimeexecutor (0.75.4): + - React-jsi (= 0.75.4) + - React-RuntimeHermes (0.75.4): - hermes-engine - RCT-Folly/Fabric (= 2024.01.01.00) - React-featureflags @@ -1511,7 +1511,7 @@ PODS: - React-nativeconfig - React-RuntimeCore - React-utils - - React-runtimescheduler (0.75.3): + - React-runtimescheduler (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) @@ -1524,13 +1524,13 @@ PODS: - React-rendererdebug - React-runtimeexecutor - React-utils - - React-utils (0.75.3): + - React-utils (0.75.4): - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - React-debug - - React-jsi (= 0.75.3) - - ReactCodegen (0.75.3): + - React-jsi (= 0.75.4) + - ReactCodegen (0.75.4): - DoubleConversion - glog - hermes-engine @@ -1550,46 +1550,46 @@ PODS: - React-utils - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - ReactCommon (0.75.3): - - ReactCommon/turbomodule (= 0.75.3) - - ReactCommon/turbomodule (0.75.3): + - ReactCommon (0.75.4): + - ReactCommon/turbomodule (= 0.75.4) + - ReactCommon/turbomodule (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.75.3) - - React-cxxreact (= 0.75.3) - - React-jsi (= 0.75.3) - - React-logger (= 0.75.3) - - React-perflogger (= 0.75.3) - - ReactCommon/turbomodule/bridging (= 0.75.3) - - ReactCommon/turbomodule/core (= 0.75.3) - - ReactCommon/turbomodule/bridging (0.75.3): + - React-callinvoker (= 0.75.4) + - React-cxxreact (= 0.75.4) + - React-jsi (= 0.75.4) + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - ReactCommon/turbomodule/bridging (= 0.75.4) + - ReactCommon/turbomodule/core (= 0.75.4) + - ReactCommon/turbomodule/bridging (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.75.3) - - React-cxxreact (= 0.75.3) - - React-jsi (= 0.75.3) - - React-logger (= 0.75.3) - - React-perflogger (= 0.75.3) - - ReactCommon/turbomodule/core (0.75.3): + - React-callinvoker (= 0.75.4) + - React-cxxreact (= 0.75.4) + - React-jsi (= 0.75.4) + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - ReactCommon/turbomodule/core (0.75.4): - DoubleConversion - fmt (= 9.1.0) - glog - hermes-engine - RCT-Folly (= 2024.01.01.00) - - React-callinvoker (= 0.75.3) - - React-cxxreact (= 0.75.3) - - React-debug (= 0.75.3) - - React-featureflags (= 0.75.3) - - React-jsi (= 0.75.3) - - React-logger (= 0.75.3) - - React-perflogger (= 0.75.3) - - React-utils (= 0.75.3) + - React-callinvoker (= 0.75.4) + - React-cxxreact (= 0.75.4) + - React-debug (= 0.75.4) + - React-featureflags (= 0.75.4) + - React-jsi (= 0.75.4) + - React-logger (= 0.75.4) + - React-perflogger (= 0.75.4) + - React-utils (= 0.75.4) - ReactNativeCameraKit (13.0.0): - React-Core - RealmJS (12.13.1): @@ -1606,7 +1606,7 @@ PODS: - React-Core - RNFS (2.20.0): - React-Core - - RNGestureHandler (2.19.0): + - RNGestureHandler (2.20.0): - DoubleConversion - glog - hermes-engine @@ -1662,7 +1662,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNReanimated (3.15.2): + - RNReanimated (3.15.4): - DoubleConversion - glog - hermes-engine @@ -1682,10 +1682,10 @@ PODS: - ReactCodegen - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - - RNReanimated/reanimated (= 3.15.2) - - RNReanimated/worklets (= 3.15.2) + - RNReanimated/reanimated (= 3.15.4) + - RNReanimated/worklets (= 3.15.4) - Yoga - - RNReanimated/reanimated (3.15.2): + - RNReanimated/reanimated (3.15.4): - DoubleConversion - glog - hermes-engine @@ -1706,7 +1706,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - Yoga - - RNReanimated/worklets (3.15.2): + - RNReanimated/worklets (3.15.4): - DoubleConversion - glog - hermes-engine @@ -2125,41 +2125,41 @@ SPEC CHECKSUMS: BVLinearGradient: 880f91a7854faff2df62518f0281afb1c60d49a3 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 76ab83afb40bddeeee456813d9c04f67f78771b5 - FBLazyVector: 7b438dceb9f904bd85ca3c31d64cce32a035472b + FBLazyVector: 430e10366de01d1e3d57374500b1b150fe482e6d fmt: 4c2741a687cc09f0634a2e2c72a838b99f1ff120 glog: 69ef571f3de08433d766d614c73a9838a06bf7eb - hermes-engine: 8d2103d6c0176779aea4e25df6bb1410f9946680 + hermes-engine: ea92f60f37dba025e293cbe4b4a548fd26b610a0 lottie-ios: e047b1d2e6239b787cc5e9755b988869cf190494 lottie-react-native: 31197e5c65aa7cb59e6affcefaf901588bb708c4 RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740 - RCTDeprecation: 4191f6e64b72d9743f6fe1a8a16e89e868f5e9e7 - RCTRequired: 9bb589570f2bb3abc6518761e3fd1ad9b7f7f06c - RCTTypeSafety: 1c1a8741c86df0a0ac1a99cf3fb0e29eedbc2c88 - React: b6810a201ee11e69ae8bfd4eb4aaab86610600bf - React-callinvoker: d6c7898b63e6a2d37bc308f17c05be0ba3630b10 - React-Core: 2fc97900b68e7568233698c6113ca9d64ed8b520 - React-CoreModules: 2d68c251bc4080028f2835fa47504e8f20669a21 - React-cxxreact: 5f233f8ac7ea4772e49462e0ab2b0a15a4f80ab7 - React-debug: fd0ed8ecd5f8a23c7daf5ceaca8aa722a4d083fd - React-defaultsnativemodule: 10f0f8bc38d8dc7d2273572cd85ed0b71298ecdd - React-domnativemodule: bfef3dda59e7030b498d0d78628f4adf414ab8e4 - React-Fabric: 3d0f5e2735d2f77a897ee684edeff7bb0e061919 - React-FabricComponents: 68032a85a3c25c9c8d6ce676d8af9a85e2370f24 - React-FabricImage: f8ac2df576703097b5b2f8d972b162cdca855aa3 - React-featureflags: cf78861db9318ae29982fa8953c92d31b276c9ac - React-featureflagsnativemodule: d04eb5c3f0ac33fe70b060d97e8649bfd69c5f1e - React-graphics: 7572851bca7242416b648c45d6af87d93d29281e - React-hermes: 95c27801c60615345ee6256eafa6d597ce983b8b - React-idlecallbacksnativemodule: f5f0b760ec2739b30e315e1afee3dd3a5a93c3b6 - React-ImageManager: aedf54d34d4475c66f4c3da6b8359b95bee904e4 - React-jserrorhandler: 0c8949672a00f2a502c767350e591e3ec3d82fb3 - React-jsi: d77bb442a4b0849063f2bd22d3c1fa71918713b7 - React-jsiexecutor: 3b9c6334b7b0f42d4c4aae950132766e63a7809f - React-jsinspector: e1bb5816869507527c30213cc1ed60eae9e3e9c4 - React-jsitracing: 3935b092f85bb1e53b8cf8a00f572413648af46b - React-logger: 4072f39df335ca443932e0ccece41fbeb5ca8404 - React-Mapbuffer: 714f2fae68edcabfc332b754e9fbaa8cfc68fdd4 - React-microtasksnativemodule: 4943ad8f99be8ccf5a63329fa7d269816609df9e + RCTDeprecation: 726d24248aeab6d7180dac71a936bbca6a994ed1 + RCTRequired: a94e7febda6db0345d207e854323c37e3a31d93b + RCTTypeSafety: 28e24a6e44f5cbf912c66dde6ab7e07d1059a205 + React: c2830fa483b0334bda284e46a8579ebbe0c5447e + React-callinvoker: 4aecde929540c26b841a4493f70ebf6016691eb8 + React-Core: 9c059899f00d46b5cec3ed79251f77d9c469553d + React-CoreModules: 9fac2d31803c0ed03e4ddaa17f1481714f8633a5 + React-cxxreact: a979810a3ca4045ceb09407a17563046a7f71494 + React-debug: 3d21f69d8def0656f8b8ec25c0f05954f4d862c5 + React-defaultsnativemodule: 2fa2bdb7bd03ff9764facc04aa8520ebf14febae + React-domnativemodule: 986e6fe7569e1383dce452a7b013b6c843a752df + React-Fabric: 3bc7be9e3a6b7581fc828dc2aa041e107fc8ffb8 + React-FabricComponents: 668e0cb02344c2942e4c8921a643648faa6dc364 + React-FabricImage: 3f44dd25a2b020ed5215d4438a1bb1f3461cd4f1 + React-featureflags: ee1abd6f71555604a36cda6476e3c502ca9a48e5 + React-featureflagsnativemodule: 7ccc0cd666c2a6257401dceb7920818ac2b42803 + React-graphics: d7dd9c8d75cad5af19e19911fa370f78f2febd96 + React-hermes: 2069b08e965e48b7f8aa2c0ca0a2f383349ed55d + React-idlecallbacksnativemodule: e211b2099b6dced97959cb58257bab2b2de4d7ef + React-ImageManager: ab7a7d17dd0ff1ef1d4e1e88197d1119da9957ce + React-jserrorhandler: d9e867bb83b868472f3f7601883f0403b3e3942d + React-jsi: d68f1d516e5120a510afe356647a6a1e1f98f2db + React-jsiexecutor: 6366a08a0fc01c9b65736f8deacd47c4a397912a + React-jsinspector: 0ac947411f0c73b34908800cc7a6a31d8f93e1a8 + React-jsitracing: 0e8c0aadb1fcec6b1e4f2a66ee3b0da80f0f8615 + React-logger: d79b704bf215af194f5213a6b7deec50ba8e6a9b + React-Mapbuffer: b982d5bba94a8bc073bda48f0d27c9b28417fae3 + React-microtasksnativemodule: 2b73e68f0462f3175f98782db08896f8501afd20 react-native-biometrics: 352e5a794bfffc46a0c86725ea7dc62deb085bdc react-native-blue-crypto: 23f1558ad3d38d7a2edb7e2f6ed1bc520ed93e56 react-native-bw-file-access: b232fd1d902521ca046f3fc5990ab1465e1878d7 @@ -2173,32 +2173,32 @@ SPEC CHECKSUMS: react-native-safe-area-context: 851c62c48dce80ccaa5637b6aa5991a1bc36eca9 react-native-secure-key-store: 910e6df6bc33cb790aba6ee24bc7818df1fe5898 react-native-tcp-socket: 8c3e8bef909ab06c557eeb95363fe029391ff09d - React-nativeconfig: 4a9543185905fe41014c06776bf126083795aed9 - React-NativeModulesApple: 0506da59fc40d2e1e6e12a233db5e81c46face27 - React-perflogger: 3bbb82f18e9ac29a1a6931568e99d6305ef4403b - React-performancetimeline: d15a723422ed500f47cb271f3175abbeb217f5ba - React-RCTActionSheet: cb2b38a53d03ec22f1159c89667b86c2c490d92d - React-RCTAnimation: 6836c87c7364f471e9077fda80b7349bc674be33 - React-RCTAppDelegate: 2f11edfa7302451c792591f9a7838ca86cdcec34 - React-RCTBlob: 516dbbd38397f5013394fdd1cc65408cc82e37a1 - React-RCTFabric: b281a52c2b9726b0c64880e1535f2100013d5f7c - React-RCTImage: 1b2c2c1716db859ffff2d7a06a30b0ec5c677fc5 - React-RCTLinking: 59c07577767e705b0ab95d11e5ad74c61bf2a022 - React-RCTNetwork: f9a827e7d6bc428e0d99cd1fbe0427854354b8c1 - React-RCTSettings: 614252fecc24840f61590c016aca1664a52cfb0f - React-RCTText: 424549f68867265aa25969f50e7b9bf8bd70ae55 - React-RCTVibration: c8d156e6cce18f00b0310db7670fa997c7cda407 - React-rendererconsistency: 993f54bb0df644df2922cd87ea55238d510d992b - React-rendererdebug: 7a8cbb632b68d666ad0fc01b3f9dc1a1bcc9a9f9 - React-rncore: 1df26fe0ae861c599f9f2896f45e8834ef4b85f9 - React-RuntimeApple: b5b14b09e3be4058f9fe7ab4925e1ee343f03310 - React-RuntimeCore: 2073fb33da2aec6ce6c1c9d3d53898ed1f1d806d - React-runtimeexecutor: 9a668b94ad5d93755443311715bd57680330286a - React-RuntimeHermes: b37c62718d6920ac2958a0052bdc1b01aca842b8 - React-runtimescheduler: e25750a18cbb7469e0513f1ace834d14e8c1a202 - React-utils: f2afa6acd905ca2ce7bb8ffb4a22f7f8a12534e8 - ReactCodegen: ff95a93d5ab5d9b2551571886271478eaa168565 - ReactCommon: 289214026502e6a93484f4a46bcc0efa4f3f2864 + React-nativeconfig: 8c83d992b9cc7d75b5abe262069eaeea4349f794 + React-NativeModulesApple: 9f7920224a3b0c7d04d77990067ded14cee3c614 + React-perflogger: 59e1a3182dca2cee7b9f1f7aab204018d46d1914 + React-performancetimeline: a9d05533ff834c6aa1f532e05e571f3fd2e3c1ed + React-RCTActionSheet: d80e68d3baa163e4012a47c1f42ddd8bcd9672cc + React-RCTAnimation: bde981f6bd7f8493696564da9b3bd05721d3b3cc + React-RCTAppDelegate: 0176615c51476c88212bf3edbafb840d39ea7631 + React-RCTBlob: 520a0382bf8e89b9153d60e3c6293e51615834e9 + React-RCTFabric: c9da097b19b30017a99498b8c66a69c72f3ce689 + React-RCTImage: 90448d2882464af6015ed57c98f463f8748be465 + React-RCTLinking: 1bd95d0a704c271d21d758e0f0388cced768d77d + React-RCTNetwork: 218af6e63eb9b47935cc5a775b7a1396cf10ff91 + React-RCTSettings: e10b8e42b0fce8a70fbf169de32a2ae03243ef6b + React-RCTText: e7bf9f4997a1a0b45c052d4ad9a0fe653061cf29 + React-RCTVibration: 5b70b7f11e48d1c57e0d4832c2097478adbabe93 + React-rendererconsistency: f620c6e003e3c4593e6349d8242b8aeb3d4633f0 + React-rendererdebug: e697680f4dd117becc5daf9ea9800067abcee91c + React-rncore: c22bd84cc2f38947f0414fab6646db22ff4f80cd + React-RuntimeApple: de0976836b90b484305638616898cbc665c67c13 + React-RuntimeCore: 3c4a5aa63d9e7a3c17b7fb23f32a72a8bcfccf57 + React-runtimeexecutor: ea90d8e3a9e0f4326939858dafc6ab17c031a5d3 + React-RuntimeHermes: c6b0afdf1f493621214eeb6517fb859ce7b21b81 + React-runtimescheduler: 84f0d876d254bce6917a277b3930eb9bc29df6c7 + React-utils: cbe8b8b3d7b2ac282e018e46f0e7b25cdc87c5a0 + ReactCodegen: 4bcb34e6b5ebf6eef5cee34f55aa39991ea1c1f1 + ReactCommon: 6a952e50c2a4b694731d7682aaa6c79bc156e4ad ReactNativeCameraKit: 9d46a5d7dd544ca64aa9c03c150d2348faf437eb RealmJS: 325a7b621587dd9945306d4cbfd6b641bc20e2dd RNCAsyncStorage: ec53e44dc3e75b44aa2a9f37618a49c3bc080a7a @@ -2207,7 +2207,7 @@ SPEC CHECKSUMS: RNDefaultPreference: 08bdb06cfa9188d5da97d4642dac745218d7fb31 RNDeviceInfo: b899ce37a403a4dea52b7cb85e16e49c04a5b88e RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 - RNGestureHandler: 3b6fa2bfa341c413d3d08444b838515b58e48ee7 + RNGestureHandler: 6dfe7692a191ee224748964127114edf057a1475 RNHandoff: d3b0754cca3a6bcd9b25f544f733f7f033ccf5fa RNKeychain: bfe3d12bf4620fe488771c414530bf16e88f3678 RNLocalize: 4f22418187ecd5ca693231093ff1d912d1b3c9bc @@ -2216,7 +2216,7 @@ SPEC CHECKSUMS: RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93 RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a RNReactNativeHapticFeedback: 0d591ea1e150f36cb96d868d4e8d77272243d78a - RNReanimated: ece067b779e0d6c7887c6bb80d381d0a0efd43c9 + RNReanimated: 6e79f3e3b37a88cddfb38525e9652aabd7c4c750 RNScreens: 19719a9c326e925498ac3b2d35c4e50fe87afc06 RNShare: 0fad69ae2d71de9d1f7b9a43acf876886a6cb99c RNSVG: 4590aa95758149fa27c5c83e54a6a466349a1688 @@ -2224,7 +2224,7 @@ SPEC CHECKSUMS: RNWatch: fd30ca40a5b5ef58dcbc195638e68219bc455236 SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d TrueSheet: 49bf7af5d5a29f018f02879c26a1afe595c85829 - Yoga: 4ef80d96a5534f0e01b3055f17d1e19a9fc61b63 + Yoga: 055f92ad73f8c8600a93f0e25ac0b2344c3b07e6 PODFILE CHECKSUM: 95cd28e70ae47c36e1e0b30f60bba0bd6ffa77d8 diff --git a/package-lock.json b/package-lock.json index 7754c4bd0..b5d975835 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,8 +21,8 @@ "@react-native-clipboard/clipboard": "1.14.2", "@react-native-community/push-notification-ios": "1.11.0", "@react-native-menu/menu": "https://github.com/BlueWallet/menu.git#8c6004b", - "@react-native/gradle-plugin": "^0.75.3", - "@react-native/metro-config": "0.75.3", + "@react-native/gradle-plugin": "^0.75.4", + "@react-native/metro-config": "0.75.4", "@react-navigation/drawer": "6.7.2", "@react-navigation/native": "6.1.18", "@react-navigation/native-stack": "6.11.0", @@ -112,11 +112,11 @@ "@babel/core": "^7.20.0", "@babel/runtime": "^7.20.0", "@jest/reporters": "^27.5.1", - "@react-native/babel-preset": "^0.75.3", - "@react-native/eslint-config": "^0.75.3", - "@react-native/js-polyfills": "^0.75.3", - "@react-native/metro-babel-transformer": "^0.75.3", - "@react-native/typescript-config": "^0.75.3", + "@react-native/babel-preset": "^0.75.4", + "@react-native/eslint-config": "^0.75.4", + "@react-native/js-polyfills": "^0.75.4", + "@react-native/metro-babel-transformer": "^0.75.4", + "@react-native/typescript-config": "^0.75.4", "@types/bip38": "^3.1.2", "@types/bs58check": "^2.1.0", "@types/create-hash": "^1.2.2", @@ -5619,121 +5619,6 @@ } }, "node_modules/@react-native/babel-plugin-codegen": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.3.tgz", - "integrity": "sha512-8JmXEKq+Efb9AffsV48l8gmKe/ZQ2PbBygZjHdIf8DNZZhO/z5mt27J4B43MWNdp5Ww1l59T0mEaf8l/uywQUg==", - "license": "MIT", - "dependencies": { - "@react-native/codegen": "0.75.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/babel-preset": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.75.3.tgz", - "integrity": "sha512-VZQkQEj36DKEGApXFYdVcFtqdglbnoVr7aOZpjffURSgPcIA9vWTm1b+OL4ayOaRZXTZKiDBNQCXvBX5E5AgQg==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-export-default-from": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.18.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", - "@babel/plugin-syntax-optional-chaining": "^7.0.0", - "@babel/plugin-transform-arrow-functions": "^7.0.0", - "@babel/plugin-transform-async-generator-functions": "^7.24.3", - "@babel/plugin-transform-async-to-generator": "^7.20.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", - "@babel/plugin-transform-class-properties": "^7.24.1", - "@babel/plugin-transform-classes": "^7.0.0", - "@babel/plugin-transform-computed-properties": "^7.0.0", - "@babel/plugin-transform-destructuring": "^7.20.0", - "@babel/plugin-transform-flow-strip-types": "^7.20.0", - "@babel/plugin-transform-for-of": "^7.0.0", - "@babel/plugin-transform-function-name": "^7.0.0", - "@babel/plugin-transform-literals": "^7.0.0", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.1", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1", - "@babel/plugin-transform-numeric-separator": "^7.24.1", - "@babel/plugin-transform-object-rest-spread": "^7.24.5", - "@babel/plugin-transform-optional-catch-binding": "^7.24.1", - "@babel/plugin-transform-optional-chaining": "^7.24.5", - "@babel/plugin-transform-parameters": "^7.0.0", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-react-display-name": "^7.0.0", - "@babel/plugin-transform-react-jsx": "^7.0.0", - "@babel/plugin-transform-react-jsx-self": "^7.0.0", - "@babel/plugin-transform-react-jsx-source": "^7.0.0", - "@babel/plugin-transform-regenerator": "^7.20.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/plugin-transform-shorthand-properties": "^7.0.0", - "@babel/plugin-transform-spread": "^7.0.0", - "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", - "@react-native/babel-plugin-codegen": "0.75.3", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/core": "*" - } - }, - "node_modules/@react-native/codegen": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.75.3.tgz", - "integrity": "sha512-I0bz5jwOkiR7vnhYLGoV22RGmesErUg03tjsCiQgmsMpbyCYumudEtLNN5+DplHGK56bu8KyzBqKkWXGSKSCZQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.0", - "glob": "^7.1.1", - "hermes-parser": "0.22.0", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "yargs": "^17.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/@react-native/community-cli-plugin": { - "version": "0.75.4", - "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.4.tgz", - "integrity": "sha512-k/hevYPjEpW0MNVVyb3v9PJosOP+FzenS7+oqYNLXdEmgTnGHrAtYX9ABrJJgzeJt7I6g8g+RDvm8PSE+tnM5w==", - "license": "MIT", - "dependencies": { - "@react-native-community/cli-server-api": "14.1.0", - "@react-native-community/cli-tools": "14.1.0", - "@react-native/dev-middleware": "0.75.4", - "@react-native/metro-babel-transformer": "0.75.4", - "chalk": "^4.0.0", - "execa": "^5.1.1", - "metro": "^0.80.3", - "metro-config": "^0.80.3", - "metro-core": "^0.80.3", - "node-fetch": "^2.2.0", - "readline": "^1.3.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-plugin-codegen": { "version": "0.75.4", "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.4.tgz", "integrity": "sha512-gu5ZRIdr7+ufi09DJROhfDtbF4biTnCDJqtqcmtsku4cXOXPHE36QbC/vAmKEZ0PMPURBI8lwF2wfaeHLn7gig==", @@ -5745,7 +5630,7 @@ "node": ">=18" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-preset": { + "node_modules/@react-native/babel-preset": { "version": "0.75.4", "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.75.4.tgz", "integrity": "sha512-UtyYCDJ3rZIeggyFEfh/q5t/FZ5a1h9F8EI37Nbrwyk/OKPH+1XS4PbHROHJzBARlJwOAfmT75+ovYUO0eakJA==", @@ -5804,7 +5689,7 @@ "@babel/core": "*" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/codegen": { + "node_modules/@react-native/codegen": { "version": "0.75.4", "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.75.4.tgz", "integrity": "sha512-0FplNAD/S5FUvm8YIn6uyarOcP4jdJPqWz17K4a/Gp2KSsG/JJKEskX3aj5wpePzVfNQl3WyvBJ0whODdCocIA==", @@ -5826,22 +5711,26 @@ "@babel/preset-env": "^7.1.6" } }, - "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/metro-babel-transformer": { + "node_modules/@react-native/community-cli-plugin": { "version": "0.75.4", - "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.4.tgz", - "integrity": "sha512-O0WMW/K8Ny/MAAeRebqGEQhrbzcioxcPHZtos+EH2hWeBTEKHQV8fMYYxfYDabpr392qdhSBwg3LlXUD4U3PXQ==", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.4.tgz", + "integrity": "sha512-k/hevYPjEpW0MNVVyb3v9PJosOP+FzenS7+oqYNLXdEmgTnGHrAtYX9ABrJJgzeJt7I6g8g+RDvm8PSE+tnM5w==", "license": "MIT", "dependencies": { - "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.75.4", - "hermes-parser": "0.22.0", - "nullthrows": "^1.1.1" + "@react-native-community/cli-server-api": "14.1.0", + "@react-native-community/cli-tools": "14.1.0", + "@react-native/dev-middleware": "0.75.4", + "@react-native/metro-babel-transformer": "0.75.4", + "chalk": "^4.0.0", + "execa": "^5.1.1", + "metro": "^0.80.3", + "metro-config": "^0.80.3", + "metro-core": "^0.80.3", + "node-fetch": "^2.2.0", + "readline": "^1.3.0" }, "engines": { "node": ">=18" - }, - "peerDependencies": { - "@babel/core": "*" } }, "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { @@ -5987,15 +5876,15 @@ } }, "node_modules/@react-native/eslint-config": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/eslint-config/-/eslint-config-0.75.3.tgz", - "integrity": "sha512-BUkgQ3+irVZFfikIX3JgQQut/LABcumMZD3lzWRpf1hpbsEsXmYLo3u9qpfyYsavnqVGtWg8bLZDDGG6lmQBhA==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/eslint-config/-/eslint-config-0.75.4.tgz", + "integrity": "sha512-3KBHYwp4HnBdaCFx9KDPvQY+sGrv5fHX2qDkXGKmN3uYBz+zfnMQXTiht6OuBbWULUF0y0o8m+uH1yYAn/V9mw==", "dev": true, "license": "MIT", "dependencies": { "@babel/core": "^7.20.0", "@babel/eslint-parser": "^7.20.0", - "@react-native/eslint-plugin": "0.75.3", + "@react-native/eslint-plugin": "0.75.4", "@typescript-eslint/eslint-plugin": "^7.1.1", "@typescript-eslint/parser": "^7.1.1", "eslint-config-prettier": "^8.5.0", @@ -6185,9 +6074,9 @@ } }, "node_modules/@react-native/eslint-plugin": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.75.3.tgz", - "integrity": "sha512-p0BwuqflumZtUJ8VUt5YQPsYnxrwfHJZCTQ0N1X+4B8aoBNIKxtfzeIqJsSz/GvM86HGgGnd/nyxEo8IwkPo7Q==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.75.4.tgz", + "integrity": "sha512-1kEZzC8UKi3baHnH7tBVCNpF4aoAmT7g7hEa5/rtZ+Z7vcpaxeY6wjNYt3j02Z9n310yX0NKDJox30CqvzEvsg==", "dev": true, "license": "MIT", "engines": { @@ -6204,22 +6093,22 @@ } }, "node_modules/@react-native/js-polyfills": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.75.3.tgz", - "integrity": "sha512-+JVFJ351GSJT3V7LuXscMqfnpR/UxzsAjbBjfAHBR3kqTbVqrAmBccqPCA3NLzgb/RY8khLJklwMUVlWrn8iFg==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.75.4.tgz", + "integrity": "sha512-NF5ID5FjcVHBYk1LQ4JMRjPmxBWEo4yoqW1m6vGOQZPT8D5Qs9afgx3f7gQatxbn3ivMh0FVbLW0zBx6LyxEzA==", "license": "MIT", "engines": { "node": ">=18" } }, "node_modules/@react-native/metro-babel-transformer": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.3.tgz", - "integrity": "sha512-gDlEl6C2mwQPLxFOR+yla5MpJpDPNOFD6J5Hd9JM9+lOdUq6MNujh1Xn4ZMvglW7rfViq3nMjg4xPQeGUhDG+w==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.4.tgz", + "integrity": "sha512-O0WMW/K8Ny/MAAeRebqGEQhrbzcioxcPHZtos+EH2hWeBTEKHQV8fMYYxfYDabpr392qdhSBwg3LlXUD4U3PXQ==", "license": "MIT", "dependencies": { "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.75.3", + "@react-native/babel-preset": "0.75.4", "hermes-parser": "0.22.0", "nullthrows": "^1.1.1" }, @@ -6231,13 +6120,13 @@ } }, "node_modules/@react-native/metro-config": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.75.3.tgz", - "integrity": "sha512-BKvJGCzKMtGPfKU4v8+16xtv6iXPbnSeeD6ONvzW0Hm9amPxAP9GGweiUTwnOXUqt9XcfRhytZosiOmGa39Wqg==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.75.4.tgz", + "integrity": "sha512-gIIVlPUtZ1UKCxMJRtG88FoWS5REbI4YUmiyoM8eBUA85Zvk27b67iBX5Lkuxg8FGc7t9tjWQRpVGs2IK5uZpQ==", "license": "MIT", "dependencies": { - "@react-native/js-polyfills": "0.75.3", - "@react-native/metro-babel-transformer": "0.75.3", + "@react-native/js-polyfills": "0.75.4", + "@react-native/metro-babel-transformer": "0.75.4", "metro-config": "^0.80.3", "metro-runtime": "^0.80.3" }, @@ -6252,9 +6141,9 @@ "license": "MIT" }, "node_modules/@react-native/typescript-config": { - "version": "0.75.3", - "resolved": "https://registry.npmjs.org/@react-native/typescript-config/-/typescript-config-0.75.3.tgz", - "integrity": "sha512-yekwhjG9lDvib+3jYwagEXcyTJ4mEryDLCoQINWCwy+7GtMx2BrKweHc4Phcc1dqmK1U/XMzVUXF3X3hc+FVPA==", + "version": "0.75.4", + "resolved": "https://registry.npmjs.org/@react-native/typescript-config/-/typescript-config-0.75.4.tgz", + "integrity": "sha512-0849BqSIDGYltqMbniZg1MvDSFO5KMQsmIKpGzioTm3+SF73Ec1LihA1CtpJyZFonEclKXEIawRTNh2bxGgJJQ==", "dev": true, "license": "MIT" }, @@ -21203,37 +21092,6 @@ "node": ">= 10.14.2" } }, - "node_modules/react-native/node_modules/@react-native/codegen": { - "version": "0.75.4", - "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.75.4.tgz", - "integrity": "sha512-0FplNAD/S5FUvm8YIn6uyarOcP4jdJPqWz17K4a/Gp2KSsG/JJKEskX3aj5wpePzVfNQl3WyvBJ0whODdCocIA==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.0", - "glob": "^7.1.1", - "hermes-parser": "0.22.0", - "invariant": "^2.2.4", - "jscodeshift": "^0.14.0", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "yargs": "^17.6.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" - } - }, - "node_modules/react-native/node_modules/@react-native/js-polyfills": { - "version": "0.75.4", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.75.4.tgz", - "integrity": "sha512-NF5ID5FjcVHBYk1LQ4JMRjPmxBWEo4yoqW1m6vGOQZPT8D5Qs9afgx3f7gQatxbn3ivMh0FVbLW0zBx6LyxEzA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/react-native/node_modules/@types/yargs": { "version": "15.0.19", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", diff --git a/package.json b/package.json index 7e77cf172..0a4f82c2f 100644 --- a/package.json +++ b/package.json @@ -10,11 +10,11 @@ "@babel/core": "^7.20.0", "@babel/runtime": "^7.20.0", "@jest/reporters": "^27.5.1", - "@react-native/babel-preset": "^0.75.3", - "@react-native/eslint-config": "^0.75.3", - "@react-native/js-polyfills": "^0.75.3", - "@react-native/metro-babel-transformer": "^0.75.3", - "@react-native/typescript-config": "^0.75.3", + "@react-native/babel-preset": "^0.75.4", + "@react-native/eslint-config": "^0.75.4", + "@react-native/js-polyfills": "^0.75.4", + "@react-native/metro-babel-transformer": "^0.75.4", + "@react-native/typescript-config": "^0.75.4", "@types/bip38": "^3.1.2", "@types/bs58check": "^2.1.0", "@types/create-hash": "^1.2.2", @@ -85,8 +85,8 @@ "@react-native-clipboard/clipboard": "1.14.2", "@react-native-community/push-notification-ios": "1.11.0", "@react-native-menu/menu": "https://github.com/BlueWallet/menu.git#8c6004b", - "@react-native/gradle-plugin": "^0.75.3", - "@react-native/metro-config": "0.75.3", + "@react-native/gradle-plugin": "^0.75.4", + "@react-native/metro-config": "0.75.4", "@react-navigation/drawer": "6.7.2", "@react-navigation/native": "6.1.18", "@react-navigation/native-stack": "6.11.0", From 9080d50240ebeb148ac14a3315590ec76d57cfd2 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 2 Oct 2024 20:25:54 -0400 Subject: [PATCH 23/41] wip --- navigation/SendDetailsStackParamList.ts | 2 +- screen/send/SendDetails.tsx | 10 +++--- screen/send/psbtWithHardwareWallet.js | 48 +++++++++++-------------- 3 files changed, 26 insertions(+), 34 deletions(-) diff --git a/navigation/SendDetailsStackParamList.ts b/navigation/SendDetailsStackParamList.ts index ef7028f2a..583a3d7a7 100644 --- a/navigation/SendDetailsStackParamList.ts +++ b/navigation/SendDetailsStackParamList.ts @@ -35,7 +35,7 @@ export type SendDetailsStackParamList = { }; PsbtWithHardwareWallet: { memo?: string; - fromWallet: TWallet; + walletID?: string; launchedBy?: string; psbt?: Psbt; txhex?: string; diff --git a/screen/send/SendDetails.tsx b/screen/send/SendDetails.tsx index 2ad9d1fb3..dda12ff8c 100644 --- a/screen/send/SendDetails.tsx +++ b/screen/send/SendDetails.tsx @@ -612,7 +612,7 @@ const SendDetails = () => { // user whether he wants to broadcast it navigation.navigate('PsbtWithHardwareWallet', { memo: transactionMemo, - fromWallet: wallet, + walletID: wallet.getID(), psbt, launchedBy: routeParams.launchedBy, }); @@ -700,7 +700,7 @@ const SendDetails = () => { navigation.navigate('PsbtWithHardwareWallet', { memo: transactionMemo, - fromWallet: wallet, + walletID: wallet.getID(), psbt, }); setIsLoading(false); @@ -734,7 +734,7 @@ const SendDetails = () => { const file = await RNFS.readFile(res.uri, 'ascii'); const psbt = bitcoin.Psbt.fromBase64(file); const txhex = psbt.extractTransaction().toHex(); - navigation.navigate('PsbtWithHardwareWallet', { memo: transactionMemo, fromWallet: wallet, txhex }); + navigation.navigate('PsbtWithHardwareWallet', { memo: transactionMemo, walletID: wallet.getID(), txhex }); setIsLoading(false); return; @@ -745,7 +745,7 @@ const SendDetails = () => { // so user can do smth with it: const file = await RNFS.readFile(res.uri, 'ascii'); const psbt = bitcoin.Psbt.fromBase64(file); - navigation.navigate('PsbtWithHardwareWallet', { memo: transactionMemo, fromWallet: wallet, psbt }); + navigation.navigate('PsbtWithHardwareWallet', { memo: transactionMemo, walletID: wallet.getID(), psbt }); setIsLoading(false); return; @@ -754,7 +754,7 @@ const SendDetails = () => { if (DeeplinkSchemaMatch.isTXNFile(res.uri)) { // plain text file with txhex ready to broadcast const file = (await RNFS.readFile(res.uri, 'ascii')).replace('\n', '').replace('\r', ''); - navigation.navigate('PsbtWithHardwareWallet', { memo: transactionMemo, fromWallet: wallet, txhex: file }); + navigation.navigate('PsbtWithHardwareWallet', { memo: transactionMemo, walletID: wallet.getID(), txhex: file }); setIsLoading(false); return; diff --git a/screen/send/psbtWithHardwareWallet.js b/screen/send/psbtWithHardwareWallet.js index 8470a8bd0..00f958c30 100644 --- a/screen/send/psbtWithHardwareWallet.js +++ b/screen/send/psbtWithHardwareWallet.js @@ -22,19 +22,18 @@ import { useStorage } from '../../hooks/context/useStorage'; import { useExtendedNavigation } from '../../hooks/useExtendedNavigation'; const PsbtWithHardwareWallet = () => { - const { txMetadata, fetchAndSaveWalletTransactions, isElectrumDisabled } = useStorage(); + const { txMetadata, fetchAndSaveWalletTransactions, isElectrumDisabled, wallets } = useStorage(); const { isBiometricUseCapableAndEnabled } = useBiometrics(); const navigation = useExtendedNavigation(); const route = useRoute(); - const { fromWallet, memo, psbt, deepLinkPSBT, launchedBy } = route.params; - const routeParamsPSBT = useRef(route.params.psbt); - const routeParamsTXHex = route.params.txhex; - const { colors } = useTheme(); - const [isLoading, setIsLoading] = useState(false); - const [txHex, setTxHex] = useState(route.params.txhex); + const { walletID, memo, deepLinkPSBT, launchedBy } = route.params; + const wallet = wallets.find(w => w.getID() === walletID); + const { psbt, txhex } = route.params; const openScannerButton = useRef(); const dynamicQRCode = useRef(); const isFocused = useIsFocused(); + const { colors } = useTheme(); + const [isLoading, setIsLoading] = useState(false); const stylesHook = StyleSheet.create({ scrollViewContent: { @@ -60,7 +59,7 @@ const PsbtWithHardwareWallet = () => { }); const _combinePSBT = receivedPSBT => { - return fromWallet.combinePsbt(psbt, receivedPSBT); + return wallet.combinePsbt(psbt, receivedPSBT); }; const onBarScanned = ret => { @@ -71,18 +70,14 @@ const PsbtWithHardwareWallet = () => { } if (ret.data.indexOf('+') === -1 && ret.data.indexOf('=') === -1 && ret.data.indexOf('=') === -1) { // this looks like NOT base64, so maybe its transaction's hex - setTxHex(ret.data); + navigation.setParams({ txhex: ret.data }); return; } try { const Tx = _combinePSBT(ret.data); - setTxHex(Tx.toHex()); + navigation.setParams({ txhex: Tx.toHex() }); if (launchedBy) { - // we must navigate back to the screen who requested psbt (instead of broadcasting it ourselves) - // most likely for LN channel opening navigation.navigate({ name: launchedBy, params: { psbt }, merge: true }); - // ^^^ we just use `psbt` variable sinse it was finalized in the above _combinePSBT() - // (passed by reference) } } catch (Err) { presentAlert({ message: Err.message }); @@ -98,23 +93,20 @@ const PsbtWithHardwareWallet = () => { }, [isFocused]); useEffect(() => { - if (!psbt && !route.params.txhex) { + if (!psbt && !txhex) { presentAlert({ message: loc.send.no_tx_signing_in_progress }); } if (deepLinkPSBT) { const newPsbt = bitcoin.Psbt.fromBase64(deepLinkPSBT); try { - const Tx = fromWallet.combinePsbt(routeParamsPSBT.current, newPsbt); - setTxHex(Tx.toHex()); + const Tx = wallet.combinePsbt(psbt, newPsbt); + navigation.setParams({ txhex: Tx.toHex() }); } catch (Err) { presentAlert({ message: Err }); } - } else if (routeParamsTXHex) { - setTxHex(routeParamsTXHex); } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [deepLinkPSBT, routeParamsTXHex]); + }, [deepLinkPSBT, wallet, navigation, psbt, txhex]); const broadcast = async () => { setIsLoading(true); @@ -129,10 +121,10 @@ const PsbtWithHardwareWallet = () => { try { await BlueElectrum.ping(); await BlueElectrum.waitTillConnected(); - const result = await fromWallet.broadcastTx(txHex); + const result = await wallet.broadcastTx(txhex); if (result) { setIsLoading(false); - const txDecoded = bitcoin.Transaction.fromHex(txHex); + const txDecoded = bitcoin.Transaction.fromHex(txhex); const txid = txDecoded.getId(); Notifications.majorTomToGroundControl([], [], [txid]); if (memo) { @@ -140,7 +132,7 @@ const PsbtWithHardwareWallet = () => { } navigation.navigate('Success', { amount: undefined }); await new Promise(resolve => setTimeout(resolve, 3000)); // sleep to make sure network propagates - fetchAndSaveWalletTransactions(fromWallet.getID()); + fetchAndSaveWalletTransactions(wallet.getID()); } else { triggerHapticFeedback(HapticFeedbackTypes.NotificationError); setIsLoading(false); @@ -154,11 +146,11 @@ const PsbtWithHardwareWallet = () => { }; const handleOnVerifyPressed = () => { - Linking.openURL('https://coinb.in/?verify=' + txHex); + Linking.openURL('https://coinb.in/?verify=' + txhex); }; const copyHexToClipboard = () => { - Clipboard.setString(txHex); + Clipboard.setString(txhex); }; const _renderBroadcastHex = () => { @@ -166,7 +158,7 @@ const PsbtWithHardwareWallet = () => { {loc.send.create_this_is_hex} - + {loc.send.create_copy} @@ -220,7 +212,7 @@ const PsbtWithHardwareWallet = () => { onBarScanned({ data: scannedData }); }; - if (txHex) return _renderBroadcastHex(); + if (txhex) return _renderBroadcastHex(); const renderView = isLoading ? ( From d2cee2e642eb5a2f9f726ec5b85edc91355fabeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Wed, 2 Oct 2024 20:48:46 -0400 Subject: [PATCH 24/41] Update import.js --- screen/wallets/import.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/screen/wallets/import.js b/screen/wallets/import.js index 1d6023f9c..a501be8ba 100644 --- a/screen/wallets/import.js +++ b/screen/wallets/import.js @@ -97,7 +97,7 @@ const WalletsImport = () => { }; const importScan = async () => { - const data = await scanQrHelper(navigation, onBarScanned, loc.send.scan_address); + const data = await scanQrHelper(navigation, true); onBarScanned(data); }; From 238d5fd208c9c5f667052732d5628c259ebbea8b Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 2 Oct 2024 20:56:20 -0400 Subject: [PATCH 25/41] Update SendDetailsStackParamList.ts --- navigation/SendDetailsStackParamList.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/navigation/SendDetailsStackParamList.ts b/navigation/SendDetailsStackParamList.ts index 583a3d7a7..55e6e0123 100644 --- a/navigation/SendDetailsStackParamList.ts +++ b/navigation/SendDetailsStackParamList.ts @@ -35,7 +35,7 @@ export type SendDetailsStackParamList = { }; PsbtWithHardwareWallet: { memo?: string; - walletID?: string; + walletID: string; launchedBy?: string; psbt?: Psbt; txhex?: string; From 2220281555ea40ebecd8c62b03f701b510a0a944 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Wed, 2 Oct 2024 22:55:01 -0400 Subject: [PATCH 26/41] wip --- components/AddressInput.tsx | 2 +- helpers/scan-qr.ts | 2 +- screen/send/psbtWithHardwareWallet.js | 50 ++++++++++++++++----------- screen/wallets/ManageWallets.tsx | 2 +- screen/wallets/addMultisigStep2.js | 6 ++-- screen/wallets/import.js | 4 ++- 6 files changed, 40 insertions(+), 26 deletions(-) diff --git a/components/AddressInput.tsx b/components/AddressInput.tsx index fbff8e926..e0487c1f2 100644 --- a/components/AddressInput.tsx +++ b/components/AddressInput.tsx @@ -72,7 +72,7 @@ const AddressInput = ({ const toolTipOnPress = useCallback(async () => { await scanButtonTapped(); Keyboard.dismiss(); - if (launchedBy) scanQrHelper(launchedBy).then(value => onBarScanned({ data: value })); + if (launchedBy) scanQrHelper(launchedBy, true).then(value => onBarScanned({ data: value })); }, [launchedBy, onBarScanned, scanButtonTapped]); const onMenuItemPressed = useCallback( diff --git a/helpers/scan-qr.ts b/helpers/scan-qr.ts index 2f88e8fec..b4b7cb67f 100644 --- a/helpers/scan-qr.ts +++ b/helpers/scan-qr.ts @@ -26,7 +26,7 @@ function scanQrHelper( if (useMerge) { const onBarScanned = function (data: any) { setTimeout(() => resolve(data.data || data), 1); - navigationRef.navigate({ name: currentScreenName, params: {}, merge: true }); + navigationRef.navigate({ name: currentScreenName, params: data, merge: true }); }; params = { diff --git a/screen/send/psbtWithHardwareWallet.js b/screen/send/psbtWithHardwareWallet.js index 00f958c30..e7d5b1035 100644 --- a/screen/send/psbtWithHardwareWallet.js +++ b/screen/send/psbtWithHardwareWallet.js @@ -26,14 +26,16 @@ const PsbtWithHardwareWallet = () => { const { isBiometricUseCapableAndEnabled } = useBiometrics(); const navigation = useExtendedNavigation(); const route = useRoute(); - const { walletID, memo, deepLinkPSBT, launchedBy } = route.params; + const { walletID, memo, psbt, deepLinkPSBT, launchedBy } = route.params; const wallet = wallets.find(w => w.getID() === walletID); - const { psbt, txhex } = route.params; + const routeParamsPSBT = useRef(route.params.psbt); + const routeParamsTXHex = route.params.txhex; + const { colors } = useTheme(); + const [isLoading, setIsLoading] = useState(false); + const [txHex, setTxHex] = useState(route.params.txhex); const openScannerButton = useRef(); const dynamicQRCode = useRef(); const isFocused = useIsFocused(); - const { colors } = useTheme(); - const [isLoading, setIsLoading] = useState(false); const stylesHook = StyleSheet.create({ scrollViewContent: { @@ -63,21 +65,24 @@ const PsbtWithHardwareWallet = () => { }; const onBarScanned = ret => { - if (!ret) return; - if (ret.data) ret = { data: ret }; + if (ret && !ret.data) ret = { data: ret }; if (ret.data.toUpperCase().startsWith('UR')) { presentAlert({ message: 'BC-UR not decoded. This should never happen' }); } if (ret.data.indexOf('+') === -1 && ret.data.indexOf('=') === -1 && ret.data.indexOf('=') === -1) { // this looks like NOT base64, so maybe its transaction's hex - navigation.setParams({ txhex: ret.data }); + setTxHex(ret.data); return; } try { const Tx = _combinePSBT(ret.data); - navigation.setParams({ txhex: Tx.toHex() }); + setTxHex(Tx.toHex()); if (launchedBy) { + // we must navigate back to the screen who requested psbt (instead of broadcasting it ourselves) + // most likely for LN channel opening navigation.navigate({ name: launchedBy, params: { psbt }, merge: true }); + // ^^^ we just use `psbt` variable sinse it was finalized in the above _combinePSBT() + // (passed by reference) } } catch (Err) { presentAlert({ message: Err.message }); @@ -93,20 +98,23 @@ const PsbtWithHardwareWallet = () => { }, [isFocused]); useEffect(() => { - if (!psbt && !txhex) { + if (!psbt && !route.params.txhex) { presentAlert({ message: loc.send.no_tx_signing_in_progress }); } if (deepLinkPSBT) { const newPsbt = bitcoin.Psbt.fromBase64(deepLinkPSBT); try { - const Tx = wallet.combinePsbt(psbt, newPsbt); - navigation.setParams({ txhex: Tx.toHex() }); + const Tx = wallet.combinePsbt(routeParamsPSBT.current, newPsbt); + setTxHex(Tx.toHex()); } catch (Err) { presentAlert({ message: Err }); } + } else if (routeParamsTXHex) { + setTxHex(routeParamsTXHex); } - }, [deepLinkPSBT, wallet, navigation, psbt, txhex]); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [deepLinkPSBT, routeParamsTXHex]); const broadcast = async () => { setIsLoading(true); @@ -121,10 +129,10 @@ const PsbtWithHardwareWallet = () => { try { await BlueElectrum.ping(); await BlueElectrum.waitTillConnected(); - const result = await wallet.broadcastTx(txhex); + const result = await wallet.broadcastTx(txHex); if (result) { setIsLoading(false); - const txDecoded = bitcoin.Transaction.fromHex(txhex); + const txDecoded = bitcoin.Transaction.fromHex(txHex); const txid = txDecoded.getId(); Notifications.majorTomToGroundControl([], [], [txid]); if (memo) { @@ -146,11 +154,11 @@ const PsbtWithHardwareWallet = () => { }; const handleOnVerifyPressed = () => { - Linking.openURL('https://coinb.in/?verify=' + txhex); + Linking.openURL('https://coinb.in/?verify=' + txHex); }; const copyHexToClipboard = () => { - Clipboard.setString(txhex); + Clipboard.setString(txHex); }; const _renderBroadcastHex = () => { @@ -158,7 +166,7 @@ const PsbtWithHardwareWallet = () => { {loc.send.create_this_is_hex} - + {loc.send.create_copy} @@ -208,11 +216,13 @@ const PsbtWithHardwareWallet = () => { }; const openScanner = async () => { - const scannedData = await scanQrHelper(route.name, true); - onBarScanned({ data: scannedData }); + const data = await scanQrHelper(route.name, true); + if (data) { + onBarScanned(data); + } }; - if (txhex) return _renderBroadcastHex(); + if (txHex) return _renderBroadcastHex(); const renderView = isLoading ? ( diff --git a/screen/wallets/ManageWallets.tsx b/screen/wallets/ManageWallets.tsx index 814cab4db..7be138614 100644 --- a/screen/wallets/ManageWallets.tsx +++ b/screen/wallets/ManageWallets.tsx @@ -499,7 +499,7 @@ const ManageWallets: React.FC = () => { return ( - + {renderHeader} item.type === ItemType.WalletSection)} diff --git a/screen/wallets/addMultisigStep2.js b/screen/wallets/addMultisigStep2.js index 10a7c5891..30317eefa 100644 --- a/screen/wallets/addMultisigStep2.js +++ b/screen/wallets/addMultisigStep2.js @@ -469,8 +469,10 @@ const WalletsAddMultisigStep2 = () => { const scanOrOpenFile = async () => { await provideMnemonicsModalRef.current.dismiss(); - const scanned = await scanQrHelper(name, true, undefined); - onBarScanned({ data: scanned }); + const scanned = await scanQrHelper(name, true); + if (scanned) { + onBarScanned(scanned); + } }; const dashType = ({ index, lastIndex, isChecked, isFocus }) => { diff --git a/screen/wallets/import.js b/screen/wallets/import.js index a501be8ba..6bca4378f 100644 --- a/screen/wallets/import.js +++ b/screen/wallets/import.js @@ -98,7 +98,9 @@ const WalletsImport = () => { const importScan = async () => { const data = await scanQrHelper(navigation, true); - onBarScanned(data); + if (data) { + onBarScanned(data); + } }; const speedBackdoorTap = () => { From 19c934fb75a423c65b649a87a07bd1ae05f10f52 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Sat, 5 Oct 2024 10:13:46 -0400 Subject: [PATCH 27/41] REF: ImportDiscoveryWallet to TSX --- navigation/AddWalletStack.tsx | 11 +- navigation/LazyLoadAddWalletStack.tsx | 2 +- ...Discovery.js => ImportWalletDiscovery.tsx} | 135 ++++++++++++------ 3 files changed, 105 insertions(+), 43 deletions(-) rename screen/wallets/{importDiscovery.js => ImportWalletDiscovery.tsx} (56%) diff --git a/navigation/AddWalletStack.tsx b/navigation/AddWalletStack.tsx index 61d6eda8c..e8d9f736f 100644 --- a/navigation/AddWalletStack.tsx +++ b/navigation/AddWalletStack.tsx @@ -21,9 +21,16 @@ import { export type AddWalletStackParamList = { AddWallet: undefined; ImportWallet: undefined; - ImportWalletDiscovery: undefined; + ImportWalletDiscovery: { + importText: string; + askPassphrase: boolean; + searchAccounts: boolean; + }; ImportSpeed: undefined; - ImportCustomDerivationPath: undefined; + ImportCustomDerivationPath: { + importText: string; + password: string | undefined; + }; PleaseBackup: undefined; PleaseBackupLNDHub: undefined; ProvideEntropy: undefined; diff --git a/navigation/LazyLoadAddWalletStack.tsx b/navigation/LazyLoadAddWalletStack.tsx index 7b5fd5ff3..9b3501158 100644 --- a/navigation/LazyLoadAddWalletStack.tsx +++ b/navigation/LazyLoadAddWalletStack.tsx @@ -5,7 +5,7 @@ import { LazyLoadingIndicator } from './LazyLoadingIndicator'; // Define lazy imports const WalletsAdd = lazy(() => import('../screen/wallets/Add')); const ImportCustomDerivationPath = lazy(() => import('../screen/wallets/importCustomDerivationPath')); -const ImportWalletDiscovery = lazy(() => import('../screen/wallets/importDiscovery')); +const ImportWalletDiscovery = lazy(() => import('../screen/wallets/ImportWalletDiscovery')); const ImportSpeed = lazy(() => import('../screen/wallets/importSpeed')); const ImportWallet = lazy(() => import('../screen/wallets/import')); const PleaseBackup = lazy(() => import('../screen/wallets/PleaseBackup')); diff --git a/screen/wallets/importDiscovery.js b/screen/wallets/ImportWalletDiscovery.tsx similarity index 56% rename from screen/wallets/importDiscovery.js rename to screen/wallets/ImportWalletDiscovery.tsx index b3cba6c72..7a7e167cd 100644 --- a/screen/wallets/importDiscovery.js +++ b/screen/wallets/ImportWalletDiscovery.tsx @@ -1,10 +1,10 @@ import React, { useEffect, useMemo, useRef, useState } from 'react'; -import { useRoute } from '@react-navigation/native'; +import { RouteProp, useRoute } from '@react-navigation/native'; import { ActivityIndicator, FlatList, LayoutAnimation, StyleSheet, View } from 'react-native'; import IdleTimerManager from 'react-native-idle-timer'; import triggerHapticFeedback, { HapticFeedbackTypes } from '../../blue_modules/hapticFeedback'; -import { BlueButtonLink, BlueFormLabel, BlueSpacing10, BlueSpacing20 } from '../../BlueComponents'; -import { HDSegwitBech32Wallet } from '../../class'; +import { BlueButtonLink, BlueFormLabel, BlueSpacing10, BlueSpacing20, BlueText } from '../../BlueComponents'; +import { HDSegwitBech32Wallet, WatchOnlyWallet } from '../../class'; import startImport from '../../class/wallet-import'; import presentAlert from '../../components/Alert'; import Button from '../../components/Button'; @@ -15,20 +15,38 @@ import prompt from '../../helpers/prompt'; import loc from '../../loc'; import { useExtendedNavigation } from '../../hooks/useExtendedNavigation'; import { useStorage } from '../../hooks/context/useStorage'; +import { AddWalletStackParamList } from '../../navigation/AddWalletStack'; +import { NativeStackNavigationProp } from '@react-navigation/native-stack'; +import { THDWalletForWatchOnly, TWallet } from '../../class/wallets/types'; +import { navigate } from '../../NavigationService'; -const ImportWalletDiscovery = () => { - const navigation = useExtendedNavigation(); +type RouteProps = RouteProp; +type NavigationProp = NativeStackNavigationProp; + +type TReturn = { + cancelled?: boolean; + stopped?: boolean; + wallets: TWallet[]; +}; + +type ImportTask = { + promise: Promise; + stop: () => void; +}; + +const ImportWalletDiscovery: React.FC = () => { + const navigation = useExtendedNavigation(); const { colors } = useTheme(); - const route = useRoute(); + const route = useRoute(); const { importText, askPassphrase, searchAccounts } = route.params; - const task = useRef(); + const task = useRef(null); const { addAndSaveWallet } = useStorage(); - const [loading, setLoading] = useState(true); - const [wallets, setWallets] = useState([]); - const [password, setPassword] = useState(); - const [selected, setSelected] = useState(0); - const [progress, setProgress] = useState(); - const importing = useRef(false); + const [loading, setLoading] = useState(true); + const [wallets, setWallets] = useState>([]); + const [password, setPassword] = useState(); + const [selected, setSelected] = useState(0); + const [progress, setProgress] = useState(); + const importing = useRef(false); const bip39 = useMemo(() => { const hd = new HDSegwitBech32Wallet(); hd.setSecret(importText); @@ -44,32 +62,41 @@ const ImportWalletDiscovery = () => { }, }); - const saveWallet = wallet => { + const saveWallet = (wallet: TWallet) => { if (importing.current) return; importing.current = true; addAndSaveWallet(wallet); - navigation.getParent().pop(); + navigate('WalletsList'); }; useEffect(() => { - const onProgress = data => setProgress(data); + const onProgress = (data: string) => setProgress(data); - const onWallet = wallet => { + const onWallet = (wallet: TWallet | THDWalletForWatchOnly) => { LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); const id = wallet.getID(); - let subtitle; + let subtitle: string | undefined; try { - subtitle = wallet.getDerivationPath?.(); + // For watch-only wallets, display the descriptor or xpub + if (wallet.type === WatchOnlyWallet.type) { + if (wallet.isHd() && wallet.getSecret()) { + subtitle = wallet.getSecret(); // Display descriptor + } else { + subtitle = wallet.getAddress(); // Display address + } + } else { + subtitle = (wallet as THDWalletForWatchOnly).getDerivationPath?.(); + } } catch (e) {} - setWallets(w => [...w, { wallet, subtitle, id }]); + setWallets(w => [...w, { wallet, subtitle: subtitle || '', id }]); }; - const onPassword = async (title, subtitle) => { + const onPassword = async (title: string, subtitle: string) => { try { const pass = await prompt(title, subtitle); setPassword(pass); return pass; - } catch (e) { + } catch (e: any) { if (e.message === 'Cancel Pressed') { navigation.goBack(); } @@ -84,7 +111,7 @@ const ImportWalletDiscovery = () => { task.current.promise .then(({ cancelled, wallets: w }) => { if (cancelled) return; - if (w.length === 1) saveWallet(w[0]); // instantly save wallet if only one has been discovered + if (w.length === 1) saveWallet(w[0]); // Instantly save wallet if only one has been discovered if (w.length === 0) { triggerHapticFeedback(HapticFeedbackTypes.ImpactLight); } @@ -99,16 +126,22 @@ const ImportWalletDiscovery = () => { IdleTimerManager.setIdleTimerDisabled(false); }); - return () => task.current.stop(); + return () => { + if (task.current) { + task.current.stop(); + } + }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); const handleCustomDerivation = () => { - task.current.stop(); + if (task.current) { + task.current.stop(); + } navigation.navigate('ImportCustomDerivationPath', { importText, password }); }; - const renderItem = ({ item, index }) => ( + const renderItem = ({ item, index }: { item: { wallet: TWallet; subtitle: string; id: string }; index: number }) => ( { /> ); - const keyExtractor = w => w.id; + const keyExtractor = (w: { id: string }) => w.id; + + const ListHeaderComponent = useMemo( + () => ( + <> + {wallets.length > 0 ? ( + <> + + {loc.wallets.import_discovery_subtitle} + + + ) : null} + + ), + [wallets.length], + ); + + const ListEmptyComponent = useMemo( + () => ( + + {loc.wallets.import_discovery_no_wallets} + + + ), + [], + ); return ( - - {loc.wallets.import_discovery_subtitle} - - - {!loading && wallets.length === 0 ? ( - - {loc.wallets.import_discovery_no_wallets} - - ) : ( - - )} - + {loading && ( <> @@ -169,7 +225,6 @@ const ImportWalletDiscovery = () => { const styles = StyleSheet.create({ root: { - paddingTop: 40, flex: 1, }, flatListContainer: { From a8d726632f9d8bf2970c8b93bb081524b391fcea Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Sat, 5 Oct 2024 21:15:57 -0400 Subject: [PATCH 28/41] REF: Further reduce unnecessary re-renders --- components/Context/StorageProvider.tsx | 247 +++++++++++-------------- 1 file changed, 113 insertions(+), 134 deletions(-) diff --git a/components/Context/StorageProvider.tsx b/components/Context/StorageProvider.tsx index ef6217436..830a28673 100644 --- a/components/Context/StorageProvider.tsx +++ b/components/Context/StorageProvider.tsx @@ -59,28 +59,16 @@ export enum WalletTransactionsStatus { NONE = 'NONE', ALL = 'ALL', } -// @ts-ignore defaut value does not match the type + +// @ts-ignore default value does not match the type export const StorageContext = createContext(undefined); + export const StorageProvider = ({ children }: { children: React.ReactNode }) => { const txMetadata = useRef(BlueApp.tx_metadata); const counterpartyMetadata = useRef(BlueApp.counterparty_metadata || {}); // init - const getTransactions = BlueApp.getTransactions; - const fetchWalletBalances = BlueApp.fetchWalletBalances; - const fetchWalletTransactions = BlueApp.fetchWalletTransactions; - const getBalance = BlueApp.getBalance; - const isStorageEncrypted = BlueApp.storageIsEncrypted; - const encryptStorage = BlueApp.encryptStorage; - const sleep = BlueApp.sleep; - const createFakeStorage = BlueApp.createFakeStorage; - const decryptStorage = BlueApp.decryptStorage; - const isPasswordInUse = BlueApp.isPasswordInUse; - const cachedPassword = BlueApp.cachedPassword; - - const getItem = BlueApp.getItem; - const setItem = BlueApp.setItem; const [wallets, setWallets] = useState([]); - const [selectedWalletID, setSelectedWalletID] = useState(); + const [selectedWalletID, setSelectedWalletID] = useState(); const [walletTransactionUpdateStatus, setWalletTransactionUpdateStatus] = useState( WalletTransactionsStatus.NONE, ); @@ -89,6 +77,46 @@ export const StorageProvider = ({ children }: { children: React.ReactNode }) => const [currentSharedCosigner, setCurrentSharedCosigner] = useState(''); const [reloadTransactionsMenuActionFunction, setReloadTransactionsMenuActionFunction] = useState<() => void>(() => {}); + const saveToDisk = useCallback( + async (force: boolean = false) => { + if (!force && BlueApp.getWallets().length === 0) { + console.debug('Not saving empty wallets array'); + return; + } + await InteractionManager.runAfterInteractions(async () => { + BlueApp.tx_metadata = txMetadata.current; + BlueApp.counterparty_metadata = counterpartyMetadata.current; + await BlueApp.saveToDisk(); + const w: TWallet[] = [...BlueApp.getWallets()]; + setWallets(w); + }); + }, + [txMetadata, counterpartyMetadata], + ); + + const addWallet = useCallback((wallet: TWallet) => { + BlueApp.wallets.push(wallet); + setWallets([...BlueApp.getWallets()]); + }, []); + + const deleteWallet = useCallback((wallet: TWallet) => { + BlueApp.deleteWallet(wallet); + setWallets([...BlueApp.getWallets()]); + }, []); + + const resetWallets = useCallback(() => { + setWallets(BlueApp.getWallets()); + }, []); + + const setWalletsWithNewOrder = useCallback( + (wlts: TWallet[]) => { + BlueApp.wallets = wlts; + saveToDisk(); + }, + [saveToDisk], + ); + + // Initialize wallets and connect to Electrum useEffect(() => { BlueElectrum.isDisabled().then(setIsElectrumDisabled); if (walletsInitialized) { @@ -99,33 +127,6 @@ export const StorageProvider = ({ children }: { children: React.ReactNode }) => } }, [walletsInitialized]); - const saveToDisk = useCallback(async (force: boolean = false) => { - InteractionManager.runAfterInteractions(async () => { - if (BlueApp.getWallets().length === 0 && !force) { - console.log('not saving empty wallets array'); - return; - } - BlueApp.tx_metadata = txMetadata.current; - BlueApp.counterparty_metadata = counterpartyMetadata.current; - await BlueApp.saveToDisk(); - setWallets([...BlueApp.getWallets()]); - txMetadata.current = BlueApp.tx_metadata; - counterpartyMetadata.current = BlueApp.counterparty_metadata; - }); - }, []); - - const resetWallets = () => { - setWallets(BlueApp.getWallets()); - }; - - const setWalletsWithNewOrder = useCallback( - (wlts: TWallet[]) => { - BlueApp.wallets = wlts; - saveToDisk(); - }, - [saveToDisk], - ); - const refreshAllWalletTransactions = useCallback( async (lastSnappedTo?: number, showUpdateStatusIndicator: boolean = true) => { const TIMEOUT_DURATION = 30000; @@ -137,41 +138,37 @@ export const StorageProvider = ({ children }: { children: React.ReactNode }) => ); const mainLogicPromise = new Promise((resolve, reject) => { - try { - InteractionManager.runAfterInteractions(async () => { - let noErr = true; - try { - await BlueElectrum.waitTillConnected(); - if (showUpdateStatusIndicator) { - setWalletTransactionUpdateStatus(WalletTransactionsStatus.ALL); - } - const paymentCodesStart = Date.now(); - await BlueApp.fetchSenderPaymentCodes(lastSnappedTo); - const paymentCodesEnd = Date.now(); - console.log('fetch payment codes took', (paymentCodesEnd - paymentCodesStart) / 1000, 'sec'); - const balanceStart = +new Date(); - await fetchWalletBalances(lastSnappedTo); - const balanceEnd = +new Date(); - console.log('fetch balance took', (balanceEnd - balanceStart) / 1000, 'sec'); - const start = +new Date(); - await fetchWalletTransactions(lastSnappedTo); - const end = +new Date(); - console.log('fetch tx took', (end - start) / 1000, 'sec'); - } catch (err) { - noErr = false; - console.warn(err); - reject(err); - } finally { - setWalletTransactionUpdateStatus(WalletTransactionsStatus.NONE); + InteractionManager.runAfterInteractions(async () => { + let noErr = true; + try { + await BlueElectrum.waitTillConnected(); + if (showUpdateStatusIndicator) { + setWalletTransactionUpdateStatus(WalletTransactionsStatus.ALL); } - if (noErr) await saveToDisk(); // caching - resolve(); - }); - } catch (err) { - reject(err); - } finally { - setWalletTransactionUpdateStatus(WalletTransactionsStatus.NONE); - } + const paymentCodesStart = Date.now(); + await BlueApp.fetchSenderPaymentCodes(lastSnappedTo); + const paymentCodesEnd = Date.now(); + console.debug('fetch payment codes took', (paymentCodesEnd - paymentCodesStart) / 1000, 'sec'); + + const balanceStart = Date.now(); + await BlueApp.fetchWalletBalances(lastSnappedTo); + const balanceEnd = Date.now(); + console.debug('fetch balance took', (balanceEnd - balanceStart) / 1000, 'sec'); + + const start = Date.now(); + await BlueApp.fetchWalletTransactions(lastSnappedTo); + const end = Date.now(); + console.debug('fetch tx took', (end - start) / 1000, 'sec'); + } catch (err) { + noErr = false; + console.error(err); + reject(err); + } finally { + setWalletTransactionUpdateStatus(WalletTransactionsStatus.NONE); + } + if (noErr) await saveToDisk(); + resolve(); + }); }); try { @@ -182,53 +179,43 @@ export const StorageProvider = ({ children }: { children: React.ReactNode }) => setWalletTransactionUpdateStatus(WalletTransactionsStatus.NONE); } }, - [fetchWalletBalances, fetchWalletTransactions, saveToDisk], + [saveToDisk], ); + const fetchAndSaveWalletTransactions = useCallback( async (walletID: string) => { - InteractionManager.runAfterInteractions(async () => { + await InteractionManager.runAfterInteractions(async () => { const index = wallets.findIndex(wallet => wallet.getID() === walletID); let noErr = true; try { - // 5sec debounce: - if (+new Date() - _lastTimeTriedToRefetchWallet[walletID] < 5000) { - console.log('re-fetch wallet happens too fast; NOP'); + if (Date.now() - (_lastTimeTriedToRefetchWallet[walletID] || 0) < 5000) { + console.debug('Re-fetch wallet happens too fast; NOP'); return; } - _lastTimeTriedToRefetchWallet[walletID] = +new Date(); + _lastTimeTriedToRefetchWallet[walletID] = Date.now(); await BlueElectrum.waitTillConnected(); setWalletTransactionUpdateStatus(walletID); - const balanceStart = +new Date(); - await fetchWalletBalances(index); - const balanceEnd = +new Date(); - console.log('fetch balance took', (balanceEnd - balanceStart) / 1000, 'sec'); - const start = +new Date(); - await fetchWalletTransactions(index); - const end = +new Date(); - console.log('fetch tx took', (end - start) / 1000, 'sec'); + const balanceStart = Date.now(); + await BlueApp.fetchWalletBalances(index); + const balanceEnd = Date.now(); + console.debug('fetch balance took', (balanceEnd - balanceStart) / 1000, 'sec'); + const start = Date.now(); + await BlueApp.fetchWalletTransactions(index); + const end = Date.now(); + console.debug('fetch tx took', (end - start) / 1000, 'sec'); } catch (err) { noErr = false; - console.warn(err); + console.error(err); } finally { setWalletTransactionUpdateStatus(WalletTransactionsStatus.NONE); } - if (noErr) await saveToDisk(); // caching + if (noErr) await saveToDisk(); }); }, - [fetchWalletBalances, fetchWalletTransactions, saveToDisk, wallets], + [saveToDisk, wallets], ); - const addWallet = useCallback((wallet: TWallet) => { - BlueApp.wallets.push(wallet); - setWallets([...BlueApp.getWallets()]); - }, []); - - const deleteWallet = useCallback((wallet: TWallet) => { - BlueApp.deleteWallet(wallet); - setWallets([...BlueApp.getWallets()]); - }, []); - const addAndSaveWallet = useCallback( async (w: TWallet) => { if (wallets.some(i => i.getID() === w.getID())) { @@ -247,13 +234,12 @@ export const StorageProvider = ({ children }: { children: React.ReactNode }) => hapticFeedback: HapticFeedbackTypes.ImpactHeavy, message: w.type === WatchOnlyWallet.type ? loc.wallets.import_success_watchonly : loc.wallets.import_success, }); - // @ts-ignore need to type notifications first + + // @ts-ignore: Notifications type is not defined Notifications.majorTomToGroundControl(w.getAllExternalAddresses(), [], []); - // start balance fetching at the background await w.fetchBalance(); - setWallets([...BlueApp.getWallets()]); }, - [addWallet, saveToDisk, wallets], + [wallets, addWallet, saveToDisk], ); const value: StorageContextType = useMemo( @@ -263,7 +249,7 @@ export const StorageProvider = ({ children }: { children: React.ReactNode }) => txMetadata: txMetadata.current, counterpartyMetadata: counterpartyMetadata.current, saveToDisk, - getTransactions, + getTransactions: BlueApp.getTransactions, selectedWalletID, setSelectedWalletID, addWallet, @@ -271,24 +257,24 @@ export const StorageProvider = ({ children }: { children: React.ReactNode }) => currentSharedCosigner, setSharedCosigner: setCurrentSharedCosigner, addAndSaveWallet, - setItem, - getItem, - fetchWalletBalances, - fetchWalletTransactions, + setItem: BlueApp.setItem, + getItem: BlueApp.getItem, + fetchWalletBalances: BlueApp.fetchWalletBalances, + fetchWalletTransactions: BlueApp.fetchWalletTransactions, fetchAndSaveWalletTransactions, - isStorageEncrypted, - encryptStorage, + isStorageEncrypted: BlueApp.storageIsEncrypted, + encryptStorage: BlueApp.encryptStorage, startAndDecrypt, - cachedPassword, - getBalance, + cachedPassword: BlueApp.cachedPassword, + getBalance: BlueApp.getBalance, walletsInitialized, setWalletsInitialized, refreshAllWalletTransactions, - sleep, - createFakeStorage, + sleep: BlueApp.sleep, + createFakeStorage: BlueApp.createFakeStorage, resetWallets, - decryptStorage, - isPasswordInUse, + decryptStorage: BlueApp.decryptStorage, + isPasswordInUse: BlueApp.isPasswordInUse, walletTransactionUpdateStatus, setWalletTransactionUpdateStatus, isElectrumDisabled, @@ -300,30 +286,23 @@ export const StorageProvider = ({ children }: { children: React.ReactNode }) => wallets, setWalletsWithNewOrder, saveToDisk, - getTransactions, selectedWalletID, + setSelectedWalletID, addWallet, deleteWallet, currentSharedCosigner, addAndSaveWallet, - setItem, - getItem, - fetchWalletBalances, - fetchWalletTransactions, fetchAndSaveWalletTransactions, - isStorageEncrypted, - encryptStorage, - cachedPassword, - getBalance, walletsInitialized, + setWalletsInitialized, refreshAllWalletTransactions, - sleep, - createFakeStorage, - decryptStorage, - isPasswordInUse, + resetWallets, walletTransactionUpdateStatus, + setWalletTransactionUpdateStatus, isElectrumDisabled, + setIsElectrumDisabled, reloadTransactionsMenuActionFunction, + setReloadTransactionsMenuActionFunction, ], ); From 0a6df6237bc8c614db8528a662d970918a09da99 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Sat, 5 Oct 2024 22:22:55 -0400 Subject: [PATCH 29/41] Update StorageProvider.tsx --- components/Context/StorageProvider.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/Context/StorageProvider.tsx b/components/Context/StorageProvider.tsx index 830a28673..09f8d06bb 100644 --- a/components/Context/StorageProvider.tsx +++ b/components/Context/StorageProvider.tsx @@ -91,7 +91,8 @@ export const StorageProvider = ({ children }: { children: React.ReactNode }) => setWallets(w); }); }, - [txMetadata, counterpartyMetadata], + // eslint-disable-next-line react-hooks/exhaustive-deps + [txMetadata.current, counterpartyMetadata.current], ); const addWallet = useCallback((wallet: TWallet) => { From a6a554ace4d71ba8e120b405047d261b79effd14 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Sat, 5 Oct 2024 23:37:19 -0400 Subject: [PATCH 30/41] FIX: Tell accessibility. to not run contrast on QR borders --- components/QRCodeComponent.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/QRCodeComponent.tsx b/components/QRCodeComponent.tsx index 24949702c..6de2f6d34 100644 --- a/components/QRCodeComponent.tsx +++ b/components/QRCodeComponent.tsx @@ -101,6 +101,8 @@ const QRCodeComponent: React.FC = ({ From 7e273a383e6f0dd74fe7d0af6f39860741177f64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Rodriguez=20V=C3=A9lez?= Date: Sun, 6 Oct 2024 13:22:56 -0400 Subject: [PATCH 31/41] ADD: Dark/Tinted iOS icons (#7147) --- .../build-ios-release-pullrequest.yml | 10 +- fastlane/Fastfile | 7 +- .../AppIcon.appiconset/1024 1.png | Bin 0 -> 42357 bytes .../AppIcon.appiconset/1024.png | Bin 184693 -> 58716 bytes .../AppIcon.appiconset/128.png | Bin 10568 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/16.png | Bin 767 -> 0 bytes .../AppIcon.appiconset/256-1.png | Bin 29886 -> 0 bytes .../AppIcon.appiconset/256.png | Bin 29886 -> 0 bytes .../AppIcon.appiconset/32-1.png | Bin 1905 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/32.png | Bin 1905 -> 0 bytes .../AppIcon.appiconset/512-1.png | Bin 77078 -> 0 bytes .../AppIcon.appiconset/512.png | Bin 77078 -> 0 bytes .../Images.xcassets/AppIcon.appiconset/64.png | Bin 4510 -> 0 bytes .../AppIcon.appiconset/BlueWallet-20.png | Bin 1713 -> 0 bytes .../AppIcon.appiconset/BlueWallet-20@2x.png | Bin 2538 -> 0 bytes .../AppIcon.appiconset/BlueWallet-20@3x.png | Bin 3866 -> 0 bytes .../AppIcon.appiconset/BlueWallet-29.png | Bin 2076 -> 0 bytes .../AppIcon.appiconset/BlueWallet-29@2x.png | Bin 3766 -> 0 bytes .../AppIcon.appiconset/BlueWallet-29@3x.png | Bin 6515 -> 0 bytes .../AppIcon.appiconset/BlueWallet-40.png | Bin 2538 -> 0 bytes .../AppIcon.appiconset/BlueWallet-40@2x.png | Bin 5239 -> 0 bytes .../AppIcon.appiconset/BlueWallet-40@3x.png | Bin 9536 -> 0 bytes .../AppIcon.appiconset/BlueWallet-60@2x.png | Bin 9536 -> 0 bytes .../AppIcon.appiconset/BlueWallet-60@3x.png | Bin 21983 -> 0 bytes .../AppIcon.appiconset/BlueWallet-76.png | Bin 5029 -> 0 bytes .../AppIcon.appiconset/BlueWallet-76@2x.png | Bin 15345 -> 0 bytes .../AppIcon.appiconset/BlueWallet-83.5@2x.png | Bin 20288 -> 0 bytes .../AppIcon.appiconset/Contents.json | 184 +++--------------- 28 files changed, 32 insertions(+), 169 deletions(-) create mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/1024 1.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/128.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/16.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/256-1.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/256.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/32-1.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/32.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/512-1.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/512.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/64.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-20.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-20@2x.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-20@3x.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-29.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-29@2x.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-29@3x.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-40.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-40@2x.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-40@3x.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-60@2x.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-60@3x.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-76.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-76@2x.png delete mode 100644 ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-83.5@2x.png diff --git a/.github/workflows/build-ios-release-pullrequest.yml b/.github/workflows/build-ios-release-pullrequest.yml index d0f2e74f9..33b429b3b 100644 --- a/.github/workflows/build-ios-release-pullrequest.yml +++ b/.github/workflows/build-ios-release-pullrequest.yml @@ -34,7 +34,7 @@ jobs: - uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: 15.4 + xcode-version: 16.0 - name: Set up Ruby uses: ruby/setup-ruby@v1 @@ -127,14 +127,14 @@ jobs: - name: Expected IPA file name run: | - echo "IPA file name: BlueWallet.${{env.PROJECT_VERSION}}(${{env.NEW_BUILD_NUMBER}}).ipa" + echo "IPA file name: BlueWallet_${{env.PROJECT_VERSION}}(${{env.NEW_BUILD_NUMBER}}).ipa" - name: Build App run: bundle exec fastlane ios build_app_lane - name: Upload IPA as Artifact uses: actions/upload-artifact@v4 with: - name: BlueWallet.${{env.PROJECT_VERSION}}(${{env.NEW_BUILD_NUMBER}}).ipa - path: ./build/BlueWallet.${{env.PROJECT_VERSION}}(${{env.NEW_BUILD_NUMBER}}).ipa + name: BlueWallet_${{env.PROJECT_VERSION}}_${{env.NEW_BUILD_NUMBER}}.ipa + path: ./build/BlueWallet_${{env.PROJECT_VERSION}}_${{env.NEW_BUILD_NUMBER}}.ipa testflight-upload: needs: build @@ -167,7 +167,7 @@ jobs: - name: Download IPA from Artifact uses: actions/download-artifact@v4 with: - name: BlueWallet.${{ needs.build.outputs.project_version }}(${{ needs.build.outputs.new_build_number }}).ipa + name: BlueWallet_${{ needs.build.outputs.project_version }}_${{ needs.build.outputs.new_build_number }}.ipa path: ./ - name: Create App Store Connect API Key JSON run: echo '${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENT }}' > ./appstore_api_key.json diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 8316aedbb..c7d692e5c 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -331,7 +331,7 @@ platform :ios do xcargs: "GCC_PREPROCESSOR_DEFINITIONS='$(inherited) VERBOSE_LOGGING=1'", output_directory: "./build", # Directory where the IPA file will be stored - output_name: "BlueWallet.#{ENV['PROJECT_VERSION']}(#{ENV['NEW_BUILD_NUMBER']}).ipa", + output_name: "BlueWallet_#{ENV['PROJECT_VERSION']}_#{ENV['NEW_BUILD_NUMBER']}.ipa", buildlog_path: "./build_logs" ) end @@ -343,10 +343,11 @@ platform :ios do begin UI.message("Uploading to TestFlight without processing wait...") changelog = ENV["LATEST_COMMIT_MESSAGE"] - + ipa_path = "./BlueWallet_#{ENV['PROJECT_VERSION']}_#{ENV['NEW_BUILD_NUMBER']}.ipa" + upload_to_testflight( api_key_path: "./appstore_api_key.json", - ipa: "./BlueWallet.#{ENV['PROJECT_VERSION']}(#{ENV['NEW_BUILD_NUMBER']}).ipa", + ipa: ipa_path, skip_waiting_for_build_processing: true, # Do not wait for processing changelog: changelog ) diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/1024 1.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/1024 1.png new file mode 100644 index 0000000000000000000000000000000000000000..594857ecda66144d00c7eb4000a26a81b4e2361f GIT binary patch literal 42357 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 MuV(}=(6PP!UrYU(c>n+a literal 0 HcmV?d00001 diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/1024.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/1024.png index 70d084bac8422ac3fdc5592683ca9a162ea2f284..9c2422d9c2645c4181c1248c9662894dc37a91d6 100644 GIT binary patch literal 58716 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

F5_5@KckrB=6p`fan^bfp2#r`5D<~{o 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 Wv|qgNvJnFQoj;>`I^&e_-TwnoNavye literal 184693 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 XGvRH0t_8674E$-RK2#}CvJCz|8E=L1 diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/128.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/128.png deleted file mode 100644 index ae965157c4495b3600a36676e9119afc743a1469..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10568 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 WZDzc3z%U*F0000yV2vR-;Cj0tIw zia;W}N2NsJ1udn<26d{LamMk?-aF2Wqe-@&HjA~s^?hr7n*b011)$KLUwfDtIi-x0 zjtxR8m@*pp9`(H&05A!FS&Z|HKA_dMAX6J%peB=r9 z4RxQls$9pqKf2R1v*nC0#QrmTUE1kL6=^)oZ**0664%pR=dOQrzy7o!Bf+0cN%`*v zlkG$x#$YqjMMG^d@4a%Mll1gL*P)A#-IHIYq_eVuIUIJFV&f&)I3W;NhIe#AY%VV6 zL$}U!61eU<-ZShz*jgetISdvS2~${F6kHY$AIDlzJr}rlV(z0RF0M;X9DpY0bD9^HCCTOB0!xm>Z z;g5*z1zEhkd3U>2m)iS$^nGbrMV05X*VH&)k&!S{(3Ds-B{(ApsUW3N`zxJVF+%>9 z%DkGS-Rk;AzTM7r4uV^v!sZl&x|3g*)pH=MMf`K$r{4^E08Cp~{sY~n7+D@f7Ek~H002ovPDHLkV1jneVh;cS diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/256-1.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/256-1.png deleted file mode 100644 index 1acf97697d321a37404399d7f88d7abd8a5723ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29886 zcmXuKRajh2)3&{Ehaka&d$8a>g9UeY2=2k%f;)uZ4#6#W(7`nX3lJc zL+HLC{^&)XMZhNh%<(s^X0^nz@d~t;mMPrW_%*Ki@83p|zM0e2l}xuupR)rQ$#Ybu zH>#%jCBZF|t3EGeI5rK=oZ-#R|8{%4+Uhu;Oz#B$9>LWeuMiMpVj}xN%@uOH;xAA- zD9?^UyG&O8=K7osr%~VbVNh0{KXy6)Xb$b_9!|O1`t=9F=*jep*x#cj7h%cl*ViZ} z2`Kw9$SbLK{qpY~a-jzFi>h^&iBwm^@h(?Jb&t=c5S-ige;I|{&WV3V)@fXssE}N& z!}J2`)_frg2eFaptbYIa0>}YV&cZu<%?EO5)eF0d=Yt5eD%L3Z?8=D?nyclR@R9}! z%!btq!QBcZkUt{r%x?bax>2AFzOjVEpi2W71pP2X^x&WG> zC?o#|gdRjNtddND%nDVtAc%I85fS_l9fpe*X*%sEdA%rP>OzIaT#67N6!hEYUR0(I z`=+bcS5AT2pESgca3o`j2fsoSS+)d8+BR|Lj2XC=oQ&qZZ5as-_KdmB4Wz@FzMIPO z2UClG;ymefTalD$m*{p=K@1K-Tzh|hh{h3ah|cMV8ja!DPC({cg9sMvd&^5LDomp< z+)B8yDI}_{PF9m^WJ#?V?a(elPH9j%Tq)0L^8xr^G+Rtq9Yw*8X8TdI)$}m9)P8E` zZfq8rkkuyZr)D2#D(Xh0GO6w{nkDU+Zd20H(QXEHzU`=|2`VG;$L+;CmyNZ0XVVchGgRueV z*iabU6b>9>0JUQVB3@g+D?Z8$!L2~NsS12>FXEcY{ouj)_b7_6Te*61HGo#4K5I0& zeQ}m1^=V>eYpZNRyM1QP$A1lCS|K;l2 zCqqsv#P7e{VpRh|pSo(@WV+`faBS6(kBkC!6GPGzoWqBFF-iL^eU;Z6k@pK}z>I?P z#NZ<{Aq;n<&oxqf)6-52%dI6HEdfb(CJ?@r`o}J**$(@p(_*ctoEm zSq&FX?moYQGwl=?6(G0}wYzdg!9ywUnyw^lzKO(~W{!K8C|>YzcVWN%((WlM3 zaX-(|Zˣ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ˣRv7jL&^G1g0}8igzURuT$V3{>|e~J4pc|1QcetJbF)_!9D+_#yB#?o zIS2plv4h`zT8IgY0P6?aX+LISv234t#+&L0IF#uvHJWnvmbEI}=)(hOqG&=DCIRqQ zj6^CT2j4fN%koHTGCh7$L@!uQAXZy2{<0tf&4~~5$r^1>ojE+7cEXHGOnwC3GgG+> zS{dmsIt(@;@? zld?hx{6YBQtD`ctSjX&e#4#v3qBkY$_-cM|njb&@66^LK>WeL=#SxOj8D!xKVB>sR z1{y*3y<_NR*5zW){&@bIVjtn)k&)5+&P;7K@Ft?P`k5-fWF9WALOc#MjLx7BDw)5r zIMCvoG|5dZxXQtt1eCop$cP=10ueONm)m7Qqc$mDKn!Bgf3fn`hL>%s2m6AHFWMH5 zS*DhF+i(m>#(RvNMK4R=El9;c&n5A--E$=$P>viGmJ9tH}mw z%?4PK4|SoR?w0RXmOCsD%=JsgD}C0j3H|A)&eh<1R1r;1VJ} zg)O)4sADzY995`2r9^srncBkPakSJiuBP?z6<1*;Ev1C z8#t&KD~xlZXH4I>dImLJDQt1=-gD2sb#1=mWH2)9EJgx{3rBjF_L$Fcy%-4g@2eBK zw-89gb7qQ5kJg+tR&~2h47B+cmy_>g66(-CNmnuHHKZV@197l^Uhnk{Tt~ci>m=*w z18qkZrAQ@e5pP_M$~Jel{`5Gw3(S$@fiStM?H3fIrd49eUiF+^b41Ch+5oB`lb2ed zJ37=P>wE{OC-4+6uu%qzju(6Eb07B2h~`UC_RAyPDuv6{xRlJ)VtCQ!PsqJpfB)Zl z{<*X!1_xC;q}?lXyep2Bm$7`Df9dMJnahTefiZ%)=!IRV8VgK!!PIc3R2%7xVqKBS z0qC>zpUe{;98Nxfx&^ZjsuWtCM`Fs~aA}{xobOx&>7Vk7>vGP`|G1^lo#;*i*3laq{!h|Q~w$!>pdVMMGsUT5NQOMWJ z0ng@oRv#0!!)a1yt55GVd1o+bUn zaS;?^6Eeyym$XGYpe8!T?0C^k>QowwU2Ofi3V~O?$_Vm2T5OBx3RL`zk{wAFXl*n)JQhbvAdSOP4FsO5tnEBV$v&C7!VqShku0c7>3xuSOr&lk2t zh9(}{Sgj16&jxgt`w6D5^{K>}`Gm-3Y!kL(l?~0mPVP|!BPTtS#l|C0X@DJpnewe@;gHcMKLxo5azlUlC zXO{e+IWN4|Nq2E{)E?*TeBwU+&DOZ~uG;G#Gi5~B>(z*D^Ew2+5gZ7)y( z>*SWUu|t9bAD+DB?;5{P%lr<~voRYu+%*uUF!7eFbQ66*9Qm-11lNp^Oc0zqkLZc? zpKrhehgmbYWC8m`b}B!Q_(vnsM|SrPIuQaI?Gmvp&h~_RzuYLJ3-&b>UM-$3ZmR3rT(0mg`_aZ@zzy~^!L`6m!2|(`8W%-XfMK02q zi%m8og~!3~ZDr~=j2Jp&`i%XInKx4McPvoQB6WYP3SPiJwn3@=Xkb%str~rsByip? zI4<6fWDdjG;7xok4+In9K7^xq$z$CA0M@-8t0;n8@23Z~;ss&Ola`MLjMgb9deh(( z{j0w(LL^C6N$ch&4IRm6)|=J6MXZ!<&RiRex|CDS99xv*V_6#wXc3DGKbtNx?I-b) zc@`)1C-AA5?^V@8a1a25iWj>gm7o(wrw99=u1g0830Mq*PzyQb?(%P}|3;_B9EJmH zPj{8C)W$=T+| zZYiG*tkW0_bW(d1>lO3;1Bv#0VuF7(QKiFkx(6x#5Gz<)9R+=(Esz<%R#lsea7;A* zj2TQpO{XdTQ=zmc5(#KiR=Q}0GaZQb0+F!Pit(+?_Q+G6z+-mg=(w+#<@aIv4-=Jl z@0Qz~rfK&28m|ydIj^l#W*H@apq=B6U!8~zTD}-M(P`M=6JaUHf=A#bxQNd@!34I2 zp(TeZ#<1GI<^A27ZpSdFR>Oso*`2VXmF8aOVS4MLuJ%PmfN<&$haanp{lS4^NJ@Sm zVCUkpiw@PNR1QJMof=%xzjpu|iV&}Vi^_tCAWUG2^r3k7e%9^c!`{ozj-tucUx)T| z_ApY<1{9s0LEE~&d&<2rR}>F9`q_llIQy-2S2(QWJo1Ne4ncdDrSv9(T0FDKR>5Ao z8%g9}B$0wcl!In~{p&N<{D;MC1#4sXfXW@wv8(j0cEg>r+LZA!m&iK{jiO*0)N-nz zAFI*1=+<&z$UkyWDg&k0OYx%nbo;}{Vl)7tvR)~xX>X?fKLMnDgPKYEN@IY~P zz;X0+FwPJsc2=K0^Nwt*fVo3G&WN_bGOO+!b)-VXPCow+`mr%=vxBa8A+h+`Bn=u~+NoyjV7Zf(#C>-MZ79 zjB?!`pN1&DFe0EM68z;wM`bHGDakjSZ9So9AuA=^;$q#Oz*4>H@RUbTg_E#?Rpcm#d~d6vQ2F#x7afzjiuJlYM0m>7Mt^I2%( z$)$&Gi~SoFtzAeJ9R)3O=$_HNc$bq+P2Q57Xgv212-!>9VNZFA1UxKSdG*icbpm=^ z)w@XB8F0b~z-l#!Z>sn9tOmj&Av=o(c zYK%USk*nls#f#N$sn$=_zNSS`6>0+E&)0fE{_Jz@LfcqRPncV3mC&D_M@sPD(n1Z= zHLMX>^y+#ag9G#EW&+ZKSot)1m};GtUhelsFm3SFY2mK ztbOjOa+YhZ{Y2aK^OobIORN+{>C*c~sP2bIa!uRBbM-eM-Lt$cqA8B`eCp9eOX(_W zJK;R&*n`#GJR=-|pDX<3BU}VJ&@h+I`g~9$a%~Wlpgk$VINLa({Bp4b#dG>otp!>O zzD7qr3isI_-N)MBbFw`g)@ealQX@4Q`~D~BPX48_A@lR#H`RqK$a9m|4ec6!Mejoq z9J`FE7;wG>!vpreGddQ0KmGQY&f4hg&$puR8`PBLjiAL8OI6KE;#w&>77q(onQ+ zMKv8Z%#NqTNmOLsnl;>)D z+;p#3?(0q#jwklCeco~B0R=paW=idi7wJW{8mRuJO3sA?)M0wh5Qm|%Abk;^-UY5) zGVUq&j;*?yjgIeYeo|GY1zEtR*OTQ=KrMamBiyh)(l!3};_!W>6{_Zmb5qyttbK~G zaoIti%LnDSBEW|%@^#It_n;lvoz}a@6PdnL4P|aWGSRu9mk)+Azq$@EjRDm8r@>%^ zM>%xF=dE1(^$gxc#d3d%a%U*Mmq(57zAvRrfr%q{6)hm}5TXd6Ckh2Ro$fe=oA^KR)84f0JX?{?cQ7SX8PYUyR zdxQSntmsH%?Wc zf_z9C(K$|8Y&z)s^JnPtOyApCF5wrS9hVVz2pfY3mVgKyCEy(ZaKTS$ah?9H`!>;a zX?@^n_foM~1IcyNnANjzO!rR>$|d&O$HMvhn3aN!SH0J41_#x=#kr3xTNHGWFbgn9 zds~}R$tw!oahuSLba=Drh`)=D^lDx^bWSDe1Ex&(rT7aHB9r`sf9vRQTzof#2i_f= zSf+hvr#Hu!(AprX*3dm(Yrg#V%dR8&Z>rN*wj(10LkBTC$+kLRlFvyi6Ohj5Auig~ z*|^_tAwP?pj}(I5q=q1rBA&4V?mFbxJ0{Zh*gtt@8{-jztIi-9D>Qjq5`)mNV-u}N zGjxpBot$o1xNhC!;I;#a!QyAqUo39J4OXP>xX93Pj?CX?mlgLQp8Y?yE6~E)Z`Q75 zY7iX$Fk)sfj+8itQ>Ysa& z(T*G|ETrLhz{oC@U|~-P0G@y=Kn0qCBaVEp3Ca2;L2C=&*6gfOGC?)aMOem`nY|Mp z^~zXvSwOkaa{MjW=Sp>c8MU}+(n`XiB$=1{2bUaa6MC#DBa%L9>0dX#DcM;)_mohg z2O;|6H*)s}+nmUtW{XL&g=Y!DDJhB2xb&zr8;8GWSJB8vk=cQ9NDb;KRK?We{PEK&03=z zVJLzkj&dd&^_Fn>4Dc5n2yJI2hMJOOEt8e4O-u1dzCW6lJ|!#PQmw3oU_!HxLo$!0 z8CE87ur~E+G1&-0aoIyCV%oAb|Hc^AjyF&}b6AYtBI%})u#h;u!hROQVt(;9To}K6LXjS&P1Dcw|aBmf)L1 z7+2&BviSZJuf747iG?z>=u#~zU8{hGLfl2|gL^-ij{M{NW}hPbSYQKrUljG|fWh zwfH};AO~K)xi7m*QQ?Y0@rn$gFE3(E?xj-;a}nLOj{8S{6D+)FXP`!LI@hWnu4S2p zRdas)q($nVfOTIE=Kable2sw(54pp_+W#b1LM%)G5_G!XZaeUpZvokRIoC~E<(~nW zmJEy*vjLujR2|~^i-Ct%cCn^qe`N%(P;@8V;sr>!N1ZGlmkWBOnk*1EX-fy8QBf`&3FCa#zj^D;bP6g7125*QDy9_&`qySM-L5Ix$|`==I!3d z-gtrei>8X-Dvn!de~}6ta?UyMOoN@cF89ud@&pUf&b3?VJ!N~boik(nKEM@t1C)!s z-ed=A+?!#-#(c8@yqr%fVs4`kb|gOnDq}bD{;j`7cF)VzZU`EclZ9DM5WGUuky1b0 z_hiwBuRV$Dd)xA=3Mm0nNiN4i{$z2kRB@J*z3LRcP5}pz)xZkY_9YVejavkC%E=!M z5GPc$`S)6mUw9}{9zQTPZ>!z>+95I_z~WYAN(g_$$NK#%^lxX^JEd&x0`ui%*_&p` z#BbE<`tQBP#tq*{?gnjGZz?rKuz6X&kcP};^cQD3E8k}HItgI|$*w?83H^B%V|CORW z&$Polt{edZ4h7Y8U%t{HST*3BIsXkAnwu={I1sfd{1hgCSkPFIc@C*i;)zfSOq%N( zY%i42;T7{*xfuJ^)43S@nkVxiB5rIRcrdO&B}(1!+oS_N8$t!%@?MFaO}FZ~;RbG& zwUe3JfG7T#fABk{F0Zcsr~`@qokuX^KGvA{?bEM!&X>--YGKgY2la=i8G0LZI611<)8io*K<(<=jhkJpC^PdO4><-9q@QH5(eQ=C=xDXSeiUb zr{)y0;yV7?Q28w%c_-U-`%3rvw)XSoH_BgVwDa*4m;^q4sN>+#OdVF$BkfCg7w>&H zu_yROY8;oj27jsN_sEFpSu-n}=J$ibqIXIPwZiD&4uNtgX{anc|DGgN5vW9v4gW+R zIY%CJ*Z7JwB#66|3Fwn1SE*GMNj2D|!JX-tXhzlvU5YBSEJKuW2#F$ZwdR^_Y*h-Y z61hl9%)$P_iWGS1rvha3G3Z*x0@#*85(bMn^KLav1(YBS2gcj;D;zg?`0}V>RU^Wo z-5TNZQ-#EWGFz;^xAh z`9^qqQ@3?HjwYOoyd9q&Bd$*7~RMmqr3bL3`)j_0#6~&f1Nmk=n=17y6OpT94 z&BCF#?C2+p_`~GGh2?>+^h<3COglJd=Wu3x=d2XHP{C{LdAG59OcT`oVd-7T3mke1 zINrC??59KnfpoRo{aBsQR9_q~>p;0~te;fFI!0|OW;uh0%1%kP zCrmff7l@?o#8OH=p*T~i3zGOU9pY18aQ0q#K?= zRP7HIMgpqeX5cc5Hr@_&P$)OonF|8!@nVTW8%JYP?%#!4zsxjPQv|VDDUyUw#CNe; zojGxCGgVZkjCCm_&=gx4_;_*Yo(Z(UKQixDupOLY&h=g5s0hTSOL4Zd#4NxXNy&^K zd7EsI`Uaat>=o5iwf{gZj|mixT;eLI1EfjrdRmlt3OB&GnOz9kBG97a(>1?TGX zEa8?i4ZcJ*oDXw=O(CVWvMsgJayN82pXc|?NCyAT{~H&*FY5Z4Z?xG{_pARda--0j z0a|r>zlU@LJ?RU6!A6RR4f-BrI#Vv7Z;*X)nF5huS&Y>kM9c$!*WGW>?sM#@{5s@{ zr0XxNF2>xowOB_HsR)z*Fzl8A6!`8UX+;`(1y!0GrF~^IqCk{({i6yoaE8ZYJ2M-& zPI2jDwl1n)k&+eBnvd@3?bHo$Y?!;~V=YaH|G_hlh_A#EehpA6bY7#2DH0N5e9tKpMc)O!xbWhN zK(}da^kDFxc)4>9HFV%|0ZwEJu8Ij4+K6#ROEMx8FL*9dXKY5``V|camin*qLX^B5 zOiy~Q9sol-p788nJa{$soDU=8E`O=7epo4_13VXK64_pD1gYx!gjna;7-}9frlJd; zf65)eAmQKL!&ix)E@Wt^6)E(>1}8y8i)U$?32$d$X4K}|1^U3>s@N`sWQBa8a z+M`boonqK{S%JsJg36eMugN^Cz9T;xtoD~LVtnq4F57@kwFSyixb)kpL>c~D(wB{dlNnuNkGG^R7d?)$W$Hx{;B7ST9hLpk z?{H1*FIHwi!7JfEf#zUF{#&(VM z^3BwMEVLy1I)g=mnRnSPe~>_6xlVW`#{kcb=zNq}`{oW%^4*pe?>~RSZ;zcR0mQGw z>F#2WQXZXDM<+t-h|m0HGry?Zs&vM4a>El1ZKEODCSbz=2|idbeZji@nHRA0kn;o$ zKH>--%R2l^8{XnbA;UNJQ+Ly`sRAdfINuG)aUPx)1A{yW-FJCn5xahF_MWNpk3?jg%CqpM2$npfdPLbG}o_XAJ_3 z!WIJWOO@8X8CuRF%YnCyn09dR76xjn5_tJ)jSUg_rKig` zOolXNTIySn2^BagaxQL@k^JKNd{Ua7Q=U-2o-ds$e4bo)&arj#k;78CNhcNcKQf+u zpO}uT0qIq&MBxy-#1GrrDkS;SAo-~~990kw0|B@qOq*znV}uvy&d@y~#bc}ba4<6d z!TQ$0!S?%XzB=l^Rk@Dnm`Yz3AF*R(|0NHFee8MRQv$zMgvT~-E0YaMS5##ZjRc}R zKXj!kB3f-;G(Eo4I0c2DpJy_jEntIfap3-VJ~Tlp_lY}JURKf=dS zwxfN#K;AO5ycvX?JKYYUf} zB0X4*G=^ZK@7q60{Gz!oh%s&@41mqsF((EphypO;-!Wv5Z7JO*lLW|r>uWXa<47L% zbQr&wponbc!FleU-N8bgSFrv-tLOBXX8r@|DO~|W@Yh)4TIcoi{=PM}F}XA`)cb{l zzt=QWhUS;Gwl0w2LBb8kv%>k+@#ur+OL&IYRC3>K+47{vluMC!ZV<&XnAbs6Z2A9a zxa&@&=8IhMmhSB}tqp8_E$Umm?^%K$zU=>gyw$eP>)KHpy;@o#Z6i5`1 z$@GY4JE%~SvuB54>2oXFOf{Un6I#~mi=;95fHyTsGR}rWn4a!UxdD0~J9bIK)9Puq zqX7%Gp`XO2qXf^+P!b>mn~mMN`3Fl5rGB2oZ_TlL>dOL2vs=8bgo2#)8!9oqQ#3@T z0s4fE99XY!Bq1F1a?*7qou{SsDp7jt7jIl`^rwqr2)Ln@?4t`31{NRNdqm*RFFj(= zI>t@rE9|y-@->Ix*Y@ALm{0#xrX9IA1hJ1OON5K^86Mn^#sY%+2#p*{f&b; zCf3je^W5RcR^5z2{n0`m!@ri0>Pv1AcV;PU{}Rc`{N+_Sk`q!32SW|&sCm&XuVosV zcZ}C<+_q-Q{On(-7%YepTb8d=cXP(6(z$*#lyFPHRl0DKpIx&h|NY#m(EHQNZT{HP zmz$PJ9{yOyf_xCt?T43WX-Ot*%OA&etyJpVC~O>Sx&S43r89iGp7Bq5s!pa%&NH+5 zI5zH!TjKYT*-d^Ea)r}1Qqf=!Ss_;031+YHQ%@Y*Zhc)@{-x@x;*)#0i*N%=ztdU&JA=WWwiV|I^zGjHjU$# zDbhwB1Smp;xbuw{plR2*na0Mat-ATdw$c8%i!=E8H%91 z#Z{D0yx>k8oo8d;%Ry5WouSgwkiG~6OPne!X*bL-|2LB1r3M~GKbMBL{Q-iF-%&av zZ3^+~DEQ+=d3bTcqc+rRILD5!={B|vsJs~+)MOs~VWOEoj?e$*f9fECWp9m#+@8;3 z!?5mOL4-6LZ&+ejJDcvsc_8jrqd)`+@QD|LG3U1N@d1Ux&dL6O*9JS7`)KmrlNYJp zdEim)s{7bab73{6vaIpZ*#ERZ826E(Wc)R$X%BYLc;vX6XtM{m#A35iuh*S=!*22u z77nS(7c>uQENokzazA{bozjgzdoL%#{V3oJFcrt}^-GydJ{LA`N?iN=;ev#0z z`E$R~0kMuwj7~Zzaze#e0~KI07TB9%JYq~FGvjNyAttql?Z5^5OPtIsX{KBMSe^Hp z8@PqLSqTnI*d;zsBw#~FN+3~-Xf7L*z z%Z9bOM9(BtG6x5Rf4NAf)DdiN8>XrbPmY~tN>sg9P;Q}$bnV6%iu_Fbk8BlRM^KQNsGzh6QR$sr zr{|qG5)iCA*M|}Gv#GmY)REyU2{Pb0OgVk8fxX>Qr@_@M1YK}iCV$P&hHt%3JwV)`HFf61IF%(Elbr?K-lo^(l$ zwNno$)yMedxYa}~dEaIJ*G{DY{ZKU~4XxGlJ{*Co{EF! zA&@o=AlPo83hz+<@g}b5ocKi$E`X!ld&{i%@t^#tf8LhA9Nxp2CH)ZMQ~HtJO{`ZH zZjER#jIH3Oz?Y?lHx$pkIq(2@?m8R;c69OBy3m|S%Hst8S6o)+x3p-|^5Wi=_Cj*$ zK+j$Ijq%{1M)|Q9OsrAO-uxr=xm z)n%eOJRiETb_i>1S^NWTgzL)F_oFK}5WYf?&%dV@9QYH{>kp(%Uf!!7rM84S=|5TW zV11iiZ&v$q^P=}Du(UuYltl5!Ej#MP@oVSx9lyBN?6u@Y;y4C`?0(@2IxUN;@p16; zTB{Wf1Xu3mfme$rd;S|`F3>y#3!UZ+#${X4MM)`ac!qsLLsZVO0#L#j6vUpH;%GTq0Md~ zrAxN*v&@rh#Zf`=`+*GcGVWif)CAa9kocsZ$Y~CfZdy_VeYUo3e)nEBYdBJU$ffbj zLtP7#LT`H%fFj^4zy&A*ntclVy@8$8NH_k~>2H2mjn1{lEfLt%#hK8d9pqNn>U+jkhmt$;6UCrA;p3 z;({tIO)XU{gee*6bRNPe%seT%v%DUF^c_%|7|qaQ=+~S5k~vxgGAn|B;-w(btE)U; zp|-jK?|!HUaLzt=Wl?;gK&K^O{(_6$j~aeIEzN;$dOpj6yt&uQwcGXlV)g*So2g&> zss6m1jgo_HVGMv9ghc>Vq1|-_j)&i&5E@|0VdG2%_t1@1q1nWMINw^Ec16^N`BZy3ZmY9zFbkcQ%zrM0whE8o+WGbPd(J5b^A zzM(NAD#1cbcDLg!{}nApkYpa3$WDwD1+v&|XHU?84{x%iPUV`OP7#-}#;b9Zb8n(Q z@13V`=WnK2UXI38>YA589h85QFjNrvvlOf!-cQjn1X1Ts^T-z-ht2#$C(GhB|I~JS zbhMX?#@*(w3s>NO>0y|4H#=m`kq3K@${WI z0|7b*DRguEA!Y)JDxCi8z0at^@aY}=OH?7X1Mop|3o+u4qp*o8{V8scgcvnEi~r}>N{Nkokj@KOzlzsSJ@aeLWil{ww0(79^>_=t79ccIlQ3xBGs#iDrkz_rvd}=) z(KO$TtIrTD#(Pc5iyBzriAf*12p?yj8I`{N#uC2cp}lQe2Z>xZ_s<#+(VlM`6FT>C; zN1gu46-Hy>P1|{9e9P|f2BO(e%{mSo-G&pI~V8ItSW5Ggn0h} zixd_90fhXxbh`>MoS|hT%Q`iZ4g4WCE=aSOblHL^e`_ycQ}ajdPVYENB%UU`u*m~~ z@};vs?0X^(?Y)28X8=v9G@32@=2)T!`x$*#f0RnDl-NtU`$a`$sF5R>FXSuQ z?B{E>;txR|>E-47_Z9W_Wi66rQ&Li77&3MW*Hc&;1G6xe&CS&Ac^T2?I}F@?cp(Ad zfrcU5QK|$VRJFd-IsuNk%$*HINOh2gx6vorW>T9>EOnc#Ho{-UFkw~7<-H5|z^_aR z(w@S-jL}o;1FpykG~MR41D)KUn@MLcpvN)1JWsjepD!y_>&LwhpE{2gGk#P@cPCiw z%bH!oHM$(4nSZcVM8lh!nn{;-jtMh%;f=!XHy$6D9CDwd|Gc9_V7#r**ZXLQetdMj zrQ6fi!eeJDRgc~OYZDs3a=$m5J>7B}u)iS?^S;t2Ii*anHod5y7L>;8tgrQoW2_+D zbwYQQ9Zo@hN(eXz4frXsSyh!2j11#j+nX70nZ~$lT^AHWPETw?(oP2dKDfCIMQ?Ei zYJSkyAk6Y*Ql2bXJu$!LZlcR{TOX7u4ZX>8GcHsEgOoAPk{PabacSrrJv41mFW&sH zGw09qeMD%g4aE7_1TTHz%2+97%K7h-md<6h$?l|ejV<`KVur?5O?K^`N;}srSxN9? z`oN!e1AXf)ma^X-W7^=znRd|L!$-MhUWqFfqy&h{dh!?9K^E_?eKa^-6wzAl3~bI) zzHnHfjc6<*<37A2*EJj!oS}IW#fFmgQ;2kN;eV`W<3UE7Gm#amP^fYvw>kHIoVIGJ z!-H0yMTUl)&2^6eGv)bn6a!WP7*OSfHdVd4)L!gM3x(4^8jJ|+89}e4|Dk|=fakC8T5}HE9%87sRPotq0`abp_^EAPauEX=9jG4d@9xTaMgUk)Yt? zQDns_gz$$yQ5eQXw603H?C6Gl`j8gFj)|snugEKSIi9HS!a6Qws^9Fn=7sbA4Pbb4 z^=hic-F%cJbBaZwKqp0&e>iACUTz39meTjzB{J*5wr_P8GR1>fFnrm(UsZf$OyFbX z2e`K%5X==kSf9MO^L);cGPDWk-!@k>&@XgxMm^teN`}C#|EoGRzWz;`jQWjZb65t7 zrJXt|^1Pyy&FT5#Z`k!2bbW-};$E6b3AVy-uS9UnUTbq(xEpy0^K|~C;-URx6=5JR z0DXUW&wwx~$U?ODTP3G&hx+|P9V~Pehp(X8spy2rR1h(AG%;VI$JNrCqNgi-2Ke1| zSSx*|N|Qvb2o#dyZwQ7z^l3$|DMib#`r zOIDp;sL{H|T##S2u`V+bG%z&%BLVte!rR{#AUWPD_` zPS9!gM1I&W@YI#hrQprgmEe#6J`V9jfh8?Lf*c9n>ojj{!0ren=xK4I-%`KNKKj8b zAzjkqjhDl%(05?U-??Z zXfBxeTFWXbGR&hY`AYA+$f&=S2irAP+GVeu_4*dRMY?XB{3e~Iy&v!A+q3vnvzYR}3FHrp>dOH341LPB5Jr-{U3gs~lv zP;~FP5a_6U!jg53IA^hHuw$}mH=D@PtblGjA{@JG_tyU-i?4RtUiQ55zgl+)hK%8`Jh zdo_wN5XSLsPHBQ$M{*)%)g4f=)7p@>=0iKDkec`uNATS}ZciSv*cggLt|Eyna zr`+xkIO#g)wfFk9RJ%%EM!M?5*HcYUEFaG4nL@F$JC)DcP(_2Ovt-_HJ=hfMF zwr6|M(dK^&Gwu3ugt8s|OhOL_z4d-n`{SUkg$jC_Tek6a=G|;IM?$?v4Znu#Yp_zO zm_CJxhxh~5CV@{ysrIeQz`9f9#0_xxeR;VBVJC%gE5d$nW961dk-kmbQqNh~QG4@f z>r%%c9_8q5)ue{+yD8_h4a&`juRjvh)UaAtFIl;ugf#S)B5JZZ-GY}0<5}FzEvm{r z8nt3it`tb7q`@@NEx*)fC!{#89T>YGpl(yx?{d+`&Qs`H;Jr@-AO=fwf?w>66IWO@ zBOXF;XdYM!@|U_Towq2n6h5?wd}$e?c-}2bEGl;u$+xF+bfOMTZ~>Eo9Yc76E6NN5 zertKL`TE`P>F^eqo47(D9WJ83J2o+YWod;fIdaXPiOy$^OGGaz#4DyfU~ik93z5I0 z+uSNaQOW*%4Qe%d`=4W3U*J$GbK6T{CWV`cN<5Chn{${{z-OqJwS*n8@V@Z(t@e8O&fg5IJ6godvc_gc8nG`+3qQ!NV; z@^To6Cdv;sPb3fZV3V`q(T*i>6%0`v9c+$8J}H(e#p}Qi_zxb!zidRYUm=_Z+3;$2 z-4kv$Z{;NPvojAqY0c zG(`R%M-#b}EbVE^V#*70Al7 z_Iu_^ele{_+I{%P9GNXg%(FTQFiS~X6u^Q);Xhb>K5@47ELkLVg&{NS{?F$sMYe<{ ziXinoiSus2fIAaSl?r&(C8wc)cY0nElQI}%ofrassb*2(tkI@@{sV$EoF#9ek@7L+ z#<_BFeQ{K;?`ZUN=3|O8&S)8IHWVUq5Y!TA;V*ZAJZO!#=Dds zBxMxx6w&tn{EtSh@#hB`3Zw!lDyyef8Zl40?%N&7A1$=B@OUv~Le>bEZp?Ma-|7Jz z)W2lJ)sw?Juh9VOg<3B$+&wPN=I2owWAg8TZ^$$RNaeFH*TwL*fVE+Z&9omPfK2~< zxNo}}<;E_I^)yl4n|4c3ca85E%hDG(>0`22MEQD3(wBenu2b?WjSz8`2z@EbTMY{W zJ+R2j#Nld0W7$KZd6zOi=r9dtjreFKfwk%8~2$Y;u}0 z;xe&3*?yUMUro0`j`=^#$XNHR3)cG;JfGj^>;y&W^UmdH`hQvgdfNLYv6UaCDoj*B z&PB;GVOMJc144M*>28g{ev_ojP(@08H`^!%!Et#?*6tC>=!yBJ+Z|*{nn(BS5Z)~D zbX2DEwSS5Ui_%ER37oAgzMnW-9lA|DQd8HHOaR+I4kRy0g4mOgdjQjbP+Lnj+S#=@ z4#QT!*OnkRI&PLv?;So9Af9zztE`ykZk5R~kVDc?;`PJWND2ex^2;_^$liEYlCszCy&DshmXc)*4@{untC(+ax3&4E8ovY z5Uh7n`rL_9O8%9n@=;X@0{ZRk^kY_Y*23iKD4RaKX8AiPtsP@c8(*zG^y2~oz{*vd z%xtp5_|mr)z$}WOo9g{-U!TWzx5I$WfDR4?>id)tKCb7LG*-J)uq@UL*1MWl+4vgJ z-?y>(UdlgoTg(jD(1u6uc?u=funtE0I8k1Mg|tu@xX17~Xw{hxxE04H62>K7I* zdh_*{&5OTwu2D0(49z_$XHa2IC!T!ymps<5`1%EWc>M&y`rI6ffo%JLe(s@k`v(75 zSzt^>1aH2v9nbxFsWtzQgS3YWwq>Px<+sl^S~5T?BhxQs6`x|atET_%z`Qh-{3IcMLx$SUqNzx2fejSUq3Q@sDY>W}hygqu&{Id>j_2<_S9PWVOy>jV06 zoD!lK@Q;mI1ImvD7>159#X5d-$Fo+vbb_|{j$;ZC2AqD%)zeP7Wzpn0A@kIerx_dC z63(Cxc7?)#&#_mXOhAwC-htp?{T@p{%0u8?=e*jTOx0DhwsI0d6lc)Dt_yb&IX@Cu zm7DF%$iLnmea>gh$rHtyUoSE#_e%Z~rNC3GV|d_!cdV|)koM}Yjy=arc2hNA5r8Cs z3;+{AR_qp0$yJVqURdPDIlYMgCkKwhPwpQS_s> zZd-ayoI9Zi3&s&2xgQU0?87tLlI)aboUoJo$5c%XSlgAsFOIBa!tZ_D@OmdwmW6mo zSK>wi|G1+=+{7-48i*#-c>Lk@c>d0lPRb-YUj+~WK*>70Yy$MgM;-pzPyOf*^+%jI z+T7fc5gmcVmf3cfTKT60{d20>RJ}o&52Dz6E{qG-dra`c(@%$n4|+_TF+PS1CKiFJ zz3FtO7IYyUxPN^gmNq0YuEgNBIy(z?ZvRPnSl5-oPYy1}gi^!)4*DK?eEYRdq_Y;v zBLo1dK419z|G4pA*w8T|3OxJRIz0SeN1lvK;+5e9fS%$}2QIw!j>qb!9av?4(2+KD zO=li|nXJT5em=I_&J7m7t4}%mNMpi-^?NG)$POm}IBi@EpPE#}1YZIG{riVCy?CK9 zg)t>Mv)gxi|3&Y}HC<`kcyI+KmJ*Qg?~o4y0P;P=$qZ2SexZ2={3F`wGY!nbq{;|h z{O2az`{h|D0~lrisGGO&M}K^#K0dz4Y#;z&-G7vaDCbw5u+q6A4TXHKNlSwDwR0O5 zzCJ|{{@a#FuzvXHM}oMy$HeL5ihKd!_iK8wtWjzJqAmSS?jJJ&Iy3m6gDWsOo(llq zdaaWUmW>PZAmAUD(e08y@&in+jNtv(cHpOWbx7ij?H zm>dt~m;l$m+77BUEep8;fVIF@iqQ5%`f;sX_PLPNu;NM!aQzet990oPq&Wi2}u0q?3^Q@ zu)9u>qgg;l(&TvzEW=F)LUPcEf(Ksulb4&;Q#68d7Wy(-28MK>^sO;nM@a}MV+j!! zdu?~{KW#!qaR}3+2F{*VGW-BgGyS-Qe}8dF{nH0CwJH3RdjN6d?6{6NLfC z72(r98o=*X_u$2*B#I0jO??@RE(u{uc?e};9Vyeoj(!sxx-%@PXJTmxop3gMN>G6KL)?Q52$P_FQt48H<6y z$RbCB@vfyqi9lmZPX-}f!^C(96XOQzVuqctL|Kv)%G}zUK|HKu3~59IWgr%4(+Oay zQ}Fz<2u_(;H2eTCYR*XuAA9cU`oC{zGie5qyAg=e6I3yGY_-hJB zF@Xcu{A9YXt_vq%9su|znE(LdLf9MnOq@Tdn1Pb|Xzb78NB{0XO^mV^+z$eXo{WW? z4ymxC3Gy9(THlN3wR%5i%#i{A@SoKhA>RHvMY zk8uA06i0L%SsTMA#zco70LCA9`ohN+KUx2m)vczc(`Ycy@K5Oj6bhFVbZ$0@3NL1M z@jL-_2nc&MSkLI9j(~7FS$*{MvwZ;Li+weK@4eoR$?-5Q+rQK$3#0R9RJe=#X=fR8dHj6#+06#$t0H#XDV>dq{A01{L54SsDEU23mXjL zs?DOL4k6^OA$8Jg!}3JElN}jlIDvxodmQ~pJ(p1c)dY~z(AaOHu84Cu+0{}G)bS9s zy95X%P~B+@pL@Oqvnom0_=7}sRaY7}9bAbiW&Qv_Cpd)x>A+bdz=F&L_MMtjk$&xq zZHR?{VuPm*3${XMD$C4|+m5K>vZ!3s8_h}l?42$f0H`Gy-S^gB6C;at+;|8Veg-kcpcPtzfpe z6iWF$SH0NEPWoa)IG9CZT4$OG25vi?1Ar80667~qlDKt67p7N;&x3~EOcrg4EPi)< zjqAPYeUrLRrU6w%`rRkJ_x^P~_}2&hm@I%zK$734+Q8&0iT2&<{QFNILdw;GNoCqm zlWP|wyV{>0RsfiN=B1b4_rJft>#wVtP0a`izpE|o9C7pXo{{R3Pg%Kr^TGN(i+;=p z&|_l3xMF;{6e2y(u^^}DM;V3rZa<^4ym*SMLl7^ z@p2n0G-5sg@!p#ct+dSrRol4w#a0wC0B}Q8cg8{pjt1Zd0MjaXB!j;Dy|y&Ie^3SH zS4VinK*>TTU&HrbZ%2F5WZDb8e$1#CzA>lF;bY}qFIm!zu_Yk}KsiKFE>q2L^wQM@ zsD3XhkYZ?-b@rrk?dVChXD7Sc7Y}PW@T@aGf7S2)_rBXn0|*lU$dIb4=5yoTH4Tuv z0NjZXwy?_^l4?@0evhFa_W_U-uoxE&paD?X?u{$jnedae(u|0Ej;_IoBBz2+70KJ* z?!?OWG)4aRRFl|W$6RpXCs*ac>&;sRuqMO03c<7oQ<~&6Tk}qw~z)< z9%5%xcgjM>vha(et8)aJG>)_WwSze`DRLkmuQnxd(bQ6WalcZT)?vSP=gMxp-I`?g zn)RH1!ZoI7%0d`+L4K%c@+<;?sUy!xcC-v{Ly&preC|v2_x`VmDKS134-5tPh5yp0B>;QNp2`-%M+^;;l?s=~ZFEu8yUwN2?9VOZ6*G)Yc zJa9s-eZNwhc)2lwJ63WZgDjc07Zzau2t3c7QjTM%jykiiy?N&|h1$D`1P$9f5QKAOWJxtKSidLHkNE()GdObsX#kEuNI_oN zo&ufFht@_#0u0}4a>B1{OW~TCWjJYUZWSTL&A+<5jR_rD>#I7_xaF{Fe+}TJR^|hs z+yZF=+>!?Xu6m&rF#{-Ny#sh(3fUkM7}jpQyoP;oG3kB4H#)Dc$Qd(lA(|R3Z7Fn=9u}EyuCb#+=yG z+W6XVmIL?BS#a@1_ul`&y#xT7VK5(ndaz4E<=Qh&)}PGCl4TRY`dqtzPoW>n1RMYW zZhyNAZ?q&>D9{vXy6jZc07}-GR2IPx=9l~O$Y+-{3ENm3Py_h-ORb6zKx6)bd;oCe zvSxPr7mK<9$&aMglgoP15nQdOhXk>=T9UZ=txim@2qT%bu)Q~f`%iE*7kSFl`@j8a z8!93?Gbap7g9!`d0;Kz;M4_)APzH+st6@+wi!Obxi6uGl2bY>c@IU|HtajnFO6$1& zMxM~q((-Te3yO|FluofrJpp@Xo_OvB_dopC`yX1>lGSyC_=ATyRLNIeq659ASPj8? z!5dx&&u*q4F9tGkRvrz2l3o@!^kclJj>C-B`zIYOu2&KH)ppen-c_4hl| zxHXRk@C~5>urMI`06NpSC*V~}o4F4_77huEv@>O~wq=Ws%msjdHzz?F!2T5> z^rS8HW-Qbn%f0`3{B1Uf4D^e7uzhxM6ULT?*y*f3Ts{E5FWmY4w=86}3#L|Nj+r+4 zghYGuiU9zCStQ;F2K_C6)TW@M;IbCm38-pOg8{%TWCB!#(3#{-Pw!Mf zOR^w+p3G;+C-_bc06!Qh&6pkwmo#HsspB*(;Qm=8m1j>XOCC36(M5g7jxIYA zNN*CkR=W%Utg&E8b=_gluipC1qw6}gtex7VVx(i^*p*lwYsc$1aA@ae`Q}aX~IV)NEy7FAIlHy!3=->H}PnP(eWGEhX< zYz;s<(9}GDuP>)40PhGy>_*xGX#jrO!qv-~*-0-u2uo@a0FcA(o@2N8w!z7132VV<@=1l525bYwAsoZ8S--Lv7{Kg+VR zwWTqAVz__Hh5L^<7C@I61d<-A2|%|+`%YITO#lf1^xCMuukUziWtUdonMhN+co!X9 zxjtgIZT7X9BfoPcSnpH;+Rc?b&Qh=2MdiccrXMQ@?#^HVnE=z`ISoPXUDbt0HuhnD zbr=}|04z6OwE3cV`o+^qbJkIW;M!%)m_ZqXn&SiT1AwnBZ(&VAsn(wEeQie?Hy&P% zY2~@*!gVjTFwMh0r8OQFqn2ajguCsCY8y^f0Jw=XfbtLvH-6BQ!Jkg5lhIgLQr736 zYeH>ImK=LyUVOAW8|ST@b@V+#^XFml0i27wynk6MTUS=3k45*ppPD`DL?QGf{1N~} zsunMYkO1k$GCu&IPy#()_Luh>mu|`wjc@LyF)ozzrb3;;-wr#gbHp5$MBu>}qNCiX9Pa`TfJ;GOm)o;qVR0|Uv}Qs|!gpbz9f zV6k!X>qkJ}y}mOI zYM1>78QK%PX9GY>3jg=bc6R-AEi5O&12FRXZ+fd8Z?>ecUpX&Cq6Mm6%l1o1crT%e zX5~~S7Lxz1Y}TALs=`>i;JIsfQ0l^g(71CYYcF2zri@d5z-O#nbYTK%gVo=KLC zoV%sHC#z`$0Ln+$8jZ>#s7_fsD=sse*H@=c&9CektN*GMSg=H9bAc%#}?-_-W zt3m^inSfMp@cI4XICFxMsi!dVrAwO7*q1?7%s^|x#H^|aOYHGpvkL(J-Ofw^dQj@~ z31edT(*8WRpRH4}*w21yJ7R{0ab&(24nLERfV2+^e|DuzOrTnakjAtZ?v&(vQb_*I zn5KEy_-f;|7nc0>XP2CEDS#4@1F%y7Ak}~RSB3&f_$d<5cl`s4A3X4=W6xNzwM~=+ z+hh`An=dw)>*RB*9&%n#u--qm`q9(R0f16`Mp5OZFsbFQ&o}gge(2gSm>kEPDsme+ z4=HeT7w7$RJ7!cw7{AbWaJ#-HKLD6~FbGKxWfAUQ8OC?!xoh;*?|Nc$FB*DH99SD= zngTt%m4otn-e^wXCIW!U2zyV`w9u3=@y8SET%e&s>W|-O!>YCvQWjW5Q2Q$)O( zP+Xk~)-xM&51}8c1rSjHF966(^eY8+-+=qCyWi=+%dC$e7Ye#x$^*y;0AG8N`vBNr z5NJ%b-`;OBJKcM#t3v7rK7P+pKY$zGY{UM{{LomIA4M8IH6@NuO?5Xq@qT_siuVSj z&>`hC_&q+ixDhqQ2J1&4a^uBy%XTk)YfchbI9dgOF-?-zhpWpcKyF1KCIK=A#6n}_wTf!Xj0G;h4 z@jCg%ZU*bswCUXW%^xNGqz~YX2_^XKbnXOX%%K4_HB; zYnC-J?SME@G8*{+Za$*M*Rl7N7n+!Zk&g!B3`rG%pPF2XPYVI{u%N3SAH60s@cyu- z3ztqWW1l0nm)DyTAlshu0OU2%J-ySK!mo}S!JLOugJAxQJa)4Rh;;w5DbXd*?!c%L zCkwEU`)8SE_JaLu^s|mS@RQA}-+s!c6qqys;l1EWiJuR^3jk^|P~YUkPdx8WPdxp< z55M2c(t#b+^C69@&HHJvuEQ=^pR*minSR^^$gq>}{K@Xq@Q-V{@#uzL{N=QfHVdek zaPmnB3KWW?({NneU^V;p>%#H&>rd3NetzD^H(qK+A}wbFa*idkyw{$>&yN|wauB3| zde^Gq#D$9+S$XnpM>?TEdOv;64_|A=bm4%MLP5ibW?G6(2q`fvZaq5U4+YKI8HIT zvZuE6;U{mjVNP`fKRl=kW2i57p2y;?{kZe(c6OSQH(zQJOxQ%E;p+!f;_y00(Bwy5 zwX_K_Lw9=Xi5DmawZ1cjZ_cg6C&uJ&*7={-ByL~P&di3B#unpS9^b(W4gL7}yPd39 zhZi*QeuV@@i7bU3Q#g+9e`Yz$YZ%Id?r-tdK0LUt+b&LGX)`|O?QrowV6tpYvYk}%o76w5bs9i1r? zTYJ)|EuykyZ`LX2UwWQKr1z$?7#9y=PGtm>%fqON8O-rVW&;%wHTI=h^n==iH}s_0 zeU2-Qu=3=Of`2Ilxc|ssl0?-?z4?v9skZUvX z!$)6yWa>KvWlFGWJ&CTs_GKtn5v<=c=|@7J$PnIZtg^0B zoQBd~q@MdUG=oxtX?y7uq#pd$MTS$KFV7pF{in~N5L!yGCk2?P4HzFP;)x8|>#4^- zh21Q)CQX(vKq5=0ErAdLiu4^wU6o9cesbMwK*Z2dN#40Z_>WSM2!N}vI};Ffizu+igQ;i^)d$?RZ=u)a zdZL@1csEt(=WLC;LFhx`{zV&S(2q)cLjV92VM#Rw}96*0|)sE%aeFt8=yQ0ceFdc~g6m{jrg7)Y=o}0Mq%b8TJcS8Y5 zKd*6;{KNH_D=CB%^qtT<^?Nl=PGQlZ5;L;A$Gi z)S-FmjA=i<=btN=yvE~yu>?2<08HcopaP&kAcO&+0O|{doHt?F#%)XA+;!MeLQeSu z0!2}TlpdtOW069ZfZe1Gm|y&F+uLM401N@d-T-zzz~XJ~p?`f}+ zh+HwROZuID^n?8WIR&}up<>AYe{TxU|2Gow4>15t+<5YFK_LLm1c=#yXc#c{xy3I` zyJ6~`YyVTBr)io-T~`vs3XJLnqv(rrz3ci*`k|o`Syb{5h1VmxVO&2fUwz=dS+hTT z= z>m~gp|L|^m3FHS#uF_ORxu##2hRX^v(ESH*-LL-NQvj4G1fckU7zTg>z_Q@$aUde6DmWN0Yq$0ybBQ%0ULza$9Q&gf?vhWVqSywHy(Pr7r@=8u;Ip#RkU zKOqG`vjJES0B=5E{lU7wtthF!eEgVx{I{ZHfp#0vu;3xI9HYVUt@)xuGu$6mW} z?-3)csVY4rY{zral3*hCTsvcHVH)?z_3j~SNk7Rye)1EE=*D%!^3|t*|H7Qr&;IgB ze)vbs{l|6xo2vl)!T@_>P;Q@o&K6g3y9l(!V3{pOqO_q3P=JaecDJF~;_Dr#n&Yzi=eazatQJ zE>V)#55Nx$1O-6n2HKT@XPi0c ziZ$E6es})PL+;stfSzN1vAydEc*|LWumZeJ-^=-iay>1Fk@SlNOWHI4L1HLf3t5x< zW!GI=kO|hG&i{*d^f$)(w^RZ6H43pqfv1;$_D-#&FE3p3%6kt^!^R&N`-|2ei+_Bre{&T8-j51^b_@mu z(4?hzzVP$X%H<1p9nlO2-J@WDzdsNy_UGCHyFS_qBc8728bz*mM=;r;7VU5&>E~%# z?biXXz3`6{`kLJ`(v;CX!-uatE9Y`y_$Rgg==!7H@U{NQDgeJQfO-Lt62!RyRX==g z@$)lontJE*e;qQyVO6!8H1UEKd#EC<k}@0e~`~qr>PiVE_c-r~CQ?)$7-nHFZB)*JvpUuMXta z+<795)Wvw+v0gYv$*Z9pYbMuA`kjvaV_Jqeq-Rbjt@_Z885a+{n#&qC{D|B3i=O@y z5s`R@fr9SEY=DRbpchax=!zdqfBT)KFTJ|`pb=6vmG)opihL|U|UaSf53k3iVsJ-v?Rj-X1 zJ9f&NZ_16ZI6;U?ISEr~I2NM_M7ZBg8$`oAx!!*wa}1m!>F-h?<@rxxjZKaE^bx(a z$A0(R+_iHbgrc8ZpN_w@>W>P2t0{mWEC7@N)&^jSFnnnDbtP46HXYFm%I*09ylV)@ z_MBWkoxBQXn_xDefc;_UKx=%kxrkg(Cf7>(bwvI#4Z|2-*i|*ZE8X_f(Su>+HyB-T z`O*Cc!AI*ami)#Q{^oiBeqMlB9q1V&*5mA=tJZJ*a?z_h$}JtnwL3kTJu$u)>34=j zA~xvg0yj!=4+{pP+j706U&r7dux_T+EhCLx(=V&)!o18$Fcy)Q;M0a5RQPGy57TII z%po_b>5_EKHdG%`Pmmhy;iEv5?mA~(6-p&C{4B2B0} zB^m=szZ9pRr83K$IWk`zf9a*Slzp}3{eWhlK?i;kTK|@K0P(y4%m`q805%S(xo7@g z|8)Jt@i#2m`E4XUty7pEbhl#wr)enP3f^Em7UtqjGU%uC7(%X>^y^ss-vlf zdTYOU;y1tD@WSK2;c-6{{D`Ohg1Y^*nF0s`1jTTGHVz3rvtsL_K|_nid|X_vr-d~Q zCnkBGQm7jA$UA+F9y1UCEm}1t*OM|BNk6xuF2(t$F%r>#JiM1S@4XcZ7u z>GdzB{KWJANxA-_&mA{T@OhDj4wx3CnE??Lgoo_>=Pi4dYTfciZrXQ5?-bUwXdO`W zX=r_b@Tp?hkJ9b&faQ7-H;GbF($8BIn3DX%SW{C(zrLtYTeo532T$L8`3xTOgPV_* zKj^Se!lEBPA#Vu=;HNx9B|uLMVk>d@0zKZ{RkpM`+-1n-eTVh5w6NxMy`eF_Hx1zO ztv3%yQ37u)C)ZP8RniaTKE?S*u~?)@*QXQ}YFoE$Tl47TOQvIFOsv0%_#^0-blOi; z0w2oejWz}_<9s7s5Th4?4>m~hC zhku;XjfO~*eolT@?XtY|y6MxWJy^VI>FfM-A7EvEsXi2ZzXqR4rToPBzcm$rA0B{8 zfc6g%+lhf!P~B_fB~uoD@YlKf8`U14?yZ0WL~hlf9rrut$o&iBIWj!ab5@Wl2Dx6+ zFLn5bS*B^3CcA1#L8!j+Nb#*>hThv)RRxE8au{P`g`ZgE*Q&zbmI{ErH!1)G2C+~G ze?v%c9NLRNx^%-+6USU~^|In4tg^1r&>U=l|M+DKyq=Gn0*lQN1UD9Um8V=Uwp63> zlcaxawyGKYXIWO0ZWw*LWocKR)rHMjvV6f?KfmrN##klK^V5#LAn0u_{H?73g1i7R z9H140VurvRans$m|6%U4kCZm4IUDyJhQ2~hr(yad=CnDV+LvilQM)^ik9Q>3`!>pv z^lKabu?)jV3#;n*0X>;sQ(bc3^r?^U-@4%gF8ILPVEN<4`>k&I{bF~&5TPa4#3CV7 z3|K1=FC+kk0N%im8Gl;w%R8e)9H$4rRh?dBpJoZ<-s=lQU4Fz<#%F$8xu zp?6}5Tu*ePq+hfg#bz&`={DlEWcbIjOvAFQ(D{A3D+9BXhB*t~nz#Is+hKrb8L#Wd zHr^=w@Eff^=JIHME$Xv5|eb8oq3j^0r71!F9OXTvDUALR0*kc-0JD#G6u zAwWFkf->n>D}Y`BfP#n(K#Q?jAlTVsCQZES$=}VqVCbMxJB~E4-4#^~;wep4VF(FP zHUYl9{Z#a|AiX8m2RG4_^ou)2!?H}>Fs$^jrVcI0WrMnCZ0%>;R=@Jl&t5tF@15&8 z1A_2VtB-L$E$)ds%P(GguM>6GTe3dUnjlYrh6A){NW=#~3Ba`)h?mY9HEzP4PdR{&TE}?LB&& z)ig93hQ*i$&4&~v$buGlKCvZ zkU&%fB47v}0o+s1HEN&16Q*8%<+Qsdj2Sg@bXHbY*V0;@9XM9U4j->$x@j69)Q&>1 zrQ6HGeiO*4UckS-x+41B{HB`)o@?^a-*UY>&D$j^adJ;J{lUar%rZdWnZ=+;t$S7` z>zkXw@-tO-_`Axok2h`olCk<2yC(9qTm1UT zQ~-XM162YT7R18{&?CU~ArKhyr+^*w8TkDlUUt#-cZ?l9V(9sO^LzGhWGbtu*IC8! zMpjwhz#1AOrf%9z$E`5<2X>D#=f8j{W-TVHT$suf@L)YQzH9q^mSsguI}lW~kP^yD zPg8O-(^+0tC)P7lV@z+-_mv*ny?)!ytzRs9XLXiclHAwQile^*DRTq?<++jh%S@@WK5D_0G#XGczN- zbCVTfm5n;9(=B$au94L?>8zniXN?gZn7{-+FihvzAyjNBN+{+CqG6d#g+v4xE4YV_ zK0v;A*Sqy2{9DTPr+|J0!2|bQaS}#`5xp3?EQ9^3s6?!!GLEt1!RspniP|x@2eP zbUdaOynd%4k(>rX!Y(9*%)*i2<_ ztjR*mV)czp^~Y;!tICfYJ+$}RvV;5g>^V^J&GvmIo7WZ}`*sfu-mKu*6YL;_ppd4< zZ4@oN=-N|6-w)mQ1NPbk>Rehq=Xe_g)9rqybUQhOD!E7Megkh z*X-B$HQO7cugmo(jed%1DNuW_FbLzDtccOTEVHimXjygX&d-l4mQr0;d9;$T2w3!L z9!`=CvjrY&RX{MYAxDs)i~ae;e^cRZv)q0ns~^t_H)m~Y-kT^a5ETJ>1)`UbjMsqo zzOsLFA^=hpOW$W#wRt-k4N%T zjR7QLhoI;4^9n?P7BdU+1YRnDL_5)OUKfQFF(N-Vo!*FGEK)3k@opb#Jx%uWb*^&f-HGF3*T;po^EfddjLVKm`EA;x$uds zd@{n`K1D-5bv#8KPXUPQ;-UDI$|+~*n=44|iDeQgu|!rrDBe%>zU_%d@>yL9B#Xi) z>p>)P`%{|s9g)eC{Z5H2J}^MC@0HSW z`M+=f*Ezq0Z;RA76r za+MZ0=_kZKEP+dk9gxMsf%CtIfB{(|Ft}kzoCcWg_0Z0SI`6f!XZ$T?hXMEj^pmg@ zTHuNCv$wn%{m_!7%-0SU@PM-*z}Z03_xtk!-w7n5Le`uhk%4SiP=TP_QYxFftJrHB=KIhzJ&q$ov9q)9Gr6{X1pR3TYJ;-oJ;`Kf`kANzGYG4 zm%bYJ@QW`6nlA^rtY{B{_`PclrfYE%)IeLMtL@SsvxLhn7mOJB#Nj&H+ZM(3UI~yw z?+4-WK@qh=S|DhH3!tF1g1E~5byPiC%P-&$~9F-jCpj&uqn@M==tAy8Zj(cNtw1B zsUu^d+Uy`Q3FYQcL=t~&fa(D>wf5qA)j4$DaI>h<86;9EjfLi zGd7Vf$oaYA4H9&82cS~}hB0J#ld>#JP>77^NEHbVf|8FvV@*}(i3DEaDc_T65>VrR zTsU&}ZwnSJ%%=4%e#Ph4`{Hn@w!eqD`r>HvxENM)rGnI7*zNLteLllPP@JiSYyR}l zf@TkBS5Hu}l3*xSzuy{#fK5#sMh?C4vddF_Bt*cOwxICYjc*rxQgM?)Cd&PkJji!S zDVshinVdg!$W{NZ--QSy&v?3UMc$5rD;15DD4HUwfFwzxc!jVYBn$@V66z?UY+`B> zDf{%2tLn(=5P_80&ll!Axv{`q(@2SGQ*@sXfnJZf2Z$h&B(Zmd%R&MNhrtYRLxL9R zfGyf7>Hr&^98c=1-7fc`+z^2=bADa4VAV_c?wWe)?`&7J*f>m{k&1C+9dJ4|lSKIN zA>(;_DVmykP*#2$-o~r2JLB2-v@xWvy0X-LXvHJ_1TvPb%P+s;qUn#%Ri2oa0$C&I z);R*~8|ZLISox#L5+YRzHg4dPFWT|mJ0GxwQB%q7n{}n`gSjCBDYMoVjh&U3KQk+i zF3CtyD%yhZ2aO*r83b_=S3gR$q49bb`^Uj+#CNNvwCdRE5P`Uf%Zl=L?9ZPwE0(%j zf{G+|gD^@!|4C-xspcN3Vo(DUhuhe#uYF|qmOZ5n|K1QHkTiK|(dqxZn}4y@OM7*g zSrCp;4k&$V20q_Q2R96sljYb7x?Wq89ZJLO z{OyI?w`?ppQQJl}RZ+~GyPNtw#^TitFU5hZ1c*Ire{B!uBxz_5aMXHqjB_ZcXb<3L zsZog5Wb7*Mgk&%_CpDgwxk_ByR?Q6&m{+jzHp+ZHAEl`Y4tI@{zwA;{CNj9 z|1=g?S_2sCQ1DT+AEToPrYG1;7m0K}cC7~uT|qW4EuOe9yDn{8nKjoWF!L9AoA&J8 zxAkaM3zJDWdx3;jAH}|`Bm@kOPh0(PYBCzSbgW2=HbDl8`|&0L(!1 z>l_YEGM`lm=%F0Kml3K2ug*aYz^O?f;Oyxs31n(wL>4H$D1gjk`OK%*ZacE?Z<}5% zZ3x%ygq%^w9)Fj=RPQYW6k14*0Eg76<5TIhl}4|o%7h- zx7^K!pE5(0W!Y>UcsOJFkSK)*Q`gyR>p{!55Z2}VY1NOKUJy>Pkol@*zJ0IDp^fxhmynqs#< zmie2lxiiz#XCx*jBmuJ4-_C|Xf=HkqkEf%&=BuiY59~VK{#E6vzE1f&&8elW z`M+=f*Ezq0Z;RA76r za+MZ0=_kZKEP+dk9gxMsf%CtIfB{(|Ft}kzoCcWg_0Z0SI`6f!XZ$T?hXMEj^pmg@ zTHuNCv$wn%{m_!7%-0SU@PM-*z}Z03_xtk!-w7n5Le`uhk%4SiP=TP_QYxFftJrHB=KIhzJ&q$ov9q)9Gr6{X1pR3TYJ;-oJ;`Kf`kANzGYG4 zm%bYJ@QW`6nlA^rtY{B{_`PclrfYE%)IeLMtL@SsvxLhn7mOJB#Nj&H+ZM(3UI~yw z?+4-WK@qh=S|DhH3!tF1g1E~5byPiC%P-&$~9F-jCpj&uqn@M==tAy8Zj(cNtw1B zsUu^d+Uy`Q3FYQcL=t~&fa(D>wf5qA)j4$DaI>h<86;9EjfLi zGd7Vf$oaYA4H9&82cS~}hB0J#ld>#JP>77^NEHbVf|8FvV@*}(i3DEaDc_T65>VrR zTsU&}ZwnSJ%%=4%e#Ph4`{Hn@w!eqD`r>HvxENM)rGnI7*zNLteLllPP@JiSYyR}l zf@TkBS5Hu}l3*xSzuy{#fK5#sMh?C4vddF_Bt*cOwxICYjc*rxQgM?)Cd&PkJji!S zDVshinVdg!$W{NZ--QSy&v?3UMc$5rD;15DD4HUwfFwzxc!jVYBn$@V66z?UY+`B> zDf{%2tLn(=5P_80&ll!Axv{`q(@2SGQ*@sXfnJZf2Z$h&B(Zmd%R&MNhrtYRLxL9R zfGyf7>Hr&^98c=1-7fc`+z^2=bADa4VAV_c?wWe)?`&7J*f>m{k&1C+9dJ4|lSKIN zA>(;_DVmykP*#2$-o~r2JLB2-v@xWvy0X-LXvHJ_1TvPb%P+s;qUn#%Ri2oa0$C&I z);R*~8|ZLISox#L5+YRzHg4dPFWT|mJ0GxwQB%q7n{}n`gSjCBDYMoVjh&U3KQk+i zF3CtyD%yhZ2aO*r83b_=S3gR$q49bb`^Uj+#CNNvwCdRE5P`Uf%Zl=L?9ZPwE0(%j zf{G+|gD^@!|4C-xspcN3Vo(DUhuhe#uYF|qmOZ5n|K1QHkTiK|(dqxZn}4y@OM7*g zSrCp;4k&$V20q_Q2R96sljYb7x?Wq89ZJLO z{OyI?w`?ppQQJl}RZ+~GyPNtw#^TitFU5hZ1c*Ire{B!uBxz_5aMXHqjB_ZcXb<3L zsZog5Wb7*Mgk&%_CpDgwxk_ByR?Q6&m{+jzHp+ZHAEl`Y4tI@{zwA;{CNj9 z|1=g?S_2sCQ1DT+AEToPrYG1;7m0K}cC7~uT|qW4EuOe9yDn{8nKjoWF!L9AoA&J8 zxAkaM3zJDWdx3;jAH}|`Bm@kOPh0(PYBCzSbgW2=HbDl8`|&0L(!1 z>l_YEGM`lm=%F0Kml3K2ug*aYz^O?f;Oyxs31n(wL>4H$D1gjk`OK%*ZacE?Z<}5% zZ3x%ygq%^w9)Fj=RPQYW6k14*0Eg76<5TIhl}4|o%7h- zx7^K!pE5(0W!Y>UcsOJFkSK)*Q`gyR>p{!55Z2}VY1NOKUJy>Pkol@*zJ0IDp^fxhmynqs#< zmie2lxiiz#XCx*jBmuJ4-_C|Xf=HkqkEf%&=BuiY59~VK{#E6vzE1f&&8el~A|(wfp>%_kih#t1NOy@! zcQaC8EdKj^@7M2sw7vFV+jXAjaUAbDHT_M&zwiBn8;`o%`W-xG4e7e0Gu1>vPOmx_GS}I4 zz*MTB$c_$vomT>kZv^POp=>brfM(0S_a0TBzK;K!YpflbB?dg%&k5KVoK-lsm^s_L zw77gZpVKV+Y^E9*s=IIv~}RusJ^U9qeCu-c29Q&mJPWh02IC+Py;-B{_578X8a3h-m9lOI*GS0nM!C9T?z6=n-QdLH zmFthF499o!2d+S`e*~wC$uc`8OeyCb+Ih8Z7%J9pz2b#-clv3z^p&W!VKn7WR+JQm zdoc{LDQD@L2Rm(NePJ|y{)OmCQ~vu}<`=PC@faJ+;;NS6z#9AHPs|5-*7M`TT6zIk zdrei08s}y4#-fi^+-A)ec)sA9LS0M%c7c2jWa8jznr~OceafO+!vwuLd0eMqOrx1V z!6Mw;lXVg8x@4RBI2W5?!7!B08G4#sIXaasv43Z|y^L~v@|b=|heby{LRd@AGr`6> zwx>d$-XEuZ;DxG*$H{Wv;CDt=#^8G@Gwx+C0{mCWTAV!0EP~ zm+Po;JH#HHuL#oU`fHHBE|Tl|me_K_h_K=9C(<8Y=lVF+b@cqKbeUagy%a?w>Aow& zhtK*#Do$xllr+QbW_<^qr8|r~Jj|zv&qoKYs*7Z7ulYyYZj|VAB&NZGZs>k3xN3~< zhTs3S(k_xypC|b4?ZrReY$ZhS73J+#Coz^vpwcNl)PnBDt)t3_jl9E!---j5CL3K^ zZNH9xF^B1>H!6*&oFFwpni1B~(iJ_!(pkcqeAhOVg=)5wnl4Af;JnC)yn8(`T@Xa( zV?H3Zc=$#A%HL};Z*^6%<-JIHbIk}qOjDe4)RvhqW21Z?!glL|xx`~tMuj|tS@-p= zzRW|Eu5!94OrE7&`$_pt(KVx2r=k~cjq>{|Cn1%C_rfexpR(@i|LJ;Bt1MAzS$k=t z4=+C}hp?aT{oIOd!j!E)A9?jK4YqnCFhQ)XOIU6qF-~@QJIKVTzAQP)jyhYc9X+pN zK_AM^w<6kYLl{c_(;tBIB6JcT0x9aKi-vO_LJL-DCVRN}_V}lIrSw}99P7@eH(ab7 zO3fD4`ac^mXFk0-P={2)eF0rfHibpXxHbhiWH|;Ot!%^Z_)emVS0;Vel)gVZs@JXk z;Kw~=UxKzNL9I1K_rVN|k~|z7U=-XvGH5@vH}_11Ir{Y*#|)3Uhh23KOCE3N8;iZw z@05NIa2)35749&{bY-`{BaIabMARLl9|LaG0}YQ=oSmeVuTU|gH}3mMo( zOs8|0HPW2ECJ2hW0XY9O;{05lNJo>rD@Ru}SATOa+VLx=R%MjZyI(fb+3)>&Oom*) zHB%W>Q4RVD!HPOyLt3uvN)s^O`O}0?9ag_|6s#OF$swJq*&}8*XY*w{VXX@fx>n|- zoN}Qs+IZrUYPuu9%w!0O|Jos4lzJSCVL$fE4!FI^m)DbeEU_?w(<(tV|o-Q`%@Z9cKR zrhu zPqs$xd|a?k>4C;bPem@k=23H_iBSQp1_9(6KdCtBLI+D6evE(3vYTwe`qK<`cf}jR z*c40uP$fv#jVBIiRSFCNTmI;BdQgxgXVKgy3=<2a3uX>MqpFqD@owi^y3(%J>gx3er{X`>E^lVZ|8EO!T_nQp_)|q!3iYC?`5^E7|-a--beIxoEe|wXjjx= z69a<=TojO}3ca2)i!9iV`eVTln4tDSDUc#Jyb0lB`Sac~?ydXeXxF8W35`#pqG|t` zxXT1j?MD{HJ8=g2A7a+0vr6N_IF6$UoI-C;F7OjmJ7n+{CK>W1C$7?`%_g^u0;5K) zl^6`p?<&y@nloGdxdjqbd|%7*(8qh!ad^N%aVEZnH&6++)3Ik!xl}Ta{xwuW*a!w3 zSOBfptuKtxr;O7kmAR%xrtGy*eqymdeRhW=RsYcxW=B~j*3-PREsIu`rFqo{3p zNlV>S0j1iH%>5p73N>B~Qf5x@g8)Wd5mXj6bc22pM)MI%Z>j%TAsU~SG_suCX>eIx zyWMC-9`bm#1 zq&r9Wl+%MEKpA5vkG(Ra=Vc!~Rot<$q>%J!#&^KZzwX^LT zzrk7-xq=l?R!i(1{veMowC@QYYe6Qhq{g%`3F^2iKwta#A%e(Ts2Oi445h4tv>}5A zG*)yup|MVEtM|jt8a7jY9`tYo(=x(zQnd0y&RZE{h@M6PJPo%dzU{uN zj=ct(TCh)qCZ+PXIJ|=PIp~JJ_32RY|~2m;}(&Sjr7SP!=*| zgd;}9W9T6^V?w7G#_D>6)=6_u-a{ zjL8-66c);#K{%g<5vA@-4B*fj4ew9?6?IWxpRwW`m=}Vb9oV2n)%mP#^|-QepJqo# z4u>bcd#ZeeR@RK;5A>7i;*V9=O^|_Ic8}AUs55-yJe@c8zr9yw@g9g`U-_O;yX4Z! zIVLxr=-~QSVCpOIarpp{pd$o1AJZZF&s4CNFEA4yKn^;Z~q!cV~- zzgK9(X3xHCB>tS;3WWkbBRuaqE!)l&lkLK5Ein2{lJQP~A9GtUwuutzl_pdg|pEfOvOe!T5FX;$A{w4FyAgcM~teF zH0~cFhL_kk1az_8(@T#8?d$mPqwNzstV?AH%KU1lAf_L3ww$iYtIGQii(13y>Wic8 z*Z(y)jv(GQe7cPH{V+{ji>fGv414QoJiU#gu*!M@GipEFS{_}u8VC3VF`v_O8iMH@%&*T4cgs`_TT0{Jn7EmmmTuF%dR1y zjsj3*T-*Y2Fd2i8^t6j^cPAH)er-IkcDMrobFx}I83G|wSF|{SIr6%e2*@QP{~Fcs zjzhi{;T8w{#k(V`XF=Y#k!F6h>6W`Kd#A0>B=$Vp;QqX6NeYp#qNO%s(yFHKMdz-w z1>3aK7b3pK=;7G*5>s#$NN?~7!%Bk@x!RimS%b!!#kmxPjmEiPTMWdKsG#Q90wy~M zzgFp!fdsfh-;h&k)X~dj#K#|I*xcf}G2tVtQf;KM}%+2Msr?u`yone*&LA zX1PBEXw+7%f8!r90BRD<_`lt~iMn;eDH@90O?g2A3ALA?EQsZ|BOc%SMX`Np57$YA_(us*} zt+$CXo#XAm2|h|gQKiEhEoG!xU=tSKpI<}13wpYH@d34Pxrnl(0BjDw#V#6}I|&f3 zPv%*h0H@VM4;f(@fSPG%t=9BTALh8;-HYIe-0knGCG-q@mKbSjQfU?Hk-!Ey<~4@d zDZW}?;J=R-(oYItt0L_6rPk&#J-QBEE*OVo!x^&$ur!eC0f{MSo$R}DMsY-NbmFQs zJ3CtHg-p6pG-0k{SV^!2+5nZKjNW5)JSczb9fd#`YDK;uH5C^ zUoHQt8s)1zj(^iOAV4<}(Pjrn*naj&rae10l*;~|)V!LLxI^4tx$kq1?q9q$z4GKS z>M}TPTY`R7cQf!>eW7lzha8;xv^!RI3|>$uLeSR)rJ?X?a0bd^&QInu;_ctJYr+^p z597ORKM?r;(jK=_1QJ=N4yqi~w8%&ek%DZUg|d9w;@aa)G2Y^k=<=2C#&DEN>rbPk zcT3^98`26=@QaVb={4sp&e=v%XI@ZOw&$IXP_-r3Zn2MdzAY0roYVjQ>vG(Ukl!JQ zrBHfxE?r*#4bwddDg zn}NPhs@?FyZ(6^OxH8@og)F zNwXJC-FQl;X4#$Q4>j|$w6D6i_gltBN@(snp&5D0jtAYs-;HY$|2{UtvE_gTE{@Mj zIm>_gWm92e{-86n+?CLEoXY>!8}a`t=R;6f)iHxuFZ*6IaO)j4@vib-H5Pt!cbmmW z?_b4auCjp6W84F$+9N4);M{BL^msq)WseCPs%7gSAZ(a-uBDgvPsjAZ?Py1&JJ z13_BISUs1#kr-m`Okz|0oq1DY5r3$GwAc8eBfLAcS~PCzpzX%d3W@^s`Put+pA|N< z#DN9V-I*U8aRK{ZLdkB}g*6n_IH;lAsPU5BG1FP`KCQB)kD_=MH;UsaE9nq!;UL;r zLT)$p5$hq}kva4(d*1^01ia7~Hsk4{Je`Se^v=PlSDYxY;H378d{U3f!5dbl zhV~!>bQ9nRUH1@M+(S0dqW-0#8OzKxamxN1xBnrVxKo?N$1z*_gQ0WH6PnuO`_?R_ zJTdK~5LzRjF`Rk?jXD$FzhHXNXBkeHqeB3{&U%KWU|&$r@nHl$*%wKs1E#4WAy16CIJWpG!7ESH4u# zbk0B64U2BvZ|HypNh0&)k1{|-lt{V37yNb<+}3u9H<}CTcaKy!sPix6)q2@9mJSO~ z|7s%0C}W9WowQX32|0l$Q^hDYffRJe%Pn~KxqF07%)33SIr!0u5uq8g^z7D~2X^C! zE6E~>?H{xm>wlML10J|1*C;a$0sgqd45vbM{1H1jXtwD%k5K9&lJn;@TiV{N@2s|( z)+^xkoPx{#yfpYqfqL`}-v_XRYI56zZAHiO(cotte&Iq)*?bctmmfCyCI^2auCS-! zba@0t1qm$j`t6{+WNgpUeEYktU}zm~-+m7_bX$r7$qS&NuYPY+anj#DxsOcLYQu z>mKK?acQhDnOf{TQ5BYaFwXaVQSDgBKbliKYMyP(9=OJ5Do#&#$k(^fItBN{ zAk7Cr@3WpG+|LX#I5n5RX^7yp{BKv@n*g?nNI7ifa^8bfk@NuxtN+6_v0cCTlq!idPgwd{8KW+)6lJ&|+wm?8ogTPRYa3gJ+yB-GRFiK zBFtMsoky?-{#cLktr6~--mg}FYBaDhychdx5F^_&<}q2MQKBVPc?F2jX3dwc1uAUo z*zO!G*FhUl04wr@qt^0|aQOSfN}Oy}25JraEX(nu1xH|n<$1hhut_h6*!UrJu!@G$ zJfpzv?1f`zC{HY5#q8@(#28EY5p$n?iu&W2YAySwLy5Mtu#4kDq|Gm= z&Poj!kQd~Cz)TMMB6tOs4nh;y5#dsVrRY53!DCcMX^BYgSkT{$n(BmorQYGQ-wsw& zYhk^Uz5aw3b12@ydml>cUUj@G8R+Ws5!|SrJ8S&LU~sG-Spj*eiI9H9um0mF5mc^w z1m8GiFrupS+Yq?^HX8BeIJyzf1MEV8In%qecz-2D~fSd`LuCs6B{B5W~m;g;B1n~%>);$`kU z;-+%aSsN2RjyRRM7`3?g`b2Ba67&Ni>r^xA?#bBerNfu+Hj zabYz<2Rf(;!0c9PkFgg%PjM8=N$sl;$r$|URFvw6bD5YJynn8de@C17liwPZBcEPt z(Of-IFe}Of@AE_(+fT2f1^qK|#u2Z|?Csd;@@>JQGwAEgW7NOu!v` z_xNNWzFwppqs(XVFv!H}Pll_PUDvYGk8ZaosTc*=oQ2H>&f!OKcPZX(^7*m*n;PNx zc$&&B_0w=eo);_6U&~fodI&i$}(mh=OCd=|?JzCyNW2RcgJ`NmnpT9awPXe|9q zL_T7Lhs__pE%S6&HO81Iln5U=J4Rg8FyA30CsGi*-gV6}DD6|jJ#julEHb~nHdnMc z!z{(DQ?a$ivh-#ezP6!FoN=WWQB_(emJf7AuiVG6^@))1F?9-oDOgxk8uS_F%9W)x zuUgl5Hj)<_Rh1AdnBPiOxi4TOejSWgd+=b%91BF(H&Uf~M)ykJeC9265=sIU*{!dbA;^sl?1nQJq!W>TLZs8G= zPys)so!8DMF=LlTuEuf1SmJE&R%<$(0xjnopUg2AFfAh0k7>0mg}6r`4~rqC++>61 zK>mD&JI-g*{uOYl;I#-F4aaH2r$P_xL%)4}l1^88fb)4_Uv-||edPb1JO?vUbh{>= zJn`&w6bCXiJYgfxJ(tdw)*-xN;m5OS2IHjHOCg_W7%(#-6AL!R?12QkugVUE?%+}u zvV`d$lRHjb(5*?#GY*729is~_Csk3rXFq!bXl(?Jc${NX$@i#|>G174xBZ&z6%Oy;ZA^YL2_femc+4h6pB(=L*YMDL3m>Vq%FJ zsX#qKtu*ZP*B;S#o(rTW4N{AAyILHLf7U>s1Ob^{g=Y2v02{u7M12Ws-FG5~szyRI zHljyx&YvzL5~hE_CvP{tEUvQav89MlvlF>bOlEsIhFhYvW08y_+*Q7|_Cc}TAeg5R zK4$+tSiI(seU;oFTu(Wmfg_P`#NAH{hvi?~WNP&o8F?__-?&WLt)yT${(2!FB2VO5p}#r&_^M>m_&Bn@Bq^gw!d4Yx?zT zeCIO6ovM|gdD1R~zAB%N;b1Ln0|JsDV zPG!^ae$~IZ%QXq(WFTCjff_Oui*6+c8r~3ufmreL^r7&hfnoeULMiK8qjJ&hIa~bK zM9Jd0cmK2sug)@-&#$n%o#*PDye{twY!YA^;$!hfoJR8})I^w-3($`(d?~*hEke)$ zk)lQ z5_vW`@qC~4&i)FJJWtrSTy9D|kl$oi-3@~7*-bGOT*Up4jOQ*p79&)`RGdzweG~k? zWO+Wim`%#d3z5QTr00vKz!O6SPrr~sE4i`{`cgNt7e}_p{te>#0tviyQ^>!f&O@|v+ zP%Kivfq)2H3RHU53@|YhiTdamvBlwIL3+vSEr3)*3X1xpo zSl+O&*`IzuG2a63i)`l&4{k1!5Al&%r`=aBb$XGmRR}+{Cxhw`mQO5G+=>yUHbj_1 zg8U7omwwZU7?sAGt;bYAZ^8YD?>Yb?$SjvSlNvA{xU@Vb-0T^l5@-v%P^AE7N0Uh^ zg^KGIS4~R^sdGj;Ha+x(%bW8N^f}#rB~QeRz5*4wh3X#nTc#lYKnpO(*iVZYv(AVz<&Ns0{Q#sW#-1~n z3Vh(j0Ya{A5V55%!ZC55S3XvtcAa4J9Wfi>#Ja8Coc1Bo=c&j%aDsT;=;-mIwOVmLcfaQB`qi}MTPSNcb| z$5E|!Q?fi|%p~J^=YsGT8*$12A=9M#Rs9*<#RS<$2Al>GZ$gnD@V(Z66@d-j(s1*Z z_eV3{m$V1!#DbI%^+;Q2+K=>U0Z$^;s3O&5s?8498|X;cg(~&y2$pcZJ0-2X;3Kk4 zJOxL}xiqDw|BL^orNT9A&vVvRsdo!6d)Tmi?b&7Ezwc}zYn8y(skS^tnz-kdCWDGaL3F(zOBpNtvr09;ha$$JHTD(?r#-)FQ(dY@ZD0t zn3KU)Lan!ONBQW%?b2U0@xMT1+4jfbu>_FjJ)8(@qbU8`R~r!jG*rH@0RMgLNId)F z5knl$_(*yMg1e{Q`hDh&g|lPT0K0#@fE&{m@Q}i|>h5T98Mu@a(81UbSCMu)`FNJN zm}Yh-_^78GvwA_-m?7O)?xUlhc{+svjy6946SSVm2djToDMfpP?qEz5qlrL)V zWr4Ke0HE83kY7#qC58?m1g64Aee_50^O8|>$u8)VUpNX@(da;*_Qsz>W8@O8Rrlmx zPmZV`Q`kI|1dCup#%;K)+m` z=kKXkYJ`WJI5B;w!8IWEh~UozumLy1_7FBB$eicNr(*M{`;yVgJ3~Hxlw*AMw|``w zle>lUaPwpJMJsPIALcExrJ+Rs>3j-URU3!P>JSx^(zmR==)DMkw4-xzhXIeN!BcC< z^lb7>H=qtakMj7}sX^>CtQrn~Mq(%Sma~^6q}ei&_qp~WeEyaxtPl4x8}+?bWenx{ z{8O$Pjt%B5jL=zpOoxBim@Hd&zutR^)uNod4nMW2SdF$GZA ziU=~`41b8nXhGkjwh*4u$)`MhdO;Ml>mb0#AHI>0f$2*Tmy)LEVR-EP=Mw(Wn2EVC zEc9tOllpaRh=*9^KU|97VIJ(D_iKzw2qq*Ao(wBS)Tw4UVW)j|{VuJac}(-Qj}sRg z2_~ALe!-Di32O5RaGDzPH$ewMkXqY3>UYP;-sK4VG72GCH5~F}M!{EeE_+mX48GVIrGn#k5G15~yxw}ndZ*7GEu2Qknj@(n zCV*>k%P-8FKc347id6maui_E;3VlQqFF!R|LJPaMIDj0!%rFdh=0TEyx<4xrR=?@h z6Ll=OU65FORVvck4Dp)Z$3y1nCmBzh@tx~DWuW%B>H5w6jCF=?inPJBl&oHhtyarg`%gKb%X@+rbc`QovRd7|+^dD|!9YFVb=!VVb5{2cw1;MS#kl6;G#C6HJgZhD=09MKT*$9dbHT&424 z^KFLtmd<$aN$lp?S544$YG84v7qxRnSU5>vc+ibab}ccXFsPr&^Eya>PZ94EuEY0C z$3yq$UVma#P>TRTx>(08+>n-@DRUEZnC!qW>Cn{-K2-SsDy_K+!BGpfdY;%GI-Nnm zck%BDC||NrDW&Fa3a8m0jP-xT)zFFvKfZZF3J)|B3*I+uv=yC}>!a-dp1p}0L5{d8iYt~zZW^8B(MIayG7`YYI)qH8vcDD&qjC@gQ(|cqoQ)Z3tUzrF zcXCbCPl~bY)YJs(dZa~6I*CWJB=zmQWrx6J@$p6Yw5}yCz-J+yo?UMZadWuB*L>VK zJSW3Y<>UI9jy%(DM&@R}8i_gNohPq)ah@h~L3Oyc{zbmr!=65}8&YVCuYjgVMoj6b zu~=8rkQtCc3jw6u`R~gO#EL)Ba~jpP5xS8<`{~O=lRd16Z@FmMZq-pRYtZu{1komjQiK8M24METdl&Jp~Hkj4mZ*_s7v zd`6j~#itEEh_AjK+JFN1rEs-cAa4|co~-F`WaF=e*QWC2hsL-6?zluaa$=K=l*#FN z&(0FhFg5r2O&WicTs(*nz=q)Xp8;V;5@Pn(NT>XVCW6#`7jC4$ySattoUO9fwOhP` zN16-S-VPF-fc#(3gXyXnVK+S?K=%i+a%p2_>Xhhtj@o&Pz`m?>IbBe^@Z>_*sng4c z3-4)7D{Js+FhBH{WSigNrh_*}Y?yrEHIcmil#m?}T!`Xl5Z8M1bb`TL_vH8TEzve=tii=gG6qE`D;rC@J=fuZ3sdN zO-9=Vwq*b^a~1sMqO-3%Y)b2fPb$heB4YFuH=zy)l_xhK$)-O|2Ia}2V!0Uck$<1U zFZ4bLbf((M7}tcKjuc&}nkJalGUDa2>F3g!4-e3l&*g8_<^Mj5S49z5LqPctZ%`#{ z)1bu^3!WnJB;}%$sCXhR1k7IYd8n=$@_F3ZZCemMyW=D~;Wq=}`s+Vx>eK~ef6?pT zQe&Y}GGEkdw@)(38h$fwZf5)0h#CuOG-x80Npx@=uFf|ojUUPT)%&uB>#xs>eIE7N z7~4HZ6$(I{(l`-e!@}>w=|DP6!90Ij?1OQY8zb-m7X+@c?YtF(=lh~x>s-Q=8S(Xz#8p?}wop)n5+6HO*lb4OA^^=j_YcEroK3lyFT%ad|A!I8>gJKP=zyi0uHt zn@4?HpaORn6IHaICv73tZ;>ni?)Pdtl#MhZ94x#weC2HqWSv=lAk!_1O0*PYgpC3D z7U%XB#DQg$dS%#NeY_D7yVo@@V&;%JWjnPhG=srj15`e{9Wp`xK`sShti)8 zT<6FBhofr0^`_zOtzFe2=IbotCQ#q9JU@RjKQ7&WG#`>{+@=Uc6W588L$6jzE`>Ri zr7Ypfc3_)k)nEJYq$7gQeqM6lfq(LI?N*F$B1Mk>Js0l}bkS^tWUQsv8%27BP16v$ z|4LNafaGZL8!qb!>kubPfvp7x{@z4)Akt$xxaDj(Imebga7h5@1p&!G?-XD%0G={O z24rocbfJJrcb<_X2swCJ^%U@5;cKLK=;I0x{2+VFTexbKXHft!oH87@=BABY#!b}4 zaH%p6@wr;PoAL9zj-_BN7*2_Hxuv7D3}1%dj|g5%SoONvmp8-VUGffb!C=o5>QOX% ztxi}ayqTKcy~;tJ8dm+k<-AJhJ0MzpJ07)^RNT{7U=7KWnQb6$&)>dDwklnm)S0ju zGNkNob5aJOUGkAbe5L+noU$q18$}xwTifPXpvSUIg6HIYC`Q;g+}EB6>oHKsvM9yJ z?SGi}PdXqx=uEx~JfUv54oEn0GsV&l{45J9DpER9u|4FI!kK{p2I5&G&xL}$n@!NK zo_@%Tc(miuwTS+C_~+POCtTge>v*TaR9-uyUQPdsh-uX*IoJ@Ujp6^tY2ojJ8?3nv zv6dxjQy3v);P2O#i0`Lri8=#Jn2Q$`L?tftSLYg|TD7R2h+j-G zJ@Ff?1>tiOmJtyr&YF6l97axU5PhL69EBoE~U5L?yN`9I2kBk#elF2BK zHHp5WKhZjkHG`OzFw zU9=TJgrg|9Oga4qJyF4BW1H(J2s0SJxAbT;-hhR=GfLB1BO2c~k{Mvr(A`YHqB=6yl0|ehg`jr8BXg&mRgjB(1 zG)sVGYhphRah!I1Yku!-v_;*E4#z_OIutc}L~Lo+OOhylt3f*qH`uCKf zT7yc+gNMB5?ofVz*+tjoHEc_QI*#vcz^t3r^&K5TU5q|fgwuM&6Hk-y;8XX#ivGm` z;-8R(4Pw&tkk5wFVu0x z#PT~gL!Z6ytLu2?>L)rxEE6xeR=1A4B=_I2i4Y@l`K?XXeL*DT()$(r$7s6_&ONi0%G(kS4U4DDsrW|UrC>S?kTfQY!0uPXZ? z92@B0OyC4xRv#|L67G^kgt9Kf$?9|nHa&SK$pdVJ&wD{tL?tSZUOyh!6Zpvx4XIwY z0)SEeao{tfxB51)tqUr*LruEjtjq~{eCbuds+ZM^`LmkFfugdy@p3wHs|O=`Hk^&` zs{~)?lTWF;ad5`^p00FPByZF^FY*o5MjZI~y+ew7a+A0cSv@M$@Z=0BahO;4_0^CL zG5BOO>T~H`qHI~(mWr_a!6u4mMp$cU2Lm~7B-lZ{7*O*HOiI2)OWdS`@dAr)QqoXH zVBlP-T7URrU-jMi!Q(ob4jiiHDg4Dp9DM9N*oeXQ+dK`)N&$?eFJcL?;L|H9=gH?r zGFGRb8TuAHQs5RcpL4`4_Ad|HTL?>DCK~*InAPM7?gY4xz#;*REC;K#5*BO;8IJ;2 znRvKrTEEPqu0f->K*-_;FLisKf+Eia1<*7!vFo98q32Eeg!DU><31<2F&2I-O=KLa zy?Xm~LVPJ-AL1s7!zF5vaC?ebMtSykT6rCAFksO8Sj^+N!!>!Y#aG z%>jE*ihW@BbUT9{FlIej-{fyVU$(M|;3Av&%S?BO(EH?N1m2A3<(Mg~4Yp z%MjmL8pz(~!ta9?)zR7h05kMI85uvQfnW2R0X@6=@u;h1Kx5`}D3jE}o(|MJobu95_){_>9Y7w|0E^vu#MS?3vc+XR-}m;( zmOrr7D{7WtxoFFcdZ)-l-*1X#>j5VdHYw{2SFTS|3PpQrBAhqL+CtmYkR-!4jnrd> z5#mrC;_JuGTH;UGD@r9*8|{Oy0|{{;=5JR>{6=l)Dw=NKep3_vb#mC3R?Nc~j#3Ww z_TKdIU`i?uVHSZj$y@%p@F8j1tTWeG0w+V_xio!t2u{d{5xiR;`p*2m)BdYxRWox4Gr!trL{X#^}o~QXglF{ zz|v6P*OEabcV|Q3C9%{i*YdajLgZsH{sk5tEs)~F^cphsgMc{a0t;$2Tdar#af%fP zrCL1rVMbiz)M;#sXT?f5#9l+1-!=eEOvcqE zNM=$JY!`&i0RN32#&sL9SAE>`1hZIy*<14}?~Zc3^tf3_?4FK$;%vm|7GA*^OBmyP zcP{OAQ-@Hvc^4~EuB}7t2E}pyi&1)6>YFo#+Ip17J>!pQ1m)X4r0$g-Bsrvwf4Ox& zJM5aGg{9<@0AX8jFAZ?<`=n5|wmt3vwf4>17=XQ$_QwMbjmk%9gGm|bxsKzi)2~%E{@IGl}Q=7@2 zJn)5I{@tWO;lF;C$WH*u#YoWlK&+Gu*nAJXz~n91?ELtG@>h7<^ZxS@d*c|n6!Um> z>G(BKzk-#flowM~G)cu5QLn}YYF-y;6e7mC`402+#Qx{W@~03w3IIEj9`GVZOq9W{ z@hq8$4gq~VC^_|)f|{qg0}cCLWPl~{c&ATYO##P{Rm!SA+=^{KI!GdSyr4s6S`YH} zAH+R6$@riT5w1EvJR)5uu?eFuBL{;S;{B>yU;@&eJohJFnIeP!;{z!}k!1_+|g&wLa* z=))rty8FwNcr{)DME!{rN0s_X`v4qk%w!$z@_IO)N^I#EpP+GoT_W6)LvdA-GL~{I zhkWn3(oop~wj}T7LIBT2d2v1N@?NP zp{E3g;Wt#@qgC0r#4gkJ+t?PEe+nGrKdCN3slZDg$X+dXe;(u4>PB#&%-zI9H!WqRxn^!;E5tG`kdb{sw; z`omAiP^kG1zD>r#7~iJ!9TvyZ{E@5m++h4~fGu;zs| zeARZI=qaziK@hP98IOuY)xD2hNOzCkMm=;zuv>9-_J3p8ZQj!m0jr^mi5Qtb! zaQH{*=9~jg8qW^oa(H^~Bg0PtK$_RMq`ctRap||0jla|MQ^RWiLJwX2T7>ils`k|4 zbJfd!t?%OWJhS0NPf}dWU!T1d4OwDZ2YkiRt6tM7#~2B~AoOKVko*U5W3$c>%-~EV z+=cL`Dk=aCa~=}mi`4k>*^c`eiOYjV%HUxJdMbKZyn_GP?67r$9gAQjTTV8TYzw1HJwqG5X`8owN+wb@2 z{EUVUMng;Aff*N$^)s(}Z3yN-!et&vg^5kQe1`6J8Qxy#tB2!CIJSPhi<%F)L)<=E z{8e2}4|q|tkS3lDJ1pLZiA3nVPf_P_f5|iX2Eb}woe^b3{h1{UK{LpqY6d!byjaZJ z&HDjn@t2_aTP<*!O6D!9Rh|09!O-Bh3&@!S?R&XBoAQe%Jz^0~mdHQ%99~jo+LCuS z6~e-V_QmL!X(y28rBs9F^rnBvVP=UA4>@2H9CfA->&BJN9%Q|TzJCW1dIuiRi*zit z?MnY_pmX?!z7zS?1=)2P{S@qVE(@IBv^64KFMXeat7)dPdy+!5#IP>NVF(%w%$#ip@U7-|Jn~Z*r}ELr$V}3zWUZ0 zn5O{Ph}S&Hz)h-9^y@Y=3XD3~&qE^t}uo3fyeC(G~FD+mmr+c2_=@Dh{ zjn(vztImdXeuV%uv6*G{#lv3L^D3V?z$m|MFyYzPw$?jm%gv9M(62)1?YJW(xVOv| zZ7#fBesVA7t-&v39A|LokPdR4aIxf>aQfjDU@kByw;iM_XP$o%NlwBxCJvg~8{L!imlcZG*9h&KW3HO!&!0W`RYZM(>VP0J+oI#I@I3Tp&a3ZP+~B}709g| zd#W7YqDNv#+rCIMPM=8rb;|$C0`Q^bPp+$#)-%75)EAhUg=R%x?QOX6s^;4bIR%Bg z*K?S{-Zz;v+F(#NKKZ-BklcJrkHZg-+%4p{O%;X2`>l4PL9%N3~KD026xk^E$qAn^J%zeY^J=GQq z1^soa_ZjyW-_L#v>K~0Ttso1FEP|y_TBD`Fl+&Mwt!D|H&on5P zthkQ;dOmz`g@u14*lrt9@=fgR%1f(KryQB{19`TM7R)8z7`@d$uyNx5qvD`iNGqar2uL#nN_R;&0@9*%4UL3!cXu}oGynN~@B8~iIFzM0cS#UF$}TV+bjkzf^POkrfy4auJQm7{e{!eXQ|;m z)1zh{bKBI!^`z3#X5-7b4yqejcKgutAUnY&!s!R z$&UuV><-oq3PCaypWI~M`%W%oeBe6{-DWM85N?L1YmQrJRQ`s!^a_6OJw^}zjA|vk zr|!){ku`ChzUysteI1t+d2zwX_#*H>ulfpj`wECui(UyZ^lGS|hzYQFvR4(g0k;9B z0%8*w`F{LzE*~m!@a^dbUr`iP^F8Borh2{M>#Bhw@XpiMlT=9x@g6_KG5#9kcf4*X zb&Mni{)Byj*WWQa;dkMQTLBO-$Of@k49^p8{qn+thp4^+$gK zlm5x`Bn4JGKyp7QsLQ|BcJEuv zj&+YLjS~OV!?yp}Vb~rl|8ouL$)e(YGzKS_>uzb0=$*q+UX%ZP8{^mzbmf_`u?vJs zYo7an$v)v)0&f=VM#4$Zje+bb!k`?Zr16ckZLFH{NUVmO<<#fb7@N9eUyjg-ffoLD z$n|*aG4wB=5jx?|#G)#Sn_@T_B=@G0Pkg)x#TiW?`H{8hktNEro@22#?HI>-a%al8 z0uzP>2Kt`C){n4hKFQmHV8vqaYP?vJ#JN8^gHFh-q;s6-Nz&#|9~0D*olJ9yWvXX; zW?JaRxUFq_5V#X!FqrA5AG<$w5gy7M`Gw%JHm+tOHd+GBny?F0S#X#KH}5a1lWxD` z%f69>$0*Q@WvxL%lutt#_y&nY*}j56irYaju_5N&QL+b75E*kyI7t^u&Mz!ri8nzu z=6Ew+aU2VS=s7X&D*;2S;Naku?!zVvi|KKJ=Iyst1C|yAX{?hYM@raeJ5F{5nQf`YRRyABX@=jEPBN32q>EeS!-{4D?X~&>@Eibfs3Gv~2TKZO zT^s=&4#a%J!eJsRHE?TGKft%zqI>w2XP~&QfBEM6O=tO5DI@M_lm!;IyjA>QJZeLL zQM<>NPM2#bOon5$nYlq`W;rQti#jV}#WfEKSrOEpP_%w{GtmWg)kFHBvgG=!S(4S{ z>|WE2eaB#D?>y0<+ z_%|MBL2p<95$;l8LJWTPI}NNYYiZ4B+*V5GZ_~($9z_6%kB^?oY^UMyUUevwF~>Kj3vHEEnwp9{W<`fSPVYt8HChp`Z7EoGZ%czxso_3meydmklr zkm~hZ$w|&*Wfd5O z{XXY@R?5QjS{NQlS&&ZMpiXewV>Np9erlF^URBhn&}wn?{9dcow5&D(oie)7GQi~u zfcs+r%_P7Qk@g~PaiUQ@G8C&9inuz1i!GHaJAlaC8strXxc`Ml*2MStZg|bj)NJ{? z&HOWd*&A`klm8;t;Vo_ii44^gb0ZTSow0?0Q|F56=qD5DCQPw+3SS8$iI*(2CfbH} zwoCs}G*hH8{}9twAZLV;IMB&oRB{h@LF0#2kp=9OM1L$VvO}esad`@NRT;3K2VFYC8N|*1QgpHxzMKNL0c{h;}sk+7XwMGA@SdI@a&7X(Fn6Z?g ziiiMJo_n((M?3{F#PiTR)s#oAxl+{#@SBd*-=w*HdDw&i?kL_Pi$LWull+vm3Ro=+{-h zxH&}rdiD+sbP-q|7UkV0+=AA{N&nMfS&-==h$ngAat+!YTa8W#lwbOE$8V(R(5&v> zrqC*NUP)9^G*(ePWL}R$+HNiQlrP{lQDLf$f5mq6z`xahHT6&3X>%|!g%+4=_ypRD zU}@Q00PG&*3<%6s-PDWMGTrB*DhTbZ9HDBasr--i$J{?ilJ5_MVTnX}*>CzrA9*E& zkDX}tiTvrT?)>+aotOk|=E6+5h>8&>)vpX3UnCh~)=PA`fMZM91cvW0YXnGm+r8#r z`>cp6Nc+e%YJQ<^Sr7cO}x8Q?tCOLY3d4J+Gk8{|(oZ!D<)Tb$@k?Uq5>E$I3!Wi$vQ0 zSVLguLBcSKfHiZUQmHkZF(d4%w}uaC_sL?D@ac4O(e_nL1{nBy4+6kCFmLoQMH;0O zfx20)ClZJO2(6OsJq>yVsZl;&D_CS8Qj!AGFCk0cDqg?z%>1s+p*m`7&WlY*p5FJK zk)q$S#UkcX{yyAtC531kqOvVNBdq<+H<#mTs6tNi5d3LFJ@3AgFQ(L63ygmd@mPe{ zNV5N$weLyK-|qt=ZIlqSH6Jf~a~~7Z1yz;ByNg5M>T_^i#jrbLkfwB{@(mr{r%+odwu@1m)@<8Cgtag z_*hIw{17kCq9(Foxn2|}L+wYri%Mmu+X+ah6OU*Hd1YFiPu>C@I`vZGo81stR~wFV1ie zyw8-KQ$VRxRBXj7hd<*z1&vII?WC_%M2A-yXfT8w3h1aKj~WigC_p(X604u-Eox|- zl>s0NyyIl}YZX<)YQOnKhHGtBw)Je&bq1Hm?#}wHqXu2Nl60|2S9z z$=cyJ>4R6s=I1AvBOam0Ws*I+!v%K+BGhY)*wh{y7WQrcQ~mwN9q6u{swjVmUhVTn zRcHJ|tpdoKZI8uqw}F27<3-d($>-L4&RIK^SyI)@yUAh1*c>CsP6?>mKAuzi1BPf| z75`@#6=6Eri>YHmE5*@auGFeIJWq7>^g-+ zV-e&wiIe=O&i}H3=1rIqyc=>%I}H_%#Qd72h)c?1k$8b9Sihp4?Ez)hZ|C0bKB)6` zL3>Ztbz3zhqi>w1&Y6$ZM(0ujI5TNIcSb+0cH{VC624Ncdv@I(QsJaD2`EaXu?D|- z57ir}tbr~$I-?btZgkA~Chcq_BE4JJ$5b4G2NWc};sIhG&{IIio#(*L0H4of(Ok4Q zN;dIc+<>riV-d6neRsCYQDqiEhVygsmT1K)jI&ioE0^RuvzJW9pH&W;LHZFXL(+%a z?#sQFmJf9SDnazjJ=_^+F3*wV1wyW;{Q9A16g?x!e#d%;!%f<2j;51{BVDBkzzkKz zv^~oAtF6nZN@I=`8{^$W>Ar%Nj92&h-@AHSS|FEB}Jcgq+%s@L_Hv0qUcYN`bs9jM#3NZ@(G_@cA|yAM-}g-?gQD zpa15w<1KCSEV~pYKpH2*QN*ec;juo>alb}O_Y@O@C&<6*{Dt#K*l_?wv=sT5gQxYT zh>ac@9*#Hc*fo~$c5R(Y>EqXDH*&bQtXj|BPI3(Kv-kg>VNREMXO#>GOfcsWPoge!(Q!vgX5q(Jszgt4Lf z3i(W9gt%S_TlIs(3dihIOa{c|rJV9aEdd-*GZCn$BpqV@X5){Wv2zU4X*ZA=RPd(R4x^2F(eBLrLu6i; zzt-Uy`KbBvZt?QU=2jOpO#+?YM#RbXz=en;oNXwiYZ~Zl z5vRuRGKK;#Q`q|K>y`)n{!B+QxWobT`aGy$ehPwOUv8|LIKOcKMrg=DDWB2yHl*tV zYclvVATZ&-u(_;S!wb!Rz2gpoRi<=@#L7_zZp|w#N)()2!r@JjTn}MhLsy;*|9|xF zmUA$^=I8y4;Yz?CrcS(xeLvxeDH#<0!gZF%(7RX!I&yv{enc8Cf1wf_cEhhrhMuS} zyn1jf7(1tAS4AoAF!xw=uRTJmQ0>`{bGSjHtbMi2G{58_%eSWU*$&cIG0$U<42cwC z?3=Cahrfyw04&L%wH9DQ8InK;g3|+P081SP(~;zEcxjZ$wvV9;919S_q;)LY`junO zz^YIih(!Y)$kmsPhn%Z;Gbo~RGIqjkU2?vo=@%=0kmyZ9*2^j!l?#K*3zKcxR&om+6?PFr zrTT~98i>oozIHkd3R;HIlCYN5m9dACd)_=L*>H(WpNlfV9W~Fbu7mrxISBe^1_Db0sU^JKr@ZIs#A`csFU_+6ArXU7pGas`!Xq_plseVSOze zyDvTSBh|5iqaq-7z2J~G=0P~6v+PQ=XJmaE>7IMPN)P1F0xv}+L1**Yb(n8f9WJRX zo#bwfHGZ58-xNIpR&J4T6+}?fv2yK0W^^d9qU|WkiMA!-zO^B&2%mUvT{YlUOz04z zU+FE&0KHf}L1;Gkyg#vdI43=;luJl6w{a~_`)%!i;V%k2-MweIQyGYe_V0prLBlcV zkIGW?P72I=h+hrf{tiabeBCM}##P~Ue zPVvl5)1gJX>&2i&k_S2v&_E6$dN{YyCl%NPEZo|IpSE=hl|!+9$nj&raPu)RQ!LaD ze>)*U>N?wtOtDp%YG3Nztyc>Wk;byh5wY7zNlkHcd3svMFsCj5fP|WBAKAD+`gw!e@+wd2jKJ#%5I*qG*#oQ%0q?hPayk zM;x#sbdF=#7Bt5sH#urnX&suMH;yi zLOUg2DYkKamSQ_~rLj(Su9wVb&PRqnVE{D7Rjb0wL9f>5GsbcVfD%=;U_>|BACk{W zEbWG{qk5HWp~Smdc;mP%Sf$K-pAJge?f=&}psSn7R)ze6E$*UGt#|UN@Ba^`WX6gg z6Wy)9`}hQ@^>VskJrsGV!@_Nv5MAnYg|`XqVaXJGHyMvzf7oLVIaa@(4#iY#s`7V8 zN7dsUWJChet*2}9*BG+tjsVL!YJsi)2lPxBl|Btvg8+X&7b4>gPt&TPZ1b6G!ZPp8 z`_=mVn2Qc%>uF4f(G9WN+q9ERZTaKk2hMkr)&Ai4ML+2{(q zhEo9AS{YGKxfrj+L}SB{Eyt8P!Q{rPMG|$ zYt;pn6YRB_>!ap+JIVvN5qD;w>Yf_A)+}{~M0fr<&Hg2a4HCdYkH%fdP+07O5_xC~ z=^y7AIo5|{-gxSKXe!1~6zz_++e+$Tw>n14ktR#`ZvTRGR8|$V)+TvKty}Y-Z$*c!Cu~ZV&1iZy z?Q5AJdLujIagG!*Y#`157}l zDf-jg4BaZhkQys*DjPMQ^g(C}@qVm2_KDVXdQqF0a!!KhsAg4qofb{L=30q8n@+pM5k)`BWh?*mdSds%PPk%lgcP6 zxIdY0IZj||Klj#~1h$G^K*GjKFvlEo#{H~FOrFPsHBs4K z;FbFHPr_?|k{W3O2nWW&7%9XC_*cI|q5aD!7h2EKc(*Sfz_pSPD_Fu<9r!bJ6+da5MC@;1S zO|JI^T{A}J0D3MN(peYH)?by*r`1)|j=hK3?{FyJhPEY~367e(bC#@*Td*WukW8hY zD*dC?Z4?=$rqM` zMmYBa!+VZ%?P&yRuW2PtZrTDVG#7yR#*iQnE_sx7gOa-|D|fAA59RWGmggUc!Q=-w zGL4$;-xneU124~A@pq`$N0)z)oMuy>o_Y`w^b`Hf9(kI(A+#&2-*)30=uM;*g#25` zXSkH~#Q=K)=Zk!ydxIepO_D=pC-Sc{RH2c;@^111LObOFo9aIHljcKLLnn=BoXH|j=G>gT2Y@n`7n1f5(&p)GqT zPkh;mtr~nppf{)4@ZLekhdpL&2aUJZs#Ggi*-*xmN!&NzkLNqHKO?S&4>4zYUIQo{ zJ1Y3A2*B5t-B21VuvQK}$!TvVAG}_`!UYo@O?9imh!Jyv{!FfmkRDZ(jg5cm*RIwS!kVx;rHgCafMgVI_3mxr%`nCp z8oZJaW0!`;c4&WYyojlL)WVt^h%S2C?r-%iq*g9*RvhgZuZD5(g|JR0p#N$q(aDn& z8DMe<=KGkKZ$eS$c_(Jm2nqMVH`k>*vKeu(z?Hr1{kiWH@nF1iGVPE5 zop0}3%Y&E4U*@AHE7S%zP53XBNii?PNg(0M&3JF!4-8K2#E?@#wl@BXpO(qcj?r*a z)i1?;`ku~tdzm*RAe9N4$PNCT@zq!2(d)bX$n%hFh8C4Y!7lC0#1U~=+29B8O=9tAUp$iN@O&P!m zRI6nKve*wnl$7|JdqVh`AV&UmTUe++g;)j;Brt~}wtk&8C$H(*(6KJ|ahl4pY@eK3 z0L3X&NFwHRrw(v_pev|IF!eJ{yI5*(2tyRAfi|T4`mPLPa;l6 z`v1=h5TCHr=DbNR#6YKvj-zgacfR?OtqH}qd2hzdH%_XjuS74K;GhSvkV32H5^Pl3 zd~76-+)F-uI&y@SM&=eF?Zl`+W({P68O0!=)VAaDmt@vDf7C%h&s31}zuRQ^l^WKZf~D`e2-JZ( ze8-&GFaB|*AoCMbEky(~(JM8i-MG^BNi4EdtF_y@$6~1ZP5pg^vBj`!om_=w)cj+b z`8H>=oG~1WH(v7jq>xt_2{+6`Ffr5#Sb!wD+oQzpi~mESWoB4<0A0D z{MSDh^?}l;)hEdHc=_S7Fu=Dz0yr6h5h~0Q8*;gA+(;y`Nm#ycp2LEYSXqCI^Bv{G zjqKcIMd6h{K6}s^a*1?R7;x?eGP9M>*@HRnd|+gP!Av((h0LeWOr#Y0_g*GUl%0+i z#>U}w41SX32{vm+wKZD>Z9@hca+xPhAK?s!>$DL|Wh?rxOXClB1g-*^Dr zM;Bh*3!i^ybM6lZCTKp#G23GTW4!WUw3_f-jW2C;JLN%nK0Np;9)N5@X`9bU}aR9TT&l|L~KG@zsJ z4{uE`sV{Ly1ovYDF0Y{D)f&P_vuu2Lf)H3`v#g1Xil%PXGnuv_K9nJO47rDB?dk zit_WQ`%Hz{QD>a+u~U4T#h&m1muh1iQYYY_$vA33#!8sma0Kk!TiJ@WsY|O%bl94O zH_LADh2gtn@&NEj9do5X%Tc5Z`xjxA5vHO0pG81cAnTt0;OlGtdhknLoP5h4eOAy$ zQaneZ$Z7pI-G9^HuE1=wnN5!!DBl*`Vm)BC2)vMYQ*Pixwd72Mp^zecDWzoKG;^#j zG>=u56s7i?dq@6^dSpdd33W2HVzSL=Izu=t{lH=0bS=BU1u52V{e11u44b6}Y2O1m zCKblTtj(xP{bSkLH0bey#Wxn~U-@z>(@_EE)iEHn2z`qgen_eCfb_!|)i4>tZJ5IIaSPWwJhmJ2ZK?ovFeG3K#QiP?$S zWhjS*A~{ezpJEYs4WobXLS3ueASzJbyqg#~vCRKY_BzxV{fYoVnf>pkvnUk7LR}Lz zoX7GejQL*{8-xT9!3Qi1XGA|m6D6%OI$!Kpe4G0Ih=zeXw0pcUX?W(tM2ozU35#Jj z^A>%YthKkB;9K+{A~SwesWK%L&5_ZgfSgfl1bq1X=7qR7)nB(gXe%39&HCuM(JtHh zuh$7?f6r4%qdoNfoZc-0_+*T^qPT>UBRGKr^H5!VhZs9?v^M_pNYii8ymO#Qr8D#O z`>(f>%(_g|oEU*MxT`sD7j7j3BAbqog7zkzq0WbxFWMf5hL~B5UFW$7B1%W^NyxvW zb2I!K1Im=1!X3FJMv48vf!t4_UQ)>0{c}<_LOeIZPFs57E(w41W`!2pVAz~U1?-@W z%EES*2lgAz9#(v;&@Rt5)mI+Kg*Dl%bMu)c%=sptm4^8?bYUXe5kro-7V|V5P{~66 z<-9$*|AYsi-yICV#&F;QIU^`GUfDGw=Yz1K_Nx~PX6xDB0oECo1rZx|?4UIQ(*lEa zXX^ok4KgQdLg~ZWcZVIY+y&B3s^>qQ$x%^L0Q}e7?VAJkPPShEx9&sk`t#{&$S(o> zpTWe?^XJnj=LmpAC^#E2%F6?mK3%70O=^lgT?F*e4+q-JWpqZQSHMgZgb7dAWE~#_ zSH^$n{gQ)+Kij%L@n4YxjXKT+2DD2Y$806*SA@dQpd#8tm$T%`O_6O16dB5eDQ%(y~;yghl7k)era68uT-E!v(fr5Em@p|S@^L8>_D(O!dPmtL=~UhUk-Q~ zS3TG5(JeuH6*iLK`(7(mMI(I79de(YHObuXFu~~r?KyJ~g>xJ($VJSRgo3XIVw;tb z_H0sdNuG=;9-6FM0JT+VU6b}seV?L+=#2oSS8G3u?D*Pti*KkA(JnB~=G#et<;e`w z?-@y$9;(2FpcBI&*zO|~qw~W2YG{6RNal<7R#Y6_1oT~+p|dIrDNg8lXN?@5<$DoX za*2Y}Fl4Aq7qlaUyiM9W7J*evK6{jLkv+iO9(y1?(smYRz&qG(Dvrd7Bt8gq8wazB zkOO5R|4~=awO?#Mwk|MO0n0oNNLcp85)j7853*f`E_9l2YxkRg98+>+qov)MRXl~! zs#_?7;s^F%Sbg}pb|-e4xe9e2lmkm!MG!swMB)`ysUf9>xnI-D^>X=UY&ePaF{|{c zKN9H_){+79%U-?Eew%olr}&OuJaoZY(QMTWLN&pMmdZq!bc(~pxhZgN)6ZPZ6&X5T7}ww zDIH`;?;iz>?O|1*%Io`r?yZ|IkBdJlHc7}Q!;7zP*LDFzq>{BW>@1ANWvlBullIXgz6l5~AP7V6U1Hi>G`c3*?=05{gR#E+Z&m`jOkPZ&P zx$i3Pn6Inf2m};)>b$jGGZOxQ*EtUme4}~or+JPOQHh?s1~J&>xQRmR3yB^MfAgP0 zA^&49>OlmOH-^oLPFAulde>1n4bl2$C7-?&0y4E^Wx)ig)|eltLs&BZ!D*dt1uh8n z5L>b?-6_@HxX0ifl<8#RQBnPRYj%7UP5KsfgL202?@)?|AZ2B@v5}w~Ei`Ot*wy*{ zBZXLGs_b2eRJy~^^O<>Z+~Fl;Wvrv=DqaNp9Uy&)n!P8MQ0o^uhPu0_WPJJ}_B*xe zDT_MxTMkuHIYx@W4JQzlQg_q2=IH&AblYp4$R`Q{9q$3ouN-nGkU)4f9NaXpwfMK8 zsHt@Cz6I?;^DJGe*h^is^7c{=$vmp4sJr*dK7p>?r+?-Fe*oY-V7(f$u0b8LgTk4;9Xs|G~PTGAzeeMIi&nN2{_JyC2A-Cb5|s4(WDO zS>q}Kb&mkxrToyP6I@0mBc@xO7=D!{$EAwPB;|o;A2?6=b0&Q9Cm!jr<(CZ;a)w0i zkM~|4>^6P`0O^B6&mSZ!l47P~`2~eYz5FHd-|VOqtln=IB)d@auDKf7-$tb;U0>T2 zP*cgVKQoCHrpwe|o75nS1Rz92;c4-lAvN(mTvkEtgMegK%!|8e!F}?LXNA}do==0P zKIp6H#=!aOOk%=LQm3d119P?u?w_bHb^En_eQoVWQ5Qz|65&Kkldc6mQ%7t^6k~RP zbr1??+c*MEXf_PPuytwo-ZqLlJqyJs6m|Y?2aDYb42a=XnGj=09`tK+@SvyAp@mVG zrKu&7WfJE?2Rp+G<1;QH$WV1p6Wi+->iZNAe4P#Vo@Fzc{}JCp(P~TJT`$Dc9m^Xh z_}3OljH-$ekMkYJ{`U7L0OXw>J@ZUK?K9~|12Hm0#*J^0%lIg26y6tAl@`nCR?Yo; zOO~eZjiVmycN7mTGQJ|c2XjyVyXq1X(lP`?bQ*|3Ae#gx2+3`O;>xn~30nr|fB{}G ztRwXM;d0JDQ>5BK-NoX}lvOrTeATjK?F)Q>F1S7|l-&9BvUuO>I;n+!&;L)WIY?0Md7k?H@pp-V?Hn5@#q+rB z5~{DEoRQ&crS+eUO4`GGmg}cS?@lj5UO6st-%Xcnr;3&n56fP1)mF4pqz3y%epoy> zivYO7`lCB`G>L+AE?XE4ay?!t$(UEEyXM7L3YNNoh3E3X0Xo-Iw0wClW2a)+>Q5v` zmyZMf_E9Sp6;D6$HeZ9b<+9z9Y;&x&d4A^Af&1$)Ciz~Jk8Pgz0 ziZg&VeRi7{7RM;Yip9zKB`C+*Hdyk@{EDv5*^I*uX*$^DWo`-efxg9JhL+7ie?w=_ z50*J#zY04m4)iAWqV1>EjrQ}XO5Or}I6zQ^iL~OQ?t0F~T-N0AyKZ?mMbujO*Bhs5 z%Ky5qg!CUCX-Gi=P$`x4S;#R&TrWTG60maCcuNKHZ+)#(D%ta;xp+usgJKVPEJ-<^ z35GmJ#5%g^;fJ<88)c9CI(KkAen+mLa=~AiZMv_5pnmxzUN(T2{5k@?YMGTm`uZbA z*&PWa2y*rpPP9qm$;oet;Ag|>A)rm~Xwh-$gZ-=abD>*wm`4vOG+vUTZh2Y%W-qVA zAz2?fTf$PyMLoB|e5zazJC!dpsQO0++IaKD;F|_+bT1q81?tVD5QCM)jqx3ZV#iFN zgBc7Y4mIXLM^nPkjVjNoj=ywKLGldig?8h1i3U_Brr59nOvXN{gFh2B)KBSg!)W8D$xk1P zw@BPhSL=+SdU5?4qIJ)m<^(LZiqV+{K4`>Mk^UqR6@InZze8V_Y(NchEU3%>igLnu|6?K8-S0MIyY#qLF_K5{fHF zPWz6LpZ1mc@wFus!Y08 zInp_taxXjI*3>_FbrGW$07fvtx=;It+9ue7YMchuZ?avMpo52FI(;X%VH$}aAoB<_~v0Jd3juNVY&lQl7Ry&0`ydDw)Bnri46hiy%axPPYg=K(tgexX zLQ}fUIQp?N(a27c-Q}=Z=FSnp-!+eh5tokn&~0xk-+NTW;P(Lzc<@)*#h=^QQr{U+ zZ_8T?bs1@g?ubF32P=8;`1zBs=J`fJVbtv|5o9)gZJqQ=B#y{%9DFuL%QYJ!|VdAi)5HjrLE*gkxyur)5hwnzH!V0q2n)nac0V*87Aj zMtTTJ(ilJGN3@Uu{{rHk2NZL?{}t*W@b)nVArc-S{#aqZHy1)l8X@#S5#`MCDCFvZ zF0U3`s2*`0Vz z(cCW#*T^KJ>#E#G_y;C|u`=)(?6^N8@g~jL^Ew@;4wx=hWg{7r%%|PMXc+Pr?C;U#z^&)F%>_B9>jXoco6i zwA}>1AcGapB=9OT%;N4rj%%cBd&N^Wz z2L-t^Y68y$udDj)!xX=lQO2;xD3@vcWIOctG*nv$%hS&qLf9K3{Op zT`loSacTnq!`dxTp&iXyo2_#+;a*tF8$g`vWG*3^&)rYb26 z13(EZ~e zf$doLHPZIIK~#SuD6bK-gX-79ao*)nUwL_KC^CSiASW&ig{l5HH->p90db4)x-Juv zl2<$XiEoJSBQBE~DN|lYM*}^VzK+OG5`I_{QmYtxZv0PTgV5^XR8aBA=GO z(+`>EU(#q`Kpx4Le^Pt#(SBP)la1cN`dCwxkW~q{m`^sPI%Xn05fTi;*cZoK9B77>>|fbkS>w}qBo%u)`F(F8NUSglDt(<; zeYy%Y{uy(`O9H@kfruECd~c+UhS4!R#T0Xg?$M|PX2eB=af&JimGj}@LcB9}z)a-I zBlGb)F>+ibGeu|?e%Q9l$=XXz@il102?95JW7rATQ#^|On+qf57*y%<&1@et%w{O5 zXOBAj_0+P5{w)AJ0?k|(RJw^w7S*(`mL-5mu@>;K@R{0*1sD~EA|?*R>BK%eA6c4P zJ1g*i!?gAT*+>e$ZIffay9cqKX6Fm})yHlO$J39YV->N;8g{=0$Svbv-9wU6|I{U2 zyXLcgyZ%zBG?cR%W0MS2Y&tRObwZ08i_+wh6@%!x1Sn!UXoP3j{-FC4?MQLlrL)-l1fuiu9@zXCAz<}xDlG>)?n zLiHE1OGKvU1%KRS1uaN1ALr#gV!FrB98>wz+7 zq=K2_kBafg`h3;qX21K_CMfVo5qKY-j1VH1CU1Vh;(12;uZvAKVavxKV-1Rap~gt; z=Jmn#MVrF{+UCaZ+(;fJZaaA{zkD%o$^_)x<`76}-JB#b8aMtx9?B?zRW|%7z$;ECA_zj^f?(n0300`Z%$B zbkia`rhJjCjpm0it+3t-bCW(-&$x(DdXh_&ei4%hPD)K2)l1iNL_v@Fm;r(FnMyY% z*ZwC`V)pbxAXvg}Jiu~my?lb_uWO43rdbg-lAQpt+|7Hcs*Z*~Aaz?Q*z<*6pdWdM zpaxU^2f3la`X*Pi)g0&cQuL#U0au;h`9{+1sKcfXro?s&YRT(Djd|Cw%?kb!BoXz! zwlFgMTPU&8;66r;v5BBci}~6P-nm*JuKA$e!P+23IX@Tn+bz}F;Xf#(s#aL4_ujB5MS6qL}aL zZAPAJuOxuF6|gXe2VXeNS5N%2G+K@xyuA+D;b+m&89|>a=V-G5|C$_{n$w0?{C-Zh zhyQ1REpL{7IbzT5iAfss;uSqm1DpXVuH_*JA-3P>E+oX>%wQ7HWGEYcEqYaVoy@r3 z%lvym=05#lAnOzAF(`8A#jSCs3KR5W@7<7JS_c3*`NJ&xXG^$%69iT{#wM)cGru|y z|Em3vP+{%oqn?S2HQat{Ir$788#zUA?!zD~Zm zgl74BwK^?U_Je^zsm=LJ6$TIGUP)|#98XkW+&DzeKGv|1>8H}C& z*|ggDslDsPPX3H4;CK5YcZ#T%SX4?gEf&qIDZ-(WVsSzm!s2}_b(X>DGF*Ws&1s@@ zA=B|(4sunF*M)>n^r&owg1$Y}QO(z^#9sS~rh*c8yMN}P3OMOA)mWn_?vO z)w0^@3McZ8k>qFAnq_xay_F2JS0MVkebWC(WBjGrGb&DTB1E>Q($X6GGY?YQ;0t?`D3&LS)rBx zlQpV@&~8LEC7LZ_T!3{trN{!{wY_cpKQ91Q<^vsbw9Ncem5*7kLqU_UOasuQkYKWvsYU<%XDoMsowmFIt74Wj81&et@4S$&nCes z9C2|qHr6eyrRl+(*llr5GK(*#Ax@3R6@}=#kvqP{w7_rk*gN$*S!&CfKKf^QCK2uXrR!pEk|Vzg{G*X`!$+p_U`}1cS2PP!;Is zu%!y1tl;oSY)Ur@Ui;&}@AqqU4rT;{9gIT+|M)$LW&ZkoI)@&A!VOC|m8baUpCtEc zjp$7{-8-VA+KiCiH8qs6n;`oKLiDXwU+^9(s-T;@sLTEi0QIZO>wpD%c~v&Lpnl+F zHMrPSPGZ4J6`zxO5JoIpy8Qe3g<^_anT#^dwQX%!s`7jL-Q)PW)STF1c5yMn7uiZe zKUj3eLv38=Mr2y>$LC8mESC+F1K$VlQqW8iMs5;)Aiy?M^IVBo$fy1Eh?X7 zhz*Bl@Q=BvBndFzNNXzls|3}kX#zobC-`{6uDCzDJkXA}SK^Rg{K|oqs z5TrpudImv2I;0yE5b16PDUk;0lt#L9X8z~;-uLg>Je${?Ip=fM-uu1QrXZqrVEBoe z+#9LNA9=`bq7`LTKxrqs&4`Ez`um7Ufh+bD5%z?!sm|RZ{rZN@^m0A$ECx$2r#Qff ztS18mWiIN>1WjuWZX})Sn}DAqMH(qqS*g6PaUrq=AE|}Xp*wC?L$a>}y)P{}d4+?r zaVQgO-(`(Qd!PKPd>0^Nt@cAs^c%-_Zs7t3`XQ!YG}Gm}nZtM6-~*PNghWQO)Z~x^ z^z^pPXAT{;Adb4gv1=tn0<;TJw_b})eRJHa%{`xB0}{H>J{--|SDO8HL6pLf4ud+R z*>?X~#J*^PfC6#f89&pE)pON7=?`mGK|Y zNf0SQGg%*TKETXKO#S}x+SAY+x++y&>k(o52j_;GF}NpomBW#CUk%$#)y>%pEgw3k zD9g%P9tf;au3ml2B^^*r8da%t6*Xt4G=0xf>P+#Jt6XQa`|A%yr&+9vHn~_8jmyI@ zOj6+ctKWAH(g!8(=oC^G{ZP$OcuN`?lKU6BIQ=M?WC#Cnqe-5+X;I-W{#Smx*y0ii zY4V2A2ppV`*Wt2m@^3Vr*AiLSY9)|<%#8mV-QfB3yitwKbc)nqx?mBLAJINmzb`cP z5_Gk*;C*HB`s?4GA?-WKH`k0`LM=yqm&aD)>qT;3>BC;WnP~$5*Z;0tq=)QJ6A}~O zWy0xRB-fg6ulW3#D(LwAFO&!m&yc3v_K;qu6FATb(W13T+|eZs@<7CAtfve%^(>f{voL|5Kc3KToRFV^{nyU)q<9FO z*?#wnAHK0mm5{5JK%D|wTRgmhU&ul*CZb)@+N_`m6SEL)J&Q0gYARB1MfWCS?U$Gk z7)%xb6c8SzD4a`TK{nwUK*`ggucq9rU&3b~0EbmPqxrLUK0oi`+^Lye-IDU1$&c#{{KL3ytti-6;2pwqIC09dg%!8HbGU{i^6K1y1!_nzdRiAC~1m{zDt5!uz?6a|Mr>w+g~@1W7zo5_4|uTp*;+M*HoV8 z*#*4u_6NEgerN(j#dDzeV8H1Iv)jW#F`Jq!a|oa;h0mUX6UD9CU>(LJMhQ{=bHkzV zT{&J}t#GF)2Ko2Yid<=i2%u~uB~v4K&rQVst1V^#^7Y{01F>>lKDvHe@pe-?Mq3ZFYskT; zCy7GIJq?s7TV0pLKddjT&)=DtiXDb*7yF1QljA_Oy3JkX6h)TF*JJm;pD_Sc0BR3@ zHK6Zn+Ft$yK;0E!Ykk{OvvDB`0Nu=#M%1x*N2$wkQU}q`7jGmV2+yVYn$DX)V|6p9 z^h2CpJIG4*@5PXv$!i@Kr8Wa9ERSLM`%__Q|G1i}@UDAHv|5G?@u2=+D>#2vsB|#I zm3BXoF+G3(FA(Y6=7*w+2EJ_JKeuQ{4J%<~ULeXY2Hg%4?$qdfFVeD@ zBzl7Oqcgp|G5U43tHh!E`S-Q8TS#E-g%+NvHN512hp3|Q+Kq6AO>um&_Fa?DoCe(2 z<6zde{k{^=Fg2`!NvGrkR%2hVw!ii9MITA~dJ*P40?2W7sFxeO1o+GEHXm3`NiGc+ ztgXAzGi^O>;t2F#Y=uY5%H3>{_&IF z=OR^wioNv7|F4fVlcocWwYnAsYOH`4?p(XJAD_%G8Kf$?efoIhO7dgseD$c^NfFCb z4%mqo)00>5h62r&{u@V|z16=+&p8scDz^?{E9MiyTMF1o@N^3xt0zIf6oknwD# z>M3=E`l-k3r30AymuM<~HZWnvS$?E`)5h*F+m?xduCJWFn zb(X&Uwb>KLvir1&KdL)asJpLMO~uU;Z?4y!*vjx>2;Hf&zxEMR*W2yS#h;6AR9a<6 zJyzeiyhdCw{^Y%W+WPVa{+Li{RPx_hUn%RtFIkUCn;|MD**~vRc z%F8UM#xy5J{vE^~$8ulZFR{5a6w!J;^X#D#{r-Y2g4kp{>4BX-_7t8iluv;A-K(eW zY;Q0+VL1WdMD%$@cb9KK3xj5y-6cekUv7=)pO_3Ry4-!c2Hf%8%%Bdc7-jbInzA`~ zi+>PFddhC{{Y^V((#ls$o18k?s4^|$&BJ8EknZO2&yQw+DsPeM?LpK=%mgESfEyEb3>JefJB}R0=?4@G}mzC%4n+Yll#S24NR$%1*WA`(BmMIHqlR^zFT^NA|L`1K+zP zHjZKpa|7&k;yo1U=)&*vFj3Gyfv(WGPynBo#0b6rlTP50i}nv6F@Kxh`#4gHhX=OH z&PA#0dqWxn<#i;~6h#w14n<3!->T_g`*&Y`_k72(!xU1$(vac-`C^EJf&zLta!+{; zNegs-zC67yI!pa)^A{7hSX%VXuIHIe3y})zpO1?zftj6xf1EY8tJT}QSX;%qenJ=n zy8ae$JQA*`1WS6c>AJ0p(*p`p5r~i+5j+msQPFGi%!E`U+&m!(p-pdvE zuOYks{pOxM$8j%G&P|tcFOe|ItBvUbi?Lnnd0*t1HuM7a{875o@EjW)m%f6}_rI<> zhWtatpzgy#t&X@mZ4dSfd2lQiMIezR=RbLgEv{~&y9{{-6!b~ASZjZxPZg=z3CVH8 zpxWtB>tAM&jfp~G(J!6lhzqH@_Dc?arUK5?@5ImUw4l#>nQV`AE9uj~5~BIKFx#YW z4(MmctvIgK9Z%cQbHBKX061gB&giY+@|Q%eeqNrAwo`oJkXB8U>VbsL&@BFDMk{<{ zsJJ5p1AYJ6))f1PmgL%936ckBEoaI@BouRU`9G&760-W(;j^})pHUO?=}6Yiva^?E zPPd+`Og?b(5Itl>zJ~(IPpW=T;j*8#;69D?HQ~|>^EShy*2Qg%lV9ugaXI{~vRsm| zX)dQ-!qKi|Yl@hUVdJG;Qx-|c0G{p`-LTf$DKxdp${X0zOGA|0KR}*%6OrX&ntfs z=>I#3CsE@i47sV}G|>)>$^5`|o@o~25ri8#*NDl%S+T1&RO?)| zfHyBI84^}>Hqh~Ooe+4Lrw`cq{B=ed*QeC-{N6S|dSqGW~A=N8(C z#i?Po`FgJqML)Ac``5!b*Vk8Tingtg(gWRJuItfT2b-$*go}RDg8KHwgJ&2n?jL?< zF*Embm^5{9BbcUe4pRS&ZUqR)>>98O`3ulS!dtS0~V8bB%OeOrvY$nPW#lFH5xBa9Ru~ zi(2y?tmFL6`kGbbQ{7CGqILM#ekFYWXy<4z+nW{; zfVM=FKt*F<4}$)Kh=m8VPyrvCPUIalQpD&BV^?Ecy7)u}KIVE3l#XM16g`vpg?X-{ zh!vO)x<9i?vmVI!F`BZCl*GdOFH{JSkBCG^3Mhexc?a8A)^L}}K+a4N6^^lMg>(iG zooVbFirb(P_>6VPVSm)Zg^>72d73Pj{C*NH$cTCcjk?1!g+2Fh@cL({BR(9GrsjJa zZeoKNNDrC5M>bFJ7%wZA1`jAmW&*stCTb>oXiUzzPQNt|-&_q2HeN~QbfF@L zu{L-CHSJ8_pVMTwtQibsnnX~dPFC1T_Cf5uYmIOWF^lr-4XZiD{b#otFl*X1*^;E(V&$6#t;+kag1O}{MPqnZyhU{H7O-Y02Ii5= zmcs86lA{|}m2RD1DTIL&ALZaS9xjjl^n$$GN)A-_AOrYf2kJ4qvRltt`0W_|@ClWp zh$#Cg*@S=Xu?aw}_>j`Sf8Z_u)!lQ95@-UywM(s`#W!9oYpLdi=ysf3;HPu^4^B!u zn46VwA~IC;lL1R#243@vFOKi1UnMx!SeE1FaQbFV*25k^*}1Og@Lm(9pqc6Q+qi!_ zyK=g9VgKGd1zED}{55}#BeoZJ2ArSg`}PtzU5;kw(!>{)R7>M1$Z34Z|Gh-1FPo_t z-?G`qnC2M|;NUE=X^d7!{t9>>9-Qlln_O zkg>TV5%Z6p`9l;!gk0KCnXkE?`SNl}en*3t{ulDi7Yh(m0(Zbk!eIBH+AHlVxq;tH zuwL9L%Fqpoufnt0-NOO5bdhA%S_{*pCR3RlvLbKR{L1A>QU@s#DiI;3SwK$fr(uX@ z#$({k+-GfEXKi5@DTZ=A+967prdz9`$WQ1GPN?_`=I{t9+7*%;b~aN7PTfPWbmR@H z=qDy9b#5jM2va>3a*74}2^2`~E8pIJHnGP8lN#kOIO6Uv}FP7c)tcxi4N z;V>44_Zi?_vI(S!0}hntsWp%)0^}WF_W>{!n5^4Rh!e&CTc8T!0K=~@?;WFxMtx#? zjTHBH$ZEHk2{24VbOpS;^k4C}MQh?xDF@`W-zR_L;l=e=sWENYpZj+`$f^C`jf?ns zY7>X7OXDi`Ael10p{`n3D00f!V56tbDOX}=@zrfYSK9%z6Vksafzz3MBb;3Q|Y;*=kE`avJOq7JTJTGr`&A)8WS!c!c@Q^rwv zhL$&woTMe?TB&oTM6b%@|2OhVfF7u!d!JyE_-Sa;LhQ@E=^Ot-iy6~$?U_~Gr0<3$ z2=?B;^Om+6!3`L6g#-PMp{Q+b4vRNDe|PV~gQO)bHso(st2fz@k|E-2$9jw0RmJ)x z7&3a7c2<`4*%RrE# zmk=x)->Fg7ILypqtTnfs%1BT4!q@f7d;o!Gk1P==HO&OGSCM3Gm*B&)!E1gbob#&R zjzfWeez8gxTc%!Q))~1eX2uedY-t6pf}-;xz8Hi8x8a z2d8s~VYe?&>ra)saNs=mC?8#D0y%zTpj(UA) zl>YgB(TQ5?Qn?21gustuduHBGfd|$mz?mnVoI+Gg9EWixIjn>W`8Uh4C`*J2d)la2 z=|7KJesprH82yQa-r5KVPJ>NZ9*4F;v%Uy0eC*`*Vt$F!l?{6zEt+$-7gYg{vo>$R zX2V&ADu&BP8Th!*_x0n(J+#f7Jwk+ytfM*KC+N7)UTQ<4pz`erdB91hZ;swWPHTI)~SLq=aT#CJmyFt=eh~e^2|!W&r^y9o~L+DhUC7(~g_Z zKuj&2@w}rlau?i!-;u$KmkQIv2p~fX~hh zc$7TwahW)+d&+~$ezK!%Kz;7|IkGB_$n@Cv6qvF~nz9hs#bWs@?G z#Q%(H_hl)U!4UtOJr8uE4-C(EwVRr()gp&tz%_meEayaETkL%76TBI7E`-@b*%eCT zdGFm#B`4J#M3kChJszzLSi1H+b33y8ptfrED(r63ZjvWOsq?7)n@6P&Ux%8g|Nrog zx*phASAO0xUyRds7Gxt__m-(R?RDn4+@`zX=bmuJoeF&bd7i{A4b3UaSe;j`&rFYb zhb64}Rx#2>NW3>6X^78;)W}8vljk&==2U6nj&{K-A53Y>5}b6thXhXw*?EOwB)r40 zetrtaHVK@?{!)aD37DDM>(IAE?l2Nv{^DcCfXhtZTw5B|YAPHL3HKqhfhT-7He0g+ zL~|3(Xu0&V^p%M=v1)7fqIgeA4<`7ZsC5e+sPLQ7sfP)ki*C%yf9k=(Rf zNN2QvCfv3<6Pn1iK`W)jK7^B z?Jh^^{d$Cw6PSv3MNdRWQQP_{! z*XjDFr>`l1BP&PmIp2{^%c+f?kT{**!|fk0J1g?u@D^TCDDSF>qEK;W4SDaK;WHsD zui?xU6zKcF^IJM=-e;J+OO7%q7rNT$luX+BshDs%Ulg6$zn?6U^D&IWe#pLQI9OyZ zee^urXKK@tRYu~QxGWXd*_I0U+ymr#h93Afbx;YMwv)0otx*fk)H5*Ml(w|*Rrjv@ z{cYkUruCRJA;EdxYW969Vkxw(-HhVP^Wj(JJl8jT{}p?iQOrsF8sALYZPsGeuP>a3 zmYbGJI*brzQL{;@<|K9;0B<+uF&~l%Jd0zMf!9Xqj=*vqq-l;_XX+WLxJ8hENV9}x z2L=Ah$C!f%{eb{1@2Xlk6<9(4uaY$%euY#%G~mx6l?ph`#Mh+P;4m>^5;YgjLR<1V z1<;~QGR^q28Nm+B^z2wm-qZtVuIVlggH^) zfa_95z?Mm_l0{2+td*6m@l;39_)l>CwOdXl`;>4K)`wz+C>==1xK?;k&-&o^-R0rb4~^ zIuAU9<{VC2&>ZHQvug^rQU<7j2v8>hNQ9!uaYr`YD=EQK_*gT{@#cQlI^F%w*~JV7 zN`l8E(;Cw9qxd*F)*Z@x6|V^>hjX8Qq7e3WW|z?uz7-}5&EKh1v-<&=a248S{Er`MxX zHXk6WIJ(wy5ATyXy5m2%U13n2(tl=ufBXMffSeCC=ASTcX=VOlAl>Gn4S%{oe4 zP9N34eX!1&ulS4_(o$1GXlsEdkss)iiHZH}6MY)fbrieq$>sSI_i3{k_Aoz)?YjTz z6W5#7BFA+5Aw1zx!#mk?5I{0Xiw@O6_oSk@wA5RfECx`0JZmXQpIl9qxcjsHEe}gL zS+*>jy$lTTHDv0upsF$O(slF`9S`htn3CR)yCnBVu5%v{jKYmOsjxGIa(NUW8jF&u z^8R=_{ACo57yF84pjgLc?}D|{V2PgJ?%#bLz1c4I4Ste}XGm+DhMPhwD~c5+Mx_gKRmU>%S}*IRDDl62Eoyar#Wk)@A`JO+U;`h zagOR&o&cO^m2m`MFtmN_Q^R9)caj zyjAzQt+e~^L;J4ydAaK{E?G%h4+qeSPRsLx$hj&Ob5YXo&mt3sWLZNWWJiG;a}61T_zI2#)bLz zgm$A)Y&81^(SH)Z{poSKudS1)j&%I(UI2PH<2LCZbrm|l;mG%bU3Y@;UfgLa;I~;6cFtf=OL9Chx5C13&%6-T!Tmio@`+p@$#R z+Cz-T;yauJE*MP_$I5>m4kL&DEqslR!{3u-^)`L zrd{R1UBiZzs-VLSxelDdybd}NcT^4$QA4lYEb;22lDxZ>Y;%tpKClL1rT(KcNja&| zjX#`V&0c;q$r}H8!G7|}9osMs@D(8jVyw2_6{-ECXYD;(YNhJ?ZL3<;CnqLX#AH>$ zf%@-tF~hqIUI*r1fSi#LJ9L>^#w+5;K@mPyO~Lm1N_N0#I=B?(u;v`+XDys`kPsnf zuJT@nP4nFc%f~RHE6dcMiFK~394u8kw*E#gdn8ob^8X_xm+)(p_~UMUpQs90Q9lLuc&E@H3GyEJX+h2NhtpD?6XE zqbeh5B+LRR?4*O65N~KCjt~u@lFyEafPh9G^_|eZd!uk!T!TOhZC%R7KtZSL{Y+Ke zYF@eDV;@#r|IL%8pgN$yMb$Xaj|&J&W3zM}9mn-fFJ{DnpMk$fS0MdC74ul5M?3Ks z7MK-l2g^lx4Ee8kF0HMC@zOOqt z@Y?P5`2F+Cz)2rkJ$cMhzD0sR9Kn4fb!4W6v1B*ba>HwH@FtOvy&)_%P(d0JEo;ym zqb-Aex+{v!0S6C$5TLFuO6(ld>+;I$r=*DFE-ORsHZCFtPr3c}#Z=yOR^Sb0ByqWZ z`c_sG{1--)>|>%-A|C$N7KCH1!k;|{QxeVcRdI5xnx1-raj_DboFHg?!cpAUm(74{ z&I0kzzr4EGS7>Tt3I8V&b2s|F2IPw_&axZ>Ku%3_a%#AbjU>|exq^OO(S3?pSb={} z3xDOMRWAJqNrz9^{aS1DsqzB+A2=%fiqsxtPU+PAipft2)#hN&Kl_YT_vFA-uf@^H zCtw7kWAjgat6f++7e`h@k&mYhJa)xI52nx14Zt5xDp_kTOEB< zYFGTzM)reXUF5%CM|lJmrpO;tog_hXw5tdcKiL%f)cLbpx6x}S^-%ryVVHm>(8%S+ z@#K^*A)nVL?sg`SaMSC!Z@c={dg2xwa$VgBi1VE~vi)=pa3SMovYydRqnxv*gDm>O z(s3>~k5h2oO#(G_sp5bhh53lMWsz@#FIBYE&btz?Vdj#9w~5#%%T~T?fhz>qla5B< zFO)n|_~vffbR3^O{7WevF7O|ZY~1b4fCD;H*#3*cYNZezg~T)1G30Qd#cEHu#E-5aY{FX84Io4{^GVU>}TwA zC?yxdR|!MRlCqG};|89v+0NedwfEgJPl-MRW=?<1O}3?zQ^i3_!nkyjZk7TYLw6(G zhGYTf^Jt^z8V_I-d-^AWUhFOzuZ$*0;!k-WcEk~ z#@X0dyR0D6%Q=w$lchrDI(XNil@F^UPIg{h+HS&yD=ftL4McLBF6UmU1Hy`} z*n;=rK*opRVm&?B$dY{~-WJ~ji*Cdn;=g%98R4VB;iE1499dzqf8^G}@q2K{P#sh& zMJ5o6FhYr9vLtYRCOW#bIVv4kP&9^j2gQXUa^_igzXy6b#YkGo@6h56HkE6*qRZ{^ ztR=oyZhXsZxJV|;Z+e^b_|xPBY}eUj?gPgCtS!Bazg!DdT7s7o^9`U*JfM?awrTjl zW6jn;znN7{y>nBdh=4Nj_IW8Q<0#_s-D&%VB|Jz~x~CNT)dm8JQVlMH-%6(!ufi^e zhk!63Yi$Xd^zobnO_wD?2q@jbhKVgMIbB(@Rr4px)#m=aKA0zAsnyh`$%5Dl!ptE^ zU#IJp3G})IJ~9fbN3FabIiP^I2cwJx|yJE0L@1cX7lPNB_;*!&pmc*4x4SBD*w;ZxCj-0VqIL0iKXxn|bb~j77u~Jw(}xBl!ILFj`HEL__)263$lZH9kauVoT<$ruympp!%3l(r z?84yFYeo;sw_6==-(8Kj{DF)nDm*V>ytS$YqI!}@26o2u{`KgGS$WR}otdJzG*MYh0%lvp~wUfleH}})sqy3bgG9e>gy>ZHy3M*yn9gum@OfY1R`L*Dw-!XkH76jv>w~_(q%Tw?Xf~IPu*2Pal6%yrj-G z-pwaU+^9*iLb>mRs;30c1F&2)?4=suR0_Ga#0Bd!vjy@}6#FxNhZJ)?ZBlXRkJ(o& zuuk*l=VHRCvBIdGwK27Od0?C12qrlyq$|*b{xO3UEwe(TkHZuKu8z4c!q+bXhc_B~ z1Xt=2R9Wr1H_qomH*d=;5m9fMfr`g~odV1LOf+oKja>FHu-jlb8na#vfr&FJP-q^# zE++rM;fwg+1+gBp^`FB(La#>q)JW$_C<%L0*@;rzvJ;}`7sjLC>F?24B8 z`{QICnwoDk?g0mo$e4Sv13F23z@v+3UG>uOOaheZ5^c-D{KcDg*ldMkEE{?!aBS=( z!;*3K*Fvg;kwtLM$Th`(VwWP0ERyc=aK}!Cz@831@U6TCdoE!@({MS{D*Ne zG>7%|Z6D8u%j7+@ncN4{U@q7weba^Z{ammJ$nf1PE&v;-K`@y#J>H^U7k^iN4517} zx7DyGp?7bgn=&#Z8Y8c8HR@PAX^KunOAo$LgHKiHJAyFmbM0F$gax(BdPMtk(EdY~ z!-Qu&S$H%sZghBgz^3AHqPCS*a6dy*8-1bu8DI>a{OMph`!$iUu+MQiDs@3MEBDSn-O2Nn1`Z%Ew=5Z~gg`tHcrrBw$I1khK>iFE-ijXq^SMTE#f7PTGd}_Ch9A;=Aza$dWf*TQU(l|*kOR; z!rVlVhH136hT*$)>|iG%m_KbgWR{Yko0Wd8BJd>C{1V2;fM9c2o>yfG`5g!?)%ahw zUNtq*HXGA)JZ7Es%OIVE{PSA)t`BaCNn+O-+>5>w?fsRXzh4B5Su4Iy+7<}8`S7kW z*XgW=NTaI-SAAN+374F+&zL0WW*jdC z{WYw<3lVUA*vRs7t@jSn1?ez4oGa9qtxN_61He?SmxS1|e*MUWourL5pzHLHW~qcK zr2r7nHiC^1uuIl914FHrx{5oeG_VDuhxx)^O>e)634_asv26}hS@2lHk=^(XXcfQ5 z(Nz(3C0vwQ4S(#S{{AO9-aL4H4hQ8C9E<}fj43G);`Nq|8Qgp2s(@5NIEMv|$DA%X zCBtc1vKLZ1ma=EVdjl>W6{pYE;@+s~vzhlojFgegz+qB5-!z_AnK(g_?~YGtfk?jT z;mpOG&4$2_J+J9n)x#)Z%tq$8(SkGJV4IdYN`c>4B>a@)`sN|@$n0}S!deXIN{`XU zit5fAWGWp@%Fmxy3;eKA|VVMSc zdvc?Wq1Vyyrlsx{-CJ}ZW5K%kuXY1VcQYfduGc}cvM9Ol@$I+8e@8*|q)-&}zZYQB zm>!*d-TJ|Usk2m_O=5FFXLB8~oK&#^$8SG?zTl6~X^LLlD|x_v=g#8(!LTeXlaAEu z5v>to>L*L`>b$A~a=QE$0m-kBa`Oi?7g8(jW4z?aWv=A{j%Q=**?lj3-$EtP!&LP1 zljSTG?q+9!>1DS**rrgdZ*d_I4-n#KA$rSy{F~L-U%IaHob~1@I-#vM=MezhU%D>q z)_9J_ZiyU*xeaV~lYCxOeVsiT$ujOB?I=t6dy7teY6PVa) z#X9Gng#;lu>L}ix7AdwkDGG^$4jiO@xfC0HuW;KgdDu=&pyq@1fZaTN>vH2*zFf0b6xU?ZG7Ajolx6V1mXZN<(V3=|5qfq9z4KcpR4fpy3 z$*SQcXVu`aq`3gg_GKUHNi!#G#oi|zWUyBzR;1ndRL4qO7*rl_Ky$11nw;Ii-}Zf1 zmWZ8%hBw$WgXmF2t8nn1Wty#d=BhWYe?{TCP&pI*FNVw8F-E}>OIfv}Y#z_G!~Q81 z;nr|@W@n|K|AG|y=GaUmg$wzDu>SAGSa0?edvaA+zdiBlpVHs=+paSL{`dd@oD7NX zPdRXe6QS?`GLu5v@6k0)+Ra;Tg++7kr5;Azq&xX)s@9DpJrUvSl+lI1_Y9POl;?^6 z=TgSx$XkCNH}U>}z;Zyujrt=L7=b|!B2mK{50H@zmZ>YZy=}uif1v@M4pgsLoel6Z z7-Dt@{#_oA!&3CqK^+s+nt9wyDm)`wuzEQ8aLCMf-H-YR%pV9Zhf5+mS}Y30Gc5f+ zg)tss7YDJ;{TSg&=hA1EHwCium~r1o80ix=@7)Xi^7*SVHjpkP#iJkX4DfGg@)BK? zxeYy$3Ej~Og`@(@6))HtA4n(dyvx!r_g~q4`>&v*We-i%FGV%#5YzWJIfYP^y{xMI zUL#wnv$9&oV`63m1^R7e{#X{B|4eHPR+5a)WiT$PNTU*Bw(kxf4V@%GCIYSEd4G3? zN#8g{{UgTlmA(?n<((ES{+nWJ>u0A`>)pku{ay=>J&KWcw;_4>HPwim=JXz#ieK_8 zLh(#!wJ=-B1jszf1;Tme>*FkE|3#;ZTD)eCvKoX zqkWu(*4poLO11eLurP{!HUP}gu_5JfIMSOK2n$8Fk{tK`8B2fy&=wMfWOc@;)TY@#nQJMGIr1-6h#9y^=;QOtC#b}WFca} zu^$Dp9`ruAFKmsd_EHq?{kRWzNNVbKfSj7!_3j@V^9^UZKCQx#)Rl*Qhsakb^^ruZ zrhfdrq_Sgl{NnVY>Qj)t1IBflU$`af()pw!V)o zk^(+%B}pAbKyU+On=Oz%03FR&fz^J6ok_9tbfj#*?LG;S(#vl-UY2~W4r#d$AazF~ zS>7MPGOvv5R{gUd8KgIAB+SYQ2AWH`7Q=EVE&{|7XWTjV9LZJ&>Y^DQ<%#RQ$I0O-%LgvU!puY96Iem`<)nanEc^~R$#0dyG_B?-cA8`4L&TNX? zxtzv6R(SD8r%2IokPUJuy&U-7mi1Wz4Hd4a-QQa-=SKx+_b~}pI$@YP1v;QG*jOIm zH|2$tt*aq0G?LNp8VddppsLX+`pFMZ_Gme;Wjba05NfWK1SpDe(T1WfYB>!(6>Vh# zzzcsDF&f6;k9EQ2zzYMjfvc%<8lf?=w*^PnC#%1WVi5N0L&?8!0A}|^nauC}wW}@t zq*HjO!D;sm@>s)0h;U++4et5msir5Mk$(RPy6#?^t@H)&*ygn_IXzyv57n`Kwr+~T z3gR9va6VUqfP1skgJp5s+F`(~Xv4c_w~R;x!ijugRgX~a)|+P!QDjQD_QrVwyKsg! z{8Q8_5v8x^ES7ciqW$<<5nEa1JIDqmepKvIA^tg}PEC#;^}%Y&GIFbEQ59^4zh$|R zUoLg!JB6BKCoi<07BqYfPHG|lfDOZ}zd+P|h%|eS3owO<`$a*JY3A+dxef%_I@=Zp zOaXG5?_6lAmtg7Fcq;~sXeKHwod>KQHP`bAErDy{o6TCQLDL9^4ehuI?%$PuDQg*6 z=h2YULuxI z&&o(M@b|WQ;+R+YL|i(r+)AdlZXRUDpGum){G+z{z9+N3Oj~d1EGluKd=ZR4Fz>@h zEO@VN_e)31I@O))nY|P@0y+bN<$2m5E6s0g^7rL;jHn6MWVvo=l!srL@mwd%pm}hC z0u&}4FxTm&aI`h9`O59dwEO@9XfNL++-jJhll5pG7Bw9$vpDm`ES#<<`a8>Ng5iVu znT1*Y4!v#owYKRuJthFVsGo6=$mqrAi|j3b?rYiCW?`;JZB3LAywN2x>XqMvtjq1{ z4&);gQI&H*D<5(?>%?gu;Y_&vlQJBb;X-A(PU6OfAq>`(+Iy9j>haIpx%4u&E>gB` ze&60y!-`&uf)T#`p6g^wP44Tc9+ls)|Dq_;rQx1OM=VipcD4Jt8NX%J>YG*d>V#$^ z4$mp-O?ZFCPDfJhGUlAAKUX10D)IlkH9UvA)Oc$X;HKQsV?nYckV`Ov4-^2{%4NC; zfZ5OvXL$x<;D}TPz_g+lgVT1Ir*Ix6zZEhB{3{qwUlUy3wa7%+E4eno&TaG#s}9VzRH!bo*{yhJu* zOm1T5ToykW0N&7&A4~%#wpn1$l$nO?iW9(mMNx(Qnan#6wi(GuYW>^gXq*Oiy5=QI z5A>}%_6YUel@Rc6O0w~^42dGxlY_1ez^@$#s0b)RmdlRETzNeEKwW`DuzLq%sqUAq zLiot%H6C3O*staQRvFVocQx}rEMn3j>|^b11fe@*-Qx*b=bhIm*P9E>o)$C8zyRtHoxiu1jYZo#A5t4%O}>f-)` zR!$lakzi}2+!9H=iuvB~5#qo!ez?%dq^?NM14RL-scaTuGS~`XMau1oPS8~6eBy2I z?T1OcUrhk`bhfTaF^cM~aSjbj8)89qLoHJvitU{_==%p(#Gkd(g~{Nqo56kTu9Scz zv*YF=A}bj7m2WK==3=XLc5e=fJ*?QKepWh^ zmn0G^%6AB(dOIqn21hG*&3w&f5}(|wiTI^?UT^Va(I8Pc?c~n-iA`3+dvnXwuRwI; zO4*QrEaFXXgiJnTP8R@ZS5di3s?ojb(xVm-Lsl-z$y^wSYqkl0#Z!>I;*A`P7@1JhcFgkR#I*+hnSe^TY!r;>dSj)36H{PA!E zKUEH&oSv9)n&e3Kcy5Ore+RMbO?3D+39Z3#Z-Me6_fz%f%8s+M+MZ-0rJ`CsUA{|y z{pxo!q1{a~BW+kfj)&>3g)!3Hjx-x(nQ+ z0-wyl)5-lPlligMo0rS}O4zY&Gk#ziWe4m&Lz*6Zu+dXA8w@rK8r0&2A%<|;%QyP+z;v>`y3tO+}evcb>LLTTAM zGmfIHo2!dL-Ui=anhtj|$U17U&XLWOb5nMyamjG*v2C=}=`3<$&*#;o+(pvb-?v^# z2^}QfX|TwVV)#0zbhU7w?!o`D0NEV^H^#q51mNU|7Iar z`dvrXW93KyU*fj(NjRW!^)D!M)6CtW_g`iw$R)vmH}x@hsEKOgy1o^8vE@$l?mNEo zpA+u7m$D``i+Gmki(^tKicNJy-ctf5NoZZp+$MR=3zlzsJsemjDiD^8Z0Tm7&`jEu zjk{-oP^SPl9D5(P6s=4plh=Iz9)}z)DQSZn`#S7^ua3yNiG{}nmfexWi{qw&sS|(O z$WKxvNofw7J@TiMCe$pql^?oZvggeo9{(wEM z=>{~qCv9E`O9?Bs6+QSozM%(-+|+4bUejNwh1T?*!+I7&9UiI_t+#>FLIxRIgZ(c- ze2&|eUZrM|pH1dmM&RZ*F5tIjMCRe?cbgJT_ZT40Q7149+5fH`Y1171GUq8JA34K> zJlJ|2uI0S$)xHZh9OO@avt3+Iv*#SJ%uxH1k4Wj^Tt<2@E;9w;R{I~iz1UHYS-Q~{ z#1SN=H5t$D{b0uYaA_#gAxAbR?6&%#()$lTRPY{@91m!@4qd1h_+e?NO_+RO#uW1x zFuwL8W8~NQy88ur)kA>pon#c;`o%?k+uq4&S?)10j^?Fy|MPr|z8fTRtWEcX%soAz z$@^xZ%F5@lClLpo3=f7VF5K0`4)c>k5C06g4wS3kUF~=&s^RZEj*W~ zNwL&FZ#CqmK)RKA7o7yLd294m8{yX~apeAv)t`S1Xx)|27wMzcYuHrYx!LAeC?rT! zIISn((ogYa!ya*<)H_Q^gfU!llemXM8fO;sz{_lt&k+};t_}SIN51bd-P1#-gd_sx zg9yxCs%#0{p9++$ox$3RBQ?r8Gdt+CRNm?#B?L9$$&_>PQ0@RzZG2Q*jPIxQrn0l&!f+ve44{Q#iu=Lu+@0a#-*7arW?q43O}cQ@GqGbYK>*mL1V> zSW0szM_pGsG2AZ7dgt1T)`N2``;E=uV%{MI36 zcFdNS)r%L1lg5CSC$YUhXTNBBJa9A!wJ7TkVMwJw`rBKErj-ZOEivQn3P4Y{*u<)Y z^Zrhs6F=b1ty?~BKhGJ%0|MjaK4UEH&(_^*tSB$9?~;h{TATdLr;i#UFMNlw3D2Ur z@Q9*0Gz%5C$bK#GUTj8&8eVe|@OT0BHs*pO!7AT%W**m&z`*_8ITY>u?)v*l8kJ49 z&&H;NtnVfXK>xE}-4>`gE{yTaa_<>s(QsxQc~xBe|7bc3x2FF8{hy8QlrB*zk&clY zk}BmJMM_c$X_1Z%kZwdkYKRIbNUAi9Mrt6bbdK(3@!RM6UEhm801i86=YHPL$Lqe8 zVOrUgpR4{eUeK}_Ms%xP!Y00%$*((mwI7XLWokiI?-1FKK;ipYLhu~B?8|EifQXE2 z+v^jo1ofgzz09ON9)8PydCZk437v>(^`;vuOZPKC*h;Bl(Ua@FAR}6!{vD8yb}~cR z55y)r2!Vlgs#>mj%D4E=$XVKYqHwnOxco{5%t%32b-$;=tsNvCuHjs8`W+`Ll_6Ud zs^6Q`EB~oqLdF*P>e-InwA0z%c3_I%Cy9I*$s=>Kz3S6U;{B0p^LWY#xsU<5PGo@F zbrR;oo|^-RyB=3Fr@aOB*iN)Nr<4h>*Arh+kDE?f(t;`czV050h|S1nfNfthA|Rj4 z$@7Xfh*0Eqg+C*KxFFY+*QN)@JERH)Crz1!ET?%4mjCy7v#f-szs;Ac@CHa^O%5gu zPPJb;w*4F%*v}n9VQ5@w91po=E0$q3woL`6p&X=kqp`mp{`^b{T+`2) zH>HjaZoVa<^>FavI_NRxQ{}0-^a+)1g#O8kc z<6Mg#o_K^8Z8e<^xz^-w+8XK&yJi8zyJWxI0valDOZ=KyYux|M9CJ;~{rFU50?Y^RQl%V9 z&h#FxOlVHmg=>RWqmxJww}!Y7%qBp&z0H5H-k^EKBvvo0Yf=z`TQO;tTxfz8&@X%9 z?Mo$!C_`@Q)&&-(snwLk;vE#;|FjOfEDYkA=c??t`P{gZ(6vNC58exLWo-*_AibVA z-Y~o!sLGy!#LK=hP;szJ2*T?^FVU51A;%0Q%77F`727)}Nq99JMq?D{i%BiMAVPt) zR^-*1DGKSyAhAb(eK&vpXw~ML&mU0ZEFwtQRrclX&=FIEi6ySIl~_!{O}N#=P{dTW z)n%RaDji9Z%Ooe`504#AzHd%WAgdpq1}^e|HV8mn5gw5NSws}3+z46$m3a)H)}>Dp zT^z&nH@`eOk^IEudOq8B^CcJof!eF}9jhswILgzm)A{&mKGNydxaWc~?cUOz)}9Y- zS^jN3cJAbkeD{IHnEt32K$$04jvM8N;-6W!?6WUWp#G^AyOAP5z^>(a3%2Z+HqF9$ z&{S3NZC2rjw`G1fJFi0WxxYcmG1ewqxQ8w3TVokPZU0r4oF$pEBBu%a-r!!tr7k$9qng zyO9BI*Y$x63Nr=rima*=t1&-cdacQrPJ6r*h^GUsY^#sSClkWF86TOk!m`>*o&-vq zUWurSpN82@aR+H!ql!#V(|sf^rY6qu*x;8Spf!}>s;DTL9lX3fN3^L-fTd_Fa@wxG z=TFEGw8pXAH+=KUZ-*1lPAkiyg3J8D~c%XL=B_IC_h+~-Q$iILo_gF>p$|w0Y=77;LJRhL z%Wx}tcd4FyVRp2U&P`QJSCpzW?3UM6=sjY-H1*azN%*N55b%i2=T$mL(|wpp&+Iv1 zN-YpZM=ZRyb4R!l0;jPToSb=W5Paw}^~smXP>GlH#QHQT;2>%3&JPfAF07EIyQjSl ztbR!26J4B=ZiZJLLJ6Z1J}1(-tG%zJ%5&5-Bz8!`eU88v$-Tx7@1>DPc#<)&w@GLBw&7Y9cucmH*n1lX z&%A~dP-nCclYpwxrXe@HMju`l=xn4(&bJPyVe75DcK}Af!Yn)B@5q21ENB3By@m{> zP#8cAoe;1!0S$1Sc;t7^u3MJ9)%7=B(Dot~aP#Dg_js`SuR?0x8Pg zdny~e9`CDmi}-O>NuRMq+qQR4SC+S#Y+x9=WCb0@f3$u9;_&J;#1ov{I`FQ(?$M58 za+(?T1Kg(^;S6v+e2gQkDv0q~zIceS+MzH?k587-lm13kl~9}~&#R=yd+T@ND{W4k zvy`l}45od=+lB~OaYP(3B~@K9JY})h%eLC(NoVjs+4`!tdlBzb&Jnzv#_y?-lC}~z zvYqUGK~)MU&x{c=6gkK@C2)&_6z`NK#fB$b9g*)?BE@p9&nL-3R@)_x>z%^3Y%}mq z1N5%SIzHqTDix5v<2{v`sp9z0NQa4@* z@?+-bCVldX8bvByo>OqI`}F$|VI?P`;1KMgETJriK3}Ow`gAezkLlQrq7L_Gp6&x) zo|a{-d{=T&MOVSWFzLo*$`;<%>0y;-Y|h=c9*7n_!nTD5VWjnYoRQ5LTpf3AsZxR! zvGvQC>N6?`*mZh1keAXjp=b{VdeIs5&WtyIoYL3b(>ATKrK+*JOMfngZ}zpZun|NE z{>|?t21K+uUpl-4{{CokO-X)6+Sj6}poy))xCIv?HrLhKdCx3H_NM7yY-67y-Aoyf(f zMG<#EKrJ~;`->A}YH+NFUTOQJR|vE117LB#Wj$QGRW3Rds*{!PKsH$UXbH&>Z}aQ` zj@+goiE_VjvpY@u1Uh3w4oIjKvJnNPI5p6G%A4XgWY0G9tn<;A7F_~{nrwyTx=u99 zrtv7f#It436ewr*>CYoWC4kKj`JptnClo0yM`QhGfk?AnL4Zozm+r@c?J+6|5>Zp% z;D0^Y0EvB9Z)M5|0)O8pBLeve{ILYL$N{Inj|R)Q&3*5jd?zlKyxzQ_M%;Bbog@5? z@ypS4eKjcMA995;@3*T*a3{O|R9g*jcR2Ut>ZYrtvvhY@r+QQ2G$cqP{tW#Oc=R1q z)$HWBfo0MorjOb(F#rLb|A<`64d6(+NwBb*C&%{C#AaBk2{5Zy-(yHfJXz<6WuhmM z!Q2uF2o*>}`&C;ia%95vKp7g90aKCyx29B2j#9QU5~`TfiuQLmB(^u&9j@yO=Q5*mw=FMNZhDx3Hll4Ch5Zng? za}{GLnm^g?$zQ#QNkm2LFNhZ54D^9=4+rlbM?GqZ~idFpyMsIfI=0L%*S5Iibh z@hN`-5Kn>gNNvA3r~@^gIGu<17t_x_8g)QXMR- zxhf?sWr)HITE0Z$BX+nJ$rV2t5P$)NT=SD$5OzZ;0(d4S&OY3Gm3hZpBAvU3BhlS0 zXun11<8*fB>ZcsOKHdBG5iq@rKiq1FaOB&0O>YrUA_=+5qVa5`Gpx1uvBOf3kY)FDZC$Q z$^=>zfXQJkUns(;0V%Q(Y}qsRS!uV~&-)T40HS>9ESS$uaB+l@TfLO9@j2j`ywhUuF_&FTxEXgIKjGuEtCv3H$y{+O zz7#rqJhe(M+usxZ0iOnO-6Z3Pb@%)#v*ka$ZeE?!6)vpae=CR$6-? z4;9E#B>~%95S1OJ>fK)f6|S;Ndz#TzZ?uxbRm$Zn?>Kb&*!)ob$woQ(1W%l~Nn(2p zxqF^=*%5Nm^@zKLb-CH2B_R&Wg72~^_TZ~@tR1QCzb?C;8|*e0b8x8qF&V%i@BpMm z2Jk()!39F?$LSCs@0_sHe(cOE;hmuQKfWBGSmDx$r%45L+*pNw^}AksNzYm9zeQL1(tVHEF&#%#J(Z+9g{ZR-NY3z^|D$sFt5 zJ@*g1Ny$dlVh$)#@x`=OQ2xL;ZNICJ__{&bJXJdmEAOQ!OvuH~VAgE_NP?c9U3%t# z7ng?a5j$|6U-xadEgUa)N?xM3bSMC=n21D;4u}ESy{Fh4obg+yA0DMy{wI%ne)aZH zw8S2|-WCD^*Z^y&=dDETFT7r4J_G#e+%18FGbVdq0ZrJ|2u|G7zFd;nqq zH*&Mb5uDUC5erichC{Ne6pj%UG*Hr2y_^e{7Fy+CiFO>$C-dK7J9M6GeO1 zS>e~6VHhjFG55NK%N1ev?*puN(#-)BX?}7ZU1H%=4V#=J;mQ_Fg&5t)w#w`BP4s>A z;KT@#DT=xMWtT!OB4UVGxa$0{^YoZIzxkg3>Cs1c302icH4+A1PQDyA5U@ujRVA{% zM}=zQrLD6dl&#b9sPfzbZhRz(uD^K#0(2N26AERzTIlE{MTlz;U?P$lhXD}uG|}(7 zmoilafnl{b7JE8|_Z7(tJWcu|;$P5)HQ1bFbYz05cmP{vDieSnu#JkQSKoqOE&LK6 zyO=bLlw~)7US4Q>wwy54Rto|sU12})!2vWq0zJ8$H-1kP7(KX!yv2c9xL~*iBvBL) z+MrjR`(f}g7MiIK-M_VFT?Y!uv%8GHg3d|bv(p4BX%=*@-_$Hd^}T39@qk)d`2pvv z>o=L}P)E#-*Z0?`j=OyCxzw+ueoRXMp2?Lg^;{-Nk%M3`YoE##b?+Fm;a@e6Uyl+0 zlCR$L#W3rpPb#&@6!0)N0O^q>SK!WbpgfP%q3oRy1nLDy%|=*(y(ok`;_)ex*xT(# z0a_yi))kfIZ&-5+yd(eoyC;K8GhxMxCbzl%OJZ<_Z`FI&1X|35e}^Zbma0ePIkiIU zi9dsR$R0l&^ths~Y>wqtqu~*nhCL z8M8UILH8|W4F!UMM1VMRda|p@2l4!B_kYU2?Ub2~eSfBB)GU zxeM7cEoxtm1C%}Q*kp@n;<@N3XnCzI!I-GLDF$HcFAu`4`hGUPQ>9%As7Kyc2Nt6P zxu>OWkxJvmU^`-{J``b>-P)C@+xfgpT5-tp#XG=(xSCBkVZo(Te|s?~l{{C`jQbIJ z4spi8*}r!rKga}67XiS7yTibujtw@cXzd4R&u8-GLd)*3%6`bJQROm`aNdHW?8HW! zF|~POop<-z?D4ZZfmlFehxX+(x;G{$^r4Yagd9$upq&oY2hE0gohZP>!PwsvW~686M+P8)*v+n81n$$D$C3(P#GRlK3p)!cAXH02uIkZ(? zjuNip-F_pcwN3q}GjE?O(17r%)qnT=bu)(>GM=0=!f9+ffv>te#r%v^4u``Q7d&eJ zTC%*|iiTt9sgnR(c39@a(KUXbu{*?WJw8a56EOg5#(>+g`8h);#qGQiX@9)~Bac$= zsn!r;SgCZxJD^tD&|hVdmWS8{9((R}xDzB|*j3150<5k-If{v9=w)UH16$siVb$<^ z%?XZ!`^4NyiYRu_Q6AQ^Y-XuI+d!(KsBezwKmQAK0+72#bBYtLhi8XR;>>9OWRh*G z$P7zFexkTdB2k2V5o(2Zo8eO}?3(^qTI;d(_GZkIgWY*A4RA>Q(goO4JQo3A>P)Uc z0BK?9Iq?u*RTE#xMgu0R!oLSV45d5#<)CX~INBf~F@G|_)6iv&9Yk6%+G_=cGFy7v z)L=e_7(U+IOS%0Pskr6yXB(p%Uiu~}C=c%Yq@&DI#w%D|9;jE_Z`PTf-<%sZ!aLZa za(>b3b6U|ZEXaohTXe}(13}r~bKmdm z=2~9JrXiW`d+9<?$`S>$c@vnk+x~-zWrD{J+EEIK7z1*LsXScz!2zi2oOe?6iU4qOm-;9 zyZ+nc88%^&UM)VmJ?ix5x8DNjwHS22nBw!4|APu4Yt0(+^P zdzrP<6lnuvcj5o76hHKHsF_1 zQIVXw$j{Bw{XOZenZe;BHrO6+Kp8loI)V%SIF5K~r|!oAFebHLDDu}nzTEjk=ac1o zn?muIZ_uloBghB0_?c`dm?F^&hqSp>8W{_VUjqm@cPa$RkBDpD~oQ4W{cTN695B5)AM^GIH0p_MH+F3cmp2tMcN|m z?xgvXG%xN3l>}7rxVA;jhafvYo>nsGm0j?=smK-w!HP-`w|ga3ZLwcESYh)Z*fBxx zFJA%>I|__$jNyQT+CL@im2h9}#sF+|rXdY&Coz#l@8<}Q#UcdXQa*b{d&A|JweI@t zcf2(cbSFLi&&he&lOgz9Bi5s=YA<>i`5xqr$dec?Kr6Djb?z-8(1%x__scv?bW1iZvd;`IU68PH1rmQf+04QK%ZM2Kq|Ndop18F4^Xgf`NX^HjAq zbjsOB&xCTr&i1(9K>aM#nZ0;ARrQ5PmI|W&zo>Y&%HU5zB=A@Pft=zf;)k{1&uyEv zW$&bnbQNEf_K@R&Z1}F&(KneN z@K~aFHJPXOwy&V?hqK3or@AC_y+_gPs-Xl)Dj@YI@ZY|TK1nP%)1MAV&m^q05SCp@ zLD*2N3U0dB23jxi_%vxEcgCR83xo)Y?33#G60cDq(lJ~#wJ*`=I~CZ0%+B*Xxzhis zb4MVi%j&7$VX*mCDw^`fQ1caiy>DB4 z)k0OevF8&~N&>c#j`(!Zs;FEN1Qre+ASl*3K^MO%#NpP<(dbPEYk%Dy@a(ce|Fr#K z4%BLaYHHXWfqUh(qY{z7h6`j2ME1fUJRJ4(TLmjUuw4~Y9esn2h-J~Jio_fK4YN2<+D zRztt)_vEO574kcM`pg>FzOa`~1>6t^7jl7#6a}D&UoHS|(#nk;Mc0 zLQew#_L+j$;1|}BpEh*q^dP&>myLY-BfjL04V$)%_0lEkC@hucV%)vrvC;42qLrJX z&4|j48UP_oNc;X!*U-qibDP#VF3xwl+QK?0lPqE}0XuC&UJFG+CDYYKBI`qv8$aAi zU8Qf@O?w@yPe^$)ew*nC3m`>_E@tF`T_Ob>dOkmdI6g7oI8C6x^5vI9btJh=zcfx` zG4K*PUE)_TJ-oY$Xt@3vV7OPx;`9EcX>%*v>50m!smi3jBMtqJ@NZL} z+z=^8ThX|aF1xPgz3-Zy4|FFXx;%irOMhbanN&6gcdMcM0IGOJJgfVc!M5@%2Dg}e z&3Ey41z9n~%HE&?cH|EhC|y%+MeR85fBcqeDffbn;|9-0rEjHfCHnsBbb9Oa$Hwgw zC+B0@!zH-)gb`GOJP<{Ew)1f%Mhfk1lRugsBeG|xlIgS{teE9ElBL+R(c>9ap8Q|H za8M{+;&(k6lKy9dTl{r&QUosI8YaL8SiPd%ojV%hthcKan-2BzE(Lv2aC_`P?I__9 zG2vd}(R(eH!0pvlDs!=Sfo*40gOUMH2zDiE^eS9W@(>F=jNe;~NkMh+Mk@T_(>mh^(l^><&gbh05p3Y)fa%4|kz>jG z@ucLwP4v`e?vc|>ecW)I!(EdF^`+QO)3B4h*9tCKexMO^K#!4+%4^8ttoK@FkcJ=Sj@O)j$kM+)=Jg*63474u-ZdvI%>Uu0b$(O%738Y$X%!l7<@c+e z7PEC)8&R}bc_|6K^l1c$)hf>0i%qUGA3x5${x+gZuZQB(^oktq2*Wp)Q(0U6C08*O z%Kz;x(;_$ws)wZbshxN!z9B|BOqwq?X+29GnGPMzh<4D;Y7d0aLv(XrO!Ep(>v1h= zk*Eglc3d9tDB98?qz3hhg_*j<|7Ax&`Q&K*O1)^VpXjKT5yQ(kh3V9rKXa

uWT* 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

uWT* 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 Hu0mjf%JD2x diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-20@2x.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-20@2x.png deleted file mode 100644 index 538ecc1cef06fbfeb40d10a78636da533f5aaf1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2538 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 diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-29.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-29.png deleted file mode 100644 index 514920286d901bcec1eef75456a2b084eb2f4cd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2076 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 diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-29@3x.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-29@3x.png deleted file mode 100644 index 8da2de5496f718e34564e235492e9a32d6672852..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6515 zcmV-(8I0zMP)Hg1+lHrgWSWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6 zwD^Ni=!>T7nL9I?X}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8re zhoBb*p;u8ID_yBf0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J z`jH<$>RKN5V(7OqK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYv zwjAKwmYb0gKL(K8-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z> z!FI&AHCpoWI|RUqx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVT zrI(b06~u#xf1yS}_UGdMvD``!0~u->P=lA4?YN`hilQ z|3tHka)7T{2CGqwjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^ z7T9R1gAN8V6s;5)ieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2b zW$~+pTw@bIek?ZvKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L z_AC5qq~L$#SMj%U$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6= zb6>{xYV#Ue-+LB$7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re z4r3qYr~6#KE>;1F`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+ z5K}u-6REM(K@W$srgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5 zh^QEb$V`rCQ-|7ZS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX z2i^rZ^Mu;6+rb@?NPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV z0id6JRRdfL?*IS*IAvH#W=%~1DgXcg2mk?xX#fNO00031000^Q000000-yo_1ONa4 z0RR91SD*s`1ONa40RR91R{#J20Dzj#E&u=&(Md!>RCodHTuY2yS5`gs>ec__D!c61 zZYOp=?vOa4)9EHsO99amLd=kQ01^`>j1fqP31cLBzz~TEGeAsX0!W~4B49uo=oX|u zX?41tj^o6?vR$q!*XO-rt$ohAci;2Qef6HprX8t{Qt#}u_S&Db@44rG-g72Sz4^xn z;kZ4K3Ur=`*JGzvf#c#n!G+Kb2iO%R5P_S6?-^7Z25~iy$%Z=N;>j1slI2Hs>dARr z_KM+smf};dCOyZJ}};Lspudk-E@|)5syvW7AnK`qZBDVi#9GfewENt+)?afq~@e#Pn~=yhI-kF zD;{xSl!ePqJ#}p2isv!P!o~Ag%_R#LG<=Gui<|fsH#swz3N+!eizwoPE1h9-E<6#% zX|pFSg{}ORxK)hgS7Y;^u)|_8XW7MIX$~#+)s)hlNRx{!R`Y`9iKEDJO0L=fmH>}S zRxexjIi|6C&ux=ESF(CdV9pWG`Z($&D^6v)d7YH)?I7gxQ<26+C;la#VkU)g6|>e&RdXY+OuY0gWS z=Xx72i))wy2}FMgH(k(NW_I;V+uyJA?)xJH}@t&(= z^aT3j;y!_*%4Ok#CKY;}G1`)y%5=oVsRhsajLK=knm6YtnKROyJ*JsDZn~gJ;|v{C zIis2vhJ!w!`1Wa{Gl?4v{B`i&eWC-I@83&Ny~C$b#*8>G{Dpom%Do9EavT#!~OJRCpElkg!guEOkr{+SZJA=A*O>f1u+qpdAQ$EI`QE?CY z`=P(T6MB2wVQ=St*xkAlb~kT9-Y||WCf%|QnO4{CP%1(?N^Z_5E^vK8tNh2)V{&pjoP74Juz31qJCdUnw2==6boyCohvdql zAMD#?X0R=ux%?~P!Ob6pJ3sx8(Ch8mmT1#;b#7kJ%t0@7rx(MS7rz>2m(OFbr9&1x z9w2|_>wtMorKC={8$N5jHwE`w3I9z zV@a0IN0LsMIEEY8j3u7$WkYOGZrWFRz}$Cdmd;tdy11~je#}>YjpFi3zjo=nDvb?h#}zM#Z0#&VvTTL~x5z7AO{c68^*Ox6&K^O@IioA#5i_wb&r z;trpXNK#{KN`wl&0}W^0kP&07f*C)XV|mL2d(fN4w*{F>8R;%GUv`C+o@= z0vMdf*^2Fer^azRQUzE?*7N?2_d>UWC$Xuy)mYqtbA*o@EO@DB4sAMrkZ8-6V}4A1 zDTX-Gk;j&gBN{)Y%lly*>1e~IxRm9GvYN2Lp2cN7S=SD4ekZ%QklDKg8LL+iUgX#` zW?#ZQhccVzMx^$mv3TrrzaFE^raa=P`I+03oAWhRFAp5c-eZ#0%T8R4(W8#6C+phf z9>KRe_MUbi2|Cl!kpl%_U&6ee@-X{xxJQk3RQpkL#XB|BlXdNOxN5Bc{!JGP!p4M@ zl!|1E^x=6Pr!0PMFI;@@gIwu7?z!^kG0McH^FBN#9(%T&C$4nt+prwh82v;STLM-u z_lBxT-*6~xr4)d^gh`$2G)AvE8C7_0m*dori}_f?Y=`KE=9=f6#&E~FcDvIHG3o!$ zJB89*l;`8_j~eTd?C}7By5jFN_FKFFf83KYk2vgh(9qioK$Pm;9|97y#^`Avk#^Pl zzhqx!iE+tq38R1cY>U+-80$zMs3+^%?c#f|_@yH=7_S}l`P~}qWXk$j9k8iWrb4|q zR)7>om<`=PV#Ng@tig47iCbYYl@zr(zy+T)yU!;s}8$WHU93uRWG$!otcd-Uv;H*~RHFJ=evTmb_ASu;<{LU?w+yZo?CJTv|?p zv*rTX?}r}#_I7$?1RsaQ69?aQ^eF;namCe4hjd)BIW;K71hX^Oz;SPYY)C$W{T1zQ5ZG zTlaRt?T;RW>+jzQH?MBsok0(UpJn;Z@yEaR95{SZ;CtN!mFpk3tv7P zR?jV1F&W(chFVu{K9d6LXJ;Q459hjmeKUOUtxv*7-@R=s-BxnT%y__1+<$2;4^I`Y z(AU2DTv)rvy_u&Ge>lealbh*ReL*zBlW_U&xI?${2aD}N!yoXNCU=w)HaTNiCezy;7sQB@ZL8+3?KaG_0X}(XBELP``rTE(;JrN6|C0FU-_J!4!u49^cGVf?I>*= z`x3W=wdFGox8x(YXFa&@{`{|A3Uf)K@u<5KA_`AIJU?a^=FDM%`Gys$NJH|7snp7JKXI z7goYEFRg@qYz;9lXm}O00eTYEOy)=0V~7i*4UdiN^sm494?{?={6HYL8ao?eoTTYR zpmAyjCB0%*xsp@h3ai{v08jRmA34{!rLumfFX87+AKbNDG`pbj_sW;vdTwxAKyi4*mL`MC|Ei@k6$z{+ueaZxH3uK+?aK$h9)$Sff|^b${^O6zezVQ z4p%t)e=XDz1iPR$WK!`UZvxNfmkuG;KNcnPB;;;bX< zIq@zoXx-V#uyAtL?ht^xra``biRYLztHd_@ir|Dc?onfnV?WBAnDX#kdFQ}-as_vJ z3o$)ERlni#F;wm9A_JxQ#z%wa>SQAIgYOF7_a)%i5D^Z_S_<(gtvR@J^;dQ5#cueu=jOt-&0hHXtJ_u|BPMPi zzaKa=HyM8Y`T20`VL$xckGE`&^kn&am&I7oQFW7%<=|s!uBuB1Ulzo=;@bnh_+@d8 zG(unEmasN|<8Vtp_{w8#wiCXvHXU9+g>O=jbMBMRL95e|^9Fdh+qAQ@#4W`TmirZ6 z>dECF>p6wG;yX0F7-QgpBV+K>`GI7$CG7K2onsV}Q{cN3dj)8mIH^5w;>2;YPeV*z z?^rlN`rwx-W|wA6nzj_K$Sw&ZHb!M#yZp|J8-g975siP=G_4Tk!FM1m)JrF(!Zd`R zZtRDojBY>d zg{$z(qsQ&}@P_Xgc|lvm0|XOfwc`hRIv}7PVyjFYTZ!v2BPFLEm#p6V@|fAj57en@ zODMwce&IxTX=TbV7U(bD+X(O9-EEwWEZDPn_xgulS_z+S^}?TgYdt)~_ktHu*gtr4 zC0xhe{dHm}@@v>?e(UEJvGwpD@x}J;r#s;$hK7g3rnDH}7xQLHPdqZuo^~ zX2RR&XTx5qRrFZrZLw0`b~}c;c6e3eclI_pDDxgb1G5Py%yV;Gy4+r4@ikU2JN2!& zl`DihxD)u(|60eYx*z`f2l%(SC>mGeNffDiZCd4PH8qanTbxvAuF6+WPK6V&{ovki z`1g+=Vw>3u|9WlP3|~DtZQDY_wpgFO-7VmE3w-N{l$cdIqA>-FI2uNSQSB?|nJ|XE zCPxqJ*bliC%;QG(;|F_os?R}Q!0jbhqFS7z8zW)EEb++F?HfnWFHeQ9zrAK9;m;M= z=-1vR9F{BetSeqQLb8~stV<@k!>8%0Q55W9AXkiG-`Jp?@7yI-1*`!fEY3T7VZ^n; z)11@b9$TIN=7uwkmMjogH7Ukp9JIK`B8L~Sf4hd4FLa1T?)9yGJ0QjBlawi{f3Z z77ZV~OQ5`rAF^<7zP`C1zH)BPIQ(D@J^{wYn!bbLZtlf>nX8s}7W7zJgJu*XMG?g6 z-~Q^!G-~LflA2qCaEk(t@12Q>o(sT|B1RkE#3SZ)!ZVD;ok%mB!|C_?Upg6ngu8? zM{li#_i-_s!$JByezNt?A8v+!!rydS%|mmA({A-^eNDvD$v#RtVR@gK+E5(n^09FC zC0&N`k@NvxkFr?re6)o-hHiKZE07l?7WQv{xWV6PVb%3*b#gUw8+d?~`&Zw)7k=aA zj_l2O#2F@PDY3=r)mUyzPR)%nIUXa2t@a*AI^>=!*$mQ$_ow82UgG-P z>_rX$kHx5w?R{FzjH^7NJx8@94|YC8II1O!z@Avd50|1{{M4;aZACx1Cvt17wkNa3 zqg3bO$BHITxfRFaORC4R&aKEC#3H-SL)P9et@vjvR|e%i259O=#p(nf)m}+A?b}A9 z=2ha2lj~^l)8mkv4>LZ_K&eW*l$xgj+^~Brk<+B+J>ne-qeMNuD ztM0|gZ9TtDmTlAz&Na7-H-bC?VtnZ9L`aU!>xI#IGD4?Qh+4s7Ry+Zz7p`9F+}^xb z`MJ1NuCnyHh{?BlqD{HB9n{r9WusnJgSpoJ>t8u0c61k?p(CWtT0PMylbfEltKTcg zvc4GATv>Yi8beaav)89*qEyDHp$(hQRk_q&qSpJO4YOerKlX8Hlw+0hmpwhzdT&p; zdi*7=ZjE)AU?t08EsH6nZ7koBCw4^rDA&th(_SO?HN#6a!+ZCc*Op?`_R%`eB}U6V z%ewX#dH4-OzRYXWW9g_BI4gz6#4Ta9MN>K| z_lenKw}`KVn)%v}%AJIP+3H;-j)k=)mh-)@+C!9bu6%pmVfJ3{W%&@sK5scDZqDPl z#Lao$K5h%Xijp&Dxno8ecuko{a^sSHb@UvsO&qY#h+gkyqXBqQxekkEKYnf;k^y!$ z3qKr(>+K{T)n0x^>5m#~9Q(vQzMzeAU>=dv$?xsxhgg1~N|?BL>=L(xJudsFF;~v* Z{{RU4pr?uKFmeC@002ovPDHLkV1i!35TO77 diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-40.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-40.png deleted file mode 100644 index 538ecc1cef06fbfeb40d10a78636da533f5aaf1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2538 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 diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-40@3x.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-40@3x.png deleted file mode 100644 index 67eb590b45cc5dc0edc20b3254fcaa47496891d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9536 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 eOL;La+y4VZo)_t% diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-60@2x.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-60@2x.png deleted file mode 100644 index 67eb590b45cc5dc0edc20b3254fcaa47496891d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9536 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 eOL;La+y4VZo)_t% diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-60@3x.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-60@3x.png deleted file mode 100644 index 0d40abcd2467f17af41daf12086c4767be438fb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21983 zcmYIOWl&sAutfrd1c%_TB)D5}4Fm`tAh<69g1fsrOK_JEBxbNZ;Y+-SC*M%jI zuU^%AKjz-9=~GiPbEoF^Io&az)f8}FQNBV!LBUo0^ilKq-SA&~iTV7L7{la4L3u%8 zBP;vaPF6wI$==CT%h}w*Qo+*E($&U7Q$Yp=MK~cr+xQ!`Hi=}Ln>9VdxR(9<2={U+ zTt?g!o%clztwGDnf{y8mf{X9=zTTXSXAX@E^S2?3)a5?=^B&}o^mjD})3IFR!zCNI z(_S$y&d{+)Hr$1M-is?e%o5|zvT3bbu{`m=%sb8ZJ87{##n@}9&`bYLf=ZfQ!%4=s z;T8pomS9f`k18a?EYj7WVK@Gzf+nc`+N;rURkqj9bYXV+si3-9p5_gm3jkQZQ~o*{ zgnCw{J>rS#i}((ZIxwKU0q!;PO80a7{#mz}?{kw3Ot7)q;@Fsu#?aQXjm{tdjSk$& z<2>+!=S&M#Z4WErqwX}9P0Yupp}2IyL}*#J>uu{@e$GP^XVqQwLs)} z-+%8iJe?Eku_Plk>`i}IbWoA}hnwAvr@AF20(1&n%5B9UuH<4oL+(vuhtjeauRY_yqMu&X$A2dyRo{GXDbq2*JvbpibO+Yz&r6o~Vvj zs(R>zUsogc8gz#He`+UboQn`4Gx-y-TxVHVEY;+ z8A|$_@-eZBblUQ~GQ!A$SSpZ12u+HKf{th*Y{G<3@#eb=AL=`wSaH>x6zbo^Ur!M* zC3`s&aiKY6dpy5pX^z~oNJCqp**|_Z6(gi(LRTeM$-mG zUaRi-z3KhoBi{}CqwUYNpe^0=W>=`eXxndOwChB@B_GtNs384XxS zdiCK0X#sb>1Pz`AV5jWCsFOqtb1Ey1j+3fz=Lh0=2HCIise)f_ z|L9&8y-QQy*0dqe64N67RX6hiKdQdev(N$U;gM$cm*a2EgTEFl0ciTuqK=2SV{g2a z|E2&bYX#ZTvk&&7%gG}LRT95xMJ+lQP+^>|T!F4~_}cJ^4Y?F@A8@)mrOuBYxHb|S zP|~S`L!k7I*fp6!H z4K-o=!C^PYhJ)9F;GBa=6Hj8lt}fAfCu=Ux%gmYBQX45uWwJ}6qrU@3Mz6`9Ubf{3 zgcZPbjCcK=t5<9Hj#TbbB{XD0X3w3*A#_#tS?xj*Ep%rjSk}pkZUA^LRY^6E+;wb$2Fn_ak{XLi!)ZaY zY{-)TrD(QNE^C9v-+7R^7yQ_UIT_B+hvu(sH!b%N9o`G<=QplevoZ#A|<7RW;do? zutQYGD8!|!I;!5dekQFMl`<%>x)h3t?rDkqTG!sw{cgV~JTI%_qXxCy`y1G|68mc2 zjn08d(e#jkPWeWI>tFJtCf8*AgB%XW7VNy$Lh>-(hYHM*ckp^{ zj*9-MGC;ese6Zdz;G}#17MijvIQ~#m_EyWK?qawb8kvxRZNb|oDQ-u!r-&QRFGAcM zG4jg9Qdm$0N4flr0U*<;1_=cTpoUc-*L)=;gBNP8a&1SRq(5~kC2M^RZ-2b-8T~j_ zaAoG%v@WrgE0fxS5-AXdg$iqsn$SHwZ&8Tfq;~M9!$tqdan*hI$C=JcB2c67t+W-I z-rnH@IuGAh*yA}mN~#*pK-8ztuJV#NeNBr6RWyCUN)PCpcznV23+>+BhOU@FBa3HR*M=XpxNYU2j^TDL$RIY)`kR}@PuMWNomZp@u0xnY;G(oO{+Qf+ ztjc7Kg)R{%4+mSXcW^!Qop-1wOaQ$G@0ui6HWsk|=A&+lMo(ZW z#cdjDuUMdJhk2oUa*}O;2}gLzaD4(WaKXZAfrmZ%U#<1Hopz)}Yq98k42k`?h(zM! zTb2@eT&<1q=+Y&r(AAGju5}R~B;ms_<`0mQhCHE^WbeDtaY}vuhvmzs-#V!wxsszk z9LPUf2#PCf*yB&09)glA1`Z1^CZ2#;uM`-~LPDCd$Mz6TBc9h^%H%ql0MX6NMnaE% zJ=&jqnBn26JS8VGN8_-B7!QEw#%aKqo-=Lw<~VhO)fd0MuvGU_4hv?ySB#iXv2 z`dZJaL1mg%2RmQ$fn2Y0y;cg&hZ&=itd7l|e>)2T+jUEpD#g9nPk;Ly zu8^!$Z~W)fKR-44vZ^k%QaOC8o!^$`b=f{dA=;yCOJy!E_&M>29&S_(H`^7S=?r(m zj?AS$8kG0vZtl6MD?TUcWF&V5f$6Ev=pP2{+d z&PA&bC(@=F6_cE(gtGdfs{0PqS~YzYAOuTdrqiAmJp>;VOU4#EwHO6xMZ=cYO-u$H z>6(A}P#rnWG*MB*XWDT+g>2!ti4L|VVF^MJfxHFfnDMVk?Kd_BaE$xn9w|50F%FAm z$Ryo1D2G>5e}0ujN%9>i3&%t$wa)`xPf7Kc5~8iAMr+Wh)e0P+Sxl#rGtmkDvH!3tG(S70~p_P6&uesXNY5si6KG9xTweVx|auh8@MZ z<~&8qNiK_H5yylv4Qt}?SlQc-{|Rm6wTrCmA^Q4^*&C_bHycxJKX1wD`D8{_$6N70 zadeO)gTMcYeatEWtHeEmV4b~!HMXP!MxYaKk+?BW9UtQ0Xc(Fm!zq#`d-Wsxhu&h` z*j*eRGwKggDchm~B0)H%N+w(SriW{y`tc94+0(R`(xK9yNW{;(IKM z9s2{_fag&wK)~6qkIc}Qm4a)C^IV6id4;UI&UPvE(?^QE&XKod0zVSr1i|GNN1}&$ znEZ*Z#(0Pq>}(y?B*EpJRzrJgVH652mNg0HXapV>>2Ho=&FSS($Q4=`RKP!Mzk0#P z)s9hsoBH{i;9*HrCGog4@SC)lzjc{mjhe5{Iik$6JZVT%&z$;|PTr*T>}QV6WBt|{ zUXh|y=BlW_f5}5zQ4iDLS|rci9H1uM)l<5tPDzfl&EQ@o>CM5%BFeLxcuNj^i$N)h z%U0xe^tGipA(@AQeaQo%()tQ}04roph@O#&7f;JR{G&fGSNS}~1~^p2yY=JCXmprx z8qsFOG2-c!5!k?upX>#?nD1o436ai$L8Xlc-lGN$ z$FOCl$oA9#j-xTMN9=a)(}`}cQyh1vS5wi(scVddZGu@&gwj4u(#Dip@T|fS z?8hJNn27v?+Ja`UZ$XEN0{Gi!cMj74N!G9Ll3iU~RV0~;^Ioe-4Q2I_RIvt#L${{< zuXyu`^c+7^$nrz`e2E%f#xcCGq7~r9w}&Bk?QvGep1R}49_n9=u0yCNA=%V+D2p_4 zdE{2S*i5=HY0k%>z#>m#Xig$vvxD|EFgJO!RDjAUw`l(=xW*R2LKSbmoJez(s){lC zjbK0&-_!B^cVXZ+!Ehe$FS%x@V8BgsuB5sNW*~AQPys4JQ2mvcOULb8Pq^hYx4%;c zjYRN~Ngb9n-O^|8_pihz{-VD?Z{ioMUtf}L(&;SRJ#=YVZB;4gsvgs+(j5)>I>x0g z+rc4-cJqx~yGvQ}!f(fTano$$mrYWE5mDqyXP-|QTc%I$qxb!(ZB-#utJ{UsUz>Ke zqg%9wWUz%ilp?P-N7pOI{F$<*$)W%RIUffD9?Fn6(P62?hNKktry~-1A;RqaysZK3 zYILd7)hBoBpV!rR5>3BESWs2epdY-wuQ#UvhFn1ne%+9V={tPK_7jt(cR#A)vF+FV zE1BGX2OQ{TLdBlie?pHcMT#ku=7m8^(W4U8#iCSb#Sfa$#iHzK0PjaX^wDPCoI*oa zOqpW&2eR$*%Yk2Y;pIB8U<#L>NL3{Hv>Jdx(6zsOpr=&)5NyD2L5@G9r?g0?KqbNw zLa`4vM|WCY(C9z!lj)3*3vg@oxQvvjfo~qTA41ahcdkdK6YMfnOmZD%vXAG+?9N|E zGf72$#qwEhNCeN-KnMkz<~{E&_J2b9tab3ONSgX8BS^c$8()m~9q*^BqKsE!;nC#b z(MSlKAPT)b^nyhiSA4tVAB;TuEqSZONRguny`4uE;D=f91 zixxx(3f#hKN-^R0h;`#bZolZqK{i8ujs|#dSHwV|1nFIxP+4V$Nq&uqw@s_(zIMHF z?61^;1TvJ5WEC=}WxZ+lh68daWuDBY8o(ke0Rnt2A910?dT9r+;jnGiPCxVl6)?9F>haKF} zyU2cAWMN%qfiG?eeJCwxtTnm2aX)X|Egf+RoQD1pUx?B*;|XPF9sVJZQ(8!)cR+je zg0SoKNa5-2lHlJ-G-68{h`-MJnuzD^6|CQfaFNrD%g72-P*X3XeL8dB=($B)gSml0i-gvEhnLownZ}ks z)PAR7=8HSh7qTv5whN+t3c&r2`+ilELxjB2V*0jS%4sm!jrOKO>P9Z>Uhqai94~C2 zV|q+7dLThL={0wdkMAYCprFRIE@Igz5EFZCaix{lzp3zF$U1gdzs^V@^U+ciAdb}O zOikkP$Q`i`Qo+Il+}g3g3BUc`ty)6uC8u)XjqL!&(Che{Fd(<4>df-~+}fyZ>$WlT zqB90$gE~!;Q+QJi$n4(f_^T;&?Pzg$d>YV<%A-2$)4OirJ*tW#613m4Hg5Rd+}u|n z*|jBXmH{9u6Eb-$-XF_&f~}aDj6~orE$P^qk-l^L00#s2ax!j620W$++vFv0YozR) zZfGy+3bJ>KPy9|My1g-vLdj2S&vwpdcZ1-yb+^a$V#5d{a)lbb%h>k%OT{v)#fu}q zojO1!ZNNWu)hJK_NXXNhrnPIiAVe$+HJ9#q2W9SWUsEZ#=@Dl{7ZGT4ZLy_dh-BsA zm0|4mI6Be~SB^*b{CBscRgkNe>j!}fYt`nj^o*BfSk05YyuKCPq<}wYe74^%6@RO` z0({S7qCJUeFTvf?u6o`l*;_ApH#BSEF)B)4mMr{fu?TuIeq4Ksef>Ky4a}|sC0%Eh z$t`m6cf89&gm?w?I&$UanfROtAp@IMX%5vhKTX+xx7beU#iU0U5A(#!%cS)^HO)=T z^=BZf4|vsYaM?ZA{+%#z@yEAhTe%)$VaNa)&U*)5)KP5zT8q#MRX2j??c6zFCM)sF z>jDNxNi}`md2ovitrmuix!549M0R+DXG~+y^NUYspKQm{pp}mk zb@i}DYhi2PThp8Mu^6m^x@%8=-~Ev;AOL2>6S#C?+)Po11Y}UN3v-gDI8QtF#F*D)2FD&FpVs%6@!t7Yc&&_&-ld-2R38#{DfkICX60K8S9gG7nTnWUb@ zno|w}0y@tEBLTvK6Q{CKQ*H|%`ZA*M79CRR)&0>_>QKZP!VD8zgEihatpMg6SIw{Q zL^TyPxv|C|2RqUZu^6W3Zx|iOiE|}Gyje?{D7wNB#!;Nq{Wi%n`k1lWLRhw194v9Q zEMCtXf18_3ydfz`;frndrIw*O-9P4zEuF_g6{hvt{*b+J@ zt_B@ls$1s`lMS`XYkC^ADr)Crirz~(eKvFGyej#Jr!23rDB!L=ZT0$^XwM^`c$W22j0&1Dnc;Z>o>_%jjT4>r?mJT;p<23gl{Gu*uyom1 ze$N3f3)`l-CY}s=r7KOk%dlJkHr8fV*!6dG&qb2y2a%Jy=qXh@860SAktB4$NTQ~B zy4Gj#m)>HqF2|LM8?HsV-9NtKF4Z)1{GfoP&dc*qPUlBLMJvG)5m}3C zfYig6r6247n-rYCw4zt2_6bwY#kk}HH{^F_mwAJ<8RQc~nY6{!F(ENlWrZOS>cdI& zQ64y;N1yl%L#%vgJ-+D3WvH=93KHB$%W6bQcCXDOsFm8S$zR8yfeqN$1(6UjkjXz+W^702S0J2b(`O(L8mchukTLY2gP9y0;U$YnlC$1!^fu zhzqD$l%p4`i$2qrTD?UDK_F{P(HAlIKjoh>}64(9idv{@hl-$%Z!*MA} zpFgKB1=ElULxlelXO&L4;>W?>aJ+mi$P-caQ?QM>R0S)NJ;!oyf;QCRDQUx*mMRXL z{7Lt3_bCW-PZ$;^G=&%PT@Ncfg$ZEZtpJfBkln8-FBiqwwGA##Wa0@10-Y)a&=*mP zx%sPs<_vSFr15tIb+m~#hH)5q2f_dT(BdPk$7U4lKVOs_1Glfdg+ zT9$hbyqu&0JdwF?*MB{_X!em)5p4ZRub5K!r9!Bxy!{JS&U`^YrtvIcqMxr}-~%*x z-CiW?4K5#Y^L;mbD2~!5lEn_XQo~lCQK^Q8#_{$?eoc=KYC~!Zg6&j`q8i8I4Zh#@ zx7=n|y*aw|Har%KQh#XPJ2HH`#@#TZkSzFfTfQUXtP;0Xat$;THU|{35{JYN=m}l) zLdcai=FCZyja2kU6bfAVm;+M5c4J@*Ekzp70bo^*t1S*sKpvQIS{Y$>y14_UM8^R< z0|MGNcEHal4xirXxfr4FyPe%cWNfgpj`vq1SD4(*R0;@j3Y^*f@cAm7!EyTF6Mea? zW-X2_eJF8dxrtNVp${D9T~p~mLKA4UuR!^sV?ZYmarn42_Ow%RAlCZ_Xg79!_r>Wr zLBrf7{P@H%=%#a`vjAjD7TsmOjm7TS;nLq(OK3M$EX2~KEwbhO*t@E{g0NAF(! zY5Ru}@CAfQT9?;QwD?N!Rg{q6u9MIHE0aqBflRU%`DeY8vm4A@tAVznY`8&Ul3{Cj`PH@vA>ZaHB54Pn&qsOWG`pJH2 zHm4B?1hy7nL%1}2EDmrNz0U}g7lgG;f$9!KOFL?_s8jnBAa0V4T`7p^R(WK%VDFXQ zz>$2=@ccZ_uJXh2ereDENsyw)Aw;_k|9F0)?9sYqLo|H0>~?8U|WW~Ut_=Sd(R^wGiRBmF4hJ(;6{$Y-;Y)DV8wm- zpb}0B@*b4|%!3}pMOQE@T_&3omPtX>#l`Ko6L~;|%UItz2l&>ziH-yOd)>o<#R1Ar z#9Z7tv)-MR@v{7Y4tE17Vey>KIsJn$F#O2vyH|XPSH}`H{N19)gv3RnJ=}xOYR?V& z2YRzPTTVKa=zBFN_PeO-d%)M6oH)r_L8J@rrnLmpeN0I7JP;Z?qIB0BR`Rm`!L6Uc z|Gco8eYI}t+r2dXW*F!$$)N`PcK)T|tN0q4zHH^{+>L`l@bSYXTX>Ysh_Tcr}j#|w8qZSt&RpLzQg#n!VlM~1S{gEo1fW?=bR;@e&x&O{PaPdj#yG% z4Q`Wx=Yy*Ri(|Hxbg_bbB%s()f|a?;;b3^72G5ZHy5~dpM zyoOGMpyGGUpoY-~?fLr4yA=g8H_+I_uc8|Ly61SfBs_06n=_BOusXZewNjC(O|cvL z{$)&+Eshms+N%AnoHPTbsW0up5*g;$WmR%!nwAW$l_Fd_KW4}U##{&`dIg&ZC+)ZL z`u?gZQVv3x&~@F6M&*9t*aB%zv=w@1KiXT+S5uBPVJizW+R#zu;24d$@aFt>TIDqD zyL-^}gMmQsjN~7|Xj)HgKb%rp2AYbm2OPtUCmO1~az;6uXs&$>ox~36{6tom+~OP* z0urj5X$a#QM+(lCK~C)FUO7I$LA##-@w|Wtwl@Q8rOoJSIUA|!$MhTyTd`#228O51 zfUh7+6IViIu@;s$3ITXyAoPR ziGAXm78Z=niUr-fQOrMZ?Fl`I01^5N^Wq~9FVDb5BEyRv;pMyaE4@k2p%5o_pI4y* z1sC7Z6RyY?St#Z~Hf3M(8Se=d)RbI5uoW!+0s;5Jaw|hzQseib4YD_#B8~}Deme?4r?HuJJ(3J4L*}4AZ{3G*KaG<82%q*EeTJ6&!op$rv z=1|2jPz+;v%7BB?lmM--sF7JS+IwOLrZ^?Wd!ue9&kD-ZC%h`aP)qkCh(sT_|7?`ESMbBnum?m+V3LM&kN@z2;S48y9k>y^hA*Ntu>wiexo8<`XkFVCvPA^!d8 z+FjaHmFE(y+n@>V8MR6GU>~~BB+_wvZ2{5f?fN|?(#NGf(}Z^+%u$z+fd2hZ3nMAh z<xj_|%<4Nj|C_S!UAT~+D97L#uau6@b7lu3sMda5lo1P1C)MfDfms$0oaEFl7(_Uy4^}# zI^|wa`LaI1)r#P7$N#rH)RM!Z{j>7VtFx(Y@fd5xeDKyeN)TbJ;F-E20|qbZFTXiV z<#c022`&-#ep#N}BwkE)bK96nvjgYp`vM}@WK=V-6{{dhYc&IJ$zIHQ=FealmdH&r zhUdNodQKYp4d^{U+_k$?AmX%XP62lG`b*SV_t+&eGNNH0o2+vQkvSL8#hF#$IIAIk9p>=zycz=JgolR z^8v0LdX@~d1`r5f_eUDd+wtU1vTm`xqvk~Nk{|Lc6q{f!bND#Q*s6b`0c~m z5%bh*%g{d|dkv17ov|_U7>3!`p8&JQ&Ug9N9GcpnZAY0C7eu28e>cNd%l(U>=N%Ck zPN1B5ixATmXNT4+NaKEW2DiFX;BNAWvXjXrGb&rZVmSvt`Q#6$FDzp$wxO?s z_^^?1OMa;dyc&8^;+@wMn7N;ocGfb9Jm()a98_?qq~F27BH|Xp6y$uRW@9i5{!t%) z>&QqU2}W*6j5){UXZhr8)8iU`o|d%Qt$kOL@%V^6pAf}neln@cpYO#;_dba6uD`jy z%j%mBJB^&`JswTuzaN;dQK|Lc?7jM{yP9bduwK1CjPX#WGI|=ar|~d)!dyEUgnc-NLM1-H&{53V!PdpN63vgK=gd+Y@>6SSK-CytDPjv8g0OP1K_ydPB z?Z)9Zjng|gg1+n1{>K{ho~sIh5Yh&FLfS|{Bk3PR>M;@iYim#Y>$mxN`S<<*Enjrs z!YFRJmqLi|wd|O7%?mT2Hb<|@=v3~F@`iSQ?%HsAWTHzTV4Ht6-{kSHo#zk{vqTn?u1G-c zyK6Bo%ILl%t+wBV0^U?K+ycT$p!VC*t4^tZncQDFvU8e}y2OOkro61Lb1FNrkPE)u zSrnD{uOH&NuE+KVxI0gn8Jh891sn2HFr(+Tx<;n5o2d0&yrcYf);FiIg05or>uxu> z2agw`y*k*bhBrx@w-36GDmr7=?+LBfNk`DpY*gC{T#_<{$!AGDjcVtG`t||9EcDDt z3BhlCpCgzI=K(&I@d!dwha(z_-U*|uGIBz#=3#Az%@(toSoo4@!mmp`hn{|yG?Nq> zoc7RS?snG#zYXNHP}kYw6?4~l?-e4BtPK5Tr%uYm3}#i&e^tA_2Z;|E+nxDl^h%pT zt8U|{lZxx2;J%-J8cXv24{{BfnD>2CweaJL?yW1Px9|-gv}sA%j*r^0XX9p-?CDmh zlsjlgPKxjZdV6`^kBKkX1syBN+X_ge-qd>YF`PwHCBO{mxbjCN&wFj}DnROb=4z1N zx`V)oczN~Y0_SXUdAq@GnzMSyS&v`rCjYQl>S@dU>DTl$z#qXr9idx$Cv!_ZUK0Lm zy8k++ZvV+5;mNiC8y1m+e1-SeS;(?l{Xjh2N$SyU0s(~RFDzrMe`O@0{~K;StBzBD zCmiN{8-AYJAJsqNXU3L1tAouU-+e>HnHo~%F^%_2)aTn~<~h=v1e85L&=w>cBrxG0 zl$~>Z?enHsayF~7nK%80ZT>bY2SdnSbzKdH|8FVE-@!Z~O-|dYjPG~kMkw$foDo_} zWJ%6-i)LE4PI0|;EAiEO=N7gchaMQVoYmc{oRN>Yd4Vvm;9>zP+w*?O&FpR%mP0Y7 zmR&5phgr1RPFQ_&CXLGW-y~tgv=S=W;8|tNy(52?WP@@QB7Ie}qwoetu~lSZHHUcz zkgPe*p?chPm_L5~d`l|n!DK#dx)?3XA`^Sm^4AP^3ePe%^FtOfN&4LqKJB(|(~^hU9*(0VBp#8&byvjwLfS1HF>%n7~-n{}%B2^g#;F6oC#nACeU161 zX)A``{R=_jZ+v>v%P{r)e94;>^#M!Fe2I7fq-5F$ho?Wfu3T>D6{7AU9TB!tcvQ*o zo{Id3&I~m-fnWp?KW6TV0>IYu&E=BscndHrcJXI@CyV zUeZPuky8(&KXHoIViyUBz8pFK@F$J76wm#!%I9mbL*q0M4DO{6-&Dp+{~AYTDt>>b zE+s(&=KgV({mkP_*4nDR1!>hWshbMvOocKIz5IS!Q9XkXm~E&=5!GAJ&Hcf8wpS_Zhxr1Ku_Gm@V151{o{fD0nW%%L7~O-E2$s5K2}ah@&z@vd)L zSL%|pC9mwC!4h!iyNdmAfqV$s!v5ziM#@Xd6`~!<38@A&-7A1_ZQFR9ExGV! z(KfZ2b(p0#*u2(=975GU>5)){3vdy8*L2IR*jhjO{_>GoO?Z08e5bPc)m!TDA?_te zsWI;~z4At4mA=JW#h_C#aUsU?xDv{}fi{s%=W>4@0`OUyXPWy~zdiYs*E`c52wx!Y zIjujnq84%NQd-0!O^=^;aboKX`5kJ^J45$pNmYe+QloB?vZ|GwyD5aV9Ua=upi6HU^MqGFf>D5|FSt&GMVmE_wd?I+*_`P`7o@ZWIXn8DfnGN<_ zoccO$U=;CckYruQ4RE+g!LdQog*)f=s`lclJ#pJ{3NP9 z0|%EK3oP908?S%ND;Q$|;P+NEAP> zVpm9@WAJ#HSyV_gVRAX=mzlL)^?f%pb8VWDdvQ?Lm3cW~nzU?`2 zd1u}?2Tuct3Te;e zoBiCCAibjtM;wJpFs>E zJ%Uh*70*?R2k`@48V)x-Dd8O>UHq284+}c;iF4lGGMx~0=3aT_lNcJQzlwyc+I2JB2Gs8=E^?_4%%8qe8q3&ag zen1+A!A$yZGj=)FKlH-zIDCEy-aq*13D;9up3kSbZxOF?E8aFY#TwqsY?9N)ic zRv~Q1r3n-u-8w6i(VCunFp?sUSrd(!FPb3Ou>SGr3*{Vch~tg%j3VBn^Hepq9qH>F z^>gbT^p4)1RdYc)V5xXyG*H7L7sVcJ3UT7YV2E~04`kV6}&i) zI03(lw+~)|s#rWHvT)Xir8c$uHaY(-)%?$-M+qa`QSZ-L;-5nBPji<$F#8|~<=W`2 zft>HPn`S4BE5sEae!RGG2@?>X2QRjbrZq+4h{+soHbKzmIka#uc8TjsiG2zRM@V1e#YG z8mZfeU-^^N!an6^8!g~h&f_gDI_{2%&|J&pD zchz5n5A_#U?|9hF52+>mo@aeK@OY!q28;diPr&?4kl$!fQzduwgz(L?yccy8fb_=p zB;o(fIuD=nI|-~>>Zk>9_ar_``r8H-wVThiV*Lvbh&srXWFl*Z*_-;0rrVH|7g9Q5 z0*?omPW?H(o1QHpoD&nc{Q0QIL=%MJ=lmF3Y_e1oKMhwwD7BHaKb2_=c;GF}SBmPce;LLcd(ay)e_${hI4qoL@ z4oJ(v9D>o-Dl?JQ5?p?ENS4OyME~U30so3b#I=r>xS`5S5TEN1=Q|1^BNkBa)&O@5# zntu+kND$dFs#+U8?bHa`>7!wO+DS!X=OHJ>&}{WJOmcD=h1|^L{o!Pig?S2nMr7#V zBYZ3Sms~k!WAarg==89Kr(~Hz2ytCQ#F1;rY7;G$TaF%a^gzjl#)H;}hTmb_p41{f zEP)4e6vH*FuxipVeoB^rKD2@KcbL3Ouaxs;cy>IzGT3DzA!)5Y#(BNO=MNU>U9p|Y zPU=xINyi3^f=K^O^7;)mYzE6Avyl;(hVzH)$@6PsiY5uFLBfR~S_vK+u|H0|rlTD| zBeG+@-*ZvjoVF{NZO&Xfh6~ShQI#WN8$t;&XbMvF>_YMrc#17Db)Vvy>CD-yP0$Aw6|ozk*GeA>B`9S{*^}na&3@1m~Kpk@~b-(n0gbGmlelQKhEd zH~sG9Qv7!CX71(Or=im>5#!&dY-Lls=n#ZV($gi>{p8QvN392&trg{wmYKT)o2>%lmWyJs@NyP=H<}>geOYI6NNmy! zO6DW`;Q^fa{XWmnXZO|j8%D1>SbIMkxXrv6WPLdN#$ja-E8yi4S9jF=0d7_H%>M|H zzHX`To8ncxduLy2@YnPg@IBcaAkY%q&PR&mk-?F1`+fQ_(9>a1hf0lf+l0z_NzwXJ zdQ)isWQlPGAIK^mqa+|eM@P;N*6yp36NL3}OBDk3?xIjVgta2b+GdoB@W^ znQ_=I-$_uF5twQe(b*{C(Db2_nKOB?7x9#Gzd%FF`cdk_p|OyHKYz7*rSxfTl)Yvn zgl`Yz;X?s);pgzZ9l_-|(3`v&eg8wo)@)Wn5Vv7MT?v;dQqxDN)1#f1u93%QkxG)P z>W^Poyc}-R`^g#stuj!IaH;8GkrT}vF9x}#89p%}zKrI#eHd(`I61Ra{!+jKh{&V{ zft`Ky$lzua1)6?EiVlj}Mh9-iC?Bsu%jaS5JJVgVApIvq(as@{JCl^pq-v+)@PI$D4lK7-%Wo67$v^Gd4b7tcqzw zv!M0^HOeT!dY#nT-3xgHx2G7!L)^BACs#Qbo&FH#rl4{3WktE#1a;qvxBC$%?v2=~ zUkF;q3qu!8yA9nne}aP;dwhpHIgGb}#{tHbD&lzZSo!Jg@xJ+g3*`00onZ#~cA)u{%_8IHFtC0-v(KdhD{LF4a^z9XkK z9>{8?LkeEnMO$JWN!Nb|ECb{{m!hI)rJs@n`IO7+xO=Pt(IK49_A#t_7F-g+8h zIuN&Ew++=|oV?L-lU|(_r|T<*JHI}OA;u~#@V~9wN4LgTgC48B#9K6Ml9qfJZrq=q zFur-16+Q?8k-tD{zI^%i;hB+Ueziqok{$frfGyD=}B}X!Z9d+wNQRZXqjHOi?{DSv@`*pv`_-uzuE9+r8aHgXPBf6#ssjG5be>30U#pDC*nh zTXX4?@IM;9N_Z`Fq$}x=6oB%u?uJ!%n_D6E>TGe=aQYttlJ+U>9-P_r@3Cm#De!E| zebGb?f!j`XqI==t{evMro#Z^42T zZ=n+FTIH5T=4bT^m}5{cHHN~_wAsY-bifbQC3W+*_;*%^K0N_{CmJ5{flKw5*;L5D zyBW@>KoZh=>mcd1WCfx4^ZvEEo(_k0-^bo4^=b~Q+1dnNMrXcqRb>3VX(=z{l5>!%Q=BYBpxCi{v7xQOuO6Un8Vvu~R zq1Pxz>aphg13oxSvNt^mM2}ii(ey^Rt1$UJPW&J1)@yRL)?JC5mNWueM()5REwN+4YeyuPnHW;6FplV@VvvVOPjmT z{E)9==;3zI{k>2bcUNE^sofcJ_%h=$WwPsLg*XB`L%a*oyItNQHm8AJIC%xTv6wTg zD;Jg2s+;JtaM35Iz{v9YgiY-6on81&9yYGCA=@jY}R(Q1Rv355^BX0y^EzTdlYc18r;}rjG{$`#GLF)5q9`pPwS9;V}qqY#M}XdIbRt2pOl|$d4>o+ z{7sKdo7<+Yr08lwBA;FgbB)EE?qkRR@olhbdJr71^LL90u6O<#4i(Xj_f9{p#uU?g zU{RkMhkQt_9t;@A^3K4nI_zd`p!|OVFBQ=0RuI05WgU3dhE=d`7-88-U>QLMW~{F^ z;2?^cqNA$tv{-VLgGQ*yD|WH^Yj$SCVgNfL@xBkYzCQQrwdpZ?+2(e_PDc3t#)a#) z&}&O{yJSU>b7yjd!XNptpQ8&lTrS|6ST~%Z-*@KVbWkrPY+<2B+#WRH+Y!5l#`jlV zxor8GGj!ho{}BL!m)#Ym%Ee?oWz14LZcCki)9Tqa24BX)f-x5 zATPbNa@=AuO2nEvD#!L%f0ED4MXhNiLvH-BxXTfl zy?}0>gF~yB$A%~NSj+J=OFW2NwWi{nYz8C~KQLuedlrR-Fsu(j;_w9n(;UCsL52es z8E3KPNBewEdzu+ur@E8=vi@D|FWQ>lXWyLvEB+^PE!NIGjSP3FFezbkwgj0VX>yd$_tq*SvQT2jj68% z!g+`Nl_HoRq^~jC@vlH&g^i!^5sh%%K8tBL34?4gj9G!+xeK!R959DU0(0ZGn_mML zhG}~4&Fg-b1K;6Zw|)Js>(e*wZU~-;k*VgR=F)axLf?V(QK2T5P0`z42o*REM`>_j;kRShHZgGaitA*Y6E!$_leP#NOUwX?v zjnofV43CqL|E(jJ9ImIKV{7yF^(M zkh)9q!Vi582Pga?3O0uk2R{L#GY_zEbKGN#FF711y2qQb#FLMlf@N&Mnh$Q;gR72V zcUy>p&0)=%IL9)^B+Zb_$yiDp^q>FGY5UORuz!aFcRdU4K;ZxY5iv(`WK`j9=@o_*ku-=)Em26r}aX@VyaZa?DI9qxGG1n#{jS+9E@^SK>4 ztvNvbk@g0oSkvv215n+3dc>e()d^7>bZk9mSa~TBqaI71Ue3iL2eHIZs$F&X*NuB$ zkB1-IlKy~GKI$T8XpY-~|9iHme(PJ8r?0+oeR}uFgVT@LcQ}|G%-G!gXK3bUk8c8k&6?Vqtb75LWNaPu^Fzt`Nq^Wx>{C*FO$eBy^! zmcRS4vv$Ay!t}?lUiDnKvcNY5@qLaD+k*dqeFx<~+5PqZ`2s#ELr z{>0}+>eyZZ@JxV-TU;l_$nAFh159l7?Ovq`XK-jVV^kI*GuF7!=<6lpYi=GOWUF-$ zhkleXF!XAL><@58kdKlc#DkaBk*}4#SL>rsBu_&^f@@-&$#9+dqmLi6hd4$3{qJ0v zKKJrfe~I^^Kuc=D;o$N3;f#qV!NP`F5rhaoSD8XglJGQ~s z?M>i+d+y@&m+ccwZn!7@vmZF+mo>O_!F^^d^m55;Kw$hfqVZrhW1ic>w>o~=bTH)a zLvvnR+L#|s28$+!((N|DxVJHem}Z;37PRw{evL?iBp%&%Y51!>pJCaM{{vHh!zk zod&>@%xf1u%3m3?`4JJ3IkNx#f;uKr{Ns3?~Ga%jU&^0IfY{2!leym*d^-?j^dkkl1 zRCAAY4j2dh5z9O(N50o&(e&ZXLrcYabEXo&*@4TJ8an}RfK4VD-9bEtBkKdU7=;bT+edy!U z(`OF(2QE6ZxSqzh@1D2#|7&+b@F;gVSlTWgzkPq_)88PimFQ(=|EiZM5k>v>B4I3} zpMjEqq6W4MQ&GO^Yq7*o0;hV78`~ADy2epgKl;NB76!<)7<_ANeK zL*tqmZ!Ym|IXqFg;J|~As)5Jvgn$cM-yfbds0Tm6fG6My`^yoWnelNro`kr3xp3{K z@mQbs{D}|kP&>9-e~h`OowCQOy~gbO+rN|xTKt#*Plp}tl#ET;V|mLFP4^oocI0Co z@*y2IVoPk8y+Frijb5JQBu|joUg|GCjRjERJq}?O=VoG4vM%BvfyFlRF+ced>R3%n z4kU#gXIf8b0sD;v3k4f_eBc1nAgl0{%v)qY3Xb=j!RLS41&`_IA?X~8w5+Y~4?bY= zz~cAsJ0~8C7d11!aGK&hz>t3BUDsdnX{^y;tM3F#rf4SIwx^x4IMStd({X3v$KPC!TjUg7s9$$P;o`I=1zCmmgqQs`}MSo3Sk`H#AC9%OAnh#f> zG+kVvG7tmt7oRD9Us#B>KQVhqGjB-=45^{x)dNqAesc_g=`4I^_q-BRe6&ey<1@Rs z>@G($Wb|^WWQ-cw=-Mcy|-KnM;?~Tt%&Y#5uCHQFU}@*m0ek zxyEs|ns{FlOB`%uR9(@~6+<6w98-?$BikH)36>a0>g1!OkA9BncbQJb&_Be}*~w8n zA@t3SX@?|MC3VFS3m;Eiu8%;#q@5DOAzrW<;zHxp4xPSU_Ba50492wec>31%7eW4S ztT5hRC@dK9)ah$-*}$JGDIJr51_uYRraEWZh;ts;xFsG#U~u`e3Clj6BEc)X-~u4| zsC!J9%f8esT#n0F#!xbsbHbQ$sEa;g>7)Hl`ePoXDc6(GktA!R4imO0DfSq6{v48z zu@RAbVr{56coFVA7;sBGx$bU%dJSy_Wq)3p>a0~I{gmqKbz&&hzsaV4)yXlk!8fw2 zO?7gqRKMzqp-w*~?T{mz+SRW*IX2n!$*fq_$)!^Lsw;*%{gkvrZnCLgb#iR7ZQGxG z#)(gXM)XYGR{wUdy@gd&=BE_bjEb5!*6pziaFVv~uOH8pv%$;+lpEmYzFYlmt|Soa z=Yf4uZf5mkw+O!A_*uGo$${4ndpNf)Y=2FYj8uW`aj0Ky7>_pPRNb*mkW&4slQ&=U znp)tS!8)tf*yEVK@6RaXYXtI+=BghmU-*M9C zW)1+fO=}6uaNo=W@-{Raq*PAT$;>(!R_sxC=?`|8HuN{RZPzjD!Dlka4z_3^GhR7W zr(dP|RVSvequ2)yH+A+ACpbEo)6QX;lTvXb9^xPy>;OD4d3eT^Gv)@Iri}O%OIypp zT}(~Q#X43R?4Zbj$%*>@U>sqU-ym|y;WYPm_h;a{dIsWOlEq7bFaP+67ai$e8_j12;KZRA9o_A3)Do;I+G7+~wWhiL z0$Xt$R}N|wqcz&c>;&9<8HLqC*HzSGwW)P+_tMwbysnlWd%wSRvsHce7wP4s+@9p{ z3W}3XNJPxdDR9_`9pOe?v_*8?laHK`wDsKEa%enb$*uXI>!w)cAV&SL0Ye)xl%ssK z_1rxN$Haq^G4yF3)t^ z(XQGq?$MaNXH2O3sY4>L!;;pp^zwDQj5GW2i%sQq5xm?ivZ)RBOypt?3!M2J({p4z zAiA+f#@ws^I1gS&+u!%Z@mtehJ=QodbH@+&q050QH-OAityNcB3F@%4ugCV@80(%q zy&Ol@8Wlf>1x9_;DV2kI@9W1cuJ^`R_r&*d9NE^(m{n}GRISFUjU138`^Z+Yy*I|X zSANyUk;`h(*pVJK{8HnXk9DYDdFY3vU9t45Zw|W-!x+Ud4<#|9oQk1erTU@k#<5E3 z#Bn^5BOBsIcC|s*hsLPhW8mvIVqk}^8^oVU(6XAA{N@c?k@{i+@Cj# zV?XE*rub5l%~mw#O_yV0Hpf^tpHn}6AoC;PO2LNNd~vka9X}xIo5JYG6PVq$oMfo_ zl_{}%t?;Xj7s2in4#%}v>nAqDR%B&WYhWE{ScZkBv2JnR77H$HD_9u!s6RgjkyP@+ zz^zuZXZ^`sMAn)!W&~Ez-uCfhmf$VSQU`6UgtAmJz_P}QO|8S`n?hKTh7#1+a_kk* z*ULZ#)^vZ$_85$@v6UPz!XnP_4HhZ_E_>(V7@6d1}Cu{V#=n>)J?i-JHh6Q zeojS)<+C2VaOF743v7+IXP#q95gCLru}K4qgH0*51P174bF=LV4qnAlH|eVF1nd7U zo{eGBvxH;sYJW{vSr1!jYi|2vT-#stgTA7xd(t10&TOo2bWHmGfR#&*WaPo*(JYLE zjE)UEUtYPs8Z>cQIOkQ2gW7zH&LnB0Kfvi=zF(n9V@e|^o-n(tX(G4)tEesDFH95B==%Tei2A`MruX@{Y) zD<*t#VGmG%D+m1K&kB-{*knjt9pSu^5oYXp$r<=IUye5RS95`0IaGI4_pEOHtVR1v zLP-&-c67f#PER|ZIV#5wDEt%{B#b%VJSH%6frMHyTtOb2i^ws#3wsPyZ}?WQL{ciF z>Yd+)ZmDa)!ETej?z}(E9lBPa`r`f&)YaQ&5mr-u)ZyLsPVKL4W-!`|{xGNd(Kpg^ z(wMIw(+&wA$D>%-`mK+Fe`K4pE0#Lts21?h&YIPRSlxOo$HXuf$Gsf+M>fW-<7XVD zVqxPpveQN!$12H79>|exlYcH|WLFz?O4i0Yn3r})V6oB0aai5%-?k%2ajx5rF&L{( zQrHyhdSa4!F=obBc@87 z?^drEYVGl(mB$8kP+vv17S_Dv_z}x|>-w{6Xn&?K#$~34?wgj9I>ek`;mP2l;BDlX z4#?BP@HCf1g@dsvIb=TNpbZ$r>uK738Z3M(xd1l5!ky1aWIh6x*34<6QGWo9_)7g! zPa#aMGFAfc<(Rb`zPI5ZFJeZD!YQ>0Tdus0l?b8UZi4efBoP=Yjd z)(ca!DK;ImSojz6v6lgT;b0xiM_KF^yfJ=ZJ>-P!^E653_*e-2DQQ;z!bhw*p{~uF z1alb7=h|FSzzT=>NV0+O4dQC?mmPVw|7qZ7+=PN+KP{0N@Dx|=y%yArfg4fo;J(mNDh{*+L)X2wclmVrR@VmmDQ*ca)jrL-ISp_A&i^3pG*jAz1CjVYxOEK$}{djJmhIMr~#-3)xjwpi#JoaB=D=yd-1D|6%))A)iL`=k1 zUHz&@9l*syeZ9__*UbZByylhuf^Aegdt|;5hCayZue$nGU)rD7u;KWTSFyBF*4pav ubiB`Sphg(RLsq})<5^$YpYvLO*#195;=x14+_;ng0000Hg1+lHrgWSWcKdPn90sKGrRqvPeo9CG3uKX#J{(IASm?@+di}}l?o-=)F3E6 zwD^Ni=!>T7nL9I?X}YoAW$t|Qo$sD|?zw001?ah|SeB6#0T!CBEf+H4bBB+JJu8re zhoBb*p;u8ID_yBf0ya+zcePvJL&AGs+11_tpRKn>9TgyPA7ZoSs0)aX0r00)%XR^J z`jH<$>RKN5V(7OqK*TS4xZz{h!*f1C3ECFkK$#7nA@pGN!$;%jYv zwjAKwmYb0gKL(K8-kPtb5${A?tlI~wzMrJ6wTdBr=Y%%%EaEMQ&o}4FQ^DA)s*}Z> z!FI&AHCpoWI|RUqx?7s@$8!5^Q=anY%X@i5{QA6kNcMelpE>R6eCYFpmMsVT zrI(b06~u#xf1yS}_UGdMvD``!0~u->P=lA4?YN`hilQ z|3tHka)7T{2CGqwjZfMwx$5irQN_*|e4l)UHmiYuz74Yp1t^#>hrJ3-SOXDcC_o0^ z7T9R1gAN8V6s;5)ieI5-7aQlmJn}lUna#nz!j%5V$X|o`xX!dHWQRV27P1=rj;t2b zW$~+pTw@bIek?ZvKPDL<64`^#UNTAck#RBsB6*5DP4<%UA_FqU$I>2EH_cM;u)Q~SI+rg`Rn{L z_AC5qq~L$#SMj%U$6Cz0vP{G5Y*=%5RT^yu;}-DInZ=349rJPVM6C3K^oO)8y(fJr{l>k`ead~!ea?NsT>_Ci%bnxC;Vy6= zb6>{xYV#Ue-+LB$7`JEXmTRm^AtP)R9u{)KHsMiWGV&)32xCG~*nyU<>-!d;FP=Re z4r3qYr~6#KE>;1F`>_J_P5xC?ROxV(DIHdCO*p$HRQI@7^PwV@Pvuf+ z5K}u-6REM(K@W$srgorh0{i?O)v0c>QtHxU-hBdD(>iYJ4b2sIOVX2K8m~4gmYVA5 zh^QEb$V`rCQ-|7ZS{nuL-t>?3n=-o(6I(7vocj#GzCZEo`!3>+v;dYIfPu#&ZWzzX z2i^rZ^Mu;6+rb@?NPG+6)c5T6zxpzGe*M(x+{AON=PiJ>H#?ob-|uwRK0yDg0B4PV z0id6JRRdfL?*IS*IAvH#W=%~1DgXcg2mk?xX#fNO00031000^Q000000-yo_1ONa4 z0RR91OrQe*1ONa40RR91OaK4?05x&t+5i9#14%?dRCodHTuYB!M-@K(nC_YG>3MiO z_QZ~j<5%K5t;9$O79^}tPz0NZMIwO&5`Q6ofDIcqh#g`VBqSDy1s0n~h_C>RLLdqW ziDQ{0w#hgi+w-1&@O`K5xm~xWZu@p;;!NTxXZqB6)~WAS)vc%BF0CE&l3g zR$wxGBKKuhH|n`sHKo3d)s51~>PAyXPiHdAm%PW5u~n^%T=k2HKkf>N~PA2a1?h^dvirPTdUIRwt-tY0dPQK7$;R7Ey+iCqDD>V=NrdkqXIrM}yW{yg!GKN_F z>DW^+)%X^5NT<+?V-vUvG8fpO%opJU!*?YpGO`eMi15W8>3u z{nD$7fe)Iu=o3u=SYMUa{?l;ALa2k#HRX4v*RvsMX^`UHR*kZ{JNflv<@@=qSUv7% zIhfUUdM7_!jyheL1P1K?;(LEos^FlOd-2fI3pj zK(r*h>H?YCm_DQy%P4&l8}$ofnJ%RO6VfuscR&=B>drWuhUG8|(;ty4; z=TSO^x|qytVmivKn4M9|t!~t8eQG+RF+bB8joD;nJmEBf(FQiSRUT``Cl@f{uoo#h z@BJL_fjY4vM#QRG8Jm!5y@kczf7{#xC=Ag>Vnd7+t11uCTFIZaEq6+r(mpcKpo%VpJV#xDm#ktQ%o8 z-Cq0#sa4(+dezi9SLP|a>OjA=&BSU{zc5aWPnt*{ve|G;QK?}z@&LLG0rUE_D0}Qb z+E3EXsIf-yBUV_$8b}x3Horbe^27Kt;hid@#u~;C_z@>hkfCp14rw;Iemp*P+c*}~D>8GSAu|gN+-Nj#I=}^7 zV@$>%uT&jy3K}C>9+rP@^c=+w_!(FPtOKC7Haa*HZprG+O}V|eCQDaWl(r!+SNX6l z=}1na_k64yPE_)~1YyU$OgMzcY85&4 zmBVu4+(DU`!p*A=>z=f?IHp;A4{K$RtcZ<^>>%pL>R%U|tZ1yz&gV-q#Tj#7Q;t7% zK;He^HM#iLtFpC;5r-wlFRoS0vTUcF2}jk;LQ~Fu^SI0%Y3clLBgo)l9r3L~S;*5i zCX2~KyO59h#ALo7RwfPtbghP^<&kHO$im4PdF}i~ovvJFG6fix9{uhsegu5&)RluL zXXUBqPRe+5Os8bVDP;H{G7&<99R6Tzl-fj9+U*Xc;Xhh>|FD3K^zUx_#j=d#z&^9@#DG|E0QE7_uh|qUef2h{ z>vHy6C-62bOQ(}J1xFc9vB$f6W$Zh51ZST;E`R>jo49e^&@BjuiubKiPaeh`Zp_qy zY93fcIvE+~Mcj7!)mo^{e4`FVT4Q!x9)9|WT=?yOh?TyF^qcQ47WswK`}F6|i+g?} zPBZEV9M$hm`HZgb;6=Ca;66EUVn(jM{jqL2^o!gw7P<${;Sv$C?T&x+X1+L{#G{PU z39Mx;5X*RbXD?6*C4-C_Zo*+Y|Z{qik-3DT8$3^{Jp z^o@{Nf*1fLBXgou&Prm|*WAI6hS8Xxf}gcx)RH96#Mxv<}LHReyu%HpLZUhkA- z76|I0+5%Wmqe%>7Q<^6?gF*VcrL%U7#&QdFwDDveoJD63PhwAoqY-zw<2d$kYVOwc z3!8D_rGgF$>u^HZFKnmuLL{aS%tvE^4KX5C)jD?b+;??{xZ)YD)zQ4lI4IALmt_@i z@>SfJgrHP`-3M;pOA*ueDM>d6xBvQ(d}&IF|k!8nX60F6_Wg;RDCi#2^Z&=V+LLfqHDr6=qb z*E>4Z3H+c!bcj`Ta=ziNZfQ*^9eql9o{Tyc-`*MyW#s*0F-_+4NgWd`eUOKm6?y60 zj2vxM<>p3Le)G<<{OQAW*S5yMH4Omy-a{=pJXw*STv(FDwXQsUe_g(FqA9dA&`n%B=%Uz3+05GFbzXM42!% za-$D*B$SbXkNQ#W#n83HVkOjKxrnX}Keo!XJ!UW3!Ns+Xyz>5zfF5?3^w*8D>D1%P!7>)tQkxFtXR`;s&;v|f0yrFOcGTb@ZD zEKgpj5-a=$IZj7FFIJd@6{{Pi+^?IR(NO2}Rwv~H^o!|KM!*t4{&jsre*XFrKoD8L zbUL%ICWkOuxJPof1dOAMK)Jd;sKlRkoX)3a#^k@Z+p>gve1d&tr7aK6)@1*9Nj_Na zNJU{yLt1Fio?Gn*kP%Q$ zW4A1*S@gsGVS}n%;J%d$o?ZQ@&6AsFsHdEhWzVgiHFBZ( zslG{o#FnFlQ-xcEzg%6D$M=uR+(bn_23Rk@c~h3L4so-(3_XD?!~GAJmgNDw0iOiG zw=e?FUs{o;0UGVrVe`v3mgL1V(+Vh?-NKx`a1DP-1Dd9o*JtEY`r-KxdVIaIXunWr z+U9Kam`kFvWt#eG7GVN3NMGNghemD3bC-;8#9}N==`MhLf^3XTrV?LCH zb|JqT{E*YpZ{sgHV1s_r^H7d>Oz_EMg7cKtU-Rh&gz3=na-&BkebZVf>V;le2T-CQT<}= zj2dfa{R#rc4zS@-%BX&^wnmM$bAJ89x5c!9MBeI_d!CGX-!`-hdD`d6{8*t4d0(Hf z>9e#PcFK?OgIL=~m?dS#mXs~XzCP6@fipa_x7I+n`9a@bKz+}w?T-0Haj1TVO#jRZP4Xmk&ySA4Q@oTD7u@=EDWIy vwOKFn+pY3se)K$>Sp1#v8zy(ZJ*)p8s4OUclp+Xu00000NkvXXu0mjf7H{*k diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-76@2x.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-76@2x.png deleted file mode 100644 index 4e0e04b75c5a70bf3a564dfea545d76ccd212ea2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15345 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 P00000NkvXXu0mjfu2Z_4 diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-83.5@2x.png b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/BlueWallet-83.5@2x.png deleted file mode 100644 index 40b59fb48931ddae4c6ecabea4895c62983685bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20288 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 X5iY<09#-FP00000NkvXXu0mjfs3O!q diff --git a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/Contents.json index ae17cf5c1..e118fd14c 100644 --- a/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/BlueWallet/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,172 +1,34 @@ { "images" : [ - { - "filename" : "BlueWallet-20@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" - }, - { - "filename" : "BlueWallet-20@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" - }, - { - "filename" : "BlueWallet-29@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "filename" : "BlueWallet-29@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" - }, - { - "filename" : "BlueWallet-40@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "filename" : "BlueWallet-40@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" - }, - { - "filename" : "BlueWallet-60@2x.png", - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "filename" : "BlueWallet-60@3x.png", - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" - }, - { - "filename" : "BlueWallet-20.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "20x20" - }, - { - "filename" : "BlueWallet-20@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "20x20" - }, - { - "filename" : "BlueWallet-29.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" - }, - { - "filename" : "BlueWallet-29@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "29x29" - }, - { - "filename" : "BlueWallet-40.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" - }, - { - "filename" : "BlueWallet-40@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" - }, - { - "filename" : "BlueWallet-76.png", - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" - }, - { - "filename" : "BlueWallet-76@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "76x76" - }, - { - "filename" : "BlueWallet-83.5@2x.png", - "idiom" : "ipad", - "scale" : "2x", - "size" : "83.5x83.5" - }, { "filename" : "BlueWallet-1024.png", - "idiom" : "ios-marketing", - "scale" : "1x", + "idiom" : "universal", + "platform" : "ios", "size" : "1024x1024" }, { - "filename" : "16.png", - "idiom" : "mac", - "scale" : "1x", - "size" : "16x16" - }, - { - "filename" : "32.png", - "idiom" : "mac", - "scale" : "2x", - "size" : "16x16" - }, - { - "filename" : "32-1.png", - "idiom" : "mac", - "scale" : "1x", - "size" : "32x32" - }, - { - "filename" : "64.png", - "idiom" : "mac", - "scale" : "2x", - "size" : "32x32" - }, - { - "filename" : "128.png", - "idiom" : "mac", - "scale" : "1x", - "size" : "128x128" - }, - { - "filename" : "256.png", - "idiom" : "mac", - "scale" : "2x", - "size" : "128x128" - }, - { - "filename" : "256-1.png", - "idiom" : "mac", - "scale" : "1x", - "size" : "256x256" - }, - { - "filename" : "512.png", - "idiom" : "mac", - "scale" : "2x", - "size" : "256x256" - }, - { - "filename" : "512-1.png", - "idiom" : "mac", - "scale" : "1x", - "size" : "512x512" - }, - { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], "filename" : "1024.png", - "idiom" : "mac", - "scale" : "2x", - "size" : "512x512" + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "filename" : "1024 1.png", + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" } ], "info" : { From 0f8fe061a2ab6831f213c2bb4082481ecd632aa4 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sun, 6 Oct 2024 18:51:24 +0000 Subject: [PATCH 32/41] Translate loc/en.json in es_419 100% reviewed source file: 'loc/en.json' on 'es_419'. --- loc/es_419.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/loc/es_419.json b/loc/es_419.json index 4a5c6adf9..8da84b8a3 100644 --- a/loc/es_419.json +++ b/loc/es_419.json @@ -10,6 +10,7 @@ "never": "Nunca", "of": "{number} de {total}", "ok": "OK", + "enter_url": "Introducir URL", "storage_is_encrypted": "Tu almacenamiento está encriptado. Se requiere contraseña para descifrarlo.", "yes": "Sí", "no": "No", @@ -25,7 +26,8 @@ "pick_file": "Escoge un archivo", "enter_amount": "Ingresa la cantidad", "qr_custom_input_button": "Pulsa 10 veces para ingresar una entrada personalizada", - "unlock": "Desbloquear" + "unlock": "Desbloquear", + "suggested": "Sugerido" }, "azteco": { "codeIs": "Tu código de cupón es", @@ -206,8 +208,10 @@ "performance_score": "Puntuación de rendimiento: {num}", "run_performance_test": "Prueba de rendimiento", "about_selftest": "Ejecutar auto-prueba", + "block_explorer_invalid_custom_url": "La URL proporcionada no es válida. Ingresa una URL válida que comience con http:// o https://.", "about_selftest_electrum_disabled": "La autocomprobación no está disponible con el modo sin conexión de Electrum. Desactiva el modo sin conexión y vuelve a intentarlo. ", "about_selftest_ok": "Todas las pruebas internas han pasado satisfactoriamente. La billetera funciona bien.", + "about_sm_github": "GitHub", "about_sm_discord": "Servidor Discord", "about_sm_telegram": "Chat de Telegram ", @@ -259,6 +263,9 @@ "encrypt_storage_explanation_description_line1": "Habilitar el cifrado de almacenamiento agrega una capa adicional de protección a tu aplicación al proteger la forma en que se almacenan tus datos en tu dispositivo. Esto hace que sea más difícil para cualquier persona acceder a tu información sin permiso.", "encrypt_storage_explanation_description_line2": "Sin embargo, es importante saber que este cifrado sólo protege el acceso a tus billeteras almacenadas en el llavero del dispositivo. No pone una contraseña ni ninguna protección adicional en las billeteras.", "i_understand": "Entiendo", + "block_explorer": "Explorador de bloques", + "block_explorer_preferred": "Utiliza el explorador de bloques preferido", + "block_explorer_error_saving_custom": "Error al guardar el explorador de bloques preferido", "encrypt_title": "Seguridad", "encrypt_tstorage": "Almacenamiento", "encrypt_use": "Usar {type}", From e82bcb4e1dc800ca1ee35a2045c11f1e30c11c3b Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Sun, 6 Oct 2024 18:06:41 -0400 Subject: [PATCH 33/41] Update ImportWalletDiscovery.tsx --- screen/wallets/ImportWalletDiscovery.tsx | 43 +++++++++++++++--------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/screen/wallets/ImportWalletDiscovery.tsx b/screen/wallets/ImportWalletDiscovery.tsx index 7a7e167cd..f8329e1ec 100644 --- a/screen/wallets/ImportWalletDiscovery.tsx +++ b/screen/wallets/ImportWalletDiscovery.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useMemo, useRef, useState } from 'react'; +import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { RouteProp, useRoute } from '@react-navigation/native'; import { ActivityIndicator, FlatList, LayoutAnimation, StyleSheet, View } from 'react-native'; import IdleTimerManager from 'react-native-idle-timer'; @@ -34,6 +34,12 @@ type ImportTask = { stop: () => void; }; +type WalletEntry = { + wallet: TWallet | THDWalletForWatchOnly; + subtitle: string; + id: string; +}; + const ImportWalletDiscovery: React.FC = () => { const navigation = useExtendedNavigation(); const { colors } = useTheme(); @@ -42,7 +48,7 @@ const ImportWalletDiscovery: React.FC = () => { const task = useRef(null); const { addAndSaveWallet } = useStorage(); const [loading, setLoading] = useState(true); - const [wallets, setWallets] = useState>([]); + const [wallets, setWallets] = useState([]); const [password, setPassword] = useState(); const [selected, setSelected] = useState(0); const [progress, setProgress] = useState(); @@ -62,12 +68,15 @@ const ImportWalletDiscovery: React.FC = () => { }, }); - const saveWallet = (wallet: TWallet) => { - if (importing.current) return; - importing.current = true; - addAndSaveWallet(wallet); - navigate('WalletsList'); - }; + const saveWallet = useCallback( + (wallet: TWallet | THDWalletForWatchOnly) => { + if (importing.current) return; + importing.current = true; + addAndSaveWallet(wallet); + navigate('WalletsList'); + }, + [addAndSaveWallet], + ); useEffect(() => { const onProgress = (data: string) => setProgress(data); @@ -76,6 +85,7 @@ const ImportWalletDiscovery: React.FC = () => { LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); const id = wallet.getID(); let subtitle: string | undefined; + try { // For watch-only wallets, display the descriptor or xpub if (wallet.type === WatchOnlyWallet.type) { @@ -88,6 +98,7 @@ const ImportWalletDiscovery: React.FC = () => { subtitle = (wallet as THDWalletForWatchOnly).getDerivationPath?.(); } } catch (e) {} + setWallets(w => [...w, { wallet, subtitle: subtitle || '', id }]); }; @@ -131,8 +142,7 @@ const ImportWalletDiscovery: React.FC = () => { task.current.stop(); } }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + }, [askPassphrase, importText, navigation, saveWallet, searchAccounts]); const handleCustomDerivation = () => { if (task.current) { @@ -141,7 +151,7 @@ const ImportWalletDiscovery: React.FC = () => { navigation.navigate('ImportCustomDerivationPath', { importText, password }); }; - const renderItem = ({ item, index }: { item: { wallet: TWallet; subtitle: string; id: string }; index: number }) => ( + const renderItem = ({ item, index }: { item: WalletEntry; index: number }) => ( { const ListHeaderComponent = useMemo( () => ( <> - {wallets.length > 0 ? ( + {wallets && wallets.length > 0 ? ( <> {loc.wallets.import_discovery_subtitle} @@ -168,7 +178,7 @@ const ImportWalletDiscovery: React.FC = () => { ) : null} ), - [wallets.length], + [wallets], ); const ListEmptyComponent = useMemo( @@ -213,9 +223,12 @@ const ImportWalletDiscovery: React.FC = () => {