From d62aed280d4f2866cdf06c4c89cc4d788b634b88 Mon Sep 17 00:00:00 2001 From: Maks Nabokov Date: Thu, 14 Mar 2024 11:52:07 +0300 Subject: [PATCH 1/9] intriduce timestamp precision --- contracts/pool/src/tests/budget.rs | 4 + contracts/pool/src/tests/set_price_feeds.rs | 5 + .../tests/snapshots/budget_utilization.snap | 136 +++++++++--------- contracts/pool/src/tests/sut.rs | 5 + contracts/pool/src/tests/twap_median_price.rs | 20 ++- contracts/pool/src/types/price_provider.rs | 11 +- contracts/s-token/src/tests/test.rs | 3 +- interfaces/pool-interface/src/types/mod.rs | 1 + .../pool-interface/src/types/price_feed.rs | 2 + .../src/types/timestamp_precision.rs | 8 ++ 10 files changed, 120 insertions(+), 75 deletions(-) create mode 100644 interfaces/pool-interface/src/types/timestamp_precision.rs diff --git a/contracts/pool/src/tests/budget.rs b/contracts/pool/src/tests/budget.rs index f35bf574..9c30dbb8 100644 --- a/contracts/pool/src/tests/budget.rs +++ b/contracts/pool/src/tests/budget.rs @@ -5,6 +5,7 @@ use pool_interface::types::collateral_params_input::CollateralParamsInput; use pool_interface::types::flash_loan_asset::FlashLoanAsset; use pool_interface::types::ir_params::IRParams; use pool_interface::types::oracle_asset::OracleAsset; +use pool_interface::types::timestamp_precision::TimestampPrecision; use pool_interface::types::price_feed::PriceFeed; use pool_interface::types::price_feed_config_input::PriceFeedConfigInput; use pool_interface::types::reserve_type::ReserveType; @@ -464,6 +465,7 @@ fn set_price_feed() { feed_asset: OracleAsset::Stellar(asset_1), feed_decimals: 14, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -477,6 +479,7 @@ fn set_price_feed() { feed_asset: OracleAsset::Stellar(asset_2), feed_decimals: 16, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -490,6 +493,7 @@ fn set_price_feed() { feed_asset: OracleAsset::Stellar(asset_3), feed_decimals: 16, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, diff --git a/contracts/pool/src/tests/set_price_feeds.rs b/contracts/pool/src/tests/set_price_feeds.rs index 9c7e3c2f..bef78967 100644 --- a/contracts/pool/src/tests/set_price_feeds.rs +++ b/contracts/pool/src/tests/set_price_feeds.rs @@ -4,6 +4,7 @@ extern crate std; use crate::tests::sut::{create_pool_contract, create_price_feed_contract}; use crate::*; use pool_interface::types::oracle_asset::OracleAsset; +use pool_interface::types::timestamp_precision::TimestampPrecision; use pool_interface::types::price_feed::PriceFeed; use price_feed_interface::PriceFeedClient; use soroban_sdk::testutils::{Address as _, AuthorizedFunction, AuthorizedInvocation}; @@ -37,6 +38,7 @@ fn should_require_admin() { feed_asset: OracleAsset::Stellar(asset_1), feed_decimals: 14, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -50,6 +52,7 @@ fn should_require_admin() { feed_asset: OracleAsset::Stellar(asset_2), feed_decimals: 16, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -103,6 +106,7 @@ fn should_set_price_feed() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -116,6 +120,7 @@ fn should_set_price_feed() { feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 16, twap_records: 9, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, diff --git a/contracts/pool/src/tests/snapshots/budget_utilization.snap b/contracts/pool/src/tests/snapshots/budget_utilization.snap index 446d6bed..367db955 100644 --- a/contracts/pool/src/tests/snapshots/budget_utilization.snap +++ b/contracts/pool/src/tests/snapshots/budget_utilization.snap @@ -1,66 +1,66 @@ ['pool::tests::budget::account_position'] = { - "cpu_cost": 33177730, - "memory_cost": 7449299, + "cpu_cost": 33318369, + "memory_cost": 7473673, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::borrow'] = { - "cpu_cost": 46721942, - "memory_cost": 11477175, + "cpu_cost": 46883529, + "memory_cost": 11509551, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::collat_coeff'] = { - "cpu_cost": 26663366, - "memory_cost": 4292904, + "cpu_cost": 26760121, + "memory_cost": 4306632, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::configure_as_collateral'] = { - "cpu_cost": 27068830, - "memory_cost": 4362168, + "cpu_cost": 27188077, + "memory_cost": 4380060, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::debt_coeff'] = { - "cpu_cost": 26297173, - "memory_cost": 4223983, + "cpu_cost": 26376812, + "memory_cost": 4234519, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::deposit'] = { - "cpu_cost": 36221165, - "memory_cost": 6680583, + "cpu_cost": 36374822, + "memory_cost": 6705630, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::enable_borrowing_on_reserve'] = { - "cpu_cost": 26537036, - "memory_cost": 4280312, + "cpu_cost": 26633119, + "memory_cost": 4293948, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::flash_loan_fee'] = { - "cpu_cost": 26068715, - "memory_cost": 4185636, + "cpu_cost": 26142826, + "memory_cost": 4195108, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::flash_loan_with_borrow'] = { - "cpu_cost": 89762054, - "memory_cost": 24936518, + "cpu_cost": 89969482, + "memory_cost": 24981410, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::flash_loan_without_borrow'] = { - "cpu_cost": 54935740, - "memory_cost": 12561187, + "cpu_cost": 55038478, + "memory_cost": 12576142, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::get_reserve'] = { - "cpu_cost": 26129753, - "memory_cost": 4187486, + "cpu_cost": 26203792, + "memory_cost": 4196958, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } @@ -71,104 +71,104 @@ "memory_limit_exceeded": false, } ['pool::tests::budget::ir_params'] = { - "cpu_cost": 26134139, - "memory_cost": 4201051, + "cpu_cost": 26208538, + "memory_cost": 4210523, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::liquidate_receive_stoken_when_borrower_has_two_debts'] = { - "cpu_cost": 49036586, - "memory_cost": 11746255, + "cpu_cost": 49182233, + "memory_cost": 11783951, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::liquidate_receive_underlying_when_borrower_has_one_debt'] = { - "cpu_cost": 48785746, - "memory_cost": 11778412, + "cpu_cost": 48966233, + "memory_cost": 11819300, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::liquidate_receive_underlying_when_borrower_has_two_debts'] = { - "cpu_cost": 49083273, - "memory_cost": 11755779, + "cpu_cost": 49241680, + "memory_cost": 11795603, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::paused'] = { - "cpu_cost": 26063313, - "memory_cost": 4185426, + "cpu_cost": 26137424, + "memory_cost": 4194898, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::price_feed'] = { - "cpu_cost": 26076504, - "memory_cost": 4185963, + "cpu_cost": 26150603, + "memory_cost": 4195435, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::repay_full'] = { - "cpu_cost": 32761812, - "memory_cost": 6339803, + "cpu_cost": 32878753, + "memory_cost": 6360762, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::repay_partial'] = { - "cpu_cost": 32798625, - "memory_cost": 6330221, + "cpu_cost": 32912698, + "memory_cost": 6351180, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::s_token_transfer'] = { - "cpu_cost": 41041443, - "memory_cost": 9562428, + "cpu_cost": 41177188, + "memory_cost": 9585445, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::set_as_collateral'] = { - "cpu_cost": 32344233, - "memory_cost": 7318515, + "cpu_cost": 32447100, + "memory_cost": 7335441, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::set_base_asset'] = { - "cpu_cost": 26367575, - "memory_cost": 4257962, + "cpu_cost": 26458218, + "memory_cost": 4270534, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::set_flash_loan_fee'] = { - "cpu_cost": 26363322, - "memory_cost": 4257794, + "cpu_cost": 26454029, + "memory_cost": 4270366, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::set_ir_params'] = { - "cpu_cost": 26377569, - "memory_cost": 4258539, + "cpu_cost": 26468276, + "memory_cost": 4271111, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::set_pause'] = { - "cpu_cost": 26361435, - "memory_cost": 4257812, + "cpu_cost": 26452142, + "memory_cost": 4270384, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::set_price_feed'] = { - "cpu_cost": 139970, - "memory_cost": 22484, + "cpu_cost": 143627, + "memory_cost": 23213, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::set_reserve_status'] = { - "cpu_cost": 26536487, - "memory_cost": 4280303, + "cpu_cost": 26632570, + "memory_cost": 4293939, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::stoken_underlying_balance'] = { - "cpu_cost": 26082916, - "memory_cost": 4188714, + "cpu_cost": 26157303, + "memory_cost": 4198186, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } @@ -179,38 +179,38 @@ "memory_limit_exceeded": false, } ['pool::tests::budget::upgrade'] = { - "cpu_cost": 26273639, - "memory_cost": 4239762, + "cpu_cost": 26359734, + "memory_cost": 4251362, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::upgrade_debt_token'] = { - "cpu_cost": 30064345, - "memory_cost": 5835609, + "cpu_cost": 30105438, + "memory_cost": 5841764, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::upgrade_s_token'] = { - "cpu_cost": 33846389, - "memory_cost": 6268209, + "cpu_cost": 33933142, + "memory_cost": 6279516, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::user_configuration'] = { - "cpu_cost": 25889230, - "memory_cost": 4159017, + "cpu_cost": 25948517, + "memory_cost": 4166581, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::withdraw_full'] = { - "cpu_cost": 42973403, - "memory_cost": 9824025, + "cpu_cost": 43154856, + "memory_cost": 9858654, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::withdraw_partial'] = { - "cpu_cost": 42568901, - "memory_cost": 9814013, + "cpu_cost": 42761350, + "memory_cost": 9848642, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } diff --git a/contracts/pool/src/tests/sut.rs b/contracts/pool/src/tests/sut.rs index 69eb1cad..daa022e6 100644 --- a/contracts/pool/src/tests/sut.rs +++ b/contracts/pool/src/tests/sut.rs @@ -5,6 +5,7 @@ use crate::*; use debt_token_interface::DebtTokenClient; use flash_loan_receiver_interface::FlashLoanReceiverClient; use pool_interface::types::oracle_asset::OracleAsset; +use pool_interface::types::timestamp_precision::TimestampPrecision; use pool_interface::types::price_feed::PriceFeed; use price_feed_interface::types::asset::Asset; use price_feed_interface::types::price_data::PriceData; @@ -257,6 +258,7 @@ pub(crate) fn init_pool<'a>(env: &Env, use_pool_wasm: bool) -> Sut<'a> { feed_asset: OracleAsset::Stellar(reserves[0].token.address.clone()), feed_decimals: 14, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -270,6 +272,7 @@ pub(crate) fn init_pool<'a>(env: &Env, use_pool_wasm: bool) -> Sut<'a> { feed_asset: OracleAsset::Stellar(reserves[1].token.address.clone()), feed_decimals: 16, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -283,6 +286,7 @@ pub(crate) fn init_pool<'a>(env: &Env, use_pool_wasm: bool) -> Sut<'a> { feed_asset: OracleAsset::Stellar(reserves[2].token.address.clone()), feed_decimals: 16, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -296,6 +300,7 @@ pub(crate) fn init_pool<'a>(env: &Env, use_pool_wasm: bool) -> Sut<'a> { feed_asset: OracleAsset::Stellar(reserves[3].token.address.clone()), feed_decimals: 15, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, diff --git a/contracts/pool/src/tests/twap_median_price.rs b/contracts/pool/src/tests/twap_median_price.rs index 7dd8f9c0..16f11eca 100644 --- a/contracts/pool/src/tests/twap_median_price.rs +++ b/contracts/pool/src/tests/twap_median_price.rs @@ -1,6 +1,7 @@ use pool_interface::types::oracle_asset::OracleAsset; use pool_interface::types::price_feed::PriceFeed; use pool_interface::types::price_feed_config_input::PriceFeedConfigInput; +use pool_interface::types::timestamp_precision::TimestampPrecision; use price_feed_interface::types::asset::Asset; use price_feed_interface::types::price_data::PriceData; use soroban_sdk::testutils::{Address as _, Ledger}; @@ -47,6 +48,7 @@ fn should_fail_when_feed_is_missing_for_asset() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -99,6 +101,7 @@ fn should_fail_when_price_is_missing_in_feed() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, // price feed with Other asset PriceFeed { @@ -106,6 +109,7 @@ fn should_fail_when_price_is_missing_in_feed() { feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 10, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, @@ -137,19 +141,19 @@ fn should_return_twap_median_price() { &env, PriceData { price: 120_000_000_000_000_000, - timestamp: 1704790200000, // delta = 300_000 + timestamp: 1704790200, // delta = 300_000 }, PriceData { price: 100_000_000_000_000_000, - timestamp: 1704789900000, // delta = 300_000 + timestamp: 1704789900, // delta = 300_000 }, PriceData { price: 90_000_000_000_000_000, - timestamp: 1704789600000, // delta = 300_000 + timestamp: 1704789600, // delta = 300_000 }, PriceData { price: 100_000_000_000_000_000, - timestamp: 1704789300000, // delta = 0 + timestamp: 1704789300, // delta = 0 }, ], ); @@ -178,6 +182,7 @@ fn should_return_twap_median_price() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, // price feed with Other asset PriceFeed { @@ -185,6 +190,7 @@ fn should_return_twap_median_price() { feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 10, twap_records: 10, + timestamp_precision: TimestampPrecision::Mili, }, ], }, @@ -192,7 +198,8 @@ fn should_return_twap_median_price() { sut.pool.set_price_feeds(&price_feeds); - env.ledger().with_mut(|li| li.timestamp = 1704790800000); // delta = 600_000 + env.ledger().with_mut(|li| li.timestamp = 1704790800); // delta = 600_000 + extern crate std; let twap_median_price_1 = sut.pool.twap_median_price(&asset_1, &1_000_000_000); @@ -223,6 +230,7 @@ fn should_return_twap_median_price() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, // price feed with Other asset PriceFeed { @@ -230,12 +238,14 @@ fn should_return_twap_median_price() { feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 10, twap_records: 10, + timestamp_precision: TimestampPrecision::Mili, }, PriceFeed { feed: asset_1_feed_3.address.clone(), feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 10, twap_records: 10, + timestamp_precision: TimestampPrecision::Mili, }, ], }, diff --git a/contracts/pool/src/types/price_provider.rs b/contracts/pool/src/types/price_provider.rs index f8f09cff..71dfb27c 100644 --- a/contracts/pool/src/types/price_provider.rs +++ b/contracts/pool/src/types/price_provider.rs @@ -5,6 +5,7 @@ use pool_interface::types::base_asset_config::BaseAssetConfig; use pool_interface::types::error::Error; use pool_interface::types::price_feed::PriceFeed; use pool_interface::types::price_feed_config::PriceFeedConfig; +use pool_interface::types::timestamp_precision::TimestampPrecision; use price_feed_interface::PriceFeedClient; use soroban_sdk::{Address, Env, Map, Vec}; @@ -116,7 +117,7 @@ impl<'a> PriceProvider<'a> { return Ok(prices.first_unchecked().price); } - let curr_time = self.env.ledger().timestamp(); + let curr_time = precise_timestamp(self.env, &config.timestamp_precision); let mut cum_price = { let price_curr = prices.get_unchecked(0); @@ -189,3 +190,11 @@ impl<'a> PriceProvider<'a> { Ok(median_price) } } + +pub(crate) fn precise_timestamp(env: &Env, precision: &TimestampPrecision) -> u64 { + let secs = env.ledger().timestamp(); + match precision { + TimestampPrecision::Mili => secs * 1000, + TimestampPrecision::Seconds => secs, + } +} diff --git a/contracts/s-token/src/tests/test.rs b/contracts/s-token/src/tests/test.rs index 32875fc9..34d79528 100644 --- a/contracts/s-token/src/tests/test.rs +++ b/contracts/s-token/src/tests/test.rs @@ -10,7 +10,7 @@ use soroban_sdk::token::{Client as TokenClient, StellarAssetClient as TokenAdmin use soroban_sdk::{symbol_short, vec, Address, Env, IntoVal, Symbol}; use self::pool::{ - CollateralParamsInput, IRParams, OracleAsset, PriceFeed, PriceFeedConfigInput, ReserveType, + CollateralParamsInput, IRParams, OracleAsset, PriceFeed, PriceFeedConfigInput, ReserveType, TimestampPrecision }; mod pool { @@ -77,6 +77,7 @@ fn create_token<'a>( feed_asset: OracleAsset::Stellar(underlying_asset.address.clone()), feed_decimals: 14, twap_records: 10, + timestamp_precision: TimestampPrecision::Seconds, }, ], }, diff --git a/interfaces/pool-interface/src/types/mod.rs b/interfaces/pool-interface/src/types/mod.rs index d65f289c..723161dd 100644 --- a/interfaces/pool-interface/src/types/mod.rs +++ b/interfaces/pool-interface/src/types/mod.rs @@ -6,6 +6,7 @@ pub mod error; pub mod flash_loan_asset; pub mod ir_params; pub mod oracle_asset; +pub mod timestamp_precision; pub mod price_feed; pub mod price_feed_config; pub mod price_feed_config_input; diff --git a/interfaces/pool-interface/src/types/price_feed.rs b/interfaces/pool-interface/src/types/price_feed.rs index 758b2080..b3c570c7 100644 --- a/interfaces/pool-interface/src/types/price_feed.rs +++ b/interfaces/pool-interface/src/types/price_feed.rs @@ -1,6 +1,7 @@ use soroban_sdk::{contracttype, Address}; use super::oracle_asset::OracleAsset; +use super::timestamp_precision::TimestampPrecision; #[derive(Clone)] #[contracttype] @@ -9,4 +10,5 @@ pub struct PriceFeed { pub feed_asset: OracleAsset, pub feed_decimals: u32, pub twap_records: u32, + pub timestamp_precision: TimestampPrecision, } diff --git a/interfaces/pool-interface/src/types/timestamp_precision.rs b/interfaces/pool-interface/src/types/timestamp_precision.rs new file mode 100644 index 00000000..3ef12d3f --- /dev/null +++ b/interfaces/pool-interface/src/types/timestamp_precision.rs @@ -0,0 +1,8 @@ +use soroban_sdk::contracttype; + +#[derive(Clone)] +#[contracttype] +pub enum TimestampPrecision { + Mili, + Seconds, +} From 417222d35c0dd2f5b04c1fe4def3225621710831 Mon Sep 17 00:00:00 2001 From: Maks Nabokov Date: Thu, 14 Mar 2024 11:56:20 +0300 Subject: [PATCH 2/9] fmt --- contracts/pool/src/tests/budget.rs | 2 +- contracts/pool/src/tests/set_price_feeds.rs | 2 +- .../tests/snapshots/budget_utilization.snap | 42 +++++++++---------- contracts/pool/src/tests/sut.rs | 2 +- contracts/s-token/src/tests/test.rs | 3 +- interfaces/pool-interface/src/types/mod.rs | 2 +- 6 files changed, 27 insertions(+), 26 deletions(-) diff --git a/contracts/pool/src/tests/budget.rs b/contracts/pool/src/tests/budget.rs index 9c30dbb8..ad316ced 100644 --- a/contracts/pool/src/tests/budget.rs +++ b/contracts/pool/src/tests/budget.rs @@ -5,10 +5,10 @@ use pool_interface::types::collateral_params_input::CollateralParamsInput; use pool_interface::types::flash_loan_asset::FlashLoanAsset; use pool_interface::types::ir_params::IRParams; use pool_interface::types::oracle_asset::OracleAsset; -use pool_interface::types::timestamp_precision::TimestampPrecision; use pool_interface::types::price_feed::PriceFeed; use pool_interface::types::price_feed_config_input::PriceFeedConfigInput; use pool_interface::types::reserve_type::ReserveType; +use pool_interface::types::timestamp_precision::TimestampPrecision; use pool_interface::LendingPoolClient; use price_feed_interface::types::asset::Asset; use price_feed_interface::types::price_data::PriceData; diff --git a/contracts/pool/src/tests/set_price_feeds.rs b/contracts/pool/src/tests/set_price_feeds.rs index bef78967..8b9dc75c 100644 --- a/contracts/pool/src/tests/set_price_feeds.rs +++ b/contracts/pool/src/tests/set_price_feeds.rs @@ -4,8 +4,8 @@ extern crate std; use crate::tests::sut::{create_pool_contract, create_price_feed_contract}; use crate::*; use pool_interface::types::oracle_asset::OracleAsset; -use pool_interface::types::timestamp_precision::TimestampPrecision; use pool_interface::types::price_feed::PriceFeed; +use pool_interface::types::timestamp_precision::TimestampPrecision; use price_feed_interface::PriceFeedClient; use soroban_sdk::testutils::{Address as _, AuthorizedFunction, AuthorizedInvocation}; use soroban_sdk::{symbol_short, vec, IntoVal, Symbol}; diff --git a/contracts/pool/src/tests/snapshots/budget_utilization.snap b/contracts/pool/src/tests/snapshots/budget_utilization.snap index 367db955..5f44fae7 100644 --- a/contracts/pool/src/tests/snapshots/budget_utilization.snap +++ b/contracts/pool/src/tests/snapshots/budget_utilization.snap @@ -1,17 +1,17 @@ ['pool::tests::budget::account_position'] = { - "cpu_cost": 33318369, + "cpu_cost": 33315489, "memory_cost": 7473673, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::borrow'] = { - "cpu_cost": 46883529, + "cpu_cost": 46879353, "memory_cost": 11509551, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::collat_coeff'] = { - "cpu_cost": 26760121, + "cpu_cost": 26759257, "memory_cost": 4306632, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, @@ -23,13 +23,13 @@ "memory_limit_exceeded": false, } ['pool::tests::budget::debt_coeff'] = { - "cpu_cost": 26376812, + "cpu_cost": 26376380, "memory_cost": 4234519, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::deposit'] = { - "cpu_cost": 36374822, + "cpu_cost": 36372806, "memory_cost": 6705630, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, @@ -47,13 +47,13 @@ "memory_limit_exceeded": false, } ['pool::tests::budget::flash_loan_with_borrow'] = { - "cpu_cost": 89969482, + "cpu_cost": 89966602, "memory_cost": 24981410, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::flash_loan_without_borrow'] = { - "cpu_cost": 55038478, + "cpu_cost": 55039918, "memory_cost": 12576142, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, @@ -71,25 +71,25 @@ "memory_limit_exceeded": false, } ['pool::tests::budget::ir_params'] = { - "cpu_cost": 26208538, + "cpu_cost": 26208250, "memory_cost": 4210523, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::liquidate_receive_stoken_when_borrower_has_two_debts'] = { - "cpu_cost": 49182233, + "cpu_cost": 49191737, "memory_cost": 11783951, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::liquidate_receive_underlying_when_borrower_has_one_debt'] = { - "cpu_cost": 48966233, + "cpu_cost": 48976169, "memory_cost": 11819300, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::liquidate_receive_underlying_when_borrower_has_two_debts'] = { - "cpu_cost": 49241680, + "cpu_cost": 49251328, "memory_cost": 11795603, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, @@ -107,25 +107,25 @@ "memory_limit_exceeded": false, } ['pool::tests::budget::repay_full'] = { - "cpu_cost": 32878753, + "cpu_cost": 32876593, "memory_cost": 6360762, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::repay_partial'] = { - "cpu_cost": 32912698, + "cpu_cost": 32910538, "memory_cost": 6351180, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::s_token_transfer'] = { - "cpu_cost": 41177188, + "cpu_cost": 41175748, "memory_cost": 9585445, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::set_as_collateral'] = { - "cpu_cost": 32447100, + "cpu_cost": 32445228, "memory_cost": 7335441, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, @@ -167,7 +167,7 @@ "memory_limit_exceeded": false, } ['pool::tests::budget::stoken_underlying_balance'] = { - "cpu_cost": 26157303, + "cpu_cost": 26157015, "memory_cost": 4198186, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, @@ -185,31 +185,31 @@ "memory_limit_exceeded": false, } ['pool::tests::budget::upgrade_debt_token'] = { - "cpu_cost": 30105438, + "cpu_cost": 30105150, "memory_cost": 5841764, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::upgrade_s_token'] = { - "cpu_cost": 33933142, + "cpu_cost": 33933718, "memory_cost": 6279516, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::user_configuration'] = { - "cpu_cost": 25948517, + "cpu_cost": 25948373, "memory_cost": 4166581, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::withdraw_full'] = { - "cpu_cost": 43154856, + "cpu_cost": 43150968, "memory_cost": 9858654, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, } ['pool::tests::budget::withdraw_partial'] = { - "cpu_cost": 42761350, + "cpu_cost": 42757462, "memory_cost": 9848642, "cpu_limit_exceeded": false, "memory_limit_exceeded": false, diff --git a/contracts/pool/src/tests/sut.rs b/contracts/pool/src/tests/sut.rs index daa022e6..9b7b0bfd 100644 --- a/contracts/pool/src/tests/sut.rs +++ b/contracts/pool/src/tests/sut.rs @@ -5,8 +5,8 @@ use crate::*; use debt_token_interface::DebtTokenClient; use flash_loan_receiver_interface::FlashLoanReceiverClient; use pool_interface::types::oracle_asset::OracleAsset; -use pool_interface::types::timestamp_precision::TimestampPrecision; use pool_interface::types::price_feed::PriceFeed; +use pool_interface::types::timestamp_precision::TimestampPrecision; use price_feed_interface::types::asset::Asset; use price_feed_interface::types::price_data::PriceData; use price_feed_interface::PriceFeedClient; diff --git a/contracts/s-token/src/tests/test.rs b/contracts/s-token/src/tests/test.rs index 34d79528..0bc3f321 100644 --- a/contracts/s-token/src/tests/test.rs +++ b/contracts/s-token/src/tests/test.rs @@ -10,7 +10,8 @@ use soroban_sdk::token::{Client as TokenClient, StellarAssetClient as TokenAdmin use soroban_sdk::{symbol_short, vec, Address, Env, IntoVal, Symbol}; use self::pool::{ - CollateralParamsInput, IRParams, OracleAsset, PriceFeed, PriceFeedConfigInput, ReserveType, TimestampPrecision + CollateralParamsInput, IRParams, OracleAsset, PriceFeed, PriceFeedConfigInput, ReserveType, + TimestampPrecision, }; mod pool { diff --git a/interfaces/pool-interface/src/types/mod.rs b/interfaces/pool-interface/src/types/mod.rs index 723161dd..7c60a2d9 100644 --- a/interfaces/pool-interface/src/types/mod.rs +++ b/interfaces/pool-interface/src/types/mod.rs @@ -6,11 +6,11 @@ pub mod error; pub mod flash_loan_asset; pub mod ir_params; pub mod oracle_asset; -pub mod timestamp_precision; pub mod price_feed; pub mod price_feed_config; pub mod price_feed_config_input; pub mod reserve_configuration; pub mod reserve_data; pub mod reserve_type; +pub mod timestamp_precision; pub mod user_config; From 5260855cc84864b9407e293c7c670291259dfc29 Mon Sep 17 00:00:00 2001 From: Maks Nabokov Date: Thu, 14 Mar 2024 12:06:23 +0300 Subject: [PATCH 3/9] rename TimestampPrecision fields --- contracts/pool/src/tests/budget.rs | 6 +++--- contracts/pool/src/tests/set_price_feeds.rs | 8 ++++---- contracts/pool/src/tests/sut.rs | 8 ++++---- contracts/pool/src/tests/twap_median_price.rs | 16 ++++++++-------- contracts/pool/src/types/price_provider.rs | 4 ++-- contracts/s-token/src/tests/test.rs | 2 +- .../src/types/timestamp_precision.rs | 4 ++-- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/contracts/pool/src/tests/budget.rs b/contracts/pool/src/tests/budget.rs index ad316ced..1cbae2da 100644 --- a/contracts/pool/src/tests/budget.rs +++ b/contracts/pool/src/tests/budget.rs @@ -465,7 +465,7 @@ fn set_price_feed() { feed_asset: OracleAsset::Stellar(asset_1), feed_decimals: 14, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -479,7 +479,7 @@ fn set_price_feed() { feed_asset: OracleAsset::Stellar(asset_2), feed_decimals: 16, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -493,7 +493,7 @@ fn set_price_feed() { feed_asset: OracleAsset::Stellar(asset_3), feed_decimals: 16, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, diff --git a/contracts/pool/src/tests/set_price_feeds.rs b/contracts/pool/src/tests/set_price_feeds.rs index 8b9dc75c..d1142cc1 100644 --- a/contracts/pool/src/tests/set_price_feeds.rs +++ b/contracts/pool/src/tests/set_price_feeds.rs @@ -38,7 +38,7 @@ fn should_require_admin() { feed_asset: OracleAsset::Stellar(asset_1), feed_decimals: 14, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -52,7 +52,7 @@ fn should_require_admin() { feed_asset: OracleAsset::Stellar(asset_2), feed_decimals: 16, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -106,7 +106,7 @@ fn should_set_price_feed() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -120,7 +120,7 @@ fn should_set_price_feed() { feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 16, twap_records: 9, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, diff --git a/contracts/pool/src/tests/sut.rs b/contracts/pool/src/tests/sut.rs index 9b7b0bfd..9223af2b 100644 --- a/contracts/pool/src/tests/sut.rs +++ b/contracts/pool/src/tests/sut.rs @@ -258,7 +258,7 @@ pub(crate) fn init_pool<'a>(env: &Env, use_pool_wasm: bool) -> Sut<'a> { feed_asset: OracleAsset::Stellar(reserves[0].token.address.clone()), feed_decimals: 14, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -272,7 +272,7 @@ pub(crate) fn init_pool<'a>(env: &Env, use_pool_wasm: bool) -> Sut<'a> { feed_asset: OracleAsset::Stellar(reserves[1].token.address.clone()), feed_decimals: 16, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -286,7 +286,7 @@ pub(crate) fn init_pool<'a>(env: &Env, use_pool_wasm: bool) -> Sut<'a> { feed_asset: OracleAsset::Stellar(reserves[2].token.address.clone()), feed_decimals: 16, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -300,7 +300,7 @@ pub(crate) fn init_pool<'a>(env: &Env, use_pool_wasm: bool) -> Sut<'a> { feed_asset: OracleAsset::Stellar(reserves[3].token.address.clone()), feed_decimals: 15, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, diff --git a/contracts/pool/src/tests/twap_median_price.rs b/contracts/pool/src/tests/twap_median_price.rs index 16f11eca..1b0e0814 100644 --- a/contracts/pool/src/tests/twap_median_price.rs +++ b/contracts/pool/src/tests/twap_median_price.rs @@ -48,7 +48,7 @@ fn should_fail_when_feed_is_missing_for_asset() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -101,7 +101,7 @@ fn should_fail_when_price_is_missing_in_feed() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, // price feed with Other asset PriceFeed { @@ -109,7 +109,7 @@ fn should_fail_when_price_is_missing_in_feed() { feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 10, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, @@ -182,7 +182,7 @@ fn should_return_twap_median_price() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, // price feed with Other asset PriceFeed { @@ -190,7 +190,7 @@ fn should_return_twap_median_price() { feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 10, twap_records: 10, - timestamp_precision: TimestampPrecision::Mili, + timestamp_precision: TimestampPrecision::Msec, }, ], }, @@ -230,7 +230,7 @@ fn should_return_twap_median_price() { feed_asset: OracleAsset::Stellar(asset_1.clone()), feed_decimals: 14, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, // price feed with Other asset PriceFeed { @@ -238,14 +238,14 @@ fn should_return_twap_median_price() { feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 10, twap_records: 10, - timestamp_precision: TimestampPrecision::Mili, + timestamp_precision: TimestampPrecision::Msec, }, PriceFeed { feed: asset_1_feed_3.address.clone(), feed_asset: OracleAsset::Other(symbol_short!("XRP")), feed_decimals: 10, twap_records: 10, - timestamp_precision: TimestampPrecision::Mili, + timestamp_precision: TimestampPrecision::Msec, }, ], }, diff --git a/contracts/pool/src/types/price_provider.rs b/contracts/pool/src/types/price_provider.rs index 71dfb27c..6c769d95 100644 --- a/contracts/pool/src/types/price_provider.rs +++ b/contracts/pool/src/types/price_provider.rs @@ -194,7 +194,7 @@ impl<'a> PriceProvider<'a> { pub(crate) fn precise_timestamp(env: &Env, precision: &TimestampPrecision) -> u64 { let secs = env.ledger().timestamp(); match precision { - TimestampPrecision::Mili => secs * 1000, - TimestampPrecision::Seconds => secs, + TimestampPrecision::Msec => secs * 1000, + TimestampPrecision::Sec => secs, } } diff --git a/contracts/s-token/src/tests/test.rs b/contracts/s-token/src/tests/test.rs index 0bc3f321..9405d0bb 100644 --- a/contracts/s-token/src/tests/test.rs +++ b/contracts/s-token/src/tests/test.rs @@ -78,7 +78,7 @@ fn create_token<'a>( feed_asset: OracleAsset::Stellar(underlying_asset.address.clone()), feed_decimals: 14, twap_records: 10, - timestamp_precision: TimestampPrecision::Seconds, + timestamp_precision: TimestampPrecision::Sec, }, ], }, diff --git a/interfaces/pool-interface/src/types/timestamp_precision.rs b/interfaces/pool-interface/src/types/timestamp_precision.rs index 3ef12d3f..73cebb0a 100644 --- a/interfaces/pool-interface/src/types/timestamp_precision.rs +++ b/interfaces/pool-interface/src/types/timestamp_precision.rs @@ -3,6 +3,6 @@ use soroban_sdk::contracttype; #[derive(Clone)] #[contracttype] pub enum TimestampPrecision { - Mili, - Seconds, + Msec, + Sec, } From b06edad82af39ebcd5e6ff89c6e1dc2be91cc6fd Mon Sep 17 00:00:00 2001 From: Maks Nabokov Date: Thu, 14 Mar 2024 18:05:11 +0300 Subject: [PATCH 4/9] timestamp_precision && price feed envs --- integration-tests/tests/pool.sut.ts | 112 +++++++++++++--------- integration-tests/tests/soroban.client.ts | 2 +- integration-tests/tests/soroban.config.ts | 2 +- 3 files changed, 71 insertions(+), 45 deletions(-) diff --git a/integration-tests/tests/pool.sut.ts b/integration-tests/tests/pool.sut.ts index 0778ca9a..4859bc03 100644 --- a/integration-tests/tests/pool.sut.ts +++ b/integration-tests/tests/pool.sut.ts @@ -36,11 +36,19 @@ export interface FlashLoanAsset { borrow: boolean; } +type TimestampPrecision = "Sec" | "Msec"; + +type FeedAssetType = "Stellar" | "Other"; + interface PriceFeedConfig { feed: string; - feed_asset: SlenderAsset; + feed_asset: { + type: FeedAssetType; + asset: SlenderAsset + }; feed_decimals: number; twap_records: number; + timestamp_precision: TimestampPrecision; } interface PriceData { @@ -65,9 +73,9 @@ export async function init(client: SorobanClient, customXlm = true): Promise { const flashLoadReceiverMockAddress = ( (await new Promise((resolve, reject) => { exec( - `soroban contract deploy \ + `soroban contract deploy \ --wasm ../target/wasm32-unknown-unknown/release/flash_loan_receiver_mock.wasm \ --source ${adminKeys.secret()} \ --rpc-url "${process.env.SOROBAN_RPC_URL}" \ @@ -459,7 +483,7 @@ export async function liquidateCli( const liquidateResult = ( (await new Promise((resolve) => { exec( - `soroban --very-verbose contract invoke \ + `soroban --very-verbose contract invoke \ --id ${process.env.SLENDER_POOL} \ --source ${liquidatorKeys.secret()} \ --rpc-url "${process.env.SOROBAN_RPC_URL}" \ @@ -804,12 +828,14 @@ async function initPoolPriceFeed( "feeds": convertToScvVec([ convertToScvMap({ "feed": convertToScvAddress(input.priceFeedConfig.feed), - "feed_asset": convertToScvVec([ - xdr.ScVal.scvSymbol("Stellar"), - convertToScvAddress(process.env[`SLENDER_TOKEN_${input.priceFeedConfig.feed_asset}`]) + "feed_asset": convertToScvEnum(input.priceFeedConfig.feed_asset.type, [ + input.priceFeedConfig.feed_asset.type === "Stellar" ? + convertToScvAddress(process.env[`SLENDER_TOKEN_${input.priceFeedConfig.feed_asset.asset}`]) : + xdr.ScVal.scvSymbol(input.priceFeedConfig.feed_asset.asset) ]), "feed_decimals": convertToScvU32(input.priceFeedConfig.feed_decimals), - "twap_records": convertToScvU32(input.priceFeedConfig.twap_records) + "timestamp_precision": convertToScvEnum(input.priceFeedConfig.timestamp_precision), + "twap_records": convertToScvU32(input.priceFeedConfig.twap_records), }) ]), }))) @@ -855,7 +881,7 @@ export async function initPrice( price: bigint, timestamp: number, ): Promise { - await client.sendTransaction( + await initContract(`${asset}_PRICE_SET`, () => client.sendTransaction( process.env.SLENDER_PRICE_FEED, "init", adminKeys, @@ -870,7 +896,7 @@ export async function initPrice( "timestamp": convertToScvU64(timestamp) }) ]), - ); + )); } export async function inPoolBalanceOf( diff --git a/integration-tests/tests/soroban.client.ts b/integration-tests/tests/soroban.client.ts index d29bc4b2..249e193f 100644 --- a/integration-tests/tests/soroban.client.ts +++ b/integration-tests/tests/soroban.client.ts @@ -1,4 +1,4 @@ -import { Contract, TimeoutInfinite, TransactionBuilder, Keypair, xdr, SorobanRpc, BASE_FEE } from "stellar-sdk"; +import { Contract, TimeoutInfinite, TransactionBuilder, Keypair, xdr, SorobanRpc, BASE_FEE, Operation } from "stellar-sdk"; import { promisify } from "util"; import "./soroban.config"; import { adminKeys } from "./soroban.config"; diff --git a/integration-tests/tests/soroban.config.ts b/integration-tests/tests/soroban.config.ts index 3caaa910..7f44b35a 100644 --- a/integration-tests/tests/soroban.config.ts +++ b/integration-tests/tests/soroban.config.ts @@ -1,7 +1,7 @@ import { readFileSync, writeFileSync } from "fs"; import { Keypair } from "stellar-sdk"; -export const contractsFilename = "../deploy/artifacts/.contracts"; +export const contractsFilename = `../deploy/artifacts/.${process.env.NODE_ENV}.contracts`; require("dotenv").config({ path: `../deploy/scripts/.${process.env.NODE_ENV}.env` }); From fdb0f64a5aba685135c2913e351ff3e89b1b947f Mon Sep 17 00:00:00 2001 From: Maks Nabokov Date: Thu, 14 Mar 2024 18:05:58 +0300 Subject: [PATCH 5/9] divide artifacts for different envs --- .gitignore | 6 +++++- deploy/scripts/create-bindings.sh | 2 +- deploy/scripts/deploy.sh | 2 +- deploy/scripts/upgrade.sh | 15 +++++---------- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 116ee51b..b12e69bc 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,8 @@ integration-tests/.contracts integration-tests/node_modules -.DS_Store \ No newline at end of file +.DS_Store + +**/.mainnet.env +**/.prod.env +**/.production.env diff --git a/deploy/scripts/create-bindings.sh b/deploy/scripts/create-bindings.sh index e01124ce..3acd4497 100755 --- a/deploy/scripts/create-bindings.sh +++ b/deploy/scripts/create-bindings.sh @@ -3,7 +3,7 @@ BASEDIR=$(dirname $0) ARTIFACTS=$BASEDIR/../artifacts -source $ARTIFACTS/.contracts +source $ARTIFACTS/.$1.contracts source $BASEDIR/.$1.env soroban contract bindings typescript \ diff --git a/deploy/scripts/deploy.sh b/deploy/scripts/deploy.sh index d37ba663..43abe0b0 100755 --- a/deploy/scripts/deploy.sh +++ b/deploy/scripts/deploy.sh @@ -76,7 +76,7 @@ PRICE_FEED=$(deploy "$ARTIFACTS/price_feed_mock.wasm" $ADMIN_SECRET) PRICE_FEED=$(addressFromResult $PRICE_FEED) echo " Price Feed contract address: $PRICE_FEED" -contracts="$ARTIFACTS/.contracts" +contracts="$ARTIFACTS/.$1.contracts" { echo "SLENDER_TOKEN_XLM=$TOKEN_XLM" echo "SLENDER_TOKEN_XRP=$TOKEN_XRP" diff --git a/deploy/scripts/upgrade.sh b/deploy/scripts/upgrade.sh index 49e6c84d..2d767eb3 100755 --- a/deploy/scripts/upgrade.sh +++ b/deploy/scripts/upgrade.sh @@ -1,19 +1,14 @@ #!/bin/bash BASEDIR=$(dirname $0) -if [ "$1" = "develop" ]; then - source $BASEDIR/../../integration-tests/.contracts - echo $SLENDER_POOL -elif [ "$1" = "futurenet" ]; then - source $BASEDIR/../artifacts/.contracts - echo $SLENDER_POOL -fi +source $BASEDIR/../artifacts/.$1.contracts +echo $SLENDER_POOL source $BASEDIR/.$1.env invoke() { local result=$(soroban --verbose contract invoke \ - --source $2 \ --id $1 \ + --source $2 \ --rpc-url "$SOROBAN_RPC_URL" \ --network-passphrase "$PASSPHRASE" \ -- \ @@ -30,9 +25,9 @@ install() { echo $hash } -POOL_HASH=$(install "../target/wasm32-unknown-unknown/release/pool.wasm" $ADMIN_SECRET) +POOL_HASH=$(install "/Users/maks/Work/slender/target/wasm32-unknown-unknown/release/pool.optimized.wasm" $ADMIN_SECRET) echo "Pool wasm hash: $POOL_HASH" -echo "$POOL_HASH">$BASEDIR/../artifacts/pool.wasm.upgrades.hash +echo "$POOL_HASH" >$BASEDIR/../artifacts/pool.wasm.upgrades.hash invoke $SLENDER_POOL $ADMIN_SECRET "upgrade \ --new_wasm_hash $POOL_HASH" From a98a7e91945b4af479a59c6d0ebebda5c3387e86 Mon Sep 17 00:00:00 2001 From: Maks Nabokov Date: Thu, 14 Mar 2024 18:06:23 +0300 Subject: [PATCH 6/9] deploy testnet with reflector --- deploy/artifacts/.contracts | 33 -------------- deploy/artifacts/.testnet.contracts | 58 +++++++++++++++++++++++++ deploy/artifacts/contract-bindings.zip | Bin 271324 -> 272877 bytes deploy/artifacts/deployer.wasm | Bin 6467 -> 6595 bytes deploy/artifacts/pool.wasm | Bin 60279 -> 60708 bytes deploy/artifacts/s_token.wasm | Bin 17494 -> 17622 bytes 6 files changed, 58 insertions(+), 33 deletions(-) delete mode 100644 deploy/artifacts/.contracts create mode 100644 deploy/artifacts/.testnet.contracts diff --git a/deploy/artifacts/.contracts b/deploy/artifacts/.contracts deleted file mode 100644 index 8c5b62b2..00000000 --- a/deploy/artifacts/.contracts +++ /dev/null @@ -1,33 +0,0 @@ -SLENDER_TOKEN_XLM=CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC -SLENDER_TOKEN_XRP=CCH3KNXV6ALUFSCI63UCWCMC3BCXORAAPMVS2VY54NVK4PRZ5D5TBJ7R -SLENDER_TOKEN_USDC=CCLCYHJME2TW7ZUEE4AMMPSC3Y2ZGFOOFQWJWSKNU7DSJTA3SJN7SOGU -SLENDER_TOKEN_RWA=CDHOTYVNOMSPETTE2CCWRR5SKZKRIAV24G35FNTFYOCBD4OXHQSGCTPL -SLENDER_S_TOKEN_HASH=4fc7d63972b375df6144dd5fd7ffa9ed7ed1ae6638641c2ba763ca030dd19bcd -SLENDER_DEBT_TOKEN_HASH=1aa23951740091f238ddb75281c9aeeac6bd3b6b29a4de645efcc5c5ffb7e133 -SLENDER_DEPLOYER=CAXYUJAXKTQVT4DC5HKGMDU7DRGACQ4V4KLOOOZ6CBXGCI4QODL4S5L2 -SLENDER_PRICE_FEED=CDRTYJNX2FDQ6K6YI437NCFUKOAPJPVJFCSQWN26UQY64YP5BGYZBFJU -SLENDER_POOL_HASH=b95962b04a4ef57addd5a8ad57e25b4bdb617df26793fdf71620f5bc589a20ae - -SLENDER_TOKEN_XRP_INITIALIZED=TRUE -SLENDER_TOKEN_USDC_INITIALIZED=TRUE -SLENDER_TOKEN_RWA_INITIALIZED=TRUE -SLENDER_POOL=CC2XUP23MLB6SM3F5DKR4XSNMR3O5QY66ZHPYFSVWFAHOZYP6RBMYVTK -SLENDER_S_TOKEN_XRP=CABPO4V4YVBC7N2QDPXNZHD7IYJAIKZVSFHBAJ6VO7WJRRJJ2IMQ2ND3 -SLENDER_S_TOKEN_USDC=CCRO6DHZYHCSCVCWALSCR6W7XZUOSPDC3REZIAP3R7VS53L4LWCDRCNG -SLENDER_S_TOKEN_XLM=CB4QPUEV5PO5PD2QIGN6U2JFREZRCPQGR7WNXBVM2AS73VNBMHJBEXVJ -SLENDER_DEBT_TOKEN_XLM=CBFPNCFDNJND2JZWMSNPQCTBA3SBFCO36RIMVVBL2TOKW26UUOZGAGCS -SLENDER_DEBT_TOKEN_XRP=CAV2XCMC7GMSXMBHAKSSX2RC633AESJZ3WOZGFHXWTA3TTWYQE2KC2XK -SLENDER_DEBT_TOKEN_USDC=CDULNP7LB6F6R7QAUHMHKZ57N5BUCVWUI6UHOO3WIKXHGZLZC5ESGLYA -SLENDER_POOL_XLM_RESERVE_INITIALIZED=TRUE -SLENDER_POOL_XRP_RESERVE_INITIALIZED=TRUE -SLENDER_POOL_USDC_RESERVE_INITIALIZED=TRUE -SLENDER_POOL_XRP_COLLATERAL_CONFIGURED=TRUE -SLENDER_POOL_USDC_COLLATERAL_CONFIGURED=TRUE -SLENDER_POOL_XLM_COLLATERAL_CONFIGURED=TRUE -SLENDER_POOL_XLM_BORROWING_ENABLED=TRUE -SLENDER_POOL_XRP_BORROWING_ENABLED=TRUE -SLENDER_POOL_USDC_BORROWING_ENABLED=TRUE -SLENDER_POOL_XLM_BASE_ASSET_SET=TRUE -SLENDER_POOL_PRICE_FEED_SET=TRUE -SLENDER_GCR7O7JRQ4GM5MIQLC4KWBY64WKWBPCBISHBMTSLM4BTMATYOBL4KNVD_XRP_MINTED=TRUE -SLENDER_GCR7O7JRQ4GM5MIQLC4KWBY64WKWBPCBISHBMTSLM4BTMATYOBL4KNVD_USDC_MINTED=TRUE \ No newline at end of file diff --git a/deploy/artifacts/.testnet.contracts b/deploy/artifacts/.testnet.contracts new file mode 100644 index 00000000..340e5c50 --- /dev/null +++ b/deploy/artifacts/.testnet.contracts @@ -0,0 +1,58 @@ +SLENDER_TOKEN_XLM=CDLZFC3SYJYDZT7K67VZ75HPJVIEUVNIXF47ZG2FB2RMQQVU2HHGCYSC +SLENDER_TOKEN_XRP=CBSLRWKVKF7SJZVKHTC5EIUPWIG37ZILGKYHWDUDH6MCGBZBWNSWYTIE +SLENDER_TOKEN_USDC=CDTLF7S2NP3R5SR2XV6IGR2DDTWF2MUN7FJ44QO532RU6ZSGXKD2AI5E +SLENDER_TOKEN_RWA=CBQ4EFBYAWP77WVECOYEWRK3DETX7ANSEKPTBK46D22QAOPCJTWIHFLU +SLENDER_S_TOKEN_HASH=830f160eb13886e348a5687835313cdc041ee398931ac53259aab7031e585adf +SLENDER_DEBT_TOKEN_HASH=1aa23951740091f238ddb75281c9aeeac6bd3b6b29a4de645efcc5c5ffb7e133 +SLENDER_DEPLOYER=CDJ2VPGURH23BKDGIYC5SFPZG4HOKGXIXQTW43Z6VNKBLYUCC4INFOT7 +SLENDER_POOL_HASH=61079ef75168714c8472d492313197c7b8f8375832f060c0e186d140b13c5c6b + +TOKEN_RWA_INITIALIZED=TRUE +POOL_RWA_RESERVE_INITIALIZED=TRUE +POOL_RWA_COLLATERAL_CONFIGURED=TRUE + +SLENDER_XLM_PRICE_SET=TRUE +SLENDER_XRP_PRICE_SET=TRUE +SLENDER_USDC_PRICE_SET=TRUE +SLENDER_RWA_PRICE_SET=TRUE + +XLM_FEED_ASSET_TYPE=Other +XLM_FEED_DECIMALS=14 +XLM_PRICE_FEED=CBKZFI26PDCZUJ5HYYKVB5BWCNYUSNA5LVL4R2JTRVSOB4XEP7Y34OPN +XLM_PRICE_TWAP_RECORDS=7 +XLM_PRICE_TIMESTAMP_PRECISION=Msec + +XRP_FEED_ASSET_TYPE=Other +XRP_FEED_DECIMALS=14 +XRP_PRICE_FEED=CBKZFI26PDCZUJ5HYYKVB5BWCNYUSNA5LVL4R2JTRVSOB4XEP7Y34OPN +XRP_PRICE_TWAP_RECORDS=7 +XRP_PRICE_TIMESTAMP_PRECISION=Msec + +USDC_FEED_ASSET_TYPE=Other +USDC_FEED_DECIMALS=14 +USDC_PRICE_FEED=CBKZFI26PDCZUJ5HYYKVB5BWCNYUSNA5LVL4R2JTRVSOB4XEP7Y34OPN +USDC_PRICE_TWAP_RECORDS=7 +USDC_PRICE_TIMESTAMP_PRECISION=Msec + +SLENDER_TOKEN_XRP_INITIALIZED=TRUE +SLENDER_TOKEN_USDC_INITIALIZED=TRUE +SLENDER_POOL=CDHDJFJRKK2N44NCUC4C2G56T5SQ5SVRVGSIT4XE4CJIEAESPFVOHYUY +SLENDER_S_TOKEN_XRP=CCEWR35ZWZ6LYPREAYLWOQVYXM3XBXDX67DSITWFM3CMVR77ME3WG7EI +SLENDER_S_TOKEN_USDC=CCOYIDNEMC7S4JHRPPTVOQDTJZM2OMPNR2BN2GGFXXR7CA4P7BZBLB5U +SLENDER_S_TOKEN_XLM=CBGUOCFCUBTMQRGKOFCOZQLVM3V5Y6P2DQHEAAEDEYPNQ7LBUZSOO723 +SLENDER_DEBT_TOKEN_XLM=CBELMBMWNFUQATXKIAXZCEVBLMIKHWUZJGDG4FUA62L6KPG6MIMCRN53 +SLENDER_DEBT_TOKEN_XRP=CA6EDG3BU5NEWXTURDCFI5L2ISNM6G7Q454H2S5Q7DXXFMVJHVM7WGSS +SLENDER_DEBT_TOKEN_USDC=CDJYYARF7RJTF4OXFTHA3FIXZ7KZH6QA4CRLVN4ESL7DEPVOTFJRJRHL +SLENDER_POOL_XLM_RESERVE_INITIALIZED=TRUE +SLENDER_POOL_XRP_RESERVE_INITIALIZED=TRUE +SLENDER_POOL_USDC_RESERVE_INITIALIZED=TRUE +SLENDER_POOL_RWA_RESERVE_INITIALIZED=TRUE +SLENDER_POOL_XRP_COLLATERAL_CONFIGURED=TRUE +SLENDER_POOL_USDC_COLLATERAL_CONFIGURED=TRUE +SLENDER_POOL_XLM_COLLATERAL_CONFIGURED=TRUE +SLENDER_POOL_RWA_COLLATERAL_CONFIGURED=TRUE +SLENDER_POOL_XLM_BORROWING_ENABLED=TRUE +SLENDER_POOL_XRP_BORROWING_ENABLED=TRUE +SLENDER_POOL_USDC_BORROWING_ENABLED=TRUE +SLENDER_POOL_USDC_BASE_ASSET_SET=TRUE +SLENDER_POOL_PRICE_FEED_SET=TRUE \ No newline at end of file diff --git a/deploy/artifacts/contract-bindings.zip b/deploy/artifacts/contract-bindings.zip index 6d987aea48efa43c186906114a29a218f0ed4af0..9dbaf270850a48a1b3e3ddd459954673ad413c65 100644 GIT binary patch delta 130675 zcmeFZRdig-vZgC$W@fOMnb~4lj21I9s{|G^lf}%;Qc1Ff7Be$5Gqt_?oZhF`?sIRy z-21d@jC}fIM$I{@Mn=y6%Z$}Ql(QKWL?u~p2sn^GAGbKWctjG43Dg_YKf~1n9t0HP z4ip3g0^_&(uQ-R_abGAYe*TX6GyWgrGU)z_>;FH;{mBah@+aRBKk}bk1OJL^(TfA0 zg9ZOBCL+KK{#{Ka3Ie5R@MDn$L;4+|xwID|tqctUa>tUmf=CPaTdMzjgfnd&6?`rX zzXJ`6=}-`3InfNc0SZf7bY)RF3j}$ptQdwG6CFeMriN)F-Gz@Xsg|xqcoqe|JR4l7 z&iS?zJ}D{fI+E==akkn0yr??r4%E9z0z_k?+)yESXOj{A=o5^UrLEG73ELT zXu_wU06(8Natk<-pa8{Tttc_jZCqrPqdUFR5cgfRx5y#!5lis^0nd63vD2&d8=cEW z-&_x38hNroEG3?Olh91ipPy^kckU7EQ$O3qiIqaL6y5Vsf9B!cxg#nm29cUvQiwZms*sY8_!hY|yK@agW#oF?>DE}ZILAugLHRZP-$F$1-lLO9kqow@L%CEUESWd`B>B3>cgZ;Q z2U%hO5AwCtVX~Eyq&&8{&jlO4OW*gql|_>*z{0i zAfqK5RlgF7k^#?vLQ72AoQ?ViGZDdZtfvh^q#2p|5XgGD&66Vq3|cT8*#ZqCHBc9v1c_~ z$B|FFC}07qk^x>=FvFQ%EQU%IZ?_{v|Al4>bT1QWeKjQGsb3(4m@&HcmZpEE>1QZ5X)>aJ0lANY7Hg69&A{mdG zdWKqOtpZ?--FHlR!R6L!1T^yiyL~Stuad`MgD!kzgVE}f@~E}l*#}Jx_lfMLxz5B^ zTscp`9R9qCgSO%qK}6(36tQ;p$sMWKW1juBTei<2l*JxeXYIn@MX$^QfvrGwpmv$? zqC^+(+}0|$jgo@J?hOrPdIT&MD7z*`dzGxYD=%PZs3|x|!7HK(I-S`K^P7V1%ntwi z;;EZzeN=Zw!7s|iX<>0u#)e;Y-*0KnEa&l8O`?}=dTWjHcSG^qKD<6q&Wm$dVcdb1 zIFybE%zAx>cA%{2@f-*4-s`s5Ez6@Th+-V(>pV55U+zQ>J%6#H z5K9d(To%#_em*+YF6z%FSF_HIJ3BU$vCb1^xhB@}unh&`@z0!D)Hn&hQM06mI8xrW zQFhwG74QbC?v&F76E)jQ*s#{mxx+B1ko~<+;g2tMxGUR{hnlD@={P}A z;*R~BP5DO*F`>&n_O0{1JPSPTLW8&4!}R4!YmL#HCQCWwo8K>IOn+r~}2I`EQ>f%yk&u=4)cShB`JaeG--Sanx zeRv`}DAlf~@i2)nRJCQJnBD~acWYh*soeLbX9!TgGI540=6|%hPtHjvH{U(J*r3*X zYU0?$gd9uDm zZ$t7rcCRlUu7J*oe;#&CbRwZgD|fbbP`^w=c34E;&7ZQ6r^NJ~nK|$R@!mVK10VRB ztnEl_Ssky6#=6%M`)ebfK5-q4^GL778-l?1qni2_veW8^loZGkOyStPD@=R9vYgJ9 z=+2s?%>B7F@QUj{mk5v`e` zkup>n=5W_rT)0kULPL1lW+x=aWLdv9t>p1rt^cB$2`y}AQbfv6(VA+?z#KpInzU8B ztuxVFQ}|HIy0x2|hw>~#dcZSm5pWSHA(j1^%zw7wUevyJHaU?}4)a|2&al{!A^)7r zW~5?HFg)#1I--U zW`(B&6kg@8h!7>X)W$CgcB=I`LfmAzX^i#SI312z9h5LsSPJXf3%6jO%v;IByDa{K zaQQ5DE%;qNg|~hMG;ncPWk)i^+YxD2`b9Whwc@yxW}M1h4L~$;ToV^0TSiEOjs{K_ zBSIx5@6IUz{c)~-UD(xAPz>uu9v7W-G#NA@U=xdN-j2OeL6@kNz&2*Hz9T)S+Fw-d zPvohrmp{Ip1Uhh2@3HlXSNd`mN0O~aVoQu>oTr<}WY_Y%^p*9=A#OyhY5ZFFoPDB9 zIAq6@KZiJm0{{yO6#|}y(_oH?GY$#>_RzQt^Qq6JTa$0h1L`FiR@V@KE-9VcS=C#OP z5in229c#A_96*-5DDSw?N%=&Yrrr{6g+eiYC|)_&Dh0nAAbtI)W1x?HE8;)$uD6YU6tYt6rx~Gp%jXqv;EEhw9--9*Ypy zf`gT5n;=zsVXKlna3f9?{-yYNaXzrS0kue9d$jozax0huLRCoRGQ* zhR}gAuoHRrT3pOn&nyf&CA7!1d=o`}zpTDNa~MdxjDPq03H4n>UX$W(howW~{!AH@t=LIl4P(vZ8QdfCisHt1QcWY|;CTGy=Cs2=tRPGx* zyH~P6p`F@+_Gp+Wh__9`(OhwJ^tA}?{rXwuZb#^cR;qa;~`quVZs{nFU^Pq9e+Jyd=TtOcxHczU&_ZgtLaKbU3 zG8jEinvHx9TpX!7NFElLM|OJC>#2j|-_h-qKGi8YfvU1BsB+Glx@-Ar-_CY5ES7~>tlL3ckjh>T%VOx zP9{@{$2lAiKfHFDm>ty7@vodiT>wKaMP)e5J6tP_*tUw<_!wt2M}|yGY^d+_7GwI$ zFJfc1>tep$kfTzQ9t=?rvXhy8H(abt89|AIP5_7cX7{SnCeq#k zfebJ~-pEz2+F|TgebNbM_C<5+={3XbZksN?5NnDi@XMld*9=gi-Luu!&>8%;g)7R_ zoB;G=Bbe`YIm0s&+wuu~_s0m=-sD)ZrnE9b1T%sZOVG8eC9dgRAwiE?^82ow#eN%l zmzv2BfkCgiJ1mhS{QwgL<8b6~hQTrn8Sc4HpN0)M3fkfTfopw9LT=sHgRQ$IC6A!@ zGv*V!ro3hrv?-pkvEQ=vwpIY&E`Ep|%kCZl1Akqt1v1XKZf3^@4Z)R(U-P>Gh4w)f}H#)tGxkBCNLdQvke)0UEIu8u^nBzF}Bi z_3JL5%MRi%k|a}CEnceiyx4jS$*qUmzuEE{9wCk?rxrrZ*cwD!MTeDeY$z zEGotdqB6=K{8HCDIg&2iHjNPFQmy>5>p6csynL8e;g2Na$|}iX6zonR)iqV)YcMx1 zzsXBqy7V*6|2x2=?q{ihApjuMiB2S(fv{YXWU@2OhDaP5_c|?B|HhMJci>&Uj?$E# znBc>*?R+3ufR0=yrm{<1_vsSsiVy!%ig()(nLpYZ_Ju?7ZCy#e^cTBuhpC!rgPgV= z=SZQcaf6(+z#{$kf(P;&)@eb;p5d1;Q%E%XlwFf``ZxgTomn128yCFew4jlz+|U@A zXF29xJqa0gB=K-MAs-k91~hDdrBn)n7 zfhecz=;{EwzI_*FNfbm8mCbElX4jIfT+~fRb8I=6$D}^&IAf{{ck~=^uMeCG(nC!H z>U8rD!tiCG;E)lM= z5{Z~`Uu#IzPBQar!>1lq83X0ZnK?Na>_DYp$#DS0@v41xhI#TsYz3>$*VozzEVwnsX&T9QX?2P^3$L zTP9spI-%|nY~j*KnOY}y!vj9T=0WJQDU$Q5K}0JXukp9HyxN#c4iPO{vsO=29Lg|; zN@PG~J~1q@GPuw#HbnnIP{9u)7?7Yjhr;MQtJ6-!&>z~G`?IJ50SEe6OQboc)i3GT zwCih_L~aiebUH`*_lFUo!>MSD>O@efi`W>=ns4r^JFbfdz!#99}* zB94b10yreJP1LPIHXr>0H?jTca-6MOi(}z|-C#ZgU-|KKd}^*auWQ1$_n z5;W;w&zHp)GO<9>lev;3ireB78-MzUdb!p)PW!;8%Z)suA`h#2q`jK{;?424&Ms7} z2&;R#|0Q0NpBJI$&FMLxJ=R5t_m&*>`Nt!LU7wy-Bm?7o#2U2@$s)6!GbV)b0t+Al zS;r49e!i!kqv#hAWVf~xrt!N^N|7R);^Uf=p?8Ws={w9bdT8QF+8sQYgkTl6%lk@CN-XcdWxNxP`JM8yU83;0YSC4N*Z8 z7ogIm8wgDqqYVfJ7@3s{OA?{4Wk|TP8yM;}WFw_=NA-h5v3S+N{yz*TBb|8xklxC} z<_CBY#g~RcKK?z>3D7W_B?sb^idZ>Uaij%5g2x6{ol@g0kt4k0jugXf~t3ZEX^w;22Zoo}6Y*Li)Yx#ejI)`}i{(<@P zcrG$1S>ctwZ#o{Mxenj+a3JR#;B*1!&Qo9W6}wS7^ zR*I8;sNkgMyx8a`16|Vqc^APtQ_2EA?GZfZ%#7?jmqVa~q71@fM!yNlp55Vo8-9CD zIdRdrKxWMqSI|0=xz6fNPQ#ttPS@Q%8_{!nOKy0OkUKu!@4xEVP5>bF%wqenL00&+ ztGh)7tX?WsLHt7sE)5+3&>L;QKs5Unj17Bi^_FSguac-KHtJ82&Ey$Dq}a}}&bBe> zhj?%pPCOC9_J*{+^37>Dm3IVH2ZI9IZPRA+xw@QN15}%UkVAtMse0+1WoC4$jw#%R zb!)zKAHaBtha!Ilcn8P4m!IYeKe%QhNzKu%iL?u_6nv)qGFH4Q{XQl7`ao9$y0jW< zZp`;`z-EuW#SR7*D?EK_5B5YpjWC!lRO#`B*&Mx%qYxe-euw9u6}|)IBGmap{Kvug zUr-_uj^*E|#J{-1U*^Op8~5Lxi-b|F+u!_Rq>dXG|#&kXWuq_unlB_H?~f z$cF1b0D=-#T-)@gt~eG0;X&xm6QCGOKkJlg+?Q0fgQI zhAw{n^1yw&f~NIVv9H5YTZDPWrX4fVh@_uj@O&9sl5&2ePM&&jhY_4dNZv<#zTSh6 z&?B6n$38I?KhJ$Kml3(0bS&*9WL)Z*Y6*U^-hAQ?OOay6()8Pfq$KNn<%xemHzlV% z105l%*QGktKct3M9o%Xw8RV1<1>CxsqH4zH|KM<##LqYwrzb}m8mm{rfi(q^pAH}u z7leL-GwO^r$Pi0PgQx%0^M#;w=*jl|#r!smDBUggmYOS6i(!;hAw%}X1*>+i4&nGs z8riFRtY~8^fff{Pgsk;({UOi-r?=nBWJUyUUK}zl2QgSQC>=W&E&dQ48^C8;o)GH? z7JV;FO4;1|MDj>&S4->>kImq#%aY8DJ{(cJ=oSvYAtm_e18H!SD>l%ZHgOTrm4c2|kHo6l`BmzcV*(ksThrs}*7^X8QvI%Lp9}-y*j6FJB#WykiB=QEDT zw84sc;E7U>{(=E}&qsI_2q5+TeN0O5a^oVvsD^%V)`Rn>NOsVgtYs2&ACj z{ZD?!Ju%i-!S~Wdt1O(~X@9Q_xr$0G3(JaxV?L)9o$m~T5-krhv zav&uIeIDI0fGr3M@XS_U@I|69B}oa*Mll61P51CNsdfA9MRqqZ#R0)%m|M(F(o_*q z5@9p1aDta(!myyA-l@VNAyS01=0S&Sct%2C#Jx$%O>VU zPr+X&iMxF~T0+_`gaL(1xlA%~!=qby24#fLn#LQSv;#HCUE>my*pPCi$1Z|yzsH$; z{~RQO&2$~6kYEf0QM7?Zb-iRA5xdH*M%Ymv#h1r=Wox@sPP;~DJV~hK)uEY{3l=@b4w#jfdW~_y}p0< zXibtNR%pPs!pg#xFM~I_cA*-tpxW|5;Tih)@m9gsKKFvtpc40v7aZ9n!^yoiiTW+{ zYs=QH!eLi1Z9u2p2hy#U!rm=~vOt~h+?2V>W;``^c+AX|K{ZbSbS+Po zyAN|JbqOiaN*$onCSAMBK8SeeqNB_t)61RxBI^*i&LJ$7|FWqNFUd0c(9~k1CpQTF z-stz#UM~_-5G5k%E)0~Kx%x4grBE7lu^aA5_cJXlfcM--b)YGO z*G78g$~XF@;U3Y*VeYK&SK4C_mf%od>7G3Gfx*U`G7-Ri-(#^}*bbqwjurROVPkOI z!q4ncR9_5NF)__j{RA}DI)#=20djX}XIWGz9boEz^+x}dJ0b?1p9A^|!=cWpfzD{W zhKco--7U#4ezkL`KX2Z^k%YX;`S-7S&7VDiEUB#ljevkg4-SQ8)#6AJ%M?{M8+Mnd z;;h}x>;fpe0Rifv{N_aotbz{kK1U@Icc<=%*7cgscS zwTaTq_aNvkF<&RRN4`?5XVTOPaeqb;1fnEIa)r7nn>u2heF59bacfW@>BBQ;4Klk> zuX~L41@4UDiO5NeU2@&23ct(QlZ&y>nWu6=dsdr|la)0}=4{9~!)94=JNBmWMe_nr z6W|WLl#6lrgZSjf_M-mK4v>kDGn}~3*Fc!Ta6q;M2Q+b@8j%YZ}|NbIHxgNAY&= z%1r-jhHXUZUdBhRes0^(oA6oM@(JbS@>Q&RU(BEr&tHel)hCr$qHDI_3aJhJgdmB1 zbh9$=32H;ujtbq1o`_ip)8v-10d0i??=xxbaX0fSR-R-*^G=?XVnT+p*R>u3p}KH; z(y`UOyTADmRNS&K zTSY3C{(da`{4IH8>tB2*>JJ|Rt~s!mpi;We+yS}D8hF9(t4Fyq0K<&8Ax6Bw_nDeW zY!g>YHqXpD?pr3%2cs;_5w;$4SDEYo;6s+GzJK^oB5Ge<9mN}FyeFt@avy;gPcHQn zFPSG&(*zLm>)~LdO;&mN$SJ?ZfQCA`PbsMEvitsSCekK?)ertMV#OoV5@l*tX`(4@ zXNQs&&$VJe*Ykj1`eyb8jo`Ik{ZsU#IT_|$7DlACYpCC8Wfm;`Vhw}!mPA!eT>I;7 zhWLq74ZIt7VJwu8OJ>L1lS_>prGNcnBy_yB5=0*EPq$`iw zi;AvQFJ0WVX1}<@f3D3%V| zT&da^h-=80#h4(Rej`mx4%rT*>DF@hRD0NM>n#_A6gb87ruvZsS+ykV4Jd7^f-b#q z_kY6i`qp;6>D%sbMmwu2RvByr=!WPDPwP&9n#3WnkL!!=oQpCSts7TNv(31a;S3WBVAOUQP3s@4xO|)BAc^2=M>N_3W+I{-hl49 z9LQylqFW~{)=dmc_}TZp)_s;f8bdu3OYjAW^wmyXGIt=&o-+|NC%1Y4yiq==IWl>~ zoActabnC`Q^~lKF09O5*$wm?&jt630=HvsI2#Q zKYL=wXVs+g#fXY6>d5U|fJDB3@7%DohP6~W?9Lt5kqkllSCIAT9C|KOnnr%4Rnd!t z0EJDS;2_eN3@!P28iJ8%IB0eqt=`R8= zMFZb8O)1M|>Kc_3F(-&wONjy+Umi)B$bz=0y2Y4|$TitV0MfD7y zx>ymb(Iy`f34n1JmQN;`_#DAP3x(_PDORxeXN?FuiUnsoshjBrOh4#ClA)U_C|~b| zTPJo%so^T2Q+qiKz5b9Lu#eh$NZN5Ew!xkYe#f%0w44^L zPcP0DwV@iPd`BELBcbIlb;t5g7`scn_@YKn#Pb#rGh<>4hp7bx4gV{YS{v>M`CxyH*^`ns;oq>Ku zve-#Ve7&|2D8dH6!Yd%8W`MWgkI=(^5YJVhp^MIIYA>lm0jPkUmh0zmNF(@>&kWY} zFf|>y^qp~l*8@EM0eVv20@rS4F4TWe8CTWiDX9-D*O*qrD}0QUQ0Rvh1nd5y{C-&{ z`PUcXS%j#?UOSBGlLvOU%M-NLLk&A9(`qF+EPjQbO!H+vOnF~i2z}7t$aoXJfR_%% zdl@kG1}zkRlK}Kb(O?>>Ue3(WJES62M~r@ln{Cy{T$oNXJ*D&X4w8h7Xn~xXfy`a1 zK!@3|-n83imud@LNqpee_40LDWtik*V@so}Y zs^Tj2@IZAh=SKD$8qU_%uRz$iAWY}d=-im3du8=!xRLhsP)PH8`H(0yT&9{AL;Mk1 zTU>#Z2aSc^ACwL!&tbzIh^ex~L2XYDgl?K_4Su85-=EZOpdo)RV(d$n^;m+m=8qR! zx+v#oXs`e>ha|+eeZ5(eyts|G(ZMK8)vzZVCe1XoWVsO!7(cchojnv1HeLnR<mtfq$#}JSBJeRm!Ot?(BPV+fGim7O&Z; zpWlVF=(U-0Z9n~pN%nT!9Aifq==LY3xB7YjUbPu{5sj|o61c%kgX?G4$%H4KtU!Ut zy#{C4igJf$V!_kRs9i&7&ch|m-i8@-ew5*`OM^tVhAv3)ro)QA7~7jNm4n-dW$G+@|U2Pd! z-uJ{<3t@C8pJsV(eZt_4EpPO)+OLKV9DHOHfPpGdd=EMHSrV?jPw_}Caxw2N-`iwg z7Fq4RKlBw*otWTvUv}T3vYDE5#KOTP_yUyY}gHaa(>Q)TSLw=fKn zU#PkD&+eKZGb$bz@6B%T*{49BoUAibLjjxR8L^yH-?7tM zF7#(!;KBtapm=>Nu5AN5H#ydf=xfjtz!jM}Z^0DRbd@oXk#$C3Lb+_DGA;3GE=G*9 zOKaKIpNPXdsVY_YvOg|EyEtA=sN%oA)_Y#@fu0odUW%ViUR(v&2?cwKb`I=GF8VSBab8N zcYAtzuyk_!dOtmWaVhGYSx1DkBpGXTxEU?01kV&P@IW;J*2XiD&j+yjK>Z-u#I8ah z7vLxl)Dea2E*$@T%GPXt7ohb5lxg0cCjjsJ(5zW~? z=I4y(^IEMg`%JET(=ig2En$gyrJ8EhKM#lT#9=GnjI7d^pe(tY^A#Jzl&z^}b-;{N z229VAnr00H>?WnYaNW3!2e~0;6!Qr#nlgXOZ93Vg_FM8^#A64z1^})xCuv%lKt_&7 zfx@qC(B7-@D=!NTOOz&mzZ_NO2p2ZZtBAv{_|kll%aw+SPf%y|GWd=g*r!zV3$X9O z#&}((hQ%MXz}*kKuQuK4DUId z2Za)eI1s{_Tp6eCV*s0US4|5niGsKD-}V~o%V^=*yLP>QE^AnY!?XKpZl4D(X7CZu z`V-Jj)QcytDMYu-(x2~Z$D7UC2}#2y(ks|;O+8Aew)csUHjXzkjo1J_h80L{&#Ne@ zb4K5L3xaZT_`Q4{9hg!yXcO{a@RFx%!vo;idR|fK%o45}CIPgOnyBW|<^-x1XA!cw z*%M}!$c}K!oXuUipj6*R)Iy(H)gk@LRkvg*;J7wd(Ir_Zal%4)`uDcT@e)Ow<#DY| z^I+CF7m_8A^Ge91n-p@pYJ<(G`#V8_6NGU03Nm0|Fxw)~ozF+2o@ zC$>}F84X$HuL;3{6N?F-tg;L3n%rd~~dmXqvK6K`p4L(}qHE)=F zf^M_dgu1f`si?Q#B%hmn!tCRkYN21PX@3GH6C)LZyeUSZ17&U&$%*nb60NF&)z^+( zEDt3 zCEF;?!{G2okD|DoFRJ66mdln0;z4Y6CT{gBGWiQc%Z>=%WBkH-I zGH;mToK_#FJ(dtt&pca?4~hn8fAQUQMaj`=hG*6!d;$2u|pbLzWbw^6YC+WP8YEK%=mMab{1__sIu(tPgw@~{A1MkJYXL73Ca)ZYzgaT?S(i{3k|csMvb zk}kbKqnjUZLTK##+%c%|}m0+!SOFB{@Ps z2D^-d1Wu{g_#)Me@^p&3MAtRJz(DgagI&-2<9}L9&Xon&(l{mE#hf(w*-uSTQx4U24{#1N9#LMkLznp@+H3w zK9lV$;m{3Yr1K7}5^;P@zUgK-6F zDU|{s;+tR&0#)vy<9vtkcHgL}He(wy!)9cji|6jabwh^K%8X=TpRY zEkBoh$s5QImht1V^ZxjpZ{>bul)8E>NdjZ;$^7#hi{7T4eZZ4WEzGoym^YeQiligQVpbkOMc<|uIh1v<87Vg27>BRfouj!Pru(F^rc)vnTC7{weXb>Ab-v2n z1bbkl7u=H559-$@sbZrK6%GWA6~mT^gJmXVEeAyfy>>3CwSPG=a4lf$z0h^;xI*Rw zSo16Cpaq`(Z1lC@+m`G*OaVt&i8QECpaC7n86E>U&l736A{^WZ%B#i%w%~O;qXK%% zAKS0QuxEEQ{kYPS8<9kXMtbEBJ95v9>{%n*AEsY?jN1Dz2D6IY5hWCXB_fYRvBTE% zHfWMnqa?V_@or}I@-&)Mija!B)u-uziMv4^x1G`s8tZ)l-V?+o+k%DfP21{?CWh{O z-|!~6`F?kKu%JLnPD1fM4J<+v6VHpzC~HQ3z&cxH1dv zFKy|=?*+HoPZD=}pWu9$u7ASN5>N|80DZkaCML+bEo4Xr^UeXfaQfCGe%%0`t}mR2 z2TfuOKzhe*^4z+*IA`6P${0Pz6kSnH>!8a#;ZTZn4s&R=4sV^?gHQW-g>y~=ia z#RYM)2h+9kEe?Ax(Lrbojn~mhLGr5*TA%V7*KM7R*i11xg$v7W+;_=&fho)Iu z$XtQt(5u#u_1{=2%F%Y|kRo<Xr$@Abwmm*;TlE0)5(-xO!co1V_A%lFa z8|v)8GrD?mq$^=OCFUTUKoG%acrL+B11EHV67R#tYQ6JhXQXi+v+{i2}-=GQu z%OlCru6m+AB7k1ib^iurC@MQ$ZqE>#8v&svU=nY+X93Yi48eINg&U!5HFLd>4KAME&r&`hKs~x4x2aEMYF{QVY^NUg0Dx#E=70l4;sjn z>0>kzm76T-BCzTHj2M!#3O%me06+e{#bnNm@eGuvUO)?~*JYw0f+bQJ7RuSFI6>3N+r<{Z$ zm2Y#VEr>DX8MU>~ii1gx-A0vPhAJ4ltTWli@aARx+OuZ~3RU zOU{1!KLDhBeeqyisEjj8Wy#%2E>5yOB}sl(0WOpIzWQ7g=JxC-f$8_p^;2aq)tN|G z<;mz~bw&QmTuyX0OXc|HgoXb#f*}*blhiUC(7?+pL&e9wC*1NNS5D#)=dq zfm*9=u<>T^WS7))1o|&|1dJBC3iXqLXpY*f;i2i*|0qy zNVD?xGH~x(EoN`u(?G~X_B#qK31)NYl42wgP#3T>)_9aAHsGFltnOORtRqT(UwK%) z>hfN?Jo>J_6`Gb;lvnqY|9gRy!eI>6@0THs)$+8i#jHZ~Wx=`BM;PcfBKUZH3gA1O{WA+CX^Ll(yl4 zyQsXAfL^=nUj%|ja+pe_IHaAIyd{4frhHtYYT-Yiu6(MlYRCt^j*db zKG`6RzIb-f`?XDb-^7gDr#E9-y@yJ_R|S1F?xj_96U@w>VEN{1{&WEvU$O*vvxC1U zExfvy#JoOyb~=?D#n-y=NY#vVWV#(|F$r8h9MGq9}|s^ z5juF~1u7h~aqS%yg`ncM0HVEbSQ&2R{#}mSXAqG!r=U3tZg3>2ARfEFe&^D@?h+Ge z(e~lgdfexJ#&7Uz2J)yx$xtsq$8kIMf}JQBd(G_?6#wCrX+N&xTqfn9Xvs|^avuk# z&qlGAkxQ#cuJX#lyap$IhodSR8#@c;z@+$QcakV-&NJU>9%SBeb*%=x$KQZIO0-Ig zDde3W`Vy zN^8ukSD zo_pDddImr}Zy?+Py4P4Zf?nwY03ka$!8;mcw^5nhV54lnE;8U7obm+oaRXDk>BxJm zXenLC*#+LYF5&>2@I6>;x4qn{D|hx(1vatk$ha?Nn>Oq<+d!jRlqIF#MCoWvK5I@u zntRMnXb^LbW2(ld$Eewt3|Ap0nVNR^Y*g0;vSYi!Uu);gO~m1e-XQ~e*%U$rTVF{% zp?dTV--$ppU>DdNDqlY)^xq->MPvWG+>;m6|C>qswfGVIkET`fiQ!a1s9!h1w|o@9sRbjqUGQTH=Yp>Tv%`<2%FgceSB+CJhYzkIB6l zAk~9}1_B~y2m*oyLXh$XjtlsGWZ`d)_y6ju_@}YbQ1i#Re*Dhc)`(&?kyuG3r zPC2C44JS0BN|MiqCtFZoTXRiie1e>przuu@?1#-DoU;4TIcFrsev8)V;6nIo`BcEM z%>ggl&Bq2AeytXgxG;$9o@qhh+9+MUqAdUO>v#GG2hvZjf99T_ibS4#HR9VxZ6qm3 zu|y)nH(`jvjx?e*c<==QOm3jo^81t*W^s51X-Js!T&VNg{gk^fAD+Kok(;FwNv|&a znhf1p`o3X-7%_>>=VKJ5OC;gsw{UuSfJ!mrh4k)RF2?jNdytHimEVz)>oIwD0&nmRAuPQOFio zT!sfYym054R6_f_4Tw?5Q#pobqeG5}C4wjg8{%b(tR> z{&DBvG@BE#zH)pI6)n=!5X!d0Y)Mb*N)OY!tEBVV#M4KY_D0n2G6o-byj*^@`>ZWK z-oNs+h`%+zw+avjR+endmh8fQ21s3`Cu*#98u{PYSs3$htG9bni*j^@iHxvM`&(dc?c#F})68@`_b((HvBu=U!Epv}o=zM=%X6AO_r36J zoCnjnt#H*N%33+$E_n~(w46~qJyNv;9wSZT5n&}%0dYpWx**4&@+Y$;v&(#DNqdhy z`CEovK{@O#fPe0(pV>kCPd|l6r8X;}eT*iI!I$1tQzrK$*{hum_i2`)M&+8$3N`q} zkxJeOgd(>|o}YfHTsaMYT4cQqZpv2<8``HLa#mG8*%2=O9x+cJcVQNSbpL&aw4E64 zzjBEad7z6jFsWIZqL`*_63sZ?pA{_Fdr{6NchUjc2U2dixDy7mq&)oPNyqT~luwj3 zVJ_X+Flhy%p{H&Gca5Tum_9DJIEdm4j;|THtkz>ABR5;!JXafiMJPX_J-^jnHLlSD zN5(_+^q(ea>$i5ISJ%zBq5~JW+aptP`KdO-W603 zz)S#6=%kovL@_0U$&eNwiuFmTPmFuUWdeIsdm|V9DMdp=cTr|-;4uEtcgRpbykJf0KwbhPgcd4iE;{h;kiZZyoxU2A05-ABEf#KB7*X zw^Nm8QIv%_h!;&4qR4EBvLMJ!Ggt8C*GlV(+clk*$g7>tgJnc~n5|(aA5VcyUieW{68;nlBZs^EC-ZoM zJ)-!)F-N1s$V>dU$(M9n8VuK{!L>$TcA$`Q6l#99#jK7q&K?4LDwTHjjH(tpj^@W(O1jjDFF^Fx=1N5jLkUDYuOP?8jKsMd zp}a)xhF&)-f-pOkU3!G9=+<7Z{~BN99nsBQfi{n|O^039&WrL!cYd=JC1E)`PGk^k z40B#DN6yjS7fIR*j#XK~OR*&w1R$dn4Ka1FD}s`dc9RTwzP(-fs7E30WaH`Bw;1j1 zry2EaX>+OLO5##nkuCA7eY^7AL+K#2kgh4D7dCc4JO`dPmo23rNbe}2q# z75wE6>nXPeDn!l!x1*3{PkC3ZyUzkWdfIPb~LmhQa-iyX9c`O~|x1NgY(eo>Fe zf!?3RN??M~BtJUGf^w&gSY9MYJ`cr9n?*h`<1A_t?rYTyS8p=p`CD#4k(tB^WF?j= zVwZt4Bh?YNKyt(U(qFN5{}rzh-faxk|FYJ&)_AUS+nh7EPDIX+Amiw}hIiocw-+pj zo<7G%wBFZZe97K2cIc;7GN9X;o1A6`vs=$e!g>QH44#xu*6OFbemc#rFz8&vOzM!L z^9sT;<{sDhtD&^D?Kf+@^3g^p<^1;&A8Tx^Q*Ao+OU#BBj1ym;onBa*mVhfbk_6hY zqf`keri$nHOaINGj?~$0c1e?q*c*mG2VR5uy<p>WVQ@n$9E^Xdu4a&%L-fO-!`B z3}b6mC@1&>5+9*IB~l&PcnA4crulD$W&TG8+}RL~*24vk*=4SLPd*}_MS^tjy)Shr zFKk3@o#NU)ewx;Zqxt?Es%wIZ=WeS8d&3nQ`6_WblN^CH)L?3(8iL0YJEYJ;lJ8x} zFgjJ?M5PdHCS2kF|o8xnK zH45)>5%9*fr2Yp0Lf=3C=37(Qqy0qfq*&HYm*F+D9=G?ffzz!hNkMup|YoSkze(BrsO zUZ2u&bDe}jDB)jmWBApR_I5LCqTMeeSKN2>;UFda;)j}L2PA!*ih2x}5=b#7CquYJ z`v}if%|J{+c@EUe`U!04jA)c3A1ZghpJM_E@B+`&Q=hgijwC)wqDg)P{&h^CwdPN#zOyHsO2W604Qdr~XlvI-fz#+T@Q$^xN^SaH)qCjlm)P478 zWxH%I*@3eA;4t6+8SLqxkmn&G3@53diSYfuNfov0gXH~f!XbuJV|aC^h(r5;ErH|q z6m3k`uzWwAnlw53fb-ERsrB?HB)SzkxDl@Asu3L1c*tH&ww;plom;u)f!;BP1nL2= zmyb38ktIvEV*SOT`bYUW>1+Rgx=S&X*A`Or*wKchoY}@*Qn4s)a|xM$zEf#6!Qz3p zR2+k=n{H=KE#Gf7&P?>0Hkx2=%|dDBX3$0wGOm0H&>l5K-sBpF_3q4H$HOVp98pAP zM4mEBQ4qx2u_owl;%~-^J5RU4AzVd^cX$Lenj((c)L(0D@FFDil)o7WJynl~G%_`T zV?{`+)xs!!yuH2cblE^<|Jdt-Eyl-pgU%g{Jn(n!6j#;OGH zUZ~gVM_}*ha@_9rEZQ*I&l(Xpw9-_(=8vqme4NZ-h0BIQ(RLeXy)PS0u{gFL4EP<@ zMyXD`peVOXOL)1}cDslk$(lvCpj39X+{^^@2d+{U9LwnhzQ^uGhY=oK22ou-Pcj;) zxijje5#s61?g-^$a(BSQ)~J0uxNHWjb^03-n7e&UpqKh7Rx1GM+OCDwMh|?+4-#CJ z{f=Ht`{X`2Kd}`1z*(@&gEZfSEn`&>p7s3-a65;qX*#|+`0OC!wVV3{2GWM6-F+KJ zM5xO2eAp-dDQQUqdr~RU{gBVwLxYdQ<^}rtwLP%@w{<>YwH52P|N*Z!071&~o zXFEBxkOEI)0Uf0n!JD;6okDoPxyr?Bpyh*JDD3L&rjH(lGNfynmrFvVnJsc_?E_lG zmq)#_2&GM95dXcBu4NiL9Q0mxMImi8)7Ddk6>(VkiSJd)JYn4>h%@AhGJ&hG{3v=@ke_XMlN4Lds^* z4U!+ArV%My$q(+dAYAlqvsvDcWv&Zu6Jhc(2?Ztht+VawLNMc>01?wnSRQ9 zx|`z_Rb7tjRw>)Fos9;4Q#bsppcDpg11e5h7*e#e=YfL5Dvm+`k-wc(frC&~>P zY>IQ#hJR{ysls{}oM{(C`{&j|=Wi{1)v`y#*6rR$itK^kormsneoJYOxquiZHP%UA zkJ<90YNhXDsyJezt3nS45qaw<4Nz(7S>Ru0rSs84^q^(iZTJIIzm5kI&(HirbVu)u zn*+KWbk0A|hLWppKSdk`b2R__SYF#VUf~m-Oq0_qk+E@)3~F|v`8JJoMLo^KQam-(kTiFkkd7F}R4z$& zL8R8iwEL?uw|WGi!qzm!gKV5@DrRPEkr^N*kE@Y-E{?~O9R2v_51XR+pj6N-o6ok; zZ#JSNz%(J^Y1!oznb16t`@HFOA-wzgTeB<_LdYe<0v$Q7?t?la!oh0$F46a?_Cpr1 z0pfu3%YNzI!U84rUoa>Yq6)>W>-dS4V_q@Yh8HCG(s`Lcbc$odykKA=PPa3}^f%Ql zn%}x9&4JjF3vbF;_|^uPtCU}K>+aO~n29jgut^OWMwq}nOqsR~`phoLnKN_vyUU!d<*?tN?~BP@BleAA%P*<5q4qw!7&e=OZT)wd=$@+-6npN!T!N# z`)m~F2A+$!=7)w>zC3thA0vZ#^u2A83TBKlb_VzebK4E=p z5z!v!c&@*Hs8fJ9UajG8*)73kS+M^_pOfO#mJTs}1JyFlFfV$YW%f+Zfzag(%U8m+v7>U`(6m zs`NxUU3Z~gnQI2~HN8hgw0_xT(pTy3zU`kB+y5Ln65X^<@c*7UVjW=~Urqx0OxpLJ zQ~T%fZw%+ZZu!s7TM`iEzjhA(pLhO8i?4rnekTQSApdi}|7GWYP9FJZS(^^T_1~6} z4MElrsPD^));SCo>WE-qHu_*-`0+nUK^XC;D3A#MB+LHop8qphhHqlC#CqxC4n@wE zx`@+LL7R6nAa-g>ar%%nEwz1}d!kDj;6pl%-Vv37F%$ph-sE^r_QNYCcTaIZw;0Bu z0{NKE9?RpN9W#)WZCg-~DYNyscbI~(p9odw@`g`lpfiFz92h?8VyS<8JpWWD+P9$D z{t@22t&De-9vnZ13hzz;QdqhT-}le0R}+Y#{R zg{8MrA@*lA@E20ZfGh04T(WA$XcAOz^hZx&-7}0$Zz!EH4;pL=P2T)qRKic99~n7N z2jmus+3r3(iv!q*g6L9#x&=P|w@-u2-nQT&-B~`l#R8`q5Znj6d}Mrw{@W3@N;ICo z5`14)TKY1c5(HEUlkkmad|wqU-wN%hcN*Uj478qOUa6+nx{Pp7Q$m0Go=p z=bJWle1aCo*Ui0PLJi>Q^8SQ=mZ?K2`3eYo;KK~ zMCkDm=6wqE!(pCOqVdjSxbO`V!t_M4v_{7I4ndIibGjA=jagR=h89v$*)wZTc9L-3 z7FL?QhahUuN2IHVJBKkCV!In+OivgmhwN>df#?85pKNb5{{eRfdN*opqs;Dg4V?IL zZIH+!5(u}1lgOAGSo}HX1rtmzZRPN}R|oa$m7_$LFTU{u-u>Z^FLU3TP(GW+WkNer zks>xJ;rmZv=+PzmpJkz{2gDSi)XZ~2%sN!gdE^-@Vmh{Z+`~>A?t5YP%wZ1q)LJ!; zT+>{Ag|uTnZvA8l#T!N}N~Nwzi*vrgB=1F}Wdt1dB6Q2}=4x?nol`WZKM;Olibx==T0Su8Fh=xzinRQg z`X?zL3NcnT1IR3Udv2vnS=YkhuE>FFq*jNtw9+2d`v;2)8h0cGE)FkxkDw@c_lFxd zMIzugx_Ul^PLe945((zz8c%xfNbW<_TiV4pY6VgvTMVqt^t@K{?P|DWu}{X|gSYJM z9$X_yKM!Dyty~&&K*RqLkpKDz`B85S!*UIy{6xZeE_F!FfcMTmm1AW|&2tXqFy42X zu~zTxeuVUx%C*0i%72$)V6x_>eYZkkzvc$~=T&>@RJ&%S$G9nY#vZGvB}j4fcG13W zuC__9W`(w>Wv_IO$D!qv=bqf9P>9i9&ebheZ9_ZjUIJHebY zx}Cu#Jw`AI3y2OcXqM9u{_2_FAoa+UvNXy0rQjeUUuHG>o-gLNVaN*hc{+}%&{Wcc zCo1{7fq?N}q$mMD|l?{>*z( z`{sUGrKOuNwxYR-s4-zxi2350Z%jv*cQsV`r86(TQ=c3aPe971?_)SQo$22CGVC(F z%CEeM+Cz|L!7#`KHL#aRrQ+oJT$Ja7(-+!^G%EOH^SN9g)tl$A_b!SfyWqMK`-{Qu zj#jDn$uXH@Vdj4RH_&@qO_E6eA*Iq5@%wVq18UFNxYj8eTiO zFxx#}g9E+-P3WJ$b4((9=ahg&05Jv=6LF7rWw4hq10$SY+YurNtD1IsUFQD@7>POjDKFRL;wUsME zaM+aS->4huJU+t2}Ci>RB!=)al+mx{gJFg}V8;cQ{b`x?+%RKC?f^l`!@+K!H zQC0ZpsmBDz?Jo2xYU*356{)$ye{fL|noRcSpXDfWY09&O%qhsw%*tK*YeTtu97U?T z$$pNxwDLPZ&CIFcA1V`B^sJWkveI4^be60JoCU7|9fnoi?ibX=a|R#P6I}mee!3Lj zN|6j_1dyGu7X*%ItwbUivKfyi`!CY5b86AiAFe2bmuxAA#-2={gd;T7CBLGLUy^rNR=bcF z;FEoYpjW)fuM>v!ZO$U9md3`u(!zwxn{H1CRff+_i(z>KlPV%cnslW3cOSFuxKFyagG^L(tUH0z6GDNx6O>rypI+4IZ zV`!H$k-7O5IP#+L!(xqBd!ZExmcy|EVLRv#CARc-QZ`xZD$tEN*YinoEB@BMS(2&a zvXoz3PW)~xj?j%I593DA-hPp*W@kg1V5N+JcP)5IAYZbfC`-yO;JjyKpz;nhi*)mR zo+$xj5-?PPO+-5kaym_?9V!&SI6>c1B+PNlIgD8%9vf-pwgy3S^i1b4psH zANBcAu&Mhxg>WC&ZjP1}?lhr-v5a(9zz2Z|B1?C2X_jYlzd=1a$?OA$4dD8{U_ z!L`ORtHAnJ?QvbK4J(a~eP&4lyt*b*ZT+=uQVL9@x-qOE_xyJCH#9Y~`DQ+luM{Vr zYwZ0xUq%7g`w}5ZQ+Y|tsEWi^(v6=JnWyzBkHb5kAylBkemkcd;m5v=iVc||A?7m> zNtlr87C==qgN(36L|L=zSD4_l>ZH6r^1(B^n1aU(@UQ+Tg7S(ZUN!y+^fWSlM@`{K z@_gGRPnv*Xf)B@0e**ZmMQmx{?%p(NPI5U1!KQH`~B( zezU`VEXkqkv?q7Lsbbe02=h!2NdSB)Jh09A#(dP|Bx7Vy*^-6HEj3TDpw~?I#}*w< zbzwgPYb8G(V~#nYc^dF|~5ls?0t8MtcJt8-%+_(G_=e%Wvhy9%ymcOBqMC!a>j&N@TUjw zos(qmCVWdgQt(+vz7)Yn$>$5nY+hM9QkQvW&G83+%8YBy!#OCy`8>=Rp8Q9qoLzm` z49XRjG?xnOwML5{Af>Mf))8Rq9zqv~GI^ZfN z%aIksRvL6xTejhwA$d$-o5(S#QE)ypz93?6#YkP@B5eZ=u&wIdAf1ID-w;)mb!2%w zc|hYjveJO6e(d~mJn?6Zq`?iV5` zu@zOU`o)>fm?z1I6ZmWpcDNsQnj(HNu)MhZCx16J&a{Z1dEVY~O#DRjW(%fjYnJ$M zW19{N$>l}Y#!JMhO5q4&p<-`q>wRJcs{8=h7|Tv8z-!TG--CL{H)9_kmRVT!nrtMD zI47D^l7ke0cSB_Q<>N$NWIVJ&>ga`RWp!Rra@0hEiF)0V=I{tvUy!l}+=6JdQLEgv zE2S=`EmYOO+1(0p*RO))Jej%?mUQb&PM5)2bAI@Ykz1*qk9#MzF|kNb+fUVw_0`uT zsdzdpKu=gn0jn3yuQ_-zF@hqtUNu%Bz5#o~lV{ss3Yw`C%p&%+Bi0$7)!T5hosrqLXD*{9izs3i`{r4^ZIjicQ zXc4u;>tccc46Gq7{zwc&0{mZ|c3D*^ep5Kk{jN;&ut$%u2`*5g$tpEzDnJl|DVl~= zEMGdkmK8-zG@rlt^zqD1C-QT4jOgU8L^=+SELqS=uUc!9U^`RDTyplUN=ZvtROku$ z*1Q9dU&C#&Wl>jCR`Z}wFx&ca1h8J9Ru%p!9DIBfE5Cgo=i+!vds3Y; zw@Q&WuQ6ugueV)-T=Vw$+;DqBclrFlblGCjR`hZ!iI^5n_?Bb}sM7tp0eYqHwg}^w zbj6bn){%=hY&NdiUVHppA9qcD#KW_Y*7Qpw9gP^n3+!_Swn?t<&>xeyE2h(z_pr~; ztGvZ8Ho@8!g`Q0>da%y&&h)ycfWd2WG|;WIJ`v-cF)iG1W6#T1AIPYfNyiRsS!S>B z6`W9*+-LByUN0?3Yiu`Z0d-TxcBhD2&G;ajZ z`j)Wv%b-fh;@1D%|u`9Uy3k;<6@l*#2?aAG>TM`+Gb;8_4)2#-A1C)e8kz zxIL90Bb^mB7y3h;Eqm}qH1;X7@YY6Vpf34G>x%5#x>YvOH@iGXm#JVuV&%*3nrGmq*3r5rj;w|u&jO>K zEpIBbh z_&s5+Tn;R5dIOJCW(vybeDK(6Vj_7Yen2 zJMi;L|Cm$Ro|8Fj_^RkaVPYW-<;19U%|pDEV&NPK;eXMpXgy0s??L1lV7yM9b8EJs zKZ2)_MKf9c;e2Rl78<)U9Pv}y#IJ?!LDgX!l4B_O$-lz-7SZUS-yiCkr{}01F=n`P zxAxClM`UJ+ng+113}#bEU9==(zGb!1U*+q+W*5toWeQd>uFEA~_D?0@4b?By zU>)tH6+*W68Qhh(rW+rQvTB}|V!148YvECqczf$1Xam%O{l?VP&vhWzGrI!BYnB&% z@}vGk-pSV_^n2VN+@M>uLY1+ENjGWCCRXjE)EGaruvs3&oF_-<8NvH`5FAbAs?8lx&XzX2HCFyOq#_o>xpe&siPuvnG(3n;r*dC5iMWrQV zWRSSJ?9D;Y0^5vRtkktKHqVL!*USmzr>o+e5KOEND0dkz_Ig+7g^{u~^DsB$IQH4% z9buX!Cko^u4=&7Hr{)~wDX9eV-+E>d+@%$l0U2v)hbrY>Ev(K-cGla@oMD>SAp_T~ zgK;JKZ4SLyCq4^#5J#(@;}`6H%;~B0JcgfC_L=5}H#}}%u{x)q-FH! zrZubAHisZB9xzUo+-7#ZMQ9mn>$#xL5>RJO?bGUireCX1Pn&H!F-nEHm1M^8tp(?v z0H(W*JY1IsSCyF-gu-Lq2yS%0UPC&n_SHjKliH}qX&quEA;MgLa!mMOJ!0vmAL60^ zf^bQE^t;%AH~LV5+=N$n5oA7>SQ=?p&Sx$4Y=a%qPvP0IMPG1L+bw#813FL-YU9*i!QH~YO`EY8*re`QqAL)z5D~%O zEbiL(+Ckj*xG%p=^{l1!ylxx}a6a8zld5dtopQ0KiI@7h@kHk2)A!Fo_cIAoxs$#h z<0O!guIB^iH7?rPV!jVXNN#RF`9hJWMGT(5TDW&T7IEV3W`1>VsGHc)!TRK=0l2_? zt@~yG`50MSm9giQdYvrfs_HeI*lhDiyoh*jMBVG|{64L&*bS6$TaTUe((j!BxtU;- zybr6aHf<&8=I01;q>mw`mYvf*=Y1>^jBbJ6fZQl@T}tUyYgUdtw>hxxOQ?1EJ059P zIsh-BHQ=_bymR+}Og=*{Rs*b&4p?OE_8*hYqZ-T0RKFX3McN9Y(|jA=w*X+?wBg5^ za7E3h`>dBA5nxmkyT5>kVBF$<0|dXS|AKPgzbcldYt@$ynACLc+^H8k_$5$LM)UN*$a(R)unF>chRJI&jH_<~74+lKCJ7E8cd$Nvh|zo$ppDHz!ak9= z8ml57j{=|18sU4<$0SR9B-a^f4}WYE=>uI8ix&|)6JID4;QPmIOks1X=n2cH#>S&6|ot4Y~wJw0UW2Y1Bh z8M%uo*rN~k)Pk1KrZh_=fJW7@L)Rjpw65A02u&QG^Wzekn4JZwqV1dTL9KkNVPqVW4oEUA$s{>WqBgk36 zsmqqK%XLtLT;rmJWDTr$-(+2nvOl`dM5yiJcV205v`sZ6crcnZUkqI~3V*wTIT>1&lT>V!+_G5w)Xb3t|MG&Jr4 zX<4sI*-qPw5@dzAXDy~ikpU}{JBH!Z9;AqjBbHHQQp4kNQMH7K1IpEVKjV+U1I7G7 zdPEnbi%8d_v~|cH5YifrLJ{eDKk^X7fEDbYU|#p;$Qz;Ml)H4zQxYpTTQts*b0O3M zV-3z$O_XkpRh#>%d<2|6(0q7XXPv*9Gg|EBrlxU!>B0qHfH!4_fnFQ8eCH9Nj|k9C zkv=AzyDe3T)=nt^AtzI)lJwXh5&QK#`=!|SUA^acebdB%SDZ#|i2%FriUy7Kc^8TZ zji7nf?+*{&D7pw2b65krZiNlqmR6s8wt0^7UVQ(;RiFL768t){~Y!V_K!A4vc%$U%tEQR&!+4;oP`-xO| z&JamwmvmL})#9O&1_AAg+e*{6T%2X{K?F0ORN@ z*Z2?_unQhnAmp0tb8`pA*j@D=jp1u9Ddv6+Z&p>G&V6lnO=u_Linr#VM}HiHdY*lx zzm>B?QdB1VV<1GvnB?4RSE%Fw=APdGIh@>dX?S&wU+31&s9>IBpo3!%yC-#x^Lw+% zs7`%)eA1@uGY{F2JpH-$&eH50B;F*7rg`I@Rts^pmZ< z0w3?-6h(AcF~h0S5_F=R8_f!%%t8#^QV(AU6k^{xQZB`RM-bG8Hm@a2aKU^hAluuz zy79hrJg!mhRxv@@F?h0wUP#`osIq zfRBB!E^wtDvn*>-={Pr6bXLd;aEU(`1PD|c!ejOnrrgBz3AD53CY9>pZP^Hp3C76` zZZ(oD;V2q67z~N9OE!+VXh_xO_tD;ZnV+ zMgrNeLR�@zYFDbi|`597K?$FDU93j2MXUnlqkwP~(_=f8(O~t@~)uqa+bo3n0yu zaj*GYxq7b=Z#0ui*IDvjTN2Pef)D4Rw48XT3Q*VXr+jbe9=Z^r<+oA9w3t=0jqxF9N?|tV#D?QCL&?11Hq$oBDnJDajR?7YLfH%<}vJo z%zhyeX$L;HIz9N8wG+lR7DR0{H^ehhw-)I4TmL0K;tA7Qw%9iVujX6HFBHcrdmd{N z)B!)j$Z9aoeyZmC|I zhvVaVadCR{PX)Jfvof8Nl~_Zapl=FS1K`I*9GPihSrwdo(PoH5d|-rA@t$eXQvtv1 z>wY9#{kd=43(Q?gAujSqUprjKX$N_amPOPlDEICB4;4Tv)A|)2=PK7eZ&Q;U z8*{7|q5wcwNFjk-dl!krt>V`@$Y9b*;rqcd_{>(ST7Nx*_g;};E=U?eI-||7?c+F( zYlmC$dHvlX$1?{1@Sn$Nk?7M8k{7GGu73H#9ts`BjEhZFIGEuR)nTL!p}&@rJ{`sC z6swB?XWxNRC}2OpDw+k#E*{_I{4HvIMQQxcX=k*u=5;%ts)Qbt$%mT8~K(-G*#`FC)=mQPuQ1N z&kNRo*D4dRg&lw~-Q8IsPTFljz#_Hvg^7ydH&iQuDJ?JszTt(?{T+d87`l~$jkX%* zo_B4zhY5E#(bfRT@&&Bd1tpIq5<{Q2f~Ayl_tS|pTA%IG^xJq{3&g=HbuX1zzQR>@zi?TK7;<2B_9**gDVTrse%d{-ghR-S-M{sV$}#NPEDU zU!jzs#juSzA&u46o{hUkE(ovepeJCKSf?np2yNoy6X=P@vA4XP>@ev2ohCi^UlDe?a%yMTe?hrg^5Var-9FcJQWM!3G6W@M!Y-+*G7Lp=gj+gWbE%$GAt z^xGN!KV_OXh8JAldd^<$va9sakF305-4%>TR`dy75!R7->ZHy(yi55_$CcTY(X3gV z(|dZK#~F})pWqhZTh?k68bija8%8&6uvD`!by`5@Z`g|WX_yVt;GCfPj#1lq8la7+ zMsrrW-$0p!;Ao(5a92=qGg7JP3oFfK#r_ifTBa=NI3;L{ELhBuKvq%V?fdDDu1)ks z7F!RE$4yn`8C>E+ibi#d^->EH`FO#qGy*}d4o&|pO?S8YuC$7;Sm`s}>Yf7*74UY7 z_M`;yY+-6q+j_nPx>ph&(lyH30T$kJZeN=g_ufih;@p*R_?jFmDq1dUd4_9LMaF9{ z>bPPeJ}uk@@eMmfa$VL%-?U4`xxBq_&AzQ5f1OR2)+4FrosT@y;89}zW828ST70)7 z%f;$E^}QHaU}7M;G=+H>#M>K&e%E1tV=ch+*(>CPs_+>Fx;QP6s0xei{K-K~JEIf8Gb_`V;*EkqW~ABKdu4GpW(qNS0_Kz zh5D3F^Z_b$l9W+!q2;#;h5G*SD>Q6NYX6_{=sRo3*T#({y`2=wvW*}U`^PXe9 zHr`XVlOmrUJgM>G0x>;Ec?AX+ouzmgfAmMSaCqWIh9%+6Pjs&7w?)Z4IdCaVE!86m zo;^|f+?KPhOHQO=f;;!`P78QKAUVhC1qb?eM-dNLg%G^~EdrzG;(ttkN$KV+iYM2w zZz4RbTI!2dQ1YKCS@zq{8w@HURACi+oOk>Y{WO`(k_N(~kon1&L)Sn%jwILmD88T? zuy@7eqFZpdbqG&bq2ZnUtW~FFq!a)EXzbo^E1o|0(Gn<~3V)y=LKnyR4omK{e-B_Ap57EdJ)lzLSn2r>;hL>$ZoLgfF&(mC&HU z!R8i`=E5wG#|U8yTO@b(99SAh`>A{PGWf#!)#>O1*iB3oB`>5nv_R?z5j77Ah6`iSMavW-Ox7wJ2cZ(?Qiapj6_qfO$- zelfIAIE=7b!D=ZS{*Zf2`EQ~OCmt%9ht_RDq z58skM@RUFA^R3!Wnw{cnGryE|fThaW5J(1h1}7H%PZ)CSq^0lRCn8ZdXMvybKI$+Y z97aM0!v!%0-1*V97X}mLOF8*S$hP<4zo^n^1f6>?p~6YJDYc}zg#)h)!yU$h;-1TV zLrRk%_$QWe{I!S@Ph{d`1Os@QRHg(L5OGLe0lPaZXkzKFiXk`NY-v=fPfC0-pI5KH z2AAhI5nP^YX1P>P0sb2!u?(BbY*XV&%dyWr7Yz6bBF>75EWRlA9PWVcEDW&@^pN^63?LVdF?n(uw?WrbhhSfm3E)IJe%1A1 z0^C5q9El}Nl46B#4hv_a(D!H;yeT7QmyT;IM8#`(MWP3{@Az7i&4WEwx2yHDyM`G* z^E@z5kFOzQn&?LhWz=Y z?gpHxhs)$~$FKJBd*gRg;OSSLhO&_G&QLJ>-=oSJ5$#YhXCrn;MCQPKJD93CcMTvf zzEt8OvsuiU-YA}bz(|{&V~$))0yp5|v?jX`j+`V7&*jK3cosk+rVuJP|50S32_Pw0 zrlU_nXV7@W7PQMsuab%8HQga|kLYlD=Ok)r8h8zq%wLQjh0)N3={F`!>K7=td%@-o z%B*U{==V$B6c1xgl`dFmk+z&)lF-`xbVx3*HcccRS};o<`-0a*UK{lYCts6YJ*+D= z8;uuH=*R_5<;eX)!~C?zlxz&52hK=hZVX%kP)vmRRs>fhEuAj>uVGT0y{Zqf_Vos4 zC#KwTrsYDzi(0n~8zk)dg4bskhnq0}G+N$q;73;1`GN{rXTAc}uAV_OoQ-tu*8R2` zg-P~WeB_Sv3yH8s8xvB~BfL#rTT>3gYKXa}x=7M;Mf#f2m=A+-og@8{!ULe5CFj1Uvsa?rF|Xwrf#6YH?SkRxg|`f85x3RvVM!sPoWy z8mwy<3@htOrY{B`2SjHv0T@>}SX6xD$ztblTwktQU6=g*jJ3hg_zwTMW zF!-N-_Vn&mO!zu>W}`ni0X&`A_UeT(u64kVd)1XA2`+%aN2@8mtqcW)0XB=o;|+gC$DkN`?e%z8c6%v!S}q% z*@-t7%o-%xIi0GYjjw>8)Boxfcxvldlrd>re+AK`P+=}Ucnoyb0{7VD?Pm|%4(;|( z*4QwrH#62Rd%v+%p2+rm520sVq}>}JR*!eTdrg6)m3*xXatgOLE|9B-+er7sc5f?q z!rHh>k%wr|$C4jL2o;2;8CwbyE+o+kwNegDD3?y={(KmyU4JdyqZ6m zBtK393D3yqTf{9n)qyj{Ml?2^arZzKbUdBR(~F2IaE~ptFoAQm2|sGJxpHAujyF5w z_pFJ9t)lBx8!}lQKv-4=;Qx@PVbEe7r`3HDWIY?lo3T|J08mh9ug}!^JI^9S0uAo` zk5AFUZgM{*kRR~=3RQcY`@Q|bA@GfLVf+sbW>9o2kS^ak0Zkce+G$$sWW?{kaS zLW<~{q|MXEJYujV>^=wf$u2&>35VJcnEgjfWU|c*IxH+-$X?5Pi>De6zAIu1gD>e> z2QkTc>tR*2vw$2Ah%-w8T=!0f?$+fMi{ieR!v*FPuP$9QAvEOCq>qf>)>=9qOR|-7 zrNc?k;mi1K`Eo&JTbT;O*;b=r!y4k`>1n(3h{60v%aMMZJ8-!&7hJ@pj#_T5G24QL zK)g;|`cy+=;XCAoyXhO;19^&tx7*A|o(zEiM{1qLR7NOmu1$)|olyz#YPK?5ZSE&Q z_J6%KI439(G}jJYcPB%@|6YSmX?U+P)A51+qs9Ec)sO4`<&r`FRHJ>2L0|t{A^Jb& z692Qj;Q?a$*YZDi_)kdvuffFsRH^@0(~KK`Dh9&&kIBUU_H6&Zg64P64E#;d{O*~7 zzX_V(Ju~n(LG!z32L2{!e)r74-vrI?o*DR?p!wZ11OLG0zXh7#Ju~n(LG!z32L2{! ze)r7prvC4N=6BBw{7umO?wNtV37X$MGw?S-^FN;XZ-VA`&kX!c(ERS1fxiiw-#s(% zH$n5eX9oTzXnyz1z~2PT@17a>o1ppKGXsAUG{1Xh;BSKFch3y`P0;-AnSs9vn%_M$ z@Hav8yJrUeCTM>5%mn{W&`kdS?Zhiv`2WE%|7%qJKcV5fWBzZ-`9BCV;y=M*-Y?=V zIYKb7-FUtv5b6J2Fdx}0iq^iRwSC`0Zn~8v=kH8YB9CnfX81_Xh@?rHSx^w8P9y~ho^5!nhmu>FpbCTHLV4@Hk6#8iQ$PMh-ZUx&Ch#u*Fy^0D(wqPCo@%T8S0wwh^ zzsi?SMItABQt#s^FgvO7`gtS$ENrnX8+Z|KbhS)}pm!2c$!-&mkG9<)tJ>MLevl7Z z{b6&Trz+Og61koznLX6--e2MV*AFarhD2J3w;!Dr*$*(2ps5WQ6XezM#614Xay3^a z+AYo4V~b3)uffqfhaaWgZ-~?HxR?;4ZNUZTvKPFht{o1VfDfX`vv=ZrLY~*mPA}$7 zNn~O0=~|FZ8?;!_3oL3I@d`K{zlDb_ewT}8c~rmBkQK2wQg<-%i9gtD1ysXD+15n- z(b#Qsk7yNJqqJM=e>3H>om;SHh~6Dksf0V;S;Ba448l?WtXKLBM+l3`uq8*ntcgXh zFu>r6oENnd3J4Z+z?SoxDI1_m#8Dr79K+VZ6jAWWR(wRFYy|U4K?lFm+B}>0+nQlg zB7b6c#NssJk2>Rq$rNXOP@#fOBc#H%2(jcc-R(-YrrRZ;ug{=g_4>w&^dqr3+v0z) zcUMtybnU+Ak>HvD!9755cZc8>+&x&Z;7;N0PH>0d?(XjH?lkUl$h*IN);eqLeS6l; zH%9eEk6ATG-}LORS-W>*pv`D9F_x!Uu^+Dkj z=*FFhc7PB?BiboxD|>lR#nw>m5|oeflX?p@3Nvcw!ww(|Cu>X< z*F>GPmCAjc*ZTPO`*7gt?oE7-e(%kz zS&tLSz@rTeW$V{&i6A5$K~@S&%WN)zWgMS)H<7HDSVgWvtTo-* z-ZpPOz7rp!MbYEIds&<4(Y6PW3Aj#Zpg6u&+vu`e_3?YkTRo*YRxh?$Mz&uAkNh4g zVz=j;n-qCtdrtwiw=Z|=u_!z3p!IgnNlr;OBsOA^PS;au#zD*}cCJ9J3!Nfo-SXcB zDvd&=Kam<$YD2V&b@rR8cJr%t`~P9%uPTdEg+HT^`a+1_A@^vJYb7KHP37I{6F| zYY`^CeIgaKqIEpt$XVUH^bbVOS}YgS)}Pat8|xfzL_I9lcoqZjn*e;s%KXnDD9~uY z30+m^aZ8>h&U|{rt)V$;^U!F|YDbLrRVck=R--ZB}?y!Nuq0q(`w7n$OEiz zIy2(pZgZuqcH~GCcGaC9xb8BPEnxx+8sVXachy23j=PZaqsx{3v zBPk;5NB9=S>oj>N{6NH{1F4dowB@N9DNWG{3*E-H1xN|E-(~vq!_KZn?dORz%*$ekoE+bK6n*FY zkk4Zme~Ru&xarWsCD|u$s67cBQ%%hMkwN11?$|{ za_o5XPn7wC?ACjAv)VA^l9r7hU2h03H95nxN>Ogv&PCN!KR-a5(qXYbZ@P!8a=LI)#h6@`w8prepxpxN2)D_kG6MqUs*0!5Rp8&w7g_YUq|Y9 zlEBs9-rRB5j11IzbFVfKP(xR7-_^9!1$sw(TK9YTwzR}9X1^XeUE{yt>Q;NE=DV8~ zQRTtoEi=<1?slnpWNWc1*S}|FowCG(^@n-6he?DoEO^rc?_1yV70a2gY_H)4b$R6*%5B55C5+1nom(}V`mluwhJ-(x)TjkbSo%GYPLN5lEwJqO=Fa~%16PEw049sX*b@ zd&%)|GOs`LML8jEu@(x{i9on~vESgm|E>#H`O4HfIaTSio>jXH@y4MfKLOrK;u*aF zi0|R@!|}0?-Lj}uyu)$)cR0@0u|EL=oXj=nwZ#we#=_05&#-v}?TS|h&ht3_0_fbh zB5uAVWVdAsfQXmze!P-mYwDk9h<0tmoy%u{&N7H}cG?C}S|ggAj@drp&6?k&zT#AR zRE*O`L_*hLSm76k-qqU38zR}$3A|?kIYPURElAYcoDiB2*^z^MJcAq|ZI&WzQVEVt z`K+{k<(e~YOV7Gsq#-!=CP-X;_DmeK=F`FC^j1qQ6-~@2gKvnQI$5sR|4c!xlDaz4 z_#_xsq0rw@w8nCD?c|MWm1KDRBggq`bNXIqR5M+awZNLjme@ABDgI2y0sA=vg%2w1 zy`H_O?r#exWq;*3?l?DSa4kD@w*fhc@EqMoSqO{zgw^jg=x56xxMv1(mkfw^Iqt{A z@G`JlRkrtHvOU+y1=Hl~0iTb{pr}Ufc0|a6{btPDW7|OHXV)5G&`t6ai=)cQx*4qt~%JS9yZHE&@SM_x0_qyRT z{}v0?D_itPqQ1Oz15%XhtDf{>L&$JdSJK`V9BSUB0t^K_LpH-9c3Owy4!IyXExD9o z#+q==D}Dk5Z+amuU*{W==bC;lhzt1l8Z@>9P;|Na=VtxWb{W8?Y@5#YW4{8~Ltqrz zhI8=U8)ZL|ozLNFp*;8Ga1}@5RYniz59&<2gm9*eIg5Z=Ezh1yKMr{u)h5=&UIgOu zxoU^^GFtwz%_9Cx_BeLwK-&zthv6OSHm7*=bH=_;&e(95JI<#ZR;fob!@q336BvGQ zWO-44Wy|G@2OR^C?K0Ny9p@l);r_yLpEU9J2h!hZLTn&%l&xQ7TN4}Cazu5gNnFR{ zUvhPNQY4S1XfvZ_E@{?W>E2EwFuk-ROwBKA&q`d!%1M{P;4X5K-QM9iuK(jobxjy_ zy_d@oDj?DFjCOJ@H=y4YUTpY6!P%!MyROqA@rBUS0cax`={-lCKAj^Rhq2X7KW6ig zGdGIAp|T$^ZPP$HFDz{1P^MR-V12&AwVjIF*MxP)a3y&#*$GZU zJ@%^@156)-w<@vhVceI&F!oVMqZl{JT_XN*LVWff(wg8f>NlNz3a0G<=0O+Y zw9K(;SfobI-VhQA;kkMi{YDi8(8C(c_~f`8&mIcLiq^jN+> z#_lX_V2?!3U@Uarck)J^V8l_fNPhfD+oLSs!A=rXliA!uim{`<@1QpKnmq0lGpuy% zY4S^}TtblEBnd_>pDoyuX>J{$)eEA)UCy8Fu45ejNg&dg`Y$)mz@K=@L9g_j9NNp|Cib#)C^4l=@l??X>jZDwC>CPSBP1l1Gxa(bEC=K{;wPNkcB>7z2J-R z(C;i)Io;(j{_OF&7q4W5(xE-wjrYuHP-d7&CH=+J*@ z4#Zi`wPPZCuZ2~yzQ`N`d(!K3FSX5lH&_Z!_zuU}{(<8ahm8Y`3!X=J5$^cC7Ko8R zQQJRo+|aDb5cwZCPWukWyWios?H6tf+};Mpd?#c-E=l4(%ww2c=aWW_9`k?TczNt% z@wwV!o#{{2Mm9gBWi9#(v?@gOv=&$6jWHI%JTf z4$c>o(c>$YJ)70c@ytk@*~#H?=!?5%vCpJKAa1<%%|AvCSV`4uq14Z)dckzyx)5bd zL}Gjul>>7)a%EMThD)90J2h}G)~o)1CUmLC3?j_T6WjMwG_6Ph=V^Wv)5o3XT z?O~X!sC$aRYjuKU(fG^uvROJ?`;Q{Q8&zhT&${5xV4VDBTuy+@>T1ZdZAns}S8@}+ z=7z8|B!kFZ2fI1?BP28oKtUL=H#%1z5~vr^_rlVs`k@kYpZ)#}vnZ6uO*JIFeFAR; zrM2*lvYOkPF~|#uNSf*U;Ci_fT({;JxP16xXt&JzlX6??q>>qb2vgdu-b)_-FCF)> zrf~VtBiNzO`%cHN@bL3oET)VynFT$Mxnj{GO3}{$q2tH|4mDRYECo&oWd&Zld+&4{ zbAE&-uX22RFvb57lor|VT^30@1Y&xCe>uF5u7m*|uO9d=^7Z+fr&+1ic7LYxRBei4 zcr*|Io?$p19XfKi1EMaafloB}*U<9_1gJ1MKRHRO*2m3uYdiZxO@e-Oq>w0kBZznL`i z4!m`+uz;R0AK!c=z{Ta*Vvz z{D}{QxI;PJ#zN?8@UKc13S7pyYt6OK6<5Q{J9K_Flt;%r!7CB`i8@E|2JT zyTQ*#*cy<t;xC175Y1P?88NK#_V6h#C*>;jKJ% zRLg((%f|!$^6^82W6XCxZu;%^xq&~Ui5CX18Y}M3Hy(F7ado&IV^<}Jl%%fY)w2WJ zy&zKXosX9U6sT;MRD@nomZ1oo1%S{E@F3L$r7Xg2=O~Y!Lz9DpUL6dZ+^`@_CVydj?8VcP|fS`&I(f%hsC+`61tM|cxBM{=5SIA z&=&8xwAt{TNP2qs`~(hJt&FTva|9^R2WWAiy{PF+nDcQRpCeH137`c{Y26#Sa6=)aM7aYsjuot9CF_Z*c&8s`*ag|(j0qulnCrSnPwZd+>tD? zl={`-NVXzxv)8j)(&!cM$-lg;3%f;NGD{P?{Y#HWJ-|Jt`9dHM3_eE=0Eq|FQ21%6 zO_xdEH{`~RF7O!!!t<_$=&iRrYmJHqM373xzeZYb?J7@z_pj_WPD|ai_S*1t5?_~o zKT%-PGCt`%yQ8qjSelf0DjmG8v8rg^OfFSuzev?VG{tAC)AZ+J97PEj&FimRo?$Fk z*MVDTUZY<*%-+|#mnGZD0uXTRjb&~0JR@Goc()?KU+=&iV^+a4I`B{d*QlqV#ymLJ zWrsx%%CQ0=S`kw*qtm;GwlGmzFc)^a6sZ90RZ$pAV)E9)F|q;2o;~xB%6!%8PPS)f zyi-)ZdXopD){K>l#0~QVJqnKbJO>+2eoVRooHhx#LAy-e>*#Q0DzD<4q_z1m_opkM-<>DoRP0@k8%=ygdy)$HM~~0nzw7ax zcRlW_s{i@?X8T=_tM~pdJ?=qF&QQ3<{~J22zl~_U+AH{lC!H;l+-1}0f=_2B_t}-~ zRXJusy%cg&4t2w%E{Tj8W)!(|d}=rT8n^&**Q-D@+Z5pi)cy3<%N<(PyAVq%om?Vt zhta_BJ^pJoiLc&E!wKi01)7#l#Ve*Y*}ELyC8}BBLZElP`0)@lb-3kRyAr2(%5|WO zQ2A;!+~MUP`6eFrIK+A7tvfz)mMhVq<*oOe$V^74z@}ei`}tU+g33s0uCO!#kmp>V zn$5176ds#%c&%?OezIH++628&`<-T8Y`89@zqc3@znan43?#>eM)duniK$sk>k^|i z4|~}jx#J$@HsWVEc9T4Jrp&Ggl$n5RF6247^>oiCx3(qijO5k`un(#o$JU#xWtjq5~? z9pu?dBL22x)-}su-o67BZ`7f{VP{>bhMv&^lPQ`HwMn)=ZG`@9u|VSjNbik*-u*0t zr67^ln})iv)yBfBCnnk$aJfR9OZg(2-9mx!7DnU~thw=^o4RQ|dcgp*N_Kt4@3iy@ zX+uutXY8m&tN?R(I^u6L={V~wg^g9|9Kn|4KA$n#wBKN}(#8S@E+pOwv>K-3mgG#C zwIcKI@4eyR3oSAK#CLeD0mdZYMYNx!8Z0Ue;b6y?o8hhYIjM-|KY_DWnCD|`D3dYx zew6y=;j66c%!^4cO+p{(6iAyeix6J169Z3kv4(cNBX9=ARs+`(N0sl=FVnK*-0$3c z!?r1A!L)IX4>kY`KHKpiv;gw{*$r>3u?AHpOQ@_nYC zFwk{VU3{!Cl!%_bQ{6E+-~Y^Ukn`O;3G-VgzRW}ry#o~ss{-mQ(Z zj++!%EosgWK6svL3z~|)^>Ce8b=U|wvGqUnY)?I+I}t2aI+9sPoS~LaL(ztwXd7!c z>&pd~6{{}k&VnuJlJcE+@Zv~XpA-XGt|Y6ngi)B)^QZ7d%ApvI0!7<4cIIv2ZY`3`@+sv z(4ol0Np_~Nd;kHakxbuql|tj%E0x09;X|>K*26K;7-jA+N7+^+2YwRkxTWh`(b|UJ z5&V*?=jshoC~%lCid4^xGzSs_2!aVvNtIFY&T>geBI?e$d5i@;a^54`zZGOj>W$rb zjASC=hQFN+y45L$23Fx_A$l}>aQQobFgIb`!~2p>oeTv2wu>_z^R~2tv$I^9qIBm| zJgSq2kCETiT#|eN_XSl;!_Zk_MG~GqtF7@U5v&vYwd@8n2gR$giofxXcJM+(Yw890#Yb1~Ils4$2hmeTWw)>n(I zVQ`%P%nC>nb0}1?S{}}sAwLBrjB2FMiC90c-ti~tQQ)=09qkDPH1?ACW)USW;zM$- zqY>*B=ZSuZ=yGn&lDD9jgTWbd?@%l!27~VFTh*1=jZ5E|nq^FLe%Bp5o&2ZJHQjxeXTXcU z#E_vHFZGn(oD*#Zu9UrLi$4>j%^jmuNW`%VXOp(-x@3Rb@GrQJL#02Z4oKq7yE-?7 z;P(+f$4nYkYUNsf6XBZP!$PV0iolDb`u_V%e+#8`wBhr7Etm}pP2=D62<56?CDYJa zY_YFgeNDAhV+Hr;?A$q%<;rlr=MOtY28_Fe2X}``yi!KMuTe-k@d>o^^V<`4E7jYqiQ+`dDvHyb445m8|O8bU&8|SIeLGg4EDg|^X%O%79RQ3m$s7& zR9tZPgqK71^J8+h!Qun%-o*X2!1n>_(dpn|^DLW;Z`mNOAF)=wMfr90XZhQywCdwy zi`o$vLxDa=ww5nCG|0g%Da9$`{8cB&drnw4yx$bc3e5BLEIpVQTEsh3Cqo*A>Jn-2=xTCEz;<3FcZmv<(WyPXr9rJ*DcsE=Qi;o z+HECO*w#}vjA1Fik#OVtku005csqW?x01eorAHQVKnX@&Rq+_q}cpU-lisJG+TF<3-_3T_(s3j9-XwNKxuKPpf<>lpQ zk)BHj=5@e28mNLVl7!=_`RfQXxh@6od(hRz-3i6v;jIwTEq9570*p20O7|l-W|s%1 z_*@iD>^Oqq`J)X-ROHOz*(T`&r|*P&}PJ@u(1v+E9BBAWq;e?YR1ME{mt=T zz3{q4Qx0MIXb_K8@eAZZ$k-U;7l?KZgaM9?cCsp89VZe)f- zLT}q0l&nmc?ii#m!Vx}(2ID8k-VL3P37QG+^g-Ms)-q64Xu zlHyNA9cT2NmS2e!e(pUG1TKi4eXOnd12sqP3!ka^xjHgCY$N%%dw8!ZS4HrW_U=#= zq{+gpzEk;%a`_l{zI3y}>Fb4HAd9YnP`au^nD3rT;0b35CdyIeFp|IR9_1f24hseb1`GE0nf|*P|L+;s|AEETTmCy1ulBM%_>A%2I5-#{ zm|d(_Fv0)r!T;(1AL-Wr#^C?P;Qz+p|Hk0|Q|Z?K#^C?P;Qz+p|8wcq|Hk0|#^C?P z;Qw>!*8j%f|Kk`O_&;Ir|JBsU=3QwcUK9ODhXMm5Km-Fr{d>=5Z*6X5MXw+t_)SKH z&hp1Uq1V0dwZDD;QUCkD>v{83mTjlSQ9b5W?Kx41mFvF6_*nQa!EF74LulOi01x5c zKQ({@keKD~8EiwndNiAeR;A@RnwziNC%2{XdAK@usJZlOIHd3P!67`8WH>?vLlg6xLA-q89`w&X zg7)Cn^!;WrTB=>wjEN&)b}DQmA*r)B@Ov%203r>&UfmIGfBAR^wq%HYSiZg`xF`$6 zwr_mD1XG%<$%vAKv{l-GbPd!Jb_Fya8CXuV%EQ1R&e<$;)yhJ`a%odGoTrYY2fM-u zma>^K2V&U;hqP=)x63`8oL*P_?r4}fhjYW5DQbALl4!Qq#b9Vk=*88==-^FCaXtMj z(BRD1cJF-ixSG=K6v@Za#>3I-`fzeMZBj7Krs34KgbO=ACL5_{1WP*btZ34CYBanShf=DVNX7;ruBk~f))!~J}U zHOdAweBNWxiU$$1c3S%4I14glF|dr7S;rUks`Xe&=;ASwtl-lfrQ{8_T}r>cTR&-x z#sG6)n(bu?_LvR>(HZJ5AY?76?^Y@ZzBUYuW|YzQy9A9FlN|bsC3~I?Ta?)V<5H?_ zo5Ut$S2U?EcVbtcZuA+r%d9<2KK=`1BAN+rs=tL3tq?lcF^?t2M~_cG)G{iLJ4(J9 ze2)y8x}+XIE%Poic)(A&x-O39=wH2#hX^G;^3Tf27zD%Zi>9}vYrw|qcKUKmH1TO2 z+We1#tUBef&#~Yo^Y`04txKqRKv?Z^6-t4%e(V^`H8x@fcDRYQmU)5l=dMQ3-hw&1 z)W;~AF$@0TXIyioQ86e*D#fz0>X(7gBRa!-}MM&LSD}XO!Hzg`0w8k zk71QaW}d-NT^2%2zpSp@4gOjq(wEn#VOdGSi1$Lu7?;4_g0<&8!ST)s1uxO6Dt_nUdKOg) z5e)~_S7gLI8rkbJm`4SM+%IW6RHSoM{Z{6=s-Cu(=x2M5m-p2DgI!ZQedhZk+88u-oFdgI2bEe@{+#Pxl{9;B6 z$5*X-wL>U=e1Bz#dEvL+kp5M%I9!ISLuTDF@@3Ga;QEI$BjTpp6%g7NZH}I^;iMQE zu$E9G$x>4lM9UE)AMz{%R_|?U?!8+Mzc&DKwqL~MBhtw;TS_j-tCl5|JYX7j7m`m&7tpzQrn_uH zsV7?|*7v20c4Kei0|K_%sG>_eAr(=#auZ?PGRibrL>i>?U4p5W z_jtO$a(e94m&e;WS-tkbwGq7`?q^YhEbaqE2=bNlg`+()Tw&{ewMEXKdfp(kumQ@7!Ip9Q zJafAteUzpGzLbHUvxr)cU;=2yCkK37Cz^3NrUJOUh6^(1#T(3%q4m?NrAe<|)2~Z* zlUqM& z+6X5*@_LI&S*%e!A=J$7XxMiY#KtT!CXw!bxidHt3p`(%U)+txYQHS=d%k?`Z7X$K ze|@QCne869Y~6;u&%3`Z=dM0X%=&NqQ`vaG+d^BLSsEe3HGoI2pNZ z`(r!6mAlNF_5A!NvB=EgjMskUsA2|6E{@AIrTGYq5f0>RK;U~Jt_phKLnvm$@&U6-2F-0`Pk^V>W&8t6 zQikcSlnT}m`p2G8H+{ER#f_WaU{YBQ-nP9WYj@J5CgD6tT-iO017F}03AjdQqI)di zPKfY{m~!0MY+xypQj=-22{$%BkZ~fcar@?TUH?)j$ZVi3bO8kHU2gd@*8)OG#2zgZ z@cS=OrcboAy_Z}*yU%{dr~*k0q^ zW|32cqt)3t{}V{qBrD4fv}Rovk-4tJetMaWP@bVAa*Or-tWu<|OtE(CdNTM&QAN0o zE!Yzkb0#XS{M2B_TxH8A9Z%DY)A~6g{+!1Gm)`OjX-ozCEs#^wlsm^F8d7(6-sr?? z#|CdhmRvT)n=6ML;hcDC?~68G|JVp&wPEqcLUP%VR~A4!Su>wiqmFB@LU@!|+*Wxe z(sq4eJT^^0!$XFEBW1JcN;vF=;jtLT^a|>YaqOt*tT#Ht?~f-5nU*$V z9Pg-8JkQ+vf}2rGPup<|O3M(AgsJ5^AD9_`2OsAU?`+*xN|>*1MIhW=ekReP<|mrn zSu(5~O-sNys5ccZwAsioDj8yOE&+Y1+%H8VHFYGf{GHL0bFN8g`gJSflrYf-a{GKo^WloV zL8Qc`E%}D|KDR6?H_0FCIpolFg0$?KFHpG6dAT%lbJ_4P8?wc-zF=uwvJlT`tYmkNbhdX5snlsPx zteHZa?xvpH4VrpE{b~75NFs7=1%mekk%Q(m7N0~*M~JZPq8*K^WGL0h<)GxW%1)BU zZ~6gE$L+#qO7lHlu4ANH%bfYt+AWouANo$*emD~x+#Eu-reBa*thxnzbIaWVcD0WO zNGn{>jTHy-Ec=tNC}^gg;uj5)$IdxsQd2YyAYc>GdI9w za47@x^uN_AkRf4&;=_Eb%qsG4tu11(wxR_%v?A)Y7x=z1d+;q1R%s6pK@ti(y3ShE zO7M(ch6!B(o<5Jv_q){n4s(@x0T?O43XD`k8WIPoIoBEwA~)J!;oa#kyJ4yDDELF# zJY3(#$4S~vC5ig8&HycVUGrhjc7U^0p6y`2R+zSp#%7B&^XB*EpQbM|aUZ-1`!Imf zhOZChI3L=tKa|AS$q zssD6emaJnYsvP;OvuKcXHHL=bK+<`f_%{s><;#RaYp%GYFWh@(-(Dd^cdYIX-KTgS zIl_+|Lh_EeybTK^44N^x}ARLE&J1Z0T83l$4`nkHWrJp!19+)Js+@N z@Ju1AY@}K6Ba5N1-tqE@gH-u{emfIlentV)sT^qOy)n3Wu%RxXJ0WDnA4lXv_b!J& zx)m6@o0l>Uh!R*^BrV2HkYP{W+)U}6ib)nWS;-rGG5tY9-n1X`sYMMc8f$nIZeB{XSI#{k84FCaqZ+m*l3%ZR)%2Z5(u^ zTZx_ZWHr90-X`OSY+lc&XXJORG&?*4$K9_;%Xm+8xT6xQi$tU30PJ0X4TPm9OYiDq zav&m>dr#mjb<88V3nSVsC){CZy|~u#E+_D$Q@F2r(wKWV{?xg<=jWm~GMcw_sNflK zU$+;T$Y6G32i2Lb<2Px(D>LWfoiFW~U6fD>Q%9c!6|d4H@*t*qe@74%6>GC+dVBKh zF2u9_9{Y`2+gbn76*!MIs=-CgF`gMOah`#K)ySP>D}@{RQAl>${UP)*z1^TS?OAK{ z8A^qNweU3ARj^<=_IeWKzClncWtjp>%r+w?PtkAIs2(W~QoVy{G8*?-nC~rdU z4;E=BM0_`H1u5iE{a>(ZhZDgTu0JKeB3<)LZ55n$d)hREn)zg(z=wQ8+JPxC^H z{Q3A)48Iq|wFYF;F>e%4EDaM&eu!%fCHx%9M+CiEQElPI(!wIDZPVtp=%iYj z0;V=%F{?I+uwV*-6-Z8M(PUH~$b%CzKrA(fhR23dMW==$)36@=(AS<(Q`Xx46oEZ4 z0Qp^lM(n9e_a`rp0^KZntFt;-Le;V3kExY!rUmu(bt6Lv#6CQoo_V)A&#&( z{hZgLTjJ(X7Npmx*GaDHG>Z)S(NLRXMIUO-CXsYdRFpTns!wYQ&2n)0}K3_ z?OVm@hSuXtg$?(XmOCpJ8iGL=Ui%#5ON zE@=!OY{b9%VzgJ;w5=`^dl12*k5T9e%otHs-*M#C8ed^EWd0tSL({g8ABip7fDTS- z(#`@P9t(iC`76+R_n8$o<_VNb(pKIxY4h-hd#Vz;>P0j94hf;v9^PzblR7p!HfB<# zIk<{C3Tj8|`o8MYnM+gI+Aql?ZpV8p@-(f6wC?F(H6A!tFnblXyMDrkO;Z~Y4Q>O4 zsinR;hMiP$j(jQU@%5x0l1 zh=sr(bJg(~9QW>oelM!|Ofq3VZ_!aObPo%*$3m`?j$J)Zy5z#tq#P@Go3%6@6Eh8V z|407S&ICc&tV_1-9N3)A%4#`ehnF5tm{6%YeZVUZ>isR}Vh%AB2q$8qC2x4Ta>*NN zlmWT{o0$3Y7E-qVR9v_%BOPSicevw~2b<4qIT~-Vj$Xj`Ir}&3 z@w;A0Pht5UeX*29smaSz9z6a)8>!hQwQb|Iri}N|b=)g&qzM(OO9N@w0-i!W5M~Q| z1zX?;q4o~9(?AC-dFO|gFnEI-MaIp0?NEZcuTJ>RA(`ER*0M-YX0r#y_(p(*<}%~i zxa(SzZExyYV_yjA%@5Zs!>X>ie)-(M!{RKU)N$x7ERRiLB&KK8af{aTelPpa%l!|X zA^N7~XDGRzf*+&Ob3`;5zl^5`YIAlhJ21~^?3C; zb99+hf+#VFaVZz4o)Lyt*=Y$lu_(hNtdVa{e6nv(&9YnN(`|3MX=zuo)J#`RDAQGU zT~qkuCUtnix37B}FjZ^*P5G)nF){h*;?$+Hkm^S>`C@uvs4Ou1!)=Y?(W`&`1%C2W z|K<(!II;fJH=!*4+Q#nohuCEes?n9;rlsj3e)efS>=A%|Tt~caUu6VXeV?hlfq?A{ z|7}&0>#&q|h!N(tR+6?Cc!hC>qiXslqv6*`p+f5BQxMLX7E&Lxz%4{%yS4O*14sH~ zF(#qI@R$ciqXyh1b6<^Pm>HSpc;QHSHdBUol2gQXpf5v)O`_`8`>>g(-wyorlI2YZ z=^q{DNsg@ghgQ#O34>{4-2(cw)4%ZNZ0ZoZKzC>#yb^$^!p$@PDtUez*L{WhkJQJ% zxAwvy%71R{|K8sJE3Gkc^AJKZwii?a`S%3-bFwdg2M7M+g#W#r`~RJ(^_=6Mnf}v> zv7iF4eF;2oI0QKHKOg-+UHgCh=!xMF;0*tDp89A)h)V2#Ci21qXZml$op|605Ey?q zKvwO62Vqh$u-`pkU}*m+CYw1-;Qz7(zM^4nw-&bA>gA2BPLd;`bY11fH6^gf+Vf}&F zG6=MhA@-I>NIyXTNM9P-9-XoHrquE*?rHJ{BCVo#PwB9gKY)UJwMi=rcL(c%1Ljfg zmj{9sKWv*IP}F=J$#m-heK>W!CaUdAi^LpxaHp^leoBmz%?@p`Ngtr%&saFngLfjf zCVmbwg2U{ZLpb?G{XD-v-i2bO$BjV$>x9sggbLjch43}Kr`>s&NQ=AiB9($()__Uc z+A{;meeLOGKVy+LW6j+|QQX=a3kXK#7-Z8bH)sexi{r3?z$~xIxQ`uufG7xCsr|^U z+O-TPjn+3`#gOUSMWKK44bBvt4c+`^xE>VpR63&U#`eCGA9v`XX(g98xcV!1Wo7u( z?fswN8tcsPLqGl2O~tZVE!TY7Lt^Loyr$WoNDv6Xz+H6J?Q9X1_6M%^fbMbr*y5e> zal*?S?-Y(>e|=6NgsflY9};qKzUI9)0Fj%4W?=iheD}f3$mXsys{|b#QYIe$+P@1g zpHIufdm3yUwZJO^wcu>3Zhgq)yf|z-24;z4rd4#hzW3Iu zHC)j5a_j;ZLmxDiOM*N0d#%gPK>rvA&WmOA7X+Bi7MGC5 zeXBqXIcjsS5JYrU-C^4gk~Qa#B=qQ#p$hY#Jj-8B)4rF_zTWmfdB6-rsE06n=Y2X! zhY%s93H_iRl%Yj~)|kCR8MdbJ2O*H`VC+bW0s@{`#}p}N+)?u?m|8tO0>{B4a(ZrT;x;u6s4!4hj~L9gk^quF#1JX7LH7q*z%I+Y z3C>l-C?5Kz58*1IlE0`4K{$R6#RLzZNOBWL4l-_x=?OE_b|7bLgvsUOy~BgPG&)s} zIN@N+5bf%q6jn*zlwG z3#jKyDC-TzJoxQmfyq9!*7Ramq`c0dGdQ+@PU=o<;h(F<3pxKZo?pL#mc!?XK0R70DGm+%aPLslIe@5-)%oCQYz6mhi$lW;8-Zr}D$6kf zmZN?gKYK+SlOVLx8{yD0flr9caYFlp=S42b^iR_D!X>AF@}m}Y!5*^bvRxFDzVd|kI!c}q_OO-Vj*O=o4*4@^}v7rW&*Xm{OFuJ!-S z{Bg#2Z|Po2ZF%l$R|$7{z3O6^WRQHaxGOpT zSjjA0q+{KrV(4|^NSsqlos)*_s()Kr&E?ygPAgwJ`8FyxAt#f8lvoGb^ivUkQPQq- zoNnrt$^B$720(Ciuc_M{Rf<+Lgf@3N9Z*S-GE5leS~#i}%zc7Av^4W?PszN~NqqE> zlc(Ry4!J(VPb;6%784BS^}V{cwHVL8UWqkY5?%DHnn%tDG zYOkWV9aSGoR~H-ok{BZEIkl(Xx^^Gs5g2}$N%#^m6sp{8N>Yn}78rP;?b%dE4wV_I z{8?(m>PBh)#2@K6`6t>n3v9Lbv967@aWr6Ssk^F9vXo>I7V8n;Fmg{OJTSu%q@n=26)((+a!C&SWWWA9Fe;1r4?t2?|e*j=!$iie0 z@G{0liK-tF>xiEeEXHj~ZxXx4c6o1*HtcDyn5$66`1fQ(qyaC+W9%n_v?ufwBwPk- z!0Ws*7!RKR4s-vo%b`PB)4md9%tu;a_fc24auJ#bPio-MNA4rumy2k_O(fq+dC&aD zAWK-cudvrZBRFp}+eZ1~fn6m_wVM^%NplfjHL*3RJfUt}V|EXyDQ}}i)?)Ax!8Q(j z$|MJmJEn0@G(Vr*=sgmRs<@z8YybrcAYUw-jdwH_7DE(ho$EhT<>wZ=ZPvcbj4o@` z6h7Xzvy`3*6C4A3CM6t)9gD^~WWTeSgmg2hE4zorWsZuyf!*I}^ijFGh0;nmF|nBVZsXs03!ws z(@0t!dy>3B?@jo_v#ak#;Vz|FI830}uo3JB7xr`qBw-P~qKBMEt+DwF`gZWp#*6!0 zWV@hKbi}+i(viwUKU-KD%`0v6uTPj~Mq@`^?%#N|W3W96Lk(p8g-r+vcl}%xmcHyA zzo@jbRg`;=>)~}WLDJj0uoWZ`0rUD}eV3DB=c9%V2)1^Yw0(dPYFCqahv!H;mPNF8 z4*T?ol|Ow=;>Tl5?vamDD}vM!(n;pNva|SlM1AwxHtjw(KceP!J3v%-X+{0Wx{=eS z@SL=@-|*Ep5@8re#-UjFDM!(d&FGL1QtPBRhf6Tz(*}zc!L)_=s9vfufH8fGH60J& z3^I+u1@UrPUCS)+1@aP&WC5a5Ikj>nHnCVAw4TtA!079(dr21P_k|F(wt(w*iSVgA?Q=LJ*K47k+XbuKo0ejwv{9c&h|}V8)=I9I0NEi%d~L{jGl4R) zhYR|k@%Btv8}@vkm-LyBk^b)70cg>#ceAW;)hd1e4|{JFoj0^)YnmN1GbWBHj+vPu zW@ct)CYfS8W@cul7=KgD%*@QpY~P%7>W-?e+tuB#J;r&EG^DMyxAdl|`K`5ln6hmF z{sa2U)=LY|%=^x$`Ty%8T5A>U6HMjLF0CRx_>vmyvD~nRs>613r3BKiceMK?q zCWhzNyF$C#SCkjX-xJOr!hh><_(Hm~3C-Qu*;TMoQG=qw43RX9f9<^SU0Q@iIuek6P%z0ZJ_&bSA6(cfHLBf2#9t)|=o@j{Pp z0z0@cL{zk)q8T4yo`@6GV`f@^+^}Asj;>W!(~fR54d<;Cj?uq(V%K=rpXY@a4($UxZoMe<~F#CWZ3wa;-uoa@PPV{wH zV~yvtiV?^Z+>BpBqKwGADE{q5X*yQH{>uieTswVBAM34V;#=4vxfRnx)~16Fcdt9t z9aG2grFozAk2Q4Vk%|wrXu6Msr2|u<_gJ9(lo2NhiF` z=rH2_o}g+u!>3IUbzER-t1Aebf;OEH@#kzPC zTLT7umZ)AM88iv+tqM#LXImN|;)5?QuiMn%5Ja(RRS$JD!Eq^X#`OGdq1AHulzgbX{ zA6NJSn)aBBkj_*6<@io+m-bKc#ZOpCsY zHf$#wPuOx0mpvKCZlLIUk|k>Ep21ymE=axoT)4-2oY>Ygt5$QMTX)L*)=AMuGf<+j zbaF_4zs^eKIH)(=fQf#=4Hy-LL48EecWJK>``mk;d!gcWAhlemobIeLBF4g+Wqn?_ zTVl$tQwiza<77H-FL&Z4vX;IiadNrLLb3@+UR)wl&1N_DN>CaSO`OdY1v2*=rb!OX zSb8%oF19NrYu+s4_5ynz(C;_O%l3G&)TfxW_pk&Bg_liv-_VyBSv#{YlP6wdcXkO_A@6c?6plZ^UlT7ls$GhLSLZiZKw7q88>P(w{${Tz_rI<5CRPPCckD;WNt1qJ^BcU1~0yhdM{CHqrEd@Mr zMaS}T>IeBHiFT!9);b1lf}9Q@7`Sd=wuAG31!SG#X-*vgA2?E*<}~}MP9zU)EVV5( zStd>2d{(j|FCag%tduui8cp`6y^4>Kjp^q>)FJ&nuSDe*cWY(yUBy*t@3EYPAM3KO z`>5`7`FwKh!j8x9RhInK8@ZqRHESKn868*(N;C zf<svZ2^&rJuxJs*J#*assIRKY{)XMW?)LIuuHa*`l< zlxy|;_>I=2O!zw!SA}VF1bCofe2Zj7Vio(>zs*0%TNnAEfe(^zzuh69>y&AL=`e$7 z4V(=9(K`VhO6Ft_7EFvDalK58UEuo6|3U(5rSmZ|jduwJT&PXYC4JUqSg>BlUAl0% zJffC>#Ii@Bf!gshCr!7#g1@C6aOXA_zho2!ACyshRQoLp8^S*@9-?%TC_nb9D}eWi zX(-Ga+${y;8`4v{O8PWrfnoqPrNSp`dF`&9bjP-Jc1WU^K1=np@ZYK0N~IeHeA6)6 z0V%bxeo9*sJsV!mzIb|0p^5Ig`=`jGE}w&eKh^M~vFDO+QFy1qUN@nIl3wDyoi%cS zQP2DE_G%v8j)KS@ak%dkNW*t#-}ty6eeZ4O?zH3Y4RQCAi$DX{o9-kQ=lOg}YS5-K z!=nC2eUH2&zowmKWjYryhi1N?g(X^|3eod3fusOS-} z{^EO13G1hJ-p07B-h%5nG>{Qc_{QWTf3yuTyfvMQQznO@YaVI4}IpDh937H2c)S908|gRb$hy^)K4 zz29u*yQoRx!~p*XRJPK-zEq9bdPqF*xH^1hL>y-2TQYRn>YLIE#vg-0bd%_}Wktj? z-h!!7gDDT=V}n#!!+V2{aG8zBTo2<5*nrs2w;xWiu^Y!~%5to1{JbFSJCRlkemQpz z{)E*w>})h&NK5JI^BB)n^YSuW!Kh)KEp#Mactp9WLgHNs>UfF!C`zz?tg``DEVJC^ zn1Dvy1!eg2u3K#~k^%M?V%PJ6SLWCWfdQ{U8CktL%(9t37ghn8Se&)H`$_jMFnBOc zpagq}g^ameUBZ?k3Z#eq-E8hw1Z_3j?T()QYw_YI?wgh>X0E4=`>MNAo3Fos&Q77k zmzw*;9-;fj<8Ja6rrm~8O*R0w;zzUOQXRPwZU6NWQ?UH&#R4y{T_g#agT_Dr3Y_^Y z@5H-|+uu*8+_6jMrS_=zL#wE}r*`#hk`J1fNy25&+OTW8&x!fMx&6G?#DK=o+{#26 z@?8Dv-bTloA|H^6Uu~bfld85KEJXj*9`Mv>3)SL#ckC* z?ckG5m5kUEgWCIZMD;|rCJ&p|AjMX18LNY|Z|~Jp?$!?Z+ebm_eS)nkTGm_UN<@y< z$E_XNc-VM3LkF7m=oG+Nkt{WRv&;D~kjlzO`)9eDl;jIcD+-T(HYY@@tDIy?qba|$ z2Vy)vWe)mxbU#m}D; zumUXe)c}bY?D!*ixtv|_bJm}?!RJhZ7vHt?_UZ$(M!B;?%xuoR?YA40nrN``$<(?~ z{*XK97vGz_mvhcV9ZVziZH~5{+L`T7>wELhrgI(+{UtzaMN*e7C!ZEAp6o z#j5P6NQzX=PRPRJW83iFu9lxa=|7t-WM;?}y;Y5*YRN7vUTD?#%S~tsgfr2Sj36u|n%xYey4e?K|$CX~aKM#B%O~nBAv8 zg$n9iA&Yu~L|3oa?%?lplfdZpy4-nwRA;`$!A-$0tR}XcJKojR`=*%gO0KH2 z$Y8x2-_vcDWN-*=6!*{U%6%_7 zO`?N^oG5z#&yj~yqRlTFa?c64)NldjNEeL18TAM*?6d`M5!F&}Z>^_9PT9=beSuZ$a za+l&kU(fdMvFHrc@%pv2Pr>^4`fKRl>u#q1yq>fX=Cia+SkYnC8t?W%UOA*>Q{O=d zU6@W{^GEb=Egx1TN2Q0XZ?YEGN@0K>J-?vESbHgtyIh;Bts_NcPx5EQJ@J~w!&L7C z)twP3`LtJw=&QY-%JYc!4SimRc$p1hF0_4KXf%dR*6Nx+6h1R9Hd`^xrR8BAX;-ul zsD`&akjDEDWhRj7B}x4Bu5ZT!MEJ@&4W=oFN&Di$W#Y^6iU<*eY}|^#cO`)z0<4B~ zbvZkVT3mw5Z)7mOH-ggyP&dXLh%j5Mb*C{9^Kj2Ucp}u{Ur@`y?;;QWHieHxjBW~2 zc|y38v=g5s2+9w4|8}z(SO#-u3)OTKaZG3+JMkUKv&Ic3)54L_GAa*aQNhy1d^=R_ zmyiEL$q;wvAfFO(Q#>NG{}2}-QpEPYp%=KnYuI1ckqRxBirWLEK*hWbbN4Nt4K_(E zK6<^PJfw3(zVc>0X|)YXp2F}USvM@pWQ@?jeH67r!7v2~j>0?@4ORh&;y)&i*?Gx^ zgXGBMtnuIqc9*Dj(us>Uc9$CM^y{kK;aF_$qci&m_kvJ_)PsbT8SQ{T+X(8b-BVF) z-k50?>0X8&%dqPHrOGLPk|kid8-Rm!REU-pil8|5v!{O$eW z+@`I%C^WqCB)VdpqzCw<38=LBG+)$d@x^c~+zW-~bW zh(^yawlD`@PT=5JG$bcs+19ElsfrvFR#=xpeQJuRhAPQVXhl-Loo-R~oRVr%bV+JI zB#>&R?L_Et*7nAoE;itLeUT?p#$2LOkSPfji?^56BQ>(ywj;__ueSTl03%zNVIAen z7e<*@DsbkYbP058@3mF$@66auI-uJ(fM$s!M3AQRR|D@*T!sS97J?Fm7jVLFoz(a| zL5ksW$IAl8Ca+r*hb?Kstvq3|%&lCwuHF3lg;0n%K2(B+NFGR_CXqjtP6TLd5QAA^ zro1|Sn$)-_?LP=*jjVV;O=05aT7elvrokagAr#-Z*Z}gi6!QcE1ET5>dpR)X5{RTO zs}?#A|+Zjq&wv=u9HAl^cHZA zf(wVLYTyTmz|_uSUHO4DtOA`&`4RMTR547?Jdx#UXXSX^3ou zKjlS-BL?b_P;qVj*B>E%Do89{qzk=0OU4j?>r76EyGvup1|lE)EC=NW1`}Z_{x|utzIanxqD+gbeF&f!;}vy90=~ID#N=9(F4dAs7P2y30OgaER{+ zn~i)HHQa!*#jyiX9W{7PVvA zoz&2)ED)x+ZD6KQm(=mRfUFb?iq(;9uC~KI0X<=`?)%v+$+#0sLx!OIUR={vVARf6 zViSOPos99K?~TWiN0Qsy`7rKe%5~Pbl;Pn9IrY2Ci(wo{U5mQLR}m}xi^O- zNxc!6&1`rMUxr(&`07VAh#S<<+fy8Wmrulqp1T+&g#;+w1{;p1^eiRV+uMpbE!JRJ zi+GY~Y{9XbbgvhL=6&WBa5eWQ$DiW+i-du(6CNlYBg`t8sp;_Z?&FNsSF|?PS?Y+* z2z&$YpV6<};vS$nh4m0*W;Moyg*{bm-znop+MkUwiYuyLR>p^{S1^}dS-+}O;RALJ zIU;a2+@kfB#`T#v(`?Dp_x%zDAORIk{Jyo)<4-%EFC5SkPqt2n1-W(=&@Ew<`-lO} zNK*QoxeBjKyI_n#1d=B&d=8&yQKUYK_9#l9$pHPt2*LSLQ?!ynhnll7(MD5NKRI37 z+df{w=Gl%_TnQyNj*;x8K8@C}@w<4AozI1!p7h!*-bW4IWu`9>)`Bkhp}&^=Hqx00 z;6&lc^Qn%&sUz|^umu8D6=x@5_5NbmN(vRcCRz7fZllS_vDbfCi0UG^yMqHeb3OH+ zpBo@jlTEz3MleM`AcX?GyEy&$W&yq^jfH-xK)iMQYUH3d_;#JbWJbbPFcT9IvtSPW z?bk@1TVyH(83$_&9HrtQQ5NVrSClnGYIX(s8ODe^S;6EZhO#X2P!o&GK5F2rkn^%N zKQeiaJL-pw3+j=d=l(?oJ(ARkRtyVSc;$d=QsWYLcr1Lljxkfv2F0B1nUYhz`vysamYOj%>N4ls%LBiV$Tj)@kBSC2%Inn@XUb8qJ}|re~IB0+q>#5}8 zzH^eS`0i+!rd}sn&@Sy$ta_*})k%(g8G%xg;nYqDGe>gx{ew}00K_jtX~9m|P&~Ew z{@!JSEyum9?f8SpsO}7Xz_Ip8l3;?b6)sM!Wp~&sfOG5`j*iS`N#R(14jLC)qC>@sU20XWDTRI zyXmC%VzSdA2-$sJ3*TTZT%hEkryYw`S&TTBdISifLOyM%v&-HQh?Qs_5hpMsWNM8V zibr}kL_55n{0vJ&SLHDWW_N!>H-S~04xofsXhunY{)!b??@uN}7yYgVi^18ef#kH; zHL_H(?SFql=z|^1&1-eP6Kh7igvd#QYz>n>#*gh%85J_SlG-W1C%} z^Ek!8>6q^C{L~1CE|z_0A2#>)0rn4i>0c>Mu74q(f95*<#}4{0#A9z~XHEalT-J%d z;L|_0|DdD(D?#+HaOeLP4*!qvGo^UnWam4D^l{#_+m zNf?|R<-g7OuLeqx{}^_V0q6WbhKU2g9U##D@r=bx9P256vvwtZfq~&C8wi7AB+JT! zqX7SH!vFn(XF6U^D{SZ={Miuksj}$N+mEUD#sh9qB$4rK_ZqUEnXoc$~xuA15KZ_tx=THy+0~?duxBInZP~L3I5tF;n3^H6PXXg)oz)S zUtjWId)>&gfup}eoC)?37CGa#t`}n)#N(oZo>VYNp)=xFVlR1X_Q*Kbj znB<)2*OUIP8}*JDtRXc82NQ_1*e@7|P`x1zUk5{Q@PIIh`REy%d67WzPrix)fgJF5 z@?z>R^mk4>nPtu}5ntCZnWsgf>2r82iHP$buF01LY2%FlP=%Tq+4v9yF$oQ-ec^}m z>+af0?`ayao7iYyaqn!nd*AHon(ykLSfQtH)cRPr_2Kz=bUN8JJmDADg0+*2x{ua0 z8z7O}cm>|K+(aK;571sa)HTqud$SX9Kr@E3C=S6Ju>`l0cho&Z=C1sQQxa3n{RXo7 z->Z!9!8mXA@^`HcsY8@ZRh}~#;&d_CqznX!)GKDG`%h4k3R#Z5@ufBc?gfyWlV8R1 zNzb(!e86`#vQ!Bw>Af9&gOyf)pUlB-!kN0Hy8@;clNypfj?xkg;wl-;hJBliquuB9 zj8QqC%i$}-AHzgQ^85<6km}#@LpZL>U1;4goi#n;f}B2SDK}by{QDI-f0>IpJO*zv zoXkJ?o_gmgh)uKI!#)3ePn`jC;w76bPn*0`mQhIl*a0CVgc)0!87lBooVhBMF6va- zJpe^2hve&pgh@s6lkp=Vh12(y1&&3mv1yLl<$vTgA}}{cEkivWh)vjtQVbaAjns3W zWgbaFpv2=5D5;O8+KM%54p%xZoQft4#hy51j|>FpDxY!WDF);I+!(39<+2hkD@Vkg zXrvtUloZXZbu~eVAn=9Vi5`zyR6v0X!~#ovm49Ht>Gemyyg<0ATOtFz8-nDW-&WPaaQQ78KNXhF`DR7oagr?R*Qma||_^YfBW-c5eDkiaaSJQ_A8i=`x9aI{PsW5yp2{$^MaI$VDh z!Tfb+28eansUaI(GEDjM!$ogtOL2|2*As z7=14a)X_hqoaCL%PcPTtoCde+vjeBltp@aqNM2pG%WhUP9a`!4Ys>W)^ZVb|>iSQL zcy-y&VjC=?E5=-29CVsU7F$MElcvAzH7vS*>(vt+=k$IS9a$ z*m_u>Y=OMHmv&=gF)OeMW+Y!0W}eX~bgT^+uHJ= zvM;ZW@G$yRNUM^cipY(;esgyh>&GrB|MpWrvrA#RwxKeFMbMpAV)%BqmZ#XKnXSw> z15SdH!IsU$z?5DR3XyqarWAVXuq~*-AS})sbVO!)P<7ccG0n_}E^o^(b2Vl=HNVbN zG5130H1W{cK=W;wlsm3?u^VVldJdJ7MK>U(BtE&PuMJn7G8)~fxT*A-YoF#7_p7$7wc7oX>4z05rzsyoyAu^ zlW;`r+@jdGwW(ovP{xZ!247|6yS2F6R+`p=sFuEIpnB>P+lyyLe|uBq%mX)tnay4E zX*AXE)OTp%n_Gk(kYdz3^Q~nyTVb15LQyLdLL00iZ~O9IyZ}HM{GcrB|FQdnvaf6V z(+K8V_aI5!h_xWCcHm?$$oL1xu!m!dh+p`bcCp!c8h6S;m@7?>#yIwL_m6LDovoBv z^Aw?#D=h^?@^lS7jPyUO=8q}@^Wr>~lj&ySu&=DzSu(^Bdct*k|D14BkyoFCQjt^f zt}Wdq#Y%_R&F%pK(A|wA&6eT-{lpt>#AD%j&X`AE9{~ zkfNpodP>K=Lbl>gn6rgT->4gwY;Em`9fsc6A$3dji7!-Jr)&aKVMDn?+v&`4d_cT@ ze60SO!@(7Qe*NWpvR%x>*`$l!R#d%nx+q7`l z<>!d)5qbdX@UC_CqPq??xFo!qb7*2yW!K;yPn8TE#*mvn*fcK+8M|AG2unF5ltS*2 zY0J{TWd`LOH&TUS77Y z?RjuC@JEQRAH&AY3RQxmaKHcpIInKHKt7kA+l?kfzd_O4-SgF7I|uB>2>($mmmQ$$K%p@XpxEOW^ufwOtZ8z4SzLJl2zez25lBFE}!aXjfoS8FzK)O z)uX^8ND1sJg;JHz%wI9+1BS_LAtfj+t>6GMMN)se3x42AIqHE=z|vQubhFWm17GYe zS!;MWwABdnCL+MFnEB6}f>MrGU z+w90ep$U9Sb?$PB6om*B0^?-0-|pWtYlH5(h&qHX9;>jf^5Tbpf#a=IQ(WchfP}M$ zG_{dhGho}>7!5Rke;TH^>xP;eNUDsOOk*D3$evH3K{T}Pb41~t6aKW3I#?b;Vmg?` zLHC%}^BK}5YC|4(JJ!k4pG+i!?+WNmM3(LD;aJLdw635SV)NV*Jz|RDO_twbF+|6p zd+24wbITf?SHdzITZQboj9CK%p|RI1l-X{vVA!v@&yo@u6-ViwG~9jyW?&DhD3lD6qX9%N4fC z=m0h`ytV(;Y8+$E-yN#*wK%xJK@?uB99p_@Egj`=*C?-<9Ovy;*@kNk`{d&WGLjo6#c%gkC4Qd@ouzNQ;3HcWzeyKqW5su8pm}R`~#|j_EhaE)4W>XBAin8S2wwg zLIkBGt(@aLY;KP-DeboHXF&O2m&-FUvIe^7`};=rF|pT36p?%wf%~ek#M5=I;1#tj z!L+ILFS!y98p?4Kf@VByVpeo3B+2-c_>(t zXODi`iF5y|^Q^j;7EIY@u`xx_A-~|tEMreTZU447=XpVxZ`CUm35{| zd`ZC!T(O1Mo|J^8e$6INNQ0NmD!IBNd8Z>^#2dC?e4-f+>n2PBI=PgpMNfZ|qQ-+c z+e;s}eb0&1*o?HR?f2yeG(^p}X6nhJ$;eJlm2(b>Z|n_pP4Fp4LdChpL`lb!S1Jy% z_5M(cKbc34C#q$`%2j5A3?y%FVH9o%2qU$c_VCmnY{M}&1{W~YkVlXP&T}1ar}w%F zysvm=ktV!O#}rTw>vmr+Q`LU&rNF3yw-$yBPY$>H-17gYp!9-;H>{$KP9K=fSdnQT|w&p$LN2V=U?LMpXv%raWXL(9}G-n91ILQ*&qWP zC%Fb13W@^`4Dx?i{8anIZCRr3ADwL3_0Y|D;85c6C@3GkLwqG=Z1hO>GY7{8!27+3 z?jMf>G2}~Ii95@x%4}I0)}Fc#-nYw~2J}im8!j?$apk!E-M2jFuZtk7i(Z4@Hp!KG(_sOzggyt>*aAs50WKUcgD(4O&wcSHJhz+r&ck zYHOiUN`9#k{smog=eoVU&+{$&#)}J=>plWA=IE+4??zA4P!CBUfgVQo$6fViEWMp? zkoVD_zzNQx&MbOUVjiLWE18K9`j1b1c{DjK&}eHzLU*J5%}uFA^u+)2M(_>Id>4_nqQkHiS&(n90 zDyBQv#L}j6>2@8H;fEV z-;+T6dTl5YbSXK9az*O{n_i#TY6bIN%vqX`Qce~n@82)b@IdRTldM&}bbJe`xOta4 zv1X4>Hkr*EIHt>gG*w-z=QC+}zWHn^&`Y!=yo`0w@_utH&ly~Br}8XcRoQJUHEvk8!|txEN2v1+wfGd-slY%KC{3M)NuI+ZH5);g%H zx1I*f`5b-XCkcPwOa8`EgS!)WGI(q{cV6+7e-0}|%mcrC^Hc=T`5ENNEcNEnqxvrE3D?tYlae)R6&%H{RDLpUO?Gw7KyUq;&-6 zKbLCJR8|nFkk&^?u!XSDGi+1Yx@kNO9SzERQQU;qX~P1Sh-i?1bKPFFC8YH!orK zmZNBaN|{yvjLkn~)3rcWu?jMO-k|zufV^f$OaozKB9j0GY{pxAhA>RhNJDObxaX(>d8%q$R!8xFhA=F#qlP5^{PNqi}uzY(?sf!UEa8b7`OJj;|w!y7|i1vNca%xAg;4dG3P|b(S7M8H0ZYM zF!9f9{G+y!@E1d%9GVxsPYR!MCu{%YyBZ^ON>cc8{Kqo^p&RniMex^tf0f%e-IbK; zfQH2IiV4vjbZpY|lgLliA3yksjt#Wqhfx9MYwT%+u-yLf<*+9-l!#)=J8Om$)<>+~ zqVZvg3cUzF?t%8_{N1>ASLgQI6|b4nS!1PWmCAcf6G}Z@3ss1lfxc8R zjx6+;?atypEDv=mdaM=4zohspoS%X^Y#&mE68hoilv^r2<#}PedGWaFpH|tO2r%Ia$5-e;u`=}>sIh2 zt6SC9lCVyUGkNW^a0?6@`Ee^*_X)2kStxb-&tl`<69?UDu+|+=(jW>=Cj!*s%*M*W zSUEPTqpW91^u0qv@&o!dUh6tcMT(FB3Mk58N}QJ-3Li1*X`I{KXEP*y-w zbpn(gYpH$Ndnn^x?1c3s^?CI{4H>=Uj1}>?gP4&Xn>29Tu(b@7JOaQvxaY-c-vCF( zf@NLfLEhf^yop+ckcxafk3%Q> z5u=s-HX{~er|Hm5jRtj`Ewv{3s$j=2WGEhV=SqFfal>w32DYK$_VV3W=(8Cb`NTpb z%~9|eV6C=Pt<>eo@O}a7s$ZEEDrS(4c18SCU|fEvLn`p7wgs|M_ijVaQc^oHa%K_s zNL4ic^4>dga_ec?+8`Y6y3MPf?~}1ufI*M_>p0CoRuUUn1x$_l;#*m1!5QK_T^E3E z#Xh&M$5JFw>SvovyYju;uU*r!jk|{|Df3seec|6Qge$4+fPDpGGW>Skt!+Je?n^GV zeSgt0Dp+l7c2f2ui=yA2`@nOcG!7 z@UW9y>i|wd!^WzrS9Ti5YBC(3H6|cr_4&->N-=_O^~Ug6r~=|v9BbLiWYX23vhJ2P z`NaVo4@gI!U6)n*`fMF$qmA(AHz(5F_*tu6Fh^|~l5Zh55y7K<11-sKx8LBL=E8Mp z0Zq0p3p*#eCTnqyBLehQy5{0{&`ZshcPh2~6er!Dg!3dR>?NPS=zhw!8jLsa0ZUhY z8ma+1@yx$j#H=j*{La_k_RC{)rYXX*8P>>878)3&2?E2yjmsn+E7z{HXN3XM7+qAP za10{p5}M2-qm<<$H&`Z}{O)q4Z!=Bxg0pxwlI62VA|E2xkJpjdHk-Of3tsF?_S02d ztJ(^d@K`VhHoROt-00&Q6?%PnHj4PhY1r}4THz=j8x_=4pCj%Vv$o2;^Y;SQTQDyk zrhwPH>7o~Fd2VbSP)E4%FlOdMEjwz}`5#k1l?8M4KjH*;aseIRE_(N)J<;}PTa!u? zByw*Mh?hf@@KtG6WUK;*DVO1hG3b00T9mc4W#&~qUe48sCJx>ihchYgqW|-`h z+=;_ptA_RRxSJj>DPB}D4$v^nZU|vqu>^#D5o#5Lnipd{Bh2Q_KE!BTMJ}nuiRyU_ zF|y8IZY00|?dd3wGOBWHo-F{MQPK~!!hG*df-s@r?XMmUhSAVuK~op^CH6}Hgl zW8|2m)+M*%tF3^zS{G~!rl|E%@s#Z_cK1;Bb_#-OVlj_O@i)wnQVWwIAy7MMJ zZYi7I*k#IANTa^(C-y9g%7(s0uV^aCCJ*sa_(IF{h>UWwIS-b3ms_P0IttO9T#|rGlB!kb8eU0eZJWAgwi3TV?q%lfn#F37`-*uM zj<4byZja)DxPGH3f4(B}TtG)t^I1k|PCQ`Netc*abzwGQ?9 zC%Y@kV~OXj*%k3#ctiaTMcL48v!O5WvT1 zP*Bn_mv<^(YqW(kRh(Be$c#pFBSo;x58S2Zmu0chRY$8`G@WIHrSrVda=?b2+hf>T zlk52c47hCgv@7nO`r#Lc9aK6lh{oJ<<)=iZJ*SfQi186;8mG*CTO${Htl7jEFPw{h zO#@tSWXmi%l1z-LCgwQUWz`tX7~r>7gzwkT&ge}_51rl?ol`;?iQdgdXb;wN3?<$^ zPwG)0nzMISFJvkXE3C&1xrueQ3f77rM~yO7tfgj6hnh3v)SCps;p2Z;2o!iZRR4UW zAsHdpnj-rKSgsL1Zm6S-cjsx6ocg~=p`T-6q^q7dw}q0#Q8Ql+Tu8QXH2|Nd+$!zx zy!TUMgS1`3b!g;KD$n}IN69DD7H*=4Ngc9Urq6RPn0yKpY`gFw9VqPt>8^2m@c|=S55%BWdi3nYU|C4J{aZKONj1H-eP}uyy;3WQOMtijkVUCZTvnbpP=f*`MNMLh) zmd&4eg=kZ6kT`NqUeEXOmG|kF4ZeHn(Zl%tjEkFkk+X`dQf|$Jool3sI5UyTZ)x8S z^-+W8t4JqbUpe)*1tH>#gYjAefo$&lBli{t8eJD#jWRnrb^et=)@v`!Yt| zh?$q?BGtmWs8?21!TkJql`wK#k~fq_9&fhyDF(+XwR@?Kt(&=hHi$L$o_c z+)ni}T0Q5H852x&Y3Jvs>HFYP&G+4if=`d2Z2kVIA*^v_)C>k5m6Vk}Wp?NpmT}rU z2Q;Gxvfic7jH>`5-u-9{7Z<_lY709rr5?iHd~#UO@qNT%|0|)PCyR?cXY_^=GZT(k zFEF^=PIBogk#skkjf-%X5w{gn7-;oX7HlHap?i{1P+G_HAVFd0@uxc%ZVPIxgZFIr zt_AprUP@V$wskb|H*ZoK29<>asew*WaI@l_DTrY%S9$X1pIx5k;v!B(0;R0?hK$}~C8F|hBfxxn4;UKZ*aEyp&zHs2td*r3k` zCk^i>EAV8?^EpN|4iL`2-|w(=Nv^Wu{cO7#>vOx?9zrs9hz6H*EYmTe0*n5exsEO1 z{8O!~9XMb|1<8|=X$)USZ#S6o#bl9L5qa-9M)9@bSU0_2*~K2*L5zuX{M=>~zw|S5 z6HL~=7PszC@n^yQd-iTa+a?gZ%{k4(dsjL)Tx86`V{Wp0?gF{4BMHCnE&D1;ju?th zZ@T?1=dd-Y*YXP?e^kKH`aoh-u*v!s)`lhGeiYynLV2$5Zw$#~|LR;r{^)l7ho27b z&c9&m{PUBU$lmxOf3L72G-HRr!x8edh?XHN^^#7pwIQfHUIt^MYN$wR33Ewm)SAn9 zhPKZ0Y~b=Lp}1(k{&#U^=9|1~GRMm=bx7BZKh|oj=}~7orb@NE-R;AB(O;zRTknOp zsC$9hEE%>!FG9RCms7~k7Bt361+$k+z0$F51B3>gAUzzxqb6}AgUCdgZe_V8kyaH2 zHd-yWQ)2^IgIEfSUen%E722C9cQZ4p%HJpuPiIa$y z5W0bVh^l*|%R(s)uYC~zf>iOxt=&T{S$RZ?P#9k14U)2?E4^)Fr<#r~^|E^%sk7ZZ zPL*!kS|}?yZToEOL;4o|XnmelP{`m~=!kMRpkjD2f*}iu_%eZ1)XT>f9e(`rlm51E zrRV({l)$A>4a%ZB)Be#_15pRS#~_@W6+V3FyizVoSz2r8KxopM%#Tr)t04RHyOS{^ zDkWO^lo}5Amn@{RUou(I$x%Mw6ae%eg3%}A-szbsAQSvih+4Lv(98At4m{c-rl@yT z)EyP4;wHdE$2=+?o_qiM!8!we^4S4oYHjb4{yMMV$1`c>>0a@s=kXeutSUY9vCeNE zyyeo)$VCKuvBB)<^8$q|Schd5kH|x0_H1>1IU={CPSP|ogbXO-dp8`k3&0F~TE3}x z$0_z|CvgFG?)Gg0XUySu#Fg=^DUvgVhCQh4gW03^1CrB8Ei3YmzoRZ+t~*;J%Ij`a z*!_(|mc=i#S)iIdIpzE-I=#YXW(H?(T`)7)&h1i5ch-ho2OoC2?lRAemZ{>#_}1*B#EbrV;s8pt z%tcn5_h#m1A;j5J(HVA~9?DAWO)l8+wG!NG(+jz#u*_FBsK}1c-ACVKoaW?FlJj@WlgW zYh*9C%$Y^G(vfs2=uDz@v9%f%u^;v8rE!Y4Q~_HfKf3+sh4f-Es5Y!Ik`gb(Uu_KI z6nFjomkMJAhZn}FDYe#Q(TCU0kABfm89S={RJt3S-9u^ObWHnk2KyIJ zez~Az4E!;)1hnWF9C!xx`SYi*Tpwo# zE=}(dp<20*s7zLacmekI^s}{7)8m|Hjv^5K&(-9|&fE+ix%m*SA`DY&tdUai& z5cQy-eWX=+;Ko_-x%bU3ep@@$|86ts-Oj5@NS0)4{Ty#zVx_VkID`a0*=U!%p1(o& zQ~fDJ(vu_4&ZKary^(x=gTL=oSePk{N6l9ZTY@5L*R;FPc1FL#>_O_p-?PANC(Le3 zdQ*hbtl#q0@v?YqGB@}Wvp&x0Ax!kW8#yl(LKhq=;CL|+mi0lk!YmUkX*G4Bb;k@ zpG3f>ukrKcKqV`~jqU0mK9$g?uh?f6=+heG1cLnSyunHOxEg)dfl7W+kUfP254}oZ z9G39$26U3_QKFRF1$_oTZ!84F&JS!vW_-Us1Nsy);S3}5B#tj*ET}pJ;}sZ%O$I!_ zdq*Oec=nog!zv^bhOaJ1r!xG8M^MO0aR{9`cq9)KOwNO|LJ+1rT;CA_TTuxczemO$p2TKFj+SP zoa~<*;eT2C-yGq;Il_N)g#YFU|IHEpn<`b5q|yu zmYwBZ`hSBD`b0w}|5Hk-mi@y8MI0~_{0$IfP5@#TCUU%(ka5JB~ckfR|#fl#>nK$H3i*A5r<1tGCGx8Qw_g{$qR3>2OTYFr}cDGt<| ztu+I>B0n|dNwp@@n1=ldLk|Z%{hzp(RkgQy0?c1FMI6hqphifIZQWJtHDC~&t=j8l zs&2Q44kd8?r_`hJp@I0x|Ha;0#>UaLYr2M*VrFKFIc9D%Q%tdAW`>yAWjkhum?>sv zW@ct)W@egv@9cf{%${?k^J9K~QcJC_r)sIxQY~q%x}NLSk{$kvrw){!b~d*^tMOff z-e1rKwbm$RZs!~=pq6lVi2|m&C+&s$Mx|=gTLXV=wmckNDoov}pJTn!nfH#+>%FnM+Pf#*WZ5fTJ>SsviS#m{%1ck*&Z-#h2Hi47ZWa?N74g^oBu- z!9hd2K#S|9;W=-iZg=q`mgM^ycu{m48C^J^QAkLiy%xgFC%(%AUo1aptu`r8an5fOwd)^%ZrZTVx#S)(%nJg@n#cG z^h-6{Ve2Yg*^79?OmPFWLiXz-5%S+02Hog+p#9@Y;uQ*beSBZb7)M=|5&U$Zp_KGz+S2`}-k!*w0i9iuTN*%S=p zN$T<_e0~|Qx&`0VgKb}+6fBg7@=KZ&I$juoR^scIScSZApm<>&wa;$aG}zP1jJX9` zfaru5>Bc$yle6w%!;5hH8uoRWMzByF%CBQ^gy@>D1ecmxcv-=g!P+cvS6Q~WfALI< zPjrxbBFuw`JFs>?qb`0W4$;R(=FI6$)^IEhCO{8?gK2%F$O|v15^C4D@1se-HPM7* zsv7%taB?qGiiE;&&Wy2}Wlk(#dIN~oLg!l29EuM#NW~pXx?@Iss_7a#h!|wKY~^4(gJ*RuIXeh^s$;9GW{jlucb9$XkDOOfB4u;W!ycZVo; zuPQ}vp0gY}NCX*z@p-81Ac+PNC}M=oS=S&evhf?9cvO(IixYGX{Yq$RmbHWE(xUiC z@bMma^&$Jf=@L@D#c%nzf1r{WG^nF-_v?20B#xu_Ie)iPXMDn96vp>jgdplUhND@b zy<@WIMoHWS_c^s3FEV~zX{*8Vk8Lp(PtWICoja!m@b}QH?g_$ZWht3QK*F~N|YlNQZna#6zndp@Fvg z-GVe|4&#c*AQtTOmTHDi;zk$m*jA(n&TBIga-P}u(m&{??0SU>oTjMFv{fB>m9*b~ z)oHC!rY#-IJ3+(fyud$G(fx>X=HWo=pjzlO{Y}`5y(==-witR9BVTH|`((v(g?IYd zQyH+{H;CS>df0k7O+Dh?UBG$GObB{%QIc=wDIOm~?<7lOU!n_1kRnNI1}n2%lCIyLT!@|EyONT3*6M9 z7??dU_MM(i0dY$?cyR}>lP9Ax$9a2of%T=YqL+qB@yAz$uE3p zz+6Bhxk622X5Itg<^bJea?`rEWc17TH8)uY`l@;(`zeeF_w6{io{2D2&y)?}*F^A% z_t+my?M6iXBW%!orVlT}X#tP2`UMg0dL4!NhXd_lS22uL4O}2LAS3Udo1nhsJt>jW ziGnG^Q1>eejw)yVwYIAl$6zzpgvttXVtOk$83VCDuS!MaQ*9HdINpf~7rrBinygpm zGA3;I1%TJ_ihla+INk7V)cRNEy?c4$>EBBLQ%E9*wZ3MAllZ@!r8c1_p9u92+uyT) zIm^Pm&CZIMH=+ppGEs}=W&GVK{I>ML&6dY`UoM^L+;^K&J>q{bOSjmOlM2?$js1(< zD$NyKo0Pb>hC?0B`@h66%nr3|;lS9`*Qa;>rpQlC+PL?cM(5jY8U@B{=RBQp)xZ`* zwL?JM3n)sWO|6Zrf+PXGgM!itEr$iu0e3}Oe!Pl_KBOYr1#IJGVu@Y;pssn>YAmM4 z=QZ#;Y4{nPwVh-8>)@gA%2d9A0?MT%9`z=1V=n|82HwU9GOB60ZLhQ>`q-~HM6VEDty1Wj zFXh(IU9UH8ToVTw&j$fLu!gy;^GfEAZmzjZWPNX}imv&$g4rQfR z3C05aa);~PDK}-smq(ot)_6_q#Jc30hX-NEWexe=PX;gt8J^?xmWfPR^K-}L?&Zs8 z#?7r0UQ+T4d3^iH`cuc=pEHD3Cdf>8a%zla2JMf~8!{*G_CMzcEvA2pZv)*X3A4mF zf6+)KE!YhF!8lTok1Srd=ctI5?ZXC7Yz<2uF#6R-3HLIbpe81*E2&c%_4+gO{O8ix zH|!L(Cmuim(nI5`lj=e=iTF(&VdxaiNzo-QRSHZq=sRo&@=&5L^-U1V@XgE}Xez7g z#thz>j*;FSDafK-%nMCUF_(?WerazD?|m_i#yu>yttafv33{fs z(^b7>c`0ZMUXF|~#)DEidN&9j-iBUAQ6(X^rin60pvtH_hJVdWg2Pa zys9j+I&6BGcV?jXzb+K&PS0F@_e@wQE+3l*Z;}pY9Z9cg*GoUUC+UFN_(I;c80#*p zx9xCSsP>Gu_`4vYnKULuaN-S$J#Gdzvz_ie(R&N^_{KXt5ri!U-Ih9`c)=OM%{v@Q%@XOF5KtuW z?a%j+qoYKW(pEfjA`~~+(XC6cM{K_+87G72Bh-3zZ;t*P&u}Z|2}P?F9$ig@yyaAJ zPk21tnJas>2bEmxumh`#052Zln2_}>yb>XUwk1g2x>LHt4}cIt;mi`D9xc)wVc^Za zl610U_5c?7uehrJgPWU+o`%+z_yl{}d{a?Px3X>{Va(E>NE@IaUlw`@0m?WALZfT+ zeN3MPVTp|{yo}#NpVNyb-1U*TuqY~kt|o>tFWd|;KFbc{PKS4YJ(3Qc)V%Ny6*&FdUsg z*Rbaw()L)CQ)D8C@F*}YRF_t;PG!<&STXDPwc7X>nK9bvncDQ%mySpC5Z5>r01i_8 zUogi(=DSTYSNDEGpI1HklXklc6~@7j8^&RUsiwju0L5AIf;6hjREKt0n~w?@;g{*{ zwL^WZpUPE%Nuruc0A(r)dHL$wcoId#KVjSvskl1}CH=Y8iJ9p00&Cwdw82A1-p710 zZNtmM8$RkjWz|e4INpaJ{L4zB;Y$$9@{1gL6bb%MR+2xH`XF#L4KCLOS2ccG%fHCj z6Tn{LJ*HD!-MQ)b<+xQ6G{Go(+bTA(;CpcEnNBuW>~n$Z+e*po_l#~Y@uaHkUZo)K z&Jztx-&`FK$lCMwveWOHwbgCiD;(U7s{Z`$Czbn6Rq2K3Psm)yXtLbfQPl6qH`9gj zZaEC(&HfDVOx37&U@K!kY)qt$-*;I`0JuUgY*&1gC5p~=L%l<5YQ{T`Cu^Nfir!LS zI>Hx0Qc`_fUzH3>I@remzr%XxS9*ZH_)dtZv4dhqhdIVPM{GgniZq#J2gvr-vQWfD^X3eS zq`?5O#^#jlRaQaVO}cyUCpW#`%#~fI@(lA&XkE1Z@d)6UE_WjB_t~J~jSg$=Ywv~D z{ICQo&`~#Uf!>iJeY5h1NMvEj$5jb$gV!s8GgCjt+L>gEyvTia;pjW2n zW$x_rHS^P_J7om;GXFuLT(OeNZb_(HbZKf*s!aqx-mW+-vvbO63mA0b9q-W5BpRlA zOYr-0f$k1e&6!zsgoq;{GDqzDA8u@MZ|NRUcxrL!KALIM`K?L^ zqk?3o&W)N;Q4h|9#OHo+BEYio%V*SebT%3uaxQpmX^K#y19ZGZ18W(F?56-lyd6-o z;qJsx17nhUnxhv(mx8agdbV+LVv@l#?9&j2J`k$X;WJLoOQ4nRwEfOf%QSXxSgLTa z+g{)Db^7ag0c`3rkquqjrxa}YvdwNY*~v^%=J$fbwZ*AbgjyN8p8#5|!agpSe#h5s z*y#fDagD=D}o z>^5#Pd7vSD%>i`ZPpgAAoX|5JV&n3kSbFWh+_f;+y56pf#4O!+@pHs!bD_hx;a-U^9Wcoxp>K z*+grzDH8oeYdiSgY*-ml_)gT{7wd12L^Xj~Z{)j-yc3({AG>Tbb!{uN?KVwT{az!+ z3XGc`*R$Z#%!gqSAFr`8rLh#|IZH4)#ky&nRU4cM#F2L)nH|>9vWy;vTq5v!Dk4zwRClGMaoZM z&D%cg8l8pvQn!}R?pNL(?q<4ZbXEFwVV)T`9M?9RdJ4=1XR-$rJn6&DtM@CbC(HIvHqbIVLrp>6X%yIew%_8cb6#UXTToXFqo(bdm&AifGB7@Wc0 zY#Vw_ntYV`8h_+!JuQZcZ}4;pD{f;ZZP@*XO?yzxjYSwHD%Yh5vY?j%@CZ(*)5AY!sZiPqR-)eeGfy80BD$dUjd*fouLnyppO5!S zyo=pG?{a z8{4EUZPm+&E{!j^XCpXd=QPQq+AZ=8rACtP)PJV;%Li)IJlkeLeF_0mmo)p`h1ETK z|FxpvtORC>a#M`dMF1t+$iy~RZ>SKC{<4|`QHa;hHCIHuKh%8O&1B>$c>1L#$J)_4 zIPQrIKaD2_nuB?h0a+RJZV{zAJZ?1b*$z{-S9ggvq#3O>s?w3K7PX!3)J-^p_zugg<7S&|N3io=d}TE`{hy^f4=cK=aa~G z$+@US1HZ~^pfCgSmIaxNZMj;mlIC6-3gPMUGL@wKl}M6{i^{}?~F`? z?Y8oP>qD0oTBvFt^5V107cfEiHmmPDz;~C_pfhhnMxuu2*yW1y6vSa@yY0Fm z{B6G!lRMc+N00nm!nI2F=|1k(7-!;#B9_J*@QR}__D#Fm>2&f-l;@$&(1}CWZg}-< zG0%tZ!GN!MG2L{LGPWY%7ERk?-qAD88I#E#&?Ca-<)T`T@e4MBWG}0bp&$U&h8$nQ z5e$)jH&viV?QP-Nx^@l3SF=)z%vd1(+@9!mpb+TQ(vx1DA{i}NmFpn;h%1`)gA z#aXB3jPoJY`?#9bi90u2XTyr){LzQTO82u1Yq5D^+5M{dHaRB1>Y#eUy`{;QUjJS- z+dtB^h9J{)TC%c_%Ts+i+Z5I5d8HV+a}(;_wEn~F`qOT@Qx|2%b$Z+eF{k7F+ESlN zMi8wIPF2q1t{pLV9n?&Pi6y^-&_jPPH^awR3|Gh$J7*q>2L)Y~=&D8xM7OETa2y<{ z5Z2PLdA(aBO%@+WaJh~X9dF7SF1;<7)ECS_ROnZ_LHT~&d0smA352Oy_;s>ND}yVT z-M3Bo3&O$TO5d>_44=L7n!ySPQJUy>9NZ!4$qw{oVYc2f6l-oBu5XwY#KwE0t9VXB zup30u$3~g#wD~;AvVFJJTlpD!Zp5m1^uE01m2;5u`ndWQ&`Rd%9Ul=nVZlQWCpWwL#GTS^8Pc$o zKxOh%I{!jR@?q_ILL<$mLuOy^U8|D`fcoC9)t#Bi^bYaA(Uj_LvAuJ;5MW>dP>J4? z;Pn4MkpBzZ*zgZn`Ok|zh8b|y|ISF(_}Cv}{U6droJ616zgiIB7#!~Z>;2xprHlWT zF8*7(_;2arzom=+mM;EVy7+JD;=iSf|CTQPTe|pf>Ei!w>7wTUP3hwQ>_Kz*tC&|9 z+*(aZbHI zsB9)_IG=pUyfWL*$IDH?brR2|2*DUUXGX2yfN7jbw*%D5#nX(V9Th1a#1uuWOBe+R z5OuV8KG=IYJKYZ4Quj ztLT%fLYEBeoMQM3b@G-W{L;cx?LqYQcPXmLB+5-@cbjj!KqUk^V^*Y27UUP>owDs{ z(&8(XK#x1D#X{=ibK)>-CMDd6An%nz$~RQT_jA@9Q^g-pP{-0`iyFRU9r-0g=OQ8M zio?OLGbeu8R{2~gCtkG-A7ZFKY^rIc|(-TU2vY1#YjoO?^{0gncu9#(yEwd&_fTB zi)t1j@N6%Yy=zdY>@FZPuqUMqr{K_Lnuvy3YMWgRKa*K=0XewH()0!I$Se8T=5Bq` z+VR?o;?vE|A$d~k^D;{6%(1SmoSw`KJ|6GapA}`LN)#Xl9ThPOG()VziCI)Ss+jAV zNy;#FbZsd>n_$-LEL7%?^Mpz1=QA)z!qa6zLz&I*B}C^^IiFv(O1jk~Pa`&0<3tqE z5PCb)wy#%Fe@S7tct;OvEO=-7j77}Ou04Q{HGMH~&1R}w{4ybn5FZc=OO!Kci}x9^ zriyS`uMCTCnyt9Xgr(Z2e=?WOcEwLcu=FzD^puAb2yz!d0D0LC>Qf`W>cp8of5Bx! zJ0SXf7V8(Zr=|2p+NUYn7Ert(QV=KvCv2^mlWsG~mR-{|2|_@>BgP&8wD1J9aEL#= z3_S^=k3N>rFw|#pzIzB5+UCPcjb(dRYdG?dhB9UR5E2ZfacNp9t`$4-4=pB!ss0#1 zYK=ewICz)t$iD14MJG`-9jauM?fVJ)kH7x0K27oe^1L>i^`yF>IPhERI6e)3+?wU)c##HrrpQJSgboFQNy*f5HF8LV;3XP@E z?$=X@1!lU8ZSQ@!CJOxr?Bi#31bKexs`H}xME9ispQC_)Q{M) zxr0<255jA93GHIS{5gD>L6ywN^tn48hU$BHX>RDe<_En#4pk^SUtO2xqzye+&*z#) z0FB$erg)nXSb`MKRMBbfV-N$^K*ZjAy(AQiC>g?s{3irjm;L#I5H5{R&+D))7T0$M zG-jl#(m7I=chqo^u&(;7twa*D>pN^Kg~!z}cCx53kSp|$uUgMk2L$(jJdSJ3-4@r% z>np}z6bHSv2KvuvE91u8K-@MjXl3=!#KT-8F zP0P4!$;5Y1he5Ugql_J@=ti)cp;&7+*(TKD;?gD+iCPn!{OJ2VHcg2}$)s=#r?X-I zaWDs~)VNfJ=k@N;XdLi*ZF%)D7N`BTBH;ao_1J!MwxK(s#2-$-!HdL{P0k=OA7G_Yul_Kr?^drR`zYEnz>Vf4m(9)j3<^Dz?$k>5P^RbJF%Nx@Ipxi} z6fl`ACtv$MvGoU8a?=PtM4s$k=0OU$L?WKC*_d8yxKk2B5|$hf4m()tq_kxEY~szW zPn6v7>%716d2W9y75r&rD0CA99Nq3gf7S!T$RwVv69@;ck!Mb|w0)P|usr9!Ve`c* zu^6x$xtGG}?Lfohc=Dl#H}NT-scz(bO}3M?ubfEpW=(%si*K-rc&##l?}e}>ga9A7 zyDOA}GoQ$nq+VqpsB!poVP|D|{yFSH$t}xF12>nr6H?Rxyyedke;=HoJBNoAOlhslGfpRPdLi)B6+kK(b~&yGA|Fex=A5sieK?Y?S@R;zV4!poW(m5m)L~^NmRO z+t=q37`La;v>)D%+2S`)AI#&&Mdy7nnf}GzWRzOk%)j}^T;loWHx@mNTYKA2T9I3a z@ubYGH$Y(K0-Yf4Vg9-L?bPsJx|Kn25BYycmNe1m_vR>Zax|??fZ)C~xUd#u!{}s) zsrmfq7G2yTvIt{uDhG}~qWNtBZdz*ysv^J7zEL-9{bU+|C?oKR5t#0k!kSJ9lW(wW zT=%>dkJ8kUz6o%}NY1$>rytO*{H=nGKA7A8Yb+nGNE9OVclz?L@L#X3ORCL^Cwfjf zj9nL64lP&6yq0|5Gyycf)1F!{Gv00S-ope)gq1M85_uZ%ah#zsu=6aThAYB>jbB;i zm^KY~9S*2KSMg)>l?e9iuDUm8QhY6vu)s){++oX~^E_LYu;z#97f*xczKenMd>2G9 zh4uoWN1~`9OL{9b@v>18T!$EElWI8{bt(lY1+DVauWy{pm+*x# z*suD)iFOa%F$-b>+KKR57UU1dKpndN$M|l97VbZrU~>30L3#S3bxM?om|=u4s8v}- z0c~|fUu|s|xB#ul2JJ=A7gjIO5^=Tm$S@?ah_m~gRh<;y*mbz@4dCtf%=)-TH{dj1 zl^2Ma8luEZJFFpfn3i*^@g#Pq{pGVK({&FlEdjMaXuFsD$HW9#hnY0VK$gy}W?TK~ z!%N}}zVR<_9p2gP5j1KLghmBTMX}7Zs1(YhzSdND7!dnWEOaTOu*ow}!sowCAfRlY z`}6~gesA8G=W~-IBjSo9yc&|Mt>I^kr9>=9#3M#BFk(c=ze&UO>Ahqy{^m&<4FTjg z49(|B(lra4DblG`L~{d_DQ%PA^F>0Wstq&5cbW7=&z&>JsmF4nW(su*)SJuExtxprL7NBI>a=}a zbDahxht)5A1c)8AL-`75uY{xB$l<$B;U)4Q#y1;87z}5}U#q*zCEZ z@U$H_i|ULwGPRV^mnq@V2VOp7i}5TkyD=OMXV0nj!N)ZseD{Q@hr=q{2{iH2liCZNw(L7io>c(shkfJ+|NKj{;sl4ZZGY z#+fg$eQbd2+MEdgc2cNj4K^$GCMyB{^aF`LZ@$mNQN4LrZ=4+r;5M_A(H?B`+{YpW zV@Hzlwjz;Vh(x|6BF7G3Qosvrpii<-Y z?DVg|HZj9SHMN+qGKm}PkGtO$XRby!MNl7$|JWesdID`mCa`e3>HO6x`b&;+xJ2zg z=oyl^9s9LYR-?rGAs~WnSO!-FVK@8DV#ZSs>${p*0w%_&+JAeb^)xkVco0w2oh zP$jOcb+w}Ju7`IzHGw^yl%eNkx8G>=*e=q)SWX|@=)I9pPu^X69yk{#@*>9XYe|I< zOYH45SZ~g7Z)0aFhjnjog328lEJSiaP6~L^;~CQ=&QVV14DR(k$n<=HOGUrc{Wg3T zO^V%_RQ-~nnEp`+Q5&XwyU)x}Po0aQ! zzY^VvdefEIfgAscl_=w~3Hh-Tq7R9`*`uc#TqXB zgW12G0+>8ZUV{Z|j$JH%g;9Y=ky(be5*9=H%m_%}bc8%H zatd;AdA=DE8n3lpIG68*K!pON@3@gHx|4bD`K?zQdcZWS`LLR1ZdB$)ItIpKn$l)T zWAmcu4P`;k=Y=Y$o_l zCFiwB*_2e+v)hDmz}e(EBBK#!VsLEG_^0!hh#~AzAKq6@^EHMl%^4YQXqwmFg!?`M znQ$L|w!N0IH5_GY1?1Dnq?O;|4X>g4H(g9`m$g3w%O3`zatDeBtWQ4+96=(O;%(F| zc(BgrOam_&yzMSb_#i^4b*(4<(Lfn?D11hE!QBi<{?A;C0K$SQ&lw_`rDbFwchd+v z^bJPPoOymAjI7zxqfr+Vjem7mUxQ4P2O6(TtKulb>D_wp9_0o3YVkw_w6#>_bGD+T zUsE_kqxCCM-|^pBVD?9Ot#_TGv{->YGlY-R(H_qb^mh;Q)C8UI-1N$wl{X^Vp@h)B z8c@Law}f~oz+_nsEu~*Q5zl#xd4>X&rZbwE4-Ttxf?c!v~wfVe0ehANRZ>)ejxZt^Z`P^Yehz{EpB2gLr@aQFs2tkf-|n%R^u3N@Zilw{^Z;J z^a&xjS=RWTsGxS<3IqwQqP*mu9abLeHjTMTf~wpA(5VQ1++KXRzrT4bt}*QRwUHnz zxBdouh=llCiO#Fv=z~}Fc`p(bhUF+jDh{lQ%DB|2~ z*V3p$^IS>;CeVHA6?)D(3F_<9ewxXu;jN;&Amhf@I89p8tM3hso6g*D2UecbfAEuB zv$bph)?FZfw)OQwVWM;a##sX1XFlZi&~p9|e?yM`aHNaA-`m{G150O)fdS6`m(5M- zWQUXMRd#;cms~nbV1rkh-cd0z`okA^f+Kw4?22cRad1HwjY9hlv-QebuF3Xn*V*dM z1n&%3?cLxlXBl2&$rIko7mG4CzDAw%kqa9@LZuM>n4Dyp?}&`@uNLjrxUKyVx!a{Io`!vf~#4 zq-HG_OsCcmxT#UDbb?BZF30?`rr5L8?b!igl^T;a`H~HXIA~fH9bPu$lAr_jEAEax zyAc<2KBUQ(P;%i5+{)iSu(Ji#OS01BwkS?61^IsQLI$7agn1qy;o@{rB>5yN3YB`( zQW11mPW52zl|w3^I&vM36=ji>;d#{oIpNlpy!~%KCN$N`lV*4q)a`OJWSJagzb`&> zh2DPkV!y4JlYh#rniUWI5!<*T-`a<~p`}tsoH;7wF2M-?en6EC8~mya#Fq|N-L?;qO4&mJ2%&7X%h9!wP2DJEJ- z)FyH=)HvI#-9J(lKPCh}QhopOfxP)9(E#P;#Lw57pRdyX8Fn{nK5qRDYP}7*LdUq` zUiV@RR!bj>uujGeZ`wWSC0(x2gF2g64-p}4NCT|yciTBOOHCDIYIH*0{YmqY%w@e7 zxbaV_D*LP`H{*7%KT-Bs&#ym2WyZMc)|?-R9jUr>v1XrZh_0QfH?6eYGm+cbPfRwB z#O<20tZ*j|3}%M8zLS8_}4B-?Fc6#9w`{u^e1pI)PE(u{wpxn z!QPO`+{Vb*mC@1RpYYiKwhR8Bf8;EmdE9b;{l**Jt(Fs=^Y$VMGz#h%eh z*esRMX=t-aEQ&c7?z_3R;d}myaGV1IUT8^I5MNb$--0Y3b!w->%}~_) z@yl&e=;#odDpsxbT2_%ikjO{uYUf%WZw@B4-Y>TT(zO^$O<67DeL7~Z77`Hz`4Je@ zT<9Gdr(01j7uz2KTeRD^G)iupiPzg_&>Ayy)>eX|w}bC}``!+q2FmDO@gFOP2Ao z-RrHs1#Fr-=x9{C3{2~{ITrsg*!;oIlzUQbkQ>%nq$hTQ=XCM`>tEpHQn$6TYU}3etVXR_Rcc>aHoU|k=@|RD*kCF(?jDXG;Fnj2q#^(7K z+#cr-Up1E2U!!_T0_)+G=2rE>=UfPY5fl#ig_1YBVEGSuP4ja&X$c=RgTc`ZUCG_G zVGjDK>QR}kIwv#20Vcl-hW5u47)_!eJcPHry@*cY@8d)$uqioiflj1wkK0{5uxT>v zz7@x^qF9sh?^>PG@m2Y~;qq+eA86p?8 z&_@?%n%n;%iba-N~s z>L)Ar1W_RJT8`WOWLoq@_mZRsswf4lnV^C>5nC0IMnH{b>Ph zN5aueCmet0$5RaQ7p}3dBqxEvKZq+Dmo3c2Xg&|TJ6M=?WvMcE1>UH2>KuPg;OwJD zDwHOfk2#B$yICGG_ff%V6ePbBgDd_lX_v*(P_Enl8p`7Sbcq4D7AyVKFEVRT>hj)G z>WbV`+R9K9qyDSS-M~(Nh08nKtq`NOgrZJN7lhyfii00Y$kr=DT{~#E-~RrvK+XQw zhY0m?Y3VX`UgcxVYWNX=QS`%uG@B@uA#+g5$BH}t1b=3RQ7zTPE>;)`(X@QdCTJ!| zb+td!Xu*R%`BT>peyEG|N8~*gsx1j?H()xotDA;D`_8=7IxsKi z573n635!X&HiA)1(}P4>qvc>OmV&dyEVECPlmU=~e5VqM=256=c8VRGZg(eJ>ZpP{fqZ-XJt z8(pf=glA!4xgS9(hl0q3ay+Eomh5xi2LKuw-&1r!=#t|TVaP$X%=+XnUu{kr)r6*x z7KwCzo_>|~2`)rmymTt2#t)}T=En@yh0i(S@nM-w$=}++8-s<0S#!E>kbk3hLDh^%uFnVg1lo2oV(o%MH*7_`~|;@`)y zu2R8|%8A#$&d1@k$=WB*9)66KFszZKa>Ce(<~!@cvif9j-#z%4gg#KV)=|F*i|8i zzoch+6VoMl=79C0g|+DWv1;W!;Wxl)SdK5UeLTEdm$hcYOh3qWYMexJV%ek~xbyfN z7@6qgIC_#S^5qUYpTb))p7MQtb$?!BTZx$W8Pb8po_`IQAg`RdueDYCw%xVqJPBFO-tL4Km`8wPeL=iHrfKZx1(RXS?*0t z4sToa6jrx7G=f(dMm0c#M(}6kCrde~5U2jvJ3`o_d1P8${_U?J*9FA^12gHxKOmL{ zbe;XjPKlB_cmy#dmA}G?o#m86!hZ=Tj!F-biY^NYVRzQW2}^8*`#oM!m6|CgQ^`iD za6yOeJ!{sOAnKOPuV=bnyd5$Zar=MtPpZHkyecQrDIxNVg ztj-bCmOC0pn14UHN3@4+M|uZw8`%lZhI-r(!gYdo z6T}IoDHI?omXZ&DC(&%me7L@Xmf-AmZm|WQEX$(EmOOfE=7C2po0~DaIp&eN&x3Rj z=@1c8m+hL$NSS}A)z{xL>)-`zq*O* z4%~lq6Ne_qY!UQg!Dr8@Zg?bbwDFD=$%^2*)*~Six)c}vi*72eSKzOSYRavPeHjL+ z{Icj5r}3Xp)Q&Pf@%K9Bq%ZGp?1iC|hy1WdG!S0;+p>8z#W$Fogmu)bBd$|V75A$P za3MLr*DYUU|tq&gq>^{ixWJ%=92)mk}}AFpQ$ zBRw+`_-mU0I`~b#ptsk5*B)SvXPl(+V-S{)bB=Z}+7u9Xjp-;_34v&eoYj^hio1By zfPJdS&1Pp#P^B>h6tZ5zQmT;i8M(y(>i%Cz+`*7#A=A2oQg$p@at1ol;nU5VWND4# z6x<)R>7L&ymjYcM{@hfTP}zT^+R1)HWLT(Xh9fSj=)Kpr1Z&ULu{rjfo9h>UgCJ<2 zKyo4l25acYu$Nq5b}zx0jj|eS(YiAXs2j|!Dds)%on@s8shJaCpFCR+W;8GW`v!#D zJ1>)p$7nZorWsf7%)UFsI_QvJ-8%RWodSwy8&QU6=nq=k3U;No?U@DdoOpFDUH*Sv z6ZA|MhPuSzC7Q}^EONRC)zsy1bN7fnWFW@tHk0H_e|MC+_H|bnq>qC`Njl&&{9}lrW-DOcV3h9B+swUM&2TaQIpB?r^UA?T#CxAKa;O_J}*o(&P+N_arXWeL8pQ}cJ)5@F+si3Yf#tWu zJ(vB(AHv$g#?p7s$v-v#96M>l+jX`ls4DjQh8sboR)XHP&nx&KRcfzT^r+d059}9= z%5ufCuYX^_8GXLoB{KIpo&EVOBH$Re27#R>1KHR}QPQCtgeHnR7xhpZsPpxipPH9_ z$`^tIy2-ktf$&gwbd`^0FCKRGgtE#uOSsimK|D@ z$bXQ0+g`auLTkPJA$%977}F3~TS7FfO~prLZ)6e?!P-oD@9OB>cRa7UlO!ttcS3V5 ziT!abn`i+)DbY+ECd0L+>^XkQEI?8{8THq05%rK{U!2Os%s^2Qw;WyuW4rWp;Whs- zNxJvEuKD@^XV+x~q{54oihZkqmW0VQk==8cvJ&;tiK(h-gqFO+00g8YcujW@)@@K8 z#t(L;m{-Opo+K96{jGGxd_$kOeX)s)5uGM=DsbTH90d;HXYIJZ4&=FZKxmFkxzZ9V z7J@Q}_sxE*4!MO_IH|1WoD2WXB=OD{LxS9x<@crj$Vk)%YQ)^T{5&B17tm{>(;_?4 z62Z@9LNYXxJ($A1l9nEapEGA+J{-t`^#R)yQ+r8C3X zLxY-3dv7h1oNgu1Jv5zG;YlvI`gMHxC=+p#9}9jtVO+LV3(#3S zkra(2EDEv&oEz(NbAHr%d@TLOk}qJeLa4ZaAoOj=X5l%n%`&kXk(WSdSnG23W-YaC zu{S3iq4@f!vkViBFR&Iv6|qmTZhIh=>0|y&Lm)3;vMHb$Ya4W!LrPD@w|nUPQAN&e zsr>8|X&yH$Xu6vev8xjZ$AXy!LNT=LG+88`Uj8x(Je6=iPQ)Go&4Hh|6D!UX$K}Kn zFgKW|ob)!(0|t33G@%o;cw-giGS2Uk84=G1crO+0%%?om3z;v~>%9CJw{s@YlY%!S(Kj#_1EI}^tenwb+yb>R@S>onUiCi3=9(<0{K?}*wIpx(48 z|8Q#pDc`cctPgCdw>HCg`KCjgtbp^lo8_ZUFheo@5=cj#y|*f#{t_*H6-L^em{*@} zW3TY}l_5C_0`+$t)*-|l#d4#9fsf=R#R*<~LHD{X^im@9XpBil5X#qG{;61|TPFfcNxURM1q~Jk4{M+6%Hk&Vq zogxKg0YA3Ax9FQ9>%)-qCc0J@uj)4O;4iX*5g$ZjM*ku>>{^o$5)5ub$X4%an&0v8KD71X(^MdwqVgs^c$s3gfQ&m`fF<*SdPS~c+5&_37z0K>zp5Fgq|9>Wu^yJDqwwKsp6fb zW|!3A^gtKyf|RMZb*yDeSgsA|_(uJk(QWt*ZS{xz|54*Dpuui-^@T zj2$2~#qqKNGl~wbndx$x8Z?{~aKp|yQ{nWZPjM~Ky#SJ;cVPpwmdyvY$*;8jZ4IgM z$C;R?r-!w0sIv>vpQFyra%oJ=T(YNMAVh$^T>$rKtd88UiUXWywA|#ScC#Wa;w_4T zU}`5goE?nPgeO^3LrHuh-x=DWx2)CtTEgaef04BESFQw&j_%LYMwovyKkK@s^b3E* z9`mPIyYg-j%DkNFc|iO`V+het3eMm9u#%R1_fumA=an)5<0YL9y$&e2-Nr~CHOQX- z^^kty$S`D&`~b+8kGo?FTH)93WFCllK~3g`{!ZF%1zcj?=#G7P?f?b8^dGdHYHAQjor+eZJ}S)egd-IdC#Zf zChpO5bq4mwZ8MBvCy8_BNpC)=`+R6jG;H<#*VjBNi6)m3p6FO0Mz)o}7R(8!;&i6k zuO@4h8h}pyto+a{g)nd0+=dIg*$0wbXLSo{rJJr9 z4M)OWS6%$__?jS{Y1miHxkbSc+MDVz5vHvoS&?XK^!dTcUDBhW;10#2cj88CIGhFY zk2qpcg^4};U@QdE{(P0^8CrU7sg8I5IhDR_jylGU$4Jxe$|TOLU+=&i z>|?oP9*`lBK50$pyNEIYGUX^M1~R}$zBa)l=e22Sg^`P@npdiE$0gGp@) zqYu#Ew4OZ?SL67`y&J%yvvu-E=)Dc4n0G=Gg`ccNXU0 zZ?<_z7Jp{7)(`JaoJuQ|A5Zi;rbkV?l%$W1VPnvPc!(PcwpfHnbo+Hakr}1~gdTAH zqS7|MpDyKQq1`+q0UE(-9Da=JzPavkS35q}VX+swE+MPtubTDDil69=>Q8jW3E+~m zD%fW~^%aS}S2@eHrk02w4M6w0RBHaS?Z**{WodUKKdv*#=3O1~uTDE@z|VG>b#muT z)L9og!4F*MC!X3srbfA?>62Sy@u3$ezKpN#ekGK2*C*zLPeVK94-wsnIo{s@(C41$ zV)?tlxhlL?47Tjg@9MHpSr&vh27m(Q)A91SrNC5_o7xLU71l;*MIdT@5zTW5t6)`Q4q`ToK*o(ygj3%_m?b?oqg^>I(j#6HwlwG zkp{UFmreC~fz8vIq9fOxXWE*!D{Lq}8|+-F=w-rxf3)+oW%h(ChXJr?!jGghhj>tiZmzClUZbAp3yS?w)K36@y-7a86EGIP z2jmIXkG>skFQ23NFe5nED>{}GTkf%WwI8cc@dTg3d`$(v(IiGbGm=+)TJBG*-nBtk zmAF1B{N`AcQ*M*Lc%;CQ{k~`-kGnFBRfSqxw7!J&xqWpK$%B{is|8%7AdQt3sH}N> znGk*hDg$790PEXZ{CJH2)!4Wp_8pTG z^i4Wol3R!JV|{dew`{C#0((o_CPb=CTR)aUB(OlFv&>P5Y<$wW^-1w_-YN)r!gyuEB8^~u8_Wb z);x(OIHE5`;_8{iveWQofUn?P6N7!Ic<%+Q_5nC8RWbU3A#?KFkTVN+BfrLIHdcyk z0IQx>{v~KIvc6PNV=$J+f~CxjYaswEaH-#&Ab*cNmJbkdkC_>@%w(ir#+nej?AX+$ zR+|WHfg59A?c%IhXgw`PG2+YG>Lgioc$9D5{rrx2fUFJQNjRbj*@t|_NKrpPm*b?d zB!-r*QUEI(uF?-))Q}y@7FL#krRrmz(^)6Pm0OO; zL=UhPnk#@?KuaNa&azrG{9ecidI~fQW~1gkS54ceEV(^6t?x7lj-auzPv!|qS_jg9 z+dooc?ks(PfL5Jt#1eH5gaZ?^L&yhe;yRK7<2}m2MTxGmG!ouO<9E!Qg_f84nMkHo zNO!F^YHjS>fkADPPKU<$MCsnEQ7@l8W$llestrJ>+&m+~CcW}|l4$c&O*$%hG-)q2 z?#a5hmb{6L*5nMr>Blk3_In*-G3pVMnBfl(p>lhZNw#7BpDHPRG)=J3f?#}P3q^7w(UhiK1NFREL%HKQF(ME7Z5>b7iNhWuEM4pHw z-{S!Ydj{AAzT?hPS@P%N3@n9T$b>2Ql`1OdaO4~fD;H}YN^h3<_s;rTymGLB)Oav6 zo__FSZT0`QotsgRmWn?shvz^zEfcCZ%z$Xysit#Sra;e3pjStTEZT$#gSw9 z5W`09)QJ%_Yr6l?6VbF8a*JQFcK4S@)iJcqUR3ZbsrF@54Z!!@eDg5nSUS2A-Qof8 z;-7`K5>H?SzTCp{JhFy@bFFqka7$B%fv!oGVcSWJ;p5rw?usxSufCkP8%*%AY=g){ z7~E%1z)kaLEjHsJ!|_#`3E_gttl{GU&aZN11&UH8t*#1XRR|Ah2|#!^BR_~C<};gw zsP*)rAk_WZfg(9Mk|NM~i8M7Z-Gu-H028~*lfs|KA^~JZMdZ|FlQEOBg+6i;{+<2< z`cpqijv@MgLAW2fJlx3j;6-x@YXpqPl&tg^R_tpzaZSWLh}dq8UW13F-`8?51)Kn5 zp{$Gd~m%|t+}0LBjsvQQhUf-h+2RKsXuPlQzJj-eL;7Keyg(?S(MkbNyq&=Aby1}w5;hu>{~qRxqhB_zxdzls0X=;Tn4 z(mBQNTogJ#hDwug?tMr+XuzKA{9w;Q}Z#_5uO+^ zWesrt{Yf-i&z*(Ci3k1DYA2T#PLqcpu;RZUBZaeuS8(|^hd*Mv)Z#(_*tVzO>fyl< zKTApHpn~KH0uj&E*#?e-ZL1W)TA-c1wjLPK zvQp?RfZ0s!-RU0;I2%O9tT`3t|3*YyD{>)RgfZ#O!IhgkLh{l&T{AJW<9rl+e#7M> zU$&4px$AxDiTpVU^yX}G*PZBh7?9`!!F;Y^(+%MYdanLn~>|~`8#gUz^ zyTKsJMz%PwX8FJu-LcA2_4-YZpTDa?YDVQonKEgv%wu5_0i9@_f8tdT^ zw8=G$nS2TP_MC!1mG?vS$Yo6nZd4ZVw|C+=$ewvz@4(Dt@KO6J9%RK0Gltu*c&brD zWWo{2sLN0)0Kj^AazW9p*(0Bmya}azg<3Tj365I%^q4VbIWm6jijH9=aHKQ)69ITs zXy64DDp2omzPDlWk%UI~&ZKj&3dpGt^E!0lMan0{x)-@ELf}jfZs7Xa!c2AS4OK;a z4e`%hp>X=m?o_6qWCq1ym5b)=?S~5Gu>plIOe}E#1)xv5>E6LEMf#l( z=E{3c&&@DnZ1hWpoRKruueV#w?#tVP@2;%px&` zYxS-Nh51FH>zr2?^zcRe0hDP`P-7cf6G@<_)HqJ$#5GIX4%t;H!-`PPTkSedP@`5J z^3!z0QlC_?n%3x^3$^M?3ItnwaCmux2vII#&OAd1+D!}XDW30fO(OFu;LCp=OmX>a zIib-8!6EsBVfhyn%RhT6{;Q{zHVEPWnP;^&2>Jh==RX=}{yhCv8-xSlZ%=R3{s}q< z1^UN~Z3e>icXQGwCx)(3A^=1f1nSdA4U_hYHa%(G0)!gyw}t-sGtShll~ykVtUljCF?r&RKO$jBQIYN|@uHlkhJX_Z zdZ0tABpvD`*N8+*;lcucfq-DKD;W@4F9MgQ^2L`7rEYRXNTrGlxVjllM&%L}_s<~- zW83_Wejsf6fhe0RXa*1p2FJq9M`~bW+vu>MqjIon(4ezeTsiZ4_E_h$#P2xqYU8lP zcYRpLtLwZlOYc=!cvHDzb6OLM7iwbB*-Ug(B##D8P(yej>~x$bcs&^onBdYwl2X zlMZd+-+X;ThU?nEByH{0EFpqk0`(`){i!C7tSw+QaEF^t^WM|oX$B?SSJd73sQwwmx?6b> zA1=ep63UaJ5I;L~lpFEPVzF4NY6|t30xqw7EW<)Ou3NmCIZ%6N8HEkE!F0lil!LCH zt5^xVl5>E;8Qw$Y<7WL%fk{|=Upy=ih5&-+Ex>%-q|peE0o54JO}_T7CP~v?ZPj{l%HggUI=Gh+dMAqvFBJ3>w!+%(NQGl~sxzfni;ZmE z9NOIQSDbbPY|-JTpJr%F^F4(g>;>ff0*jMu3DqV@`tViLVYAt`JiP8Aa|Zr!G@a3T zJs2r$MxxWDJ1hN}#T|W*`fa>*>~Kxsh$*El(SxozUF9A4zs6d=91t8@V@GTHzgph@ zH*xLHE&mxx5$!&E2mj`ol&lSG_E#kR{Xba$5oo{u38JqyYAL@UfPfg7fq>AHbkjjF zlB&LdfdM{8nf`6be+Jb(4NE1a0i^fy%H$sOu5Ho2WD!~=;4ffs6Y+uA%Y4qjt$;+?RJ767J zysl;B0u?`93rCQQ{K*uvdXb0 zk?Z#~3LVrmSGYHoR@#r*GUvLLwD~#n;^)g&o$~b8+2Zx@HY@DUcRhDw(Vg1g!!mMp zY>&@W>PhCY0T+?<_wWeti*PTFcF7{j&^-i3Zv9LUiBeukI7pKscyxid(05mRu;M*eOP0x?7q^2{k)G008 zRZ9aFJjd+od@nPEY!gv3{7j*V>YXNg^?3tcPYKI0dDRQ7Gc&Se2U0lQd%5*1&)iIM zr~YIf?_?0+Rh_Ga#;?lA+3Jadfa`h5Dc1HNOZzOe{@A0FWdxNz+-#qVlW` zNL|$7x#x_*`Rm2fdzo_6XJ@(IGY{Z<>elO8JGIbu)&BiZvPZEWi6f4@4caHe=`~Wt zp~dcd_=Q)S_`7b!XO_fqdmI%x2KmfPH{u_?fM?c*4o|Y3(TaRGHdgk82A@}xlS1+B z_o$Cnt@vPz!rXR@XZwjZh3&!YRr+b#6p{yAQf(`{>aj5A?d=BFAf!B+BxX0qEUj#1 zD&krPmu`!#oT*ysz1Hy^>Wmf*#6mfH?f&(`2(adTYA@ z`4x7j9its*qbq8Q3lO8N$^}XXAZ(qp2SoHadhs}e2x?Ugoz6=3I0xixX*$W&#Nah0 z4-K|URd8RHgNu}B+vpv@6(}hZCwvhSR?O%ol2dN3U`TqG zKq1yvSyCaV{=O(1!Po-_emF(urMH~x@xBQS=*QZj5yV2p`dEmxpP*oEFv7_mEsRa0 z&5mEUBCH2HkQf?HrA1aC7AL*u@n=3MhD@U;QQ|M%rXhZ|r<7Y9BjZ=eN_Jp& z)=sbRYKWzQB&3o|5aFch7r=fD-^Qm#%~}Z@?^+XJ zuM2KM#~W^_o}2y0FvwR|wvrkf?;NvY~;P|0Lt- z`8WjR6Pm=moRo(y>*#UapVFd3pO~t9+_NHjR9U}r$h&o3t)W4bRJIP}Oq@r}topRq zGk}IDx2=}ucAK$z9ut+bPO??hl`ur+gIfzHV)$P9@hzg$VVyG-YBh}ni@o`|wek>M zc}0NDPoHb8-}3|XzwQ@K>p^gmF8o1o{@bSEKLyrbTZgE?&yxjz+Xei`K=VHu?KlmD z@$cq81I_T;O%h?W#u215S7i=%s*=1N48$e((wXsZWanxUxayaKDO zHP^SOC&IUmficG$WpaAK1(o3BdV~GsFhJ9ZeHV_4>_^3DSzD$w6*k!vImXxHG%lI+ zQ&?sEwT%-#70U6nD19#6cwxz9R;cGA@?ITgrCR{X^NVf#YYDGGh6&i0x2V{&jy$Cq z=U5x8CG*(;z!Hkbx}aT(b^NKZ0$q}@_rP!KnJzKtYSdZoEu2w!P-I+{-Emy$PWTMl zjuZW?sBypjG(6`wk`*3jr1KZQaK<?n9Vzy^o@2V~*>5e9`jqbx_defi|$?tII zg8l&d!-^R;ZtpDG0+0X&y;0_F*^T~mkBFj;0dp{mD1}415CZ&}jthd%X%PcZSb5b| zHlrWkTz@S1anne&Tcuh8>-JMJTtt3#>U^l--%P{?<}UEx-6o&7Gmq>ZvoawjlCv}e zIYcKxQk!(~jyK}=py_o9OWVys&{F_`ReS-Uf#I{g6X4!^CAB#1Zb_?>R!f^W&DF#@ z+^}2|>?;9<@%GT>UW;+r^zvOv< zZDTb*CE+{~UIL;OXm5n)v(twJ*(cPE@QK-bmOPc2S!ZSv!`6ZAe$4l2Wq z*WdCBSWfo*S8Ye-TVIZlJGTIQXXm4O=a|V(FsGt~Oo7}?sJV5a!OmAvd3_gvlQM*F ziOMuUZAE)rr+n3t5~i)dQ(ZlhBEfwMph3G2@*&!xGealezQgn889CR--btN^(d-j@ zR2M53m%QSvE)d5~SyH0PDTRrwZv2S%I;twAY>W#pEbpwUv9(y*`Vp%(zrUn9iBf8N z*|=vmR}61*X6`qh=RF3c9Gi3s02G^Id%7+eL?1z^5|`4mw%Rku&_kj-l-}D=$%$|? zw4`cRchAZ0YK}DHd>*xamugDpFM`z^)~|F{jXI*L;$NV?)n>W47GC2U9_B$KQk)BN z#;VP@Ie~DOsx3{Vv(mtnqN`-_nU|U`a#y{pJJr{uX7wnyGDKMhJm)R~v{=rF%&CH- zr{^(t>DpDYPxd;JBEv^2_LZ$L8*flMvM}>EesxtZu85Z4vXHF%9vQn=h_ukJ=*vE# zmWDRFquL&9ZR+;Aha73N%x zdsx^eZKOijQz^bGqI%H=oDrdkpAU~wE%}2t+xAWOp{t(I96_L2FN+%)Bpf&Z+t`q? zQ=o*2P~+lWYBZI*L@HjjI4>CfsztR=4Ly;%&3G_)#`<{?E;gBF@Vu`00b_u6$J^D& zzI9^$E+)d$G;U+)62!;g@nRynYS7-x5rBtt(&_c_tgIF0{8F?57+n{mOP9UHt6nTR z^_x(@&#F-MVZAP&?jX0Y7Q`vInJR*xwaU{~#qzvVhw=HrWypIvmQ~*@Vm2JD>{W85 zoTbOl6Yh5*04Gl;(8bf^W=bvp}mtVIM1b1v`f)KC}=C5@R* z&NF1RIH=h7>s&<{U;)3$f&J|_2?43WiaSFR>^^o;@w`SD$p;UsU6cc4y57MtREX$C z{Q)*e&#q9n5GCkILAl0m-#rA#4UV1i%buU!=nWg;=c&MQbX(%ZyhyNBu;WAIo0ppV z`tG1b@og?5psQMLoZGAz4C85vxS>h%!!lG?4 z18G>5euQHh^fe_@>cmSmb!%vjBG0WFWU4Wio5b!_i{w#M?7>pIhN7+*kg1DE`QxGt zvPki)S%tjz0``R&p9tp|5gE@q`taI{t9!#SBsQ8qy>(iWK>)yn*_3PIKSYPe!n_FbouDr#2u^`ch%ZYz$R7@$lolR3N2 zS+JVDb7s001!hH0s}Vg2Oa?feBd}Z|jG(2Retp}A0bD}GF>^CW$@$}12$B+uiw~Lp zVtOqIK*@K@Q#pv<5+@M?i7wH zT;8TEn_Ej=2l_#Z976$U$Pc?t&)ATI19cFNO((2p04lz9`bb@ANxWwr#nYP=#{-`s z$G0e(0-S6!hPt*5*))Q@m*rUFUp6l=4l1!nDzBXN9D4$%r_{04r65AEIwujPwiFL` zj&;$yKFtjV$}M~9l&nB(Z2tTj%wVJ&w9}4=LuO=+5gdy%l0!a1fXkH61~nyUpc8$3 zY1ZUj6r~m2l`2R-mbu9de!l^?oMUb&%*`hQ1F%iZNu5&4X&vDp9TCgn51T&OqBqH; z1?zP3`g$8MVf)^md*sM`K?s}iPzJ4k^UO-P`<@r3hE)tlg@)OtniPif)>x?wGGLf* zfOVk)Hl11@PT=u8G^z`3HM3YmhtKh9u?ZfX+JMlUbHJ?a0}4L*yQw|~2eM*j;)DKR z4!|H}8}!Z#({sO_#akG;AmG-&)MT(3>ftPEXRd>0nW5W|6NCY_Zg;P5zR_~Mr8D8> z)aIDakT=i&>O0AWkDeB6cz&OD*_xjP+_exO_51-&@a*i(AOAYx@os|Fy^`vFseO4r zCv@np26F-O_&cKh3h(91=nc3a)9u0BPido#M;m;c=7kFwQIqavhWO5`WfDjSew~lG zg2&>nd0_eHw+=)Uv9b?blgpD<8ULJHV?M-zn|Dps%X^~({Qo9`|6Bd>UkZ$W>EFVp z|E_=knnv+23U_7V-wOBN<;Q=QAOBr`{Qs`}DEt4k{P>SrqVs1t5PLt#J!xPTga9!1 z*%|WZ`VT0`KdXQFDl0a~l8D|}l@y!^go-@E0zbb`@>wCF#R{Np{eT4NK1-=tGcswJ zL&v7SywIFmV{WK5Q!VvQlUg{NEmmp=m0i<^Imn~o#uua|7fVK!{zOo7vE(|{Wc-Do zj*3@6p7QxbPy=LF@^Y)Lgl%x=>lvDvY7G#qh$8|N>pvOPI7AWpgkMMyF7L-AGmTXp z&0l^>=?l6QVr>~w9(#OYwxR?MMwM1+-y14rzD#sPLdi83(ez7*{B@~3tdJNvuoGH! zL$lW~Zb-Bec1ptmgU{@{HF@Z8Cy|g$a-|A!U3Xq@h-NAg1=C3l%qb z>gd7_6VT0!k>j!`J^4AZ7(xzws7cD0f|`R9uieAb@#=j0p=atT*cF|=QZ|!^ztzXl z@qYViE4Wsbo^HLfjkBH4`|0*>D0~NDfITTM?LpOaB93}5Fb!Q671#{i zH%C;Wxf>u>5ut)GxI_sV;Hz8D6mdOU1a1RG`kKo9awMpuri8Zkg7*~!rx};L(`B@x z47q${%L%gjxR(25MH zqv_9sxgl*fEucG5Z}B75uE68p>RY1-!hD@G8^R>`Fqul^TAcM1zEheBh+yA+k!rNm zFB1j0lba+1s>Ax5use!BA=K{n`;VqCsen~Oidmk5}E1GAC zqat)7^wL5H4-fB3WiDk)%lTvlkH_nC3mDnjA(z8H&!4ssy^aIQV6k~QOFYHy?L)-aDpiBTEt80#JS|H<)m5Y?_M{79NUWkR9_^M13@|`Lrerg$~~B_A?&q$jt)$Y=qkQjlFW;S7vMDyp+f(&E*p(-yEPt`#jg zRzp+P!7A*NA2+go4qQt$aWl@9<#7P#CxRDFv>O+Hgc`(!PMgmN6omxi}?WOISo4pA?hMx3d1WmGQ;6&ie?tszS-ADPwLYW+J(~m z+yrInNHW{mED}zl&A_uu4-|#gF3DA$xY+1r0&;8zz4 z{*3BLh07ph2!De4pJL8GDOGgu9=^$PIa(~$G|_>I%U1L?T67y7P*WlgCZA#C09RUG9cia2=bL|wNfJE){b3(*H~^sq%At@`|Ip}{BzBcJ>FpqmIgr3D?Y4~ zg-_CZB4g-d|0(r-qoR^D3Qtg#|1G+dKviGy)^?Y>xB{0t*&ava!#7)=y^I3>2A$rn zaVi`iOLbOo(-@EDds}b+Rvy+!xHECx_G=M2lQE8yciBRu_AZ9^+s zkZ$1U2H!T;P4I87q=$-{VK@Ne_MPXl4NWJO99AT7Nt>0Te1YrL#`4fGscVgNloU2F7I*+e?aX$BqQk>ZfTCWC?L06_xk|q4N;w;2iJGA1HW6S%!NL*;Ca>@ z$Itz&l*z^K{laQ=VA+cCl$y|#O+KKaA&cEP(~ z0i~)6Yb6n*XP`Ky&}uNjq?5rtzO+Kst%ji$uF#&i5qYxq~!sV6ApIB z&vZqeM`@$E=k2$AS;;n6FZP8;+QL(D7v_i^1BTaFFlj#&sF@}DwSHx!SSdj#4k>jZ zCsBLuJHA~364yA6ZH80bqsKjjtyd0NP0O25Y1J3k;B&xP#^IxW;$Ve>My}Y&Gaj8} z>boy+T|=%^%Y3|+n{huA%*w#Nf>`W+0W5BKEZF(CNC)Kiw#d643ZP}=EQB%oRwo`*|^Y^wT*{+c0ZF3rirF_+uZq`9I-=N}Zf3EXq1EDKXpf|nH`3LB zW%<<_0_4R4du!mm?1B`IgIJ(%v4$2k+IZMvNHwMtU`chRwk!l`z_qe8T`^C@xM zRVh}{U>&shH}#dd1cyu_lQcFWIf>*E02u}^qV5K(Bk*<+RR(57#N0PC&C9G*8uj9NOG`lb#WJKYEqDaWvVw0c?^C z$pk>@{t*U^V-iImj`u`Ddd9QHHDSdiWa|TgeW1RoG)%Vk?P^{=tHZ@GFXA!-%mE0Z zo2C9Oyg#qs?qX92Nq)NC4_X8n&&Zg#J(^V48SPJEx|%!iV`0KT60{5v*n$%JV&{o+ z+2*c*9}J`Lv8O#Mp4(&fI0ozq0>UESJ&tq8e+C#Yl)A9hdVbA-EYG7#}*54 zX4&|1oG$s11+`=%)|b{l@Bptym}lUu-nAJj~BNTn-C2Qd$0W<~)r``VNpK`57 z{>ESm_;540!UOA3v#~t}7&ss*Tuwx3nW;$MKzXC<9?f4EHs2I;ZcL zMhXxf(C6`@Ab!;v#SSPMfqkT^yLSjd0yaM14(`iE2oYpIrCGs)qmNWjO{dpm(;;9s zUz4kb1VUrhWL3EaVM_(-&l!SDvspSLj1D4k7>vCG3myw7gP9jbK6f?fxVj)Ox4gLM zFa&4022w^End-Pq(m;rg|NH{!bf9W71+qHcz{Q z`w^$ZS@jyGTQm(C3zA-86(2)s&%!wqF@QbIhF#NI84H#(@fL9z8!01go=|)C19YFa z%(q~*FJfRMqQ6J4ETZ~MLtu=vbXZnCn3RdDx7fg9z=;5id;2XyI(mCG`WU93F2ee~gIN_k}X z*eGOzGf3IlP}tf^`IQxQJx{6`(!8x*A&`d)pjE`_a_f%gg{tj| z1T|n4fr+~wPTA*Z5LNrx1POBnx#jH0EjpRgZny*1w`Jd^1N3vJ@fDAlxF>#t)i=={ z!!manmmC>>!#-g2pvbzg`-*ALY*)1Ul;c&C#w!riWrg=8l{xFJZlgMBAJlP*(&17i z{SmOk9Vxyg+W0x*tDpBJoO8FLHFnS4yg_?1mlGU>aYd%e53D)aQIxtG*9p*kPIc^tjGUWd&&8=n>3<}x=}5Z5-d7wQ zSY$Hhk)hIgKnAC5)aGI~tb#CMx$WpPvXgi*?S_->iYoqNomr2vmQKX4N=2A6ty^+_ z%g+tm6&!I%9Q|n=mx;k&k^z`L&tL6LS(?LVAvc(ISQ{df=+JI5O-Wc#gZ0@$922lI z?-KD+o7q^Q#aQTCQN1m}o1$}=Tvl~wk8-5{Y;mYtnsLo)GH|M zz3q$H&AkNDAgMtFTXDbjsG!tb1{;7o?W7OFdiH#eZ;jscP^)obq0)x;g8utT;z2_G ziE3hIWBl>DB3JA9Q&M}5(;1e+-0Rhzae;@Irw&62^iqXn!@=i9SeJDv^C6UP^UAeT z$jMXf?W2|N_MwB(2{pF!Vl2}_BGXl{B2%2V(#Fg9?wvjFJoEb6cW1v6=qAFpGQ_sif0jAo`83>SspcaO@p#zgr8S6KHQ);NXZ!D+3v6Uh z+$huA<391V8b@8x3Kjp?2*z?;Lygc4W~!UgqESbKH|F$leLNP z>C$t5Q<1g$kd~Edheppc@$FCKOOAaK`Ot(}ld41}upN3!C&cgX-FL7!)E^%=Nr1l& zjQn32+oY1CPlEH`lC?=&M<92gf0X~yF$f9C-<1D9Q@Q_H5c}gvcml%y_Z-1r1nNJ= z;}a0pzZ?HSp#EdcIsG53e-WtvSk=xzX#alie-Nnun3XO-DE~75OUmIN1nNK5!dDQ2 zzux~}tpD@-pS*(5|9zeRAW;8VXblaN@$YX@+ckp?lEi@t>IwPjqE=-KahKGJ2}=A| z?)zU-CI5WjnTDq7_BS-22i4g}q9!wCD_(IcPk4&W@*`q`uO4^PTF{|Cek7m}4eWQy zttt6Iig}dV8(k9=l-$?fH$KRcx&StxAbA1|Cqz4Ja-V@xG3Bdh@WFwTeWNb!y83m2 z{iE_;J~?no0KGdl_ysFLZ5$V_N%WBgIFHr}8VWGrQ*8J;td4VVwWzaZ%**y9U{c*_ zYokV|>T_g|VLq@NSQb2i%Qo=ecI-)A{A@3n=YRs&Q`4rnm$>!o4SkzWEpoGQ0ZN7b zvGDs8JoAjm!IA0KnbB|V>Q(bv7YlmX@v?oXl?H(Z9#IX&2Z09;(Z$Q;YAs52o;Vi|47-}Cdj z6puz5t(gdY`(5PR0>Bw2z3P1SEY2S%=;WMQX=RdUGG*W(bRxtP7hjS?B!w6R+!!Wo zhx!&?0g>f6PTst}?p5o*M+Dw}!IoGd;rMgm5S)IYVQ6fxZOn|hB}15FhC#+dKS^Re z%XL?H&+}Qg(Me~EdiZ9#0I)PoSmR$dO-cx#FLrV8c4+xHYf`jAueZ>)WF7yOz5!-i ziN~}`8!AQyKS9T)DtOfzX~Z?=XE$B?`qT4+xz-Nzkv>v`%> zJnR9^gJkW`bD3k~Ucn5`U!Z;K2;u`ZoO|9TF_4~9QQ=Xkt0~UqaklI~*QjlLmS?IN z2k22f73?_?e83iI36u$61A$3((RFPyG(FI6M>q)TZ?bh8wejo~3- z<`Tz?;$p^^ya~3%kx^To6v@oOf`uDk6F#^)jg2;Hr~@&ctq-8tiui7~MbXW7Crn4Y z;6do2eYm{-yM#kKZ~L^da#4>loxZUS3ouW2_m zPAm&go7=S3nH$oA=P8~J+A~T9m-33KN-l?6zPjSGOnxj8*{d`hnsXI#YwOB|4gjap zZv0@@2xpC~CVOAZ693?pH+7&=Js+NU*tk=Bv!+vo&lqD0AIzKhQT@JY?RJDFd%a)G z$_Yk-No9s*RQ`EjARnjo-H4#nisz;W)s{1#84PD-?b9e1?**1k{e-u3&F_7~(ra>6 z<tV5b%z`1!yoIyS>o5RY; zHD6&{2I!HdM>|!4!9(8kvV^Vx#r{+RY}{`I7%G&=vXKloBi8#4C$5Fabx;H4Mi>MIYFQW1p%3V!O1}Ti`<`T=8im6OfNmrF_ z7}bRtBKhJZX$Mc-u`@X;Tvevua?VP=*S30{T-@E+j zhX=at(~|Sm^Hy}~KDR;F@RzUnZQT{SVR=tiO?5gr>6gYOR!uNPmb+q?XIi97`?%jD zJ%U=a;*Zp<`6Ei2;#uW=^4zw!8tJV^$!g{S3msSemAp<=F)xhGV=>JPyaBmx~zQ6yE{ut4%aob zY5!iiCTEkc-G6_MDK2U=UC}ybLD#v>D<`il8WpC!eq=*ZUgW%E8AIGYm&G8B&~e^!G2Wq$(YxpM!D)Oe_=XKtU0ALuB1an)?tv7 zIVHHlbDh~Nv8S7OcX!OC8xtL}t%{Y{SCkEe{>O?e-_5^etzW$zoa>PJtp7`` z*rdLy{CK@!-}Wm{zKuPXG+)(WTgrt?LYz8B@qO~^}gS)sSoI;AT1zD?T6x+cra0in%zHyvLUd-tU4$eGhF zJI4ow#0THD(5kvHXjzzvRkK0%9v5GS7WIG>Rkw|M{7$PLyBOe|X4_Ziu<|#q4SU>< z{IvSE>YMsgUX81xgZ=dCtlB3%Z)&s)N%-d`%qmN19^ve?WysN_j_GGAZmc6bWtV%=3XP*dV{LYNyp|3QGT$70y}f^QaLV4vFX0E7Nm{~< zHLG*>EWRq8&@Q7&4xR8Us_(4vFg=(qeKaNgO}<5p#g(uzzfHH&igx_zg1UD?6CHL< zWRqihD|*S4ioC&t)B9*UYKKBK=|4F+T9q+i_;*|Km}=jP`LlzDBspmX;~L2^gO zLf6Phhd8$@&Vrmh%3+NMqZgRV{I4XxGB%6U8szD!l%8NvjP!oK z;pe#eEn{PCjO#(Q%GE)W{9U%XPitEnS@!VM_ter*>dfen_S%O5!uk4U!uzNDSOmU) zI)75=t4!U6wVwvP8mMP`y4AEa)6Uh)(5UY2_hX8sN3yI}RZQOUUHhVoGWF>8bJD>{ zbZw1c>!sV{|D11CsIlryOZc-iW#jdhdt+SJCWqGl>fgUh%W1&&$6K9UX2ld_J9V1< zWwjyjY^0X++Mof_8CF?&JBHu8dXJL)n7{k%!OK&^Uq3m&QFB9h7rImIpE<6PC!4~4 z*{~*YvB{i^NA^3H`j%FokNrFN(4sn9=yz{Q_9-v(rcLHfQDr-I$CsWtbh}Z~TypzF z`u50X|LXzM?DISKIoW-#xAs5ve#e2oC+|PGLm763#YTOTpBY*f*j1lgHc4$(r~T%S znO*i%&VM{MX6$3jE_8Ah2u*<+gb_ArB8x~PQ=vyjY$$lJV=MuP)z40w(@EO14DeYphg=|RgBeaLD<|; z4A!9q=yG5<1cc5kyX$v#ka_$zF*h7h@4S|Asc}* zUk4`%K;l8A9`n$JA+11(Llj3?isR;|aiBU5k=%#g793N7MAnjTfRh{G?nw-!E)CPb zKNIO4G*xV5@h$h*Xc+nd=z-9sjKGdWWhgPHReG@^HH|X@rUqlEOmQ*@`Rlp&?^KE@ z%46qTF2J!OeD5H1L5)gCfwfxS=M+C3(4H_QevtpHxpRaX5cyQ3%IY=9y zHE|XxlD~AiwNX@G>aF9DKVVWjFzDq3z|P)iM@wZbLFlHsA5?`VT|lcBlvvpH{!W$` zvJrvaG7jI#2eAc4KBNO^^pYp0vO18de;Ft&?*QUnFk&YEaC+e(6p|9a4{O08#*FBY z2nUrN22$|YAOBCt$k|*N{|T6K^piD*5k4xkk$K;9>&$X(wjH#FcUumBcm-ZDJq;P z3qqLRY$k@G!jjhk`a_*l3OB!quk;U(V4VJoRh&3VQoasuIqAHjpp6aa*Ow4r3zLW; zVHj;p8v(Cw96V-Bi$#1KF|xCvZML_Nq7u*|9l)ums20WuwEs@1ha;&_J}hTMu$Kmk z$bTsGs4sRuv2UYbs0nS(u}ew-^Q#upMi%eT6T-SfNn*j=DMf)PfJH>6$R%4P0hCSx z7K#WF)Np`MZxAZUl(yv9#<3wjYZu49t1zLcf;|*s%;v1tR{)!w0jVy&yF|OQInr)r zO*lxH9akYP+YI4ejUX&cp+i5kfwOV)9JBi$H+)V`0{AWlm??6Uc)^amA;*iONECU| zU*7omrim*!14=$~Q3jw-E9%c|ki3jcqzH7FfEqslQ`kuJJdqTBEz9i1nDcC}1}US(;=qEoTxRqw>@|Dau`0`1@2j@xt*@%ldb!#?Yni*e~#KE--sUKa$z(~*H z!(`YYvm=FPanDBx^nIS^*m#ABk>G!SW@=(hg8(RgAp9HIT_%XjZ%YdS8 zE}|&zBL1cVItXYf$Ff{(%!LQ`o6)Yl8135JZNus{%ofnHUScGak0PSmC(9@*^D@6S zR2p!YLMwIgcEe^$Hf+-S&~{+}wS~;%92Isx5P_;2PhqB&J-9C|j`c`NX6V9T(gh54 zx|I@e#QG55aHcD=MX>8cKiOwi>ImU1fcAGjM2fU7Sf6tF-ZB)OI20Z3DJj-i2sh3W z48&e46g@C<{NoICR-K;6&&NbFAvB?B3CARf4t9i`Xod`9J0fpp3Jq;o_x8vO%LE0lDlu%2Q?O{l@NL<)5fVqVlvn$w4movo(2smYDyXZjAK7e2&F2t z9=ac-Qu_MSv_3wLc=UJ1f0j2HQB+V3KO;9b3E}QOv@ypcdCqY%`iQa_j}RAfCQxXB-TAl! z@s+)V9ydq-k61Ss2w}i0=Dgj@B!1ef+qK%7OtjE+(5lhoY@an(QJU0H7i2vzmn?lp zEa$66W%fhGkKbAxxl1>@b7$@6AK~v86ddMDwi~t@%zPkLlV(x%>uS^~3sI-!PH={| z7&Y*>{&as)DX&*f#=_quO?y#??B7PcQk%n}vZk9uugQi) zb+lBk_26E2eGT^n;e=67;AeH(M6o724OEZo>bk?5{0UugV_U>gvBh*zWaTf_Zn{i= zywTVbs-Cfrtw0_oc6a1%0h&$enzR|mES4gUI%*eJ#66zzn z-?r1}np}tnMRC{io_Q!oHZ4G=IAH$$P#!y0qjWgBm?-j;^?T;>ezYF&2_&SA`B+X0 zX!kH=l?;M>x+HQ@y2$D;81rQgR0zZ&rq_iddahyJ&5(~{-3rHD4-riJ5x`_IEoSCE zKAM=vQKdWM8S}l1mteHSDDr0#0kjgMiGZ($AC+g>#Hd*>pcH?51pjh!7g_}RsH<_i z)7=~Zo5Zx9i1l+y($&nd9J{Oa<&;jrVMLx>$z%)Sq9%f0ezt?|+{zIY=OV$LtC*}W z&OoxV@wZ_f^rz8%f6n(TpL{R!nSK{MHpxM(M_waQM2_JtWBp31cq9kPOtCZZ3MHiy- z>z?@(in3=u?vVULF^UKo`PhQ;sFCTWtgI*0^5KpRmgnUn8ii<`+el&06-$LMV(OiEYxm&BR)0xG>nq=HMOSdC{{g?+WuE{5 delta 129137 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 S#!2|C`XlmYRiT#eJ(V<{lsG{V^JLs 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 d$V&k`Bb~wnPdc_h8HxAFh~?9NJfb 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

ET?5IW2O6Z*z!1>5YjI8Zp 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 IVb>)82WJYo{Qv*} diff --git a/deploy/artifacts/deployer.wasm b/deploy/artifacts/deployer.wasm index 302a12bf52f5f03c6de90584cdc1c948968c3bd2..d59732464d3370b600b47120bb3534626dabdf6d 100755 GIT binary patch delta 149 zcmX?Xbl7-994n*x=6Kd=yo{`qzX?Sf3YTQ&rWThZ<`%>k6s0C-7H8(?F)%Q&UjPz9 tAuzcBgw$p)VPO^*CZIG7U{wZ`L{`J%Tb!B<(*UHIgHw|?M~c5<1OTncB?15d delta 30 mcmX?XeAsA194n*R=6Kd=yo@Z9zX?Te?iA)>*?d?086yCviVDa8 diff --git a/deploy/artifacts/pool.wasm b/deploy/artifacts/pool.wasm index 373db5ac87c730376633b0444f9ad6a6bac52b7b..c470bf8edf79f88e725c99f03d7057e32c31463c 100755 GIT binary patch delta 3011 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 PmH+ECL-S| Date: Thu, 14 Mar 2024 18:36:37 +0300 Subject: [PATCH 7/9] * --- deploy/scripts/upgrade.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/scripts/upgrade.sh b/deploy/scripts/upgrade.sh index 2d767eb3..f307ad7d 100755 --- a/deploy/scripts/upgrade.sh +++ b/deploy/scripts/upgrade.sh @@ -25,7 +25,7 @@ install() { echo $hash } -POOL_HASH=$(install "/Users/maks/Work/slender/target/wasm32-unknown-unknown/release/pool.optimized.wasm" $ADMIN_SECRET) +POOL_HASH=$(install "../target/wasm32-unknown-unknown/release/pool.optimized.wasm" $ADMIN_SECRET) echo "Pool wasm hash: $POOL_HASH" echo "$POOL_HASH" >$BASEDIR/../artifacts/pool.wasm.upgrades.hash From abb4491d8f3999b163acf6f4b06224be13b6d211 Mon Sep 17 00:00:00 2001 From: Maks Nabokov Date: Thu, 14 Mar 2024 18:56:11 +0300 Subject: [PATCH 8/9] move tokens decimals in env --- deploy/artifacts/.testnet.contracts | 9 ++++++--- integration-tests/tests/pool.sut.ts | 18 +++++++++++------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/deploy/artifacts/.testnet.contracts b/deploy/artifacts/.testnet.contracts index 340e5c50..562ee4d1 100644 --- a/deploy/artifacts/.testnet.contracts +++ b/deploy/artifacts/.testnet.contracts @@ -7,9 +7,9 @@ SLENDER_DEBT_TOKEN_HASH=1aa23951740091f238ddb75281c9aeeac6bd3b6b29a4de645efcc5c5 SLENDER_DEPLOYER=CDJ2VPGURH23BKDGIYC5SFPZG4HOKGXIXQTW43Z6VNKBLYUCC4INFOT7 SLENDER_POOL_HASH=61079ef75168714c8472d492313197c7b8f8375832f060c0e186d140b13c5c6b -TOKEN_RWA_INITIALIZED=TRUE -POOL_RWA_RESERVE_INITIALIZED=TRUE -POOL_RWA_COLLATERAL_CONFIGURED=TRUE +SLENDER_TOKEN_RWA_INITIALIZED=TRUE +SLENDER_POOL_RWA_RESERVE_INITIALIZED=TRUE +SLENDER_POOL_RWA_COLLATERAL_CONFIGURED=TRUE SLENDER_XLM_PRICE_SET=TRUE SLENDER_XRP_PRICE_SET=TRUE @@ -21,18 +21,21 @@ XLM_FEED_DECIMALS=14 XLM_PRICE_FEED=CBKZFI26PDCZUJ5HYYKVB5BWCNYUSNA5LVL4R2JTRVSOB4XEP7Y34OPN XLM_PRICE_TWAP_RECORDS=7 XLM_PRICE_TIMESTAMP_PRECISION=Msec +XLM_DECIMALS=7 XRP_FEED_ASSET_TYPE=Other XRP_FEED_DECIMALS=14 XRP_PRICE_FEED=CBKZFI26PDCZUJ5HYYKVB5BWCNYUSNA5LVL4R2JTRVSOB4XEP7Y34OPN XRP_PRICE_TWAP_RECORDS=7 XRP_PRICE_TIMESTAMP_PRECISION=Msec +XRP_DECIMALS=7 USDC_FEED_ASSET_TYPE=Other USDC_FEED_DECIMALS=14 USDC_PRICE_FEED=CBKZFI26PDCZUJ5HYYKVB5BWCNYUSNA5LVL4R2JTRVSOB4XEP7Y34OPN USDC_PRICE_TWAP_RECORDS=7 USDC_PRICE_TIMESTAMP_PRECISION=Msec +USDC_DECIMALS=7 SLENDER_TOKEN_XRP_INITIALIZED=TRUE SLENDER_TOKEN_USDC_INITIALIZED=TRUE diff --git a/integration-tests/tests/pool.sut.ts b/integration-tests/tests/pool.sut.ts index 4859bc03..dc01d8f5 100644 --- a/integration-tests/tests/pool.sut.ts +++ b/integration-tests/tests/pool.sut.ts @@ -69,13 +69,17 @@ export async function init(client: SorobanClient, customXlm = true): Promise String(value).padStart(64, "0"); + const xlmDecimals = parseInt(process.env.XLM_DECIMALS, 10) || 7; + const xrpDecimals = parseInt(process.env.XRP_DECIMALS, 10) || 9; + const usdcDecimals = parseInt(process.env.USDC_DECIMALS, 10) || 9; + if (customXlm) { - await initToken(client, "XLM", "Lumens", 7); + await initToken(client, "XLM", "Lumens", xlmDecimals); } - await initToken(client, "XRP", "Ripple", 7); - await initToken(client, "USDC", "USD Coin", 7); - // await initToken(client, "RWA", "RWA asset", 9); + await initToken(client, "XRP", "Ripple", xrpDecimals); + await initToken(client, "USDC", "USD Coin", usdcDecimals); + await initToken(client, "RWA", "RWA asset", 9); await initPool(client, `${generateSalt(++salt)}`); // need to create treasury account to be able to receive native XLM token @@ -113,7 +117,7 @@ export async function init(client: SorobanClient, customXlm = true): Promise Date: Thu, 14 Mar 2024 19:11:27 +0300 Subject: [PATCH 9/9] optional rwa in init --- Makefile | 2 +- integration-tests/tests/init.ts | 3 +- integration-tests/tests/pool.sut.ts | 120 +++++++++++++++------------- 3 files changed, 69 insertions(+), 56 deletions(-) diff --git a/Makefile b/Makefile index 64b2d315..444fff88 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ deploy-contracts: ./deploy/scripts/deploy.sh $(env) init-contracts: - yarn --cwd integration-tests init-$(env) $(customXlm) + yarn --cwd integration-tests init-$(env) $(customXlm) $(rwa) create-bindings: ./deploy/scripts/create-bindings.sh $(env) diff --git a/integration-tests/tests/init.ts b/integration-tests/tests/init.ts index 9f0671a3..17a9ada1 100644 --- a/integration-tests/tests/init.ts +++ b/integration-tests/tests/init.ts @@ -4,7 +4,8 @@ import { SorobanClient } from "./soroban.client"; async function main() { const client = new SorobanClient(); const customXlm = Number(process.argv[2]) === 1; - await init(client, customXlm); + const rwa = Number(process.argv[3]) === 1; + await init(client, {customXlm, rwa}); } main() diff --git a/integration-tests/tests/pool.sut.ts b/integration-tests/tests/pool.sut.ts index dc01d8f5..eecc7599 100644 --- a/integration-tests/tests/pool.sut.ts +++ b/integration-tests/tests/pool.sut.ts @@ -60,7 +60,7 @@ export function healthFactor(accountPosition: AccountPosition): number { return Number(accountPosition.npv) / Number(accountPosition.discounted_collateral); } -export async function init(client: SorobanClient, customXlm = true): Promise { +export async function init(client: SorobanClient, options = { customXlm: true, rwa: true }): Promise { console.log(" Contracts initialization has been started"); require("dotenv").config({ path: contractsFilename }); @@ -73,13 +73,17 @@ export async function init(client: SorobanClient, customXlm = true): Promise