From 6e3c56c135d0b3e842dd04386298b98dacccf75e Mon Sep 17 00:00:00 2001 From: Svyatoslav Nikolsky Date: Tue, 13 Nov 2018 14:17:14 +0300 Subject: [PATCH] Changes tries: support forks (#950) * forks support in changes trie storage * moved convert_hash to primitives * optimize ChangesTrieRootsStorage::root when anchor is canonicalized --- substrate/core/client/db/src/lib.rs | 161 ++++++++++++++---- substrate/core/client/db/src/utils.rs | 11 ++ substrate/core/client/src/cht.rs | 5 +- substrate/core/client/src/client.rs | 16 +- .../core/client/src/light/call_executor.rs | 4 +- substrate/core/client/src/light/fetcher.rs | 25 ++- substrate/core/executor/src/wasm_executor.rs | 13 +- substrate/core/primitives/src/hash.rs | 10 ++ substrate/core/primitives/src/lib.rs | 2 +- substrate/core/sr-io/with_std.rs | 4 +- substrate/core/sr-io/without_std.rs | 6 +- substrate/core/sr-primitives/src/traits.rs | 6 +- .../state-machine/src/changes_trie/build.rs | 29 ++-- .../src/changes_trie/changes_iterator.rs | 48 +++--- .../state-machine/src/changes_trie/mod.rs | 18 +- .../state-machine/src/changes_trie/prune.rs | 12 +- .../state-machine/src/changes_trie/storage.rs | 4 +- substrate/core/state-machine/src/ext.rs | 16 +- substrate/core/state-machine/src/lib.rs | 8 +- substrate/core/state-machine/src/testing.rs | 6 +- substrate/core/test-runtime/src/system.rs | 4 +- .../substrate_test_runtime.compact.wasm | Bin 44927 -> 222890 bytes substrate/node/executor/src/lib.rs | 4 +- .../release/node_runtime.compact.wasm | Bin 620632 -> 828029 bytes substrate/srml/system/src/lib.rs | 2 +- 25 files changed, 276 insertions(+), 138 deletions(-) diff --git a/substrate/core/client/db/src/lib.rs b/substrate/core/client/db/src/lib.rs index 60196e4a32..93a5352fd7 100644 --- a/substrate/core/client/db/src/lib.rs +++ b/substrate/core/client/db/src/lib.rs @@ -64,7 +64,7 @@ use hash_db::Hasher; use kvdb::{KeyValueDB, DBTransaction}; use trie::MemoryDB; use parking_lot::RwLock; -use primitives::{H256, AuthorityId, Blake2Hasher, ChangesTrieConfiguration}; +use primitives::{H256, AuthorityId, Blake2Hasher, ChangesTrieConfiguration, convert_hash}; use primitives::storage::well_known_keys; use runtime_primitives::{generic::BlockId, Justification, StorageMap, ChildrenStorageMap}; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, As, NumberFor, Zero, Digest, DigestItem}; @@ -145,7 +145,7 @@ impl<'a> state_db::MetaDb for StateMetaDb<'a> { /// Block database pub struct BlockchainDb { db: Arc, - meta: RwLock, Block::Hash>>, + meta: Arc, Block::Hash>>>, leaves: RwLock>>, } @@ -156,7 +156,7 @@ impl BlockchainDb { Ok(BlockchainDb { db, leaves: RwLock::new(leaves), - meta: RwLock::new(meta), + meta: Arc::new(RwLock::new(meta)), }) } @@ -387,6 +387,7 @@ impl state_machine::Storage for DbGenesisStorage { pub struct DbChangesTrieStorage { db: Arc, + meta: Arc, Block::Hash>>>, min_blocks_to_keep: Option, _phantom: ::std::marker::PhantomData, } @@ -400,7 +401,7 @@ impl DbChangesTrieStorage { } /// Prune obsolete changes tries. - pub fn prune(&self, config: Option, tx: &mut DBTransaction, block: NumberFor) { + pub fn prune(&self, config: Option, tx: &mut DBTransaction, block_hash: Block::Hash, block_num: NumberFor) { // never prune on archive nodes let min_blocks_to_keep = match self.min_blocks_to_keep { Some(min_blocks_to_keep) => min_blocks_to_keep, @@ -418,23 +419,54 @@ impl DbChangesTrieStorage { &config, &*self, min_blocks_to_keep, - block.as_(), + &state_machine::ChangesTrieAnchorBlockId { + hash: convert_hash(&block_hash), + number: block_num.as_(), + }, |node| tx.delete(columns::CHANGES_TRIE, node.as_ref())); } } impl state_machine::ChangesTrieRootsStorage for DbChangesTrieStorage { - fn root(&self, block: u64) -> Result, String> { - Ok(read_db::(&*self.db, columns::HASH_LOOKUP, columns::HEADER, BlockId::Number(As::sa(block))) - .map_err(|err| format!("{}", err)) - .and_then(|header| match header { - Some(header) => Block::Header::decode(&mut &header[..]) - .ok_or_else(|| format!("Failed to parse header of block {}", block)) - .map(Some), - None => Ok(None) - })? - .and_then(|header| header.digest().log(DigestItem::as_changes_trie_root) - .map(|root| H256::from_slice(root.as_ref())))) + fn root(&self, anchor: &state_machine::ChangesTrieAnchorBlockId, block: u64) -> Result, String> { + // check API requirement + assert!(block <= anchor.number, "API requirement"); + + // we need to get hash of the block to resolve changes trie root + let block_id = if block <= self.meta.read().finalized_number.as_() { + // if block is finalized, we could just read canonical hash + BlockId::Number(As::sa(block)) + } else { + // the block is not finalized + let mut current_num = anchor.number; + let mut current_hash: Block::Hash = convert_hash(&anchor.hash); + let maybe_anchor_header: Block::Header = ::utils::require_header::( + &*self.db, columns::HASH_LOOKUP, columns::HEADER, BlockId::Number(As::sa(current_num)) + ).map_err(|e| e.to_string())?; + if maybe_anchor_header.hash() == current_hash { + // if anchor is canonicalized, then the block is also canonicalized + BlockId::Number(As::sa(block)) + } else { + // else (block is not finalized + anchor is not canonicalized): + // => we should find the required block hash by traversing + // back from the anchor to the block with given number + while current_num != block { + let current_header: Block::Header = ::utils::require_header::( + &*self.db, columns::HASH_LOOKUP, columns::HEADER, BlockId::Hash(current_hash) + ).map_err(|e| e.to_string())?; + + current_hash = *current_header.parent_hash(); + current_num = current_num - 1; + } + + BlockId::Hash(current_hash) + } + }; + + Ok(::utils::require_header::(&*self.db, columns::HASH_LOOKUP, columns::HEADER, block_id) + .map_err(|e| e.to_string())? + .digest().log(DigestItem::as_changes_trie_root) + .map(|root| H256::from_slice(root.as_ref()))) } } @@ -480,6 +512,7 @@ impl Backend { fn from_kvdb(db: Arc, pruning: PruningMode, canonicalization_delay: u64) -> Result { let is_archive_pruning = pruning.is_archive(); let blockchain = BlockchainDb::new(db.clone())?; + let meta = blockchain.meta.clone(); let map_e = |e: state_db::Error| ::client::error::Error::from(format!("State database error: {:?}", e)); let state_db: StateDb = StateDb::new(pruning, &StateMetaDb(&*db)).map_err(map_e)?; let storage_db = StorageDb { @@ -488,6 +521,7 @@ impl Backend { }; let changes_tries_storage = DbChangesTrieStorage { db, + meta, min_blocks_to_keep: if is_archive_pruning { None } else { Some(MIN_BLOCKS_TO_KEEP_CHANGES_TRIES_FOR) }, _phantom: Default::default(), }; @@ -567,7 +601,7 @@ impl Backend { let changes_trie_config: Option = self.state_at(BlockId::Hash(parent_hash))? .storage(well_known_keys::CHANGES_TRIE_CONFIG)? .and_then(|v| Decode::decode(&mut &*v)); - self.changes_tries_storage.prune(changes_trie_config, transaction, f_num); + self.changes_tries_storage.prune(changes_trie_config, transaction, f_hash, f_num); } Ok(()) @@ -1191,10 +1225,13 @@ mod tests { #[test] fn changes_trie_storage_works() { let backend = Backend::::new_test(1000, 100); + backend.changes_tries_storage.meta.write().finalized_number = 1000; + let check_changes = |backend: &Backend, block: u64, changes: Vec<(Vec, Vec)>| { let (changes_root, mut changes_trie_update) = prepare_changes(changes); - assert_eq!(backend.changes_tries_storage.root(block), Ok(Some(changes_root))); + let anchor = state_machine::ChangesTrieAnchorBlockId { hash: Default::default(), number: block }; + assert_eq!(backend.changes_tries_storage.root(&anchor, block), Ok(Some(changes_root))); for (key, (val, _)) in changes_trie_update.drain() { assert_eq!(backend.changes_trie_storage().unwrap().get(&key), Ok(Some(val))); @@ -1218,9 +1255,66 @@ mod tests { check_changes(&backend, 2, changes2); } + #[test] + fn changes_trie_storage_works_with_forks() { + let backend = Backend::::new_test(1000, 100); + + let changes0 = vec![(b"k0".to_vec(), b"v0".to_vec())]; + let changes1 = vec![(b"k1".to_vec(), b"v1".to_vec())]; + let changes2 = vec![(b"k2".to_vec(), b"v2".to_vec())]; + let block0 = insert_header(&backend, 0, Default::default(), changes0.clone(), Default::default()); + let block1 = insert_header(&backend, 1, block0, changes1.clone(), Default::default()); + let block2 = insert_header(&backend, 2, block1, changes2.clone(), Default::default()); + + let changes2_1_0 = vec![(b"k3".to_vec(), b"v3".to_vec())]; + let changes2_1_1 = vec![(b"k4".to_vec(), b"v4".to_vec())]; + let block2_1_0 = insert_header(&backend, 3, block2, changes2_1_0.clone(), Default::default()); + let block2_1_1 = insert_header(&backend, 4, block2_1_0, changes2_1_1.clone(), Default::default()); + + let changes2_2_0 = vec![(b"k5".to_vec(), b"v5".to_vec())]; + let changes2_2_1 = vec![(b"k6".to_vec(), b"v6".to_vec())]; + let block2_2_0 = insert_header(&backend, 3, block2, changes2_2_0.clone(), Default::default()); + let block2_2_1 = insert_header(&backend, 4, block2_2_0, changes2_2_1.clone(), Default::default()); + + // finalize block1 + backend.changes_tries_storage.meta.write().finalized_number = 1; + + // branch1: when asking for finalized block hash + let (changes1_root, _) = prepare_changes(changes1); + let anchor = state_machine::ChangesTrieAnchorBlockId { hash: block2_1_1, number: 4 }; + assert_eq!(backend.changes_tries_storage.root(&anchor, 1), Ok(Some(changes1_root))); + + // branch2: when asking for finalized block hash + let anchor = state_machine::ChangesTrieAnchorBlockId { hash: block2_2_1, number: 4 }; + assert_eq!(backend.changes_tries_storage.root(&anchor, 1), Ok(Some(changes1_root))); + + // branch1: when asking for non-finalized block hash (search by traversal) + let (changes2_1_0_root, _) = prepare_changes(changes2_1_0); + let anchor = state_machine::ChangesTrieAnchorBlockId { hash: block2_1_1, number: 4 }; + assert_eq!(backend.changes_tries_storage.root(&anchor, 3), Ok(Some(changes2_1_0_root))); + + // branch2: when asking for non-finalized block hash (search using canonicalized hint) + let (changes2_2_0_root, _) = prepare_changes(changes2_2_0); + let anchor = state_machine::ChangesTrieAnchorBlockId { hash: block2_2_1, number: 4 }; + assert_eq!(backend.changes_tries_storage.root(&anchor, 3), Ok(Some(changes2_2_0_root))); + + // finalize first block of branch2 (block2_2_0) + backend.changes_tries_storage.meta.write().finalized_number = 3; + + // branch2: when asking for finalized block of this branch + assert_eq!(backend.changes_tries_storage.root(&anchor, 3), Ok(Some(changes2_2_0_root))); + + // branch1: when asking for finalized block of other branch + // => result is incorrect (returned for the block of branch1), but this is expected, + // because the other fork is abandoned (forked before finalized header) + let anchor = state_machine::ChangesTrieAnchorBlockId { hash: block2_1_1, number: 4 }; + assert_eq!(backend.changes_tries_storage.root(&anchor, 3), Ok(Some(changes2_2_0_root))); + } + #[test] fn changes_tries_are_pruned_on_finalization() { let mut backend = Backend::::new_test(1000, 100); + backend.changes_tries_storage.meta.write().finalized_number = 1000; backend.changes_tries_storage.min_blocks_to_keep = Some(8); let config = ChangesTrieConfiguration { digest_interval: 2, @@ -1243,26 +1337,27 @@ mod tests { let _ = insert_header(&backend, 12, block11, vec![(b"key_at_12".to_vec(), b"val_at_12".to_vec())], Default::default()); // check that roots of all tries are in the columns::CHANGES_TRIE + let anchor = state_machine::ChangesTrieAnchorBlockId { hash: Default::default(), number: 100 }; fn read_changes_trie_root(backend: &Backend, num: u64) -> H256 { backend.blockchain().header(BlockId::Number(num)).unwrap().unwrap().digest().logs().iter() .find(|i| i.as_changes_trie_root().is_some()).unwrap().as_changes_trie_root().unwrap().clone() } - let root1 = read_changes_trie_root(&backend, 1); assert_eq!(backend.changes_tries_storage.root(1).unwrap(), Some(root1)); - let root2 = read_changes_trie_root(&backend, 2); assert_eq!(backend.changes_tries_storage.root(2).unwrap(), Some(root2)); - let root3 = read_changes_trie_root(&backend, 3); assert_eq!(backend.changes_tries_storage.root(3).unwrap(), Some(root3)); - let root4 = read_changes_trie_root(&backend, 4); assert_eq!(backend.changes_tries_storage.root(4).unwrap(), Some(root4)); - let root5 = read_changes_trie_root(&backend, 5); assert_eq!(backend.changes_tries_storage.root(5).unwrap(), Some(root5)); - let root6 = read_changes_trie_root(&backend, 6); assert_eq!(backend.changes_tries_storage.root(6).unwrap(), Some(root6)); - let root7 = read_changes_trie_root(&backend, 7); assert_eq!(backend.changes_tries_storage.root(7).unwrap(), Some(root7)); - let root8 = read_changes_trie_root(&backend, 8); assert_eq!(backend.changes_tries_storage.root(8).unwrap(), Some(root8)); - let root9 = read_changes_trie_root(&backend, 9); assert_eq!(backend.changes_tries_storage.root(9).unwrap(), Some(root9)); - let root10 = read_changes_trie_root(&backend, 10); assert_eq!(backend.changes_tries_storage.root(10).unwrap(), Some(root10)); - let root11 = read_changes_trie_root(&backend, 11); assert_eq!(backend.changes_tries_storage.root(11).unwrap(), Some(root11)); - let root12 = read_changes_trie_root(&backend, 12); assert_eq!(backend.changes_tries_storage.root(12).unwrap(), Some(root12)); + let root1 = read_changes_trie_root(&backend, 1); assert_eq!(backend.changes_tries_storage.root(&anchor, 1).unwrap(), Some(root1)); + let root2 = read_changes_trie_root(&backend, 2); assert_eq!(backend.changes_tries_storage.root(&anchor, 2).unwrap(), Some(root2)); + let root3 = read_changes_trie_root(&backend, 3); assert_eq!(backend.changes_tries_storage.root(&anchor, 3).unwrap(), Some(root3)); + let root4 = read_changes_trie_root(&backend, 4); assert_eq!(backend.changes_tries_storage.root(&anchor, 4).unwrap(), Some(root4)); + let root5 = read_changes_trie_root(&backend, 5); assert_eq!(backend.changes_tries_storage.root(&anchor, 5).unwrap(), Some(root5)); + let root6 = read_changes_trie_root(&backend, 6); assert_eq!(backend.changes_tries_storage.root(&anchor, 6).unwrap(), Some(root6)); + let root7 = read_changes_trie_root(&backend, 7); assert_eq!(backend.changes_tries_storage.root(&anchor, 7).unwrap(), Some(root7)); + let root8 = read_changes_trie_root(&backend, 8); assert_eq!(backend.changes_tries_storage.root(&anchor, 8).unwrap(), Some(root8)); + let root9 = read_changes_trie_root(&backend, 9); assert_eq!(backend.changes_tries_storage.root(&anchor, 9).unwrap(), Some(root9)); + let root10 = read_changes_trie_root(&backend, 10); assert_eq!(backend.changes_tries_storage.root(&anchor, 10).unwrap(), Some(root10)); + let root11 = read_changes_trie_root(&backend, 11); assert_eq!(backend.changes_tries_storage.root(&anchor, 11).unwrap(), Some(root11)); + let root12 = read_changes_trie_root(&backend, 12); assert_eq!(backend.changes_tries_storage.root(&anchor, 12).unwrap(), Some(root12)); // now simulate finalization of block#12, causing prune of tries at #1..#4 let mut tx = DBTransaction::new(); - backend.changes_tries_storage.prune(Some(config.clone()), &mut tx, 12); + backend.changes_tries_storage.prune(Some(config.clone()), &mut tx, Default::default(), 12); backend.storage.db.write(tx).unwrap(); assert!(backend.changes_tries_storage.get(&root1).unwrap().is_none()); assert!(backend.changes_tries_storage.get(&root2).unwrap().is_none()); @@ -1275,7 +1370,7 @@ mod tests { // now simulate finalization of block#16, causing prune of tries at #5..#8 let mut tx = DBTransaction::new(); - backend.changes_tries_storage.prune(Some(config.clone()), &mut tx, 16); + backend.changes_tries_storage.prune(Some(config.clone()), &mut tx, Default::default(), 16); backend.storage.db.write(tx).unwrap(); assert!(backend.changes_tries_storage.get(&root5).unwrap().is_none()); assert!(backend.changes_tries_storage.get(&root6).unwrap().is_none()); @@ -1286,7 +1381,7 @@ mod tests { // => no changes tries are pruned, because we never prune in archive mode backend.changes_tries_storage.min_blocks_to_keep = None; let mut tx = DBTransaction::new(); - backend.changes_tries_storage.prune(Some(config), &mut tx, 20); + backend.changes_tries_storage.prune(Some(config), &mut tx, Default::default(), 20); backend.storage.db.write(tx).unwrap(); assert!(backend.changes_tries_storage.get(&root9).unwrap().is_some()); assert!(backend.changes_tries_storage.get(&root10).unwrap().is_some()); diff --git a/substrate/core/client/db/src/utils.rs b/substrate/core/client/db/src/utils.rs index f7b81845e8..5caebd7e72 100644 --- a/substrate/core/client/db/src/utils.rs +++ b/substrate/core/client/db/src/utils.rs @@ -187,6 +187,17 @@ pub fn read_header( } } +/// Required header from the database. +pub fn require_header( + db: &KeyValueDB, + col_index: Option, + col: Option, + id: BlockId, +) -> client::error::Result { + read_header(db, col_index, col, id) + .and_then(|header| header.ok_or_else(|| client::error::ErrorKind::UnknownBlock(format!("{}", id)).into())) +} + /// Read meta from the database. pub fn read_meta(db: &KeyValueDB, col_meta: Option, col_header: Option) -> Result< Meta<<::Header as HeaderT>::Number, Block::Hash>, diff --git a/substrate/core/client/src/cht.rs b/substrate/core/client/src/cht.rs index fd8e07c3dd..39e1aaa95b 100644 --- a/substrate/core/client/src/cht.rs +++ b/substrate/core/client/src/cht.rs @@ -27,7 +27,7 @@ use hash_db; use heapsize::HeapSizeOf; use trie; -use primitives::H256; +use primitives::{H256, convert_hash}; use runtime_primitives::traits::{As, Header as HeaderT, SimpleArithmetic, One}; use state_machine::backend::InMemory as InMemoryState; use state_machine::{prove_read, read_proof_check}; @@ -113,8 +113,7 @@ pub fn check_proof( Hasher: hash_db::Hasher, Hasher::Out: Ord + HeapSizeOf, { - let mut root: Hasher::Out = Default::default(); - root.as_mut().copy_from_slice(local_root.as_ref()); + let root: Hasher::Out = convert_hash(&local_root); let local_cht_key = encode_cht_key(local_number); let local_cht_value = read_proof_check::(root, remote_proof, &local_cht_key).map_err(|e| ClientError::from(e))?; diff --git a/substrate/core/client/src/client.rs b/substrate/core/client/src/client.rs index 1279bc486a..f1d1549185 100644 --- a/substrate/core/client/src/client.rs +++ b/substrate/core/client/src/client.rs @@ -30,14 +30,14 @@ use consensus::{ImportBlock, ImportResult, BlockOrigin}; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT, Zero, As, NumberFor, CurrentHeight, BlockNumberToHash}; use runtime_primitives::{ApplyResult, BuildStorage}; use runtime_api as api; -use primitives::{Blake2Hasher, H256, ChangesTrieConfiguration}; +use primitives::{Blake2Hasher, H256, ChangesTrieConfiguration, convert_hash}; use primitives::storage::{StorageKey, StorageData}; use primitives::storage::well_known_keys; use codec::{Encode, Decode}; use state_machine::{ Backend as StateBackend, CodeExecutor, - ExecutionStrategy, ExecutionManager, prove_read, - key_changes, key_changes_proof, OverlayedChanges + ExecutionStrategy, ExecutionManager, ChangesTrieAnchorBlockId, + prove_read, key_changes, key_changes_proof, OverlayedChanges }; use backend::{self, BlockImportOperation}; @@ -355,7 +355,10 @@ impl Client where config, storage, self.require_block_number_from_id(&BlockId::Hash(first))?.as_(), - self.require_block_number_from_id(&BlockId::Hash(last))?.as_(), + &ChangesTrieAnchorBlockId { + hash: convert_hash(&last), + number: self.require_block_number_from_id(&BlockId::Hash(last))?.as_(), + }, self.backend.blockchain().info()?.best_number.as_(), key) .map_err(|err| error::ErrorKind::ChangesTrieAccessFailed(err).into()) @@ -388,7 +391,10 @@ impl Client where config, storage, self.require_block_number_from_id(&BlockId::Hash(first))?.as_(), - self.require_block_number_from_id(&BlockId::Hash(last))?.as_(), + &ChangesTrieAnchorBlockId { + hash: convert_hash(&last), + number: self.require_block_number_from_id(&BlockId::Hash(last))?.as_(), + }, max_number.as_(), key) .map_err(|err| error::ErrorKind::ChangesTrieAccessFailed(err).into()) diff --git a/substrate/core/client/src/light/call_executor.rs b/substrate/core/client/src/light/call_executor.rs index d52883db64..732b783b73 100644 --- a/substrate/core/client/src/light/call_executor.rs +++ b/substrate/core/client/src/light/call_executor.rs @@ -21,6 +21,7 @@ use std::marker::PhantomData; use std::sync::Arc; use futures::{IntoFuture, Future}; +use primitives::convert_hash; use runtime_primitives::generic::BlockId; use runtime_primitives::traits::{Block as BlockT, Header as HeaderT}; use state_machine::{Backend as StateBackend, CodeExecutor, OverlayedChanges, @@ -136,8 +137,7 @@ pub fn check_execution_proof( { let local_state_root = request.header.state_root(); - let mut root: H::Out = Default::default(); - root.as_mut().copy_from_slice(local_state_root.as_ref()); + let root: H::Out = convert_hash(&local_state_root); let mut changes = OverlayedChanges::default(); let local_result = execution_proof_check::( diff --git a/substrate/core/client/src/light/fetcher.rs b/substrate/core/client/src/light/fetcher.rs index 95e02b91f9..b75b74a0a9 100644 --- a/substrate/core/client/src/light/fetcher.rs +++ b/substrate/core/client/src/light/fetcher.rs @@ -21,10 +21,10 @@ use futures::IntoFuture; use hash_db::Hasher; use heapsize::HeapSizeOf; -use primitives::ChangesTrieConfiguration; +use primitives::{ChangesTrieConfiguration, convert_hash}; use runtime_primitives::traits::{As, Block as BlockT, Header as HeaderT, NumberFor}; -use state_machine::{CodeExecutor, ChangesTrieRootsStorage, read_proof_check, - key_changes_proof_check}; +use state_machine::{CodeExecutor, ChangesTrieRootsStorage, ChangesTrieAnchorBlockId, + read_proof_check, key_changes_proof_check}; use call_executor::CallResult; use cht; @@ -192,9 +192,8 @@ impl FetchChecker for LightDataChecker request: &RemoteReadRequest, remote_proof: Vec> ) -> ClientResult>> { - let mut root: H::Out = Default::default(); - root.as_mut().copy_from_slice(request.header.state_root().as_ref()); - read_proof_check::(root, remote_proof, &request.key).map_err(Into::into) + read_proof_check::(convert_hash(request.header.state_root()), remote_proof, &request.key) + .map_err(Into::into) } fn check_execution_proof( @@ -229,7 +228,10 @@ impl FetchChecker for LightDataChecker }, remote_proof, first_number, - request.last_block.0.as_(), + &ChangesTrieAnchorBlockId { + hash: convert_hash(&request.last_block.1), + number: request.last_block.0.as_(), + }, remote_max.as_(), &request.key) .map(|pairs| pairs.into_iter().map(|(b, x)| (As::sa(b), x)).collect()) @@ -248,15 +250,12 @@ impl<'a, H, Hash> ChangesTrieRootsStorage for RootsStorage<'a, Hash> H: Hasher, Hash: 'a + Send + Sync + Clone + AsRef<[u8]>, { - fn root(&self, block: u64) -> Result, String> { + fn root(&self, _anchor: &ChangesTrieAnchorBlockId, block: u64) -> Result, String> { + // we can't ask for roots from parallel forks here => ignore anchor Ok(block.checked_sub(self.first) .and_then(|index| self.roots.get(index as usize)) .cloned() - .map(|root| { - let mut hasher_root: H::Out = Default::default(); - hasher_root.as_mut().copy_from_slice(root.as_ref()); - hasher_root - })) + .map(|root| convert_hash(&root))) } } diff --git a/substrate/core/executor/src/wasm_executor.rs b/substrate/core/executor/src/wasm_executor.rs index 90d6db6001..7480b61950 100644 --- a/substrate/core/executor/src/wasm_executor.rs +++ b/substrate/core/executor/src/wasm_executor.rs @@ -29,7 +29,7 @@ use wasm_utils::UserError; use primitives::{blake2_256, twox_128, twox_256, ed25519}; use primitives::hexdisplay::HexDisplay; use primitives::sandbox as sandbox_primitives; -use primitives::Blake2Hasher; +use primitives::{H256, Blake2Hasher}; use trie::ordered_trie_root; use sandbox; @@ -412,8 +412,15 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, Ok(0) } }, - ext_storage_changes_root(block: u64, result: *mut u8) -> u32 => { - let r = this.ext.storage_changes_root(block); + ext_storage_changes_root(parent_hash_data: *const u8, parent_hash_len: u32, parent_number: u64, result: *mut u8) -> u32 => { + let mut parent_hash = H256::default(); + if parent_hash_len != parent_hash.as_ref().len() as u32 { + return Err(UserError("Invalid parent_hash_len in ext_storage_changes_root").into()); + } + let raw_parent_hash = this.memory.get(parent_hash_data, parent_hash_len as usize) + .map_err(|_| UserError("Invalid attempt to get parent_hash in ext_storage_changes_root"))?; + parent_hash.as_mut().copy_from_slice(&raw_parent_hash[..]); + let r = this.ext.storage_changes_root(parent_hash, parent_number); if let Some(ref r) = r { this.memory.set(result, &r[..]).map_err(|_| UserError("Invalid attempt to set memory in ext_storage_changes_root"))?; } diff --git a/substrate/core/primitives/src/hash.rs b/substrate/core/primitives/src/hash.rs index 5733a738c9..8d04df2684 100644 --- a/substrate/core/primitives/src/hash.rs +++ b/substrate/core/primitives/src/hash.rs @@ -76,6 +76,16 @@ impl_rest!(H160, 20); impl_rest!(H256, 32); impl_rest!(H512, 64); +/// Hash conversion. Used to convert between unbound associated hash types in traits, +/// implemented by the same hash type. +/// Panics if used to convert between different hash types. +pub fn convert_hash, H2: AsRef<[u8]>>(src: &H2) -> H1 { + let mut dest = H1::default(); + assert_eq!(dest.as_mut().len(), src.as_ref().len()); + dest.as_mut().copy_from_slice(src.as_ref()); + dest +} + #[cfg(test)] mod tests { use super::*; diff --git a/substrate/core/primitives/src/lib.rs b/substrate/core/primitives/src/lib.rs index c5ddcb130d..20f044a872 100644 --- a/substrate/core/primitives/src/lib.rs +++ b/substrate/core/primitives/src/lib.rs @@ -107,7 +107,7 @@ mod changes_trie; #[cfg(test)] mod tests; -pub use self::hash::{H160, H256, H512}; +pub use self::hash::{H160, H256, H512, convert_hash}; pub use self::uint::U256; pub use authority_id::AuthorityId; pub use changes_trie::ChangesTrieConfiguration; diff --git a/substrate/core/sr-io/with_std.rs b/substrate/core/sr-io/with_std.rs index 72fa107469..a608a632fe 100644 --- a/substrate/core/sr-io/with_std.rs +++ b/substrate/core/sr-io/with_std.rs @@ -157,9 +157,9 @@ pub fn child_storage_root(storage_key: &[u8]) -> Option> { } /// "Commit" all existing operations and get the resultant storage change root. -pub fn storage_changes_root(block: u64) -> Option { +pub fn storage_changes_root(parent_hash: [u8; 32], parent_num: u64) -> Option { ext::with(|ext| - ext.storage_changes_root(block) + ext.storage_changes_root(parent_hash.into(), parent_num) ).unwrap_or(None) } diff --git a/substrate/core/sr-io/without_std.rs b/substrate/core/sr-io/without_std.rs index 5b892ecffe..d0f112b76e 100644 --- a/substrate/core/sr-io/without_std.rs +++ b/substrate/core/sr-io/without_std.rs @@ -72,7 +72,7 @@ extern "C" { fn ext_get_child_storage_into(storage_key_data: *const u8, storage_key_len: u32, key_data: *const u8, key_len: u32, value_data: *mut u8, value_len: u32, value_offset: u32) -> u32; fn ext_storage_root(result: *mut u8); fn ext_child_storage_root(storage_key_data: *const u8, storage_key_len: u32, written_out: *mut u32) -> *mut u8; - fn ext_storage_changes_root(block: u64, result: *mut u8) -> u32; + fn ext_storage_changes_root(parent_hash_data: *const u8, parent_hash_len: u32, parent_num: u64, result: *mut u8) -> u32; fn ext_blake2_256_enumerated_trie_root(values_data: *const u8, lens_data: *const u32, lens_len: u32, result: *mut u8); fn ext_chain_id() -> u64; fn ext_blake2_256(data: *const u8, len: u32, out: *mut u8); @@ -269,10 +269,10 @@ pub fn child_storage_root(storage_key: &[u8]) -> Option> { } /// The current storage' changes root. -pub fn storage_changes_root(block: u64) -> Option<[u8; 32]> { +pub fn storage_changes_root(parent_hash: [u8; 32], parent_num: u64) -> Option<[u8; 32]> { let mut result: [u8; 32] = Default::default(); let is_set = unsafe { - ext_storage_changes_root(block, result.as_mut_ptr()) + ext_storage_changes_root(parent_hash.as_ptr(), parent_hash.len() as u32, parent_num, result.as_mut_ptr()) }; if is_set != 0 { diff --git a/substrate/core/sr-primitives/src/traits.rs b/substrate/core/sr-primitives/src/traits.rs index 809c617218..28c7997a0f 100644 --- a/substrate/core/sr-primitives/src/traits.rs +++ b/substrate/core/sr-primitives/src/traits.rs @@ -276,7 +276,7 @@ pub trait Hash: 'static + MaybeSerializeDebug + Clone + Eq + PartialEq { // Stup fn storage_root() -> Self::Output; /// Acquire the global storage changes root. - fn storage_changes_root(block: u64) -> Option; + fn storage_changes_root(parent_hash: Self::Output, parent_number: u64) -> Option; } /// Blake2-256 Hash implementation. @@ -308,8 +308,8 @@ impl Hash for BlakeTwo256 { fn storage_root() -> Self::Output { runtime_io::storage_root().into() } - fn storage_changes_root(block: u64) -> Option { - runtime_io::storage_changes_root(block).map(Into::into) + fn storage_changes_root(parent_hash: Self::Output, parent_number: u64) -> Option { + runtime_io::storage_changes_root(parent_hash.into(), parent_number).map(Into::into) } } diff --git a/substrate/core/state-machine/src/changes_trie/build.rs b/substrate/core/state-machine/src/changes_trie/build.rs index 991b395938..c183f2b3cc 100644 --- a/substrate/core/state-machine/src/changes_trie/build.rs +++ b/substrate/core/state-machine/src/changes_trie/build.rs @@ -25,7 +25,7 @@ use overlayed_changes::OverlayedChanges; use trie_backend_essence::{TrieBackendStorage, TrieBackendEssence}; use changes_trie::build_iterator::digest_build_iterator; use changes_trie::input::{InputKey, InputPair, DigestIndex, ExtrinsicIndex}; -use changes_trie::{Configuration, Storage}; +use changes_trie::{AnchorBlockId, Configuration, Storage}; /// Prepare input pairs for building a changes trie of given block. /// @@ -37,7 +37,7 @@ pub fn prepare_input<'a, B, S, H>( backend: &B, storage: Option<&'a S>, changes: &OverlayedChanges, - block: u64, + parent: &'a AnchorBlockId, ) -> Result>, String> where B: Backend, @@ -54,10 +54,10 @@ pub fn prepare_input<'a, B, S, H>( let mut input = Vec::new(); input.extend(prepare_extrinsics_input( backend, - block, + parent.number + 1, changes)?); input.extend(prepare_digest_input::<_, H>( - block, + parent, config, storage)?); @@ -73,7 +73,6 @@ fn prepare_extrinsics_input( where B: Backend, H: Hasher, - { let mut extrinsic_map = BTreeMap::, BTreeSet>::new(); for (key, val) in changes.prospective.top.iter().chain(changes.committed.top.iter()) { @@ -103,19 +102,19 @@ fn prepare_extrinsics_input( /// Prepare DigestIndex input pairs. fn prepare_digest_input<'a, S, H>( - block: u64, + parent: &'a AnchorBlockId, config: &Configuration, storage: &'a S -) -> Result, String> +) -> Result + 'a, String> where S: Storage, &'a S: TrieBackendStorage, H: Hasher, - H::Out: HeapSizeOf, + H::Out: 'a + HeapSizeOf, { let mut digest_map = BTreeMap::, BTreeSet>::new(); - for digest_build_block in digest_build_iterator(config, block) { - let trie_root = storage.root(digest_build_block)?; + for digest_build_block in digest_build_iterator(config, parent.number + 1) { + let trie_root = storage.root(parent, digest_build_block)?; let trie_root = trie_root.ok_or_else(|| format!("No changes trie root for block {}", digest_build_block))?; let trie_storage = TrieBackendEssence::<_, H>::new(storage, trie_root); @@ -136,7 +135,7 @@ fn prepare_digest_input<'a, S, H>( Ok(digest_map.into_iter() .map(move |(key, set)| InputPair::DigestIndex(DigestIndex { - block, + block: parent.number + 1, key }, set.into_iter().collect()))) } @@ -228,7 +227,7 @@ mod test { #[test] fn build_changes_trie_nodes_on_non_digest_block() { let (backend, storage, changes) = prepare_for_build(); - let changes_trie_nodes = prepare_input(&backend, Some(&storage), &changes, 5).unwrap(); + let changes_trie_nodes = prepare_input(&backend, Some(&storage), &changes, &AnchorBlockId { hash: Default::default(), number: 4 }).unwrap(); assert_eq!(changes_trie_nodes, Some(vec![ InputPair::ExtrinsicIndex(ExtrinsicIndex { block: 5, key: vec![100] }, vec![0, 2, 3]), InputPair::ExtrinsicIndex(ExtrinsicIndex { block: 5, key: vec![101] }, vec![1]), @@ -239,7 +238,7 @@ mod test { #[test] fn build_changes_trie_nodes_on_digest_block_l1() { let (backend, storage, changes) = prepare_for_build(); - let changes_trie_nodes = prepare_input(&backend, Some(&storage), &changes, 4).unwrap(); + let changes_trie_nodes = prepare_input(&backend, Some(&storage), &changes, &AnchorBlockId { hash: Default::default(), number: 3 }).unwrap(); assert_eq!(changes_trie_nodes, Some(vec![ InputPair::ExtrinsicIndex(ExtrinsicIndex { block: 4, key: vec![100] }, vec![0, 2, 3]), InputPair::ExtrinsicIndex(ExtrinsicIndex { block: 4, key: vec![101] }, vec![1]), @@ -255,7 +254,7 @@ mod test { #[test] fn build_changes_trie_nodes_on_digest_block_l2() { let (backend, storage, changes) = prepare_for_build(); - let changes_trie_nodes = prepare_input(&backend, Some(&storage), &changes, 16).unwrap(); + let changes_trie_nodes = prepare_input(&backend, Some(&storage), &changes, &AnchorBlockId { hash: Default::default(), number: 15 }).unwrap(); assert_eq!(changes_trie_nodes, Some(vec![ InputPair::ExtrinsicIndex(ExtrinsicIndex { block: 16, key: vec![100] }, vec![0, 2, 3]), InputPair::ExtrinsicIndex(ExtrinsicIndex { block: 16, key: vec![101] }, vec![1]), @@ -279,7 +278,7 @@ mod test { extrinsics: Some(vec![1].into_iter().collect()) }); - let changes_trie_nodes = prepare_input(&backend, Some(&storage), &changes, 4).unwrap(); + let changes_trie_nodes = prepare_input(&backend, Some(&storage), &changes, &AnchorBlockId { hash: Default::default(), number: 3 }).unwrap(); assert_eq!(changes_trie_nodes, Some(vec![ InputPair::ExtrinsicIndex(ExtrinsicIndex { block: 4, key: vec![100] }, vec![0, 2, 3]), InputPair::ExtrinsicIndex(ExtrinsicIndex { block: 4, key: vec![101] }, vec![1]), diff --git a/substrate/core/state-machine/src/changes_trie/changes_iterator.rs b/substrate/core/state-machine/src/changes_trie/changes_iterator.rs index 8b4d2bd540..e8bd1e7db6 100644 --- a/substrate/core/state-machine/src/changes_trie/changes_iterator.rs +++ b/substrate/core/state-machine/src/changes_trie/changes_iterator.rs @@ -23,7 +23,7 @@ use codec::{Decode, Encode}; use hash_db::{HashDB, Hasher}; use heapsize::HeapSizeOf; use substrate_trie::{Recorder, MemoryDB}; -use changes_trie::{Configuration, RootsStorage, Storage}; +use changes_trie::{AnchorBlockId, Configuration, RootsStorage, Storage}; use changes_trie::input::{DigestIndex, ExtrinsicIndex, DigestIndexValue, ExtrinsicIndexValue}; use changes_trie::storage::{TrieBackendAdapter, InMemoryStorage}; use proving_backend::ProvingBackendEssence; @@ -35,7 +35,7 @@ pub fn key_changes, H: Hasher>( config: &Configuration, storage: &S, begin: u64, - end: u64, + end: &AnchorBlockId, max: u64, key: &[u8], ) -> Result, String> where H::Out: HeapSizeOf { @@ -46,7 +46,7 @@ pub fn key_changes, H: Hasher>( storage, begin, end, - surface: surface_iterator(config, max, begin, end)?, + surface: surface_iterator(config, max, begin, end.number)?, extrinsics: Default::default(), blocks: Default::default(), @@ -62,7 +62,7 @@ pub fn key_changes_proof, H: Hasher>( config: &Configuration, storage: &S, begin: u64, - end: u64, + end: &AnchorBlockId, max: u64, key: &[u8], ) -> Result>, String> where H::Out: HeapSizeOf { @@ -73,7 +73,7 @@ pub fn key_changes_proof, H: Hasher>( storage, begin, end, - surface: surface_iterator(config, max, begin, end)?, + surface: surface_iterator(config, max, begin, end.number)?, extrinsics: Default::default(), blocks: Default::default(), @@ -98,7 +98,7 @@ pub fn key_changes_proof_check, H: Hasher>( roots_storage: &S, proof: Vec>, begin: u64, - end: u64, + end: &AnchorBlockId, max: u64, key: &[u8] ) -> Result, String> where H::Out: HeapSizeOf { @@ -115,7 +115,7 @@ pub fn key_changes_proof_check, H: Hasher>( storage: &proof_db, begin, end, - surface: surface_iterator(config, max, begin, end)?, + surface: surface_iterator(config, max, begin, end.number)?, extrinsics: Default::default(), blocks: Default::default(), @@ -174,12 +174,12 @@ impl<'a> Iterator for SurfaceIterator<'a> { /// Drilldown iterator - receives 'digest points' from surface iterator and explores /// every point until extrinsic is found. -pub struct DrilldownIteratorEssence<'a, RS: 'a + RootsStorage, S: 'a + Storage, H: Hasher> { +pub struct DrilldownIteratorEssence<'a, RS: 'a + RootsStorage, S: 'a + Storage, H: Hasher> where H::Out: 'a { key: &'a [u8], roots_storage: &'a RS, storage: &'a S, begin: u64, - end: u64, + end: &'a AnchorBlockId, surface: SurfaceIterator<'a>, extrinsics: VecDeque<(u64, u32)>, @@ -213,14 +213,14 @@ impl<'a, RS: 'a + RootsStorage, S: Storage, H: Hasher> DrilldownIteratorEs // not having a changes trie root is an error because: // we never query roots for future blocks // AND trie roots for old blocks are known (both on full + light node) - let trie_root = self.roots_storage.root(block)? + let trie_root = self.roots_storage.root(&self.end, block)? .ok_or_else(|| format!("Changes trie root for block {} is not found", block))?; // only return extrinsics for blocks before self.max // most of blocks will be filtered out beore pushing to `self.blocks` // here we just throwing away changes at digest blocks we're processing debug_assert!(block >= self.begin, "We shall not touch digests earlier than a range' begin"); - if block <= self.end { + if block <= self.end.number { let extrinsics_key = ExtrinsicIndex { block, key: self.key.to_vec() }.encode(); let extrinsics = trie_reader(&self.storage, trie_root, &extrinsics_key); if let Some(extrinsics) = extrinsics? { @@ -239,7 +239,7 @@ impl<'a, RS: 'a + RootsStorage, S: Storage, H: Hasher> DrilldownIteratorEs // filter level0 blocks here because we tend to use digest blocks, // AND digest block changes could also include changes for out-of-range blocks let begin = self.begin; - let end = self.end; + let end = self.end.number; self.blocks.extend(blocks.into_iter() .rev() .filter(|b| level > 1 || (*b >= begin && *b <= end)) @@ -261,7 +261,7 @@ impl<'a, RS: 'a + RootsStorage, S: Storage, H: Hasher> DrilldownIteratorEs } /// Exploring drilldown operator. -struct DrilldownIterator<'a, RS: 'a + RootsStorage, S: 'a + Storage, H: Hasher> { +struct DrilldownIterator<'a, RS: 'a + RootsStorage, S: 'a + Storage, H: Hasher> where H::Out: 'a { essence: DrilldownIteratorEssence<'a, RS, S, H>, } @@ -278,7 +278,7 @@ impl<'a, RS: 'a + RootsStorage, S: Storage, H: Hasher> Iterator } /// Proving drilldown iterator. -struct ProvingDrilldownIterator<'a, RS: 'a + RootsStorage, S: 'a + Storage, H: Hasher> { +struct ProvingDrilldownIterator<'a, RS: 'a + RootsStorage, S: 'a + Storage, H: Hasher> where H::Out: 'a { essence: DrilldownIteratorEssence<'a, RS, S, H>, proof_recorder: RefCell>, } @@ -427,23 +427,23 @@ mod tests { fn drilldown_iterator_works() { let (config, storage) = prepare_for_drilldown(); let drilldown_result = key_changes::, Blake2Hasher>( - &config, &storage, 0, 16, 16, &[42]); + &config, &storage, 0, &AnchorBlockId { hash: Default::default(), number: 16 }, 16, &[42]); assert_eq!(drilldown_result, Ok(vec![(8, 2), (8, 1), (6, 3), (3, 0)])); let drilldown_result = key_changes::, Blake2Hasher>( - &config, &storage, 0, 2, 4, &[42]); + &config, &storage, 0, &AnchorBlockId { hash: Default::default(), number: 2 }, 4, &[42]); assert_eq!(drilldown_result, Ok(vec![])); let drilldown_result = key_changes::, Blake2Hasher>( - &config, &storage, 0, 3, 4, &[42]); + &config, &storage, 0, &AnchorBlockId { hash: Default::default(), number: 3 }, 4, &[42]); assert_eq!(drilldown_result, Ok(vec![(3, 0)])); let drilldown_result = key_changes::, Blake2Hasher>( - &config, &storage, 7, 8, 8, &[42]); + &config, &storage, 7, &AnchorBlockId { hash: Default::default(), number: 8 }, 8, &[42]); assert_eq!(drilldown_result, Ok(vec![(8, 2), (8, 1)])); let drilldown_result = key_changes::, Blake2Hasher>( - &config, &storage, 5, 7, 8, &[42]); + &config, &storage, 5, &AnchorBlockId { hash: Default::default(), number: 7 }, 8, &[42]); assert_eq!(drilldown_result, Ok(vec![(6, 3)])); } @@ -453,16 +453,16 @@ mod tests { storage.clear_storage(); assert!(key_changes::, Blake2Hasher>( - &config, &storage, 0, 100, 1000, &[42]).is_err()); + &config, &storage, 0, &AnchorBlockId { hash: Default::default(), number: 100 }, 1000, &[42]).is_err()); } #[test] fn drilldown_iterator_fails_when_range_is_invalid() { let (config, storage) = prepare_for_drilldown(); assert!(key_changes::, Blake2Hasher>( - &config, &storage, 0, 100, 50, &[42]).is_err()); + &config, &storage, 0, &AnchorBlockId { hash: Default::default(), number: 100 }, 50, &[42]).is_err()); assert!(key_changes::, Blake2Hasher>( - &config, &storage, 20, 10, 100, &[42]).is_err()); + &config, &storage, 20, &AnchorBlockId { hash: Default::default(), number: 10 }, 100, &[42]).is_err()); } @@ -474,7 +474,7 @@ mod tests { let (remote_config, remote_storage) = prepare_for_drilldown(); let remote_proof = key_changes_proof::, Blake2Hasher>( &remote_config, &remote_storage, - 0, 16, 16, &[42]).unwrap(); + 0, &AnchorBlockId { hash: Default::default(), number: 16 }, 16, &[42]).unwrap(); // happens on local light node: @@ -483,7 +483,7 @@ mod tests { local_storage.clear_storage(); let local_result = key_changes_proof_check::, Blake2Hasher>( &local_config, &local_storage, remote_proof, - 0, 16, 16, &[42]); + 0, &AnchorBlockId { hash: Default::default(), number: 16 }, 16, &[42]); // check that drilldown result is the same as if it was happening at the full node assert_eq!(local_result, Ok(vec![(8, 2), (8, 1), (6, 3), (3, 0)])); diff --git a/substrate/core/state-machine/src/changes_trie/mod.rs b/substrate/core/state-machine/src/changes_trie/mod.rs index fb16cb54d6..1d523854ee 100644 --- a/substrate/core/state-machine/src/changes_trie/mod.rs +++ b/substrate/core/state-machine/src/changes_trie/mod.rs @@ -58,10 +58,20 @@ use trie::{DBValue, trie_root}; /// Changes that are made outside of extrinsics are marked with this index; pub const NO_EXTRINSIC_INDEX: u32 = 0xffffffff; +/// Block identifier that could be used to determine fork of this block. +#[derive(Debug)] +pub struct AnchorBlockId { + /// Hash of this block. + pub hash: Hash, + /// Number of this block. + pub number: u64, +} + /// Changes trie storage. Provides access to trie roots and trie nodes. pub trait RootsStorage: Send + Sync { - /// Get changes trie root for given block. - fn root(&self, block: u64) -> Result, String>; + /// Get changes trie root for the block with given number which is an ancestor (or the block + /// itself) of the anchor_block (i.e. anchor_block.number >= block). + fn root(&self, anchor: &AnchorBlockId, block: u64) -> Result, String>; } /// Changes trie storage. Provides access to trie roots and trie nodes. @@ -79,13 +89,13 @@ pub fn compute_changes_trie_root<'a, B: Backend, S: Storage, H: Hasher>( backend: &B, storage: Option<&'a S>, changes: &OverlayedChanges, - block: u64, + parent: &'a AnchorBlockId, ) -> Option<(H::Out, Vec<(Vec, Vec)>)> where &'a S: TrieBackendStorage, H::Out: Ord + HeapSizeOf, { - let input_pairs = prepare_input::(backend, storage, changes, block) + let input_pairs = prepare_input::(backend, storage, changes, parent) .expect("storage is not allowed to fail within runtime")?; let transaction = input_pairs.into_iter() .map(Into::into) diff --git a/substrate/core/state-machine/src/changes_trie/prune.rs b/substrate/core/state-machine/src/changes_trie/prune.rs index 8168a0771d..70bae77b02 100644 --- a/substrate/core/state-machine/src/changes_trie/prune.rs +++ b/substrate/core/state-machine/src/changes_trie/prune.rs @@ -21,7 +21,7 @@ use heapsize::HeapSizeOf; use substrate_trie::Recorder; use proving_backend::ProvingBackendEssence; use trie_backend_essence::TrieBackendEssence; -use changes_trie::{Configuration, Storage}; +use changes_trie::{AnchorBlockId, Configuration, Storage}; use changes_trie::storage::TrieBackendAdapter; /// Prune obslete changes tries. Puning happens at the same block, where highest @@ -33,21 +33,21 @@ pub fn prune, H: Hasher, F: FnMut(H::Out)>( config: &Configuration, storage: &S, min_blocks_to_keep: u64, - current_block: u64, + current_block: &AnchorBlockId, mut remove_trie_node: F, ) where H::Out: HeapSizeOf, { // we only CAN prune at block where max-level-digest is created - let digest_interval = match config.digest_level_at_block(current_block) { + let digest_interval = match config.digest_level_at_block(current_block.number) { Some((digest_level, digest_interval, _)) if digest_level == config.digest_levels => digest_interval, _ => return, }; // select range for pruning - let (first, last) = match pruning_range(min_blocks_to_keep, current_block, digest_interval) { + let (first, last) = match pruning_range(min_blocks_to_keep, current_block.number, digest_interval) { Some((first, last)) => (first, last), None => return, }; @@ -55,7 +55,7 @@ pub fn prune, H: Hasher, F: FnMut(H::Out)>( // delete changes trie for every block in range // TODO: limit `max_digest_interval` so that this cycle won't involve huge ranges for block in first..last+1 { - let root = match storage.root(block) { + let root = match storage.root(current_block, block) { Ok(Some(root)) => root, Ok(None) => continue, Err(error) => { @@ -139,7 +139,7 @@ mod tests { H::Out: HeapSizeOf, { let mut pruned_trie_nodes = HashSet::new(); - prune(config, storage, min_blocks_to_keep, current_block, + prune(config, storage, min_blocks_to_keep, &AnchorBlockId { hash: Default::default(), number: current_block }, |node| { pruned_trie_nodes.insert(node); }); pruned_trie_nodes } diff --git a/substrate/core/state-machine/src/changes_trie/storage.rs b/substrate/core/state-machine/src/changes_trie/storage.rs index 1cdd03841e..088b605e9c 100644 --- a/substrate/core/state-machine/src/changes_trie/storage.rs +++ b/substrate/core/state-machine/src/changes_trie/storage.rs @@ -22,7 +22,7 @@ use trie::DBValue; use heapsize::HeapSizeOf; use trie::MemoryDB; use parking_lot::RwLock; -use changes_trie::{RootsStorage, Storage}; +use changes_trie::{AnchorBlockId, RootsStorage, Storage}; use trie_backend_essence::TrieBackendStorage; #[cfg(test)] @@ -110,7 +110,7 @@ impl InMemoryStorage where H::Out: HeapSizeOf { } impl RootsStorage for InMemoryStorage where H::Out: HeapSizeOf { - fn root(&self, block: u64) -> Result, String> { + fn root(&self, _anchor_block: &AnchorBlockId, block: u64) -> Result, String> { Ok(self.data.read().roots.get(&block).cloned()) } } diff --git a/substrate/core/state-machine/src/ext.rs b/substrate/core/state-machine/src/ext.rs index b03ed28250..1bcb3fb732 100644 --- a/substrate/core/state-machine/src/ext.rs +++ b/substrate/core/state-machine/src/ext.rs @@ -18,7 +18,7 @@ use std::{error, fmt, cmp::Ord}; use backend::{Backend, Consolidate}; -use changes_trie::{Storage as ChangesTrieStorage, compute_changes_trie_root}; +use changes_trie::{AnchorBlockId, Storage as ChangesTrieStorage, compute_changes_trie_root}; use {Externalities, OverlayedChanges}; use hash_db::Hasher; use primitives::storage::well_known_keys::is_child_storage_key; @@ -288,12 +288,12 @@ where Some(self.child_storage_root_transaction(storage_key).0) } - fn storage_changes_root(&mut self, block: u64) -> Option { + fn storage_changes_root(&mut self, parent: H::Out, parent_num: u64) -> Option { let root_and_tx = compute_changes_trie_root::<_, T, H>( self.backend, self.changes_trie_storage.clone(), self.overlay, - block, + &AnchorBlockId { hash: parent, number: parent_num }, ); let root_and_tx = root_and_tx.map(|(root, changes)| { let mut calculated_root = Default::default(); @@ -305,7 +305,7 @@ where } } - (block, mdb, root) + (parent_num + 1, mdb, root) }); let root = root_and_tx.as_ref().map(|(_, _, root)| root.clone()); self.changes_trie_transaction = root_and_tx; @@ -353,7 +353,7 @@ mod tests { let mut overlay = prepare_overlay_with_changes(); let backend = TestBackend::default(); let mut ext = TestExt::new(&mut overlay, &backend, None); - assert_eq!(ext.storage_changes_root(100), None); + assert_eq!(ext.storage_changes_root(Default::default(), 100), None); } #[test] @@ -363,7 +363,7 @@ mod tests { let storage = TestChangesTrieStorage::new(); let backend = TestBackend::default(); let mut ext = TestExt::new(&mut overlay, &backend, Some(&storage)); - assert_eq!(ext.storage_changes_root(100), None); + assert_eq!(ext.storage_changes_root(Default::default(), 100), None); } #[test] @@ -372,7 +372,7 @@ mod tests { let storage = TestChangesTrieStorage::new(); let backend = TestBackend::default(); let mut ext = TestExt::new(&mut overlay, &backend, Some(&storage)); - assert_eq!(ext.storage_changes_root(100), + assert_eq!(ext.storage_changes_root(Default::default(), 99), Some(hex!("5b829920b9c8d554a19ee2a1ba593c4f2ee6fc32822d083e04236d693e8358d5").into())); } @@ -383,7 +383,7 @@ mod tests { let storage = TestChangesTrieStorage::new(); let backend = TestBackend::default(); let mut ext = TestExt::new(&mut overlay, &backend, Some(&storage)); - assert_eq!(ext.storage_changes_root(100), + assert_eq!(ext.storage_changes_root(Default::default(), 99), Some(hex!("bcf494e41e29a15c9ae5caa053fe3cb8b446ee3e02a254efbdec7a19235b76e4").into())); } } diff --git a/substrate/core/state-machine/src/lib.rs b/substrate/core/state-machine/src/lib.rs index 7b0f3690d8..e88b3f370a 100644 --- a/substrate/core/state-machine/src/lib.rs +++ b/substrate/core/state-machine/src/lib.rs @@ -53,7 +53,9 @@ pub use trie::{TrieMut, TrieDBMut, DBValue, MemoryDB}; pub use testing::TestExternalities; pub use ext::Ext; pub use backend::Backend; -pub use changes_trie::{Storage as ChangesTrieStorage, +pub use changes_trie::{ + AnchorBlockId as ChangesTrieAnchorBlockId, + Storage as ChangesTrieStorage, RootsStorage as ChangesTrieRootsStorage, InMemoryStorage as InMemoryChangesTrieStorage, key_changes, key_changes_proof, key_changes_proof_check, @@ -154,8 +156,8 @@ pub trait Externalities { /// Returns None if key provided is not a storage key. This can due to not being started with CHILD_STORAGE_KEY_PREFIX, or the trie implementation regards the key as invalid. fn child_storage_root(&mut self, storage_key: &[u8]) -> Option>; - /// Get the change trie root of the current storage overlay at given block. - fn storage_changes_root(&mut self, block: u64) -> Option where H::Out: Ord; + /// Get the change trie root of the current storage overlay at a block wth given parent. + fn storage_changes_root(&mut self, parent: H::Out, parent_num: u64) -> Option where H::Out: Ord; } /// Code execution engine. diff --git a/substrate/core/state-machine/src/testing.rs b/substrate/core/state-machine/src/testing.rs index 75ad342b6b..876a190a96 100644 --- a/substrate/core/state-machine/src/testing.rs +++ b/substrate/core/state-machine/src/testing.rs @@ -22,7 +22,7 @@ use hash_db::Hasher; use heapsize::HeapSizeOf; use trie::trie_root; use backend::InMemory; -use changes_trie::{compute_changes_trie_root, InMemoryStorage as ChangesTrieInMemoryStorage}; +use changes_trie::{compute_changes_trie_root, InMemoryStorage as ChangesTrieInMemoryStorage, AnchorBlockId}; use primitives::storage::well_known_keys::CHANGES_TRIE_CONFIG; use super::{Externalities, OverlayedChanges}; @@ -136,12 +136,12 @@ impl Externalities for TestExternalities where H::Out: Ord + He None } - fn storage_changes_root(&mut self, block: u64) -> Option { + fn storage_changes_root(&mut self, parent: H::Out, parent_num: u64) -> Option { compute_changes_trie_root::<_, _, H>( &InMemory::default(), Some(&self.changes_trie_storage), &self.changes, - block, + &AnchorBlockId { hash: parent, number: parent_num }, ).map(|(root, _)| root.clone()) } } diff --git a/substrate/core/test-runtime/src/system.rs b/substrate/core/test-runtime/src/system.rs index a3041647d4..3703fb553e 100644 --- a/substrate/core/test-runtime/src/system.rs +++ b/substrate/core/test-runtime/src/system.rs @@ -93,7 +93,7 @@ pub fn execute_block(block: Block) { // check digest let mut digest = Digest::default(); - if let Some(storage_changes_root) = storage_changes_root(header.number) { + if let Some(storage_changes_root) = storage_changes_root(header.parent_hash.into(), header.number - 1) { digest.push(generic::DigestItem::ChangesTrieRoot::(storage_changes_root.into())); } assert!(digest == header.digest, "Header digest items must match that calculated."); @@ -160,7 +160,7 @@ pub fn finalise_block() -> Header { let number = ::take(); let parent_hash = ::take(); let storage_root = BlakeTwo256::storage_root(); - let storage_changes_root = BlakeTwo256::storage_changes_root(number); + let storage_changes_root = BlakeTwo256::storage_changes_root(parent_hash, number - 1); let mut digest = Digest::default(); if let Some(storage_changes_root) = storage_changes_root { diff --git a/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm b/substrate/core/test-runtime/wasm/target/wasm32-unknown-unknown/release/substrate_test_runtime.compact.wasm index bbac245c7b46250a9c9f4b73e8827bcfb1fc4616..c526eacd1f6de9e9567014c2f14dd520dcceb777 100644 GIT binary patch literal 222890 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 B@h|`Y delta 8133 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

j<<8q%516+NcdGJDi`+GctT@}Cc#7qe2p|rO zr7!-wows@P)|CKdv2uYB$zBIQGDyZjqw@`TK(`&Zi$%=Y4FZ6qH9;i84i; z(zT#@YllD#R4oz;x=Jl&6BUAX{(gS<;o0?;9XN_f6W#Vf3ABMI&10tzd)c%v%^7I0 zHN!K{yFAIv}4LgGFBU@z^1Uf$ff=YI3H^TO;ZYLKr9z{;4ACaJiE4gi4#F0rEFHo@F{ zd2)g3`86_Yx~~?rmK=^&S{ctRXsZ5+Y3>TJ81DtZ1@!k9wAQ>z{KME`8%+C@ZfQkj zD&NWJ_VExIYq=x<4)ZFKRf1rXg90b+?z`G4;pPl zn|sqn+m`;!+`%D%zw_`({^4W(vC+bHj6eTacxp<|s6)LQ`t;##gT}BiG(4c=!Qier zROQV_r}N~a*YO39)$qNKge%%^8!`rm+BWDTJoVU3EfX5nS`ESn7}z!epDyAD(SJ7T zC5F@Bss`U*0Z$W`7=9gf`5W-Rx(J^iAMlUGhLT3ML2_^?WB^Gse=cg~zo4-gzE1+b z8t@DJNMkPnKOb;AAPxt@(||6(7XUHzLVpnqQ-9&>M!CBb`VjGqGeM7%d!MAzeKw5l*I~z$N0Dj2;UHJVS*auaKq} zYFA2&lxQ#$h=x+BP%L63lSZ^p=i)Z6tq=RgAz_B;?Ybro(zSJXe1UW46Kr7DydA` zi0DQ#mI}nP(MY^-VwE)A6N<#bdOVa4CF7ZNRxiCKisQ!bUh{gaQTUYDra$OfnO~+o zhl55i8;wWxbS4^(#AkLE{$-6cxo~WaG^x#eaD=dWA{tMGpx|sUl#1)I7VijN6*D^C zB!}@(IHaeC!CGsL~nVhw);K@kS3P;mYMS-oA7BptVK`1RA z2^pz)CZ37SzU(dY%EGyI(&5HLDi{gqNj;iK>sYGjoJ(Ig=PtXzZOf!YR8J)Wm^Kp4 zhU1Y$TdeSJtEI*!2#`r7jej@U4-qh;A_Yj6of5#qI64STDxy?Zf&eJd+Og4CsBm zY0Ml724k@d=tZDkBb1I5K3px$niMk9nLq#>1!1bGP&nFEn7>-`7ozJWWo9ao4JY+v zD3;8o$!TKW^lBUb*^5d>`W`Ekr=-b#a)W3zkO{_u!ED%wB`$r^O}?n5aA`h0YQ*B< zKq#Ax!J8t6-ahfAx8udCjC7Jsi^js4WGWGdUB?ocL}1>82jKaIf4&{YoQQ-X*-SJL zfc->5p#_DdSt&L-q-QcAJqbLNoJvI&4)!!Hy|tiZVNriEq-$G(iEzY7#AE45ESrFR Wc9v~1w&2NKBbXkztILF22L2cNFF(2f diff --git a/substrate/node/executor/src/lib.rs b/substrate/node/executor/src/lib.rs index fe491c7cfd..704f2d342f 100644 --- a/substrate/node/executor/src/lib.rs +++ b/substrate/node/executor/src/lib.rs @@ -734,7 +734,7 @@ mod tests { let mut t = new_test_ext(true); Executor::new().call(&mut t, 8, COMPACT_CODE, "execute_block", &block1(true).0, true).0.unwrap(); - assert!(t.storage_changes_root(1).is_some()); + assert!(t.storage_changes_root(Default::default(), 0).is_some()); } #[test] @@ -742,6 +742,6 @@ mod tests { let mut t = new_test_ext(true); WasmExecutor::new().call(&mut t, 8, COMPACT_CODE, "execute_block", &block1(true).0).unwrap(); - assert!(t.storage_changes_root(1).is_some()); + assert!(t.storage_changes_root(Default::default(), 0).is_some()); } } diff --git a/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm b/substrate/node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm index aee72d47e77ac5d8faa87bf7d6c34129b68b6c47..aafdeedceb1d923b7286b845a5eb33e75a0b0ae7 100644 GIT binary patch delta 293625 zcmce92Ygh;7WdA~-I8p|h9r=lyPHA+0YXdY~LrVZmNhF{AtF-`rJOq*sI#!FOY z2|mM1@DEw|XGY9#Du85E<)AEruna@(svxz3qE`G;C=jJgYHQKg+v`M+oHBXnq>=dl zh^Vlg4{TZhLWT@}^Lf0Sj>@IQbNqzW~gBMgON9afGS z{Qn%>5f>Nd(Bd6hRG5Y1+Y%RNMM|85N23z@pQXg&u+l$at!u5Pz8ns2#s9fx<(fli zjs!Fx6_ps_(2}TO2Vtir<0mCH6-}lQK4Fw>v2avK|ETWdSc@YW-!?*!+5)-`hJPve zm!7Vtr)yR=fq6G*@!@Bd?6x>dEXJ87-o0Ail6RSN_&t+HkDoYZ@|cm6Ebp<%kyA#F zxM%Xnp|_14KjKcy0p_@C8v129$@;_nG!zWA_d;d@j)xm~-Orakr1Z z3*$cWcFRc?cQ0x}^CO2&M#iM!BPNd-KhE;G_kcB_s%_8EG-R3#%-K$AzJB9`H7GC3s71k>0}zJpq}T zIHcZcj8loua=69KDR6k0ZgHh}|BlTlN!7U#QH(5vaVoU9Qh5<#2^2F}w@8a_F}N!Y zNhyASbbRZ@9#qyXl0|SQ0N6hQSe#Dh5-Zb6P^-o0*c0`kd4o@OrA0eso&G%2J0^S# zP<=mqa#A%<(ycBQ;c%MxY7tg^8N!w39qt^)s<-TNW-^xM{VHNPN<17nMU`-vB{=oa zP9?Z1ks6ugZ5-7DrS6X^Vu0TseI0%suEqFWVXC)Ke-%H-ZQoWC-ynyeb)UIr+cTQ?MK<-JsAFXsqD`no? zx{UyGQ{5)`ol|!oe*4zTvZd&(OC#=({89hi{Kvb@LY zrQr9Eda0;9A;I&%6)H(ciO$l6t{M5o9t{KMbb4=!&p{QX@i}!;(ZWM!yENPwX7BcR zH!`c^bLwB63Fw4kH`9eNy4WMAF6Xya8S{!Q&iiRZ1co3jW)Y}R5i=Ro8#jO@AgNDG zUAbxiYvWy5#|3(LR;4IT&KH<$S?J1aewqTb{S9Rew})y43*u7Pg*<-{)En^uAYA&s*7Sg7#c+9#bxHQV*DTsQvB@ha zkdyzs_sM4UykB+6+H$N}A_?ek&F6S|n{k*m&~BDD zqU+53wvh5Ntr)*YS+Q}>;v(GL;P*`-QaRHwkqi({@=vE;kpR+r?d2Q-=`*yzzgs4rt*k|YOnA;7?H$`c$@&>jis0U1`SITJ{(k{<&49PJq};H9 z@rvKQZ{66RpF6xI>85MA<3D?LT8!o{!#i?NpV$ivc3BFz3teFaJPyHP%*=z*ZKVr$ zSzIH%cU-@9%MXKQ+fdy-!BXHE-2n~V z!{Rh{msVMfcP%ah--j-4**SKBKoxx^T+fbed3wSxM2lq;2O;wF#M?Q7f%n{D1A^YF z2m8h^eXR;8oz!&E$x_JAXnME-)UzI%L;ZhY8u-`SrQ`;-)Vrdj9WXjt63N&x@0X=b z@tZLH0jwa?l7#AG0@(J7Xr*PBM-lQX7tAIYWm*t&Wr*= ziq9I{6eSDwFe+JBm5fj&xw|zI7lUQ$D#mdb4-|X4(^OUMeQefAR5W3BHh$&ok@&qd z`(FG`o>L#cE9Z>DuQqoV1Lx0;C1gLF*Brmmj{tPbJ&%mChE+ZSdX+K^$`_B_3p@sw zy$9$9i~3m+d1%Sa`2BdvIQ({%pW@fOv<-d-FI^Bv+#-xJpe2k_UTn-~z~|D^3<6q~ zU3>N|%T`>LaZdA>3tv7Jtg;r7h2v_ppZ%rcnJ6ao&FG;=O4v#BA|wxX#va@9d&B z77OIiRcu(ASl*mn)K*0yS(aSOYqN_ARTST^c$aT#A9*k&WuLe4<~*-!b4=v%kkpTn z+P=+)o~kwV)|YC7{iN2^8@6*D%EZW- zb880uFY5W0ORqFwwEz$GP5kfeBvjVc&K9V~xg74g3TjSBM z)|Ptft9Acd<3=qFJ9gC8@XQ^xHF0Fe|Ioi%UrXhsm$p3g+VjweTXNp$$@$5@y!Y&E z&JX?NeQxK#*b7))6mSQ`oEPv21Rp%>jo(#F6U_8oGpu3f4r3;;C%ePF)A!|gTkdN~ zIb-*&W3fvyM-=cJvt%9u=!mTSgW^A%0X1{XoGzBpHzps$>)n52?1o?oQNXFh2hVP~ zxc^`r^xL~9$jBUW@)}_I)XBRDS=Z;73#zxIovuq7tmPLCC^qcN<`gXcstE;q&bFrD zudiED(Bj)d3dVkS4+8JvuL`^gKm3h^gdbIQ?{jS_{gLyHk+$vpN*i0c<;Dx08N1+J z@p}rpAn$I?V!iMDeg_ho{ZSvkH~-OqdOQ1%m5!)KHyNbbG}3GHHpzU!>PD~sUa31P zr9Ja~k-R}LXnL8Uv9+w)w^w7Mpz&psaCSGMPlm($fzTbnno)RtB>N2WsLYRHi+R;W z-&-;4l!o*Tb(tNZtVm**(d6GrtPwwZQ8rFy-BWhWQ^G_BDk;7lfhfLTmX9a1&TY=j zQz(&bOjvzBPibJL6mqWR(?9{U{E`3HBGmBF*&&W=xtVi2b zfh1F_EDc0Wtx^_r-m*`qvI>R(Choplr)$({c zYhzCIRv7qTj(1^{IShe0SvJ;L5g^Cw4AZ+@sk251_M5TabOvixVhPiZipS`xxIMJ^ z4mV2z$j5Fr1?BpB80L0)pNCzGV5f)OiJ(yi!}Kn1$Y5O&tju5!pg_G$wi&U#nX14K znXCt5t+UvsHc!t7U(-rKt(0?kL=2a!zSR{8W@WOvn3c2`9yBnJzBql{8x{i$Ws<q-5mB&q+4-0Lw z`7Dqr`OVkX+?b8XaE-J$Q?TMBv{uRXjabi!xqp+?lEr-Puw2}T&4Wm&)r1`1m@Nk) z;Z0CE@M@gTRv_4)&&ES#$hJ+{(AcG_umgpavf$L%!B#ArZ}{8yVN;f6jfk*x+O++p zr_1M-UC8v=3)w3yw(_3}?fYB))`|^IyRfLrQryI1AzMK+rjZ@LvSh3dtAkB8lvv&i z>4d0vi46fI>N9l0SJZ~RYK?F3MvT55Dhd`D9m?D^u8(AzKX1s0b87V+-G1)jLt9q~$zTr`Mya!9ITeT8nX95-UjI^3C zRWhb0OKGzK%Mm1;v@33|G-LZMDz?vzm2wq3>W^tEc6Nar)swB@^B2peH;N2d(UWHS%J;s&gS3OG5t^kU*;i?anqF6@=>_G2lD<%Xh;gtpbSxc5C z$M$FQ(Q4_9>}n4Qd7Q@I#Lmh?*E5*oviA+_>Hl8Dha$I-48AjvEv!5D35Ad|me2s_ zX$Z=f_{I-nFR`dR4BR0oN>cc)JYSPr*jmBzWQXbY-{k(G>`|8Id*@+$wbj^gz^_c^ zF7baH+Uox}8~B*N%%5`d8~;bC&;L<&K%Sjze?(rogWYJ&0|s0!90kRdCm$IFD&)zk zQS1mX_Ks#9`N=or2cwx0o~PTO$KmA3lj&pFcD74?I)=?fFrt{X;xkYARu!{Sn(NZW zv)26OCB8x9*$#e1pCtO!(RbTK))yV~ZMlbyWM~eZ(tWM(V`HoXR!-k-s>wqZb5-+y z-&fzS53xCdedU{4%DM?!?eHS{PnI^eHIWx*F!%`N&RHx;4w=acpg{{;=gQY-vOCP= z6lu&-6CFTOpUo<)s$QzI0o*Uqvi}^`IZ(ltIjj)h-_Bvv z14;AdV)j$by5+}nS$llP&ttEGoes}qSV+q;kEmJe%p+(aO}ZatbrH0B6bLSr;~!;v z_y@~m%lWKl%N-c!0^S{Ka#qNDVTee17Vv@i3M0)Xj5FU6L;}8`HB%5kYrZlcTJyVQ z^4s}rY0^oqvcA^BC)b;JwEf*;(@U$5`8NazCH6koQo=^ylgF)-nd4vD{mxq^sQ`)+7cX zx}{J!L=icd*Spf>LyK4zI{DNhc;la5CPzLV(n)T1lIA%Ve^by+-KvTFlbr?_O9&W@H%KAYWL_iU{9+Z`fnys3%yI&-Dab#P~;>_&E2PF=?GLg5DS-J9hNORp@vc`4-LE1FsqdR2S#Ewxl+*WG(G>Z2ZxY>o``3zL43UPy6f9pZ-XmT$VJV1s zOQiZ+^Ywg7Bn45QzL!wMX}^6SY{4|ZjgSw0 zB-$dQ@*@!!%sBh8s$kAh5gkl>=@XUK?^BV5G~a!ni9wWixEkbLB?lc78xZj0Vme#x zn|WOP&C%bPr^F$2<%Z9N51^5!1ue!FoEEnsICokMLD1)nxCz1fGXfKwFX{{NBh~uX zmtqZq)nAF(2%bGFJhIzaG2Hx~h9Ku_@rW6Cd>?)-T2Uc2l)2w3H1~arMo?kH@5P5? zx3TkLIUM(J=i6OO*K~OABlK`A|2CZ$iOAn~UckNX`{KN)Vr+$P-Or*)9VCBb)qH#< z^Rk;`Gqi9y#jSP!SCAMP=F!^M3c@nAtR?L=yPW0G`qv5(XlL-h=ElgEGqg6f zf}n{fYt0DM94^mf{zDHsW@!)AS{CE@J^M`V$kxV!Cvxj+kx)v$!dxw#VQ#;vfkvj( zj}5d-2)=Kq%>eA(c^aAaU*>5?Ypc=+bfz%C^=LwMN?#Lg6RNx;U&BKBN%=@qjU+v{ znKpo7I+)sABj3V>=GxEfDfwLstp|d_mf8T)(y4`7qKy{k6_@1mErG+6^4S7yqCYDY z3S71;)UFSLwo{##U zr6!Axphif7{Jxh~;2UH>$U;+Z9i!#T^5I&zZ{#&V7L+*JMJqxl6T50J5zf>5X|X8a z`@E~>4$Na$aV&9@=IeN^cH2K=2#^T*MGx)u+Qva*91`Whp4zXW$N}a1D1OIvT75q* znZ7O8X;0PO3W>RVypQ&Htu3hB;eEBAsKy)mX$^=<=-ps!%++-Bm;PEj&2-^6Xy4RY z4e>AaR_5QR?eQb)4vc&1P1=&s4g{$y2i~N)eAxrFl{D772Wd;t#?3ctfB$TKLF-^c|D{ShW_veFa`x%H)wwmf&PA0dm*^fE5~ipCKJq= zP1-2-jO?`;a|ITEo3+~!9N4T4N048k-4L;k)mZtyU#4mI3RWQRd{}#)t&{a;Xz#Ff zzSA?b{S1|Cnx!gvXO>12?H98&4=s8P?iLYlxoD==Ro*yTTMxj$W-GwtISR1l9L)px zfpfH#X@xqD8;7cPtkUX(0%ulXvOu)o8Z8OI*fp3Q3S`w9G`CKEwMN6bT}~txkB%wOx|$#q(H%DF3}p*qf`PRO_z&R?bP z5{J5JM{sKKaunwBIFJf}6{OOMD)&uN`%&|0!V>*{;)dF@ZX z=y>G87c^N@6!McK#TIDM6j{DSn~7GlUe;bf?ERN9^3`(CE7~v2E_-j)?n2^@ty&op zuk&f-4*%MxZL^tT3#Nj9<lq9A(z*fStBU z{S!`a^zCW-YRWa6r@PEVY6R24LAlR+X+gbB*HL>Zjliogf-8ZZ!H*VnYU_?Zu8dtv$HQ)=r+BMwEuMStv_wf(U`<-Q1}hR)4d*iK@g) z#I3?0Rp#0%BlfGg6`VZ*OdCx87MzY+l_2!ptpowz39`pKT23P+&W$XZDNlY$4)l^3 z9N*@7T;|#&*Sw=8rx0cu&S3hRg>Tcy3HBabH9+RRt2kGQ*bVP$qtQB8BQ-mm=tV~z zEjSSh^?|UJ3YlvGRpXa^_MR4tBJuBOdD$=H@V44q47$&QAHi*a`OD;}_q0Zrjb*xg z5=n51);`L)dMJHEhn0>HV=ME3Y;zzu7@^dhc0g;DlKL;>A&(r;TE^oXY2e&vP#dJm zl!IEc?*C455(`rpQlrh`4jF1icuQcsmmJj6O3DuSnLM~*68s46iUdA3FvjT+pMIxD zWLkKUp}Q;|4F^Zz#o)OX3mtpXfHsVQgyLWvV#X+A*ulTTeD%u??v~yPC@(c>HI=_rXgDh>`@X1silE_3 z+H{&MG4C`4^rtUrx$^f)tp%VPZ_}{zE8pIx%|+0EyS9Tr`@VF&ssP))s?CeL0t-!H zF>g7)m8RXMks?<9xttHi%r|fa*K4NQ?_IpWy1U9^M9b%w3!QD1?=BYu!XRuokw6>J z%7w06)_qrqczGsvB4wW0J21{deo~y0WYR z&yaUEfl9j!pe%>m<+b&AD%&HYvv|DJaqs2oPRfJzcvDu1oeQ2}Le`Z-5&_;ffyX4- zVRK;Tr2=*@j&nlKFbYbo#-C=h1O$%7o-fS5wR?ydu9xK-2|VAVYV$BV&3D$mkxUVc z#u|NT9Hl9iIEk~1HEe-?Wyu|hJlQ{jr3t(V7&jt`r}NDVWTPbP-CowkCz5zWw6pW7 zjND}28J!uI%(3n7r`mfdJX3D`!0wb^CiCPT|Bd|rb$o&VvS$h}Fk5RVUq}fV2Q)dD zosbPud3)p+b>yuG8!Yu=W#i^NnYEOMQ~69}-I&G;Au9{hFj^br#x#C!@;0?Zvfy|N zjO_~Hjsuaau&!{qw#)YEyan4XC#LgB2)<0`X@w_nWy8P`QsUS$`X+lEs)eQoC=|7O zhpbXRn3?5zRpP953hIDwrWJxkI`0OAKhb#_J1H;dye)fGws7+-B;M@ig}joPEcuP< zPA)NtgLV_;=WhNQfXY3*lQ_R=r!3C}vlS`!3>7O-BwhB+;N4OEvJ9S<0KBi@tlgzp zB1cFJezvOlLI&S#^Cv1fLz~gU1@rq%CT{@Zfw>i3m1kV8VW)<1s!&xLd*f3D9H&;>A56WKP0XN2}6RYLF!%-ncc)B?RZ)`8m- z9T3wiD1DB4oMiU+YW;CfF3*)l6JAdqY=)oBDLgE+opc%2fVU!mx;3rD*V4*kd*q@9 zylH6JEP1g3q@0>hrshe?do|?gIO2pp<;o`-@>qfom6T5!@(XN-Jd(#V!KlCG@#Y8` zHsXJ_2pNt4`BUE9m^Vgq^BUu1K3aOaF&}7q4a&`}$#IRLbGN-E*W{vWYZ^lp-qpnH zJD{4$=bE6TMSjwRrw`K%ms=Pv%>6c80>b?yRA3>+jsH7p@*<)AVdSZU*R`WKcLh$) zK*`c^7@VQd$bP_5Q4Y-KH<+rUuH2Ik;kEm|$mj1fGfjfu9OQb-^aJxNX3ZCLaqh zDw038=1EPt9)Yp6=rMgFxgf;jbT~KwK(?6cIBWyj%F&B)(~gWYw~%ex@FZYzLmTe7 z?hSNSkHK97PYjw-EucC9yGOSb@G1>!RjgaOMAC$cX$%u8>trkBFC$d} zmpHSk7@bp9iqL+_BikvPT*K>y2Wu7b-8Q^oZ?z(}7$VXfA?2=&T)#xd11Xuc7qMMq;6J%3C5))0xW+-B%-9Fl+NHO^IdQJ_4Doy%rPLjANqZiP$@sbUP^l;7{`OD;duhUJ zNb_}c9n778twPz2dr>wXPNLo&AkimeaR*ofC*_$E1MK4?KG;0k0wQQxQN$t z>wYuSz!fSil|1gyI9R|V!wlZGuMWdTnWIX002i&h{Yf_66UZcEs2n%GNZKG)#aN4Z zGV~~9d(=HJGZCdTWvk9SEy>ggh-Z<}3l35`0)?{Wkj^|M9Yh0Gh)3wzfi_eUibU#J z5n$b34wLB!PIFW{bZqoga; zZ@Q6w9fBx5K*;|_zfiJe>e0a0BRh2F2@XH06ot~90kRM^=5*$%&I~=m-?vP;xifc1 zW>8T@{YX7i9_!4DaC|AP3r~nY4uwWcjKf5wbgmQw=6XZ+?84ndkaJzQM>m3!rG$di zcntECSe}Xm?WU&fn|Ce>Hj!AMo%qGD!~X$|u_V--qyBGj;Xo#)sC#NL-pI z$+^rHeCZjcS#c%YiT}f~P%7^9uuNh>N3rWO`ExgPrhJ7=?aqJm&-IXW20XCS(*9cB zg>~A2?liKLGwP|a2rB`H@gw~4aOJuTCnj2?HpTLQvH}@k4CT9TYNp6NJ$Qf23Y1q+_$FAq(6E|+)Bh;NTX#a?K8FM2~k#FC?J0dIWMg?(~85~9s z1k~k|Hvw?aO$uIlc_fa%MU{B}7Jd-1 zwS!g6eya-Zyp?Z9V)hWe2SMsEo+!1UycfRv4OMmc%m6u5|BPV@yu)x+_$f26-G*Z+ zsQ5PiCW0{|IBg8>8Nqkb!B5>KJI>EbDm(iu5$t~kl$ra=HR@JF6xn>+X zHEuj#9vaV@z`p~QZ{LmKYJ4|`v&o0=CXBGK8<{3{*^>fTq{xRSVXe7UzCMZH>nB#l z0@T}YGJhKN{AV&aX{+pg4__0F8X^rhak7amaGL^P2Mc1?P{wH|~Kfg)JC(RXc05Vx#c#_{mIisH9E#mED zlEXlwCl!KT1PL+}Se3;lD^@Bruckt4S+$lsYT7-tmXED7gO)5MShA2W4s(iYrmy$Y z{Gi5W`O=={t0LHIa>pyYLBVTaX5H1tZPl~%#OpA-hT$qme4j{L1eOA2+jd!WECkH^ z8$sJJ%@qt@oKP^OC}7|}6**VwJ6Xvm@RZw4$GPiH56?uVTPO<$ zNRe67^tI4!>M5`BhWz#46%Dl)tUg9UQEZ#{g+L4`)jFuGLVg0;{UOh9UB8+ zs3kmD%Pae2HQ}=Hr9d`n!AXf(#KQi1}SZZS@7QI(k2Opr@yPrn?J z2J9(q{ws3+Zr;lF-B(pu+{@>;z@$Lu{{4bAScZdWjJW!0S$?Jf}c6;C^nt4~_$1bodb5 zu;1>3Yir&sm{-T`=k?$(nZ2L)jsIaE)D8BET&c!S^a%^rl`4$~w0aWH2n~X&9Q+Q>byQ37 zE~isp%irZo5j1~~FGjHMJ?L%R3^}OmjUk742ifl+AAeaA0Yn_;ui4BMFKM_0$^Z{=P4EKHj-|Qjz;|IK6 z)M4TQsu*^y>$r^j5R>*1`S6GQm9`gfEeWqmV99KpRG*b(m;;v`6fRyuHxR1uN%^9< zfbXMZRArp?$%!9XWWvX2_P8wi7;f)sdH=`!+H}GjO2|S!b7(-E z+O-lUcqv3Z5+YB1%;~7qpC4ly!a>KQSTG-vEsyd%fA=Z@ZlbTb-j|b)^7{bx-BF%u zP|em(q91HK3L744pJlg z81{aS%O1ygH9v$|?Kn?ua1PpAZ5Nks_kYX{d{p_f@a&A!IJ!-aKhFEKtwgRlLUjG+ z42_h@HRtFvvVi|WgJWJZI!fe)cB!TicW{0`&f7bysCryqHO_9A#tCeTRQujK0Z9NA z^;5hg8V{rZdIJ_VnjS`H#81KQYwoN6IrsoDV@|`~XfF4k=D9eO_sePC=PN{X*$PN1mf>(r;290O zYiN#O_zT*kAM8zWtpcsltU;e3--=i#xRyGnj>p5Fn) zd;P>8NV7u}p$Prc*5y@fUnS4{#B=IgSv7Q7+Rr?jG?p?W2K~(2)Bf7hpG`HU5|94O zTMLlRJLFwmw)lnL%MSaV{{^NDKe$T1eUUf4s#>fvBQEjGOnM=pEb?*_1fvt82hSdq z*I$AehQ4gL1Xin-F@NzXz{iLAAdl6|1#kQfmu>YEFA7@v#WV33TQ8qsf^2ao7j(^E z76|bz0*|I(W^3Ygw#nDUD$*D~bWx79iPrq=E?>Egu8rWLfkO;r$9&TrxUGVyFHH1d z$D}=6R3kVOE+)s2%;8NH^|H!bt=M&1j&X`?z?L~hhrs(OSp4F#6Uf~K60*;oqCNn^ zBSc2r7tEv4H8^qaETmSC3zY?laVnZ!4+gXbVTu8 z%NS8uL*2+&<4AD@YZN_uFWsB;P>v1Xh=g4M@iWU7i?x^1uE1KEh zkOmjae2+-9y-qIeRN2QP>dTX{LhT+Y6Rt^JVVBl8Ty1GBlj1}k8Dibz1Z~be7zd{= z%(`ddM5FXjXU`6JZphhFsp0;i=|h(1z8(iJayKzrR1FXq@@TCIc;*yhSxJ6+yp zGJ9V3tSioe;_d2*mzXYptS6fCmsU$pf+)a{4N4H>m`^tGh$N1aFg;<_z zRSe<2W%7?yVtY9(O;ix?)JYeQV)?Q<9enMO*}8aUM2LV@RQXkJNLt8ezzth<@ZZ4T z)iJJj~X9svwpwC;cqnSVEjzU4OWC3)@~*8f=t9!I`hrw! zlN@mkf=M~J+_hQ0lp}g02H!9xcF9!*7Uhb!5F6M)G|p5V*6jsgHa!Ckm&0>R=aQ9y zPzjadfJORT0~Fsbe`p}4@@>oIT@6KR_M%+hP$*w^OrH3(MnZqi6PdKOOKc>HXw=nC z^|(g3ob{!w*BBJ}QVwn`u0^n}F)nhQknc7YPa-z1iOSp3MCDy-qVh8G#gv+=*XD~3 zbxy)8Gd4h*#o*D1I6dBVQvRGTZmOdW1<+GxiCEVq==E?{cW_f&(K;!=YATu|NNy%N z$0(>)0ibvQO=u>z$3g?Cq4rZ=o$YPkT%?eSx}~|u1LMr4C>UT}bJT_tM$JKkt5WZ1 zA+nqs0_(*Mm2yc7(H*2d(L&wv`n`o9d#YYb%mZ6wrdDw?VWN-A@0y^mHP_CZA8wzR-!SEgWu8$H}I`2$)c! zwjoCF-KBULBbXQ~!Ml-ievycf96h5M$qRB6Ds3+h$P#F3e1BsG=nODuo7a-PeyKf6kH?%9iaoX z=u`MNqG*vP|LBED9%0?SG>{dF%TR|mLr%X= z=p_@d=@{rYPJvR>9;dmbs7Qf1gpwjC$*j~9X=Y<-feomd2+oWuDD|QfsxoUaTc;|i zeM)qh=gQ5#b_D7s0RreMBA_la9Y+MrZji7MpgJk05TKeT$N{}YftxU;>j@$Hs*D+? ziG^~YbjLm-DX|Pxz*yo?HH{832nS^@DLMb4w@7ULJQ~8C5$1s>-HImQ#c-1q`M))h zX*Ln48hqsJq|aTCopk4VcNjWuXl}cFsEPpIW+>o{+Z+E$Cgk~*n)>z z0Yw?vSLkj0>_fs#-2wa1fSE%?dD!vAX$(JAJ@g<(AWx3!E8Ha$%mtud8G=0jfS3o% z$w1*+S<0b@`}1vT=bD-kY6CXdohz7)5G}ca+Xz9E+syU?+?F58ZHUxx8zTS0ZTX?x z20C2HY5+iX%sWDI37a8qz1ltHt1%nqE;7@QAspUr-D} zxB5GRV=ewK9PbHqjtD@KH32F})bXcA1?!HMzx5Z5hrthk{~XsQd%|AmlsV1gB+q1#b{8<}IFelhX%Oor`@<(u6Fl<kmF1TKd_S8Bnsc9~dBkSEDo}$NDYJDoIq%4fvOE_(z<7__14mzhLFs^;V zEd_tf#kZgz$nAuOsZ$L)WP^_sWBsXkdKo<5YQniJgts5|7qdrz-t8v zA}}syS-21)u(bjzSZV3|&`lysqmpvnO(G`&Us=>)Jgw`0#aflhl4oxc^>I|ol?4jf zjl5zH-GZS@LIi2PX>CG=ORr5+Z;lXE5p#(wf3lgHDKF*tQTfLtDxWK`03 zw(-bbK+*NYAXJHQCIqbPM+LU>DllUQ<@hT*YeKz1P;|OISedc-Tn$teePz{YwqhA^OfXRuRZ8c+cqH6lz5Q;dqKZYxb|0?cT<`#YX<%i&Nj#-YHczb97X zD5W$qbE_}Ur3&ajV)Hn-!4wWqF*0h9s5i>0Yj~v(P8bKtIkbYElmJrca12V|Kr94Z zX#yJ{5P`oI4}2&k0G}Mrd(c5j0(8)qAC}I$(UKb{6m@K_x#WvCi-gWr<0RqMgsGqwI~a4Z zUd9dvj7q|$j9z_5H4t`OVTMj6m!R@ED>$T^PD0mE5s&?f?4e>=K`9osIIDzi`!^+s z2e2nW!(nbo;J72cOBr?~=;Apl!G6TALq)?B6CW4#8YSplCN0y{@U-=^_v2;1VIuIT z`8mQAJ;rnBSP)Geh6TwHxont7hogJjFg%lYWVQTen4tH2t{)CpRH}StI2JazIdL02 zduA^x)E)!1Va4vmfZN0)>2nqOgqOLca*jFzWPYI#m*X$qCK5RCtvf<23JdxdWyJ`Q z$l*+UXM|`|vvQ8ST_hya)&zAD%;KN?IL+1$TH_YoF4ReDwe9A;UDS`m{sksKvSJie zsag&k@PkE-6kh7r+L3CR9)5>VSKv$Uz=JssnK}x+?Ih=n5+885$5E)RoHSZwI7rvv zz|==_^=P;iw#pr&MRGEZOmL$bZV*oPCY_*AAK*n@{xn*6vjbBLcm@ZN|LK^ve0~gk zl~`ZoRAG5dU9X6!?%r7IDI@0&W{vXXS^r^*9{mC zH%GPHHC{Q*q9%wh>imsK{j$Rar9SK3a3tu20aSo-lDUq74(e#J1KI=ZOlj4!=OolJ zUCK$KLka=oAygCCO|xJK;Q2|)RpgwE$D$sV*Gz^-@wi+y86KnKa^GZ;l5h_6hVWl; zHsNTcyf|4ba8un5J&I89z^g#$B;h1ONCVH^gQuY2gt}L3iy-JQ6O(FLeJ?y))zWpJ z3Oe5>1`z|SxlbgpgR=5I_#xZKv-g2Qcm#NgXbW~2Iz{}=S}auz0P**aKS>#e-+Xq0 zHY;_d8C*~dImm)+gBc!wK=efQz7r3KK|(xRx^sQoX@WzX+m#ABuof|06hwV3cUttw z^{NnzjK0&w4%*6zdRXLB*`kNxcVegH#2LasT@*L`;=0EyqGHI zwwXbdb5=17<{qVT7S2>E=ee1pk=j_{bm-MAkBybHGezS%+p2b2Xv2XS^o29U$7Rke zxaX^7w^<_3afVTz>kHq5vvBYTuFa{l1#JeMnk|+h_P`u*Z+iI^G&@V;1EPILA!H_c zuBnf5=ZdM|$n|qY!-n+NO(KdtOgEoeH3$^F!e!fVn%nS0I+;>Z<)yjUn5p)SnJ4gy zf3HS9sGR-8M`tYEr?8ZR$IWK)NIXsh$5H*?h5>+ZdeI z3A^z4lQY3Z zbg9tg{MC3VaQc$a@qd1aXu!)i$&Z(awxPhuvXjKl+N+!7RB8GRYpOXWu{m-AXTA3D zy28Lyhq+5lH-7-66Q8qL?pZ2&+n$92#{%4hgrB?VGNBHA1R#^;l4W8XdBBkqCzEh9 zv=xpxfsN>hlP*Fwoi5*DtWnHC3dxDfMRVG2Tfbb;K``7eRbJW4E|$7$SpWVN;;3(J zwe}KAdPM}52IZ{gbggc2eJxM_s;zAH4Fflw#RBYG`hW&T4vy+$VWi$>aN?SR`Jax5 z7wDe%Qu*S4w1d7Ij%(i$M|C=>P1P_$RcEw9-z(p1cxdH2S^6WMdH@T<{o(L%x>P}R zm^IjprM~Zf)T*t%eNnb3jt4D2cG*t)rX|>xP$WJX5nqgLhLFkMSi6TU`Ju{U{DMV{ z9Q%#6GXP%v#!3$`eE*GgFf?IGx^1>R^sV(Jc1+Ir4gkk|`@XY2On&s9KUl|MGZOZa z%a{+*b{I>c?43s3Sg7GcKUnWWk?ucQ+aZ|sqjea9FMqV+U2I>YbJlfK!3XE9qnnXt zbgJ^V6MXtSIeI)V&O<1wEV|4R6U!J;P zjhAm&ZP`-)-FmI-1UIbk2x++@fiBwG<^8`~8zjK`r1f78Obx96u-t~BXkalc57=x8 zDY^&qOb*ZSI9*PUFs6|P6F3)-v`qQq@75G}ek1;{wkx@;JZ#on8c&_Hi;aMFtOltb z)MBSvVD;iXXDyd!y2HuHrTTE<+`Q{VfAK-t9d%F z3i6?4S`?>ZC%M;cXk0xu;!jexGK_qyI?`fVOw5grVYN_D)1v_CL35qK*aj6ztcX&o zQ5r0rEE(LRlWyIXP~uX}C@ooH;st95oMkcg;9!nLS&JIIr-yZsM9Me}xLudXWG)=v{P@+bKSVTP?fTfIPn19d)-V`!c;kU#% z2_t_jW^7J(!Bl|ulymjIjk^;JULF297xiHyC zaUpS+!Qx>LQEnAeyCbef7N=`5my<794M^hFOV+W>DKq}EHpJ8Deg3kZj|%1dLx0NN ze_LD2$mQ1dI2z#N%+O@)3#=Tt5`rG^5d1(27KXfQmnGJN!L>8^FKFy^3VvV&2|MWN6 zwA|W0{43n!RCDB6Ii=j%i6}bXYWoocd&p*+1cIHj*%~00Y`4)^&9&R;fZa~Jts@ed z!!{B$8|APKVK^o)_lDUHVG3UwZfp7fn|8Pi3ckZ_JE%Y+qwM9hh0BduwvPO{3-bFc zTOWSlg6xoOyN<=m`PsJH5uDGq;jbIW_4RF~wNN!bNYzd`wiW#63-Uyctu9gbw;bDG zQ1|*=+ucOny}7muPJ4oTk=d)EEhQZKBODet3=lc7p{*@{1C`N+)-u;{NlpDYo2^R&-MexY*!=O!*(yu1(Wz(@3aj7^*1E9Z-WtH~dhG=W#A17Mc$RS2EKDI? zj6bhOsLN{?+dCkC?qWNg@i@HLUO$@d0RYTgoR@8r_9yHuv#66WidE-9A~g<*L^Rjo z2(MY&@F(mzbL)HX3A>A9Wgr(w>PRW~rTCmAihaeM&ObN_#j!g$PO$ zU9hgNmfHK~n9Vx%I!4JPK%wP2Ca|07bwZ(sF0<3Z-@DA7q0R&0h`Oq`23H!dkm^5O zW>4ej-5<;B$WKX%ub_z&gOryNZEE|hk9TaNcSmgA-X&0 zl(mQ*_boqV6|ByM1S|cGT8{s#q7}F)`HeLn%Id*1H7VAtJD!jyzO@=9<_?>OHYq|Z z1fdLynEI4Gqvr3v^84?sE%2&|t-YM=hVr$@ zaN^+J`Rjspzl zoH3U}l9ho-F?2T^I9Ib8+scv4Kfsz~3X(ricAq-}pP(TyfM8)cpq!Qt>XqF1gEitB z4=D%e4B=nIL1Te2kVIGFFeK1tx|6WcXo@CO!b5vA1wE9}KU$MYOmy&qV-4LQHiTj% zk&g#SA8wL9+$4Q?DCw<4dT=xCP+n2WYEr>u2R{Z-oVlWJA-6!Ul|UV+#v_f&610lL zJm|nid`8hlYNz^pIe@qy91%n%(nKZFL?zNh1rsJMEl`X`0)%oB{xyYoEtqh9upbqt z!Q8miu2Ui0^d|zs_B2O}3~-Z(p(F%D6d^-b#J!AFifDBiz1|%oPoJ~8v6qW&k^(*j znmR`95kO-X;843^F?abe%N1|}0^8I8#kjF&p)3={LwG}^3eyIDz-=4_ZBEs^A4M8x zg^4FN6h|F6LVO@?M)-A+aI$dxO#o|Z39(_NpDDw0`SsB5V2{3T(tCauC2Jy-MFD2A zD6Q?ugC0&a4g;OC%Y0LnScQW$QZ!S* z>@+>rFc*w8dFp3tgH)QFus3F^Geu5J^WbGvZ!DHMzgWALK-=UBg)_bUq|hZBa$sPm37$4AUr`BMV%XI&2c4=%qN%J+>C;t3IBG$7fFuN{ z(c!Nt^oP%bGD@GO0th8+E!xYg{IHI&7n%t@^)xxE5hvG`?k zsbX==#h0--iju9wW%dQD$L{AD*$3V_wpfn501m<1!RC?ls=!Ae1(Z@bSd^KwusP#8 z_cUO6WWJP#n}<5!E^xvBLodLnQG~UPGZ|PrAaKCYCU=6{MgiR$z^)c_AI{R)QEy&x zeZPCiOr|qNNX`s6jm%WAZkTkPw#JnVMDfZna;so^WC;8RWz19^41rYr@>Dbxfz;qR zA`=!Z(O(G+9wIVR(Gr~`3!Wf?0i;@}41-XJCM6_eWHiy_uHk{9Vr&8CkedqyA^N&@ zClZyNWC0qwoeEn(4_fA{V?ru|lTcy)92*^C9B4jo0WpO|YcZC>Z)+ismWNDo=y>dG zf&1<>@=Ht`%%c8Eao{ML#h8l%PCq3q>Yh#Doe%6vg5v{^pTOcojGkN}mlUKK$9%)+ z6N6X7H5>yA!%D}y)uh4A|BMSZOnW8K5y=o+H?nEJbh?4lX{jG0_@){J6mB-XQhZ${_(YbvFZ@4zy&kliPYgXSk*Br@J- zB`UcNzCSjTW1+o-K^t^xpcqjR>K|SV{NYR@MYI}6vJ&Y^B0S}A@^d%}@Ln=mIMKQ? zSh?{Hna+)XIsKVa>`ONR)@|8Ym}WFeXJML_;~QsWa)EH6$!&pE*PMJ|N@N zZh-v*0v=2Q9s%+8r$NyNguzd?fJnff1BQhBnQ{;i1BhNgANaed#4ex>f@z?EnHE$6 z>X~LUEvN!Wiv4gw1%Scu3kghRy@Yl!AoWHS{hdsFW31_~p{q?#(@=HH{DR2?{ihr>NOp`xZx63}uuzM;M7 z^DKCjn^H;9O5{KSwV!&ENF;uf1zOi%pB+l z^3|AP;>TQx*4ePOtQs2?BlHqST5-FHxrhFkI%W zKs~}~0Su{9^h!A)9?em?xc+L9<0NvyTB4c+WpTdpcf zEw$5y(N>94MYVR-D%C|*tF8WiieFLx@44^Y%*&YmmjC#~dH3FPw{y-t_uL)Uj}fO7 zI>Ye6L{)Ij9%UGmiHg1h))j%PF#8Rv#8)(_f-F*$@Ma3uGVmz~ZBp09psI+B#CNcR zc3ubq#EVOv1c4|BJf!o)2*OviWR-{o&eKK>LDu-9Dy708FZ5s`!tfPaDhNX6HiGaK zCxfVTQG&COS1}^Pc^KOCh7EHx#uUm}3f5$cRe0L^fXAn5y} z(Zgd#i+XrMLsK=)AvBYf&^oAgh+E!}7wWE@1pA95(CLmbGYoTAHNVP~++HVgB&9W# zgdc^Wtz=+f5OtJpatOQG7_4C2(%U04QMaeC4(C`vD1NcJcuR@VuNUgHSA-smGPyS9e~%e{(+fY z12si!H~35rSVwqBLR8lQeM|E>B~~KYMn1m%2i8l=81@hG9;R_=ZewQ1t7y@9VAY_{hp~kI23kg(eDP3ofxQ#zPQ=7( z0b^!yzaPOSsg~0;^Av0`=hzBxV>vl7O-o zSIrQM@oIMDP}HUgB;yo`NMIpZyp){9Or}WSHBJiE_y&I z8+Kudh5!Fm&6uF^AIp$xmV#lZW>xk-#vF&3LV*Mra~!^gO>-R548X=(*?L+82?skCmUCTq-f{YTZzLPH@!=5y({RpSGE6VhfC zE?A{BDI&~LfJQ}jDkT-xv`OJ~heJy=vfoxQ7cJ&9!^ua^r^2kdO>>B^3%yhn$SDolgn3>n0Afn{A)rJ`Q4!LI zvb%ti4>$UEFw-1wpeHLb^?hzHV*{syn%YL1zCxlNmCVd z0n)Lmg3ZW_Pdc6`!Q>IA9Frn;(rqw0wg3h}gWx~(jIM9^>QfH7rz8HfgSOB=dfM?k zw!43K+VQYb!Q1SNW1ym3;nC+=fpXOw^0}i>p;P-$o^!OMtul7nUWctR2hKT?l~?#b z&N93C z=N&Vn=0cm+v>&&lqcYA(i1lk+l2iLDM|3#tK*v49V)t%Iw*9|y#3o(E*=xvIJP3q) zf<(WVifuZS3OFs6ipz>E-2CSEjx>5OzV>B?oe2{=!=>`1JD z-UbnXhKW$p*TfL<2w>C|vcW&(-LK#ot8aPU6>P|R(aslNan#05CLdnGTd;8cb;XfR zF#SizA@D@G>X>i;bPs>=s-p?0b@VFU**eUBzUrWR5C;6@*a(;Uvtw{L<}S>mu0gc_ zaHZn;W)GkIGqObfzS{nLUk&BI|LjPv5NLCEy=#t&6@3AyBy*Q@ZLnwA;>vT^WxSP( z$3<*-rUNytO?s-NhBAkx7K}tb=NE^oqPR_SJMHfAl)6vz>06G55S({zIp{rv6FapC z{@X1_3o5U88PRjw(c5w>q_JBJdq0s-DBt7Vb{o8UDfN2?|N2k7Cb*ig$nV%P|L! zyPrDUbtKcJ+hx{L($Vk^A*sM~EFh-^4KSVi00Q z@|b&g{8f_wW)Uk#xMlhHdyXi2QD^==hqz*7_dS&GFaFm($4B-ZOZZ2BIj~i76My)= zqdvu+ec#bIcooTX*)CzL_$T+V_kGhQ?{D`VRqV<}Jgvkkx!g3GzTu!fPGR3E&hL36 zJ6oa6r7F)|!q3}T79Q%U8pK-ScGpLP*z-!|!>DDl?K*O97xu7c+LdD5jpC_>eNSI` z?>bnFy~bzQDjJKEBw|%?1+ZyJ>^jCESrLtq6_|e=J>oxkhQ=Cze`n^ie*9C7i8q|S z(%2wn4R5ZqPSw^RYE49pgI!1WZs32MgL5?$zAC-kv4(HdSpu%A7kKelaahg2)LFFS zd&T*k_g^}8pqDeNBIu7@7Fe}b8iOy-hOj6)AhJA!l~t54y<0+Ah(c$BoGb?S!-Vo{ zp=@_O82+NPMgd$n4ThYWW4Q_-9o4qQl@TJM#6e-lm398-!L*opEL#LSyk%ziz?)moEK4MTT7pkHEUs0tFWnxmHSor>8dQvaZ_>L@`lE;Hg;V9-y@Et72z-* zXmC`8-~b*{X*L$dg+VUYHU(--6a;6->D>|6v#1on}<&EKewP0dRe@q&qH zZa-FMHP8#WY9MReR8*@5OLJ--)@bG%Ius&I21hMTC9*bB6M zIkFZTYM*E4lWVcQ=qXRtVhN$N!B8|R*Dj7LYt!*22DDxh&s@y#nws+i6lq2=mCh3m z8Vkw%TydVGLTobgkKujmu#5;ohHRrs1zR@-r2aiWH) z>2H)WfRtz4cjTST0}IXNO=4tWJYs+|8RcV2zs4O{Cq)UO~$~Eo>Ir zZ|zw^_x_6dJKqtK#U5x(BHxc2AYY-B!GR9swzCG+2&V8P`e7U-;<(WP*!;t``t zxK$sN+|0K$W?VNelHK+b@0`vOEUJ&MOJ{xbd^BS`u#xX|G-3Uf4uq_Dnn7c1`-$pK zYAOnwd(pNkVzb*llz^cPGnWQp2}2J-WZi@`Q>eqEj?T4<9!e<6VwLI4;{K*gyj~`( zo^|&f<@mB@ESxuP#>&$zV4a#V(Xmf##yZCt%^QzbM0-wblFb{h+qi1sPjRkL_+M>U zWHmas3B49UdaX@ZggD2E_OS|7D{u6{`Mhd#R*{-~KEll{Y}QLI14cQnUA4bJ0Qu!<3)Fw7`S*sGugi-XzNtr}Y2 zuokRUgAGtwqA!njS9X0&`j$CgA+)fS3KiK6E_MowFi3}?x46CTLJO8ix7RsZvf&Pp zvkCvEC5yMuyjs#k%ZB4xSLYIx=Vyab3E=obeyJr(Ue%?<#s&7dBG~bb7EOAsUXr3A1W2AK8jM6>>n36GFCu|DzSF zseH(zTVv3*kk4+-s@7Ww%l?h{GIY-aKEcyk?lOoDE{{Z?6NZg;cI?N(hB~mi4D~?# z%hqgkxyhl_k9htPmYwr?*g}FxvxN3Z;w#%2rrNePC9T;(i()zaY8#eP!IS_c>{-S6 zG_{2#c7DAtY+6rS)=ini7q(?pQs*e{a&N>tsbu&>$!g$bB=H#AV?yZYkTag-qJlX^ z!7jFC@ycGVv}58NtRPU&b|6p}++@cpA!uehCJy;~+hMD77ye^A_7L_^H*e44%8Luj z89mKp_PvPI9{M+uA8OC4VF-1tJu9f(!|3MEVS`JStFiqnKyiU6E{Po90Y=uFd_xB| zASN=7M$V$KJE*bS!}2^845kd>?v7|@>z48+9a&1zOtYO~I+nV6*a0e4n7oM?YEu>N$2 z#poD+1lSur_63r*k(Ax>MDH;zg+~Yb&EI(qgg?Lleq&oxM z@xG8aj*4R9(QYaQ(rv?E>kgX%*#`Ask0~DS$R12naFfN@o@}_D4to#1M*17y^<;{k zg>*6A%JTmF5OdlU-Fv$?J8Lh0(C&OZ)N=>+5&F*Zw;e#ZNdhUsqY-fd-i9A(bQkL(6C`PyHE)U zluiX`q%d>KAVcU9h4_%?u_|tq50|U6IJzdG zw9+;V1wOAG3}`U$+d(WfSz-r!%En=IY_!BO&WA|?F&_rrV}i|;mQ0>8m}Q%y7s=ln z%y7AMDHQ;Q3>It{3=ucd%HVegv-~pWVaa)-hzros+xf&HY!uy7fyZ`*ST*6l4?#6C zj0+hms@ZZV`h%@}+)xOa#=jcMp2R&B{j%92r5XP%n^jc)$+a9YYHpr`Vd5sYTTrcw9hq2fu-~LccGK>+W8w`DzvIgboab*iR!#dDxr8r?M zHC=Pky0!S&$1Dwa&toh)T*?;IVpFh@rXzIfbD}sK&ggdO^x=3LGSivC9~sVKs<(7z zgbJQPu9_LGN6apiwT#VX?8i+qf}|&hvoWA$n-OfXGKd$CU@`3mk!+%7?ZXBcZ-db` zeF%1jP{r7OO??mDfM&PoW2jr>a2Gf&uv_qIkF&>%NaxZnKfz%d_JSrx^A!BR0LeEk z<~jG-hvr-E-IN+GX6#WwW6y$Wbw z9vl3hUI)n-#iD(a;6q2T+AS?*khiwVTe*Ef?lR`;jMJ|G{F71aGK{`A^Vtfr4tf+Y zy7TG%0@eu6iu|L1&8M5FO(VlwDB6DPXx0HUZzDzvA;$DhW$qo#20)T4jA4(*9mc9b z9BHAFsW`j=BMdfAb@VN@AGFyVc({}BjkQ1;6AR_8kHzf`4SB*?wzd&{Qg)p(u=(QIP|n3(`bOBL(#S^T5H0Df5R>Yu`bRL$- zBo}yviLAdl>mcqn7Xz(di&z*xHIcQ^jrj>&5A2=`v@Yh4M0m|$O_E#k}nKzBq z(e`hH8u@%1-!~0&e3rCh`O4=oQ{Cek*4Tb|KcDpsj*ibgz(0G2C8=j=Mn4)OtGW~; z`B^qNWh2yt(KX=cLkUwX^}}aX^cz_D!qq-I`0i&}?fQp}NSJP?y@n#lCtVOcG9`%; zZVVa4ib7>EATieqkbfe-*OB3sZy!lSu_yR2#2kTE4p%!<26UTREUwYOn$(cz*$-vF z4U5+C_I?2;9w5mhr^5)o$oX_u2jIYT)*$Jk9j7jB?H-36>%hJl2PAKqF)LI-&I(m@ zMumE|@wgedmE|HIID?G`I6Z@sT0B#vlsr@Pr9)>@v+*vP$yB*H4 z1kNsV*d7>Y&bjQH5UkJ`{mVvvYcAUjBjBBRtX`}!1^X3FI+N6%3&QCQ%M|P;?wAiL z+{K@s4|^6S#;W;3m0-GE7_vzqhi@QF6a43o>|&H2J%1Q-{v z-&=s87~XbSXbj5REo5|o`p$)D0K2&RMNBb%#T&lJQmPz6|Aij4f;a)|-wE((FJeaU zpM1lM!koGIBFhmEK>3VYKQrz;AN-QVa3G@;dh6qt*euYu=gVv%!1ph+Vg5E(-$kre z{C2uZ8)Gn06mhRM4w(r@iQ-tZh!vQtHj(_v49uU=v{EcO6WY!0!4|y-=L4|xQ@B{@ zfi;WSwEy>t-=;|_?K5sKejSAV=c;r97LC5lYD{t+KERu; zhVI4tAFDB=J)I9)%VPPJ)hrC>lxMAFwP>YSH*R&}d)BhfeEb^LCeoN(Jzxd_0sF^s zd&2QGY@U%ut-#S2{Y^~oh;?YEII6zx4OrJ@>E;E`(N7F>%k?rpx*kHhgx^@t`jvg- zmrUAH5bUv~*w+4%$sgIk`tZVy%*8+4z#{Na4*y~UOD((YmrUA30JJ3AdZ0yZWPN$+ zCZJ8-XrS?pK-*(M^8)ScMoc)C=k+$B&p}cTZ(_^%N1G8VXtNQk@@AG+_Oo9yX{&=s z{2*f0-NK^z`c2Hu`DRv^&)9+pXUquKD8e~QgyTkp{z?R&xy8t4+ZNzlvJ~Y@;QYP? ziYbyOY&CE?ZUxS-7MvdqoG89#D{PdC{8tk(d>at|vLN0BVxMgo(M0h%+l<8CBAj`@ z`bhM`ubKSDHnfvUyw7$6=gIACZp8L`WWH{v!_+u``wl_atX1D+FaCW{bFRF_Ix4Su zJHN%Q>1ba~-e>#ay!SpEWB+&2iubTy$`WtHURF-A|Dy1k#h7IWe59EDK<%^jJ~oKp z+I_5N`I+eU=)S2C4}IbF`ingHL*#SO`{{>lnxd59-3~ytmf=qyV4p#-5;S&~}^x76gZ6M6{Q}o&B?>@b8M_G>D{+q(5f5zICnZ4CRLKs3qICCri z>NE5!Uvd2yn*dOBj6Fw~>^OT5&f?=Nr@k2hgF}kof%JH2;tBKOIH-vwEAoHlwvZ|$ zTGRH|E#Bt@dkWD{pI|SexFb%o`AN}ky{3H`&a0CR>8b3FM`sM5C3fsC16)b$*^YZm za2wPqHWslKox-TAEZ0x7ZvcKejq7S~y-AldFuLmU$IoCeAHz?aVND{RyIqX^sBYRl z9PB}2BAIgBeHMn)QvTRkw$6TNFE9H!8(=Tq#q&OAjjQ15ZZ|GKaNzRF_z*e>8Uk*J zd-}p$<$3Yvtf^Agd*^c&tRQQ^hP>$)EYbC=;;!aSK<_;USA6*}4UDh9V3E4y1i$wM zd!Net-j|r>D%r>~`#k8PO!o#~V8azN{CKdH-_L?$-ult&%_b~RI z{Af3KmSAT*T}>C|j%+gqMXg9CO{Ag6u@gpUbGooj?2EyqO@MtVJmnH5IbY@-F0rgA zTnvQ4D*7|?VjwzRC~gH>eThAS+gEM8NrdXIK$F>SC7Lum=D4tZ%9Y0RBGlJFR%fKT z5t8YRRJ$t5Dy~MUZGxZs3yi?Ur5@fZO0DJi#Gx?$(+f(iAk0_rW6vrzdDj@V1LR^K z_5kp=VpMvrM|?+B!TB`vJHLub*N6yzd`I#NRn%O*EkR8S#ylbIufSb6KPRXisIO?0 zsE$!y;vMU%bY;iWb=6mmsCdCOMQtyWS)8K2U_SeX)8v@baA2aEGVr!ZReRd0d@uc; zH^J*lQ~Q%4HL?M2?ZFd54b&Vn+5+qyz^o3UHEXD@M%dR4)!uk>u3;mUo-%~X&F7`7 zI)AAVYPFny-AH{7{!^N&34BIlH3nX58>_UbMxxTDr^D%LcZ-+Kvzn+0=_|yBqy=gm z@e><$@jtTnIL1hO3TMLGhPmNg43k!%7-rRqCTcZ$Fxz9th$fczXrR)og)&2(J5d^x zxn5JXHp9Dc&W9xmirHRS!3(lbP+ZK}RK&Z}R3)=6wwYj=sL9-BYAqzNtC{*JLL!^1 z(*Tw%Z#)qP`RMQ`zZ2Oj=SsMSerI3Z-4A41^Z^=+o zT~yfiWU~+(6xVX^FBxht<$(mcd(@8+B`Qm;Q=6jnrzpo^jVi7*vBwLyc3{kh6-hF9 zWojk$o|C2KKal3a)@lq-Y^62`#tMG2Z5wtg@ZxrA4L-A#IyY2oa1>j(8INnN)<^EW zTB~^4m?Pd&fI4l|BD_?%xsAHMba`=hm1nn8mnmtB+pDu4$o7@?>Pv{8+yS&r~)tu%hMBUqEhM|M(^C~0RBQ34wjK?uGY zp13{w(@qcuQO+1%rZbXiz-x9!Qfa(XXO%7+Jpq@v$QR<6qU^zSlM8UN22**HES%sK zx&S$iztTl*&EH?{2k_yWyt>cuIkhn!Gl8>jbS<$`#y}LyT#be zNTn**P0a`X)NX1G;IHondZqCm-4Poqr@Q(PKyi1qI>N4WS7*aDwg+5kd}$AL5%f@M zPjv*f+@%kx(*fdp!HFS>0dDqE9|P*Z-fA)`KBu>k>+QYOcJRDycvkNtJUjLw1>*go zk6K8nJ=_=VB8{)?3)-INNBg3AfVO?rhk@hihYA8N?yn{@`%545_bci#m6p9v#(k^#Hb2 ztQ`Thg*lcH>Ocy_irH%TUVa>nZ6_}~Qq8SavhYH)PNf#!uG>8`uc986_^8op9N#rk zb((3U@{Gw$<#$J_L$GaXV4j*n0b(-d^*ps-_!S(kvaD4gA*`{M9i_H23s`|~8x5v4 z;a|X`RviEnE4TtnI^eD8LiI1z_QmEl=TRoItKjzh;M*Pmka#- zt1)UNF}+xcZyBTFCfc!TFec|}jYT)Vi~n=1no-7Aeatkj<(cEuI_~Qb*hco_G#|5| zSWK$ZCrzpo!~kW^IJHvfN(6~X_1k;-_HpW;*gCmsy!yF9Gjq>9fnIng-}ZzmZX^$# zq^8iMT$4YHQ!b-lLNd@%5{G%4F4Jj_RXGThMjp3QY_go2(`U8xsSz&?~%aT{Y61x=Zcp z;A1{eo4TPTNNJ&Yy2OrXM7l4O7xtzj09QDFpjL{eQ?(`GcPU(P+gx-+*TwT^Y7M~J z)iX7*>E-L0T2?GBI#FpR=_j>+%Fnsftr~S>bd?Pml+^te2zFX79|AT4g>dN9zGbe3GMO z5}RKeErX)?L%CXql7^2As`6vGTC$H%j$x<=%3p6-X}lDkQHZMv&koaCnZY&r2RT|8 zvgz@d7F{}kuPpK~t-BqjczIS0?tmjkjs%h4MM)qS<7vEFs z+c)jt)9$KxK=z&*T7vM@J+)5~gf57d!!f7m#)D3{bDH+_SR8b!Pa$c$drxg>zdDtt z{e>|Kw*5c-mn!zI39XH^;`!CT)J}ARdZYVj$s72P`)UTP z|2TS&L*+?9gVAvaUm9;>r;S_b3p|_W@KRoWoYtO_dt{u}kS-Z_<7D9A5@cvCvEyvR zI4#jWXDL5EPLQtgcx@t<<+qR57E)7~pbY_7BY;*fdE)uPakUU(O674M|Jrwyfr!4dCC48LjNHpxCF1(*u9 zh0d`n4xD&3%(Ym)wYw6}n|alaNW5^T8qM7m?CJaqubRnU>kp|wY0mW59!F^A0Br(R z*u4WlWt8CC0iwbk9?=RTb(k4qp-s#=)7Tvfc{@M$2rj6_dS%X|xKZ>?{_3MzXC(0B zquOA83=`PIBlibd5J`t8Y5RGDeOhxA zfAl^S->6jt|6m`a2WhlFib{unsEM7QsUMaU*`S1X@rT-J8mNpsplwsnoWv|(4ELPY z68Xwgns{^@FUWp|d9v7p+8m&5KB%1}3QheObl14|W90bzN&f4{M&~NtY;18zBYUym zA#Fg%0QJT?0;W^{ZgISn!RW?;27&lJD*4wTYb&pLSj$)5^YX*m3Mzi1PqaMsJ{3QT zS1m^IQ#C!9;m{sz@AIE%_3Rwy4328_GOZUB$+s(Saqnk1V7rT7`3&-6FkQ$(pJUoy z6hHE~mS(?yl6N|;HHg7Y{f31gUZ-7R_iUl8=x#l1ESy#juhVWlu0;^JKRPaC@gY<3y zwH$hPfGG~0?t4Gw&@TYI$@CjZSn`1gCZ_!A-7?z!G);d-H3E(H2LUdJ7M7{& zV{6@=x*sM3CJ#HJdCY-MDREq*khejO+{Yy`oH6GG2@Q6ceip_b3FmX>-Tv^Ypb$oP;o*trNp&q@G%kwtx6s^~*uzjjA?|`j0%GkIv zIG6D@pN|0LZN4vB&$9oqfiJJDC-eF-dIUMXsjOEB|6{`g>A%DaV}QP3EAJewCr1W_ zdLB%9f%jI7J}pT79?OG`?B1*U)hB2QX~;+F3WxI5&Liq&JLLa|qw4YsV$OWUd9@AS z{izzu_a0GI@AXUSKlP}FVu_w^Adbd4U|e#DM+#whHuT=Ps(N)k{Zq9Z-~SJ_e;Q^* zl5IA+uPH?d!Ay-k#U?h#(ynz#c2bZFR}Ww&&WS};yJsJab;i5@6Z2pyANNnSwT4|P zxN|dz5BXi~%ENA`bCeLi^ae)S%)9G`dSBH9-+ovj*js7paSPwDrt%>7Q}){<@xIdU zZV>W>$?Z$0EwONm>w~dKX6y&PUdjDLzf5m$urtl%(MP8gUg;7i_MSYJI#+D<;NVkkM7b>X3$i*S#H5+{KpyE zEJv||C5HYF?^R(u^M0Vt%_r+M|w>-l<6Jr@yp)t~}A8?TC z8_xL+a>KYQA4L))-5PvKzE+9q;2ZNr@vrh>VWW&P7ysezoC0*UDE9I~ttS7r00~%- zXPY4nt7>@a!Wd;@bnx#+nU#3s(OL$W_{3<8ZcB~5MNlIiGe+}`2SvTV9ti_;${5WR za8SBp3^-y8N-G$HQk+)C*sVcO9f_)Q*hiEm`O|(%f3iHOA8$uH`v?L7=e|xAF<74{gL$$-Ij-UI+(yg7gBw$KtN$pEcdmlz zURRg-9+zt)FL+Ds`H-=NP@}scg56jq7gx!7j17cz#S>;`0tetKT^WEY$;3UvNPuGU z@V7A^aFMrqTdnWKBwea*oe=I|KXa1buM1I4w-W33+++43o_6@;EF&r^c9bBF!w@aZ;7nh|mgoL|N?|Mft5PqR{N~ z?-jIU{%|>MyK0!Fe15Q&9O;T|6Bgq6<0iNm;w&ghLLfg?Uh}HE4TI(PXqdq}d0dP( zG%=E1fOTVC-q_ekBd-w8SGPnGqpV4MZOuxjtaQ(7H+X0SEYTfHyeMaT@$}v3NUg6z zW0FrQYE98#)hMl&y6+^!C!9)&F@$$il=hTj|K^A!KRi!kPmy9qMVwJQ9*XqfpAB=cMh#=YO4;yYqA@q#F3)hlp; zpI8NDg#qcQVpz@jRYV5Mt7yN`TYdAY;%o)wv@jOwq5vf^v2cos;X`0asAubKjy9Gc zsqtD*%sl{ifE)cvLmm=`I$#Wu9tT?$-uZFJq7h#nhxw0pi#f8G%csR_g)%yh2cU(f zYN3LnHqX*Oc#Uc(9cuMKZ$X@Cy)YTKvYIhRCrb2JHLaKW%?&}(9=!xB4WtB3OyOTm zz_1>fbxG8YV2l`5UE2aVK3H9=74<1%#f9K3DVJaIme7uD9pY5RG#wK4WTZtz!o8jNmK2Sd6yy=Us+%q4RB zHd&iMa?rmn7zrARIrbHG#Srtox)?!!{3kU%F{BaNes(GrXhx)gO|JNX}_X4Z`9YG&iS1L zxQyF4;{+v(oe(Xtl%ar>xch}VjIa!6CN^;`HirLVg^G?S{M~j`pYdHX(Bd=GwCHvL z0$`YnNh!d3mlCfC7@v<49+n_NT0 zCf6Wra$Wi_zM&Dc2)0-@(%RbB{K@My*7B%vENzTo-%ftAvC$F9mU_ni$-j7H6KzGX z(Ia5H1Hae=b6ywu*(T_^F7jJVw3-0!rkE|h=;Om9`2d`1w{)V-S#jZM3U!wrUIY0cV?bV$hn`4ii*w z@ps#4O>`Z!d;*Sd-L2TiPO zNs?BfHNILjrf%L*G^xUl+RM=EtdsURYJH)TR#7Qqj*iXd!R=kNlF>0*erh}}yrQ8o z4%qo^Ff9>iKEI0=9fa{G-_k|P3asx3bVXOP3*DP1noGU=epjuPYmVshJawR&uqJ!% z4_>C5Rx$S1KS*KGk!cGFeV@khQhxY0PxV6%RAlPle|rZ~KfRcFtso4i$bk{Uj` zJG3$Sk=@<3MrBLiv0~@t8ftM+9@Tni9{}~69@;Lesyo(GJB}5zl@DnHF%fnDAuR$6 zixIt`fnd&d=_NJ3*!K5rFPP?=_VA3}TE+k0jQyb8H3n%^=buX?Z z`Suw#KIo<6`?&V3N;XU5XYm$XBwzfj8mpY$AEHbmKi#_Eh_=xARzJoX$pH~ktx--Vkug+0B@@HPhlIZmp)D}T!KHJBY)yVE0 zUT?Mf5MQ}e)kV}j)74ycJ>98;neC_51`TPKcCa%!)N|oDL{0P5hT0&XI@pSD_|%0+ z)(XuEiYp^d0N@g&;YaIw5E_oM6D64=48V+?gsJ zY}q_h9g0POva{5_xR_=5EcF$YA4U z>X2%*<%|YeU;ysQpsRXt41kvN=q`OcGmbj)o3CJbc_&X;idFxuy!TR2K=W>0igOD> zB;I;eO^Gp1BRFZZJXU7n#jRp=a-$~A(%pMiJ>$pDSe~$4Z37{Fe7V}tP|R)|Mx<#r znoQfaT9=y)5u?;u5m(=G2Je1 zHPd;yXVr@Q_9`_Db!_#TDvn2pp7Xue)F`NsQ?IFgFuts{QtjX?(v+3hIfC_*Rq7H! zg!8M^S|vmfm*VKYJ8=XN;$BxT_z__^>c4a~wufBgcUOZoIGDQzj}88KmoHwU4iBg0 zEL|S1{#;V&O$WSgJ&#HB(ZNGtbfkRwxVAsx9JaN5x6UB_#0OqgeT{hs+$cwzi zM(mf{>@D1gmjmIfvRTD+G1s@K??JBiZ&4=;nq+PT)=oZlD|CgR-2RQlgcOkKN66H_tT>H7kmk9%9K7X(u9^>1S$4a=R&?3MWCw~b|J zteD2}cJE;4N<%*D9d)dA!$u768Lu~%qq=XFW7KWNK8%-m1b05bLPe!&`q=6g!HhH} z=`pw$XFA*^a|~C{@&O;(V}h2U7d}x<54ZbG!`g4m;V}t%jQyRLdD8@aWmt(-?4s6o zB|%S>9l{=*>Oo;zCW?8k`H6VE3|8BFi8`(4er@=sR@Wm%kKduX-dRT6zD(AlCsknZ zYI}91G4H(G-h>y{(DevkJ!JWDCdJz-Nl#YrjQ!|ZdP`ndOHbsdYw4?$%iamK^}2T4 zW3)C|A6VfET|STf9SSBtHP3z9Xx9(k$hvx*qI}QOQ}m|FcLWkzhTd2lWVd;yPA#^D zZn~qSj2S<6Ty{!>hV`1HH_l0Kl%3vWXj*zsPELAugY0_s8w{&Aw8_v$ISq1ha~d^C zPxGEh(d|l^;RT~|Q^ro1G-O;s{)my@OR0JfrEH3yZ)Sac^aH-UI88r@?e-%T2?%Gfd4DS0D?W*3afO(`fGn=)j~h;hT~jv4DGLBv)s7_rFy zzw(vmj?>$F{$J%8n>QjmH)T{o4$8wvj7Uhn*0^Njy7UT+g9(e@Lt`()e%y}$SK3HnNhcj^>LdAUGxeW&%F}u${%ccR=U>j!n*>P68#h}|Rrt)6dTl;+rJlhLuGGH` z?o}{uNM47rW5@ITtMvY%ZO7#1W(~<3lAoRHZS%TbPs1aZ{~P@;Z_so2LmTyUK5ruy zzRqvd+g1o5s=V(eJ)a-jq+j8`73gVH{Jrt5M?980c3g*Xxue|q1>@YgqsI@)YcnA? ze_XE-qYyA;R3UFxs7GsN33=~AJ+V^j+))MDV}@i;%8?)01>^IxN91u{sMpqejmaG{ zcKn!0{KG;$n_nNPNAllB>W$+BN}qypBk~_>RZx&uFl<=&+%Y2xa=MQxC@dH|ByTLQ zm#5cuv>!5dICh8WEgVCE#TV!4^+F2;O74V$ak>2CJiTeG;Q_K0;%h=~R>8#Py_z$sQ~|e{nA+s)^#jNNhc1rsuFBWDDnTfRx5pfPJiYx;^7~)4 z^B;5d_WymUa_8y!A)t)p->G@}2`Aj1Y+~8C4mo_ye7#AzKDpUMzY^b;-V5{fW-O#j zLC*NR+*U*K^1M-t^bYo*Cx#bzhj9Ip!r$MhyS<)Q^z5LjCDGjAd|_^moA@-Qj^P@^ z<2D7Z`K6V;90}12zLBj%1_6Le zf|A-F0ue;AZ3iTZ^g(GT1L^JvcTN7yHhn0cAkUC zzv3u54u2wPJ^TswnC|*;yYVN(8~BAcggeR--U#1r{K-PfT3?5J5;a~26%qg?n>(Ql z;D8}$j^+kQ5pJ6?-SX~^0NMGI#78onf?GuKdG(j5u6G;j|gCN&`XEwRKkd~CLh2q&fmiu*mnWQVlU zh#M>8324tUTCeonHj*pFdSuahOGcFN=4hi)O#)1VI~A}4U{yeBEA*RhDYR==Y3Y(Q zH873;7Xx21JrnqlX!$EDVFLNcnw>;ukZtix9Pbmi(@2O~I{nTAC))V5S^cdP&45Ho z>Fmzfh=qMh+jfEe(ux2m0g}cZk``*uin0N$N6RYoDa9iCdpFP6wochjM{A* zX$T6d>az7i$t9i)mu!=G624Hyg#!ZU#{pXaO8nk%la6)+lI}J9E&Tr)weuiAvSA=H zZUT2}{1F>2z)fuV09Sbq0=$DiBJE1}Q%2I?4rKE8$9I|j60ah;ssEetl*?8PQ1G2M z-;F+7dij@OF!F8>)Wv8W)Rns944WVmko-SFnxvUB6O6J;|H|Mw`CqSA+Ngn-Z4z+F zz>&Y@c`p9#Zat#<#Q8qCLb~GjERe|vkiUZ?`M&*nWc8^5a2EiVEG7AqxHAIaF7w0v zxGgVt5$P@nfV&>J)LqM8|6G3J1K=(Ju2r@v{9WJ@jpffQ!_f7XbY<9K;1VHZU9BD6 zDTK*-Zx0anl3$t3e2RAY;ZCdWvc)2gp(bn%NY-c!U`@b*i7wkfz}JivKHY8*Y&b*_o_!Hv382*J(_8ouyNoqzb{UybCriI`_?Fa`?fgUd$=-1d(jxJf zKeIFA6%Od(<=;XenThge23Fs^$VVbs!;k$EGTD~+P5|69z?Frfw7=!oi}i|$y91zJ z1*%o@4b)hw<3=pwG1*DI8(=^HFiuxvx810)pzT*+Pw?$ECS;Kl-% zhEI|ZR#{I&SY=88zwZOY?c$fu@;v^{ZkQ6+0^mMu;s(mcn&%BmTq9@LgNRE64-^+l zs)THJjkt#JNaTD({<{iVBRdv9C>76`ab-cCf~|BJ3MLS%7Xz0@UGit*+7Ez#yA1wG zvx!hl{@I<2`Ks@YU~6nMI4L|psXjwaR`#BQySy+oV*+6Rgiulrk{(uKA4JzGn@>W3 zxWAh@1&S-XS*lDOBQEJPUq*Kj+1gC>B>v_BNJj%pMuh)s9ha>Z;0i!8w#Ne|0VV@d zSN271m#r7zY{0I7j{?>OYzs&e1POrgfOl#c@lFAf2Hgsn2sjGR1K0r&nzP7O4j<|8 zIFsbEH3wV*Nd0yK;5fh#Kq>Z7$v(5m-=d9K;!|FTCVo|bFI8~^giFd%U}u4EYGN6X zfC#z~*OucK!J45|t#yDeng668{>yMnJZV}t0zQd9{nk*pwI?_Y4~ZxZ$&Qu?{(ZwW zONP>z9QbeWZ&>in+gvnZFj59`0l+I=N%T6G1 zJjTi77!FS|C^rL=aY?^G8IpfCa3r~+%79}8UyvD5B@5wg0A;uwp1zLoPVlGUP!TEC zy+EXaQzrh1M{=BW!}QPf^G`}ML_FE_mtz|Lbfmw3I?^BM6p6MX6B^gh82LXANNoAd z%wRs;q%oEOlFh#vkS1E+2PDn&nd!a&D0E{Z!lFWg|r7Oq6}o)lFLGk!6@pGrN1}B5czrVBOXd6;P3wz@Mvvdb0;GM8NLjD zB$&fJM)*sBq6yhBn@IteG7YWdMnHSG<;(~^ZAaiIg^S#0J^Xjfkyg)q-KUGCU|j&N zBs<~CF+z9XN*oEV16Q(~aOEJbZvfmoz@>7^pDe@R0J!&oE9H>z%`zkn4}j}G|0|~3 zsBh0L41g^swPg+DPz*Gx1rF^87A)ZxR8%&xA zcTf2D0gMMM57-*;Yow3{xDzl5kORg7_5+mtY;UANl19IYt9|?;_jX-xbO9aWm>Aie*rxAgQ zV*G{!UnVRw4j$rbr`9Es7u))zP1>WE+n_V2{8JIw1@I|AIZ1L6fszt3p*P`|Y-V1B zZ%Nv-5IKoE2mUe*8IPi@g1>A=a(0LOhi*ZDEWJ!98-8+eC=1`Royh6>Aoyh<@-&e1 zVZd{M)bQzd0F{u`Be$G1th3g~4#~db7OGfr8w9{T4_wJ=!Zjxti<q9SPBFp;UI#!hx5~x}s3L&POl`JLKmcjdXO`e*CT2bAHH^ zfGkDi62c@EDB;_FxKn{E`x^grZEut=)bmB66qF2BRs9muEyz+?_33DI<!ft$=N z87}>$<$D+DyAl2cU^T$GfSmzl-&B-?1ZV}I4gN^3WPt2s+M52d)AGlc{{Hyyq7x&# zPx@1rP3`14_}2t9JGr6~1d;(lNCyIyP)6);`rEpi)Bk|hPHuY_!!4H&E+L#|pZ@}E zK^%Peh=UV5?atk*6YDT2T~Pt~Oe6$)A4nfJ?1S##+C{3COX?mkdPJAf;PafDmag>Uo; zsVv0%|3kVT0oO{Xe^-W6er5Qgn^+@B3RK>2{cwMTyE1k6b^WpJ-Hr7!s#QOH%RY^C;^9tUs(1A?V~rr;;xu1$#!y}S8AGQ5FMD_@73Zi=}b-v%=v$Xk4IDU5!{ z5H4kn+>+c*3$7&hdEi<}C@rz@0Jzsj22R&;&{qbT?p35~CC2UUJnp6*X^+{$hx~%6 z+a9Gm2{X7TAwae+;L?axCVktIv>Rb{sE+v6vBWieFpe|x2^7~lk=?+E%NG~xWr`4o zq*cZl0JkK!Tu-6&oBQRL{*W=^jRJHd{8mq6W5gannynfQ*aff}U{}E3kuHrF4**if z_bOl#V9{iJ#NmT}*4+XPw)*TC3d@087Lwfb8;{IoQ_J%Ux8loq*4+iq8R-`pDdGQj zEE!4zY6>zSZqV<5C7j$hEE!5oI2-tKiRP{)obbc9`6?hyo71^PKJEBjt}nAd7TX3` zeWc^*XWhoY;V(y2Z=wLw9(fPnv~7rfR*O-xRYAPIRR4bXs4LJ)Cu}Xy4@gWlog4Tj zReBOI+>93}<7EgZt552Yts!uw-S7x- zCA%oxAGf(B-8|q*Suk;Z{3nkrAWQNEKqi!uU#I^8x6~GgQUyl-))Gt2Ck>AFlMJ#; zH6TeZ-4aTkN;~5b6pjY7&G1JxmiC0dzu?c$5Bscks-9Gf?ces1OOow2aHX(Wak~e= z4e1*=-M#^ED+1TrVaPHJ4uBi~H@L$C;3oUwruP-9xu`GzZad(TSjoDk!!6aiRew$l z5VxzDkBnpCH06U_*g8&l&BLO=A-g?yNEWQDx(Z`kn=G@UE@lgjp~neYC-2pbWK_Ie@JI-Ghzc&~Z?L%wjnlS^zh7Z_?j7 zCzOpi($YN#idwajzQe~2L>Ir2z!xG-eC*^5wUUrPkZYU|d@R}q=|Px=MwERG|* zp%H9rKF*i6HQoW>P){UupmkV&2m!Jt(tiT{i1$*%l);<=jc}&oPZqE>{G_1Y^{Y_$ z&e9a<3S8<$@GG+UFO|gjAzL@wB_K@ppA@^b1y_#G4k2-BD5n9br`ZA+4Y(MvBA~=G zAnGsmt%TV?BvVW3P5;`~$uZm6oBG>S{HaKk^bk!PRKYhTO14z8`ArjE8Tck)qOlqMI_B_x zr}RGdS=szeg3Gdb@M*v;*?b7W-P!zIf=9A>xif%YX7dpQzsu(P2>z7KE1d;YbNFb2 zRdV=Yg2_2N?sLG596kxKXc|?($kH~;@=abZS=`IaZz(Ek;g%vM2_+lM4ur|>T@p^V zjs2D|5VA-hN^v-0W?KL@mXq->=B0 z>fbKeI$?}b31v>!;dK>+$GzO2;+wFE#jhWN&F@RXT!^h;=YA4){`f{WFjiS&9NkL0w}_ zpYpe6AQM`F2(oA2ZH?fEFPp}8;LE|szr&Y>kYfl@f2*x81E?lezWeq-Tf#0<*2GoG1{;!5oOr9xHKt)hWU&zAeX{@#DXg~@5*@{e>e*1WFq}G zfHeWj1CruwGpxw)D27LSc*s*cuEz}9<9+ahX1=6*58Tx8$&RoPc(igFk3ZtI>@xiQ zQ=x#!bhz|*>6x~|E~bafxEOAlij|1c_9!&*zA(FMfrUI+_(JFmCEf}0Nm5Stw5QZzbhk+jlMU43m%A{ ztlQrx!s>x$YwjXl>a*ofmce=OL7M4#rEz85!UN!j1J}xnxIBL18rB43fa_o0*1(k= z1(n0BTTz_=>2?7wsasiB>(C;{l1_sFaYrHCs*0^~ryxu=!{$aAjbVu-%xoYKp#o)m z1w@n;ux2dda>SKwpZv_7pZ3lN`RHqy5<{@;04>4Qdj+V&F5t=@m~bTztU6N`@t|2` z!lU2GJpSgd;K3u7bd3<3?N8v!`jcPCC^0ll%CX?ebSsVWb$NuF0C%kDJo7Br6taG_ zv6*lfU>4lf09yf`Ei@*?rUTO0rxGBIiN*p_OZ&ONn1uNVusYnc0ci=M1|YHJ89*ZV z5BWy=>i{!pAXyI|gAlL)kOpCu0BPFi9*RiIWjg>#uT24@1X}@;zM|hhQ8+2G35R@Q zN@2YY(QeENMPq!eFb61BU3~y~qT&;Re3sg3}UC_z7?q z$?i?UR78;C&>RTTpCUYGam#|X1itJRm-%Jzjs;&6C4M3YcoPQe9MwrYfu^flAm$_OHr%^kQJzh z3idl?f9fL z?rGr4&e2I>$iL(l?uUE{$WpLk5GLC+MW|!JEj`?}*)~lwrhBCSOK{TwSK4fS;HK?# zH2YaZ8OUkSUy&h^T-shg0)eJ&NaCr+()RNAx4q1RLhI(_4jup4pb`1Q3U)$@4MB4V zLdA&v-$+30g(7$kYQ_FMK8k1-g#`_Ul^8@!AU~VKF^B$NNdGOO|6av^>;b%Ux)D5+QW8R z+#wrqHzM44K}Zbi?Qht_Ua+`BmfAwL!`&a@NY-ZGB$7OVYTZMU)P`Ndw2;0)DRIA| z+MH{`kpGWV*<3AjIt0EY5}*nKJ9M(et&UVeM_JuvLqZ!sgGzk${os%q7B_oQsN;~A z5vLW>L_tIeI6kVwO~#2U2RJ1E+Hm;1juO8D?#1SSZC~ga6a!w4FN0(88HLZ#f9THk zh?q*>bsWKO!oNLzCp!dl)*%(j)%8P=VCZm!xvm5WhR&dG$xwWQp@L!W6(N$9WBcF+ zl}b1!-I8O65ZS`8i$J$BOu8k*T4$7Im~=~q{i6s7pplhh+3+HL;`%8_a4a8g!4q&y z5Pd8>Na_fIh%Vhk^pGrgOpq~t4zh*x2Fa?nRBRg&BebqVG=fX01$`eN{!?1A5xD8w zYy_F~ZPIKwzGWjgjKqk}vJrd^H-bwV!Bx1eB)tx|m88-wNLmDOU4YmYnuekDR+>t; zr0D{Lqmnk+2&7xm^e=?_HG-z_vNnPe_bWxB6`++2h(OJd8o@TWsSy;3R)7yJG*c0$Up#04DG8AL3uQW@6vZf*<025s{#DHk zII7qj(Fk%>#ec4JSYOTXp(y3z0Bq%|lcQW6{BJLphW~?X>@?JWfrPr zzv8pVq1)IKaOjTm+u*Jc(VW7=ZE68LPYGmOxT21O>r2CBi=ZIg!N^ZH6mkX%;ebYF zhv66Fh@1{k7JUqInuE_Fh^a(HzKBnezC&Gt&t#Z*$Y0%Weml@ve}Hckr3r$3MR^^b zli-64P?WWB%`shebrW2#nXVvp2VCn6myJ=h(&b|mx0F|rErL?e9T5~&M-DdjCMpx< zP&>in4%N%1E`;}32oMU}7ESXp>fc-yyTdGpAH*Cw+ecwodAkv0#mU?_P}?3EPdM8ulR1@@KMX=Bd5bh&Qw9S4~$X~ zImM?-eGh5RNBeX{so08Ti-LA>xP8U0X=4@9I&??W5g;ZMwM4Kj>Un%8)2GAeR2@{W ziWOm~jl-V7E6c&5@Crff;sWQ$RqF9RWoYMcl?6 zcihpaJ*X%yQQRWN4daGJ4Qf;pjr)R2jM11F6BSL2CPt&i7-EdRpYN$#-97N;{lCBG z`M*5W?end3>eQ)IRj2CKz1{OH7ygR2#L_CgkZFi_zJgp1Dci3jvc%jaMea(+we`B; z2dMs-lp2!^8}eU4O=$x4NQDivnD>{FQa7i=hU*~S6S$NgacX#YIEa*bkFRwnUzH^v zaEUhr+gd*bsjXf0x57EiWd%un4ZJR+284C{!ROUr}tO=cR1u!F|DO4o+FcO?4s%#r|S7FRDJ9UGc8r@i~p|5M~EPK zIf53oo`uL0wyx$g=y4s_u*dCO6Fu(cTGrzsuE`#ca7_itrfmV*?=`eR9YgAM1kYMZyoBPgCcMi-5M>Jy>YgD>*m9S{VslcGJcQg+NhF30O)W9?L^-;;X& z)GT}lvf&S0a)ZblLS$)ZfHJhVB%1%83xcDh=#GHPkGP}`0p^nF2cdUo!w3CYGO-}rzbtGxg`T*blpV~ile3{6-Z|ob6on0U!OJn;v!6w(MM_iq zx(a>@{k~PeuM5W^CTh5rx-KBq9LsDuzJucqQqAjtbEx;1c`h}>3BC6X=8Yjz%_^eu zzaSvF7>DpJDtUEUCOs;X^lg%O7`;@kHuKlk zW0R8nEfV^j%}^LrKb&u6?qXhIaacVzHZ^foSY6T1i&Lb;Z}179uZcdF0skL}`Bb0y z2Tgbnx9miBB-Vvt_0Q>v-q?}&MHp;z5p`5!$;4o6+i-hZwI^6&UVf8TlPaoxj zig}?ms(O*j2`a7$tCyl{38~`dFz9nXjE_ha8^h`eo^d?BxC2$m2XuLuOUvV2K32Pq zPnE6SrY87(8J>8N3!Zod-odsarFS9cx(Jh!^iw`wRnqAz$^JRnVU&KhKnAI=6GZeR zfBV?!#*@E?JX)&Qx&0b0OW?CK=`ZGI2n&CICu$P@e#=MD<1YdTUIu7A_Bpx>v<$Cw zRZ~BIoF?-|8W#V`#w4;cvV=*5kO`7!gxMyH@;Kc$QBhffQwp=${tWt?C_#|15>+L* zs#hla2Q+$qWwtEaS;TpTh0N|`=ukDicQ*S1^ld2PBS_a~t-1pKV+D+Vz`7R+Y6;Sd zvlS1OJIsf)W%q}%9zLcCSI#KG)z^{9zwEhWW;f9P(vrL|tT@$W7>+8aCzE0_G46x1 zv5Cx5==mylSD4v~K3)o4vowqsN)`>izP50`PHqh~cN7}8rhuo!9>Q;RY zY}%0z62~GGRA{e%GIem<5D~9!DKpFD|F<&n-lNkn{|M6j>m5v|w$EYjCdj{K)SSE+!Yx9J zU?)3uIfBcerCfFy$P8;dT`y=3`iaL)PYNb6=?Jm6se&4`8<$fA`|Kll1DA6IThz9J#G2(i`elwtg*Jd2@e{789*=NM_jr_Rd5(t`+F9mTRJi4w$%k zj<`dKZ!;?UL-ODD25Y9_6;j!&wiH)qVn$NG*H|}-i|R-XV(io;)4ll^BQt|^E95?S z1&cfKp3ViSFGnzxlIgejIKR~---mo!WR(6Ga)6?Ju3B#=sg8;r(C=<7{sJ7}ZpCku z5cU4rvg#-D;qEr-wW)M-EIkwQ4-(8r>HDFrOZ%mN?#cEbxhr()HZGX77az{}`ja6| zNmPG^Cv)kQkPFqin)*w9Zf*J+$bB_f8iUkSf?ch%a59lb7S=2Nk@s)~KdDDX7?f0$ zeudok$<;FV1YW`n37)#G3Ks>Vq9Dfy=kP>(c+~R-YG^VS>+VT?{vXNW%qMHodqcbVSFE76*jtVD2l{fo>z8=4g)!EMKe(IS*FI9$;LetK49IVo zeS&5EAI88?J^y2L6~;jC;uvTS>Yj3%D^Nr0-vYVTr?uZNBUZ^@Nw@@9W!*`l-eK#> zQd~$@rBh|kme&Lu$f!G24`Rbqj>ExttR9hJ{!yUrDIFNPeOSY^Q9M;8C8x37o6ED* zM@Y#X08e;u9pHi;*cFnJ7qKlqYkUy=l$1s-Ww`Y>u zM;R5Fui~qsjKr5H{vw+_7;qqh$aCb8$u8?C!7DNq`$&UUdG2bmm{Edqd!v^2}eMH;KNZJR=(#2_eb#|7h62tPRD6L5 z>Qtm+11i7uxI9rIqqf@Jona?)39GUVZ1TB8PV$QY$x32+MO|wUoC~*2+IEa`XJOe= zaVJF;5BBAu3A`TSO^kARF;|H>%n7a&%@6-J4Cv(7c}U6Csjzjx{$VhfP_gjnAm}0` zcMr3#(oM?$iPn)l!tAqn=5#Q&1j)}*6(5w~%rdp4dO!UvV7QvC`k8$Jj+~J4C^eX|0X+1 z);~)}<=w{GRvRPTDbL+(^QbZ$%>qtJ>6EARm}=QDDh<-wQ5fk;J?u(-yfP2LRXaO8hms zUOE?>&l6pe$(8TU9-U;m{{x{THv`k?!beF~Q6KtW=Whn~qT#>T?(Tiq(QXr~h|k3T!Z6_1xavA49j*en$NUGQE#7WFWrA=@AIaogGcO~%iU`N%MUP|_E4QZb6ei76n1)FZFYOx8aQ+vLz@Ps8eO#V*?VJr2_g1hhs^!;CCG4ciM&(G)$_(g6b%#81QSjFEd9 z_Olqdr(sV!6vR)%O6}9ru)G36iOpL+4J&z+wS1UrwMSVOicB^f%QU}*#NQzcxBVfT z96B%Pb0n(~i9dPfpLNyiSy%jUMUT34M;YRvPk8TxXI;)0az#*dRux>k zGSWTkvO(ycb!}uo$IrTKJPa5)m1(t%l-?s9jyxOUA%XJ&#}U?kG@ACOZ{S(eQ=qR& z>0TU#_9Xaw(Asw=HeV^81RloSJu5=`yUB_Rv0yRzR2QVLPUfx#ucJHC*Cn$HkX;9F z2l1{?X0&u~fR~)*b^@=#D~A{FCGtTb!*&8UQT#=+D{aH21){>g}LnPv-KwU~VCU^q^GMWTzXS_78Cd z8eK*}fgtlJwG5ZGhg~f?!0@#!E2-t}VxfwIsil5~+jjU`b_6p33zc}RN`i)$CgT5s zr-$zx2BXk@#1a~{BW2!CX78cP=aAo9IzC8N{-6X`zrhh5T~L#T_h~ZoJ{}kVT{At* z9F3k%(UU4{+qW7zc|#(jZQm=R$0w|3IR64{3NzZ~4S=RwY}+_lw0gwE7D+1J4E`B& zsL6L=P{4(q+&f5UX!y^mhmnabEbg!mZB zqwaFMhgc&G@jb+PXnzYa3OR}wZXpUdzJ>7EZ{w-IVqdnTGbpDvsea9%d1_O9R5t3%;cUGK6w$zN^hEZSClRI(Je0@s*bzNn zd2cOC8QC-jCsb}rQ;J8&l{qhD}P$Y<3I{1Ttss! zp9QW1!URT-vbL<0-~pL?A$4k*%4ISaYRM5@Tamp5`b$c1?-rz<%~Tvh94O!iGt{qt z(W@x_P?~Otc2w6AvtvUVMLI+Jv%bfMyp8K;=cZ+FcGxP z)br0_2yBJE+>4bVL3tEVUdr7cM9)${2cfy2N3TMD3fXh}=uA4bhSalXc2D~AYzlxZ zAg*9M7q9|YbTzC260Wm>F&UD+v4OFEA^x|L&$<&IG8}%;o%nbhhwC zosD?t&qfN^D&GnV7OC>S7RGf@Qy(u|Blgs2V*L4%E(5HR*-`!YNlrul zT)Q;Po&;{$I}A1i8eVz(hoKV6=;jIGFMft!A|JV z-=M@{l#rv+70K*RknmU~?kd4nA~T9kTUDj~M?*5x0ay#DpPbCSkE+K-pOwsBNT^Yj8rnrRObMhE_Dn3HB$M(*i<*cDZi%Rg< z&CG%tMnihKvmjqFuDbL8v zKlEHyJ?91Jx$HGeUytPp4WI(ngtvb=6&oOL_DQm!>&3$4yBKNDnGd<|KtAHbqJtr;XlxkO9|0L3 zE2Un8rnI={J7ZGSIDwYzi>_izzDD3WX}6Xn5P2p>iF6wD2T)$jvUCOTOUDdSD%Z{6 z^bhE0vnfj7=}8_~OXYtP3{tA18#ky^HJtmFyv&*RFL35~fwS;xXO34pt1n|O_P+LG zPlwfC@;PHF^gqLfSNR+?4f^>+SUm~iGJ(588mi6V$fM@CM~1Z(VL0;F9xM&RQIqI; zowCH+zYlz_kwMF!daFdW`c#6b(`8YS2dBGf~si_{O{h?9pyE}@9G}1 zg{GCRaQv?BrH1khT^U?>@3-_YuzLC!eteTu{X|%O9iM*`{TrrE{Fd@_=;)=FItp(o ze?$(>jqCW_Ay-A=EoH01O7Z=xhOOwKPEvKJ=H#K=rt{8npT3*BVG20~H_UcmGt+I> zxz`keh7(Zq2&wv1seNiEN+)}sQdG+@=t0=m_`j}H_06TKyLXnGl|jQRC~KG!TkLK~ zo}W$DD_o}SO#XR#6*RR6Bz69|SZDkucdlQtDfyt6L#{1_3e87)sSEoWI?;5C6yL@i zSr1Vqf32XFR6p+hsbn5XiW6TQy40z4Bk)uQHmgJa$_IMzf_%elG+j=rK84p>Q}sMA zK<_OS?5_8@QoS$#SG~atvD)oWbQVc!8~(m8@0IQsgGcw*{5t@oo*%v~JDwHHvd*Kp zgCl8HR&?SnDFrW2+|}b*t^bpK}tROA9V1Z)E8b=kp8D9qqM$+ z6Tc_*mCxmUmq-8aEXfy5`9E3md~8W;qqVPzkKf3A{1tyK<8`tKDld@n6^kW3>RdH@ z1Oajg`yhSW;z|$n{fZlSl=fa;EPeIj-0A#G7s=$tF9?G3NCs|!_^W`#j^s(0zPw?a z2LSr+hH>uey$X|Wa1eiz?g4~* z5E-QYWeq8YA>@*O<(7P0?ek1kP%l*OLMk6urH9wUX=?fSU|h?D(7vepIIPdao?LYr z7OWO~b};T{q!XTjU$K9qA;y zffG_)zOqP}^F9lVlVC$g$p+cG6g48|ihicplWO2mNX35@`bekn3vEl}@ z%cH)x@sUbQ(DFAC1M`>|2JPI1#b$K5??pEbLac11z82kwQM>{%#*sdTz$w$44=yi$ zNw&T-!)rz;O$Nm{mkj!9PaGw!I^WE`8xT!|rtGx5wCP=lSX*U<7= zQ-08}%_n!WCXKx)U-ByaZd;1ojJC~Rg}1kM2o?HrpzU~)LG#Nr$zFx8#6o)&{tA@o zRrsBb#FGQ{_%9{r7JBADF-I4fWhgn?GiQjoTal@kkk9eVgT*{HX7cN3&3dJH z4cydfF1(MUP^-gM+2Ve;SXB24b3F4#G4Cugb(?UoXFek4b48|h?$>$d zZ^is$kvXG-`rq|jz5ibpjx1R8X98axdu_9*7x`t|6q)@YN5Jemj7ussnK6=?Qk0nk zIZiU$Nycp-_L0nC1(|&FanMsFv?G_K6Us~I!h%rq6_9fzGgC5A^UdHtPe7$=^ENWaA8739hWhp$TF zp}hN(@^Q(l2yf^^@da0hS^QO;d!;@jgP?5}}t%S3wrO*}+Sa&q()`WW8< zjtr7hqVhA@DMF?MXGHyh--S#I?h*ZjkE=<>-8b_b+>aSHRpRC=ep&*f`C-M3QoJIQ z9d{<}_ws3bt=m+jv50BrRe0!C6tJnlmRQ_rz&|rjz@lBah^XKWDe)FWIby**T>AZv z1&NHzZc)CpwVC~`wY$gd$sB5}{Q$^-3Npt{lxlSppLtff0p!w;xeBDrB!Zwtj#Z*D~Ha+EIN_m_g)cZ@Xz zl`aO- z4{5~qr^21UMMMqv@QE6HYAsp7aQZVXQAXu^m7~sLu2D;6GOW4~`a|fdy?Hz!hPtY< zD$I(pp8AK8C1!<~o5*M-qq4>cY|{Ae?Iqqt{Z=%Nh#6G&3M+n9f}^9tiq2AeVJ5qK z2~P9dH8{aW58t>Vz|x{*rNoM?P0~gspXF`zjAO`@kt5R zJUZQB_t$VSD|<|dfSX9BV+I3JbyN;_Iz09|3OH8bu~ShwPhMB!#)Xl(MBf>dfAvOE z9XS7v*FQU~h{*6*4!;tU3K)lyH zA6HS0R|Z@@ctb^(gq0d?pF(4GrAAuB-YL2;Q>9VX0v$J4{rVL(=;)1N)~_D>J}Kb1 zPdtvhRWo567(Zj+tM-FO{H zOjk!SUajN!ZeZS)ipmRI&*{s8S~`5s6>!{h9=kd!HGszAn#%LTN{yZQavAQ^xX~BY zPd6n}SzS;tgtM#~~X|tGTcd2QYxTfjNn7C10pu7l~=hU1E4ho_a=W9bk%KP^&pCOik=>1rRvvNA|fWB z4wou;JwuLl*>$eVJoa5yz;Ty>-S^L9f69twvf^fE#VTio8M{_BD-v1r9+%XePU?*k zsZX7h*{5%~6O^2NHcO&9O5N)k-vZ4fh~wX6an?J1i=ch{TPmqStt%zQkR-oJGp%b-yNOYc3*Ysk8P~&cR$n%vR2A%DMB`tUsc5X8V=+Kv{p~B4UpGaqbi34E_xV z@DOu3gib91+)En#*D&!kpQ-1$h?pmrM%*BzsQr58E7DrX@V5xdG0^}i)&Yc3+@ z=XEQvSXrH1MC_(s->95Fa(UyY9Pw0zss7v_D09K+Fm(v@S?5BxA$b!ZbsHBEyK5I& z!zL^E1sBaArMho&zaZo;*_PX+UbZomL@jB+^nCO?SY6N;2rrKGgHGenq7`(&p(ec} zklbLv;kN6U1?0b=%I*byk>HV5b_lwy>;c9d1vGAFY}i6FG(D9tEU#~?tv1UtU!hHw zwULI*E*RPf9Q=nM>WAbwXvH*sX`lgkGUNq<``V3AHKrK1)40rAt9!^nX4#!USvKUr z%y7!;RZGR+V91eHm9Sbl_#f8FERX`h;7we5h@y<$qUkoR?i=&+2IVvTm1xXPh&*2O zGL-H1hmJDqh9fNbp@+w=;P;k-ydsPe#doK8=B(xVeSU(cZj!bDe;c(u#{r&bWx{5p%TrzfMUbDH?KkdAJJs>ZHGqHH)5Fe*69>h z`$p^>T}442qgm&Vm|ZQn2t6ZaS<9OclAA_wQ)ivhOwTFCDpBq2h%YTxTaPH)w_xN9 zE1iGR;}gt^iPS@ZVC1=W?^%y7Hps!qLt^CwCX3dJ*eL%AvTKXVF~O9NsxoDxfojsI zrszckuZHXpWMG)3FO|`L#dRfmMPIOQLEuIPaXeE6<@W7{SuZSuWK$PxH#)kOkMEKA z&ULWe_?+MdEZJ_lwJU?+@=DpH%GJ*;Icxs`>&oKXz!fQF1I~wcwygU#kBRdzi3(7iz9-%I|KtgSO2UURW}nbwr~SPv=2crWIa^KF(v^ z0IZ8$(v#AfSCiVzB|T}CCeEaVnadFD0p|;I_A5|bYMhr8xcG8v+=2}SLohpCmUbSLNWk@opv$q`;fA1r+tk3F=S3~ zzsxl&@W0+5ku5tNlHCO_dpN~nyA5tOUA9NjJ_TDIz?NmjhRc=)($sBiXdDiy89H^G zwe);Q`C;k|w~EajC-@{78{ReH0BMT$ZcgW1%-3*^OsGH$4w=-q<|7}!jqiE@yTs2Ob?6hg9)xy=- znpJKAcmbr^J*!u2%Oe17DwVLMmC}ofw)BLn(zDBLn9qe&>DlDl(ArzSzoHGO60v3! z#TDB|lU)+(>d4x8xEbKb*Un=tm@#65gT&p@AUk9`q1t)2!5;xn6nBmV!V$RU0>PaP zJ`J?zKReGg)wdz7UfX$x*t&~}3fc=RVcc|#Qy@H$?9Bq<92W@jrfHbt0^z+t#h^Jm zSda3J3im*Uhpds-J>jB}6;6bKb>2gH$Y z&RBy_0j<_qre{_h`Q|J#cx4><<}5bh{JUV2-rMj9+Ge%x6Z>E%y6@a4T%v#X!UwBe z|7vt-WmEsobz4j|f!c$)kJ*k-3lH`MbDyrz-gX46D#3=(hPkl)fmU|6721+crE=4@ zs}m5`434*?bAW0$TT&DM64Nz2=gxBC!X@J00I{|p{sP#vPj=$MV->M_i@n~S@py`<`o)(xr;)p?o4FO`ZHa1%fZ&VPdQ4(*YigqyCQV) z=RBAy9Gk9Jb-d@)aWk0}<~a_VRF^O!x+|&FIolHHy290?AMRB>6)mpWw<6m^c3tK8 z`jNBP4s~Ka7=+=9Zgcl=0;9ktu!&3y5_Qz2TTCT};K`V_k{aVFSc8}iS!aZ-~2T<%)8uz;bJD0l+Sz1X40oRf0vi$ePZl-N-93h`-iccfhPT>!M!~E zS5}*#yMgp^FfYOPUcmQxc3EirS3SSN@qYuR@xi>T}Ytqg;sYjx(-=~5Ws{N6gGePRJB|D` zR+;&&7TAlF*wYrB+aT4ciNlP$0g|Q%i4(QB<^#UQVNFY%8Y|c98# z8v8J98qZJLle6Bjw)r_*s&lca^9iXocJ**kry5Eq`x(kUEn1q8|Lak)TY0p6gqB4 z!NmqA05ua9tjy&VKjzbh1slwP&1fM<;UjMIl@L1HQKHTNLi=*KL>Tt!%}3CyRiIaYu8CgTaxF{! z;Q}-Pc*8 zh}AkG`k;%zh5yZut)rsJ&{|KWq;*Vm$#S+qkZN7)gy=Tl6iCJ0*6Gnagl9vV@bu`7 zvk0I-wY_yl^gd8+G`L3)jlqb+z4WpmH45X8RRi|RJEPlSuEby^b~Ot^nKWxwXxBM z!`|JqCq(zb-4htM;Uu{GdG7S+Tl%>Z7&jpYmxx$sg1TK}-m1DPNS(bt2!2Lt-Ou&< zIQ$>njQvV<``h4t1<4KhEHoB2=UCh7&%#-`@3Z1@1bg?*o9-|!W&Fp4$-)ZU05jYTqxyM^%(Quu0R!FrpSXD{Kj=2l*>vy zc!=jtkMeTiQQ#66p6MYoN2B0EFMb0fU^>yDwvnCvo972X%d)WcWaw8&EhmSy@08?E zxUZQ1yZhPw5+hm;4{NvQ)6-}E6kBz~-EwAFyYkTjT_@XRkwS(Yz6!Kt!{97Z%aH~C zEco>j-i9;*5GhBlQfA9(j@b%*u9)Ya;{tD)m}f;j&!PY2HN#!em9RBv<*JsmfG+$yXg2bD6)fUs& z$z9BsCzR^GiN4(1O)SNRKJ5Nbi+XEJpE=ckKbKPrY>3HMjLgVKKSD^xQD#;iEVZ$r zfrTT@zr(0QDXvEY*Xo&X^=u6+BlVe|Q+q#@^7+>4ndBCfX$k%V=>!xhp)A4BY$VH+ z?H}dkjCOF6)Q2C2Uco1BjLAkL&FaTtC~oxG-}+c;yVdh|GR~q7rOoR((tKX1=18k% zxOC?oJxlbF)|O5qtu0d7t&TOI3(>Ds_f2&bZCNJqrPaU1+p8Q|NfXu<$qhzY6Aq*J zP&HwxHDMJ{_x~EFu7lT+^F4Gc#rij@_{pY!lOv_SW}xMY9B!nUKFdfmU6yuJ&E(?m zeuS2Aj|PhdnbqItbQ>+5D(=W-Mw-z-KuQy;&*^5g^q||>EMf=JIut7r#55fAd(?gM zX2-CixYeoPSx)N1A70bw$Un>FQHm;ImxhDvvf;4O`f07SIr4EMa~i~N7-=R+MZqK~ z)qs8peM+0_yv%fds?s8fKM}i=K9^-=_`?*`(C%}Y8Q*PUNbyNj^Cn7_P^?Z@%X({v`CpFCmU%#oJBbTDI7ES5MUXQevjRtL*WlmsuU~U&MUsw6fcrCM=mqc4A#Rp z>zr%N;Ny#moqMlD$(QI0!P$hl-BAWu1 z7-!O7iY9GC5hYAgIF_`P_*-|A{^m-wW6}Vmm12|D%A_x>uuQVTU$FmDzg|WfiKx=% zZu(cWiZ)+>gthr!u7az<`q@vV&As$ZbP6Rd^(DS>CFp@*F49VM-(=MlEsTHX*s`$d zA{zdX+OVLH=KY+(PCdP$d`@T4{sTDA8jg5W_)D-i>R4CbDO z)b@yt0GPJEwe_~Gv-VJOW!pBHCT#{0w2;u&Y74N3jVA}ua@e|WlRIEf22O*_3ih)* zgxw$`!FHQjtcXsy-GuiAn(zPt>(8q z_e>jVK==1&RkK?3A$)7Xis;4VJcI#OsPxKA2X=qqOP^<+_OS7S!0OWX^vpZg*bvY$ z3I&3;YpUg)HERD&Cb%ygGwP=5zvp4;D`ahJ%)kY(tTk)QKo7lV_VGH`xbE@NcSmnv z?x9|$%@7zs17`%%w|!3OsFhn!`^5TD$JF z&iWy=sa;~i?;>d9X`#Unfm%7*_OP-Ykk-6r3k2_OHPxsR8CVZwB9$>ArAinwszVC72UVQ~0Ps));1{U<8*KguZTVB8of$8mdVET>ybDh;x_XFxvH7yUAM&fLaA9VzGVWlw zX5wXL;&2ZyHxsu5T0dNFc1`izGtI6k`54PEb@@y$o{!Xg9sSziS`mG|oCgiStn6Bu z*%PZ3NYoE)=UKOSsDPwldgyBOFt6zqML#Nf>+}+L21WK#i5V&AKux z|Ht7=77qwxA1yTLfxtMLi8~xE*iruNN6A_tPI8vFLl zJhC(I6+x;keXFAD&o08oG)OWkKTJGvX?>%lSREDcQD}_9tUa{UTd^G-734zsOnH z1pPkZO7Z4jB_!6b(z;kHh?QWMkkE^fspFpF7M#?cboE%x-uf$UF5cgK=Xj%J1 zQC|CSxHjF}TWpn*KH1*h-`3=LkgBnLu&v1+Y6@t7Dz~b3*dKH`r%FNlFx&Z^>bWCr z=|3H)4MzJYYwOuQ{(~o@Yqgi&-lVVf(ql~eX3ynt9O2u5R?`k9{5UX2YM*GrFF~4F z6HQnvi-vCdG!uRo(uDIfP5NUmJ=69<-vG7oY2U}Tm^l=w=i2vm_wYdZC*Gg(5WogT zymr(BF&^)d|=M@x-F=>2 zgdcSA%ltt82kmD?-$C*9(B_NfCj2v?>B^g5Ujb@Xw4Y}-`UhA*?SVglYZcuX1+OIZUT9mBt z%{H(`0=fs28`*pMLU-HEz989MlsYy2j62M8``NZ|1kf7J_wPRFa{DtY+}GF>U|V0d8Fv=YtZlPhqmGBH z;yz^ee1>P-BtO&3QS(n`xe_7m8a9Fo#BXDJ`_Bq-S;2$J&c>1F@6c9ve_QZQ2F9~p zJ4X-Yb?qEagH6LV+qLby7}C5x%=Tb+cPQrZh>mMfl zwwE4b(tiP3tKDAkQ(&!xcd&&kjS*(`cq_}9w2NR9t!!_gm7Qpt3Qa+4@-!138jGqk-n78>|t_3eq+}yMS?6 z&;a#N1N2AObp`BJwdrar{D7Cf*~Z)>K(l(S?V?^u&?y$L?y#qNw8{F2#+aW^F-MNa9D^NpKd>WEyTbNIWb-?^nQb#&W9RC~{r*e6e z)Y0nCzmCBAKr@I`_f6$}6WN=hspE;TaD3GRiH;77Mt*nDG1Q{8%vHST7-3P`L%%y% z2n)?(f6&D~6;cX1Mq60^j$i*f#@h067A&>BW1NNf^B}G8IFr84!wDvQqZf7y{_URY z7W_MbisK!VtF>7eI}FmDQ#?X>WG_t%i>+KvNlD?nJa z<*&mn;ery5w*nj~T6e_LzZO_-Tz9MMZiFr(-K$Qbx`6 zB^O%L_W)|xcI;y&>u#3+z-k>IFHu`hw1KIUc8!l1YUMYc-J$yXUc1O40*5vatPcf3O0m_pd z=Vkh@D1mL+CPBqNvFm@xAhz;1`SRx*yvLVcY3g(sXX;j(x&n0SJS=K^)N8xIw7uwy zUufE1)B0!XE;MzodA3vMVNu=hyt<2QwrN9U#jmhUUza-mCfoG=I~KH+L3=L+cbgA4 zS;-55@?pN?40EwoD*gu@-?84*meA(N3DzGiaLnWGWVkQTbPX~twL0#gZkwBqfyQMA z;~xfccDL^_ z!7N+4`GKD;-Te?-v)a+zfogLiZ~SQ$ybEkzW==-Ay0$NvZ1b3uY#>rL&Hk#gEmU{rJ-$v0uD$u+->}y>x07a zq2X0vD|n)N3iQ30pYK3G`-p3Nfzx?Cayh?Q12%tN8fJC&{}hObo{aMpq z3ia~8DO~InI;{3PjhR_$7!75HSFs&?oz~NVgWma9u^h)JIIdx!mNh>{#t*{rh~)mBlPhxXtcn3xD)sn zKD9}^OPJLG+$ONOd7c|1+R$4(m=;!P5RO%sOb@f#gg%5W>%JKO)Z-a$K>rM^=RYc7 z(Qp!dZ3VuuZR!-D>HgZd3q1F0+lOjjXIq(n8+Sj?{kL&DfmZe_<1Pi-X!y#a@Ccwy zjelzVC&CxtMqFl+`o~XH*CNxCK(54n?9^HAlu zq=(oE*p6O$sNHhR0m_>GV@&lCkaBDPiKhA#NJYo~lT3BqW9fc>Ie)wa9&;k-KiR}D zhBQMbo4ALP)`Ia}*k;LOtLp-w)wQENusa%PPMBbOObmr0FXVeMO& z6zL}}Eh>8M@?!oCR~GXpT~(yt{a&$xi5zBno!eehlsOLP9Ykt8DXgv5SoA_;t}8Nr z1MTylxjqP5ZlJ)qVeQZO^z_+lib^N`pjh@DXfLz;mSXGQfYwWkYVh{A#@@=m8nR@% z*}C<6yve){fh#R5N%kpZy+mqUUC4SJIN}dvU1#qHwjiY!@e2G&@T|y>3Rzc?Wkv2U zWPL`~w~sOY8aoSlv;N3ee@Tsp6teCB>W-{&iH=omFzfEZ?kSX^6_*9Cz`R(@bIx{y z)tJW@nR@na(V$TB0inRD5zwWIk=S6GkhMl-FWKIb^im8y1m=05~B zg}E|=(f7|NfdojiN@W+R?2OW~D|}hE|7=|Gzb~Aku%5iz^p({~)pSA8*-J25Zj8OC z0QeYLC0(66?d|~SRRb1`s3fz*Zqq`%!B`PpacEejU zX9*>%kD%m-xYGBbmgcz{BjaL!Rg*y7rkA|EOF6fl^hb= zYu=3~M3$=Vq^fvA>=h5E3bGqdD(Cf`kkbLkc;)S5?85l;v`VwBPHG!sI1h#nRv zL=()WkGo9>&5={cDwz;9%)j90)} zq_+QCw?0?aC1jO^LSDlSfVa+h6eCik7 z>aStX7d!6rF|cod9WN-WQM*L!IKb@%yGCj^<>}Cs;w;Y`OJ~w)rJY%TeqyNLN)Me25 zuNaxt57Cf~V#HHI4mv}Y9)qQN-QK%qHt;|cy6KRwzE3U}KVBT>!~Yrl*maM=9xHb2 zx@E98s=}wKaFH0xGY8>0?W4;`jmvE*EkImh?NGVifA`a%`X$sZqjVkzb}Q~2xJ7Z@ zi7%sgJO%zlagBLJAEtm_g!a&;Kp{+bVXE~&63N$5F!~Ehyk5x4PX^zpyx$ed+=bf; z0zZW3${0UF&6TD6ihpz~pM$@qlz#+#w=XWJe4H$AhQ_~4Yx&ZvDTsBEwOPsEkmXCp z1;=m`=l0iyf|ruznq*luNdAp1xA!ba?XroZqDQH}@gIe}`z)_pR{g&u)-7vUA*+WfV*8c%Wp^=6x6cRda?eRyX1&opONLG0LG@;a-Bg-I`z4mK^b=WmRVmGvTVE88!5dc!nqmsD`Y5m>Fm_T&~SiW^)Rp>K<`&r z!I=OZyV`l{Y6V|kW;7f<7Pc}=0D2Z%d*r%!18{p-d-Z)qdhGq4&WE*CKk>_GSbOKg zKE#H#wLdH7w-N!If5O_ekNI^htj#=Lly7^YAk%Q~Q?%}B?5p7~M%6-`B2Wi758@vJ zO@KX~q5TE9d!8wgt9iC4SG(_qg6i5EpD)sTz2Mg|eu?hAGug=hnM>+3E~C%l@mMNM zOtPP|F4z&`K5J=6)b3I?8TZgI3G3GUr=*uYbs)}tBrhY?_MpjYi zpy4uve@&`u5BaM(IJysMpWhSpNo3|`?88>19_fX-I>;p=56FE)cXWyDozr%Gwa7G^ zcB)$k&FY%b?SaOR#$!Xd-6(j-YH#eVVX4lBjIlk0t$&HP(3X0SOIsH*1H;sneE!PO zff+jyv3oG|i`dvda7h`K1Mao+CV36KeExskjdgzUnV@izm z(2R|4!G(-p_xmFaLr^NwF{HA$czuB+Uw)2BvsC#Z&X*#cbzLH3Uy5|rt%LlZS(o>| z>~7w@v3Zpk)G(Cv`{lgWK>G{bJ`m0#%)CA}b=-b9QkEQ<8;aE%MV^%VC*8hDWFPZs z4U0@ePa6RPM5e3ra_VGgZ}v9mHLtl5;GuVFyJx!*;Gvuvz1-zCMAj!gGG&-S)plsp z(8I=$pf+g@RW^Qr@%abiOT)6s^K+5x@(|nXU!sj!km}Fna7~9vVd?}v?{l>4!5Ikt z5SM%wyJgD$xJgYtE;kN)mWkZS+_Fk!pS<~Ht!U?$$3?o{d;{|TwOjK4#V_V2IsO0B zEjE-HB5o>7iAVBeIqYqI4uzzVybFH#R82e0hDXg-kn#hQb%1C$J|>HFepn>Z`C%#K z|0_RGe>s-^*YWW`@WZ2Lx%+4Zt%j*w>|NNz+2`V#^SC@gYAO#?6<2cnOo9$-?ER-x z5nhO+lz7;1LZ_Por;y#Wccd-6W<-Txg+0X1LMp4NXGSNE1TC|(sm{(GJ>*s>C-zGG z*HmAvW63pg85SC%#eu%Xoh%*A&jx>S7OEwxV%GZ zY6(;0FDA^8L^rSE;W`Q0eLwLfitNuQQ{qMJmky%;Uy*|jie5a+ZN;h)Y3gfmB&3E~ z)4-^5IS)f1&3(h8Cg9#4j)lkAtiL$_Y*RaXFo| zD%3VjtiGNh+5*Wvwa!{!grPAP-%}UhLTA%FaBZC z=ZLDZS`sZ290OS+m>(GRr!D(K$4wgz)EF{2BHFbJmB6@Z`niVVfN|5L>pagL8|eoy zE(PlTu4!COM`m5FWjZ)p<65Q@uXhlzmgU`XK>@32(y~5oTD_X~dusc^;WXlpH0l*` zj>_rK<3o{ccJ!gytdY4DWv8lkrM?CgMy%-rqn&8mEkM`Q>Rt5yZ6hU{MpW<9#pcG5 z`lC3rL~dv0)m9r6W1~@U^rje0wNK|Dof4dAry;8#LIxkDC$s ziPciN-n3xnu2=GNaHP6#!p0xpAK5E0C%nz?F_E;6tU8o0AxZdz+*zG0DI)i`XTCo{ z+B&IcMn}od0A&F&QHRPN;-id?Q8&Pr0eOO-PEE{xxiy?KPRd=CLL9V`mG|Po{b(<;yXpqR3Y1YG7=c z>ZgT0hJ)~y-)qZ?6e*Vjf#vWM{n{kC%@^`jHXEe9+lBl5$s25YKwGI=wV|%o->o-u|4r~M&Vn_ zD3MQd<~m4o({Rn1Afk9YWm+7mDKl22n=+e_FPSoW|GSU0xhXSWf^N!m<)Py_a~D!- zTpaBR(9fA&;F}R{%B(dl$S1B@4dX^GZ;_gI4g>SicVX4ypS_%qa!(P(HmJ<Wy0UBquxQ><}8 zm>NqgJeDN-#4C6|jU@V_YuF8up!12BArh}~N&SXPukX`2+_v6zE#ZwM`u3an6%!J) zI|kSRBcDH-cz7-ruchwZJK6$;gKU@7yWAEi4L3QgcV$LT3l;Ab5qekJb3+H|Hx7n# zdb;|!6xCGg8S6&1$30&i8<&cEr2y3{S_OxDtvzfN994wkqQ{w#GZWf8H)kdQQa)E3Pinx-c}9;#(}23E6;wMsHUkBE&t}Q9<~Z@SA^nfK$~}S8JVETWx_c#!9z@-dxzeD>>Za_%JmniXJL2m`8hqw?iATpt>@WYkQ|`v zIk@kK_)&HNsxj(`0p7m8)=z_DnD5=!*oBU2>E2N-zN4&h)|#4-vZG1IVWJWy9*v2s zW!J*oA(*(%nW(3SuQ(IsaPQC9M1y(s6dXP%HVT_|?Q*-qGO~c(9NyC1;VoM_y!L<_ zgFuOZnOMSS>Lf0&k$QJ>^z)8#{={X#nmk!U!_;m!@!~QG+I7Kf>QzA{+V@vx+lOjY zXYNf%b$;*RInBWqk)1XZCyV?a&cu9Ae5CQJhWeSP`UcU%bDH)ax@=AUsD<4BA140* z>8YvKqv(HD zhu({GD=~Dq$ToZC+6fsybG_Bu=^hytptp0SO7%56*Emvkt{2&2cD@3c@7-dCehBRh z4N^z4?yezesUCSfF@OY}xESjbmvc#7&E?mmW>)7nsdy_I1MNb`eC%qXO-hXRKH3-b zg+J47eQQDLrRFNTG0wL@CxmP4)B!W>)S?iz_bJ_A{__Jg-jZx-ch&U|J2x9_>wBAxhYKjoR;KnH`=vkUu64j zbcxn{L~HbgnC9IgJqA^4B5CVqKQhuOPP^?z=tyU7N41`Z>eqwd=+Ua59nI}Dk^1$H zI;>0R9L+Lo6mN|pITctT?R`w;JkM=0m1|YbaTdTaGy2e|i|LTmWn5k%H4kU&MSJd3 zn}(P4(6Eg>I@rkmgGN1i0=pk++sFE#(5P|Ns5ivf!FsFEsPX3XPsJH$-CAhW4%TlG z>pz@sZ5n6Fr(&vg$9As&XBV-$XIG$kU^|@KkIqnH%G967-NjxozdDhlljU5LF_Vnu z!!m>ElmeV%zpl_C18VHo6vm3Ic0a5jvdZ3Ey_e!;+J7;gPQvw%f~%!Y4sZAlwLYer z{ZkI+W-xXm-&H1&nUNVi$s12X$Q0p_~T;hIG|nCmvmqH*TB3_m1p7L7B(9MCKpZ?GO{oyRZ^8lI!}?Aj7n zX*6xz$g6+v;(z%{_7n!pIc8Y_I>QRk8P2OAITFDj7zw$p09- z?2zehp#J=*z3ZtVqtF$L$`dya@JQGf({Wa|ree-`_?NQyUU01Bu9SA;7#*WmbWOWgGRn;F$tIGf1HF2}L z9xJJfC(!Qe1aqiIsqP!gnoRaWpiKP|`O10UlxXWE5kqa}%J=&+yNuS7vX9wbFUMdQG9#IuUu5zearOR|OUK zAaEmeg~Rss5MdRl-&h$~4TYYKYy1(+(i-lI3wVX^flCz%cT@P8;*YoKfAMxE@KF@$ z-|v~49)?_mBm}}afS@3RLsY~N#hbY6>Uu?8*A0+BBqW$jxS=(QiWl*|BZ?=Y;;m71 z)m6d!g!M*6*P9i0#dCeXPj%N!&twu%{J-_dFJ0$TRZl(j)Y&~!hb;+;8M4-sx5~V5 zeSz7ydn~pxWw?-?l@MtpM_I!U^~INkym9w9#mc-E_XxuI(>xU(947n!rV0|_NM8iW zpaFM|m*647&%kX8Eb-6t#h2H(UczmvEb+V1iprPa8Q49yuAp;P!b8{4xTS`Y!MTJ( zQ%amIHQalUw(D(*a_mwwsmWL(nT#Y|X~J#g?v6V8l9JTC?*a*vTazc>8{zkNgm~A0 z_Bf4r#w{XqCT?BZu7QjXaKDB-(~B>)6}N&lg#^JIxmGz7CQET8v(<^>>&%SXWOf2+vwWEuH< z!+=2`M^wX^k{iJVe6zMaFN2HSu>#M_Zt)B0Q{&8K|{7f7%LXqA@b;J(@_vR54Fa6$2=n$Oe z0lPI2urI;#x;Rz@Lg&}B+6DH<0ZI~l8}HBt{^c^rg=eUMn|vy+yToVrP$2Y(SeU1T zyV_15^tYH7v^*RL-GW00E$tKtEo3-a19YO-u=Jjz69qz7&h@-LN%*$Z4Gep^LG6EDq<7fk0>znf{H*Kx7F)v#~rUj%kDpBEt)SPILp7 zZ^a>LhR)-=eL$zV3rnZ@ZW_st$ziZe{>j(6Lx*Df7~~v5x=$f}E~9-;3w-Rt{cAVq zoq#Q^7FkHhe!@qcvW18d>dh~;il6*eKyY)M?swRZr|4boQ-RP9WWNM-c>u@olli79 z=+cVgJuLBPtC8sbrxEfnA)lU!{2#moR~4>(Q9bc^H{yuLYdVLK%|v?zjTDcz>v_It zmCe3r51#Lf*5?9Wv={F2Ih>R4^%XVqeqT^6j(D#99`Hr0e$eN54o5uN2d%zb_kYN; zZUSAVQM91II1KLxt$;Y?yUJ8WzpU!<&kauq|V1EZYCBPxXJ_D9|vFsV} z&7>H3AsdV!Z)PwMy5izQ^3Xn)_#Cf1#z$NqCt7bRvm2IE#PK@9_AHio$PP~=LMY#e zCMl$YNZGq!T?mTC2SU#v9Qo9>C`c(6Q{2};(fNVUM+{xXXJWq?!lSV)6-O;4JA}HJ zB%$kYd<}|9h_(^IiHD4(mhq4^$cltGl251)m5vA9M~zJ)`x|O)N>FmCuLR9FObP4_ z%b6-&Po^IQ?BW{}_E89zm)d>_aWa&O5fe8*hf;I@qZb~R1xFXTSK$lCX9hyui7oFL7S`Z+i*}N?2y{qi zhJr&t;T6>4GCFD8F>k4tCW<0HMXvnCgUT=Rk^9~_B;J*Xo2LCW9NGfsb(%gIfzT(H z`O@^h!o4wB*qJoX;D|^2`buBO1y?0PoKWm)mI$Em50IPF;&YTN^A+{mYkd?hzs?t} z=w`GxD10Rn2-RYdw;KzOfF)1h*!dP5FXsh9BeBdC$9vg<&=M>!i^KUBi8f%1CmOuM zM{Wj=c%u7o=tPp{e>mc4j=9y>MAzYnGwTx^@}@!IKVZq8SaeJ7V+TT~;dtgZ39k9xm(JMG~jedf|oA2^DF1p+2c=9PmvZtwCFGlFTSf+?$1zdP!jW5LM zwAL5&>8ptbL;P=g+4O;1vB~UX&)ZOC2)*_VcPg^y3i?g(u-8nAW3a6N z`#dc}r`7usdRM1V??-ruj_#UMJf(6{<5cH_85NVOYpbAb-8Z6(>v_V=#!0ccGbZdl&sH}}yXGWN1POGSm z)y>$iB34mSQBzYldEB_kbu~4WlVjDSA2)7NtiBQgwRK~r@c2VzMb#m7Qz}b#8Zs=p z(~#0q>&qN=DpP!|RpdW-Mq?~`X`pB4g5#{oUE}5HFb~OMVr{IlzP6&qpN$pj%z`IY zHFp2{`nq~+aiV&cF6-5~n`3=tGpyCs&!~tUKC^PNwH)W6bq&>02kVG&s)M>~Z6cs;izdESjjZGbB2^)MI{qWkX{Py#KR)YSzV*jvJ?|RBHVQ ziv}MzxFJ@5y!9{avtkvKYAUT0DT13$|Cr*0n(C>wy6qa^$e(6P1xp4W=OgDevJ-D* z>Tx7hJfyDn*vk645>G6o=BpDV8XKzTRhC+ZXY(66m6J;(bT|^VZ(So|GOP ztu0;CyiQsfN-sjKsV&erYPV8rL?_dv$b;1tm+;tHMX`(kH&|Ecq;n@p1Jzc?N_5I2 z=mj+src}%%p^<6$iU5oo=L$lp)eMV?%!>jDR&Di3jg`964@fI`b(mF2UohM_0Uqod zuhRtSC^VckRRsMwR|t={o=+)FLXwt}jTVlh>#LEVrSVqP(qNbtr%%6Yn^~zfRti1V z+DjhNVAc|BI}Ndlq(3-re-{a|&XZ#KghF#}DW&uG_Q4Xh)Y?Gz&_(k~k<2N6#XH`0 z$+`?S>{BMX76GU*2*Q!eB7)@>i>a-X&e z_IRs@N#cq~spX(9-LhH73fJK2W_i+z1B9Nmo|q_}L9NRRcVSy}Btbs@&a8-uk{mbg zh}m^VSIj-UvZ8+SG!qDEFI=4JKg>h8xE<9?LT8?Y;LJ__0Cdu zat(<&OKAuQE1rAvxZU0zIBe8}L(Mod+XsH~q+U0V^WqcFNM!>No^RerZ=M8 zMki0|`=a4Lg^{|E4yml1!dO#2AYLkOJa|V)Xqmi$e*DLZnO^g!5fP`Mrg}2{-<6Wa zu_^M9!hv?hB`MjFwG9)vsW_zW(2BV=brn;rgLBLfb^36oryc|S zE$lUv^?0gyC+eaFR+lM1d`(48kXSD%lMnhA#y&08g~nwCBab(au|7gO?? zQt3<{O=jc9&8(p(vw z^hceZtc@FICT+gn9&guD>j`0)s6k)wq{iwRWQR$?p%qiSd5yKVtJ32d-SNf%)3P!Q zCo92oP(>ZzjDgE~beOfOKki zx8!2!0rd2ko+BSzT|344NB_8v^6Se9^^UuyL0bBXPOKhly?}NwoMq^Ld>a}!QJ#~C zt-FOg*6$*UFwHbOG0SFql6ik(cvJ44_F=QPoO*m23?ibK)8Oh9)W#WvPHP%@WPFhd?4$DagiSw3_ z8&OO9FuOUTzPi%NNsRFw%X6u9(lBZuYos3rGrFZ&KfWls!4)p8MB}qkrkZiRWYki8 zrul`CbyMjfl9ACJxl(%i;Rz9#Ci5|Gw&+Trr{$7`GcjOHNR`g?8z80DhcwQhAi1L`e)aXY@;%mAJJXk;)MkptCAP!wByZD*G`} zejVwc^@CUwbx@f^yKYR##7r6B{5s`WdQoC2{w6S zHl##{xvTXnsDL-n8I^rHO;=`At!tm<)w`HG=$tsoDp^h{-Gxs9y}{e&l!Hodjx5U~mZ>c5{#;Qz zwQ^$Z$>>7DulSAej!h}}-O#zW zgimANkL6)t%qSx62KEG{z?f69zqwby`V3_3y>0&2k|vK!N`2*`l4ry(1NVN=S-KZj zvo>S-85pz57hy8~zjyd!(0>9v37&EIXUtkkwJ#Yq1F7l%fWM~O626C*{*HFizeFDE zfr;mAYs7T%{tcnc;6LDdU`#8SKMMWg|lOtti3>8E=m z`JaG!$c0GzG$5SF1df|f)4T`!vtS+g281RAtQ=s>fzbLZs0OElOTo3km@ZrmvI=;o zpa|>&jQIoh!@yDCIG_Ja?2TX^aD4vbDd;}nKu`;enNML(1J{5XeFa;E{eJMO!@rMw z0mtqWux5e1_6=B@z$EVJ9I$_aV4ctZdbz{nnOm?w2;Kwl`}~WDKNkEORNybP&H$H! zngjHwv0VxS2~3UfhA-oHv3~^$NK^=nc^h_q488=NpE15nLJta9Q$amg3YLKtz?j7o z`Gxg~^#7$;Rsv(zVt)a=3jXQy{}B5p;7hRC=YL*Vz&amX4YK}_pyT&{im+F}jtA3B zUKH+am_b>8N6f&Nl$p5yKv`xa4bStP`65%xAhQt2+97$-5u;@MT zDcJ1u{~M*A2IhiOfHBWue;K?D-tqYlqlTlvE?_J$CXK(_|Lce}3tRxM_a$h>{up>4 zeB<-~1$(bQ(hb3SURnMe^!!sIqglAm0;|AXz?iFu^C);8e4^uf|qMu6%>P`K!w9UV-Dk9xLwZcQ=kT10Nw+}OecKh zQLg_A{Qm)7_JubQelF-joZi5gTkv}V2t7$>jQBh00!ESePv9CL85$%0VH0 zf!ie9n*Zsa1}7-st){bBJ64K95Ci(?C*hZ!S^7QUOVBQ{)I|A5e$8+D}_55Tn$$E3fj8^ z{~ZZC037U#e<=39f<`dsc-lXeU~+_CAHIHfrgWfX9J3x^Oj>`bzXZISCPDVtfVFWC zng=5Nzz?9*w1c@T5uNg#B;#8;BqjKxJ!6m33@RX zymKx24`$NX2ghpgC@5y)F%nE>e69pbP_bu&GKdjR_z;7#x&7(r$30Y70M{MUfB6F8iT98p30ufg&utjeIo#{7cyK-q@@cK~C) zz(O8Y9eXJM0$*@PC8v`K-!(Ll zq)YYp<>R)$A><2alfhs^B_)Gj z3T^>+f%V`$@BuJJ{3ZQ!;CYZXT-x76z^aWuk-tVg2z`_Z=3C%hV2t?h41_a&VQkM| z3Vl0}iaV?MXN-8>55!N{WsLYqWbu2+c=D9Z4`$mI6KK7Ce-+Pb!S!GzNG)iZ_)by+ zL;DI6rxLptKV#%GoL%|6fqZy!5HO}a|7(eGBUlCQHIcO+{J+EV6d^K3{3NpYtudZF zS-4oTpD5cx=YaFTh2Rp<0;JZr17o%pKfeA?N90wVp#01-k?PW2}h zm+~}5;!AfEnUHi6Z!)L?CxLT-#25L~W@`ydJU3N@jE0S;f4c4unzMbM1#`$-!c)1JS? z*$+6A_-9JkfL%)14B{okF2*EiFTNX#-&Db}2ndY}ji=`)91uU@fM*=d;zMv94$6%; zPrsjJYD|0nQb1D?Da6U(VsHbv85olskM=*AkoF=9i&ASW@r6t22zL~pB-#jCw>;!ux>&VMHy!+|IvVUICf*^B#0LSy`d z{$f0NN-yXSOz$y4J7AGKgtnhfvB5DYevJ-cv%np?u%c>gz^vb^$- zRs(PgfmD{t=p}w5!7jj; zIL3srWP&^(Tr{S=_)>&yPyqD!pDuw2lrfT-uuoV%0!S12WyWNbgTJ)9G5&%@@s#wE z))=8XO8TF)pUimn2KxhJbOapjg`13pBfqu4j=#i`p_EbtMWj=vV^T0<{52Bkmbia3 zfjlL>blW3#eWcxCz z#l8ew0G9jwWso@#`~gU&#{3n_Brp}sNa#OzwK5n_X?JNeV-CO~v)MlZX?tU&*@Q?9 zXfU2UZvhX3e}JcfG3n`0e<30QG!x7=v3XAO{G^Q+0%8Bnz!=W0tk=O?;B({2vkKG# z5ytu8a&RLs<~c0u!8_o~IR9~opa_d2urbfaO7Z&vWa8J&=Pwz*3pN31e`DJ7m!u-d z#{#Le7@dCvi*zR`xu2Dipc+VRq$b9Qx|P}qSI#n?JcB@pOW&8CBylbVmx4#Y-@yPXm0%fI?(-L`R6q)R z6=(s^gBPX#0WwrT&gCT0U`2>$-pBtV@EOuA7XsotJB zfoBDH6TA&FA(9P*vyPl{P6Eah6JZSC{8$q*{xfh(U!MgQ0{KRvY||LCpGWY76naPC zJ_<-P{S_E<18LbUajZMBJmMoHJ6w-}55OnjKOoPSaBJb85%&x5HTaJ&omkHROMrCa z6=0pT|39&O0zLzOCNtTk;(XZp8yHBcK|nY(708jSF(T2TU?lyA#*^nz(hUbPOOpK` zV}#xmPz{8W+DQ9e~ZxGv;FJpG)L-g7Cq2HXye`6qVa zfN;8}VF6I7_bvYK|J!NFF-_>4IErh#T=2Wg_f51(+@=0=CE(Pln_i za3GlN^DiV`8Tf+`mlIfPO&o*XDW>6cAAoT>-8ED}Z8_*%KI(heeu0W-wBar63BS0YKhd zF-EMF;6!j2VXMIt;7RZr@QkB1+JU(K0A$oF0#dU6U>GpQPw-j%*8$OH?}9IZF%r+v z8;HMj$B|$(7!Qnb=}~_vVG{x80@=%z0Z8P*7(c=9@cadcEbtx3q+z-M|0zI5QJMQ0 zBOEiMVyp4wc`Jl_Ik0#xxDnh6?gRO-d#I1)(q=NX@>Hg^3cKOJ8`$3hAAx^^?}5nA z$q;V>=KvWMWw4TgDG&NZ;977ma312{YH+&Ejs(aFv%~^}!A{_Ea3y#JyaocDkO?45 zxd%bN&cp?~gFQegFy?gPEddvU6~LHdNq3!_-mwBCkWbC*=1Z7M%<14HAhRCPgd(v$ zz%F1Mkha_lOaupmg}?!FPS6TOK18v}IPy6V{URUAJru~?;aTu}koK3?qs{;qgG<4B z@CN7%H!{HpFbW(4P5}47h5JCEuSPR)-{$#$%hM*Tn=iZv6*&r&gE}A;I}4m6{qG0x z6Y$S)Uc&uP@HvohV?@aI2KxY+n9c#IQr(2#Y2Y$&1(3163+M&<0GWarqu2klam@uw zfb{1#VV88Rjo@P-D%u!H`(GfFQt1gh5VjNYBNvZe1+RntaLE{P%X@|gfUCgIz!&c5 zb$cVRr4XV4MYCNDjFAjS@lT$syyt!p6?X|Nmgf;UjFNXntP{a>@EYg@b^))0BF>AX z4pAV_Qtvrd^q+VP^*j#ro)f&Muvap8!Fzt-Jw@rrFUJjGyG6oZ!YxnXp3vLVdye;> zyLiuCy=R&C)cRi%t^)GB*$WUAD};{sx#iaf-jV$s{6v7{ImLU*U?iWF-<3Td6E5`b z0P?)sdp^!n!n=4+X95=aZ1~+kz8Jn3NP?04lP@~&@PJG35HEqu?S(*B?Or#>^ic*DHsPWnmvyB7C|TnPQz znxz)V)HJmK#%(IrO$s3WUt4$@LI|_2k$IYgsn0AgUa|L-^@3EuJVpPATjmV@ikS+I z!(TLJyv8O#Myz!HQP2M%@7dRTj`g19DNjSEr{`~;QO^w>^gj+m$aIUtya=L{B-}hj z`-$6d%COozQ~ixhnDA^by>Z*7|0g`$4BB%W4z(9<{7pg3({RE(O*~uLUuqQh@Z2V$ zc^aWHPvhU-GnJkxxOtj%`u>NXr6wSifMLCPnt1I!Q`4J_&C^Tg#M?5J(AEg_@i;Zg zd;ZmX8sRjmwiv>!U8ziF4R^|D3Ae<3hF77qnQwWJ$R>JZ; z)q7sz`QP9@Wn`4}BD@mM`0wb&zfk<8{V(?-$V^8P$Vey&Wc-$=@vp%y;e)-W3{K)c z*?UTVmiRIV$@3om$#YjmONnR3l1l92mPLr}|Dqry;$$yDXK#3&?zxZh+$)G92~(TO zxchnG1GW-xh!;Lk`oCl>TP5<8{T#_abhWsj!68psM#)pw2mWxGwu`@9xt8ZTAkP=P z0!O{@Q$6=0J30L@;lCt!-HSNfd&-PQ{7b#3OufaO?>#qQ7xyFH^EfYq^TbW-w|0Q6Mmr#T#ZkA-4*WfEAO{%Y)73dlml#_3(oZRlca_-ru zsB7TJ?j#>$sho-V!5&P^^Q}JlDkn4Z%m4#?Xpewm46*ZhcwXUb9hcy-@VHZP!08&u z3)kkToN<|Z;uGl;7?poy_wvkRaCDA4C|pJ#YgE2OCJbk$ge9C=5~|Y?mhFoQnVfhS zjxNQP$t{XA*9iqC=FcdK7qIJ26tFji&)X%?jiEn3+nSiGi#rC@S5OovBozVi1ckar zZWQ<(CvOY+9={TR84fd!dasOn>dqH@Buu${gW%s}xs8wlZCIohH2_O~$*h7!+ zPZJ+}U3S7$|g~_=~oZXYW zpgb0-Kn3lQl-6wxmWo>XZQUWb(=0tj#0fFw+wl`~>Hp(B=HgXK|H+Mu)?TzcF3Z|m zbA?6e1USyaYNsQ*{Y|+%l!hQDmx-Zx<+WVeai^0hya^{Ik(Qxr`h<-rk>pOL`=;0b z2+c_Dj+ws5R4Xgqk%^iecMy`}#5*UhE^!C(a+6CSobQ^A(4={}#lnNJ~f^ zySa%+A*zKgX|X!K9_z;Ik(4jOL$^)PLe_*>Pq$z6N;F;XMDOX7=pua+9jBj94MyXF z;D{dV@9LTXS|b>RFwoUCJBVHwqHhILDT}SOPcK0b`cbhzRk4d|Xoib(0 z*vVrij~YFuYSg4XChazbuXs<{ZI7|LjA*EzJc88nd7lw{9ejJzTh8`muD=_)J=u?_ zb7nSd7XiKsv|Z^P`6k_VQJ5^>II?Q_GH5ZMsiM*AD`ua-2dKrx$W8-!wi$I(#Kug4 z4`7Lnosb!h>q+OU;PcYc#2Z!SMMbdO50HDYwJ3=lx_q984-R?`FMfn0xB80eSc7=u zkh;m&cRgoSW3B!)yg123m(kJ0_&j}molZrWCeN5DF{E^rv1xTvw7;yRLP0j_&!&dz z8-9{Al+iz!gRF-XzVhJ?buZuD57`4V)KiNhB_Z36sE6&yno!s-P;X>MwZ~2MG&5 zC@a!Elxr8M9|Pqur9hpWAH%ncdbG9#Hk81)&*v4}y~64qN43~RBSU%iF6y*Uxow5j zQ*(-Ow00^c)>CuJg<4oGv&-$=z3frPYPLN;KNeQ!Il*B8LSfWP0V=s_QL_Yw)eBY> z@2={dP*YgFKCfKT-(g1^DN#hduUf)t(=7g79gb2$XHA60RS(QA583LBP9+FKmRcMX zDals1*RKhyTNVkqL1DE;k;{?=(sJ2h^>H8?%re!V#uljhr>=fvd?+7oogau%vdBs@ z%?zs_L&Z`L_20SW;-StCOQ_K0r_ryV!orH}ucUavXiIRPudURgQ?t;W1kFQw8 z_ONiVo!bWMN17N(u^(9g$DSst5P;GjO@f0GB*Of{xlW`@vnK4Q8y2k#Wr#eXDCqjhf+ZguQg0(z`5BQ3 zcJ5F+|1W5Q60Hd!5jjb#z%lGagxrJ4bTa@wP%}`C@IEO$0^QBG&!^614&b=MxC~=v zNS6<<#qIKW)VNCqdoRR1N9f_lMAw6vaWuL=d=ZaX$53lcsjrw?S1bA*JwCO*+G%L? z9Nrkh(2^LaJev#!@o`Fj({{Qy_Arc4bfLfq<_&B3={Vwxy`pxmXY&mwjBM^OqxXOG zN8Th7W0w0(LoY?j0H%Le!wg3=8UM70#ASGzEMLbqIk}~kT-*;^ia#!|7Gz_xbmWH= z<3lfY`6%59jIElKkgcq#@u-@QD2kKnCWdBeX@zXmu)GkjuF8|aF*qO}T^3O<&P1Wx zj1+fvL7}@oD~(5M$VrLg>GVzzleg;C*nph_tpc6$t{}8J**WTkg&wWDf-;V3k5+$_ z5K&r!T|__fQ-?u$F<-4gj0a?>4T~Z%yQjJ{5UH{Y!cJ7(xTx6f5mxU9%6_!_M@kuN zBI?a>E83!mx@B&3s@;E+_Io2N8l;C>F*iB|0%*8`@H#s`ta3%qRjErBl`&X;7Fc8F zMsXBN&}P(dZaAvWTT~`A!s>b^0x}}4jg@Pn&i$D(MD^(A8y1rq22ToxBU!BuAV0WjDi|oiX_F(m>T1f^^ zFg!3Ae>$sJ3U^88nBA8#Yj9Y7t*F}f_08gaS?8#Dt50UdWCXjib2;h1P>gNr;sr4~ zYdmsRp#GCZicQrrAtBA$P?McK5gohCq29`QpBM0j?VFTL*}AL6*|aMYF&Tj)sR zwvT!xgd+ZMmLAJ*BiCLk27Q$kX|cNohjd3LmfJL&1ap~;N zd?X{rBoG#<4UOe?_pn-?fhabHvS8gMbIEFaSUtI5jf}9XWq@5~#>>yn_akQPgjn${!p6bjr ztaX+or{R9>oFugdPCHe2mnuZmSM8VHw$37# z#T{A61bv-5F35P*=OFf<)pbb&)><=Q-ERi0wKLrT3lDdY@kQ~*s|dv8<1KoS>6xLr zl2bu=P14vh;6uBAwbnJh(Z$)y@X|Z1vRmx@#mJfrDrGhv{|YoEd{RaRGp_iC61b*-MGSYa6`*32%^ z9uLq&TF?J|{u;Z}TADkGl00KUG4p9e?5UtA-G$PgD9zQ~sJ|%tm88j0Z_g;ULk%w7 zPzhd|ZnNDftWFKZAl0gVo?m8n!nN5Bi6c%``k{}iM^yNJQ+=@}e((Hdh})yp>?m~` z+ypPH)Ry^9nLQe<&YaK2D zC~Mzx$|*zJAUdB--*=cXXkJ{A+w6{eGFFO?%nz%7cb2kes%vDW@^$Uz5bAGJUKxH_ z>bgblxOvlTiIb<^VjbIqQIH1wWFZZ;_@v?x4F5h@6;@{~WLZdeKRJVdlV`=Sl=GCF zor17BzYrzR-T=KV?vM+$lNoYtg$jTbje5{NEhCCgrt#53V{7WrSdti)Nz`UocG_PW{~xZ56QhuW zh~7L;nkVf@dRs(>p?=;NS|an7rP7FSz>KHmI_Z|+W_U3vvQCFdB+Vs+=o7TMt#*vG zx|&;dYvi+5>V{l8{+mu6b4S+n^sy^)>3(c_eOy;e`_bVy<%wvCsImW)Hxlt$DH`Z3 zhXQ<9rzeIjxzd}ywg_NDhS``UK{BydH|LhyyR1iytL$B5$7g*VO`&cf6R~fU99QO+ zICfTWKo9a|qm7ZsB5SoFu(?AKXV_mZWq5`%kZ5VwH9C=2JW|-GTi7*FRX0k+r-?|x zTXkVyw_?(n*w9e2e(4(x}i$Ff;Vh!edg4n{2;Y(_Ge@%b__? z`7kJ3tzds{tnL=c(^|<@?nz4TYEgP6u5xaIV2jqro?dU#sbX4}C#BM= zvcy%DB0A1swlzt+1zql?E%VYQh6Fb!tzM%k>NV6wy}k(T*n)ON=spb6+*dDz(^9?F zxe@gIZA`r~)ot~%$4u$3>!slRs#*pUo`ccpsQicsoD zX2Soj@V`qLh0Ic?)=O_xt&5t}Q-R=^fY?G^MZoU1qr~W{E?v;XBB{EB&EF!mEVmrb zUi3JYJ_ob5TC|3pR65qKEfkuSKzKMw{^E{UH%C~r=aKlW*(>d?!|m?J*cnILPUZ!W z7llnvTA45XgstuHNMVk&URZq_D;D`&Nm@EyVa)F84$;fmfzD$c{?6=jJAVXWvSogd zoi~Q0<*KS!^=wjA^h~!4xr1A?5K&7{)QfR-StL^CuwB_hZJHw?-PF%o(;%DO!aLiM zKiipXY#-$fkW3b|U^MF#mrQp%%=w)th5C9ntHGfJHLgYfZ`S`?eRlDI1QWlz19EyH0_>zp zuuKinQ;+4ddH-k)n(K*ty7cNAa(GN^Nq$UNeVtx{ zr1##yny`8nM_64Gh%gSk?<|sjc#|9;ys;?K%*Z0vcd*(#Zw*B4T^Sw6#O!EEsGD@v zO9RaV?99p1PeKJk^NU4jp4l8i=;XIc@>dXJ(HLR1F$d>WCq*`jO-i-FVxDGKht-2K zqw47{Q75QmkES~+LOw33-e!*`BJ0NDaBxtb9g)#JC#+u0C}H?T8ApPpd7DUgL zA=*2n*6o0fi69Uwjw@k6dEBBAbvEtgvcb{W91Yq1wmTamIk5cEnpP2)pd5yWME}Z{ zI@Qk{b@j-I9Bk*XV(p>kHrY8&WM4f%bTp-Zy{6|K1!`rs2t%g&phh;jT3LpTuzR9vA6yu- z`*YI8BrW$C!v8&2L=iZ18>*6m{evZc7PIN!Isa3)A%7Y0)svF{n|6O^ zy}cuI&iiIZT7(f{b#7sF>wKV3ohV0jbid0P;w=`Zv#CCGU!Z&8yo*68ftmO?0Zq;BbxbD%8^joNtP#F#8w zNn&AlCxok+BcO&}9htEAi>kv` z%1Q9ZCXsm}|#di$WKVU_}?~3(cH^OdS`Fm1K`7o|}j&ph#mBCg!^WUDVPVSu> zS?AV8BFR^C)dmykLC#4f&f0jKF2s>9>Z-3gd4&Eqj};PZ45?FX4(p^9e&&SV^Kd6- zKhJCNJbdTYKRJ@uM>zre05t3$nKK>HWEVHNXXLU}k}vhDS73OE;>w7zA;wTbYu}T} zGm}#m*v({KgzMf;?s{p-Ttr9ZmDp^o$o|@f7_%SRIMrA_VZ#Z)mxdZJWK4IuyNiUUXL)wiq+ehD|wcvx1G!uvCt{h zJ32y@S{`f0-omp)T5>}sO}Q)7y!sQX=Z z%3hFqJt#LH8tEkqqoLl?_kZjhoFMb_p6ZP`#p0!I>eQ@f=Wos_u>*~XgO4M49hr@J z&bAyGYrDH6>&QH$Jd&T-$(64%tAFVcS>45ELofA0qbI1}-zP_|1)RKb*(&AIm3y6P za@~xX)iss%C&;l~th%=0gobI=Ge#5_%bz|Ym2iGddWX73@Mp&Ue6EM z@*3-$nWN>*mlJcbR(ba6C&VhuNqR-X%CDnI1kTaD^KdSFRaH#V$JS6t9H~RAxSso0 zc=D6xHIoc2{AY~v@~E$zal*{%I+ML|o={U!KQ(dRjGsu8_?$_5cefYUZQZ+?opLPclQb!HnR0XXV%U3Y+gAeg_|cfk0Q3p zIkC!Glc-{{d#z1)d{Vv6U)q3vEwm`1<7J9(MMJe|0%=ae^U0Iq=^&=l5qbIvG*i4? zrp=vMXNcF-O&z5#&`F-vwI+c-dO}!YPDMOMqNvkP@Y@r`!q*5NzY8igpkZ`m<30TZ zVjG8%7UQM}#_9?jE?532bG*8V3lm6@1ei2Zv5}G~71MTKK*HO2*2@ood*0e^0ut4c zqH6hrpx3&tEgqF7Gj{1haeJcCs<0-!E4&P=W>gqYOW%)!PjZgWbh2xP`Z35HCB%`y znG0i%-F2cJ`j6e|e8x1{pkN&Pm|f72J9TJfe~4ZDXDyiy-pk5>X$JS(*xXv9?jnp8 z_)C^de4B|jl7TYD9C{=Zppd#kZ^sAJW%F3C|FEcpBRQtm8M0lKsa~~Y?Y7bG;^ zhU@=Y(PQkMvzdXicrLal@Spkg&Mo$i+!$!Fd$Nt!VrNIgdpay(itQautV4?J{mEoP z)E?VnGbwG8g59mX;FNdLxZ0a>Jw0a~S(Vs3LrNA&F!8}oQq$el({q}2&|s<}>!yKr zXiqzEys$(j#E$xjYUERf?pzotx4T4TzAjtrgsaoJtEPUV@tJ}66N3<3J+%sv5|>ju|2%l9$RdWrrm}|?Hya}0jxY*?C!dav#6h>=+6wd z)y`p8pv(@nu%Vj4Io@}R${i?Gk==;(cIIt7Mc_u>c3xODY^IDf#U-+#@)_crAq>eE zen|XLsqv?BBp6oFHE@TvtdgDxs>gc0Al}(+myQ}Hzc*NbCI&WBkQEx zvQ0)q>Q)xnrKrookmLR*r@?cpTxv8j)F4};snWSe%J~mXp2eyyKv$O)*e`52QMV^` zBL@etuH|4csve@5#S;tj=BKRaKljud4Oy+~L0VK7mzlN{7bQ{xSNB7n99sGrC}llF zKIN#Gaw+Z`R&@A7cK$K+?_%jxyBFL0@}Dj|s>R+pY7c6W!dWjS4v@!e-zDolt6YzqysWj532zb zPf7|4J|RpxPtWjpU7Vh+c7BV*>EXp;`ST@lIwKdH8tZodF&KrnojCX`(FK#%h>&e= zcmTy&$N$VD@!-~j6J8EurN2vdTw?khQr)Oa7hTB0L>}K;Ysdq7ULKot9^KSM3*kYj z?kd^kNK7A{V>YD?y)Ii3iyd8~Qvzk~`XkGzlHnqG4&%YOilZU9IrJ@}mwhnh9uWK^ zD^5B?CM!PC3sQmZiu+YP&Sh;k)$TsPE^4s5f5fFLS`1Bs!X-g730y_ujt0%@3^W3L ze~%J7Z~Q*;rJCfP`!rUkNMa;1BdjK{pYF0geXdL0T(3YI zNUn(E^^#FtJGr!*3H%qmL}txu3s?3!Dr&n#sQ$HHLAsznyPjuvIhNbCi`MDoD~xHw zv}MvozK{?nm7f<;GphbGf$6LM1B#FiG#05m0Y=F&l6sohSwrbEY{2zLR-@1;3HR45 z{x&F^-rdyM@VLuVXfuX}M-#W;7*_I5tGxsCh|I1yN}sIHr7r2S{*0{A9Jd6bk*S*Y zBgi1vpwv@x;?J%#+g*urLFx&sY%7Iw(v~W@P`{e!HqaEVy=*c5bp6`yaw-?}VLM#) zw$Ekr4lCTa2JvSbDL2eclT=W=v6u*<@U?cZ$A9HSE^gxx-ZttIg{K*+xCQ&vn_}87eopiG7Of$iPS; z8@3tcbXxW{Lx|c8ee3QuE5=QLLUpsl)_WJ;oOrvn zF6NC9DaR!tsa99@uX!@$eYh~Vb3k3q@y>_H7Mo8k+?LI%w0B&O0~?1H3y}?cv6Rcx zE$wC0Gn@YLDcA0pR=J*++V1_u&*oDcN2Uj#E#2z!6v*m zsuv0B!MiXV)r9FoXKF%S)pweZ$S6~iXF1}|pE;vVXTM#^-*RENOlyi)wr3%pqZ z?;)Y|eF`iSUFQzY-{JO~@{ScV*c%s$dSu77#V(*z9?gNpLYW>DK~DpSz`Z7s#0Qw* zXR{@D{roa5F>i<5X8mNo++!07k}Id()J^kc+!uLg`nraD#S(Zvfq1A*&V1uxghIHH z#i;?!bgf&M4}#6iUYVTB@jwe4&Q%|<`B)S_QPbjXvSv|>M`{DKh529EYarEA{i9JI z2C9cMg!Bm9Zumkj zexm4MoOq7!zMH=;VR%#`~X!oCp^-c4eQoD=bwzQ2>>l$?5=OtzCJ z*NJG;bhMs2*3@+}`b1@`pYxD3Q|xS(LmwbT5w6gO!|J+>63xqx8o8CUWdW-Y<_V|D zTU0+U2o7TNl?8_rDKlJ{BMKt@`h#m6s)^RiR$nb*2fZhHq^O+v zx7V;Y>UNK)x8|?YQguUUo!tCTUvTX^kJH)P>9yH*e=fL^LOdSeH9_IT+5l(Oc~FbC z+Ie&;S#9mf+-*T*vxuSG7^Neq?~stLENDev|FUSa&g0@x#A$&@uKH>|MJl9Oxly8f z*99Tg3eU{hELm`iiUt`)y?U_HC|7UN7&_8@x(nv2|IVjv{i)BUo^Ih;YDyu`Wt58( zpjF31wMrz`ktUECiNeA$lr0Z27)pC5gD4~iZv9vCl@L3hf zJJs$3^K+}h2Qx|ZF77w7o1^_Wp1Yr(!h&cWtrU9D4jkhyGzyqW$VbU~a&|Q#tn~dS z)uoJEO>7u3LE=O@6n0o(2Ex~WU1Mj;JWy^C?pG|wU3*Ap(`(w!w96yBMD(~-B2T$BJDx3^<6RbX zqe5)yS?YRD@H%G<2o<6$?<*|kDo1DaOm%svQ0^aJRuE&#P#)^8Zk>vky1y{0BYZMF z8Vt$FYYLgtwq(*$ksBkO6;wp@)P<<~?lK?ZrB;#4VQVDV;T_rEGnb|0BDsD&Z_PH9 zoxWFuR=I>pfbgcNP-aghuwvEJ5?FCpVN}niemiTnLY?=2nXIKDpO$Bj^YfijyN|Y+ zXIsf$IUQwxvB%8M=WR}5=Fdn)4_S6a)%cisBp-`kiW3W=$l{c2l9XAb&2r1W!1u_rS z(jQj+y}dG#e!W*FmF}r8FtQydBK;)ODm-}GoSkH@05;M%2>5Yqh{{U`bj_1_d0Ok; zkD)42pP0MSAN5Fd$e)HsGR;iGB<9Eoejb@z@ZXh3+`ooN zayh0WF12BjJ8RK>_cwA00nSj@Gyat8hWlkUZ;^>mpTf0LX^?*`qHSH_VtymsSc_ye zOBg34acL5+@{$!{M>dCwhpOX6sPff7)~u0Hx>_wV-}NL- z$T0rP(Bq1pD~c_MqRUi*%y3)DR) zNqI)A3%R-{O#Tw-cHLV4yP9VuL0a>`tF36Be=Aq>G;2Nfd7j**ZL4`CmT2pH=DD#q zu|c4fjvL!*Ce-PyHZSlEfLhToT1zoA)Xz4xb)`XW)_dZ>rw!pD?g4CgdnW zyiQV{R+0FG!Aa6E+bIleAI*uZqv%=$M15^l1RPH)+K7PAT4P!|td7=m7QJ&2>~H2I z$;|qpE1e-%y~qM=h`MW`J5ruetNT^1db+@!^*lITWK!Ja(m0NKaJu9@M19}Y)w5SM zxbBTvt~g%Ruu`|;=kr!_FtBi=DU&Td48r?9f! zJUYsP_b-_qcgR3#yokD}#vP8Y<`hiVauqMdw<*Ea+ESFyD~#1r|J(T(N^g1p=|hH7 z(G$-HbSszq773G9mO{Fux4n=~I*Dsj%55rSyf^A@@NR%Lmds+}{XjSVo%4+J#po9; zwlm~Zmz^8ZG-yf+x2v>hUY$|f;`LguIW{DOF1hQhXUogw+UK(c&FT_12|rt~(QQ9=>fP7X;{%m1!j}IrkZ<8>EB0(q+Zg zg+DKfIZ!>p_MGU$)q#yE%g%TWzt=UC!=+I=*AH}!R;CpVnG~?5XA^aPv&@fUSoGe5 z%qElrC_L^6pJ=_MTDlUg_k6r=slr2tO{p7I z+j_&jt7~?rZa97az-_tToR6;A+g{DCH#JLI6ZVy5^RRo|Y-i|HJYhGhz&X6aYaC0~a-1v!e(xp4a9wp*?AwbHeD4P8Y|S+fV&hvfZtsZAG-{@YfDl2Vyo9aKhFC6|p*b|0xt z=aROS(cjr354P>~j5n+XY2EEE;hpqr`0cOQHr9*v7qgAFt+Wjlqw~u~n4Q&#&X)aG zJ|9-LwWflKeeJ>wC0_uEG=8IFWyIX8@gmvslMQ;>D0Cv@ zBs_9DNg_kVdU~+XtWo4Q9lVHz8Iis1$oj~^5@n`D9vyP99+8NxXB?6_17e0cPWnVd zjg&WPWrRGmT+M6JUc0e5N&k7KON;3~2su%idUMpYu!JwSm3gf_yV>*_HeHu+ipWA_ z3ulTE`MR5Ows2mIMde9UbFUX4xr%xa zH>zgK!X~O#!gHNeTqdF%oj=XwOJ+GsXOz3+Kk<1{P1jMlI)o#W0?F|%7KD^W-7fVP zy`xKWO#v=h$Z3Yj%tt1d&ufm|)s_ZkatkOWWz= zKfcVVnQ?M3uJ_y))O4619Tjt@M@)K}g<`xGLV;rKz?3e><%+#aXLKlz=LcxO`iyet?Tl1J_|@Z(50id_Z>munA+gl|H^&!=TK(X!`jZf(*M zeLg4dx{)7cONN@M$7bl*CWP?(U{m^Xm4qB4aGcRi*Vl@#DS-C-(~CVp)c$VkQipI1 zg0LT}P^5*Q&T(t{;7K$gVa+-$9?L{>#o)n{G&{gS15OGN+?2K3bgR?qJ=%hsRqV$(;n|88d&Zo>S2z$F67=&cE$jA zS{L`d)brK1nd81!1{^nXviFTT@;-L%5Ig($6!N#HC3II>-}iWRN{W(9{X^|r>dAk+ zEb^XJc82F2_x+sv*0f57dX<+hdvIgpjuXq>l<_E=bQFe*|9MePYZK)gL*)Z6$}$th ziIe%!Ev)3G-s>(pGFx3cO%KnwMRjSnJ0p*$`o&PbhO4kc8g;A>YLK%3$r(Z7gdm>a zR0cP_U$mA417!hySykbwTTjE^rc>u&)Y=VVmS5!w}i$x%*)t`BtxzS&Gt^5;>>c} z#653)ijN^lxmx*dk+jiMd~VEjN6OPS3R`AZavFfnu=7`{kLKx@BU|{6hNRj!-)$o& zEz8|Tg1~bL0;^mCuX+UT76RMRWL`IQwy~e4>qx&xHZA%;T!Pwk)p-8DM^8OpOTh;tICo}_Ps=SI_$1nVdlfhEOwO3 z%@l90p?iAo|F}Ckyo2K9r2C_EM>bhH>W;^H-ETX(T|npLx@ehrF&Xbr_;r@?A!JP$P91!u^wcw-Vl{&G}ZlqqbHBa>&NsVnP=P z-2v(ukM4b%uDD&Yo~}qw_C0?8O8C@aQ};+>k!k8=Uw>0C=I(>E8Uwgy)M7r7UIDDi7 zj*j6}A)$9QkMYHI>#`9K@%}pDQ_f z;y|IIG&74abQP~Oapyd)s@xX8iu;ICo{jURd;`=~+(&fXdQ3^*;=Y-M&cSiBSmkDs z&}MEH&wE+i?Pc-2mxVX^NS{TT`66Em(w~BkcafLTV0y%NQipu`5r?*O_BYe|#;I%@ zk@Y6isfp6K=a1>hzeD`KOiTKN%jIRV?z}u0?w?4imq=2Cw#D7{O7Q*bUqeEw&^EjF zi!X7LyUTx)DLCE*#T4(~=sPl_x1GID3X6pFuI&Xll+Yfh7)(i*Jk)qaviI&NG-Yk~ ztE=I(Ssn_BUtbSaj#7Xb@#bS$34a?(ZX(H^(@wHGkBy?~wD3-F}K z@l7^5W?p(RYU}&!3hzj!zq$0=T6nK%{u<0o8q3IA&wso&NfXTHy4sQG->E5d{oD5F z|8Gr^+W!CNO_8FG;`L7!q@~=K&d%7&9zTqOXxSBJbNrnGcQ$wf7fHJ|*xARVbg+v^ zBV&quQI`+q?aWt*cw+$7-NY}$bjOnq!e)nkx?dEy!%I@~rS$%KfmOiUtNn-Dy^gVm zT+NG=a-7wlEjif^{*ZTZddrJn#rAGT%e#|Sn9G{-8kM?P4mbaay(gdbV>h%rOEsZH zjQ4oEh_|nnan@X_x8wON(tA+SsbmY*@z3_DwNy1jy<6Z-hi;fI197f;i`!E&w%@?U zx9fJt`WvP?eDa&o6?f_c|M?HJ90L=F*Ss?B2>} zZV6W3)s}=~F_8=QOYiQ^KBo9SKTWpG$KWA{aZ&MO`+S-vq>t=5MljcBb;|#B=lm&6 zO4Y=^n@;_#e2{?eUhoBsC{Nx3WJ88Lr>@4}A6Xt=}rDtK5I=ikc+!QO(^KS&SJNw3@QX4!TF4H_L7C&~tg@@Ns zaBpYXyMkRbiGniChGN>)QiLl3(w#vzi2$5)1I_ZH>iAB zU0%vgCnU1|_f-!m*}OvhIM3#q!gZk@EGTjTS(uOsV- z+B{7b1!L5Cd_ynZ7dB6GS2pK$=dDUNmgDB7{n?4?zS8rT%ee8>RC=TM^F?^6w3JP3 zSb_)mYfXnpYDxK4cj7QEad_*iutSZv=o+8B?KQs6U*jcSjkkC;UgEFu7O%!jOpUip zqrzlmD(rOEHB(!rxi$7uCu+=x4RnGM`NRP!gJu32OFKt4NGo6LYvXOGH`V@0)PZw4 zf*e1^k~X=i&ZpZ>GrH|3Pk>MJ>$abyU!Kk@%;mp1MuKjJH)>sjB7Qa>?vidEryz>nYS5D8W)&$}`yRF9Z5;}>L3D%q`-+cLQ zQA}asDZleaEi}u>f@`+AFXU(?rW%@(^>SKuOmoYHFSRMPPR=9#N_}Z6b)i?OFa4Fe zP%5>FD}-Kiw^dgWm69+~C%zk?6Uzq#AcDFQTZsEdRIFNSC~5Ks(l)uT!%~yW9MMpp z$&XxmlIynn6LpcigeLl=(A7kjRlAz#lR}>+x~$sOM4vc?o+`Sm+NEharl*N6t9JXP zmpaiez3=j%iLg-^R}=Xf$p~=Aol)eE*33{>^CbfAv$Uzynxsm7=vC@!uTmfSD|NM3 zsSiz^u9iAMGF~TF*Iez@>HpDoCUACD_2IwCo%fi@0tpF(CBOti3?zAZ_w8>O0wD<) zNJvZq1dxvRy?1XiWim6)5(q-BhFWXu5^xz5jksVHLu;#b8MI>Ef_14|u-3g1twpV& zwpzFU_jk^@_ucpA&18c9KOe}<+e&@HJ-|u(iWA4A`tS{<8*(8~R&2RhyvytC4 z_VqMu($vdhRn*6s1zbjCdG<5bF)ExqyuX|K5D)S506)if@=J_A3t6g-l!zsElDC{@ z{~Hr|c>fXk$!??iJV0`_borxw-N~KEu4V!@6q{c=X?9G0>VaQl2L8z;179%9KCqunOv%!vc#Pr&R8ok|077 z{#%Xx3I*MXz~wE2)9?rlJMC8l`?+yIe$}A-eL_R`C3i*8{e41%;3ap(pc^qH0|1TX z_sx*4e%by*_OICLmvIwE$SNVL2)Tcy_LsK@X~z0r#`=F1PTG6rF7Zzwf@v!RjnR}=i5MPji;4A5r8rl+E^Geq9%sofs zr(Vt98vuS`>T#%6A!~j_;ptEBk#fyyppgHBpu1lU_0xO6&-)pQmY^rU>A@Z~p!G^s1Q} ziymn^Op7`85kq)iZWu27{!9A~W~s9{BJ~)Fg&YsK^dM=k(FpMs>)JN%zdPIZbewH8 z;|nQnAr&JP2>uI&fCs{7)TV#RI;8%749!t;TRvzXhBc^9o}?s+rRu3j2j7vjuD9Y` z32g-6`k}qz;>y^+Fz2&J&wzyG!6Sbveem&%xe%}ZvC2}AC}VOIT6`RRtG;78Dsxj} zhrhukTSqj5{sm=SWC8ziCxO_n(8>H#Mn#s@ZU-Mz>zZf3%1&XTX|3z=1v*dXadHj? z4Zch{7TM$9-o>6iNL>IPqF^SEtBzlLmrg(aFo&f=7T+Yhg|07c%@7q4XE`Y^LRJG2{P0Nkt_1|7r7i{PDWs7e|BDqM`zjZ8z5ETB6=mE zNXo(dexK|F#e*K0F%HZQ$Q1E+!e)fNDTLdIhpOqDW=Q3dgZONZsq{(i|C757>1Uz+ zCX*O-Y~~1%(1dUTNJuDx7716T-O(0CQamlZS>-An%O zbP4|`J+~osBf`fWxdIhQ*vUMUBynuZ-@=)oH?o}K+<@9z6S#pd{s&?4W~FOk+#2lw??gp;Znj; zBvf{VdMbS61C;iLj|c;s$VZ+n8v*}87n4ofc$yOFfEUSW$}2%rKgPlceO(3=i8rfyISXTT1cZH2Wt+Hq24!nevUwCWa>MgS>3FAHSRXCl}ho zq=wmCt|S}qpDh*W*bKPU^^Y=xBYFk_%y~L9SSmiUza&CjWXpGvF-u7leFzyNfBzI+ zfd<@mrmcWq&WN$&2#l(WSDP;W&2$kw4CYB6)OuHajF~>3iT5!HOFyK(3|aainC5$C zi2V85{=2v?z#URzsMZdctWv>`l1(mpyTscRD$ljC0s=t`U z{m-4k=T;)ELIK-a(Zi6F=Kp7!|Lv5`75|s!U)@I`v^lHQ2#-)CPe5{C&{AZ8{qn`P zsbpk6cxbW@Xh#l`)k)RO!*Nb0-#@$${p{gD33?kLK0L z!z_Qx#2%=*ZGRn}F1-9a9f=oX?b1})It#cOFcrh$89!+ ztc2q{FoVE>B>Id`p?LY|zY_@2U)%w}o;d|fc_l%KpbfRPmF8kJFQE#(ZB3e&YARKx z(Y!=d(g9HfsuE2i$k`4+{GKk$Kn=Y!chdE2`!St|D;*|nPp8`arLIpQb0kKTYP5+< zULB88psHbE6`=_dm>`Ta#}W}Wg2it}IA4rVetMtWqnWW^iIydE{kYU0ZD9OrgP&43 z)@Fa2ORS{%%TJ_~h1)f`7KVdGK#jF28%H@fe}TiB_F6#Er6R1^Oo-+Hu;n zB3gHTI20BI24g;$@@2GS%TzWf!hmDcqAfnalA$Shu?jB-%(M8 zKB7G^pF;hTj~`9~EM-Fv&QLU$IT)F-=898%I}Jc_hVUK}2m{KrPhS_WnPuZY7fDZpcI5nOE+hs&U> z-x&G!XoUKcibHAsVxud+yQz5)86Odhr1>|*@o}Yb?>&WsVHwo+Z~KIYthC<|^)Z=z zlrDY%s}okUqKSF(PRT@j_CfJgguFn=NC@MMoXZBIh{eP(iF2g>)pp&=f+3)?+ZVAK^N`)rQVEN0a82*6DjX1-8!)$4l zwSP1s_VGOXhvX|RqYU~R{*+|xQT6C4^=PsEMqD;$60S66KKZfvFT@^?cVTxqfa6tzLenH61Bni!jgT=cv6YCN zhJ=(L!HH!2gt)7Idryj^pK*Rpq~!6oWdR8L1yvt!rG0A%pt$TqMjin|l(sajs062% z8*e3&P8uD45pIm1h9%OUN*?Cv9Q#pfN(B_-C2D4x3(NUx1iHrB)B`zeq5T^UtfR=W1;=h7fPPs3j25at_{_UHzvF7 z-JKyHd@aQ`rNb|h86`V)WDp7#F7Y4g#X|e5ZGId3e~SHq7sc4bN09m&!Ohkw_HY;{ zr?3a5N_{0AvEnAp=C0P6 zE|G93q4EQ2Ip5`M;yEZzKSL19K%YY@%KKMhL5Mc-!99r3f5xs*f^{5|?K$W+&!_{4 zoPAteu;06@o$+}rH>{{mK1?Mop@i?l+@3@A$fx_|@0|THl3y00jw%=XKmO?RPDY?#m%O6;{Owtto;V)0-8N`S|)(vDf0Nv zj%5Z%FaBe)7ymuk3o^bEXOL{Nkn7GQ6m#Kj32+O}J})tMS<|S$q3PUNS1L$+c^>62 zj9okzCqQ>1bCX&{j434MuGX>W(e$Q0?;!eQ8WTT`>M4=I66luJv0Brcys$HwJZebO zo(tk>udjb|^!0Dc)b(%YhS$H%rp+bxMRFY- zg?i0N?>lD@mSv`f{{JmCx1ILenG34nG3L_7A?YQ;<)R6&pmByk=Y53SHk7up!~LVh>7B&mi1lG7A#N9xs_Spa8k2AnMu!~!WAQO zV;hr}T#9fT-ZF#SdzF9N8u3=Z+}?*AXNkWIEP=w`H2{shE1NR*@OGgoIG zgq83s_fK(8;+fRgBhZaQBI3=zgdQ6}|Qwp6!XW&e^3Dcawbn0sF06uGTaQfaRQ z{|?Ayfpb#g`@4%{gnxp9gMD0tDc4#FSy}d#991T{rAJtR+-rBGK#k|`*L>^qmQ=@+ zTOn{L{2gZ(tjE!_`y!VaDW*}5BsU*3tVno$HV~R7eh4nnKevV29kLcBXC!E|{&G&LfB2D?(Z9ZWR zPs3H_!Zg)RzBVMgRgx9N-H2)euK}N$j2~>DK=y4G*4Ic|3Z?JqyE)@&U#NCNDq70S zzZOE4I4N$|kgYjva~&joUvWTf`)_8B^YvW&rQD6wo;)D;U2%UB?c`K}xD9c>eTYJm z+}!a5P;4WlLE-dUZ1R8P@a3o6J8(K14imowoL$a2&zjCe3F2N35mTp>D|PsT-voi! z7bO;u6clziY2v&QfrsoGzO|&ikO2LAVS#{Y@wgOjAju0QipL7NYu8^gWpv5gRUlXLDiWs*3CoH*2 z>4-cHcq})U^0&H&bgq4MN)RFW>XnHOxm9#Tc-R_{4M4#^1bbFa_6i-SoKid&E6G7P z?SYU!(2~K0dmZ6FPVNlLf1|=ANhMsvNXKNhi{v^uVM6z#N1F{nc^7ic$h5gEm6dR< z1#(R;;T4~-X=bQeHT$k=c9dpZsH6IOGc%L=heH4H4u1rApqK}O!$M=nEscIpKx7$+ z>_f~Dr7wANVh-p{(YD#iudDH4iccZn$+P5!RIVYN#~^c(7h@QLWOQ_3hRpK_zb--e zPF47YjZ<5rzSEsAz9&Tgu`Yb+HW9{!0F_bij==-ALVJg z{rGo{n8Y{N#imTMTl!1dt2^6r z7}tLySM81S2$)?6oMkm%3b}F?6rkQB9Ro8&%VK`8V|B&sXlRBt2-zziMkn1$jBe_jjus}?Tm0Xx6m(nhOl2I`WRG=Jps9kUuYDfIm z;MMBZ;EU9)!Hd+b!E+9QB7ikWEDd!(B2Z7D`<=}dpJy=8LTV9;qQ_>n-7KQ=T1ox= zS7s}CNQWzTCYFv1&Y=g<^8Dm3V9ph|T&BJgpYu*&0AKqg>m~o-h+OP9#|V%A<)BVr z@lviSYUgav*d{{dKN z|0`10#*gziL>kH8zb8<8duQ__{$9vsdvYBe;W3IIDb@6Ru3(?beB{c#PCIy0T^7fr zT*#gyDjsPoK>JVLeO!&mO=tYwZa=C-@evSOo5kk#V|$m9TZ@JNjf=pAi!TvYCKu%i zlNJ#y*C3AD0e6^z3g<&j^F+iXf54yMR;TT%&n}kFuq!lg2ZZyPdi%J&Q`H+@saeuL zq4UJqk)GV&5e3n9neC?R3zWKH|4R$HCjUPq?44~zP1vVH*k=g0Vmsi=?bjsj>(wRC z7~@9taw`n7B@aU{^D<>;#_j75x0PgdUK5e4f!HtAv}0NY1;vrp?}b^r<;8bBR^UJ@N5hdwLE zswg~qXsU=ze`qywF!|8vl4j_WU)Bj$Wx8fb0fMmuErAHVwleFnxyOCZr7LbttoR04 z1CvfA&Kn05mn7z_N?d$1ai_#h0YmTt$HBQ!H-GROR_A#Liqm<0Dnbr_324$OJDRjl zrGGAEZ`ptFhYetFtc#(#ju=r-SK`!J_FG8G!r+^4-$xnzE~w}icav0M?D+un7Nzqb z%-B)#^^?gXg3QNgikw)jQ7$Ab9`%}?IM zmI0V0uoUo^t`O^s&~Y}aZCk-J49F z&9WC@EaE6SpY!+9!8UHAwB7DIx)K-Mk(htJp85sI8d=UP#luf!F|#@o35AeVGcRfq z)amj40R*Y~=JN0J9o6TK@e}rm|267#jhuBa>%_@-r|Nex)PMS_#Dz0gEPyd_1E-?L zdENH&P-?oEyj|#2<5W*PPJ9@3pZB@&gHw~MsK0`iAll@)>=Rg$wBHVMMftVA1@E47 z9RrzelQ6Ji#-D$D^(YZ^ERDVD%NiNuooN9C)9!T$gSm?6Ay*1c-O=OoLC3vkJG z)$srnwySEO#hoi|oi>_8IYBYO)@;6s{yT|hh0T~{zjwy*wkz0yUx@y?CUMHli?w73 zsn)V@jI0e~LtG(rD||XeG=MzAdUj%lk3dLvN=yL}k3p|ePQMsBO0E!D`2{{kSlWM& zcFKn2AosIwQOw~(MD@#bp4f*7panV`81re`i+5+d1(DI-&ZB=(Q#QKEPHm+m-`1MG`L-vI*X4; z%^FP+AG62lwaxzc-AuI>XfL^s{lEd=$7| zNTF#G!pkHGQt|gk_{(BI)_9(K3 zz5T~PtYc+HcYK!LtzsB40AQnEhJEs4k%js8{aoqo)J?!5@r<0d&C74EZx>vvi z|)*WHMb(_F6ZT)Vl|GCE}^@mUYk8z{4b-an@?;S3a(7B z4bOWHu4G}g+*SKg7!`6% zi~P%Vpv#Np#`05bOjp^S4Z<1i%Q;_P*SsO?WJB;v3-O$jgk9a1RigEOxV48s=>zn} z4hZpeJS97z@n;NR^1}Yf-M(}Ha1JCdRNs9o0PgbYVUjQ}Y1;nv-3JmK7sLRI zSFHiCUk5JWyE;ju$GIF3bt1Crpj(25i-j%jg*|e5v@>x9cUTJoD!5=a3A6&Sy4MLH z9ls99FNT0zCxSbt0r|NZhg$&BXs-v`)`RfBHwb@q%I=CI{J2JVZeJHipy2xv@cl#J zd+7gQDq=*h7x-S*0^xrN!mkGauZtu6V;bQJj26_3gL4Vl>`TMtbkK3~ip1)A=oN5y>Jja&}>Q4vHTcY{$#M$JZ z2%hJYk1ISsACY%Vc2aI6H~9XFa5L7+Hg(7F{gd@KY||Bbn?61zzPD`v-S4fVdjP(p zP=W7{TOj`CYL7YEJqejbr`WHP-)t4`wN>M-1AGnHS6-7N{S= z)4oI*f1#uN#UTIH>^sM|a!Jm7o0OF^U>ozf1Zg48y!lU!5?_YnopNcQDu+qxFim(4 zkCvwrS)3}oSdM;=rDI;RwYUtlBTxA;Uope@@vav5ew9Osh&LY&;d`~fm$N{{%ikSL zjjh*!tv|n8F=utIcUTTeLDp5^>h@+_y++`O`60NvIL4e`O8l#0&esU8a+W~I$Tb3x3u7$y+ZrD5pKAml7i)O@+f)dLJ^5Vw^KwG-RvCeH zX6h$-C>nCqrYgQEwd>!|8QPwUuJ%r&cRf7=pb5KwE??SQDuZYKV8C}z@|*bk7mv$lp!2xLWp7*A=2F)`l9vMf zXRM8~Y$6r#`Z)aO65FnkL%W8VQ9XwXk=^EFuT(1bif3I3PsK*!ep7t6j`Iqz4b{w#5BV4U|iHaqXH6I4SU$89^D z8hgM8`wZoH5O&owEz4P~;6TjaTW@Uke9VHq;JS{vJ-Th&9%}SYfRIhY-zLLfj6c~? zmiv|y4^LN%Fhf&}{{d_@mT)0BeWrb`vd!)1V?j>eGS~AWa6-*X5#Zk_cZ}+Ch3<0G zwXK{n_+MIkcuvY0bDabX5W*+0cc;7f#VM{5hX%y4f{lkS5q}JbHMKkDIvC_ccg%I- z4LV{RC(k?a48$9z{4hc2h-vV{Tqg|o>vSjHo%QYGC*kx6{V~(rKI;E~SHNvrPMni) z_gp6=dIcbUcuEqjpZ|`uZAx_7e~qSf`dbs-M6Ub^*woDd+5_-N^oE~U$GN625N(e$ zSt;HwP9zTctd%eczWyDTH=>r@J41x&5mdD_$WD4B()P5yLVt2> z_e&b#F?l&RBA$yVCLCZvauaP1*uUTn;S{eRAbuex{(tY6@G1^wDG*4d%4=z3znZVk z;VX`C!mr4jk+1GIU;R|YXxVR^L8#lzOU^*5&`UQzu1Ew6_??quIZ*w!O51!J$&5;} za}2A+?53b{-#ZWEFX~9?YGF6;34u>6pc+B1M;E1{P*(~=a2d+)Gp!v z5+N6;Fu#ZNk-7c$P(R-!;5ac5%DE}0=@@W7F`BN2|6*L zSQSCyEHp{FWiK?4QqfXDivtvbXvbT1kb*n*Df&*yDsk;KU>T zpA8^%fZYQ8=MbO8-ohJA|MR1fL88~p#ABtrm1$)jymQ95iV1s{RAhZKfnjPZ9-P_v zqr}`IE#(yY^@-D8BT)Pnh)oy2oS`GA&IJG1&O|T|w?8v%e||VYrtr)R7-uvER9rK6 zi1ghvJ6|oumPcf&e?tl+MOk(-iP;!7<7!f$n{hx*>V5kUE>RDpw$~<{1E1b6wGNMh z;ZG`;@0m&76Mt#{74gdwQWy_y1Lr8gM22PilEi}Z6N|Q^o`BO5b%ZJf0pTQ=b5I6m z-@zWSmVO1WHzk(XU*fyPkS~l9#Hn&n0A_nM%?8WBrdpIb@KEibNCSu07W5k`@L)xF#0`6D?uvZzQcdiwg)$b zn@j0Nx&3hWFWx*zF&*UC2mOnpv ze_MiRknXlk_9004jGNHZ-wQ#BM^}!rB>H8Ij6#QD2<0ZRX`TXIXD5$?J`#{aXhXNy z|GMdGV@(0qzteOPJyGodAS^JkPH$>#^fMZXTUs@;?_-*{I(|VNmQ&i#l=;{%yGQxY z|A(1h@G?Mxt}O`s8fM^QpRT?oy#JPIM`0EhVPLkeu7+B`6}T2A<0@1I04mo;w<8$neSOxt2+}b4zr(6K!0n} za>_J+Rf3bJOL+}BtVyZhJB|E=sx0O16M`uYiLOkDt(g5nVDra0)>m!>A+L+T?GZT( zZ8Ip6I;`gLE)aYZ%$#_Yy#kiDSt3Gzc{i3>(ii@>`pG62{qS*C!ipb|mB0pQ>D_16 zuKE3Yv72RwL3E8tvt)ybp;1o#q|@BvF6j}$`CnY}DBn>+Su^e+9LZ-|ZT4TVV`9xO z@?|(wDk=}j^AFvv$Niq5*)&FUs z6KqVJNuU^ebsFX8DS$!jBPZIT&8UC}J9v#cDWO2ApO`(87z;@UqUXru*o`ojZ8NJ-8TzLgz2H}&Ua*-w13r}St)RpHU8oqS z<>2jP4m;bf7l+9~qZb?t^@1(n-EsxLR|pWECTCAFTz<>!;S~464i@l-ndrUsi2_R% z75g-b!7}-kPbuGk|N9N($PmgSUU>o_XtxDgdgFw+{>`!hZ)R@u&=XD*{;4;Oc zx#&qP{ClBdvKiiMA5v}2tMAuW&InIQ46OZeiDh0LBo=&DZR$}e*Ci?f$bnrsL&9uT zSfr!2q|UdMxW?m(Q${yu6;d2lP7l6lfWIB%_BR1o-KeFFfe@h~*Oz&Z)cj}WO*V}^~V3}e`ryY z?e7zsyqVmOhxkbNKam&hNOk#&4Z9dtBtaMGOmihZjZ@p3!I7N}`5#vukvx{7FL^90 z{ls%{V)~NDBK3cz(zZT}dDP7IYot}l>`75qvwaT(&$%47Aez$(HSp;NM0lJ9%afBz z{rSV@^KY5YiS|*S|NZ_0iDguQ{3`QQQ$9Djn}ssvgZv0|FjRXIi7tb_S@p7*+QWJh zM^rCopu|QJ{b>~dYCkcf^C{-_VyO9$xM!CfQGQtkigOr3W~R5{d#2B~nm%6v6WeV6 z;vQJ%djs@TS)E&Pnf5dN2mZrqh2P?daj!6KS9D!x&1hk1EYR`1Vk%* zBjRor8x7Uum{C7qAKau$K4B2#6*FIUrgel!6Z zzEd>>{y5~++neHVA5m|`@;b^rAG7U8kjD#>`jmTn)DRN;ATQdI#PUC(rSw0{Jdn8H z&bpL-E9@bZ(%{n^(Jdk&-9{92`%1Y%=sBaPOIYtFc;X?oR843b=UIeUhKSs_UqanB@or4wzdRwWjVqCTb)D^iI(=~_o5 zM(bi<0&OUWfI2&0+|Y80B-*Kvh!P;@F=Yg&kjO>oj)V_{`0#y85Bd=7GC1X4*%LW5 z=V%T{Ad~55!lC#mR1Uj93)7tD&&hV=0XLv3zbc7kV3Y8pD`hXk)Afn{+#dCFL>;LI zpJB{a2kol&4;yhy?~@-r;#}aXq;iGP(a$7@~}> zwlk#u+H2~sS>d;MjizkBor$3_d}pQ(-+imp4U`4W5MR%e(n!))PILH^JQP44`h{QK zCdRo$+Rosaimpzw#qwCq=KdEQ3wt^T{`+&*C~Degt?{-QwiucK12e`r=4X3B&}S^?XPVN4w+K|M*x5ff$(27rwE zP#9p4LUR(p%cg`Iu@`Cgr)uhddplr=rc2nim_D? z8yao@a3au(k4y^fI8>On(uqyV-Ki>aM#5=PGS0d7zQn1o;!S7rdN7a#f}M6%9eofQ zFAm{w;M*AZPT?Yw_-VR$zUt!Q30(v`?VW_y5fCP-t{mVfl@kv#^Ueq;cM{(!eG!<6 zjM*sbvrFTNS@s<=Dv+3St-RQv%-n8f#TV;S(&fiN2}!`A&sQgA{hZ%LscyfDUu3d4 z;2uN%)BJ;S3$Vl+Ca&dl@0tb(~}MSF+a`zNeuT+F`VSEIoiI%dizMD zQ-u6dvwditn(sbOw$Ee;22qNjf+B$o3bv26%yl$Wd8}<4ex4^e*KFInBr*3og(MFX zBeo5G^G!n1nH2m|>@KMbBd-Yn#+GgIS@0~soBT831edeYbzA%$ z`JkK6g-*<#%&L2D76Vos&+mXeQ|01YShZ);@;rX*Ol16oGeVw))PZ^%^(oJS)mnH~ z&&F-oc8f@72`+6vY`?J&3S3d#zE0?^4 zXohN=^2ta_hF1TY{U>;2wu#%|;|w}4IZkBFoXc)SrD(_5D$#_BvoJ)cG_a`18IyTQ z(&hqbg=l{}gAh^TM!&?|K$-W>0Pw1w!p`Jp6Z0;+HL*}G0+cM!s}f6x6K6k$Dec>z zLdj$-30j~l^a#;OutH#VEgUsT`vtAf`pr@Q_C&`l`~5fq#6udib%O?{v+6eGT}u*y z*WI=qaQ^0Qj0gk{DUaL^Krj+h68+qg+}C#d@|}_sp~U8kXTq{%fB8&%X++DokGRY2 z6zTlQKHLhN@sWzI7{RxxAikXr-a)Mz$-lE-4rkadLp^|#$#lp%=@4IvzNg%JW~^;i zs^(Qjcl8X93|0Hw{#~7$Hr=?nbNSHd@JO|DuQxQ@JJ8?hq_UY*dR2e#uH7Sj`#P8B z@=m!_td$C#nY2?{PGYK3wsyLx!2YV93yD}A0-9T@T~f6s_@(@^h-XWb$H_Q>BoJ!wmg zVln03{$18yuWD6BeQU_Qqep%p92v5L!GYfX5pT%qALzf!8yc`iOV*{;f&Sr3z@zFlK2V+qxPzCN!y!sZNHm60LOW2H6E+OT=+j+=Y7Z3(vQ=(&E&`VH2gJLL6` zSTz=6d9_{Ma0mv|cdVbTF4a+2m-N)twaIh+>-nvF`6VkmmtV4`8ER8@5VY!HjTHy$ zl;5}h-0Z?Mz6=`YzQ($0;7+gBu$-QrwcEC>y}4)m##=V@?6`UBhMpd4qu@-x+t<+0 zV95zbjei_OP}3XG(_6dK+T-o9M*DmFdq=G0msoqso%gC6tYroo&|6nmh}ht%jM`i484U(|Mg}ZzXlP)l zM{s{&P*7D+$g{Q&?D4EE>Vc-M5x=xST3XA5=)1b;r>pCR`cr^a-R%xp>*ech!h^0F za;u(oqk`Zj&o_VX*f;1|SGm>Ohx-C|c(=7-7+MuDR$15f5f?VH&K-2Cy(9a!z}fu1 zfjg|V!mk+JS{D&i^k~Q%9_<^kw%l$>gKhe+p%H7Z16=(PJr!#m^abO%q5t;&fjj!? zuy>UJ9ERbo0Dw&c@_2m1?C_se0K`HC=JC8>}5SZIPEjdRiToO!G8-m9uW8oXyrU zMc4CdKAWsY*|7x-ozA4nQFA&AD!%8|Dz&Uv$mg=16gjx_xUB4&*Z9=ikseG?HcMG9<|o3UH9A# z>wDDT)~Kw#$FX{4dwMd~avrSgK7)w|4u6p3Q5wHuUV2TeNVB!EV=a-D1ft7xL9iu2PA*x?$_q6Li(k zf=PLKH(kkQ{amr&mOVjoJ>O zZn)FhYONiv_V%uWeYjP~bX}i2JlwE=jMK6=#?7Tmg+k5otLbvtNtav^rtlK$MK9{z zGuU^}J(kiikQO~ku^1Yyj=;mNAK2>d>k9_l8bt2GExi63TE$3pH%wyC9T5Rz?RNL^ zvUKK*mEGiuX8qhbueHS0Xk{mjP>DqohWU_d>>r%~Mv})7xKT zh+)eg8t5PC8SwpKZ=^vxLC0ESZImg=F9P6U_3uXW;btU*LaPlg3?Uy*UZxSmht%J1 z1#D{Bt=cy>Z`z)^P;AjGK5G4SQ1wt+cU)cS5i04qY2*4G&#j|9Nap05-fBY2I{8{I zUCd{5l@cUd8SU+>VFOr~in5B@2?hxIUDlbs%~A@i*3Jj|d-}aQKsV3Y>ef(Sfj@Y& zOkl0s=`BKkN6R#wc6I5ts%fb5o}is5zc9XK!u6IZoJN{L1ERPialzfuVQa8&G#IwL zI|rfAY9ABc>sjknvs$QPAY8k;jCAelGJSM)MXfZZFB9!-nO63D)v)|S;|yPlWS7gM%C zw7S>n>WZ2yyLF1Uw}mRbY9;(%5qond*emW3lkOQD>fLMg4D?pm=pk><0La(CfECBN zx*t1g%^K^*f!>H1RJZDZ28aMZv?hc%!S+Xo<}*k`cgw~eI=ADDQw&d6f6QNF0HL-| z7~I&5b2=8DYx(`l4OT^Ct?X3XPBpmdlFn6YjLgv{LRXhI4wTUsgOMVIH4%(&bV4Yr z@ol)N`X#t6YBC(+ks3LK{BXFy__U&z@I*bPHnO_93^XQb4E}hSCg3p!ptWhB>IMqm zOmn5mi zQk>hY#58Ea2vKF?p9;K(t=?e7TGxkdT?=&yt$u|Y9DUQvj>F@pZ0cK^K&@d|9n2Ar z#bDT{Otqzoxw13R=&N=!_I1;^)9Y)pu2jDbi`P#??+ogSXEe+BwCidWT2(7;Qz@GU zuo_5>>g)-66=iMGZg1!xc75+ELAo6SAWICUt%iCwnscB%E_H3ZaW>5}m~>yB?R)}0 zR5nE8xYM7{Zt?aE_YPXOr>)x^Yj4`xo3Zw0AwW?mMlgh|e)VtM|EMuVJ`Hd=^$vob zy@O768*;KXyvBMiFCx5(&Jlsf&U7c+K$j@ zT8&-{Uf$1Sie9=}a!a|qzro^pQIrk|4B@awZJYRqlygM=5~7&e>XLLOkAu=i^P8DL zrCKWaMf}ydieD<^@oGM+8ECjP9wjZ)xGn=mXt3b=oQ6s(j7s(b87GI1hn3l1^q(n>eQsvQ;?4B!Rtnity5?u|#k7m-c>|6_ z16F*Af*2=-WTz-3GyMnj?{GYmu2#}%j%K}FnjMby->s2I^U1gZf08&iFgT3;){6}( zyIxcTLDw_y^2XM*bu0?hyHsjzt)_5KGm~<;>}4~xLMh`^(oRM*6U!g%R}K^F>i*56 z9P5URiXlqjyS#c=s^Zh^!9Zh`*<3E4D?9X+&*##4d{p7fZb&82%WS5Vm5nqMTNDAF= z&My>;nY@!NS3MYSnPt`Ao1-UXU5a;?Be&Su9U6IbbQOeWS9*zhe>4GTOEs0!ma1^A z9U<4+AbTbMJGs&RJBHlB9!~ANzG06A`_)>>so=?nX%q_?7TnlGCRLx)ittQ2KB;g{ zA!pNbE04WmW{0!Man#ocO$br;*Y`5M3v3Avs5%u6XJYTgyKDwCKf?2M!Jf4Axa6vE zE!jIj)3_k66*xu672T4T$$^i#4R}LhEtDofKiTZqOMcUSejxCe&_}wEMS@lQS_Wj! zmLM{|&-QZE<%o@0D_yEE2v@ zE946>P8m}(HwA`N%KXsKP?E?URzLLKo7ZavcVwTVt_$gW3Chf7vR<|5WjOPTmJ^O& zLYL#{p-1)6y{>4! zqQ`13?dP0qFDUHjGs$p_XNbb%so7{sU$ax!6ub}GWD)};K?d6FxLffdnZ$;`w z{b>&;LVJ4DAoRjvIH#ATYQ=*Dt3{3;C$tLtYQ+RfgQLT{C9;aH%GFGzluc*TC1Rk! zcT@}W(&`YRD~T)}`}n$!MPu&89cPZsJ*%T5F!Z8($Y--&F~iw>rt0{GEZD2*g|~H5 zn^Ndxgt?2yx@UN_B6H%L8M60k`J%(|Ix0!Lfz{In0c(s4oRW*XYXtvlO^$lhAtXKc z8JKA`^|R*rWnXrBW{DonkiQ z!yEvNd8a=5Lzs7LkW3Zm7i#ky#7Z?+&Oo5Tb3-nJ$;V94w<|tTJH=ei&mllSyb*ES zPA*A{&X_Z^WA)h9wvOa_Z^-jgDfI(2O{7PegC);5`j`mnOfE+tMF#t`1QUW_5YV78;TktR((r`N8 zOXpab*v;a1Wn;=}+sD4PxMSJa|IF@~A1F4HN^KW=3%|E_r>JF^&T#`;>1D-T00MnE z(g~HZk}l+H#as!|oyE9A22W@ej_jnhlB;P54Lg+@a{JHR1wm~i=F__xrYB=7-B)bb zGylN3)f}%>%IET^%B5N^3;GLU%J9?j8W2D-VJ#qmsNSV~nFy+U#Vz>sI-wOSHlmzW zc6G7JU3k}`MH=$1)AwZ42^uy5r^UeFzDC)QDduWr59dxcOB7ZP+0fKR0e_D-vU{Lb zXK*<=|0tTLnT#@^B2<-kvfm}t=>8rF@sLG>O87YnIk$w}EdC=XLcJ82wh}uzkt}?P zYUTU6N|p_9^LTQ!$WdRlk~WT$)&fPQ!RJoFbDTojE0*(lxJx8&X7Sp1ffDpO&gqWjlJMvY*<8SD#h8j>_lN?pobT9SMlK% zRX<&9t5$o!X}z*$tgW|nUYu}Za!D_krFk-ysJUj*Yx>VUNN0Y7PCK{ z&!>@mgTx?72+|&Jc-Tb@qD<@KysZ+#w6WhGh~}MFz$iyAf=oJ8D&v7ofS}}}3=!7n zSK)CvV~A+JD;lysRYn~x4|6!(Llnj^ALY_zKacM#?YfX|88V69MpMYfKfhwA>`E*U zQAi@y-C7ZJ5}V&c$cfb!y_N4z=puLl#|Bd-mW19HTQWC!6=Ogvk+*R>ofh$km(rl9bM-qO>?}#Cto^BL|0kNkE^U z&6O}fY85sPc|4(&>ScoW3ZxwS`7Ir1h)Xo7%+rYutRhA;77pOX+e9D_n9$(kY9Pf1 zun#$U+uS>d81Ipo`JO@IB%z~gZBQoO$awxPW4blBkjuM8iH&r9aJ(*Tr_sT7 zI>6J3e8Ge*R~->&O&vrh9LDnHi%PkM8$Vmk<891mYoNb2iUmH|(%AKX}-^4t`KEgbi8b}kP~H=@8w(io=4BsNAn zp3b=0V!2#E6)a_a7Ax}+5S8MdIcBQ4jR}2d;yF&(T_x}3YEH?i<;ywzE)XI;74)Hm z*vz4lyK(G^tsSW#{ETyrQX%7`OXM7U|7I59GUdojIGq{0t{63X^Xtz1{t;0vi0;jm zO0|3~4-6~9XL#PwClSCCJI%_jICT%A#GShi!rk-p_{Gw>qPSFJ?<0CsUzQZ7bgR`y zhMLQgMuaoU741OaBF$h>@pcUzWtv1Qvl2XY3c{+HcTYtQf!(2fOs`bI^pM!|yaSt& zBZ1~d4P6)Xsf?4JksW)(;*K4`j)6$A4mm;=t(Bg0Rn+#PS3p1UCE!wNvkje1GEeh8 z;sd_myST;4hr6U1BDJ`R@_{pRJX0 zu7f40C!z&wa1vU72p6xK_9~e|nQ(7h&XB0A3%%a3O0Zs&_;eI5xQH>$kpFqy17$Z~ z%%d3tZXusP3LG4ndEGu^Z_{wmLbg)NtRg-;n^iIV@g_Zf6a(FDsC(qyoJQ9GI4q+PH&V%*v$FRd*i;pn6OOh5vi6WAU%-mt|@DWm9BZPNgkl49c^h(jREa;X_A>LG4I{9mG zLGSkVcs(0JSA8b$R!Y@^=i))E=Bx0OrZy4EwOCwG50jD27o5g^9qvJo*24fCP6Rx$ zWO7JbvW|;|G6KMtbLdtLry6bIV1bh}ury0&oD58-m@BgypNN;5oEqr;3gH-%kmUF^ zV?5plS%ibD)D;^?nPP(anQ{%&5no@f$lQhhON$_CLL4|MuF9Pb`wzFH9KCWfEV=#{ z+E==g;Sdgq;%D$|v-9x=5iBP51W9s$?F6DBWpiZGdBrrgN2Q1#UA>CFJ!!`XdR7@J zk#-yh*R?QMP2l-)cukzBn=tf%3Zxti4h4?3q?qi13MZ&LqfS*Ocy*% zks1hBAAd5BZCqp3&U14LgwPxN&f<>6%8kBfy6Wmg6`@q}D%oNVzZRsLset{$_q9%_ zWvECgtTPq!EQ&lX7$Us>B-}Z4v1;1Qq_Gbw#k?QxoP108WGs#fZFr?<#5g#JyblR9 zul_U#UUktow#4o@s~m^vXi31Vo5KrmpZLXU1s${E;>yDOQXMHRE}s?iJKs^zkBssr zd8N5(u0)Vx7AG>Qn}?p>5Fy0uLXA}G?x7`rStLF=36q0s0$*zA0vzAesvcICoSY4I zlQPE=8=^eSTvnR7@G04p=|VB%;`Gdy(k@7-rx{|Q(Sf%|L)ImBtysiqRB_!rK_ZTv zMr&anep)OTnXk?X5eBK$2E}(xf{!wbFAH}LznzcQzTg&#%&U~NVq*|rZ@tKqdKc8l zP#s(zc7P6yi@VBkV?oGP+Y^({;RY>28%^_cC0EMh%^;1K5UKP8Wx?cCIcZ-GrBzZC zAS_h8T((rgy_Y98Glv+fzm71g(eu*~cTot?i>ppGPcSMzAMpr;_}KUr9!gajga{~a zsE52P1}}Lo?gyvn*YZeH@t-ucIYD2egM;2}VP|Pdfe@^Qr_!(Hy*#$H?o1k~HVvJL zw9MyQ>A*@k+a$Amu6L(85?(GVVY(c_7W1WYy5RbSQdz{CEH#Q-YYJOi-@8}HEL-c{ z%eR~e)(U=>;HNa9D&kk*xpj@#kNQ*HhH$=f!t|U>{B@Bzh*OWg2pQryg;<-MpLHFn zpkUr9dwqpTmSTaDd85}6H+S`__350PQEZ8yQRL+yLQaaZnKU*y+k<827A56cy^&cK z?sPE{9#xN+ zom_#VbPqofMJgiLPhVu!B^D-jgVi&c$Rb|MsbyT85ROM=4=50d%*jNSn0s-trId0# zMJK1|RLa!6fF#fnQR-?$sgzLe{dBeFX3KDZsEuk8@;2@8VB=0e1UCrfghUX8L_nzn zq6#sGy-XR7QHPy0kRB(+Ti-)j$PnJ(r&auLBi_c*HXJ#Iwiir-bz#%kaoeO=hj^=C zp7~C-l!otNAV<7vI_{tNX@A;vP%3k-S8+;d;zaAsL^(loG8~G4PyVfTo021;~ccw6=Fk@8H6OqF1gC=Ym_VmdjTwl&dH>B}oQhe;Zb)CKMSuI)|$Y`p; zYrwkj<%!^AQ1?taLG;%=oNa|lCQH#Bh*c-4cSL5Gni4tdb+mCJyC{w}2#XrRg4j^l zJAR@#+NeG*)>63v1E%tStZfZLvaO0G6rn-^_Q0ekvX@2%I(<^+NOpILqa&;e>Ix#C zImkW{DeIN3X~{b4RC^-Wp%)do($e7&IfQen^Kn4Vv;arz)L+VGFLFO z-BOXjYxcLf(IivA#}Vs|o;-;}s!}D*%@j#u#Js9E2&yAi)uS*+v>Z6DQ-*P>5Vjsw z-9<%U(NP6YT*)ULuR;(IkqC;xHn*$ygr19oRtkQYLPd1p7YT@S%9U~sv6rpY0?;V;$B5vkI*Q~Joi4wKo)ksvZ%~Gw#1JPa#r=lZ4kLeH~~bj3?TJdCt?~IE`bU+gf#&hxwOIng#gB3F)}(x z#){s5r;rUqqNVZCRiQO_wcfUJ&MmQ8~apL6{>(FSRlOMR1!^0k>hk#CoGeC z?i3kFHVE){vgSnCC*xh6c;w4uJEa|*)dUG-k>(-U_UI;Ybx38sD8QBrV;@-5@q!Hv zM2KWBV=@pfjkNKFJ4e|Elhr8&CZ?mVFDqtd!U8Z@RzTIswvVzB=unp~}&4^di6HJ7?fE|DU62_0+IFv5;<6f}Ch zQ&PX{FcAqEk&_S@M5dI+H|f3yf$D|SdkU$_A!`cL9Cse6{?%+Oia~~oLdFSFsOB;-J-4Gfgk%Mb##Thb!45{1RFEuW$5t-x zxFT9V)2S89BtF)tP@0Z;{0q875D|DPNz%v#X29`6jvy=$A)DuT0)lC15iLgo^P-rS z`Vp3LuU5z2wYcNPcJ0J9w6sMwpRA#(Lol%qv=C2?SXNdVfW+|8lnj!BL@HDt$tSQfPFy)E(X< zyOptaT(!v*ie0-cXfAdQ_)t=s=aiE!a?(Xky2#Q6+W^ZZ`weWAWMoe76gFghYs1d1 znX7lmPE6TVo~{D%$*Jb_SFM1I1jw+*h&xI1zP)F}?YDNQA}c5CPBnIR&{2lyG>%~N z6f3EcAp^;huuqjdg1@Ea`zG=qtPL+5r5Iyy4HGRV zSiT!nR2I^d`$SxEWmx?~zvVo+s%iKT$>$!7BSxjn)zb*~O(~)QhcAtXmrbWm69*|*IAW!2PEJhkiUgBQ7$iJyp}v32N7o8Z z0^*YV3I<)FfNqhlNy1SRqR3uwV%}F#T}_E81>Mg45JD)5Im*@&%tGF4gMy_9DG>9p znE*7eH?-u5Dv-`O{zCvAySZ%nPQ-T?r9U9c(r6G|5p5QwNmer+!>S zat(Xcy_D8@+!3n?|+i&zE` zfo>6J82i|kj*EFM1!4s`OhN(9Of zCZf?zy^Sf)MIBQhvM-g=e#>p%Ucp}-;uPhN5T9J;fG&&otpHt{?u@|}&Gf&*P0E4TA;i#13M%DN{s7@qD{(SQ)I16@3B;0yV`LA--6oek zfrMYR$lo+LP5hNFh3zTrMd5=YG%dm>>@g;Go~_i;^=BH;7PxR+P$7p5<+WPIF2Hfp z&?1_EBGPFc#ZHtu6|aI-wyuH!iYcm6T_+4O1v0lxhYKd8!x4-|c^^vaS87mdLr}s* z-ZGK3)R`2AuS5@LYlUn+ou8g6*GFbDz zo}@T32bC5H!M z^7|TYTOy&Mna{{><+W@MG*45B5%J`Q=o7`{YIll=mj9iC7(t^_fy>LQCWFb~sRT zi#7a&l2YB=DCDIR%AvJMeaVJ$Xxm3CG7yFEr0PnE$_OsU5jb*-fK}p zBY*liMZmo{*^s!yP=CptMVyx%sUFEN0<{~~)@s`|^je6QAWO$Y;7ik@X__15Z&pEB zBk~TMJT-!H1-}M*$_s8=$`A)TWv{VL3%X$_6Yx@GNerUo3unUUuYnQ@x=VoFVurE4 z9FE^9M<}fYh=M4HaiSx0k}So-u`L@~D3qCU{|Iv<`-@BnRr5!8in_vmK^f9;Im`1i z1Z%__sBL>zyEb7QVn~9rPYyaUDI9Hrk0%5{BRKP(M{yX=CbN!@6hg0J1>L>j2B``L zQ-d_fu|ESjJ{tg>S&A*>@HtVBhd}r$Duui-9Y(ZJ*S~c*aU?i2SK)QM{*czcP41LT zO)yxOBl1i6fNQggX%37yfD-!|+B+c(8m8Pxsu4(K`v=6tP(>Ep60Q+q6LHm|We=#2r$)&TTqWT)hI3c)MAK)f@mFS2>aMKt zrGZ*-l3*j6uH@CE1O)MZ9ItAyY0B9?TA2pr&17734#-;{$i9f z^^zO<$`nB?%I0v;kS>&}V22D+$Bvd59Z&L7_R6#{dY5cd5qUwm57N}VJi%>j(=IKW zG<8o;GzF@>+_Q$~DJC0eAZrTpMmUhAb`m1Jc_28NkA9eU zIgvt8YT1yV#+F=#TivJ&@h!>i=2k#JL7X-UCt+C?qQ|J@fe=op>Os$PlI8LEEgt5viw?Uj|)iGNu(_E~L< z?%Q#|LoldXz)x5f-9R8Wjct)#xlU_w@oh1&9$~P1hLd)3J)|CXjdV9?U-|dcYXu9P zq!8k|0FdHnyZaQ^9o{X}LLFK>X@yFa0vMloy|Q&ob+0gttuq1J(4fhD4)(Ueze zLru0$NFj#kkS%(6r7&B?XwcjG=v^xLql9nF)L; zpyFV4|8d7qf(Ey@q%~$Z ziF0!5Cg}<4%_N^G8%H9O0+l=n{DlQ@Vnys5wN=89q=-gZj4WMDptUTScO?$Yd?MYc z2B;+`q!x-!#aZjRajxeUMHHbUXreyfOl#T%*0e^9I~Y{;s}wusR80G@AvD!xA*YDs z1aw9mT{%O(M41pSxo<#Yh@msnMQKtx<21g8C!0g-qC@2)eYBl3bYZ>@%da;Q7_qcj zacq&{Ev13AQvZh&n1PP68wgsb*g+}qq&`!Ytil-f*LUFLiP(&x2ux0vybPfxE@dQ0 zSC0+RlEC!0%>?FBKmr#S1z;#Utt$Eo!!$(2CnqC4<0J!B^uY_`FE}9 zC?W_&4}|EEN+~CN)L6rvT&ITyM3yzy&z{sgLwhr_@q@5TJ^3^QQd3Bt!jV+xMy$yy z&F5nAoy;;L{{WIqq)v|bUkW+9WeoGOlC(5y1Kgtd2CshZP}J3Tk?jNc6C*? zG-xz4o}RHJ8@udaAV9(rmWqL}`vG~u7{U?=m@R>@#4&{AK^DLXkcB`9?`3&xe&4yb zs=IobMdFcoG}B#mmvhfO_ndRj`A>G!0w#V|N))qgxjY3i1IT5E8YwvP3?ULmOwGG- zz3CP_AHi2GBA2-_^@xcP;5H_l>Bh{xSJ1f6!yMjV|05k@|jWjGj!-}?XDiQc;&z%M1P zokLtXTwi4SFnry8Ih?Lx@8)&U5HOX9O6J0!9@l@whs%wdh8A7mDC>mPhegbOfx2ptSD|A!lCXLq zf!+|w8Iu^Q@#RNYd86De$gkXT5fMR93gt#{!kEp!z({(GQ3=K+m?bEa6oB&p8n8Q4 z4;dE{gf-c!9;Hl}%H51!BjZHxYKx>)A~lN0BeB72#OiVanx#vO$wQR8QIABTls8o! zh_?jjwn>CvhJy!;5dC1_2#MYyrLjo9x1@;*oHFY_@MMr`OpCj)J4Tz4nWWJYs3bNZ zHzKb13cA|X66Eq_n4~1LlO5yPfM+KW9338o^17Y23ejhWf;Pu}gDdr@uxX3fp`B5r zZ>NH2QxIhArf$QSd{0_nG1)1&nz9PTvgn-{n-1~HoKon`z)_^52@dZlZgYfb8A8ur7BX!gK+gf6I%j+3AUYt3f0brrbGW0_8Feci zoQU^BIp4bkAr1zz`2*YwfQv|>26pOA+Zd}1v{#5=P_)uh-qBB`b}+d2g!tP;#KS4T zPbbH`Oek~A8`R4MH{uh6Tvhb;Nm_@#yh@3@nv! zhiFi00&0WObVU3&DB(VZN67pncv|nc-to4r-(@-?7bHHU=o5-d|A{M~HZOz031)UQx{&9&JyFPYKCqD6!ZcJs&c8CuCT<8EaI2% zTi6DW=#;GDE)OF?V6gSV_Nn-Z_)E39{=>?U8@UOoBS~k)8CVLsNF^^F)@CqmyS~7~ zfcsabP+74HB%s53dMR~`OnTz?crtuS(SQ?5uvy@~XNgcJa6A>?q zC(ww$CATXnY^*)%BkCIZJR?fia;a75V^<;zVJWZBHbhpVDCvs+o(#sFf$uY7dTArNkX!pjDQ);j!D0 z&3v(-km+pNL~&{_G=-am3*RG0c%-h>WjO-qpnK^3Bd?gpDrPt|S|;t4djnFmxTohHSc?oA zl9kG2az~43l8!vmcYyJw7|(L~yA>TG|#`*8#T1V`=z3ql2`#IQ4OAF^83Blr*} z0yM_lNfncj(4PI@zuNY;j+{ee5vue2d%S{WMRnBY0jxlDE*6UP)9#i zDa&JJswRsc3@^Wnv5YZ9vKW;ukji|~xw$n?CPcrs%GwuF+x7j4gXN&FPYSq&z}~Nt zYQkQWRnXtafEEgx6~a8%{Cr+GONIeU$l z-mcmdJPbhlkz_*Lu*p&{ui0q8t!>ZsAaYtD7=5(etEHG3F{WKr@hN}yO$+zW8e#kPnUP!eb+QilvR?b2;>VMT>v zNr)p+64udSG3gU}V?_O_Vhb=Lr6Ec+VogDT5&2@K2qSi;$VC$e?*IvF1ni(;&dM=c zs^HBnbDUR!{Rw2Q*>Nsozhu{xJX;hiVvngA&;$iEUDITkvcTD4M%}r6ow;Y@_6)ax zHo(D0pb=h;rYFgAnJA-WhGz7^|3-uHe>?EM(6b}Gd(4Pbf$cqD1P9C`@|k^CW?OSs z&vRaJV9P&RJ8Cz2-2A=-2}%^g_{pYqYLqmqy9PEbxrCB$$sE%5>Uo@ zEqDI1_)8AfAslx`Lr+dO>vQ|%dL0BpqP9q{CDY9Ya8pkq7A8J=YY5 z9TB30oN}`GepDprWV!7OAdh(Un^kUm0CmBWyhKa=RthC{bVwRS32KDsR-0f9AYpo? zO3%#t+ex$#LVd;GPFhn1(UgUF9Yi3SiS#w*pq&pN!$MW+F#~f&fbQb7ZjY#ETj0ke zC5Y@>2fd1k^|lhVllC+tYHLSCQQy+z{YUVUFh)Wz@dv#ey%2%=+X1?wDL3x~TToOc zG9x-nyPb@|Sr3@3B-+uZD1v~_u%twCNpXbi18ttq3WU!2m&oAE`DgS>7p4dUq*KVv zRbs3s5YA+!YpN}r6rvOPDY_x~{CX=G80<8f&?`oiph0nSDeFx*M?wsvH6MEGCKGu! zoDo}!yIZLOde1?SINQ_pKV(KOCtOx=BxI5RaH1n9y~mc*47SYGpO}gUtbW=y zw@0;r!OA^KxhAM*G&{gfm5f_&P9jp}KbEx$nhavENrp^`M&KAeHy9G>xtGST-aXkG zjK|I!3ns}VHbcoo=M$TTxF--C#4ALak+6wJq1SWLcc0DON0CYh)bym558=BR`OFBC zstQT0PpYc-NB#AM#~5K|l6bgnkBBUQy}>G~k}|b49V-S^#03XrcUbot6S7y>gdnE_ z9tBQ?E9i;sZ2H&(7XVK-&3=3>LGps6zApqeJ zR_CBbigaLD=G)G&x`Vp<_=Urf`*C!(Du8)7ArgM+x>ETSR%5;r>2M9hFNk}e0C>V< z!HHdwk5k-;J2i8Q`I_q>-J5B{5{U_iuRIJ)yVTi2}Ij+P67~6lq`YwmbXxx`v3~PPv#D? z2Z4#Y^hQM4A&-%@zaB(}LuT7l)awx8GSRlog$q++s9D!8N=K=*?j!XwDXojcBFn1O z6A{o-+~5+IWJ>KU&5l=SysjQ)qEG!UkU41EVEl7^L>W6HeJTYLRg|1oH|vm~oqHye zcp$;NG2CEOSeyZ!?30rCbpYkz`k;gdmj*ju%L;S`-Ys^v&t{^HO8UZ}(L>Ja9vQm;#Az+KaY2+9*iM{IDb-gb2zFmi}AF;rO1B|Gul_1Dg zNy^47Z}OYH*4);qIbHoV!vSTV&)IxL@o}FANR6PYa1{r$$~St|&D0OwuISp`cq?pz z;J7?4qFr~H!0Aa89gg~z5LxeO7m4Xp=dJ>*1bK3U6|jZ3bhLviC==dfuk=j1(0jTf zShoVNM&PjLG>q6dEH+G_rht$T*=G~F6_I`d$AgknP5jazx`H;5*?G%bYt~us?mmg( z7m)mI z7UJG8V>3K147<2Zt4+f!k0;)1p#!xA43j%975uP2NY?{?RpPnu=c^t3x2P22A)AM6 z{*@!TQ1w9Wr|O|jXn=-%-qv}Osdw4?@zqCI$E6vb#4cupWr6sIj;N#@9!WhY(*>^# zf+7MV;~Y>F*~uUj%lD#l~F z@Oc5bk~C%lO30|GfiereE{SEDl$}*FeTzbnvQ>oUy-*nSEfYbSY+c*W?-DEvCy1Hs zh$o|5BrZn0GU=BYv6<~-u`Z%cA4NyEqwn}Jf0`nnJ@TKyA0;@(se&*KYxF#G7+rRH zEY0%cTrz2RFc^7fO7M$kT)YIxXwV zn`JP-pv94kTO1}0!mY@BPh+$Dx{x_6*h6OhS&hXPgS*iR`5gEV>@!$s+J1 zxhD(Xb7*}u%I0X8W=jO#01z8(#ZB7OQ(BzUIx{cuhSULPJ3xQVn%nnx+*8m~i5n8|5;oW#qOQ@9pwPm#my#65@aAm{%>?Rz(ly_c~g(~Km z=e4>Vg!Jwxd)nM;N9mV294;+BYO%kxNlRmL&&K^jFWH z7P!x7kQtT%UzW!xOgpVXhQ*j^0-#A5zOW&M1qSO+J+Bw#D#HyNr-?i!@SPC&2C`yS zweBGqeCamiv9kQ28RU60pi&zk_#St%Mq3=fE}bD5U_rs(sP8xaOM#-HPyw>rcghiY z76yc_{Rjbc6H6n{67M!KrGGFiRChvdD?x*x^>#+!;={s=HdmjVj`pX+f(N+cbsUUv z?q|h8W1cV%EKMdEkA{$|3%vzii2s0KBRCL*NbEY2#p->*Nl^k4o*`J(r~rC+?a_e< z6d>qttwT?r_g(V!4n0;|91 zq|B?OmOyj3)Vd}(22>22nirDm-?|5UpxwopbeXt3?eei^2BM#H^iP@!f&2u3pOkmX z`q{Gc;J0OvSe`1&5842SiwpG{GjeMUU*f&PXjudn;P&Z~`AIvJIYy@=>5r@IX1NM8 zCa}|s62|5s`Hu#wluJYImMcL-fjde`EiK9%4fbw+(gJ1@kxOV{zGRolRmxJbFnQI! zFP!CegL(~G97*B&66yM75FT-IahrfR>Uu=xwhTJUQ)T(V;0V?)5F-ngJMl)2)Chvb z2M;jHu%69R@}EqP5Jv%Brot34M*-8@OYM^d+Q>A)BzesIq#4v=FxSD!0mscHwo{sc z7cxWX%ALwEpMH*Zc$#*=?nLPdunB!aI%^^$rd!QSGg*Irrxn@R1j_P5h~jWb%%zAc z4k}PQHxpqaqP&yeGER8Y{J>jK?QZdgZ|1cbQ7`#>V zZ@V10fG%LF>e()s#yq>1PY#9;2Lo9r5lUf_OqSeXjA;aL`z7K zG2#&g53H>xE=;H{81*J#KA5aNkr7nAl5jybao>RY&mXDxKn^rNgi4^=6{NC=%`Pp8 zyWRl4_qEe^j8&5d(|>6U*~O(D;Xw^IKt4mK$?4m6FMVQ_k%1-sLkL6BkOq7re z!-f|zU0gB(k;YfW!jfB0pBn}9lXeL0s@4$wAOiXzs3LE5GfR($S~PUmjFNw8%EkJ{ z-Rlui$#q4Ueas_Ej)yS(-SVHziNtlAOgZos$Xk|pOg>*?B#{&%k;n8883kpoJo5ht zf@109T%MhtU(f>Rh$KfpW`5EPuon#y;6U&5NNWg0EtY2bM$^AdD(1oDADSw9VYyP_ zRv#d1kR@fSbV=I5BGTp|`Hu!FAT1C|BZV2L%pluCYdZAO)pYa^UI&GNJmey2 zY_KyiN*#LlDuq#6jYo7af5>W9agJ5FX+cC|)-C9|@4PNGzvMq&)_!4d6%mJ+(-~`LVfqUz?xP}< z{G^4zA?O99<0i_q-Ei9kT$p}6^;sy-A_Jj>2JSH+(ko2@<$Vg9rlM#eo-PveX0$GY zZ{GK}NDnqy4Z#G2lN7SR?H%s(XAa6g`|zF0zeqCuDTSjlJw};&UN+}?f+n8Lq2daW zffJI;c@0c4c~7JUA`v>dNj#BlbAcwyT`!1cL6A;F)MAqeG(58ni9qgtX4$PuXrn}H zORHQbK-?y}4?zqd!X=HiAL(i|v;P;EegYa$p_BveS*m&APq9%~IwR$Yt~NVcA=_kT z`n;gCeZUKifRtogI9wx2dPrBJ12IVwV2yO0OsjfsNvnw7iVJob*)-fJOS-OZwEYMv zC~RtzuDowPqGq~eD{H)##q*Z+O_%|3mx%J@(yD?Y&h0OrO9~0pB)+vX2l`orFuJ`c zLlzzvvWUq+-69TZ!iJk-gm<;L7*%wW8ImL|QeaWSM2p0`Q6*ijg4-mC^u%TUk|Iym zp8TSTGw^~_7S!a*X9$63o?#b=e#aCPT^kKj>d174%@Yd{LPPlXwaA7SLfB&BP{+DK zDmX#w*%o<%u}V6nSxHHfHNQz>-{KQU@((qgqPkv7+R+?ILJ3w3ku_yXjkI~E{m257 z5UOMwP1~H6Hc3&U?iE&+%|WiSlsa^2?TKa=ThFdW4F~VhjW!zWhrwK?vKm8)@r5o6yVS-u>OSwSt>N2rDj+{H47Bv%O!>A6)ldogRDeRqQ zNPxPDn-n*Ct%PRVGzWBgOVD?}(S2HVhnCgmrzGn_muSWw0qpFkA~YhZnn0%QClheiFaKp@N|utmT^0jq{PB~AmO zdMAEWUsErfqr%2+XGpmFyaQ6`eO?DwRzZTs3j-1-W0ou9_P0GfEPm5Yjz_i!$~UJy zkkuBDGr}DaFu1r?=pp^~kb1~=(4R|%o75$2Q*zD-iYB&0Djjr4bZE=kMR`mo^i*m# zNv1U5w1b;9IevXca5ocnQN9ooCq}3&@hHUor3obinS04*$+2kD8||iqrBLv=<|u)m zH+Z~S!Yt8l1{~4oj>N-)$p@+)9!}D+vyz3<2i+TT`E8pENc{a_t$^slVGkl$5{|KK zazq*S>*o%fUnI2ppt4aV*aaElS6~iAc#7C%Bs&$G%j9_1DC^Ev@&ugya2c;ZC6DX# zl52CJNi7_|D#c(rZD()%7YkELg;j566i9HKL^X;BP#uZV*bBA2NO(%pbZwp-r&I#s zJH-&-!VNFD+$JA>v;F4-x?f268HO);$|UTy+tyWUJ5f7}h19gi+!=BWfXA@n69@!u zHI+Ep%}QAGvRaMWWuf}cG;$zIBxbvS6mn}AAOHt1;nHO8k{{G40L2QAKKF-}8adX# zO1r5<<_NBlgp7BD%N_jK%_I*XJslUMMRHBqBk%O-D6y)vi*1D3NJcptBo`W;rCTEITTw;C z59|tge2wH_G3`cTRd&d+Uly4xcSv zCw6+W6Az0L86jeJd4uQz93ldxMc5ftyANa3spQKvZro&IApuDMbAV*tOt3W<1Mcm* zrtjH`10Wqpqvd9TYX!>eQ1YaU;u_{)acd*H(+!J6$tfdTC&_*U;8DOUJroD+m_uWc zGQMLpNN(h-MXdL(m6QP+{eQUzSoWNut~bb$=)F>CAXUN+dB6tqt`pT~ctnzGxU54^ z6ZuF@@GOfQBAK%+Vn7o}2d7SeEOk+OD!X_zJ%OlJJr3Zb1%_5i&p8=64 zS;8z={B)1Idm~ULfSXj#4iA)#}tiPE5qiZI3 zsSw)oUmC3MIqWU4e_Wt90VgwO!GJCnk=C2NXz?uCGSF_MFo0X+lVESOhePcm(*yQr z&m4;aiYvio}cjua;KCKJCJl9+oon+hh^g%!@)$fW#TM?s04!c=z@TIZfHOAsH zl(uXiS_Jg;!ET@~Ay|xpDGl0VmZui;Fh&w2y?Qk zt2d|-@sI>u4eDVL`?G7w`#G1i<0|3J1e0>#17u8=tCl~BsGY>F4YppcDp22=lnH=_ z970Eu{bx9L`F*sz7{IusDF`aC?PH}op^M_3<=kZ|eOXG)50Zu`W1Jf$PA8AcB?;l< zT+)n7&Bnv%WT40eMUtY4q~sQ<=^ZAn@>E#$d%jF|KpKBIXbbkQx!Bt%8jfUjk#e1^ zx!D_sGmT1F+do;Ujz8YzKB0hG<5PkmA(dJ3!{}lVSD~m<39nYO(Z-`1icXew52KF( zY(-%dk~%4HQzHw$N!^0Zig$aamwo;XVk-c`K{EtGuAqifS9uC3(ne9Tjq^Aq={eni=kRrEsgOmod;>o$O;3T^J z@7XSdwmn@GxtIY`ni7yyoB%8|%eRNK6x#pM(+9zpC5e2deg`}(a04Q$5|O*$G`gJ7 zU9%XVk5Jzfrz;U>+*3r@UWQcF1n6dYcFRTCP6oDw==;xXFFpH1m=_JVDK$ze*z(l2?OKv$x;eYZ zmE9kaZ=f{59|SFsKwr{dY5?SCm;G@17_dRetR|qqD^xhk0lPEPh*DK|8MKnC;w-5K z>=1C1YT)TYF7VN?0L?TK`)N=YgZ!V_J_ep2WpLseL|;foH*o+T5AU7buu z*0T?(Qw4U2S1EE!<^t}WW#8r6;9V0LbbvI2h@&c=q%47FCBnCX zQY`?SYv`5OABQ!UegTiYNqvwSWpRs?%1NM@Q?WH@;gdBn@n1cQqSvIq4{pa@@|+t4 zXn@;POeB0F8W-s!3;xx$B#6_fXW6+4C4jg{W)xL^2_neS>TpOkV2@zdptFZ$UDbRr ziXme4!%&A^ern(H*-rUzP zk-EkkZB0ndMf$s>9GKsO%;&*`d>)xE<}zQ*=`YOZay!;(O8)9JMmkT|cc#Jgy=;r~ zQ)!zM2U^Y6gbYW13noZYG{4Rz9|rBO$&SX%0`OL0pk!&BZ+wy%5F4q6uoDdYOh> zmcR&`8YX}w63$yATDARs1mbe0t0fhjrMfCnr;D2*LTGSn0;9P_sSoW~c@Z@#=6Ba; z<{MMqzOeP7qm&v_^1qKqqe_LxE5O-iJbz;DU_C`zQKzg>0-3pSeQR!ZTpfR`Qmy%Y z8wH1BY;0mKoE;n6=FKF3wUGD^{PfJhx{m75k8Yf& zOy*-WIl=wQWJ~=6k2I$zgN<5~y1;bO-)Pe21?H*d)CTj*TK&(tYcCu(zm2Qs9H$J7 zKsqgTCY{OfJjxQOYnb^hvrIx=8PT)MCYk1KJa*;Ow)r`=ooDvTGxg@aIaTHJ>6weU|~4B7gPi*?KtH3O8;zH+|Nho}3JQX|**rwz>VsCTVHQ?5wE;MvaYe z^{o-5?w#`*lc9M7>cn41kl^-Z3UiKs{9C8Fo|hJoZLs2}mSp_4j- zU!{J_Tuc2i^liHPlt1<&|_ z2UJORuHJUcRh=VqJ{+lIM8vq-MFUN`*L&+b!iyeTH1yTOGUEd?A@T3BWsJmOr;m-X zHKq}Gm%*s=srmqK&CIv22$sk!S@|!}_6*e62|1@&=VUKfbfMq5o+e~YPq1ox zys1DCu7%I*p-e@+bb(dSla9v5kZWUOv)0W;&y@t%8`ej9zmrC1L*1Ubo0hbg zmNOxd!l|5BXC!n|2UhYFGV>00-n~V2B{O3B>H+y!OGXu^jH%9xIET!7%T)UJr`et# zgaRShafnrRLtChy(-Bfa+ zq`2%#-bzKOp8nWaDt6E2dD>q1fp^iDWDcj?F`Cc@SvIR~QXl6CKfzY&XJ@5vZCoF}ZH=`$8doQ<1~=`xvR2=G^`;x^ zw`{#)*VU@Po6X6&QUJ>w$ce!AOZ=^_-+<)N$MKo#gxt(9tQ*Avx~YGqsjkhe-b+Kf zXD3?o>PVW|v~%;;t@Z1+-?HV#&6{>^sc+k~WrqsRVXofPgs*-eG;Y=PQLU=b;}(4Y z-^f%m`(}VXp{H{0_yy}ZQr0e@8H}qh!9DrGF;#n&=;VX&6k%`D|4|K-}w z+5I5H={vi>_*`C@oFaHKB=mipgckF1z6IGa+HCP9NdMDCzW8sAyPVerATe&OPA) z^(f1}WBV<|!mjNlr=tE6(k6$|RUN*WXU*lDzVJk)t_r8Z*$MwfiYXmX2YH-cWHAi6 zyxD`wVLp1iT4EvJ&P2W>Ydwdic@u|HBA1_qVwx-|ozCaoMABXcGs$=AdnxTQZEU8; zt(Z)H*cw*_UTU8??}1wSFq&0Y@cABc>C|eb(iZgll6L#KGq*7r#uDuLPFNu&$*(R7SRD}- zYCU3LAHr!poXY>V<@4h#+vZK1uikP+U9X-x07Iqc(zjN#&J(*Q=2X<)HzKRnrL4V| z!$_6T6B(zv1MX?7opKsQ9GK&*G+Rw3krh`6WY$lZ=j!l4dMtmW-M~g+gmLwgbXASD z@c?`c+qO7;84g7o@Jg!B%XlZr7N{qRsW9yaWZzFk5J7Wz3?;outu~|G-*JXe*g&2f zWbdU4HBdrR%x>NnW8k$+5$Sh-hpR#MdroJ7(#vD)bxGg5mJKB0jiZ$UC?xL?kWpL6#azsJaYu7@1-O% zJk7J5+WdEKacnHwG`o9#UpO^4uHFs7z| zg*3}d)wh|1giO}a)I;?+laLJ;K~Z$and#2rXRS9#IIiAd#7k>>A1ABPdjAeKZg3w2 z@3z!hh^e_**>JFtyn4(ZhBAIQIjK%yN?ER#{i#|0V<#o7Y`EvQ`72?OR7h+!)X?p{ zT_}%0sf!qzo|>yS4#F#nEw?o_Al}C;8PvqRr~@;z(=hMcL3Q$iQb3wzuZ^p3(2YKY z%s_6HkrQJFO#ije&j?aNkrF|w;3D&xVMftB)XO`3h+9kjq(_qV8rtLP_Yfzt&~pbl zt|wAeK_9wfV_L>VDAw5Qi8YyJ{;{#^r+0VC?Gs}Fyj-U4_BfmolJ^!zX@&3DdBPDogQvF|gd)YjH5d*GlJ-Wc(n{0+-5 z45iK5NBik*NcNjB7a~wxJcg5$y)dsXLeZs^tgo%mLO@$Tk~cUJc-pXfA-zS$uzf{a zl~P~h(;oH^HnNi`sTJ^9*692+oR2PwAemKTdb;20 zj-{elU1J}v&!xJr=-8V!@7i)>ee-pjcJ5SXb6jdWgflbX{M^_+i=#<~txYa<_K{th znED|5{4 zS)8j7-)KX78Fc1^|2V3NXaF^JJ+s(#%XXu^Y@t;x$p6-0xeckOwSz#s2s7~QClKkI#WBlopwHy505y1^$tu2!z4sgD2t$vxPb+h|v+$PQS_2#MQr(L3EHN!~?OJPD}x?i27janinPy$S^fJgRsJ`%db;knnkDp zBeBs;0Dfev_rR2?cR(i`BSHP%=}E-kWN2WzS3Edqr6A$B`oZ&2Jha9gX~K+OEjpgY zcm4*eB1>Y*+3%2jkyfR9G5ileoSHgK6hy(VdioL}kh#B5KRs9e;5tX&z;L(o2RF&{ z`_(0PDYX-z8TA^-%r2O0fVuW1s0hSKL{|cK@hEJEUXTIvyM3=x+W^|S;Jj?J-15AR zN81*YoJ0m#Z0JmRPT%3kt;uCfJxbS6?puBzY0NOC7#}xUQBytU$_LC@zJ15; zK8MqD!vgrV_bcVmt}V9t>`f1YS(ALZc-Z& zIGN5_hmW2j2OLmupN$yBoORGr6$MF38zeJq4&E}8~0@#_8Z zxS)^-Ovznc1m}uubDKLlu-)7FtezZ(=9=m@2*8Bv813qAj23Ng=rW5Rgi9EUVDZbO zUd+O3a2x3?%AYNNCCkB7c0SOSxf&n*KUv32>9mislq{8LNpzA~bvf)s$FPp(vL zJJ})djQY11!MELI;?H8-GFZu{5SU?g6LipQC1V@imEDF^{eFT~FnZxr?Bpq6s$X%p zJRixvm&wpv8)mWH=2=iglwS3PEJ@+g*CRl6DGOd#rZ~*J|(>0SyQ}TV%+4}B>kwgE;>RzGGIQ4nf zU8a(zRgIhF<5lUW#v#xAQ{bkrt=0_JR6pP;Q7+WY6K!Ec?8LYlxyHy5z}zO;!Z1+X z91>OZ(U#z7J}{jOP1=95eRRpow<39XW{;Y=HnTE<`lY_l`m_A${(ZP5jmWU1m51Q~ z)bA;T)=$~(vf_Gw>LtJO&MfN-!~8Lei;z`6N!v8r^2tjQ38cRA2(wG>vShDBk1$Ip zA_~E{s-XsH*yTLRE5Gbf??@NAQ?o|Z&etOh^!@*Ryx*b$6(Do@H!YI!8*pGY^;}gs zN;v{drBd}*X5l6x69)0-bQD@LKAn?GRsg8oU7M)!f7M3uCt!sYV7= z55mwQ8jTpdU4K8T_VMX9nDhviLz7iQa{ZV^M!X_zI6phJ2)~W+5tsCVi}jKip?UT( zatN|`YQ?$IMjEhj1Cn(I$NNiZ!a#(g$|RnoWDu`FV46;4Eyp^qbE+Jx*(utm&Ut`U z>{ef7E%q}+E!VVEk+pjND$Sxm^WJhi){m%tZj)$=?a6?dzC~C{~)C z&Ts3{dRaftcU|%o`bKo*o}`Z`^;0;%BgtiPA7LHZ0VeM|U6$Tshni+*&F=dGBw&H3 z)tdS4*JssDzs4Kbq_YY!D^fwd9x(?#J`9XXk1Bgt#44b7sSUj^Ppg@fq1Bgp3m!xD z_)*^!^hBStPsR!NCj@$b_pa%$qO>Pvg-9R67Bey~NMmyRFU_nee%v!`=1m9)bs5`0 z+$42SsrII>yWJ1Thr87q;TOH()Em>rb+pfcy{W9yi|}S-ZHLIBf2!L~)zd4fH?n7R z2}kuRc3|qSz2V;E4b6xe)9rni=)JCf&gK)u-9w;Il*A1E&@!7y?Z1tlr9NSqA!P4gWsbkLR_MfOXY`+{-a;Br^9y|olQGHa zzYdA;#BRP(UN;dx>aiR>;x9%US1(~6rg+0eD5vd^AR>Z}Mr!G^NWBu-5Zm^e2@MK!{2EE`jbkr7&m7ora z0Dm0SKf@WarB*_?!~yyAp6micfob(OW(kv6uhsCdJ|xs{u}bL1I)v7n>}h&@#&I5RaK|Z(k9vd|HU?%7iyR>|3r)Qw5p!^Ftj65Gg+NwSWH8=KFgCG z0_m^6XBs+yi1`-VMEF}Bc&^L{-g&+Za8B(jlZ#R8k*9ie1P4SI-(M5g3)2 zk8|v8qtQiT5q^9`ma3)P7x8bRoCqb)K~4)-zg5&}Ie<@Dot%K^j1Y=v%o*?=)*6;f zn}3E$^B$a|{+=eqRjytA)6M$a{%Q4ad-dzyEykX`?%G6nirFe%7k70_9~s8&$0UkC zQ$3v7ho}+yf4}pS+z}GgmwVMua{m-R_R|#)tyw9;TEY)n+;4fi!xba)fzKH|8(;Rb z73aP7?}kpi@YoadQ!ry=`am5^b$a%oymZ{Cd=AF1;}l&&Wo9Ru2ak^*{Mm{VuU)xj zz$8a^@mB}tVW;uJrf3rBQ=t)!!gse7mQhNJO!ezxND9r@$soyMfMH!Rh; zOI~%7Zo`aPF4G7`Y1L<^r{`7=%Qt!oTtI{Ix+Zi?uV{c*nT)+!MJm92?ssQ1V`t`gxRq zB_g`ER*#`X1%Ya_LB^>EgtlE?_gK8vwN8(JxX(KN4ZE!)UjGfNIZ`ZB`l>*!7+|WY z$=*0qULC1XNe2)Ka6=mvuT&{MmrvIZ7Ydb94ag0WAPOM(oTWc>eO~g_De~K-h5*nTKx0(mi-)Xhhbg5*F>J3&wM;4uSKavKLsny$ zl5c|gEIA9sX0dQlTo|&h8EL@J<#GrDFsS%oh+iD9Il{VOq(B@!7zQBrhEj3XF6fVk zNx>CFND@n3uNgG#_>?288%K#H2mB*w0O&$yIk0TLOz7PBq32lV4Le{^01I9$NWEjX z?8MI;VFjZ=dXjno5Hp~SfG1Hirt`{ZrAAQ&w+PHzg_kR&VRyb92K*90wL%TpI)K81 zLVU)Nv_~cp_3goqDzP-A+*LELi~<$w+n`PYb1%{oA$69MgN?>j|#Ew^}piU*oD>s=JzkRHA!YI)F0UQ}r zsA*7!C|C7PdIZ)9ih#_Q!4xP`;^OM~(i1E)aM&PzjS`zp5c@pO-+FcuE2i)NO*|b! zL@MF3G00q%deTl9|MPLyhG7awQ6CAseINNIl5ia}8E#TMj0$2l&_tl{1a^Gg@z&+T zKzS5^l@mlq5_zkY_$|j<#bJk(7O6#90J|P!h+_Qh-dqGC>C`P;J30#~)Z}-H^9O)nCguW#9zI`x-5SA^Q{X<+!~?-Y82Vtl6$r@-n7O#KYrVB)=}}xMyxfXPFMht z9Z)C%NN}9$uG{0{kacmq;|S~2;VLokREB{kYE*(QIq}G-buOnv*aYMh#4a*pomvoI zGivQRKP(00260}n89|P3uHA6aGs4vB;a ze&8Q&O+?%JJnV~@_k?IQBr}M+&TUt=8R6J?U*1|ds?lmdho(e41vyLZ^RMlG;;8r& zdF!|lu>3*p1(FX~n;`Itx5rQ4VQn8K{gUcAwPK;>b7Xj7?5?u5&?YH>h?)=qL1DM@ zom&lSzI&B*=CIVJl2mrYF_r0S#rT`6taZpUu%1aus8Mx|0*rmO1w$=_iu19H!hL4OT|J(QCe_L%`IvfDP z-w3D|1~g`f*owzbuqu~TJ<^J(m+f=%0FhV=FEm$b`YKO?jK;>=w|ek3d3t1rQB={R zW`tj;G~*ASXic2NEjM2lkZ}%29R*M9CV>CDqxd5yT6^N(J<&R9n7X;uGEhy3aS!^1 z@rO>dW=26Q4x~T|z{2EXl*$w3c<;&9$?^7+tYbzwUWA(fEa%44X%t`J#JN-W^5T=N zV@CFH02M;e0Bv%k>;kg??I&5MuPoMzVFM~6Dac=}#ZR4NRYnm(9vT!Sd?>-jitO9j zZs@$>27m%isDTS0q2G)rPPWcn=?KaIRVw6cvcq!x_LHsahf9>oqVga(U*Hexn_heN4>VzW(LFxZ=oX8g8O ztQ&?M4kW~$0}PxOl9CeV*1*yfUaf#|>oU3mY28kI*&4>cCIUf)WGd2rp=Kd|%Nn!^ zkGg4or6gebF6ve>{`wm0%Hf6-)CvkUq!`(pVKF}MRBJ28v`hJK7d{9AAAuCV=v3>S zz_ZvTzeo;zlV%FV#(n1`x2>|Y#+c-aSXh9f6Anc)L@qW^GvfMb*3MDTF<>x&dCRCj zwMOBEMyEQ-=u{xfuz+mz2DQs!xd*O@@3{%i&Yy0r9d%Lp!Xkwascl0okK%(jzG1C( zYW(5Tt<~}NIcs!;im@Dch@_A-PPZ6cmwvx?w8kz%Wh}yWob-O-p`2EkphtmaLE-=& z&_KtFH=SW!mq!ahU?9>RP%7ACzn;6(jN?ORSne>u=#(P|#Ez}RNNVvf&aiGCMMrT+ z^JBxKBDsY}ay#RWS{{ETP#(YR!uo5*F(FYqf(C%N+{VMFj|CObT z0K32Vo7q>XH_fXsM6(8(Q5gJI?%sB<8?>IC2j++(SSaA&v%1t)er4|R__7nMGvkL& zv4-<3I(3COs}a6Hr4(P4(>nTk8QD3~z{#U1YAk(?sx=M7RrA$d?^9|N$WWvcHB(4r z4_=eoY*yy|XIp0s*J^$P>FfhokFHw?<8Pg9y&zw8s5?hZ3V`e>h*v4SHg{kA%-Pm+ z;|JGUSLJIWHv$Swp+!;!%za(%e);yg_{j~{8N3TbDH64Y(ow?Pczy1{_PZD8M^;hk zy6K}thj2A)=Rp#rz!A`jsA#3o z@!n`g*&e}B@e4Ltm#(Ua-c6b|wgfer%C$G;*amu}-`r&F8bR+z-(VtWoFK{uZ;rjq z)^DuBPvQfw$ncsaQ2J}Xn|n#})_-1ZJ%0r45|nh5a|g_0#MN8$TY1!J&O1^p#cBam z_pRxW7_e<03zjVsJ=5EDO>wS(1qDb z9H9lYRInZ1r9aL?|B!lFl6r@%3xdbk^6CB^j(>QRb>2t-o_&+@Yzzq_uhjS-@t<93 zopy4s>4OS_=~O!R-KIYjbc)fUVIl;j?EHJo$EfqnoeDh-sDp|7-sEGjPHPQ{H6h8t zZ!G+t`4~MN>42V0VaE_^|4;dNcl@2L){(=QVJ_QQqyZAET#1LvoTc*B2uMU!=m|+E zEWlPy^L?GyM#^X#CDc#Em4ocBJ|5q5t##uF_lHMJ<7sL01loAIyH|mkZ=abMWD|z(W6n&UXkZ z<_e2cN(JhPHH#n0y)gdwEmpW@4#xv049WloFvWB+flv>cAI|+@F5XmPXTS0y>&1Dh z*ZD=z#IVS~|ErZhlIybHQIlY;Vgp*29putSkqFjAyFCq33PI7H#ciK2DxDYGHLU;)iye_$L^dH|^ee60P6c%5UN7f+O|krC>c zVLLk57(Pqs)jk>j@)9Hzwi-G%b`4k$WhC>HH2T&{th3^}t<81p3oK+g2dX5xe=2^^ zwyqwLWH3;7v)VR`CWZZhzr}_+R0F_{ z`m79Y<0uEVjs1iU7GgoUpW_`(33(?^i6K(03wSB8gG$xlk8|7Nw^y*dzT#Nx^9TqB zv_MP_tPj_2{0X$y-=12r*5;|Ej`dMQQ;|~6&FbfK+hsKQxKXh#7y$-^TDxc>4Gwjx zO?)AKYsK1}N7ZEAD4$8iW`tt!r@1?1IQe)*)pA$aRjS5P0HcXHjM))-L+ml0+X_J zf&4*U$x-uk{3+L}jMSI|Mi1qLN(K0)_Eq`#-1y=#tPI>D_=*5m2hbFKs`<5e+n8mK zz#CYkA?E~Z<@w%U#IG5%;ylU&G6g-kOkr)d#n*E;8n$jc&ssAAYNJhARR=q^gd*Gg z%lMVgvp$#SwBmCNa9!xC(fBKPOYenOY-DZ4(+EDl#|B1w3@ZOCds1%#e-`NXuqN&n zidt2^ky}B^EgJ5e_s!h!#1zyZ5Ve(%;jeQmi2|BDC^0g`DYqv4zlneM66;*5mLcV( zM!btAMv;}j%^lyIAh)*t=HKP=T$Gc$N<9co6x6-LjLXCO6@Tw zw%5GU`cCc`9M}O>Xg8vp+E8DuwUnp2*3*K1;;Vaq;j*^t`7owVs~`Oc+g|M%8rR#}24` zFA**4Fk2*_L{fMp9ea<1-QL95Vk=@;*oE)wVXa~)>;t;0Nh#ez^&fM;l`~fNmv*qF zp5AV)AEEFH^|+;`oG3xA_fPT24c7E31Ry0i(Tc#5l>_Ua`+0ALd4*kpk(R~Ov|ij!zod`8+Q!4wf(PMEsx-g;aH_SGVE8x zp7^1>bw{FiP z{o(d1b+$miZ#dN-lh||pt*F7{w^&Dx+IS&w#WcVR1=qIZ{(DYa;(5$iWLyDiQ~>=i z7k|P&|K)Ag`D;7AcUcAMTGY^%*k4F4r}@8guZ}-(owfRC*}xZpC^I=3U$DzM`AAR( zs%JIg<91pbF2eV4(Ut>qg33aAbXR+&A~kbad&q>BrBwbu^vYPzi!ZztNsVU>Fe{t^ z*i0xFjsJ+BzR`+Ds}wm$Vjs4) zXrjr5_OrS8lat~qXVxIt;?TFzT8o8;;!`HYlSdH}xDBt7Q^kgK9*(b_v@Xhf=vY9z z;;r&P!3r9`K6G)sZPGgFB-z9atyFajV5>JYNNd?`yeR&}q--TXDRE&TnlYh*u=I%O z1kVj9v3!a4X3GOvtGIYCaur2YYc3MZ~WwnsX=uR9ZDT=G({6_recUU)!+CJweo?28@9QoCk4NaR}`^K9g9li@R zQe2HxA_OVF^75hhiR-Mn_y>1dN9RGW3h^o7mTcmov&*j-x>_q6@vE-GlLZ4{iHW%x z6sT5L{Z0MqgQEx?>^@2*Qb?l2qWsoSeAzbZoO~Hoss;yAkQEO}(S7C6OJy%iui?&g z--KvH0wIX{%n4Jacv3BR)lhuKcI(P~1CyhOB3TM~8;kPQLobszTc=3Efba$CNh9RG zhHIHx$+2HEv?rr@Kd{Gg@@0T$-Eu{cF}RN@mw$Wc3O$w6LayoM?u%x?#N_?~l@IZX z>?t@;QbUgX4tEz6!k)?VSrKWIq7*h2I@|l|GAB z#Sh(O?ahlaRYQ};Gg<+~FnkMa*lp$Hsq0CdS)T|a7fm6kymjc>_#qqb?T$I@_a+v- zR2W33<}?X|w+(HPZ_g7A@z^}BG|aJ}f(yW-uKL@DKADRPyAev(-PWUdZmV1>;$TVQ z2|-(Z$IxDRcXj;qTAX!vH^p&Wf>ChIQudLV_~AR_b)FUG5rCrMa{6(HIN(t;f7BRsTm9HCExZW3#%Lhdk(% ztM4BA?GCYSHrIx@6FgiA1-!P*y;yipeEVMOygU^}iZ-g3)Gv{1p7#!+2X05hWHeF& zgYPP3Bst2H_j~b)d#tsq@K3wAo$<`z#$l}gbLi8#c>9=jQvBdP>v!@EoF;foL72qh zPPLWaAG%6hMCXa!aa_KH7m5P7!of|pivK?7E~dj7^HT{*2OXoV;n3lZi!+rHPld;a zt~X8G^8#zt2-OjgP67TW+=zrpzdxRyvc_5O5;`P~yuihw6BM6F`~8 z)3blLJ^es@T3|iGa8Qx(?UtY&8b$eoL)%PG|F*}`UhMkYeW9n13IDlBxz(fQ8_)x}`g^_3D7x6La<#Mi6`lI;Z zJ=XRSr-IWK+Zu&NZd}7p#4p}$J)FnwLV>PQwij5&(9Sq?tMj?|pNt0Q^tnJC^AaEm5S6pEi_3i?~wk;4G5!gg{! z?TMQ9nfTdRYe$|-73ziJOy(r!H1*f*eJDgI1VtxQL zV~;z3EFW*vR?kQ=;CccX#DS0Y=a>H^eoNE(t9%1^ZOX=DZ!j#}NuM9OM(@|>%6gmMueEK2dV5@s39w?(BV57$GcB1%4`r;%AZITKuk@q{O3al+K%3nV>#l_?|h2`8}V*9yyDyDGuwB)G8_b<XPn)wg57QKti^Y+IV}yF}@ywic$uQu0XFh5icS)a|!{thF1Zbxm zZxy@{tl>A2Q@Z^t=dG1_P7XW*;%J~Ah*NX^I{h~0+wH(p3zDAg;LzfRJ@}iUBTbF$ zztz7`JNxg3j^Yyu!TOf@Xy44YhgRs66+#QYGh~?vI(~m<=#uz}{RrR}?zdK-)>{zy z@AZ>}-tpu=#6R9|tv@wQWDp?_bTzDju%-AX&ZY0l6F5|w+ODT1Kr zTU3yMqUf`rSa>!9*q#*>6cy$7IdkuB7KrbC|Nr0b8+7N++%q$0&YW}R%$aike7Wh- zQ?+9q<8Hd1IUEl52eGm$1I+;B^pT2arN98BPKf`9U6$sh9fxu=H5 z>-o;f*par`+X_o2~JIvh5n$CJo?NY^=~)0vdy^2F$9vd1au z1>mhe5BH>`qj0^t2B=%8wF)0C+B!Pxmg|$cjA9fvd0rc6*)Nl z;7`}8D`)u2#a~{Yk(Vcf56g_$?;d!`5f^Zn-#rjKAO~Id9E%%w^UO)pW=x(rdBRPO z=UM!O+a`>^dFF(%*G!!@ev0D-=DB{t%yHL_n>o&LkohLx0Jw2eC*Kr)|0+uuH+}ll z+sC5IW=y`}rpee9BofaG1s1$C$%pas99DHT0J8Gj6(hDZ6ty8}%}~^JRK3`;MJrivPjx=BxP}KISvNi#^MZ@S}Vq zpUd9jce7{MVg5FMga4C1#Mkjp`N#Z8ww>){JJ`GY9sVIt`+#rYkMY3l*ZFIF*3;}M z7W?goO&!f z_;GG#{Tzdt-qJ#j*7S&HULI#SOouNjwP!q|H0H|*4$e!?%?7+d@CXZZ=TemRR5Qa3{m*z{9;1zL(6FG|Q98oWW{)}W`v@`dA8zYt*T#}a^TUB+iS4=j~ zNl;I{$n%25UUzVD%p{QRY|PBeN}g#rea!2LGZ@kEFTNf@@;?u*zMZ z#}+V_6O8e$MYavz+whwcpN^DH-pt^jcmjDazB5DeCpG%xw_d_Z{O(H_6TCYk-%T_Y zGxOCCSF$^U4`%vUrMlxPcCG#R<5dhLsX0U0pkQhiy_|eCs~zl{^(*MxHM>FZNlzNc zcF3k+|0HC3_Kg9`P{%;yW7#le*@r%iwkD^ zW&rtRzA?e4((9t;f29{D5i{JS3nVHT;DlguhToNCued?xG5Auu&PRsUd`WU4Jj)bs8lxJt# zxcN$bnZZ}GYw0NU2ckb`&kBC;%L6j;iBnnK;2nu~qOe~QNkBU$y^MB>EC3+8sH z8GOI_^x(!0Zy|YR$NB8p;Q5Zrg0DBe2Q>^T9tE!5wY|vNr3D-3r7W|`QUT}Eh8+T>5N@c^~$<^_?Q(g2kQO!S>y+N5-w)uVrg@CG^N9Y#Q`@h^X*-FB8As-u;j? zy!T+q9t=LwKO0Gh`Zqw*+5UA|s)b6q1dGHSXG{iaIZR)$U*mL@`IsvqIB`fOJGSfY zAvLMIwL@PEwiy1*uJKoFW_;7>VEk1>c=?H4bVTRCGmB0tQy zmLnK?^K~vD7kuH)L8)bXD}YX=G(;CiEB?7OVojiJ+%=y%dGl;AXs~nON>&zJ6=)BP zj=-v6$Aibqn&3Bi&N;mH-aR#~lKW!}!)#t^c+Hi()bNSLU`Pr2d>YigLCxVkl>t&gr#sPP-=)0E_OaM4l=4*1_-n_fEj?xqENH@3i@K z@vG)f#P5aq2Uz8<0}GM~uMZYB!*A>&fbN>UXreP_^CFO@jDhx*%Wgr5S1*4P(6v_# zb|P}?suB2ochwE}HPuJ>&0gIWzgMqbl0tni%;lmKzh%7CT+Gm(bE|6+(3(2czrJeC zgBQIxCGC99wX;y`+_krZsJs4LcZ}ECd>`;?K|Ka0_V_XodQC~88GaSK@bJVm0_aOa zmXii$VJ>h%U>*tHRbGd0KEG>2c^@}Q{BhHruKEY=?cCPkFx;lE)O0ja@#J>Ia8CeK}nH;Ct1k4%*eN?dfn$7NXyTqZXnk!chy+kHS$P z`fl*8UDY9Q^E2JD_k`iBY|nRwW&LH|5vmW0 zEqS4py#WH~1mpGLsUOURTKUu(30BfG#*{9>rLSL=yfczRwB(fI^JjPc`uf``&}Xk6 zTY=xU{ z6ioc?W(2`yU$qP-|8N0MjlWIZRrsSp?|PqVNAK=A-3XCqPOo#ZvR#AEbz`|-uc&a8 zHg-5jUrBRzso{baTNjvGYOOf^U_=zotf-CK#2KIQwj&hvyU;5s``m+B|r2>Xn!I*E|LCN8gnC5Ph>I-Y3lb(){vk2LltGQ zUfFvWYF)+1B!Ps6!cjc$P)o8{x3i{BMS%$bV49 zWwXJ2^?5ZWo4p&q$$G`9nsU`4hxKW7V<;QLE^=;VAO|u|OTjVO?06 za^^COfU0vY`w~s7o5wKDtKoSdOr`o)9&2lj^iE7nz(Q}p`0`-VGx0>K*?VDh@Pekt^yE`g7_a`CoI~3O#7iHvN2Om@=E`RW4ZDEyE6RCXQKlUJM%O{l{p*g%!m1rfj)b0NZDiE7=D_4O{-nnA)aEI*-^HDn7RGkUt9N*l4YK*ZS?g#)jmV)h_{ zgT-tbl#6QFgpExux77-_)C#A{UTe+j@ST5!4mV-7o$>LGF6AqKd3D#;m+wE|2(eah zRwP&aU9Q7_snf05DE74)(1v9rn9_#bg5X3O);&2&Y>B1}_=eiHWiL40q_xbyf}!)B zSRqTU)TI|gP@#F6BUt>9YGtzK{M=vadXr5|S^zS(cD>&`kA?cPw~u&2W@esr5(fL*Ob zOa@Wkg$v?Fzc9a2&vXa-KBmrgXRQ%5>cI>I1ADMO{EIEBe|J`-UhctC>wU4MngXrF ziwd0kgnG6+YwIRAiCOlf`lUOoucq~6UP#zoJ=q>_gmdr^>eh>W%DfA}LoIna`W=1N zun!x+cbBPIeOR5Ehwnb%C~fF)VvCt(rFy;(%jP>5siS>ZPTJ0OP@)!4 z%f9h62L{Ye71x(#x81oI?8(eZx8~XkEB3lW#|~SuGOlBlc1-Hnsl{qsU-lqBA5?$! zWi#!tmilg*OjMiuu|$66N%cZMh|Ps3)zNF{) zHs5kqHTguO@|{c6j=?Oo)rC3K>kQ9{v-16wY%!z(E|-}Is@yFlh{4tJwR-&u1|wYcx{_`9&)^||k0b#*IE*b# zTfR~w5|>QXgX;+4%@2eo4`)xa8ja9fhoQAdnfn@rc3k6rOt40wH^;EM8Nxv&>=UQC z`UK=0emisd1NOtwXYGem;fIy0?Uc&kOBV2gf7mHyC)D-Vu}aoR4VcJUI2)mUmwIs` ztE+ZQWU)woej>v}T`if!I`PAM)mxL88QTbBs35OJBb70kJ2D9{OtPP*HC^U2$+ruwum_oxkg+|R_7(N??w%^PqpmhqZGeXU7 zWs{vl&m6RoJ&bPDlbHYOMu&d9i_I78+t96LtS61a`{pwEE!2wnEK?1e$6DeU-iu{c zQnqS$j~=-2I!`@t533zc|L`6R7?sL@FKf@fRb%c2lUAyP`D~5_Ff^7XdM-ouj(02n zJuF@AoX1?syMT?b0P@tm3s{l$oUPtifKd|p7qS;bjv-W&<*b4FZ6TYC#PN&t@blRs z);=BY4Ax4(zB3$fR0w$Q496z88=Kw-%*)i|``F9;lhvy6V%E3C%jo=;yccHRtQGHv zek1+ak`KdE45>L`?m1@Z20{HFSj<+l&(-WDa4?=!Y6+_aW`ALc zR@X_`bf<}8D%{93)bjFCyDeqP4fK`t6EXD|lU{^eSXTCQM? z6X8XqMtIN&W;NoL6`*gKTDOAj=i64RvG+$cf?JKC(aUNCH{+-gJkkhmHG)$kj@^$& zys=uP2H9T1t;b4q-_JpqIaZ{^wfw~jhncSaT*GqJ>nm9f;X1gnND2M9lC5X_`xEM+ zRj|L1dR#%t{Z!NaV30em&aGh$2w0~LTFbUv8TR@>^8epG zZW{0)s)KF%5}U}9cb_L3lWQ2hq;3dKJ))++&lZM;9AvMFYF{^cjeS_{i}<6gZm84i ztcR@jHS&!O{rVQWgID_+wJr+Pc$W>Vw$>0{cc~s-DpwVJ$Udm9*btC9=dA7xHM2O> z>oYde%{r?MU$FDlLhbsJjj#3v3a%3x_!WB&iar$cZ&p+A)k{M8-?4&l`^cjXsuoyO zz40wx7@G3~3t&E^*lG5FU235P)xd(6ic94vSSc7UvfZ0c6A+SnJFDNnKuYqZXi*WWB?sg1A08qexhSw&l zG-Q!zO-fwSTn%sHqu&&^66w4%btd%~GhJ3Ex=Q_SRD;&UfJnf=OWhb>3LFu}7=)d{ zrkDY{D`TkOsIH8;q$^{La9$qCYiIr2P9#@hf>pcA+#LX6OA&XO+wd3<0)c-n1Yr6C z1aty2c7d)-aB)R&sR87T8bAdMuZDXHxvoh(Jy?oEpQe`y_qe>+1D-GyQw-cz-El?-=rg$pIY_5junVVm8RAceA7GYFUZ0P_jp=jrHVQG;d z8w0=#bb?WpP^J@rM;PK9eDi`35dk~TDV^d8gTP|3fiDs3KeU+(0y`Wn(Ilt|a=u_a z1PV$gkhYivp=7!xH=(m-kz;x*2W$rFZ)yJO2)AE?$bn0=gsmjbxu7K6P!gbngQOCH z?r^INto)d#Tw$#N(;Jl4Y6D_T^@0qNEOMZgPkICEOBW@ht7;(mFe?p2(y2_OCm?;f zGfW3bi%e9C56P=9Nk*OI#3;Wc8SAg)#@KvGa$#wHGLm;zB_nnyU}H9j^q9H8emPyM zvag||E>dOIatimSfE>gTq{wzViTA(^mE4~iR%LF(W2rJQoY(G1NqrO_iJ&iPAQI5D zB8h`CC8`;v#LdYOIK;ulNzri>niw5NxxVN)icSc}spRRcgi*bU^g#Y0jU+@dR4r*i z^kY~#+Hw?gi5$gTB1bXQGSY&YOsAq03ysQI z1hR7$lrDM_YScq&6y-%^`Y0eGD3MGb)(KHEeMl!n$#jKIfJU)N&&}OBB_h*UoVQTMI6L)TPnJ_t$rOCuqnGitm84L6($R41HfU% zSjt!zP8uSS;-qr4E_9d~6u0o##aBSHX!eUB>@W|7)2w``#i1wK8ZOdy2U!cqixN<} z=4j~ea8|otkyUGc^ng}S&^=o9nCCFu(Oh+YJc}pAzg$eocSX#zd^g4o>K_+4R2yhC z&cmQ_nb4}lu5r4z?a>9j9U%KilnFopeS&~hg&+cB86UiK?*7!PFZb&8swGXosC%iCg0OH0HuuA8VP!5$Zxa zqku?uJ!82@Txb(f6u?E|;s!T?l6p=ATIo4ayv6w16a{03Eo$AvVIw~NQn`sYkUgHJ zMlsrkyi{U{iHNFI5)-jC^JDaEL5mAmnIr|0(4uypR;^>x-*mTUd`ow}6GXZM0uRS#R}}B}#!EG-a8d zC}`3$JyC${x=B|+=!uaO%c&&4+2qQiF17;}^}>6K{tZz?=m!Uu4dLh+#!wIFVS{G}Gg)El*)_ z2rDzQ!k&)&n97r|ks0ICVbA|;Tnb>Hi?)YpV8R$_nZpo2q{5IT@v~+iTAC>py$^9f z5Qeo(7E#84?oI#{T4PvbB(+ju=hgs2MQjo)H64@71SCgBXDeBo(AJbgo99+4YEINV zNz@~JY!hWC2}Z0ox01*@OClTv^?$_XNOz1dEd61^2!fgXANl&V{ja8DKQIWMwI403B5ixL+OqxrD&EF*R z6c1Ec#}LjUu@eIW=@F^|%uTvOYi~C!57ItlPvmPRxBL#oNkwn97*ujJ{iR& z+laH+-QG6rkJW>)HMheSJ*DE6vH=PPDs)5w1>0Ed)qaho!Ibz^|<|B`J z$j(Ybna#wBfU25*S;^qyWF%M3)~saIpMvD7xt)~^1X7V)H50Uw!JTPH*7HVdMoqJX z@N5p;9E&JT=d@W+leB*vX;bnaXrmy8m=SMjHb*mmJCQhqvaWQ4*Gcuoh3$fxmR$fP zXxRmEmR*1WJAjF^)y)_kqq;dsbCnSnwhKt|A=pWgxtygUK#$nS^v_BHE!;**SVY5$ zB+f{^C`rq5TG*rDA_JVHHaQ|HRuU+fqGz6#H9=4)KQ%Hl)fNcJ3~3*d9~c)U=t2kw zWW1_M#3AKXSXsh@d25*d$XY^PJIx}bLn7FMy`Vc{?RdQ5wx4QP`UL!wP(>75eUL>& z_Ub4Epz5%y`D~Sa1A?L{f$H@x``^~PVYM5c|3w&O*CFJe=n2)UErhThwk(8;^srm&Vat^fr}bl$3U*(l zg0UY2N;j;6-504~C{oBy*dyT%KnGVjFsf6*WM7cdBO{4PVV|5Lr z{)e#|<1bA(FCVOFRK9euw#MJf$7^Su9L+B-%My(-kgbvi>WlaVg9EV( z3ZtPJa&Q^DL@ZI@=81S}^yJw=EwSy<2CzerHvoea4YxEWjo5I+X!Qx6vE)+wVsw(# z#h|oy$Jk0X0!7rc2UuG}S{@mDD2}AT(Q3hIJ{m%b-Ezt3`E>-WG7MJ5nnhxmKOMl# zGBnUd>DI7d+Y&Gx$T_2u8i|(dfa={y6tMN`hDKrpt+6IPB|E8@#v;pge)E2Z8Ba^Q z;2Esj(w-@-z_#}vsBoBA4Kv(VWhGR*{;HmAEa>N z`lY#O!poWZXLsS}%U)9bT8Q=%lU73|juNS^KZruQz+4p=EIcaELd5v+-mJvV%g0{A z+YH|$>dO|QxQbL!pvWLT-+r&YELUs->&R$AO^J--JFD5HkDCVRkXItXd_xF-bU2v^Z#z8Ud?DD zT2@sSg>V}&4Ldakw-p^g`O1N!v3jwsg~vO+L?hN#oog%R;nl2mqE+5{M)vePr{4wI z;y?_=%A7QNg7WY^s*bc1w`4trVT6qCM0&eZV4Z+rA_=wN+n}y(FPgIrYE64_6N2~- zA{Ui6K+xiIcx!0PF2k=r8@&X-1YrcW0x7vgC z|J6a%VJBC0M4_LnypEzB+o(o%6tz*soR08Tf`O>x_&2(tMVeJ;e~XIgB=!R6)lQ;| zYXNP$NVBBP=qBPdGqe#+)vcXHFO*x+S>&dl1hQT9Jd9CLh9#6m$mS)Uw)jeyn`eq0 z{LmtG*c5HSV{u(XJy5b`7vOvmdqYC&u$R@VT|{$w@n;uN7tz{XMN{GS#;Zq0iA>k_ zm%%An8n47IIDx^j)@xScOovu8RibjDtH?s;zq*RX7gsX2n@Hdg|LNUC{Xi6FRj#qN zOQE<^plXV51Io42{y*&%`5$L8nA$K()MTHjV*^E>%hXwp3UwDP>0O#KI^!oI(#f7n z$$si()uD$7@3^tG#X2Y!Cy^`d?}W2aPtn$ffLd)`^RjZ6kzCpuWo=6k?xOz6>IIeX zvg*`JG;?`yVg@_nHDfJ0ND@?}_Vg0Tl*5vsRlUVI_PF}3HVz}!T%2Yk42I2yLjk)VKTjQu6neVuRTC64ZTYfGZAfOW6OdH^cPoJ zS|m+<+aH_GJR$D@afDfES4Vo<)+{#-5_5p=*+HTe#?yv_#YpB>3kQpaNMu7Hx9ioX zgT+{CWyc|6E?yoOB05&RtUFXpfLJXVDh7bQp9~fGcz0o_Xi=r7^!#6IC>KggoBfjaYTX1p^5D;CpOL-=45`QfMny%M1GVH9CKu9OZk$Hu{z z?=_h}LHVx~d66S^*v~2I)~cczRF@_rtVZWdY^^CNHJ!Kk;RILrUnx$rST*k|Q4iC?=!jupNWiK8SbcLV} zMty9BqzZje6~YOUFVyrABD>EeWX4EllUa{pATvBzG|F3K#&fK};gvEtHBZ-qmsE>O z*ODAni`^`jDj6;c`dv~{m=#kDVnyoDL=+AZIiPbH_9Ph?MyVp;A5B5*TCyqVja21| zCR`(naN+V3t@5$3qWgzv77MDOLj^b^E>1NZE{y7F(>a1N(Sinf-6eL(pt|ndoq|}$ z<_QTi3l(9m2XXPLH$dSGtPY{l1ge?o)yF>%qUTe5+Y}oqaxl>5jTCtpN;{2&ar+8h z>0zy9BcC?eD&ULRMyaX3Z7?@50faRTdKdC;W_t=cXKnA|@SRl0Mv82da(*NXEfV7F zs?nDWKz9u)FTHy_rhGVU?@~8T5Si-E2_iwQ9;NNf%d8!5TPlC2$j|B?AFG;-hF(cm zWus9(;gh81v=cSetD{lvdiD8eF^M$OfH9(`Kf^W#%yJr#OY<|M;}9D|-8)9K%gwN7 zA(l7+F2TsOlU#L%8Ls>QU%l6uTN3)IKsM0Os` zD^!cP*C>e8KuO3MZ`4xr#)`2`X-0xIN&>?oX#|Xt09HHV`LdvZa~+jhBAUh3wn1we zb=1%jQ509(D72I6sQD$LeHB-ND=cw7Q6kbZAVyl5f}#*-pEeQmYm&K@I1Uy_taUSh zO*xxjMwC%iE)Abi6Ic^X4b$P{$Q|ebMO@R&>yMy@5vJ!wWDGZrjLCA45$qaG(|kP{ z&sR0aigb@nP)*0&W?|xiW_BTPqD2>1iQ+0GiVM>(Up2T!_~ZQmvU)7u$X6q-5uF=h z2m$+(qDBj}rL3t>`WA1H2ETI|?K*+Z@NHFxPz((O*N+$Z!hH9%@{I?VZBY%!W0bej z8@2-_KbIthg*YOO9Ux?7qXcvzlq8J|&`FTO6w;6>&?Y&h(5C5RHm9qa*NPb~`*|6j ztH!LD31VzjZ2AO|RTX=10&MBm)bkUd56(ZXrayyeO5AngFfsm|BUm0p^+u_$Sx8P4 z-C4~Y7?Bz}${7tl<_ehn9`i>BPED0e66yLVJvtL6CNrCqS}*RKByg5qeKrX;QDrD; zvZ#R_u*zR5=y1ftrJ^%}%2LskWvS#T;xWWRQ$z`Zzit2~ou-N}@H~05faqT@9>Vjn z>%}Vw9=}20VuKK%Hi{Tp?nXy=YboDNqK*1u2JD1N<+(|WM=;e24kL&FW)NVu8a7kl z@&mPcrUpE31tm8}0oGOJGXePZ%>)=KyhYGiL^bSIm?f3!MJp({O~)49CZ32?&`#}} zf_x)x*A=Y2UAztW(mQlLZ&^XpJH_)z{QgeyawOZM%9th6)w_3r);J?EOBX!b3O=`j zKC^W;XF!)V*$Unah;>v!nK+1`c#fdc1ozDm`w{fNTfBjw-#n3_n#~osfIyYa)dhcP z1$aZPd3v6B5y6f3=z`zBN4$jCntKIqSWvO^#k~kt%-4{=&L>xfx@m#<25NH5Le#xp z?Oh}qs=`IOy?IZHR5gp9b^25Q>!eQiiB4Y3Fo~(aCcgD*(S2g*#VP;3Pu%9z9jbDc zfEKeC3!FkzhnIkyEtb%82+tnshULqUc6O;w!!x>Oy{cF)BGmx{x9Yt@wBzfUTC`EX zQSvZ|uxEuv^85->fkO7)4@O##69MAk1fUjg`iXrl?0}1*Hfery?2H^H9VZp9f zt5;GbA?E|&RHRC}XpySsJ|wo_ zx#4ki$b+)JtqB?q0{SylW_UPHlHsulB@|PYF8?0P!*tu3c zO1TtrrK+(TK*LjyiguSF@WW%62oHNqgQDha_4H$ykFQrqA88?zt*+ZZNuftKAPIQ< zwNVJdLnB>tlUNP#otwmNBtgXgK!9#cRe>_pIcE!ASE|gdVgrJGTg5KT6)~&s2U9G2 zLa3-{*KJ}IivMUEItjoaIdSr5PijTdX$J+N@*Scpy@dWqRkJq>_o}DFKoA;TaSL99 z(3`le0h?h~v*8)BK~$;9tcGGVsl*lKu4J{Op%{g!$~O&hzAro#P>(WELJ*RRBGybb z;$mFY%R#&0S3IcxJSGe$EG#g7rwmWVs(qpjvaEUzzJa!CT%M?-hQUV!zpL5V%U0+n>!1K-7ZHF=L1Nx5`O|FuW-ugcJ9uc)2(EZicP;0XA+X}W-! zB^fM&f?{*QNi}0HIr6IVXQ?B5#q}I-y1Xcwr^3G`$bC*bsUp4y1^Q&D4KIouZHA@d z77&sB9|`44y=3~Tp4ca*CRNaiL;$k~eWjGaeEUO172<8l4upPtSv=%ro0NJ-)N8N_ z!esac`kh8?Bcnge;27+vPaPQV^2XsxlOqT87CwC@vHVEr`*+0CJX@#Y(j}dG2p}f@ z>B#OQp%>m0)46ih5yjxBR&~T8Fxr7S;w#Kux7HPYRsTbgNkr-Sq3Bda&!r!V`uy3` z>V*$QGkS~hHd%?IBAK;PHIIsW$t-yIsL0QW811kNBuxro7UVk(hn{7q&yI==W~y^X zF`v#-x&P9&Z~2$lOJz^`NYn=wD?bvA)55$8XD-$oX!c*iSU}BwN@l9!3Ri%-wU;XdJoBD2LO478NiP0B_)_+C!8X zht`L|j8ZzA<%rXzykeJ9Q67GcQc|lc<&ivhTKW@VC=@~)1*}4zxm$fkr$3*0O3k^^ zm3rA}&{I#TUZ05UdS5@Svs=e3F`bn_dfTq3G~h*PE1ywIKM}26m0woS^dL6_(-bX; zdCL2#<(^qmQ`S*4J{1S6I=0hiuxk#gvd=^d5YCqG&ps2Q4Q(6ZMxn1N95C}R&BV5M z7<3%cRNz3e8hK2VdJj@%NQB|FS-o=%J@^vo4if78N-+q!=cY;s>p``?QYXGtDXz$M zV}2=VLdeJ@g-f6062jU_7$)4_Esnzx0Vadq=)=puQrnM%`K)+7B~OTExmCRy5zJ_} z|CJ|1T_@b|n0rG!i42dP5aYmG@}%ft%k4YgKyFbh6x{Ta@c(UA3r>nbso&oX*C~#e z`?Af`^oW&3-1W7>sHx=VVmM@F%;(~91kNu=kE?ZGXw~21OMwf|)azf0?FerBN}D(( z{}vt9(68arj!q(g8sC89Au(@$13y3P>(k$e%yi7bMVKxiG%cB<0a$~n^(}0~EY;&% zu^8I_$hShW4C@G?13(5gVF6!rw+p*LeS6fY??iI}qeRUq(Q8J1$PyIv9{1Lp+Nv-)&+~FoR zbC`2g<|$NrLUlPMS_6qYPl?`b2ygg-^%iF6Kir9htsq!6!koMk2;;4@ix`aQzODkl zSmg#dn)2rV1G+%AT)CxOpLG_)#i`!Vs zP|+W7@Bn7Yc~QbzsyEKV$~dNeIWHPtmZSNf;!!|;_@@|n*}E2hi62;tP{9Q;K%nNE zxIE9y=tX>BNt`vW)<7g2Uf1RLgjI3wtrNJzi#e_>L{=pQ*CR<;6a(YNW}60ykQ+ zJpN*fBTBJRSDaK=rO6?L_SQ5x31}zRl(zw&5R`iZR;AeYr_0lLyDLM|%(7;tT*kJm zO_`Dm{`f3O*Vd@k+45Ti1vwgKL5_S8r^eYG(p{sZ+jFO)P{+*l|vHCKNY$`kxIrj8fM zLRUGw7rxh2LOq%8i?A13qxq{n;^Y@1%L2j&tHjUD?;cnC z>&ZNi1?h9Euj_$ZHf>X>^<{G`BRTYt8f|2bsxRBR9=H#@ovh}JkoDE8^<__Lwyy#D z{(<|{wGCub7uLn0J5}R`GQ;&O`LlD>;C8aE`k}qlOY&r-t!gNlnuzn>eEm* z#h5&+p)8~UXj4Pkuw%5zw#Rnq?3UQMLoOY14RZ`j+STvIumtbAhm!}0-&77_yVTL9 zvNOE78O`LKh&|8@+;TE>u$laTvv1V8mU0XaZdB)66921fTFIS6&6L*iK1^rITZ6&f zs<4gRI6lgraFp8X!B6uK#$TtdGDwNc!1Vs%Vg$DqcTVp;ix) zO`wxsA0)3KayA+)aeQUxNWd(?FUS)o22D%-*jopy!P-h$~@$fc0m3s=bB(cIs!lnoISUIh(O zuGCdqBr zWSHy+q_z)}*i*Dwy*11dG0jB2;Zno)9&W+jGF*}`IdOzc5gc+_Ib0T7@iZ1vg;42y z`5txU2$&L^?^Clz$kq{le0_wxmiB2BkBmwLlg6t>Bjs&5U z@n)&^_k^ou$9U;dtw+g3D$^bWZ1vk*-7!jjoOuWgStNGLE^G+QXWcp2gif}unl@VA z#SW?OM$2>{>>ML!@U2SSK1SObC&tKILB$bcr2z$Y=UB|};f`597X7|ny*XBnq8jU$ z$jAB5OdTmf&z7sU<6xicxlcVaPHXsY$I1Ghw+Q8Utik18gW>6T^|cjhu!Y zhp&;X5yXs_^=v|o7OPkZ#mlv`7_x%|AU?$KNvxg{xQyP{J=Dh=bEF-=88nGvqoEe7S zE;Qw`!XHm|3Y>0%(|op2^RJZ!$vd`ySXhasE&I59g=R#`90_vxCP?X@t`mqJ7_g%l zdM7hCZ9~RXHE4p&PKyR(V0BIZM^ya@U}jjv{U%5wb2{%F{V!ZFjk@1Xf?e_C1h5n; z-w)v2<<>4;%&zrO0<7f0a?=xeECMlgVFE^Qgjv@~f1l;-Qq&e+-X`+VUA)3YTi&Db z29ec*>!cA_ju$&&rjfDe$d4uO0aj({IgXy`&Hy}n>6w;nso<&zmT)zceuItLIy-bM zZE~fufGqY};P@Un=E9A`gVkVaqgq`mYt*KAWIr$o5hYj~N~vBd5beKiqHL-5xkYN6 zWg7tw6x=&eW~So|I64WN6^Q6|P1?k3u)$733Y-wz#aOTj?zh-Y{us2wlztCtiU~Ie-caoZwUr3aSW6v3$FWg@&19Nx z;q%cpfzTl~w)zr)ORZjYZW1&b8d!U>G};nDh%fB6;W2!yz#^7j5w<9d$M8;e%|3z2 z(vNPooVEXdu+((6XrZ@EYtFb2trq{+9W)RM&>1P11_2(8n?^^%|y_kw=TaM$PrP&dMaI>A$_mQ9t7N}vu%1@z9! zkJ;X(V0OOddF&02-IOm(N3VDZWNCr~)vPy}fe)~CgM1$aQ!%^2T)S@;j7c~*Jw9-n z-$UI)un;yE4#94f0XCo$In20R!LE;4%253*DjO zn3B&6FnWLt_^*o-L@+nJa)5lSIt}WIqHq&iad?(-h}e!8xc=|esFww$jVC z+BjVnX3}FWk)AGdvA*hHf##|&rpvk-G*|gk^7Xbx;O)xgCoEP#r$r=p{r z;8M#W>A(gxkim(gxKxMJoUTJFS2p6e+3D8DBO>WIG2@S^s=bh3L9P#7CC)Vt1k<{4 zPcIH9x_e`DiNtlkz$JkDB#@AmkDFh5Q8I0^0C@*tk;`rIEkPgxhnzIrn!PiPSZp`I zt~w3qp(h&_JdRBhE%_A)ummzl*Y9^@SGlg7SP9kPh%wzh?8MEm0km0|*FvQ2bJmM$tO$ebL0Qz95fJ@B5DP@(K}!!{o+uG>0b7!m0Fa23 zO($be20_yfd~k*(kGcWj)}cB2%Pdy4B%fBby47fCA;sxlYP;bUA*fwP9g&uM^3htl zJLQ)*!ln0(JpT>r*tE^iXbK zH@DdhNZGerK+V~JR1}6b40`rmzxs*x&~i}E2I3Y?!(C+QL90hB>9(GsG^u{76w4sA zDsIGeG43_I^KehJ+n(0gAq|V~FvbH0)_pNYBt=J$wtA(j%@E0lUFXX(z^Tlj!%?JJ zNoo5X(5McxAHg6Tq(kP*#x*90UQz1HH}K%Atuq0dh5(%K3o9kMQ|qGAsgVCc>Hn>8 zY*t-5Q`V_w>1_c#KD6}q=1iGYMBXXfH%3V$%H-sZN?E7VaZieGuS&dGu4%bIFQb(~ zkK4;=G!$bMjRt0G5e-|e@m$8RhDKK)qfD%zRo-m*8RBn&^QOHrr(mZ@dpr-cDm$gC z!PR_6nN>ZNMkO325+8!=3|a|0_4euU;|)QSFXV@WHC!JSdT{fU!VSLR7TK6TxmCS? zi=>-eJKZV=v23;cR!r?Z>epN0zqV?`8FH&kED~3!jDArjxg({vA@EP|$l(X5S&}reLuSrYzZ@oPsi%FRSNlu;1>G zL2CBWJGFP}?45EZxi+TUCD+0K;h6U( z=Ug;_`c<#5Qntfbm>6k%vg9)w;C1)QzE_1f#(b0t0&q`sRgX>V1pc`|#bG`pbpG~TQE!gIS(rU`&7q!-~fc1?jG$= z{_P(5Mbe&2_uA|Yow^sUH-iwPYY8eDPN?FSjvJ5}L41g`O4V{9N_kP;y-;?{CSW=v zt%3byuSNlWvQT?be_1G70f$D57WffHB5FRRS@356 zv@GWlBKkV)@+0c2MRJLsYV;r*5X*;qj*!IlN72}rBj!BQ}oYiXw4qaIrVSAIKnWC2OryyOKCRg%s$*#t>hkBDg8~!Vk)ElYItzj+iLV0nP251p1(#u zK-{0Zwn_u`$Fr@E=w=BHLrQBvb^BVl8TY9N*2;!@krL)UoYK&Q*zf#~I5qy{9Iv(~GHZ ztdpw|oA8jlrOoC`DEKu=6iE0Tg%%A-HzGnrB%MeXV-Oir*2`Jo?EBZl{hqB}TrX=T zXX&%i^h4T(8h|~&>#^`z8M@+OiBCOMh9;H6SxZXq-A806qLEg5bsmLF`bBm7qjDQy z>O3aX82_DxI&P33F#g+_P}<`lGyj&U(*D3clmV zpTK&gF`rULLJy9+eHIssfOFJRQ>J=HEFvw zEb0d9Vh(MWP4ei3BupywT-fcURerJg{Rwn+mNIroziRWO)K_SS^LF9uPpTbHVvP!4 zrFaqxELb=?y#sF7VnAP9{hS^02K#mM)+Aswn}mTRqSkaTax6ztD)OjC@087457G*1 zvg+Rmejt6Ud#K7=i?5}EHaOeew~GI-eM%k;-FlV@&OT7=H|AICe#N&wK2#@v#b+t( zq;cmMjoSY_hYtaK5CYV0j_BT|JWIX*2P?<(E$8tG4-H+UD%?CTbm}}SVMrPL7ryne z?_0I@FLuBN2;F-DALa}fFq3mCAXV^i0io%Fk74YndRy{V>}bgC#79BHc~Q6?mvrUh zu|AEwGB%P|A#bjl70Vw*ej|?W1itUY@xKTa;9V#5OFVzjj`-EC1l|pB=Mwll)HBP+ z_q)Py6KeA5j1{Z%zhl4Pl^MKa7~dTky3RqF;X3PtHfQog!J4S&bNCBUVArUhb9u)+ ztxqv`oeu?b9bPnR zfV#sk${KQPgb(F3;;u*5TtcLA7YKR1E-x4Z+76$sbmp_FN&d1kzZRL_ zHhDh2W5UN-&$JLcpbKAQ1^J;ry71PKRu1f@TlqsbAb|=8_u%hi*N>{(hp%l|$w7GR zJ;3aXJo#{FP}gL|bN#VZKW?kRRT1Gg>W4lY_D3kLFRx(i!_XW3c;h6LbbbsE@uN(w z5G+N#HWp;6R5MEW0R%0^>2CXA93Me-HyO{zGbdG%vT7_Ex$|1!^ie2z0)K?iefByO zQ>m6t01=sShi#q(2BxL>WD z0wncw2kSKj4X1KD)9npa55U)odQC*5AQ<{bz_ycX79B zd?)WvEm+`AKD*i%ks6SH$bW@!tB>yDZL0-C4YgIjS^TbQ-`dqwU&Dmif0GLYtfz7V z{3YxYb%P=Tr6eGCsp^*&B3L7QE^(a;*U0akWf3Kwq<* zUqQKdFW0$4A1>#`RI}%P{_rKG)>n&{^Vraz_w!>U8oIqdujGGJ*TN8pK9*Af-)-cz z=^FqGSA$ql32N{rxq;x_OX|L(0VC1NB0Dhjy>-svPiCcRnw zIIl~T-?Wt%g#Pt7Mzv~-1V=Sf`#1B2fA_XnE!o1qqZ04j%Igu)P~s@|w@uI7##3p8 zMo)ZGZJB6dk=lEZd(@a6d=C|zy;JuFH6le_y_4U4Nz2-***md?q2E&&uD}KVewx$9 z=dxY=!rxc$!ZZ9^D(3Cya8(9%4-kLrS$?nX(x^m*#0KiZEFKry72-w2L!a*Er|hf+ zM8UJq@mZ0gXwreSwa?>=j6}`YeK%P~5`Qg9E#rq<^z&;Ck_d#wnEG}ZG;P3ri zhUV&%{e1Q%G$;=3I)IPT1HG4D=6nAxYf%VdMYATg_6@G= zKHRN+KVaWI`T^|Q>rI{(W*5w@h_wq4;0->t(Sw9w_hF1w*!lSme?HX`f(n`p0PtlB z0eRvb-hin!Tr}c;ZBVaqp?42rVVMs6v=`!AWG|FB)mf>!OYySan~C*2%<`Fe2J>pY zH7Ca@x&WZWDM$+?xI`ZWBV6L{l;aqFE(1U15)V|_r%T)-Gc@lgpD9q|Zy)m~*b{2w zC;Xr6iO`Lo^4F=W+aKfESv1bVsna7qpD@?6vgO#`p%J+07|*8zhk6#~SMPkrd#KNk z@lD9PxYEumDR1}7^S*@dAp`EqO1>_)DS5XlocY+qI0k+h{<72WMh90-@*{) zeaCO4_=+FM`e>$x;POiwTLeFz;deF#|j&gf<|JHxktfS;b>_n_4AXDN%?e3sWi@b+1LMRqenvmDEvAY&olK&zS> zQ#9}i)#(>r2EdA6V5>G$AOFH{z}_8Kj2iMQMy)48Gk(QrgBQon>G!{%!_d-94fqYE zKcQ~^jo*hD`yJ>t3)T6ZkAYnly5~!9vr^2vgNDIu|i#xS3Bw6|A0>fM28Q_4pbvP)VAop549QUKgzH4f_tlG zU9Z)}?)xk?y&fjLjS_J1vT>mphI|VO#YYIn7l}E9OL;Pmlwhkab{!?v!>uag;&8?z zOZ^o`+v3$+FAjcWsV4D)=C+}D?EUwsZ8dOOqN?P(@aBmG@gRbpKJlCjG;x?U_2--5 z0D@~XMwi|w5v8}Q7e;C=z~kzR1qfEw7kgZvKfj;mhxE}WE0@!teebgyh=thcE@31K z)3EkFNi{eTXZfB7@fL$BN_K?=y< zn-tN$F!G_Y@PmQE@nv}Z(F*2!m>cBM_jC2si#+fC>qpSle7vW2p>TZ9t5&LL5KGW> zDXMR~T9%62bEe_vlEg{)Bp4N$FB&==`ML;fb;0h|9F>qJN@|dTaA6vT6BPIaoSKye z66Pp>2F|KA$`Ubnek4QGQWI+mG7P@Y6Itq|nqmsl8>fqc^c-^E;2Vq@alP&UY_hPE zC@%}UXsYnzYFxHRNpo5au-X{`r*}CS7BHOpg0(t5VXQsI663BZpan?LXb<7j#HKNOaiw5IWRbe)c1m)1uuqKp6G3tPlY>|6OQTJtwCctWMwkQZxVMXWY zEMm-I=uN%oXVDp{=u|8~d8_LNeNi;H1H5D{3>FO2i&uEwfP<#VeTH*$NCUMhJ zSjF98=Koe@`9)SXy_OKtFh+>#wOHz~2zJG4qhB+b7Q=V^IPIiaCC7uylP#HEo+{Ea zEtR0RirCztx28cziM1QlnYYOP)??)JiIIoM_aIlURwtn|E+W67a%zc&wTy66(7ylB ztwqM)@d6`WFw0J;f7FU}(M8?SI2WgYQwngbd{VkdQVBIRfd>?b7OB~&+~R*nL_=h& z)diwy;6Ia{WWgeTc7oNHw4`o{q(yv374fYeM}LbOv7EqqVBZtN9>F+x9LrAF%LtLL zYT6G)ac1P(nc;`loLNg|zA5>FT$XTceb3Zmot-1dJzI60J59AUoq9Od4pJQFZlv~^ z&Zc-wqd>mLk+}qg1C#{BPlWifE&1g-W*=yl?X^d+AMQ5qx zdL3S`0RtI#e`j97PdLO)8whbo11FpG`g?Jy?^h}s7pCX~<_V#ePs`mbwDDQ_9Soe% z{UJF^f&{)jvXvUt-`UheB(vY`pw^fU}M(_%kes6s3#lJJ4xu5~uUhHx9&y$KavgGSHdDzElSX zqWgYl>c@f3`Z!>bHOSePqE`=cwx)2!Am<^VH)61J84v!fz8&mrW6+6t+EG-10N(*H z5MaYhA^dg%q5wx#w;|}ca`ns*=Tut-#o6DHl5F3h^-)+9I0es@1K+Ord zQ`9H7y5giWzKpBeMmTHHA+(1^IGcKs;vXWj@HO?}2xmjOYt`86OjX4voGGg8A!m$_ zRvl3cZcL(caTl2Sc%-wInljQEi)pz!{xkZ+%9N(2JcOKkM@DtZ@sVJ*J+NFxIrZ_% zUZa5d1+{3D^B`ZbK@A@5T+Sa3sgt9fO^Gr!$2eQXJW5iP&_DiBb@do$J`aULcaCx9 zaJEyeDRI`8pEK_l>OhHez5Cx-b~OL}n3_1w*~NJPG|y0vjDT#t2{dr6#=plw_hkM9 zjce#Q1(NiPzuG+eMFrgEW-Y(;ei~XZ-kHtoZh|hz!*U_UvF>ook^*hXPl3)|Qd{ve z#QB)injfowPH;A7>sMXpypAxPbe(f7E(AUFe^~nt_^664?!CKv=U$QxEJ+AS2xJoi zB$OodB5mnSLO(Oosu_bK9qqCuVE&-%F*sZgdB#iX379fW8w7Uzp}*ZAb*9}u|3{v& zKp@*6F+}a|AWAS|IN;85?+EnG7yd~j)CCHV9Xkrh{zh?q%NvhU55^Ok=yE9ZN`EKh zK(Q1^qWi8ukNYN1dPRLv!7Ywg)Md&d9{;KuZGW(j*M3!y@Rwgzdx46bdR2{d?fW~2 zx*#51aL<4DRrO0c#pEBqrk=rZ>*6u$Eo&Y3j8(G&SU^XEr5&$Ubv{sBzx(-kwW(b> z!Y}yLsy{i~EQO0Ov5rx9 z=NXZv<8>3xxEcUBhxaH>cd_9y?;jD}i*+1TK&J>Fh=c;Z!@ENO!91gPnp(nVM?E0h zantIG5dorxS&t4=U8mvVYOZ%S<}19X;59xel=N1=Qe0>9!Qee5D5d?RxNhc$#e)f_ z6_J4@zZ)WH<-Gi#vXX*`J7f7blhpXmDZn>)PY4oQhJ67%8ET$F$5m>>QgG9- z7DBfb3ZI+~i=f8}oC2$+A}sA9TN;(MRI&BVRBX1pan9}#gN?O&R|I(j34UokY#DXwp*D({=Mh~v$t zs|||DsytDRhsxiazoouJ6>!cF73elYO-i*?fEEQDm*E`%H<)Tz)JcF!DIT6TN-hp+ z@-^NK2b;N_Yctiaa6L8q6j%gW!iZiMeOpb1K}JERiO|pFt>0FY^5|=~d7vzF-&QL) zzf)Wn_`$c;`$Uy?zN4P7Z&.>3?&X_gv`o2j490^hWq&zY@q5ZCf^)Ec-voiRs^ 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 QF|rw>{iOVjG+HL|UrP*}c>n+a diff --git a/substrate/srml/system/src/lib.rs b/substrate/srml/system/src/lib.rs index eccd99a98c..c3cffda04f 100644 --- a/substrate/srml/system/src/lib.rs +++ b/substrate/srml/system/src/lib.rs @@ -284,7 +284,7 @@ impl Module { let mut digest = >::take(); let extrinsics_root = >::take(); let storage_root = T::Hashing::storage_root(); - let storage_changes_root = T::Hashing::storage_changes_root(number.as_()); + let storage_changes_root = T::Hashing::storage_changes_root(parent_hash, number.as_() - 1); // we can't compute changes trie root earlier && put it to the Digest // because it will include all currently existing temporaries