From c132e845727153cfae636e2d38ba0ac047fb0a64 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Fri, 25 Jan 2019 19:07:02 +0000 Subject: [PATCH] Additional externs for ecdsa recovery and keccak (#1583) * Additional externs for ecdsa recovery and keccak * Update core/executor/src/wasm_executor.rs Co-Authored-By: gavofyork * Update core/executor/src/wasm_executor.rs Co-Authored-By: gavofyork * Fix grumble * Grumble. --- substrate/Cargo.lock | 92 +++++++++++++ substrate/core/executor/Cargo.toml | 2 + substrate/core/executor/src/lib.rs | 2 + substrate/core/executor/src/wasm_executor.rs | 42 +++++- substrate/core/sr-io/Cargo.toml | 7 +- substrate/core/sr-io/src/lib.rs | 6 + substrate/core/sr-io/with_std.rs | 16 +++ substrate/core/sr-io/without_std.rs | 28 ++++ substrate/core/test-runtime/wasm/Cargo.lock | 125 ++++++++++++++++++ .../substrate_test_runtime.compact.wasm | Bin 59987 -> 59532 bytes substrate/node/runtime/wasm/Cargo.lock | 125 ++++++++++++++++++ .../release/node_runtime.compact.wasm | Bin 837159 -> 828196 bytes substrate/srml/contract/src/wasm/mod.rs | 1 - substrate/srml/staking/src/lib.rs | 2 +- 14 files changed, 441 insertions(+), 7 deletions(-) diff --git a/substrate/Cargo.lock b/substrate/Cargo.lock index 773703f417..9a008f2e71 100644 --- a/substrate/Cargo.lock +++ b/substrate/Cargo.lock @@ -218,6 +218,15 @@ dependencies = [ "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "block-buffer" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "block-buffer" version = "0.3.3" @@ -531,6 +540,15 @@ name = "crunchy" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "crypto-mac" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "crypto-mac" version = "0.6.2" @@ -616,6 +634,14 @@ name = "difference" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "digest" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "digest" version = "0.7.6" @@ -832,6 +858,15 @@ name = "gcc" version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "generic-array" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "generic-array" version = "0.9.0" @@ -933,6 +968,16 @@ dependencies = [ "proc-macro-hack 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "hmac" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "hmac" version = "0.6.3" @@ -942,6 +987,16 @@ dependencies = [ "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "hmac-drbg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "http" version = "0.1.15" @@ -1545,6 +1600,19 @@ dependencies = [ "make-cmd 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "libsecp256k1" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "linked-hash-map" version = "0.4.2" @@ -2637,6 +2705,18 @@ name = "sha1" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "sha2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "sha2" version = "0.7.1" @@ -2739,12 +2819,14 @@ version = "0.1.0" dependencies = [ "environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "sr-std 0.1.0", "substrate-primitives 0.1.0", "substrate-state-machine 0.1.0", "substrate-trie 0.4.0", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -3501,6 +3583,7 @@ dependencies = [ "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3512,6 +3595,7 @@ dependencies = [ "substrate-serializer 0.1.0", "substrate-state-machine 0.1.0", "substrate-trie 0.4.0", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -4669,6 +4753,7 @@ dependencies = [ "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" "checksum blake2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91721a6330935673395a0607df4d49a9cb90ae12d259f1b3e0a3f6e1d486872e" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +"checksum block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" "checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab" "checksum block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d" "checksum block-cipher-trait 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "370424437b9459f3dfd68428ed9376ddfe03d8b70ede29cc533b3557df186ab4" @@ -4705,6 +4790,7 @@ dependencies = [ "checksum crossbeam-utils 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "41ee4864f4797060e52044376f7d107429ce1fb43460021b126424b7180ee21a" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum crunchy 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c240f247c278fa08a6d4820a6a222bfc6e0d999e51ba67be94f44c905b2161f2" +"checksum crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" "checksum crypto-mac 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7afa06d05a046c7a47c3a849907ec303504608c927f4e85f7bfff22b7180d971" "checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5" "checksum csv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "9fd1c44c58078cfbeaf11fbb3eac9ae5534c23004ed770cc4bfb48e658ae4f04" @@ -4715,6 +4801,7 @@ dependencies = [ "checksum curve25519-dalek 0.20.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3eacf6ff1b911e3170a8c400b402e10c86dc3cb166bd69034ebbc2b785fea4c2" "checksum data-encoding 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f4f47ca1860a761136924ddd2422ba77b2ea54fe8cc75b9040804a0d9d32ad97" "checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198" +"checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" "checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90" "checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c" "checksum discard 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" @@ -4743,6 +4830,7 @@ dependencies = [ "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" "checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" "checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592" +"checksum generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" "checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb" "checksum globset 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4743617a7464bbda3c8aec8558ff2f9429047e025771037df561d383337ff865" @@ -4754,7 +4842,9 @@ dependencies = [ "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" +"checksum hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" "checksum hmac 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "733e1b3ac906631ca01ebb577e9bb0f5e37a454032b9036b5eaea4013ed6f99a" +"checksum hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe727d41d2eec0a6574d887914347e5ff96a3b87177817e2a9820c5c87fecc2" "checksum http 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "1a10e5b573b9a0146545010f50772b9e8b1dd0a256564cc4307694c68832a2f5" "checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83" "checksum humantime 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114" @@ -4803,6 +4893,7 @@ dependencies = [ "checksum libp2p-websocket 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "80b60b65b8d7053220a0c78a09eda0a162db410067639d2b24432a9f1dc06230" "checksum libp2p-yamux 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "71b4fd69a1c038152d017366d759177e2580fb4fbb56ce65429a642e011a07b1" "checksum librocksdb-sys 5.14.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b9024327233e7fac7982440f73301c00046d438c5b1011e8f4e394226ce19007" +"checksum libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" "checksum linked-hash-map 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7860ec297f7008ff7a1e3382d7f7e1dcd69efc94751a2284bafc3d013c2aa939" "checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e" "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" @@ -4919,6 +5010,7 @@ dependencies = [ "checksum serde_derive 1.0.85 (registry+https://github.com/rust-lang/crates.io-index)" = "a915306b0f1ac5607797697148c223bedeaa36bcc2e28a01441cd638cc6567b4" "checksum serde_json 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)" = "4b90a9fbe1211e57d3e1c15670f1cb00802988fb23a1a4aad7a2b63544f1920e" "checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" +"checksum sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d963c78ce367df26d7ea8b8cc655c651b42e8a1e584e869c1e17dae3ccb116a" "checksum sha2 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9eb6be24e4c23a84d7184280d2722f7f2731fcdd4a9d886efbfe4413e4847ea0" "checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d" "checksum shell32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9ee04b46101f57121c9da2b151988283b6beb79b34f5bb29a58ee48cb695122c" diff --git a/substrate/core/executor/Cargo.toml b/substrate/core/executor/Cargo.toml index b40dd06fa3..705bbf6706 100644 --- a/substrate/core/executor/Cargo.toml +++ b/substrate/core/executor/Cargo.toml @@ -20,6 +20,8 @@ lazy_static = "1.0" parking_lot = "0.7.1" log = "0.4" fnv = "1.0.6" +libsecp256k1 = "0.2.1" +tiny-keccak = "1.4.2" [dev-dependencies] assert_matches = "1.1" diff --git a/substrate/core/executor/src/lib.rs b/substrate/core/executor/src/lib.rs index 8ce1c775fb..ddc9828916 100644 --- a/substrate/core/executor/src/lib.rs +++ b/substrate/core/executor/src/lib.rs @@ -28,6 +28,8 @@ #![warn(missing_docs)] #![recursion_limit="128"] +extern crate tiny_keccak; +extern crate secp256k1; extern crate parity_codec as codec; extern crate sr_io as runtime_io; #[cfg_attr(test, macro_use)] diff --git a/substrate/core/executor/src/wasm_executor.rs b/substrate/core/executor/src/wasm_executor.rs index 87704805c1..7776c83f61 100644 --- a/substrate/core/executor/src/wasm_executor.rs +++ b/substrate/core/executor/src/wasm_executor.rs @@ -17,6 +17,8 @@ //! Rust implementation of Substrate contracts. use std::collections::HashMap; +use tiny_keccak; +use secp256k1; use wasmi::{ Module, ModuleInstance, MemoryInstance, MemoryRef, TableRef, ImportsBuilder, ModuleRef, @@ -420,7 +422,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, Ok(this.ext.chain_id()) }, ext_twox_128(data: *const u8, len: u32, out: *mut u8) => { - let result = if len == 0 { + let result: [u8; 16] = if len == 0 { let hashed = twox_128(&[0u8; 0]); debug_trace!(target: "xxhash", "XXhash: '' -> {}", HexDisplay::from(&hashed)); this.hash_lookup.insert(hashed.to_vec(), vec![]); @@ -444,7 +446,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, Ok(()) }, ext_twox_256(data: *const u8, len: u32, out: *mut u8) => { - let result = if len == 0 { + let result: [u8; 32] = if len == 0 { twox_256(&[0u8; 0]) } else { twox_256(&this.memory.get(data, len as usize).map_err(|_| UserError("Invalid attempt to get data in ext_twox_256"))?) @@ -453,7 +455,7 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, Ok(()) }, ext_blake2_256(data: *const u8, len: u32, out: *mut u8) => { - let result = if len == 0 { + let result: [u8; 32] = if len == 0 { blake2_256(&[0u8; 0]) } else { blake2_256(&this.memory.get(data, len as usize).map_err(|_| UserError("Invalid attempt to get data in ext_blake2_256"))?) @@ -461,6 +463,15 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, this.memory.set(out, &result).map_err(|_| UserError("Invalid attempt to set result in ext_blake2_256"))?; Ok(()) }, + ext_keccak_256(data: *const u8, len: u32, out: *mut u8) => { + let result: [u8; 32] = if len == 0 { + tiny_keccak::keccak256(&[0u8; 0]) + } else { + tiny_keccak::keccak256(&this.memory.get(data, len as usize).map_err(|_| UserError("Invalid attempt to get data in ext_keccak_256"))?) + }; + this.memory.set(out, &result).map_err(|_| UserError("Invalid attempt to set result in ext_keccak_256"))?; + Ok(()) + }, ext_ed25519_verify(msg_data: *const u8, msg_len: u32, sig_data: *const u8, pubkey_data: *const u8) -> u32 => { let mut sig = [0u8; 64]; this.memory.get_into(sig_data, &mut sig[..]).map_err(|_| UserError("Invalid attempt to get signature in ext_ed25519_verify"))?; @@ -474,6 +485,31 @@ impl_function_executor!(this: FunctionExecutor<'e, E>, 5 }) }, + ext_secp256k1_ecdsa_recover(msg_data: *const u8, sig_data: *const u8, pubkey_data: *mut u8) -> u32 => { + let mut sig = [0u8; 65]; + this.memory.get_into(sig_data, &mut sig[..]).map_err(|_| UserError("Invalid attempt to get signature in ext_secp256k1_ecdsa_recover"))?; + let rs = match secp256k1::Signature::parse_slice(&sig[0..64]) { + Ok(rs) => rs, + _ => return Ok(1), + }; + let v = match secp256k1::RecoveryId::parse(if sig[64] > 26 { sig[64] - 27 } else { sig[64] } as u8) { + Ok(v) => v, + _ => return Ok(2), + }; + + + let mut msg = [0u8; 32]; + this.memory.get_into(msg_data, &mut msg[..]).map_err(|_| UserError("Invalid attempt to get message in ext_secp256k1_ecdsa_recover"))?; + + let pubkey = match secp256k1::recover(&secp256k1::Message::parse(&msg), &rs, &v) { + Ok(pk) => pk, + _ => return Ok(3), + }; + + this.memory.set(pubkey_data, &pubkey.serialize()[1..65]).map_err(|_| UserError("Invalid attempt to set pubkey in ext_secp256k1_ecdsa_recover"))?; + + Ok(0) + }, ext_sandbox_instantiate( dispatch_thunk_idx: usize, wasm_ptr: *const u8, diff --git a/substrate/core/sr-io/Cargo.toml b/substrate/core/sr-io/Cargo.toml index cf07a1acd6..18fea94685 100644 --- a/substrate/core/sr-io/Cargo.toml +++ b/substrate/core/sr-io/Cargo.toml @@ -12,7 +12,8 @@ sr-std = { path = "../sr-std", default-features = false } substrate-primitives = { path = "../primitives", default-features = false } parity-codec = { version = "2.2", default-features = false } hash-db = { version = "0.9", default-features = false } - +libsecp256k1 = { version = "0.2.1", optional = true } +tiny-keccak = { version = "1.4.2", optional = true } environmental = { version = "~1.0", optional = true } substrate-state-machine = { path = "../state-machine", optional = true } substrate-trie = { path = "../trie", optional = true } @@ -27,7 +28,9 @@ std = [ "hash-db/std", "environmental", "substrate-state-machine", - "substrate-trie" + "substrate-trie", + "libsecp256k1", + "tiny-keccak" ] nightly = [] strict = [] diff --git a/substrate/core/sr-io/src/lib.rs b/substrate/core/sr-io/src/lib.rs index 3394265a84..aa446f74a5 100644 --- a/substrate/core/sr-io/src/lib.rs +++ b/substrate/core/sr-io/src/lib.rs @@ -25,6 +25,12 @@ #![cfg_attr(feature = "std", doc = "Substrate runtime standard library as compiled when linked with Rust's standard library.")] #![cfg_attr(not(feature = "std"), doc = "Substrate's runtime standard library as compiled without Rust's standard library.")] +pub enum EcdsaVerifyError { + BadRS, + BadV, + BadSignature, +} + #[cfg(feature = "std")] include!("../with_std.rs"); diff --git a/substrate/core/sr-io/with_std.rs b/substrate/core/sr-io/with_std.rs index a608a632fe..c3ba363d28 100644 --- a/substrate/core/sr-io/with_std.rs +++ b/substrate/core/sr-io/with_std.rs @@ -24,10 +24,14 @@ extern crate substrate_state_machine; extern crate substrate_trie as trie; extern crate hash_db; +extern crate tiny_keccak; +extern crate secp256k1; + #[doc(hidden)] pub extern crate parity_codec as codec; // re-export hashing functions. pub use primitives::{blake2_256, twox_128, twox_256, ed25519}; +pub use tiny_keccak::keccak256 as keccak_256; pub use primitives::{Blake2Hasher}; // Switch to this after PoC-3 @@ -200,6 +204,18 @@ pub fn ed25519_verify>(sig: &[u8; 64], msg: &[u8], pubkey: P) -> ed25519::verify(sig, msg, pubkey) } +/// Verify and recover a SECP256k1 ECDSA signature. +/// - `sig` is passed in RSV format. V should be either 0/1 or 27/28. +/// - returns `Err` if the signatue is bad, otherwise the 64-byte pubkey (doesn't include the 0x04 prefix). +pub fn secp256k1_ecdsa_recover(sig: &[u8; 65], msg: &[u8; 32]) -> Result<[u8; 64], EcdsaVerifyError> { + let rs = secp256k1::Signature::parse_slice(&sig[0..64]).map_err(|_| EcdsaVerifyError::BadRS)?; + let v = secp256k1::RecoveryId::parse(if sig[64] > 26 { sig[64] - 27 } else { sig[64] } as u8).map_err(|_| EcdsaVerifyError::BadV)?; + let pubkey = secp256k1::recover(&secp256k1::Message::parse(msg), &rs, &v).map_err(|_| EcdsaVerifyError::BadSignature)?; + let mut res = [0u8; 64]; + res.copy_from_slice(&pubkey.serialize()[1..65]); + Ok(res) +} + /// Execute the given closure with global function available whose functionality routes into the /// externalities `ext`. Forwards the value that the closure returns. // NOTE: need a concrete hasher here due to limitations of the `environmental!` macro, otherwise a type param would have been fine I think. diff --git a/substrate/core/sr-io/without_std.rs b/substrate/core/sr-io/without_std.rs index 229f971f28..f0ae5e7020 100644 --- a/substrate/core/sr-io/without_std.rs +++ b/substrate/core/sr-io/without_std.rs @@ -91,8 +91,11 @@ extern "C" { fn ext_blake2_256(data: *const u8, len: u32, out: *mut u8); fn ext_twox_128(data: *const u8, len: u32, out: *mut u8); fn ext_twox_256(data: *const u8, len: u32, out: *mut u8); + fn ext_keccak_256(data: *const u8, len: u32, out: *mut u8); /// Note: ext_ed25519_verify returns 0 if the signature is correct, nonzero otherwise. fn ext_ed25519_verify(msg_data: *const u8, msg_len: u32, sig_data: *const u8, pubkey_data: *const u8) -> u32; + /// Note: ext_secp256k1_ecdsa_recover returns 0 if the signature is correct, nonzero otherwise. + fn ext_secp256k1_ecdsa_recover(msg_data: *const u8, sig_data: *const u8, pubkey_data: *mut u8) -> u32; } /// Ensures we use the right crypto when calling into native @@ -343,6 +346,15 @@ pub fn blake2_256(data: &[u8]) -> [u8; 32] { result } +/// Conduct a 256-bit Keccak hash. +pub fn keccak_256(data: &[u8]) -> [u8; 32] { + let mut result: [u8; 32] = Default::default(); + unsafe { + ext_keccak_256(data.as_ptr(), data.len() as u32, result.as_mut_ptr()); + } + result +} + /// Conduct four XX hashes to give a 256-bit result. pub fn twox_256(data: &[u8]) -> [u8; 32] { let mut result: [u8; 32] = Default::default(); @@ -368,6 +380,22 @@ pub fn ed25519_verify>(sig: &[u8; 64], msg: &[u8], pubkey: P) -> } } +/// Verify and recover a SECP256k1 ECDSA signature. +/// - `sig` is passed in RSV format. V should be either 0/1 or 27/28. +/// - returns `None` if the signatue is bad, the 64-byte pubkey (doesn't include the 0x04 prefix). +pub fn secp256k1_ecdsa_recover(sig: &[u8; 65], msg: &[u8; 32]) -> Result<[u8; 64], EcdsaVerifyError> { + let mut pubkey = [0u8; 64]; + match unsafe { + ext_secp256k1_ecdsa_recover(msg.as_ptr(), sig.as_ptr(), pubkey.as_mut_ptr()) + } { + 0 => Ok(pubkey), + 1 => Err(EcdsaVerifyError::BadRS), + 2 => Err(EcdsaVerifyError::BadV), + 3 => Err(EcdsaVerifyError::BadSignature), + _ => unreachable!("`ext_secp256k1_ecdsa_recover` only returns 0, 1, 2 or 3; qed"), + } +} + /// Trait for things which can be printed. pub trait Printable { fn print(self); diff --git a/substrate/core/test-runtime/wasm/Cargo.lock b/substrate/core/test-runtime/wasm/Cargo.lock index 0c20da9c2b..e633ec94f9 100644 --- a/substrate/core/test-runtime/wasm/Cargo.lock +++ b/substrate/core/test-runtime/wasm/Cargo.lock @@ -1,3 +1,8 @@ +[[package]] +name = "arrayref" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "arrayvec" version = "0.4.8" @@ -46,6 +51,20 @@ dependencies = [ "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "block-buffer" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "byte-tools" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "byteorder" version = "1.2.7" @@ -138,6 +157,23 @@ name = "crunchy" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "crypto-mac" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "digest" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "elastic-array" version = "0.10.0" @@ -159,6 +195,11 @@ dependencies = [ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "fixed-hash" version = "0.3.0" @@ -209,6 +250,15 @@ name = "futures" version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "generic-array" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "hash-db" version = "0.9.0" @@ -247,6 +297,26 @@ dependencies = [ "proc-macro-hack 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "hmac" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "hmac-drbg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "httparse" version = "1.3.3" @@ -336,6 +406,19 @@ name = "libc" version = "0.2.44" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "libsecp256k1" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "lock_api" version = "0.1.5" @@ -833,6 +916,18 @@ name = "sha1" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "sha2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "slab" version = "0.4.1" @@ -898,12 +993,14 @@ version = "0.1.0" dependencies = [ "environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "sr-std 0.1.0", "substrate-primitives 0.1.0", "substrate-state-machine 0.1.0", "substrate-trie 0.4.0", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1079,6 +1176,7 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1090,6 +1188,7 @@ dependencies = [ "substrate-serializer 0.1.0", "substrate-state-machine 0.1.0", "substrate-trie 0.4.0", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1248,6 +1347,14 @@ dependencies = [ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "tiny-keccak" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tokio" version = "0.1.13" @@ -1430,6 +1537,11 @@ dependencies = [ "rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "typenum" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "uint" version = "0.5.0" @@ -1559,12 +1671,15 @@ dependencies = [ ] [metadata] +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" "checksum arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "f405cc4c21cd8b784f6c8fc2adf9bc00f59558f0049b5ec21517f875963040cc" "checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" "checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +"checksum block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" +"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" "checksum byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d" "checksum bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "40ade3d27603c2cb345eb0912aec461a6dec7e06a4ae48589904e808335c7afa" "checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16" @@ -1578,9 +1693,12 @@ dependencies = [ "checksum crossbeam-utils 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e07fc155212827475223f0bcfae57e945e694fc90950ddf3f6695bbfd5555c72" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum crunchy 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c240f247c278fa08a6d4820a6a222bfc6e0d999e51ba67be94f44c905b2161f2" +"checksum crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" +"checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" "checksum environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db746025e3ea695bfa0ae744dbacd5fcfc8db51b9760cf8bd0ab69708bb93c49" "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" +"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fixed-hash 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a557e80084b05c32b455963ff565a9de6f2866da023d6671705c6aff6f65e01c" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" @@ -1588,11 +1706,14 @@ dependencies = [ "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b" +"checksum generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" "checksum hash-db 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dc5ec43724866bbc8337e09cab4d4b5f9fdbbe589f04bdc8bfda906a639ad338" "checksum hash256-std-hasher 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "811bd8c26961527b7d5623b71162d865325639f8ca204d4ec90b5b87473a122d" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" +"checksum hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" +"checksum hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe727d41d2eec0a6574d887914347e5ff96a3b87177817e2a9820c5c87fecc2" "checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83" "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" "checksum impl-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9c88568d828291c50eed30cd7fb9f8e688ad0013620186fa3e777b9f206c79f2" @@ -1606,6 +1727,7 @@ dependencies = [ "checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1" "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" "checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311" +"checksum libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" @@ -1666,6 +1788,7 @@ dependencies = [ "checksum serde_derive 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)" = "477b13b646f5b5b56fc95bedfc3b550d12141ce84f466f6c44b9a17589923885" "checksum serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "c37ccd6be3ed1fdf419ee848f7c758eb31b054d7cd3ae3600e3bae0adf569811" "checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" +"checksum sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d963c78ce367df26d7ea8b8cc655c651b42e8a1e584e869c1e17dae3ccb116a" "checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d" "checksum slog 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e1a2eec401952cd7b12a84ea120e2d57281329940c3f93c2bf04f462539508e" "checksum slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e544d16c6b230d84c866662fe55e31aacfca6ae71e6fc49ae9a311cb379bfc2f" @@ -1678,6 +1801,7 @@ dependencies = [ "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" "checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" +"checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" "checksum tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "a7817d4c98cc5be21360b3b37d6036fe9b7aefa5b7a201b7b16ff33423822f7d" "checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f" "checksum tokio-current-thread 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "331c8acc267855ec06eb0c94618dcbbfea45bed2d20b77252940095273fb58f6" @@ -1693,6 +1817,7 @@ dependencies = [ "checksum trie-db 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6fce41ab9c34e9a79f3f3c149c17dfedba15d10ee273ef1ae40dd48f7d91eb0e" "checksum trie-root 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6c08a925fd6305f1b7ebbbb663352ddbfe3033648303a91ab127b8b5b12f04" "checksum twox-hash 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "555cd4909480122bbbf21e34faac4cb08a171f324775670447ed116726c474af" +"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum uint 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "082df6964410f6aa929a61ddfafc997e4f32c62c22490e439ac351cec827f436" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25" 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 d767186a989e52be3d164221ec544712ef9e378e..f2fabeda06b550703f4fbd1aec9e0dab54a6a42d 100644 GIT binary patch delta 9267 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 H^ELbr7J5vK delta 9793 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 diff --git a/substrate/node/runtime/wasm/Cargo.lock b/substrate/node/runtime/wasm/Cargo.lock index 8c4900ee6c..8b29842a65 100644 --- a/substrate/node/runtime/wasm/Cargo.lock +++ b/substrate/node/runtime/wasm/Cargo.lock @@ -1,3 +1,8 @@ +[[package]] +name = "arrayref" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "arrayvec" version = "0.4.8" @@ -46,6 +51,20 @@ dependencies = [ "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "block-buffer" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "byte-tools" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "byteorder" version = "1.2.7" @@ -138,6 +157,23 @@ name = "crunchy" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "crypto-mac" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "digest" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "elastic-array" version = "0.10.0" @@ -159,6 +195,11 @@ dependencies = [ "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "fixed-hash" version = "0.3.0" @@ -209,6 +250,15 @@ name = "futures" version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "generic-array" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "hash-db" version = "0.9.0" @@ -247,6 +297,26 @@ dependencies = [ "proc-macro-hack 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "hmac" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "hmac-drbg" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "httparse" version = "1.3.3" @@ -336,6 +406,19 @@ name = "libc" version = "0.2.44" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "libsecp256k1" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", + "sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "lock_api" version = "0.1.5" @@ -909,6 +992,18 @@ name = "sha1" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "sha2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", + "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "slab" version = "0.4.1" @@ -974,12 +1069,14 @@ version = "0.1.0" dependencies = [ "environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "hash-db 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "sr-std 0.1.0", "substrate-primitives 0.1.0", "substrate-state-machine 0.1.0", "substrate-trie 0.4.0", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1456,6 +1553,7 @@ dependencies = [ "error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "parity-codec 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1467,6 +1565,7 @@ dependencies = [ "substrate-serializer 0.1.0", "substrate-state-machine 0.1.0", "substrate-trie 0.4.0", + "tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "wasmi 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1608,6 +1707,14 @@ dependencies = [ "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "tiny-keccak" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "tokio" version = "0.1.13" @@ -1790,6 +1897,11 @@ dependencies = [ "rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "typenum" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "uint" version = "0.5.0" @@ -1919,12 +2031,15 @@ dependencies = [ ] [metadata] +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee" "checksum arrayvec 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "f405cc4c21cd8b784f6c8fc2adf9bc00f59558f0049b5ec21517f875963040cc" "checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" "checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0" "checksum base58 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" "checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" +"checksum block-buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1339a1042f5d9f295737ad4d9a6ab6bf81c84a933dba110b9200cd6d1448b814" +"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40" "checksum byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d" "checksum bytes 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "40ade3d27603c2cb345eb0912aec461a6dec7e06a4ae48589904e808335c7afa" "checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16" @@ -1938,9 +2053,12 @@ dependencies = [ "checksum crossbeam-utils 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e07fc155212827475223f0bcfae57e945e694fc90950ddf3f6695bbfd5555c72" "checksum crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a2f4a431c5c9f662e1200b7c7f02c34e91361150e382089a8f2dec3ba680cbda" "checksum crunchy 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c240f247c278fa08a6d4820a6a222bfc6e0d999e51ba67be94f44c905b2161f2" +"checksum crypto-mac 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "779015233ac67d65098614aec748ac1c756ab6677fa2e14cf8b37c08dfed1198" +"checksum digest 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5b29bf156f3f4b3c4f610a25ff69370616ae6e0657d416de22645483e72af0a" "checksum elastic-array 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "88d4851b005ef16de812ea9acdb7bece2f0a40dd86c07b85631d7dafa54537bb" "checksum environmental 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db746025e3ea695bfa0ae744dbacd5fcfc8db51b9760cf8bd0ab69708bb93c49" "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" +"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" "checksum fixed-hash 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a557e80084b05c32b455963ff565a9de6f2866da023d6671705c6aff6f65e01c" "checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3" "checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" @@ -1948,11 +2066,14 @@ dependencies = [ "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b" +"checksum generic-array 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fceb69994e330afed50c93524be68c42fa898c2d9fd4ee8da03bd7363acd26f2" "checksum hash-db 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dc5ec43724866bbc8337e09cab4d4b5f9fdbbe589f04bdc8bfda906a639ad338" "checksum hash256-std-hasher 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "811bd8c26961527b7d5623b71162d865325639f8ca204d4ec90b5b87473a122d" "checksum heapsize 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1679e6ea370dee694f91f1dc469bf94cf8f52051d147aec3e1f9497c6fc22461" "checksum hex-literal 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4da5f0e01bd8a71a224a4eedecaacfcabda388dbb7a80faf04d3514287572d95" "checksum hex-literal-impl 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1d340b6514f232f6db1bd16db65302a5278a04fef9ce867cb932e7e5fa21130a" +"checksum hmac 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7a13f4163aa0c5ca1be584aace0e2212b2e41be5478218d4f657f5f778b2ae2a" +"checksum hmac-drbg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe727d41d2eec0a6574d887914347e5ff96a3b87177817e2a9820c5c87fecc2" "checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83" "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" "checksum impl-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9c88568d828291c50eed30cd7fb9f8e688ad0013620186fa3e777b9f206c79f2" @@ -1966,6 +2087,7 @@ dependencies = [ "checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1" "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" "checksum libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)" = "10923947f84a519a45c8fefb7dd1b3e8c08747993381adee176d7a82b4195311" +"checksum libsecp256k1 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "688e8d65e495567c2c35ea0001b26b9debf0b4ea11f8cccc954233b75fc3428a" "checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c" "checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b" "checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6" @@ -2028,6 +2150,7 @@ dependencies = [ "checksum serde_derive 1.0.81 (registry+https://github.com/rust-lang/crates.io-index)" = "477b13b646f5b5b56fc95bedfc3b550d12141ce84f466f6c44b9a17589923885" "checksum serde_json 1.0.33 (registry+https://github.com/rust-lang/crates.io-index)" = "c37ccd6be3ed1fdf419ee848f7c758eb31b054d7cd3ae3600e3bae0adf569811" "checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" +"checksum sha2 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d963c78ce367df26d7ea8b8cc655c651b42e8a1e584e869c1e17dae3ccb116a" "checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d" "checksum slog 2.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e1a2eec401952cd7b12a84ea120e2d57281329940c3f93c2bf04f462539508e" "checksum slog-async 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e544d16c6b230d84c866662fe55e31aacfca6ae71e6fc49ae9a311cb379bfc2f" @@ -2040,6 +2163,7 @@ dependencies = [ "checksum take_mut 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" "checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b" +"checksum tiny-keccak 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e9175261fbdb60781fcd388a4d6cc7e14764a2b629a7ad94abb439aed223a44f" "checksum tokio 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "a7817d4c98cc5be21360b3b37d6036fe9b7aefa5b7a201b7b16ff33423822f7d" "checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f" "checksum tokio-current-thread 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "331c8acc267855ec06eb0c94618dcbbfea45bed2d20b77252940095273fb58f6" @@ -2055,6 +2179,7 @@ dependencies = [ "checksum trie-db 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6fce41ab9c34e9a79f3f3c149c17dfedba15d10ee273ef1ae40dd48f7d91eb0e" "checksum trie-root 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6c08a925fd6305f1b7ebbbb663352ddbfe3033648303a91ab127b8b5b12f04" "checksum twox-hash 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "555cd4909480122bbbf21e34faac4cb08a171f324775670447ed116726c474af" +"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169" "checksum uint 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "082df6964410f6aa929a61ddfafc997e4f32c62c22490e439ac351cec827f436" "checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5" "checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25" 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 7200683148424fefdd5b4ffde8475fe89685bf08..2531717ea4fb5a882f1698094695aa07f92a42dc 100644 GIT binary patch delta 168930 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%0A9I){Pmt5b#D#BODzB!p7Vjf=*v9IMH zBMSZ)kzX4z-!!vJq6M4PMn`ID`p1YSe9~(k4K&RxF^4WT%^+`6+-90B)1HQN7RE{k zF>a6;c$(fY%?V-|m0ISwe#<5H@CT{6n&Nv1sxPmq&y6%X8rzp*`{- zd9mz@Ktk80nlr>|I+kkofk$SqMrL#Q^^4*0jZ7#{(eCj!R-{AW#c5_&Db|L!XP94d zmjHnCW3V5Kim3A4D4iftH` zFH_mBmoGDD%201A?S`X9_~AUW2=gkv+t}3mFc;e9&7zPtbc;!w9|Xjhp7Mi;>K|Sa zG_$o;?5&XbxEMf}H!(YL^71BTKZN05nwW1GVjyj3VP9QU-q^$2Sp+q(;4mE>PtG9L3*LR*^*Ok z=wRkkpo5vmFGv{}iR=@3&!>NP&={huQuB0Gx9e3XazeFX(7?N^)^? zI0i%pT85h(JPgbn5}nL*Flb{sxd?uslX*UuLtl7gIJD`~&SqnDW_D+DFuJy_vzd=T zbTPFPzs_-G7qb;=S=z${ny z$a0{Y*`c=4KHYVr7k4+`sf`=i15FR4sva(xEa+ioaN4sy%#dF@{%Ix>frshK9;V)o z*3k9t>7o^F4Mg!5dYaieoLx8xef)hvF`E@zJQl}PIv?p>=^uNVA+9*R4D>gEdX#}> z3Tb*7AgZ8+Wo{2%Ei*eK_IMd2UmZ-P4tTUbo#~jvfu!Y*xi@YguSpKa1WgJ$W{UPu zG@XRL{s2uqA6xA2l$)_=YhE;7rif}Eq&3!hiPwLQ1k!_^wUij^)q`RZAw36c{oh{%!>pPf9r3y zXS}r=fN22X$N}cT27OY@lp_b4i;(%}f#&E2iAs!ykz-fz80E{R zIOU72_Q5tzp%#I?D`?7TW)seP-)Uw?2J|#DM^*6o)4x&cZZ7jAo^EzRQoqw($^tqw z>HgEv+d^7@x=ZqhPDgLu0n}7sF;!r7cmh>iG}sJkG4jUgW&yXmcCdK{hu$G(J5<+0a_S9Ge?-c;VSp~2(!?wYqO~E=W|_e3oPZ}D1b?k;q;%Ohd%!d zvjgfHa|Q;xKizzWIUR52NKGAuBQ;qJ9|-|~nn#+&NLw}19D)9Y)hKhO!29gc*i;4a zjdsWDozYltpo3@X*tTct*zl+`&2u^Py0grWG@6sTnrY!j&o+-rQ50S>#+;^D@7HcA z`4^e#qHDP9BD0IATO!?fF=iWwVlM%>r%{hf%moa@_DjsCh3G}IFEgLPDzIy%`98k} zCYZO1C3OD;GglsbkirvylRN47M6-bAUS$R#;``C!tIRlV^LrzvHBGwQRP^FRvkaw> zt!*M}^$z|AB#da_<_*)#5RIE;wvdN!quVE$+Sdu-7GqQD&?F4NP_ieRR9oTR$!2QX z=sK~UQwkpUJ{;N5JV`PYPXVZJxS%eWVtQ*U)DZ5R0``w|q-3g@(jYZHgx#27@UNe{ zlx9sePg93)t6{$m8^!gO*%vwxVs>e&Nu~W>>s~$J}E6UDPL+ z6fAC=$g+l1;gU}Hg4yOVZ&ehN4aOhRMdO(*N*eEVxlTq8b*Ya1hXMLywYoY~>sBwF z@XmY9i(*;KRy<^G4r`6-8AFEpFMNsAH|nVr&WUIWFouoL+tr=wr6eFpM7caeEX z8nedWaqw%i<~Zkz);NTL}xqJ{btOe0sA=SNdD zt@~D(adc>f*{v97U2DDP8a_V3tgGw*BXWmj@}bg1Ixxy=1dA5d1R>hqCMKR1uQdBY zobO!;9sx<8`;5s)Sm>@R)j9O_GvK)4)P9ZGYf#<5PZXjGXH!eYhYTD|#Z-qCEdm&> z@P-{C_xP+)dwka5h^DsT9-lRw^>5J5HIRu1C}u76B>?lA*@(8ZiAkgZYk}sX@Pf7G zVG(sYhV4#|PsC-}h`21{5aB(VL-_pO=&(7qZrZ5{L!W$TX2i44Eq!0~6~lQa{Sr3s zt6w;So?CAYt*asVIkN&XX7qEIGosj9`@DutyO+ED-qN(u)Xgv;na+cMGM!jYhhhN!X?h!c=@{VFNLf#siuhPpK&AYkHB?EBi z^nzE-dj8+rUxn7=gqy!+&K2TYnmP)n7TFB#gFi})GPdxKVBs#US+~nP3_9${@(jMVWql25x7`gYk@R7~t1k*esp_9M6(n_PM zEoSrhs7DsOTUTx|2gb@Bx6?abq%PiOhQjSXgieF`aPn8sN)~N1al=x#@QRPk0~{{= z)U4zgh!d&t4m0HYW@Qad_Bwg61D;7kJ~6ZD(jDf;C|cOhf(a{v7Rk@AQs15CviSE_ zaY0-7N70@S%uMiV?k{Fb-nwPGmi8xiXJGAoJ>^&M?v1;kL49%uZT-e9^5Fs=_BnU+ z?AitGV|X}Wx9JnLIrLemXpRwkbdH<$z(N6s(l0(Umt(rn{Xi$1&|9CI>%>x;`Gwg$ z=gZ}hV+StqJC@fS^Z9@_eqp{XkK9i4zQigQWBb~dTrnN`(scAWza(cpb^8jljmA

Bu*xKHynoSZ!(Nw^*c~{Vi5NoT!h-F8kKJD18)ssmrkg2d{Bpe>QA837A7J zrTp*Ab`hMU(Yrgb*xR}bio)&RxpnGog=OENy5Zr?-(jJbvpee9S10~zr7Z>bn<;gy z%?E)`dhm!7{^}5S^?tK5jg=(K`b;pa@Z-D$jw+l*DF@8fe~zUw2h2@HcdjUNH+0;C zdUvd7aDwcn6?L?6bU6(@XkH7he*2)gSU}yF_yagIDzTpX!5rn)Ck#vY7Wz zE?zu}L-7d)&gNYCqp6P_*HK8>Z)Oa=_@mh<%1|etM)&`S3Hqc+VqDVcKbwJgJ#Dei z=P%Csix~Fh3OOJ^wcpkU%d>OFS{FX^w5-d&o4e*}V_%pYW#?eLsaB``o zQjb@Qtq9c@xD{P|6yB8sV=cXy(o}y=f|Z>%oY}Yr{)D`bt2sIt?<}XL$IY$~8GI_` z6T0}gS&Vax$N|f9g&*E7ux#tTW%vSKRiUc+kBK8ojt%F>_5(hhJnmUUrc zKI+2)2uFQxz+P9%4g3_HySE6M$5QBN%epVOlZ(bbjGp5jZ=wSss|n3e))EkVD8~8; zRG1NK>Aku-a=0bdYKc|M>R78Jx{9&)z;u}yXT>vY*>P4e^qB#1R@d~!&oJ3KNl~iN zr1|6O@PasN63nQ2;)sk~2d~wbi`O5yo4r{;U>DB#Ao!G-zvbG%9mj21y@~@BkAe{s~L_1FHEp{^NN1b4_N5= z6J3_bNkq?v(7;41gwm4|tr4t$znW;ZR@a}+BZk*}tqxS>W zC4VjfMkQGb7~nc&H%qqqfY2u-ThqlF`Zn2G!d2dt0$d?n840(hSo)yikrb;4@!=M! zmd}Wp$RYvDy)Nli9$pgh@>2M`bnEXiydL^B&)SRd@h=)%+MxZFZRz!qKWL4PtYfk1 z5uGLYK-(E~UC=6X*G@%tPW`nLUg)1etFW*hiSw#nTS|D1RWCmJNQ;h{Sv{Q8KU?AP zEj#tfvQJQh^&`y)SsAs{V|a1MN)fTE7GT5Ff`OyWc3eX9RTFDjWF)mxmqIT#wQ_4I z?Lbp28)NEiX02z;z1GaSL-50}7S;nIvJ{-n6TCZHg3AJ2gR*Ytf&RhqutW-<`VP&k2k#FSJJf1q-~_#~Mb{iY$G4ZRl=j z-kXZ7bNa2Vc2NX>RS4WX*eOL|fxy*%Fm%+dS>2QUkws3F$0EW{^VppT zmx_z6t|=3+c@59W8{nR3++fFH6)~Q!FSc^)kj4s2-P;SrR;MVo7=ygQ7f~*vi;0MG zp%)WSF6`FU9Bx>jpqk{KpbC^&fx0^LORS=(t8vpH#!}wzDd5JG$+xAv64d`g4{6$08cC;Rjo>SJuu#gHmS&tNL{!s7Z zx_xWydHq9umqWB~FMX(2%(}p{ABK-~vi6Fc9Sb8x+$F{b?gbG#&ldWvi}lE#595nn ztvl=Y?6SX7gqikO`AH1NcDLs6N$1IZtStFyA~kMj+4NoyD-DCVw}+(-Jq-r2--+W_ z;Q2ESfk}YJFPFaVX}$U9{n%1wJyhEd4Bc1^$!wGs$0qrigf`49n zZZGSRzZlY;y{!558|zR1>}}b9h0Q>P^&~a!Y+V8G_MttjjH37gkB8m(3@5YFj;nnM z!b`aJMe;Jj2x!b#`~_H$VR}~7GUkGQR*;tVwZ`CCaWtIE3CfsZQkws_4OcKfJVRqngiLIp2qgG)jpKU!JGPn(&TM#Ns1ug|<_Yyd@VntNp zkHKvy4m@Ugp$=%V;TROO`cW&@wmoc7eF)qWs?_)~tEdWo7eG!hPL@fSci4B60gm?zoY4mmxGW$Z7G;A$Wt66BRK{^P z*<(XvHmI*m=G%|4cY?w`6jof==f$xQzLgh+*$pfeOvp&XL9OVM#ctAG`u;I1Q`+%l zJ#O`C&Z<_F^x<%$hvvyx!>qy~kccT(HuZ!jJZ=pTX9%Y$gM`5c@X(IXzUk+S4;qfB z9vJ8r?w!Xtp}{Z|7_e$_Ipjw<;pdYoT#nM8wC?SiuPcs2Rvez=yzn2Zk0jw|Qg&g8 z8bIb^ThOylS!D^9uE5RZ5%l9zR?k@ITsjYJS!p#10hfyJ@qw3;YY{1NO{CGYd*GZo zPh0)HOV}9*Ab}`o=yIzmnaiwEuqd9h%$h0>KNNm&o4@zNSCEVi$yFDw9ML|9B*YgLJ>>ECN{;QX3!qjlEE zxc?6X1#ZCm|EGlW<1+O1kyG8ruL^hAf+mb@xJN*s4x^;{$gfU&ucs+9BHzy+5x<$fzd7_Wcer1K? zSYk9iV7K&d?My7cg;NPGQz z>vCYX%MaGo@EV!-g*BYikJgP*(qKW(`xg=NW+9`uHeB+?*)rbRSo0$apG8H7tf&45 zq!|wUWaS9g?2v)GZ0c><;)QzsY+VQ!_a}a~rbmH`cJNPmZ|E=R;92zAFV^P&32>VZ zg9>?Hx%scwqFPD<)3yf}Bp$Vj>&Io&#G_W%le56YQ2aIo3>uOwT_lGRk-=Lj9HOyt8C^~ z7eIF2=2e~Q-I{~*2d}Fpx+8QfC3D}X%k@TroHP88n zdm&#Gf_2eX5YBSS^(nn(u73edf?ov!Q7Pl`>h;g3di|4=#tNif|LldZb6;XB%VV(B z>ZPIgS^0FMUp3b9;uII$Kv_TWf*W=39gv|1!d8l!FT~xnAXN=yHdtlj8!*Eu zqmc^2l-#9}%4;`A_^~43YuTWMvNp-GthHy&n|iv8BJAlm^_-%IY$@H*NG;^*^zLst1Cnveg-4-~1e7q^lhFRh55NxW7XTmK&r|BJb@APaAVa4KDPR?ExI=z!N@LK zEoDxh6;y?wrd2^z00aCdL8T3QNg;@qx#5x!Vw>{!Ru0OB9uk<-*S-bq@pm?Z_ycq4 zh9;_<>)X&orFDx+oEqF`fyFH!V&XNfdnp{B6aYS=2_|C_OQ&cCN@?oKpz@}wN8zk3 zda{V(68|V@3ZRCLUk{2_wRsQEWvqw%a_jKqMW84 zXV=>`SRmKF(c%{B@)Y-KNj?t(3kT2O*p+Ucukxb99@RJ^!yeT*BEzmVj{9kHzIrUm z6VV(IKGr#wQkw#`t(KJ*w^UhlcPC|0_m=ox)Mh%frE=X8*x?7Mr~MVHdJ9!y)C#Iw zSV+AJRTvv*M+;S}rjTv8y?}35h`KD{o&}a(COazOvVG_NH|XLbRSZRWK2m_fz$lQz$7Atq>mpebWR5hj{9e|qB)~fYiq2Z?1s-#|B&1qL_ zl~#-9y1I%>fM2lp`6ZajAEKv9To_mMR=jqw+Nh!b(Qwafqq+R!HtP25J8?|cHA%p< zvK3A~AR_EqLH>-O>1|az@cc7v)g=hB+NoRyqBFvbV>qwGQi$&}&tK_Dw8QY6GH3BPO2%7#k-v_1>&mrPO6VO z#^au?E14MdrQIKePXVttxLKTEifq{$IVqJ&gLy=p<%J;?uW4#df*zAeD zvD`D%@ALWVZ`?IhWg6`1)!*L3F&@ksW?+P~J$fHm-3)__CGfp=Kge+M^xEWTDO%M< zrK#oH(Ai{~Tc(=Ofi5buexGuvb63?Wngs~$qF(0gS+t@PbUvU>a}3bZ4H(JorV8rE zWzrShRC^>m*-iD7hxXGq-BgQ)8G3eC!CG{8QW-S8yK16b0m>jXj)D8C)&iLea)z^I z5ExElD<&S_m%(($(zkX0Z0f1~VN`Fax3APP6f)v@AQV4-B42 zilX3D$Ua#H+?%5cQZpM=hW$a@dqA)EP!~3z!Aw$P@LXNXYBdH9fV=0f@E6;}Be2<} znkME2g~19g<~Um*@}{0(`8;~7Cs;9$e($NuGxIRvvkeXBE#aH1Nygb{FH|XrP_mc5}`zX;-jl{=1TA^C( zauw~g-4((i&o!QUd1gXIxPUd!_72Q;swzWJUo6}2Y9m39?ZRiS70Drh6u|YkE&8Q6Fj*7ab zVE%+e1K#aK-QHH%;E`&3`OOotN+;C50F0D^@<>vIEOairGAICHNhOFg&&Ivlpmq0~ zgBh?SvwhtIMgfu$X4x4O=%vzPGof@qJjPJK!CLnrn%Uc30!HSWk9(`uxCbGwLN$vj zQc*1 z%={YZaUwr|M{E13%U~?Y>#te{((J6jd;z}!EV?~-qSakgBY9vOP415mDnei~r_pQu zakn=nzrFpHz92YufGWXCrt<*R6NZs%2Dmc|vJT{2`v<6Oo({bOA&VnA31nk73rlZ& zAOOz5L2^5dCJj{0|4JEoW+0~QhiLmiMWUQSB_Jb`FLN^!0mR3Kd zFY_(VqG^Jx6Bf8u$33W!=nf7C7-Yw~Dwu8Og0S;Qou+no%x3AAz!dWS12?qM+|yN7fwFS}wNnMk z;PzB75!8{wT$Exb38=-G~s zm@w&DR5e7+9FPscZsX<<)}nzK%q5kfJQg6i{GfY>lh6+uzmKTNfX?x&x^`M=X}RkzLm`EYe! zCi@ST=ua_uTs_p_paf>}vq!iKBJBi$yxH{P2sIJfY~dNI{G@h)8E2>o$=|S5rK%FQ z6rrDxje&2&$Inn7nsBE5;4F2(n|>eDAodIP6>Z@nR;Jur>&o$f+-IjU}t9>a>StH zPd=|Hznh>Q%$N`Ei6%G^RzfP#qKUPfltOP$gw%VDN++qQ4er6FHItyqV==#fk{XIF zud>Oiuu=Ug0laQ)6U~^c?kTFDRKGRha#1Y4X$#s9geQr*dvS1TF z8-RkbA>7NzT*M!4bIX4|MfGn85if_(!%gH&RqamQ|2b1tMRuLwa_m2n*>_WwK4V=t zP4$D>eQ+QqpB7A0ceZrpQwf-YJ70pP&^^uj0MQeQw=p?*;G&N`tKpZcck7+tYX z0L~bDrK{`VRM68f&33s;^{TTv+wK^YD+mz8UO{ncPs(W-bFS*)+i%v;m595Uz$prZ6Bej^Fc-rO^%P}k4s&3pIX5lD_aM}!((OFDQpU3aaaax zT9nL{dw0{^`Ks2APG0C|<|B{Id+p^gFwpEdsvvrme{`H8-_+9M^aO30qb_Cy zbhuL$bzX?crNEdi%Ed5D9}zaiRq?EZ>~_Ce<-sjQSR+JyW1{i&z@4hFs18RdoFn3G zv-KO-9-`ymFTysGZQq6+Quhm1Ha2{v(&+p9)ktxeioaF^=$^l;=K4^&=^Vyt1z&3B zL+P9UuCC+kQy;`qddvfA7_zT^KwZoDZuKCnd2ZTxMDKV|9Trc8KU|>xE~<7z=s1TA zefh}$*7Mv=?*5?u6ts-+WHi!_o@Uh%w11&`9_;kgBA9!((!ND%ggo?4xaVRuNSu+N z_0Tf-ckpFv39P2Ovtyh-ubRNxd^CdZE>6HeL?U9H!x$H+_qfuR2gH5HBEV0(m#B70 zKCRw!JoHIS#eQn~FqV2R)98m)GkgJN`ok(cbSTW1)N>|xx`~U_#cnudT;)OvKdgr1 z%s;Nrj9;qGsnRN|&TdY_)q~JSy9&htSHshL1dzkA7_%&N%&p%}WGh=@YoS6(taBwp zT*kTbNH3z2?KoaU#o~(u>^2{#DUR*0AwMg7anL#7v+i?Jppf~n?(m$B{bzhs-A)2v z>5r(hve6P|arVjbvDSvmX>q9?T&&^GLPs7^ebV7{GXpKyzEXKTfLOht;< z(A|$is`sXCkE>S2TnTRS3;7|p-7(wD=fEp@wsB_Zi(g$jfXyZpN9~?a!9j7gL;&hx zEzPQp*b7AaYOBIF!yr_{7kBYT3u5h9+?N1GAA)sMCv9Bt(c&l6B)IG(KB+PrZIF5@ z!8Es7gn)3q@XANspHv-M$DvYI*O2x$6jXfqod=a0kJ7iMR*pk&6KKhk*!oMLbx&gM zPN0~lREsLcAHGG2ifTVO@8eI-p=9wPy>Scn73pg=nLuo`l z){|qMdvzt6y(U14WWg&-f8RZt67=y0(=BL{KE1@(&DvGCP>6W~rI}jz5km%O_~Y~d z1k4J90e~zprgZf1ePV)rj&uZ&<_YRY&l7lbkcdy%yC{IBtGSZ%I!V!3cj2$&;GfAk zs~B56P&%@JBYCJ%To0d)Z4-^HSG;pHu3l-rhbPtvgFK>gbw1No&InX zDuN?MhSvLzL4+Wd>Dz|^j|f2h4ov!8=f7AR6X6wT6!h9R1V6?pnxFKwkrr#}psJt; z%Pvp8oPj4umnw}Pza2pnBs7;7D38(z*;eLM>D7(fIs~*f3)HD|g zj6}ij51d4z^%{m@29;_>q<(KSrZM0Qi|(E?8$|44jpd{rN58MYc3~prt;BBbW7KV> zYFXm?Z8BNtW^gGO22{^F+%bIoGLCf-j4VE#!@>h{e67m!ufXmXEa7^6`!~8_tx7Lm{{99aG8Ra054phD z^}zGgJ^T;POZGGH@J?DP;<1yq_%v@pOk^i5eCs-Fd@;rjKdUNFiLv^ad}0&L4y$vy z%-3PHO01>(*Q<@W^|RQ2(7oQFtDjT7t6~|O;6lb`3}X{)7L1Qzlg&B2EON04n=|f} zV{BT$5U?4~DH>xDY{oMJVc*u5@+y9T(6eJ|v1w^+#%gTFYiw49BIK08wZ=jGuylw4 zC9#+bY3Lv;7&@Qhn}7qCRjdse7;XN~XDmGkp!gy?|A~bW7t@<<_RnUW2$1j;0$?$? z4%X_J^s+bET`^yD~1~@GCt~%Ct8#yE$tt zU%^;LacB*o!x&B7noKci0GuVyt1g*Leed}#t4hM(Sxh(C=Xq5;K8;S_zl1{}ffv*? zCX87xs8&@*Hh;w1f&s(uCtz4LE`Tp+ZXRqXIO&zqr$FsfZ0%EHNC(W{KsX%e^U-zO zwBSW8@gc*R&WeqJtsh_~(H$K@RY!N5s!8VCL7zJ5ihEc z3m$60kaJg|GWOGFXraI0YARsSuyM){?Z-N@KiY$Oi$_Qq1FIn0V4TIWyF7>(a5CZ{ z8r;A@X})tCR69^fz41foLCeS&*$7Im{msDI8 zuR1uBEAbWkdV?rEU|&22^%ycAGVcXgGVsUWC4PpMwD(5A8dig%z-2LB1*4+IE3({+ih}rlf6uAv z=}9KY|Nnm8&kLVSSDmUl=Q+=L&a<88JZH*=VqEuz#tMN1=UvWt(t5+tP;AO_QW||b z;C#fme5i;=`c#RN<=AxI%qic__14@pL891%uk=Y4AhLe8q4>TkcKynBMc<=!=@)Hr zxqiX(8|?7lFpKxzSNzWL9`qX(r;q-4#vJ?#DPld)*jgyxtqWJn6e1VFLA;0qcYl7` z=lGhWziAgeeFXQ=RI3QZ*HZb8JM;eHuxWV0MP3Mb$WYfhCmQ#qsFHCKNrDcxf6y2Y z-M8*%g=ekXbbs+Mex^KtgAru!`#|x}0eg5JM9O`xS;|TE`PWje=%t+d(SyZn9a$Q|C)*7H9gKFL2` z>cEt>oyiGiQbltsBcs``4Pk}zgIlsy^D`LQnXB#^MA)4+VH^=W$KPjH7-yi&>c!z#J@>ubRJa~6Q z9xIY%{ITNUgH*QoaXzN9OCK-(Of+!(6GcmK`ne~HOK>Omz5GP+pB78}%9Hq)d2z~9 zMax=x5x>LfKKhzWa+vjI{&uR{e|W0+LA`qL)5V$k{p8cdcc=Fw-HT5XmPKLtnc`+a z`QkIhV^z;cSi9=!uzIvp$Q}1n;v)F{#7}V*^2sin2pZw{&`rf7^t*Ob@#FfP@G~MH zeEBH%;h%Zzto~Wi(xjgJU&TlCaOThb$4CFX_X=h@<^ zD6z*qS3Hr7jSoLpoVtT3nCZV~%XDY}Pf~CezpJ2jpUJc9mn;Czb9?==xCduueUu+L z9N8VXyZiMoi+ksuTkhh`(6BFDsYZUjnd!>{WZ_rEY2)q<%BTqvS@2$~*f+Du=F*a1 z6^|CC?)+8pqD9-|a+z;#fWxleUD;T+fy=Fa&7J-0;yhLPtzQ=}<#^ORe^Xq+&-Z^* z+?Sunl5m6@`+TvSyEkx^TJBWJKCm$CcB^W+AGvdWTim~`0fqa)Z;P*~KlnI>G~An~ zrJhZ(wA8ctwci)(ddWPS`)6vDo15d;tpm!{e^-r{aXt_oZh)h$;MPpPTWg;!;hs+x}Es9&G4~ zUnC4GcxT@SUoyL3lY8>z;$6XgeJfun?w7+Xd;EVfmS(#@{kb^4Z|yViSjkmk@3Km7(FxAZ_Ki!I$L`A12ZN-Mw_C z=XS+Pn64b{>RvoD9M!bB_Kg=^G9nzVrHUg*gkyW2e|7Lx2g~b~ZQcCEU%b2j)A=Bh z(!QbPlo~q~lNNW;{8D$9lsf-EYFIvr58Uyvkl{NZsa?(;A z?2+UT7<2;l&{2(KRXvQ zzGTNoRUmYjtGPRK$)HQ^&7tvC^eTrcNdtii&2B-MYn`Ox-t+I#uCx20Fk&MAp4K=T z&?R;J2RosFw#8v(=a$kVxm<`rN`f=e8gL!?Q+#$RmaQ9wc zq^$4H*B6fsZiw}~Z*Cl(5b(k+RYtq-pq;|VmSvCV4NanbwKp^cAU6pL`Y%#wgl7t@ zuS^O}PkD7xsFbo3b_p*^vjxkqnC`#4YnN~ZOOJa@4o_}+$mUhav45W&I%?`Wa7y@{ zT=Zof46y@Q;mgy)UB-SZ%ICmDMO5;5-lzn$$)>6_CkXt_-XRGB-K>4WujZa+Q|UgT z!^%EaYMoHmtbFbg`XsMjRpMP~RIoT)($(+VSk(3Fh~`;{;3wSkBr1RydKj z{_Ee^llBGI`k}&|JDesSurbu;g_9J^@@R;`mPPu^caMFju$tiQGfrgJ)FOBFiG};P zJLJQK^QrC84;Ox-KHYp$Vax$0MV0qB;p-bM8}`e^RECbmmcrJdiF1(}wx2eSa_e98 zVpdt#SJLI6@`W2tEN+9$j>BfH2wxRiaf^WE4}3ZutA%}Y~THipr)E9{gpqibcewMZ2L&`-9dze*UuN+h>HrdC_LyQs%BPRR5*{jmvlGZjkwr`XWqr6hq}Xk^(&n7zt*smK0c_^i1lPQPG3km)xbx6w z0=eQ@tT1sCEv0F~5);OJ8YTD2WZK?FeIg3Q+rVwN6{)%{;Rs;>BBJ ztFfrTN|43!ZzR82m~4>>UPt?1m|uc`HlL*NUc`gd!Y90;?@gHUmH%cm+Du#AuJt{R zOyvKF<-GPg7j6zNWJOz1e=Ps3so@G^IZyA(vM=KO=wKDE=oflB;D|Wl3OKlUq6X=j zZ?M)TSmRbXRLpa40HjUJ&$hIxwHM4bcy-C#<9S?fm>Df`yM-u7ip%hqt4mji7msDi zBFqs;^X)S9!E&> z9yTLflFH-tNQ&WnMCn~K!oR77Z_Etewe8c6S>dmO|LS{bR`~IJ@MPb~dxYcjbCif8 z3z#HC&(^?3#NEJIpbX*_!M{O_?$9HU3f^ilY9B#&@xF4_@eHgE*xBOZkUMfxkCW+ zz9-%IL&JRquEpYg;?VGb;%$Vnk;}RAo^Yaj@laH(>}hF9I3u@ZgVw5gOyi|LDP(9+0KwVj~CkGwnV&nQd_W8LnDg|o)v zphmT3sw{*ay~8@ckRZeK#$9??xCfi1HXIhtF0NfpZ^o!M{hOw#=~^P}9y>hT0hGQ- zy&$dh9(tE`l{czx*?U3-CGucr*LFm>WY?xX%uJVTnu_`_En4a!ZE_u#TlY7&>b>D` z3_K+uZZb<=`@4JSy->$bI@}Xivr}oUd*kZj-tGg(mfG6$@)i318#XSaVlKJkuPH9v zTS1kp1MPPU$Oh95??AfCpYV3j`O9mHw*+nO{A-J&il4e3ybN=}HSE#aaBVTmih2Z@ zdwW;m={VfIdlkXed%I7rD$eESo>j%Mvxs36+iA#24Y z*Ku8O%&0P^QE@-m0QT}SHc%+|A!L?^F1d~v({^{-b;bA9$t7<+3h5EL7c=8)*C$&3 zupHB0%&v!^evekqAtaW`v5xY|F#NbUAY+zwm&*|er#3WJj%M%AC?y5$78l~Tf?t`{ z12NvHgB?aJKZ+edqIGcMw*vJKW+RtiI^-5Rn+D7#X}~PpzlfVt3*&j^fB|4_j37@{ z-WG4PF(Phn+=v_d8@Os215g44$P@RWPZfvsvJ@hY4@u9-uL=@BQgjAiR7E`#ZBRvr zyX8}anGoC2!^Z>*bo0Y}36Oe~+^CZK<)?~^b>K4q$X2cJ!%oY&ZqMtBrwyAcX@qKB z=_g%x-GF~jFH5` zHm#mg`JJBa?)E*ZG;Mn?TzOQf>Tdo>cx?XfZ{Fwr{*iFBU5q>}{Fq%_cUrikU3}-X zuy>3<^#dWhbDXF8pep&Sy{vId-;xtU&Zz&=3E});i~HRP;Yq^=!sG!u{@=n64Eo@y ze@k0@*N0LVPWe!{%$ol7hr)ME0lb!_(^^{CV}egIAuW=fKmrwKu*gy{Sn}?T)51^6 zjd{`O;Yc~~K6^T5qB{8f)6>d-aeDZ@22RA84R0RCb!UWUZtvNgGsAZPZ?cYR7qwD^C=!4FjO0@5Xb&zqZbM@UpCc>73s9 z+#Yx72`dy9=bhg8Csu8zRr2HW!siMTtkx`0+@6O1yRqJ9m2AGr_1s;o1uwe2?k>(A zv5`%--d7?dnwC}hU9NBai0~^x@JinaJ>k$?@IUUH(cz-tf89N!!*{#WkHVku@{e3} zbU3YN+a9qnth-x?(x#P z&$!h`BSY3+?7n_%xR0B33>v{}7rVb58%}Z`I3^sv%WD_k4|kDIFmA*8)0vXQ`dFd# zM4i{0KeL)k)?DI_e_uGaV}CYc1XA|G4h&G(2EByS1*#>hO68i?<0={zt6re{9^9qAG#Iq4;PbXsiky@ z`_K1>cZ5dpYcFya92fqr_bKSrn2S07vvd*UhE_l!R>2%?u1;?Jp`UHKuct4CcO}Z^#!dPq3xfJ`!w=ob$A|NZoBfw}9v}WfFkSh<@XBdw+jR4+ z1}*eL)zolge?{afRz)j+QboVWkF9|;6{lhNcKZ-Qe%#Xd>{PjDAA+hUdJmtvKl zVggXHFT;PRvbC4H-(3{$hT~1i3f+{8!#lWs;^J^k=klMJ*d-=oQp?|e+;{0G!@i(B zu^j;{x3BEm?~-t*fJoreE)5Sz1OHid7Hdv7K44rr_xPpZXz5h8{otRMhNt7@J^iw9 zIj+2yFAMh#;(jqp=S&KJs)wY2xeJR@#@9ve+5Mt1@AmTwNsR}4cCJi2kDGgjHvW!e z(SjnTLzT33661|B;=i{{7Lf}xj7p2rjQysfuz_TKoqPa0?*rOR--wtuuxJDtwOYnqR`DuAt5|xPX1iJ&=Q$G zPM)s|5<#83N*Rk@@P7ryy{saPz{+mwz`3=;p~NNlJ{K0&&#&yB-UPO$Z_i$~b>k{Y z;TlFUfd{I_9uQNvIXIPn3d|rg;;FTEl%F~x9FigYg;!a@*CSpdswF^~Q7{q8mEZ9v zu(n7fc*KLM%Ig8Ip@vu)7mR=i7ubb#bw()|=^jEJV-kzhjLCNR24h_~Ckco_BHepy z)vWx4@DIR<1RNixfSyKZQGOX~$QEoO=OK=q!TiBuRpR$F#5daLjkuAFmKLov??kLWQ&fb^P14>Z}}@KJKx-_a^ND*h#tT5qQuh?idzuK=C_M*b=^jow zmV?Z(p$l`0$Vs+E8{(`1bBv6RNj1I%Pli>frU@v?93pj_Hu6$H-p01{dFG-(h0^oc zxsB#a_CD2u(GGgJ1+!^xJ!OGNHp$Y(CVNv8aE<6T8zLg(+e8YT#PkHxG(VW?@EyiB+Hx7f(nhEfe+y5&0XJi&t*p zQcEmPX|k`lLPd{r$&Gbsvx+s&SMkVrF-U{b8Gq6}nJ;=%s1Py#mW>0{$z7dJ432p} zCK}pi%!^EDGOZ}XybY5djPzw|$iLedAA@kK;hEK_z8zmr18AE98KrxQ&MiouxOf8^ zce)3xdq=FdYLFJD0AZSOZXH^3>%o{38bx=(HR1R=QD4667=Z&aQ52K!ET>X=bip4c zjdf4FgpEsP`tYSOk-WyhC`>6_M0c(1+U42uT;(6>?5XTwW5TRJ`ao1QVqJa#xz&4f zD|4DkzM1qPBfXi2CLa(aJo`lf`h1=;t~cu%T1ETYucMe-05&wgg_OALIZcT%#Mj4` z(;7j>0S1#|jVo^kaWJ)|r3OdghaJ1QPQK%Ou+Fjc!W?twfuL^g3zZ{j~K)fCv z0@8w*C|zPA*&57+CM>+d2WRzq7RnD?3iK!niBuRZ?BkaDW&zwa33I#JPwJ!l`l@i; zj%uS(FPXAbq1}64Y>l_Nmsf?|bs8pJDcYR2*|UD>H>I>0qhJ$-Iv26e4`liP?UYw) ze&Pzq#@3G$$nfTCHmJ4s^j<&Ncvi$sG@cmAK|LFFE5TB38BhRSnCVR4jV`v3)8Vxo zsLdsJ5%4cEP)$D1(ID*BKTO$e_NE;mp2oKpjW?9V8&2IBf-r4D90Ehvv-N)B@;X4W z+}-@CkZr36MIWdm(k;$fU)bUmMCe(|x(H)#p&T`9Z@%BMIi{=%o)mz~JUN<@ji2?8 znmuH%Wo4VQiyO0xb?F673IE+o>*mN!k&r2%Ff1P0wh!KeA!j-*?U|ACTFTsv->m|= zRKD{G$!l^_d0!CE-muYFp`RYc_g3;H58%h>HC(gClsvB+&36w5*ZNlN-l&dCQB5{v zC}?LA<8Cq6F$#OXu~R`pF{aSm`R-z=Uc-|lN~7B5VFyX#Po2&t9l_tJkBFA08j zcR74B=zHeVAt%~C(ARx~e)n-te52UYx73AEP`-<#8OojsLf-F{WuBaa(xz2Y&jM zAXFf4j(_d-(uKplih4>dz+%UO2H|kJoTql16dUu&x88))4fBuTbU|{Xy(S)JoQ@(E zr=aK?^VbLM@2{tCh~c6&@V`G2R1FX|yIx9!Y9RM@vR;dm8Sf>*2+HwP-ay1RfZ>Qv zN#*SVBMK7C##Hp?2OID(Qv*MvE2LsJ+HR_BOFnr)ZesS!>m}=%;E_Jq+%wJ9^%Bt@ zT$3Y;7pZ?57Uv7`FNxi4GNofx>(a_$S`FA#P)IBfCc(^6w>>Od;dd}7{4i__#l{RR z75Wp@l^qZ%5hQ*q^d?=Z18KMl&$eH5{UI@P+U4*%2fOT{%l+CNAh z)N$fwKqMO)mvU#`BbvvnXtYn)D+jSqwgv{OfPFN$2C;87^PYH>nWxZBD57cRVKYFX z?&dG&+Q;~Lx6t;yTQ}3mC2dFNmoD69zA+G9*NF}m2cHCSSCv4&X=*U(SH48kENaoT z`(_vp8}1t#tcm(tHUT}U2?)cE+I{{-&()L}i>(~n>-nk|X@1l;Js&tHJV-HwP~>FB zi?y$WFO0VgM&SQ~_b^7rdmyTe5#|TtWE-G7??D%D<`;r$0Ow&I>{o3qvqPg@IDn40 z8*oTiv)tVD*KK8Kzl)*y&8&1!$q4UxfDX2g(~bWGryT=u>aP28u6txN4K*R~ZO{+e z)OP6S4U?G&Je zfhW{dHiRaPl-#~Co9D*Z?Gh4OPok|rvuP`7=Drt(#l2GU9ViVWj05%&4OZLMD6Mb5 z0v&pm{6j-9sUg&1?*~syLx1<)1x-e=HV;OuznmDSF<#utXNQTk{7}(c?tBfCP z)dOWwA=#%rZeq{<80tq5LI!o;k3%zua))2kTB%ElQw=>eA?(GYiD9ovz&`QgpfE}F zvdfT@$3wFdITlc%vYc%}1B7UpNXgl58a9{ZCED@}ETL~xg7axDU;1;J|6aRuCbe|j z`sW2+hH`U*yRtnz1iYA9HBkG4&FsEyce6doMpT1L^L`~zq{pTZWVBg^lBklsxanBM zGzUMs7|=a>mey;9l=oVJQmQrIqeKm9;?2vY`eZt#Du^ZH*jB_z^!d1wjF(l{S|@?|l)Kcg2=zO?sxi6|v`w9B$2QeL2n{w7j=Oh?fWC0oVp50|f#o@Jbe@=g_#4 zHDh`g&!xI0A~`yDa_3Nu^aY8y4$Yk84x z3;n}rMFOU&I=uxphHo`wb!u5lN;s>#W(S)17Hh`;TjSxhSu1&2kV=N8JM`C7PUsmL zuGL@@WNlv63Br`i8~Xgj^|rc3?l>vHQo}QsfOcF2GLtvTkYEfe4~u0m{44rR0GkII z-_!(PDqsSL_uJ^RtE-nmw`@x59t*qMA=Fr3FE6W2HF(;x=Wj z-ddj48PG9QBi16V9ZU_&ZtAkVy3#vAmZJvG zF;XO@9?wDfhn(MRukRjp((jVMk;H)nnt?qNmj4+rfrYpx$Uil(K81 zxJ;k+%B~eriH&@dKFws10ICtuv!p}YK}W;3+)O9NS)WQEqxsu19&4_M`4#cWZo7{5X%u`!C zc+!UXIIPF$V@K%9{wyJceGCYvFy=ygA~2oDNE*um9)q8>Rnl2LPKFo3!Ff>F8QM2p z;v`)-LK_s(CW@%ZhOa43hzdm|2v0(vcp$ror5}ExI&JV<0ZPJL`9RYgYQT`Ku`dt1m7coAysFyEQ;|9OFq$agTnl{IB`MAFv2j23w%{pUj zJg7y2b_X7fn?w7ck`H~M-XH55pnjxSmjYXK z)x$XUmwXbB_m@;eow=5{?!^gE#h%TXbO9bpo11Lb%xSiXOVtP1zY0U0^&0pQY zher3`#Y@3r<5|DF8;O{QUog1!{AOJ+u2Ng%CfNYp#zeeHeTlnf!-=SR`0SkAYR3Fh zubOy`X=RniB+AU!Bu6sy z95VF|q1vnkZ_`yTcn2y}Tcl9kD78#a&3~!b0+boq10|)9h2w7|;DI44$xkPrVGFha znE{B`@q-)_e_44im`(k1A4rFpYBxhAUdc)}ahYmgNE-RyKv7*>*b)$=ok#IVeRXo% z+2-;LE0*1X*Vsp!$*u}E{&qBqHMeeGqp&$4Mt-CEzft`kY^W)33}^FDHoNK?!$gu< zlf?gu_I-eQ7ovcS74+ZhjzYK1U@e;pdI)wzz~sYR!x{N!@h1bo^@W9T65M0}Yv~ybNh4E&ga)-Wa}~707X_1sa4VPwxF8!! zVV>DEILU1dPd!_X$p8{OhE*-ch>^lr53z2DDsq(@z0!iubTxTe6M5WeYBlj0xEz?G zrZn({Xg>QQZkx*bGB1M<^I7t;97VhhFULXZ$4r~MY-lYgz*H$2^(15v=UNjf(olTc zI}2K6;|0kVBMSx%Cq3OwcR8{9=6Adm!^!kkg}^@xeXUyX7a@Zd#-1%?#+I{_gk zt#xopw2$IhtqVES4y|WGSW?BnSfGG!V8yDRoe(>ku(pxph4?lZ5)(y&{M!*n^Wd84 zTb9;+YOE_CV4F@n)B+sSEhfoMUhnl?@!jh0kPyqjXav-crf%s8W0P6<^bM4y!$Zd; z-KF;Ge-xQIvU#F7{zTu7Z-E)fD4YT9f&W#6b)N~A{><2rz|!!aOa97T!Q&r{w8jw> zhq~5Jcx?ko6`b{xY9UW_gstn~#6N`WLY`LjiB(Dx4Nt4)s%jOj`l}LIdYWkz&m&fJ z0~LeNsNR1I8r7=l03t;qZ9}Bn(rD!8foK$e$v_(I96+Nfj)d;Ps1&<)TQY5H9#11v zBxN&|w)InK7c?nf9@te9c)F8OYQ(tMQ&B4px%63e7VoIlS6WC1r2gxMTzT?u-VPth zI1=it8J!rW)fvS$wvrSvGTtf$9XcY|A`6q%`P5a;j)P1ZqPMwIc6 zaZWU1Obq9RQlfLctX5^zJL4)_K6bow;cMi(v=v337T44|wb~hhTuXy9kq<~=M=Fxh zwTT`fou0z!e)@0#bEs2+n2rr-r&0CL6!1=?_+ja2b_!qFbnq~u^LA-(z5-`N#+r=a z66dv;bV|r^8(jixGV2Jo;k8WR(`#{E^Z|b*`>Px&X8d)=B5RFG8lBak@h+UIO;cTz z4>oaSHWLTI3$U>5F=3Q1=-ZZ~a9F)yfusbtTXPLWm|w#4-63kBH6EIxfs;(sV3)@c zy_|t1v|YyA9cReI(bwRyLz<|!9(Rg)2uqf`c9t<&BV9d7U@G8`Q>aUfYnp$O^jo&+ z2DT#~{Ej@S?gXzQX%$H=t2=Ybwd(T4*`QM_U%V!PFe`b<<*K?go~6}ZuKz}QtV#UJ zk;mmOTuKE)ZJC^2@}dxj;#!@;ujm>>uR4|M`zYHro>-lh@z(5@p`TVGXiW0NlZWI@ zgQL`~4Nxq@1rD1cX)C#DC6h>k-fa7jlR5_uBM#I21+ zB!i>MXH9@?;<%s;9sV~~4qsVwie`|hfrA=DXh;>WVHGD{btL~r@oxnGdW`36!ZVYr z98UkZV#s8Xw~M20@~4VxP;rOIanjga=7$>3vqEPZyUP?1&G$Y7TRp(tq099l=8+{B zkR|Ia(T8p|OEfP_^xo{cf^&4V>@!R~j2zpt6l22sLT0#tQgDQ}G;!pltx15bJc%Ox za);e0K_`8v%Nfy7I-Bh~thRhI(?2s)R(utuXTTbVG)_}iWWRaVyPfzS;|Hoj>|Kll zy_k3ew|IS6t{0d|V8zTk$Ou%+LDib{EK7Pm3Wp5OiCfQxf!(=q?xhRoUglkhc)NJ1 zcs}oj=d&%Zboia;Yw)O_8vGCu6etFb(<>fzz80Y`#H==GHJo+W7VavL?t4nD9`afm|?@9t_=3Tm?HaZS3;WD?9qne7BtWd7I z(eW7lN(Id=uxYZMvBO$tFqyV*wwzh{r{ZbY?afT2ft;^}iP0FLdRkjxwaH~JL4@7b zs41<6@7Gd`9{9msQI%ynMtqfz`SQ-{Xai!U|1^=9WD_{6cX5srrE;7;X#jzL-Wa_w zxU@EIVLe#EnI~hop=AEb74(i<`KZTnL8C}X{;td&p>fOFrXM7tZQSi}1kmrWWXzZ< zn<iLa8oQ&`Xs!__R7*I9wlyEFjaMHcpa)x6)1+K{xK&4`&$Lm(+4& z2otQ2i$@=>@!$m5F=jU3Nadq>LzP=X)0GsA|ZNh0I^vFT~@D9Q_N74 zGt^KQplZqef($oD)`}iA#S4IcG?*C!W%vdnP;ZcSeW~ea3WT*0xN6_FX z`?F+BbvpAMwm980{H^%>0GHWBZB-tWzti1}t9xJBHeRG{d}ZR`qBWTTnfgQ7Zjwm2 za(9Q&m1EvipO`&b=sp-%!YdLP^<_f5TeJG2Qq-53l%l?{mLVC`!Cgat3F6&MeX*bf zYt>g)xmlwn@ToO5Omt~0z!G`BYf_C2S~X(}!aPIgZWedwGIF6#PwMR9tkQU@CP?Gr zau!rMi@A&%Z_Ylo;@9s@U}lT|m8MXSwWi4sTQR_UrVy63XisK9Qb~7H1i=yv-GVJfNU%FPGZ0?&z1fEmv1??lQo^2)=dw&#{G6A$VR7B40?$-=E-2A?9cs;Y@ zq_8srLS?}(ozn;jNK)hsj;2{t3>Ezt=HP|~Ah18FKB*y@V2b5RUiS_wfj9NIwju(*=Nz_8GmeJ#W)5C3niH| zP*B#vn-+7Py)~&-WEo^9^>NM+p%zwv-uz?kP=@umE7=VtnU6VjL^VoD?xLIn9nt*1NWy^-MvHu}b2xZ;x5}RSc7ga>Z*DFN`KWanREl9?fuR8oOA~6DWr=|R zw7(SqxC93W03MeS)m94eg}B8L|1g`li@X%ZF!EEGx;*-tzjD|p* z1x`xj?7T+L2sahwZM7nWyG?nO5eEZ@H~D#eH5Nqw(#7_MI2&QHP;E==WmRZeyfYie zuxe;ejJ&te@dW>^@pqPj{WH&(<_P@hXc8&7yRvg_kpONJ!2d^Z|KEXaAQ#N*C_GjR ziV>}j%g{Ze3I&C6P!;|T2of*S3Tio{isf7%sG3RWc-dmFA(a^(Yur2S= z5V2}}n!Ymm8P$d0EQ?B#_fXtj9z#W;$-T~bLRGDa7{d6g;Yw?@sqP=7Mf4XjS#L>knRu5wKV~8W+1C0p)xpQ zADXXqCut;Eaf5jgxzaSc6=Pn#z)M)LW z{1fuOzE%~L@Dqq2wsuTESj#O*@j9Rujkp-!8 z2&JeEQg~u-K>+6AAjjPf8<%xUXc z;jG4T5vr%yM~b7#=_M|4smmf*GB)g-mU1e#^c=lA1*f_wdtqgc?V6)_V||dY$P1gN z8aQJ<5(Wb!Z_y>TQzvO{Sy$%~=fSl2FcphbE5;MN{+ml;bL+OWP-5zDrs!LVX}_lJ z%aBr$T)&a7&_lFzY-f%{cJQ)aVZsNnrbb}hK^@*_G*sXWMKBFxg`uG3Uz7z-i&t3I zP-Wy8iiq=pFZ!_%tD)(F;>dK@Aj74TtQrQJ(MqMBV{@FZ-S|_g)JrkFCjA`wh2g1D#2{sND?$uBx!eM; z_iqqGB`K!4=(T4O?h*l^I4Q9y$qfmg$r;!A7l2@4ZRO1M&G-N*5wou_tFFdv6HC_a z!zv`_$A*4a&FB!~?FJ{kjfZahcqmmCsza#L8Tq<9?(8UNg{t2n77umRLkc6C-PLF& z#BQp8bXKedSvx(hWk7j?!0;Pxz+?nq%opM>8&m^Ip_C3vn|ue=lvo-gH#zl$zjir1 zr9TLI!02Uz=eqt(-qijPbpI;y`OtJy&$O^7#kR4*Um<7HloA2_1m36E&b*pQQpWyA z9d_i8PU7xHthbzklx_FhKbugfryLSTF!fB^QR?{*2#T7_V6h~y!)cW%ZzQ2=Gne#M zE@(F_;e#TGPfP{BTwXs~qNPd&_jw-zgRBgS7}jQF)|HNu1=6BOffJbcNyd0hR(8f{ zGns#X*8=H6;!X+ikH5WZfnr*GIOL?3XYaCkn(4VuXSXt@v+FU*US7>b{n9j*DUBmO znSt@jsf=R#tke#4+}&I=}eBqfhH|!T0G1XW!(a`XKL!^;%>?^u_gcslp~L& zFePqc@l@8B749tEDley?)S*cV(bbzGSom$X?ugtlKMaF2i_bmf+6_(*f3hZ_w0`n7V6*ki?E$w9Z0yY* z1h#HaH*6_;Uy`xR99CLcFSM!B+wz;c7kJHIzNbkoKlfrQTd#fc?giF=drv1ALi+0mr7P-{$~h0PMMfUTrSKG_?zd1Y%G##nC-H&yzBik7iM z1%=|mX(CM&x8F-~MFa;(L==<*iDPxYcyAx%|SAP zNB7=b6D6h|maV{RY!uy2R|TF;scS!gHD6|9;k3f?J2 zUmU5&AIX+aF8MYiI)r>(Sb>$WT)H7Dj;=S0sD6RJozk&B=r7qj4gT8-LtE+kgJKAv znn%P_gq@3;8orgAnD;~-+ZH5g?}TfM`5;NO`v)Z!gl!-@fiNx9;n6hxIA^MHNrD;H z!C}K#;0JZEJAfCNUs&YKSAuVtTs}f4BCdc`c^G#&M7$Jasd0)9HzsFWbh1m_7M=;2 zNsIu+4Iap~XvD;Lk-fn)Q>{;(-wcsg*7H)<4I-wU)=fP$b&KaPFA3^<7%MV6l9m`zfnlL|AmZz`SHwD# zDj)KKp;V+wsBw672F0k@+OJnlW!l&TH>-wV7b&^8(=5Vz{Ui5bLRjdwW^wA)(M~{b zd3t)ZC@ySt4$0JxKyadv6&q1$C*r9MWkG6ALq8BdZ3IdX(g|C^k8Uda-iH#1%PUVvsLaq2XyLsX|*x&F_wXXVm>cMnsfJ=Pa#??_6dd zWqT^=r%$VbPe#qjIMnakN~_|xS)w0w$`8a>mPtk8UiY0bG1nqCxngiLq=Wc2;c08Y zgLA?x)2(>5YL>yrx)L@~Izp`Bcs@>6i zMFJ^u1dI~aWEIxELBTZd%#s$qJ*2A&*nw4rIH4(R;b4H6Sy^`~En6d&C*qAzcFv2v zx`n{NM6c2zIL+yQ#IB$?Px7EkG^&-UjjG;wS;a@M4yezn+n7(Dc@C!QQ(g?7FhSL! z>UE>*r3}RTQlx%1$q!QkX;8DYd105~F(ybv154~k&k=F9xl~$_FIX5{tN;)1fK9<{ z+SLG%4&3hbmqrX;I9u!Gj=Zu)Yr{8o80HZ;c%HN)vQ9ku%X+pXGUB$)&q!#%_? z`UPLQc~cWj{5NH;EmRE8KUZPgIj;Gualw z%~m0xZ{zv+X-2W^hXp;rEW?ltypICEHmGqVV@p-@hDk&gMO(=cGvifrqH4M2aXi`r zW*xsG1qpUsQ(D}Xf>Y-lVp+2orsAGAY=4dsKppD zW=`pnz@To93XfH<6!KPLjR2udKSaQT1{qtdlqgWz^7u)#8k`6o=HnqK%U-o>2CbgL z2AJEx=0Q7pYtU2>E*V32JPg}3PDn1xnfQju5+E*RD{t~@W|8Q|yV&xF=&7@N5H5?1 zk-fYAS+jSugB#X8YxXW2aZ=0L?0RT25v85av^K;B5Kn0~VYV{xS`%VU8j~tzIa?We zmTqK=xQU+2(o)>b4iKLmP~ncuTretj55OdH#nryb2t$vNUs;apDRZNrt9j z(pAh`wH0d;XWEJiO}LfwbwbAdN`dDa!9sF(z)M=IU7GcJ$SG;C4wj8rg*e5V+jwhD z(-V739k-3B>dND&x)O#yNrTiD?#*A&AxjY^ZPLn%JS;)_Ezt+_e?#2Tg6;<}|A8XU zyCc+ux%vlsN3;xSEYQ^9W*N||N-+6np&H4+8xja-#KSUPMMAS&=jFw*bss$^2}jy; z&*x1XP&XwhThjPP#Fdqfh>88OKWtpjjj6G(SWrk+SAZ}j>4r})D~j<*kx7`5NhmTg z%Bpabg9H!mskf3msrR8@@@RMofb?5$C8ipdWxrmL;dna&b^wkEb{ydI@zB8$S_EIp zJes#7ZpkP9P#gc)1UC~=g!-213a?uVPZD@G+k8im93f4Cu>P<2m%Y@^W_Rfg)%uc~wRJ{YzYMZf+P+Daq=-zRAyU zoMin{y~3iZ#kH4`i~d5tvo7Tlzh^=He(ij$5;==4iA5oK;j8^^W|#eKzLpggk~gx; z^r_cx{J3@3+@_zBvvm2_-1|0#2a>%1%bUUzls&ccXLb~3--mt{9^0zpI7`=sL0;#< zRo(PQT8H)h@HoLi*eVnZc=&PUHjW`=Nbh9*`t1}{RRvt zg)w=4?Y&LE4WITO!s&y`Z{7Oeg%eefV=d7Ne*e4hi@|m7>feVG$8MX+e=`mnBeVV8 zkAENTWame+DMsW8StOg&{NLPBM)GE zIPp*67wX2kYnUS9&!(tHaeLB3^-MxRqlw83wWEXdikMeK=%4r9_~+Zoo17MH6-Z+* z%+4uCiB)NbLz42OT_|j=xhr1`hX#w>tuHc_d5JS5+&wRb)3fVWUks~l4TxO)QaCz@ z+}? z;{t~6*Z&*Ng1hy+8h&2LzvtEPmEb?z*Z&;$_H4`7dKr$&74F49herihy8ZtWP6;-; zkN(AvhYi8^{u0j5|Kpzy>s%bRf*#Cb9jB4+DMdvSvh2~MlE(fmu&DkR3OG; zvcX;Uva6~=CCIUxeYi)LhBdgm=QXWkUigx}3 zvzrt+xdr+k$)W7o$v>aI4*`dZ^7UMe%vCZA&Rtr?p(!(lU<+SGM^ZmPeyeuB236(> z#{>lYmC@6Vv@T(Ijp8tl^yCG60q8#R)b!@!%2n=9e+wtn6WvYWTYjd~27+aFj)CtV zkCYKD52}#|)BlYb<5Tn%8x1-v0YKbgjB_yn1L?9_drU9lc48dc712m3;OUEAzHP@I z;l7@;=sZ3JDSA{bsX#|~lvq@yFE)w%sqk_8?A#O}b#{mJM^GPe=ox&= z3y&2h^er@n6J0pjYc?t-L8@Z3QXcMH7+)Hf?p#sIz0lz*uOpl%yI;+VM!PrT*2um4 z_3#^-j`=sjbv(H14bJYK?1mg!7~u~6hcS{9{t-^#jlPxt2=@%SUL(_o4ynd4<`4}m zP50!R;jVSI|C%-s5gJrc5I{j8C`fW9i4KPh@n_~*v7S+~u&rw3n3yiy3J)=x+ElFt z_i?zaWgKNB!3*oqat(yqxVBeN)Q^zBrc==|WSjiL1dDbq@?;{_~EyTHhV;5B!eW}wtET$l}sy9AR%$0z&1V6=a8;ZAeI{L3fUT#nJd(7 z7*Flwpg1i5jQ%=}{x|_sX@}T&>lu#VMVNMcCW%G{ou4@>npn9Oe8gQ+d^i@TGj99L z)zQ2l|CvXl6$cQQon}?8U?Fj11g~>DX*?2^Tj*UR1gjq^#52LIoc|UU$uTE#V^rK{ zgXk0vtuE%GcbB&Ol?hk0?z$6l(Z#bR07LMgsg{bO7BHmsf689wb$`kba;=ws&@+l} z>>HDhei4M}xVcv*wGDGaC$~KoU36%vpc7-=^Mz=)y65Z*pkQgN?*!Sz0s5gctu>>8 z<$=6N;>u7keGsLH*_yJ||4DX=&$&8kmA5D5$WO~hTiC*8^ia7%yS@2zi!BGZ&lIC> z#M@Vj(LAHE*}0SSx^Z3+0WW(WmOm7g(Y6CvG~@IVQ&pNVXZ^6*xacN?(fJi*jz9DQ zu#o4G`$h=Y^AhOl(#=Az=V$KZD7r{<>xC#f7Ady4EqX^KO+ajT$i5zK&7sG5CukT= zbAN1$dfu|7Y3|?JqxZb;QJQ0@7?V*8m-F8lpIkU;1unENSa~U~tf^|lcCuTwCHV=g zmUnUcHwnj0>$jiC&5bBUdj{9IC8cQE0UQgqej`$_7Bgjfb2Gi@t7NV2xB>@WP#u%p zynQbB_AX>d82^?$;_-Qoo!gn<#lzzA4KcgBZ| zEK12VYP#$h#zZqWnZ_D-XFO7@n^@9)Yb|5a$H{%Kxf3hVe1`i=m1tTWDrp|>z5Q_8 zRA|zlG-P*~{=~GBx_v$c{)`>Y$l{tw#7=g4ta;ym#12qf4zpHPBIz}He_m6Ou#A@4 zNV=1AzvzmNtj91mTh$Wkn1oF&zo6QE(_2J8gSDL-v~3OlCO%=6%>Hi9L4kt;*@Fsr_=E4yFAkefcG#p z*)i4biqX+KgW>M6(b1-0c;DJF(UJgY|2{UF92DG6lxM-c$fsZW*!LiqO(!t)=6M zAh}7;zsU39On^wWKNTd?DZ3+A;+RAi><~?UFQ;s$UzUFg_-b_d^43E-9t@IO^!;j@ zZKc^(-|S~|$>&sjTYs~;vwXCRHM=n=|A1;D_sJcisc@EW?!f2{cT0vxA8I$59y z_o(5gKmlMZnaUe0d1Iu+ZV%A?38kV;CCgY2Q?8f1t5&07`=Q0X9weVpg)6MW;YM)9 zj(-H@H^7AmjYj{@SsZ%jV&3TlmR-5NNY#txMlw0ht4346*xG6|i32fm%YX@>#f_h< zMiX?1c)}(hNSVrR50c4z|2ow(__JFA0aJ?>P9WDqkj&!IUwI^26ot*^{x2F8YOR*s zrM2iXw5yiI9cLxaiM(IpS&#aql^d3S(bn^B>V&9P&C^_G$0I>`Bd;h_0mbv-Ao-QP z`lE{6855#c!aS~Za$mZWCPo)#H*5YhF$%ar>ht8)9iufnNTV8wNTE}uNp== zm8$Nis^RWCJ4L;9!!OQ#{_g>f9$5|hCI6|nzOT0yb$mJ?0+8G9aa#l}Jsu^W36iH& zd@sd4ETk3V5yS_?BhAs*(s4ylzMLm)!PN{O_z;Q+lKb`XclYLR-kLuYsc~*3zd!zAtNZ=={^8MDy&^uRXhmx2RA>9Ki==fw%zL-xHL0xob^+t;e z=8)*y&>Q`(mE*YAOpV63OS`D%&~ggy@u|_c-Dsg8m7;}8y~UycP$d_Ule{9qtN*=` zp-^vk(XH*>#EZt6MS&GyrUnY0Gy}6?+a#BeXta-brQ5esSVzu z!0wZ)3*jyYBQ#NfCR*N=?uTg8W)4ngv{OOZeLg!kom*C7rtpKp+{+K`Po!d?iTzIx z3D^T=ik0gXhDw?fIesishV%~d!X`NcEGK2xsJ%DWQ!AVj=VZ6yy3}E1g~f!Ln%$ZQ zaw7V?-CEyY#R`t&qe{Qwnpdc_iZECSl$P29vZu1ejB;(I%&Ft7#*|99Y z$&O`($5tI#EdT@{5n`b{!iVTlW4i9qYzUV$?G!&2yv znI{)9+8FN2f@6+-tY!_#VQE>}W-lyO!iG>}MpJ0-)SoyG1AK z?eV)uJL`A<-J`|&y?*y-TJ(2jaXz`L?hf8P8s&boJKk45d2UAZt{GHFngG_6wIxy& z5=>wbRU;|I1wrX@W0uuk=i0fV1=0%4Fx4BQv zqdJU|4fCQA!TxT^A954i-{(c6ri(eDmjR@xve_|98H@T%lVr1bLm%f5r`H4bj``7) zF8>uJ{%K{VTRuOUI&9r7-fU-qg{x#ZUL3b!el$*i|8hQBz${l<5dFO2pL=~l^!{LW z-_c1lBNxne*SsT|vj{hwY^-}sjb!dfm3twe#Osk;xa1}RHZ4{N@_s$CVaX_XX_%Yw z&S*8B#;4vH?ZeN|MbT#k$k!J|6S;kIQB>vU&x@k`>jl-utUAb*@KMhnd@F4j`_v=ojMZTZUXYX z2StCK;p3{XVD;D^wd*6Q(x@2bFA8c!DU@vfY9aZegHg6_bPpel#*y^BdT{h$)39$i zBzkAjo2G8V$D$ov@1apg1MjPMDYm+I9U3j_r<0oxjSiXekWc=b7Zd~oq{)BfJW&8Z zn*2Af>u;@g>)#U{j>#;T1XG`VrVy zxW4dMKod`Yy0H7Gxio4#2yI?02B73jE3J0>zB`(pwdm0{sU>YOLtEOSp^X+l|L*8G zA;9o8@vvx7?&-iSJuDhCR=p>{{%oIS7`D^GiJ z+%di<=N;o2!)K47ZE9~lHu`GsGsyPri~idC%XZ1|@zY~5!DqX_92>La4f9ccoxoMywlZnv{?!`-#-jc(KD(~pck-2e9bt}0B#r^>9|%|9qH794P@IW2n*7?G`QC8Y zs3DT2oc+2qdGtyh0;!v5>B6=-oUtxW;;wxkl4bKIhlw$^XVVSYJKakO(#Sr&$o(oP zjd1^bUlg{jyV+hTJ?wt@y~5qWvc6kyC_E4ZA96?CSJ)Js?e@Bk_-?rZlK>O-L^=?;3z3}CW<%HQGH72=4Le zt<&ATry_8H@0I@zM!AU}LEYl!zE^@?x8ftwiH#?P)1ti_H^-h9?b5ip{j}&n-Mn~O zv{&xUT;Jr=qmSlw@%gi&J@b ziIdyL92>WGmRrKsLN016mh$ad4)dd0`4M&;0ZPa(Jo@^H6|p}Q4JkUOik!#oF8x(9 z9U8HPFft*3&G>=HqVkBFby+lFTpJEm#@#Z2LBoumRS;ep?QntP=y? zzI@xdOXW4&d3*UFZx_pVZ0GF_mq+^tt*-3~w5qb(^@?c9ymDM-C^0sSTe0Y1DJ9v- zJqFcXE+c*ja61fbKfk!+-6DntJ;fcae04Ns^yIkp!^ufYZ4VZHnaQa5QPNQ@m&uV@ zQ6!fVDFXMvGCvVR9N#Wxb>tm+bGWLO<$E$~5SHwl&f~%eG0s^5?>La@Bjm_^+?rp& zU&V$qH`R~Qz8yR2=irW6R8q3}Sa5&(Y&3E%z6ZVrr-f_|1{(O2<3jViJDDK}%M*lo zPl;Wg5(&?iP!V>8Wl>@&qeLYef+t_l^iKh;v z#8ZtD3p7{0&DF1s4&B{GxW8?}7aDEvL*Fxow0EQJ4i~Hv0%)ou>pO-djH8MFutwaB z2aGW~DPA~$73>caNl_sDi^vT3gD?kqifZuV(R9^(P{xnap38rWSvk%%vMlgaVpAFbRwl%YfSY|Y!DY;!g6^*QmHcIJ$ zG3AXqh$2>L|4=RN7_0fxv2Qit9ZMmhpeaSVoRGA^zfLVBLzq+PsD!Z$Xb;MV$k9M6Zjc1M5^foMK-70QdQw@_s+5_OC z66>NO%-!biMk5BTXpGzZaMamT^VQ)JlEX1jWgLKmJO9U@j&^t(ADYIAr?LTsJM=Se z`C)h3q7g|&fgfv_2#yyCGWRnlmAd^5CZ7mMi#wc=iPzx-}A@+}}A(+ot4+cMvi zV~i!r6;b!L--4+r;{lq@3t*>>mx*EVLra*;nrfwd-dlV+(H(G8G%wHOam)WbnlQBA zIJpPK$;^`{z7kED=1D~Hlh#DYtmBYaoHoq5^2bEPtd+v9`PW%q_7)BLQLU%_gksrc z2i!(}od6$}&$cxZdB1Ru5!<9tXs!_YAq$6jS{TB=3aq6_AzN{mYe0`UU4W^ z439`T@}8a}O9s{V-Ia|wNXo^iwgAwiB4@He$}Bt{Wwv})wd~%1d$eRNv z`Va$SUvyZN0x1oVhQn_BR#Y67;)cV4&E!YM4R`af5nLwNklxd@MxbRRRxS4>z7*NM zm_2O*jUBQk(5t03onIi$x#W(!5=OZVlN`t(Cu=OUPYT$iOSMXuk`@!Q+$RRuh3+(h zU%fXH&}j4&kTTM1OIqLHBi1WWmPm{wZHHAffyKdb98#f3Fp$A!vrJ#k#3GSD(1d0-C^4Jbbt39@hA3cfK3mw^0 z?$gB~IM$#=L%u^dC`DUV^56}CK! zYhzDcO3h`A@LKC$EdeMT!O{#r96Q&_PucBzYZTYn>(>IQ5j~UUzF=X-@?MZ4Y%!}> z3qb|(n)`_ML3wKVK=gEsk&|Ag*~og5k5g-=BxaI^tQ{F!TIy4@0)QH{F3n29>VCkU zY-l-i5qbe5UO$W8p0OV)aZdR4?NuJeCqmr%doK%*bgj(zHd@WM{f_VL8L@@xrc=!11C=ltMl!pK4T)hYH9lTtqg*eYMaI zeqn7amAkLr7ERs1>=Ab^`kYqVLp6e~cSy&KxKn(CtpsNNv3?&RG&xv3L!Zq~#ZTJw zbMb2A#!ojzmG&m5%oD$f#vg?*&yy21l@*{Saxx)Vo@HEW&#X$?R)XCiH zB>yH8TmvRf)p32$KKkfpcI7D+c4g)!3Z!-*@`XkRmQeKE$}GcXiOj$w-YlSgQ*%%XEZ=r4Kts*34;Zhd!%7XE-8qp#jt&O;I zVeZm&Zm{~6j-H%ImUm0x!RM1K28;&;{kmO0AB~%tF3q=)G%U%T<9o$gb_ZGyxEKLp zOFv>kyQ8Ecw6J)HtABp*L5b^Z(rPF|=>YZXAX+v>e~*WdRFv&t>I)Ik1N>m(;$DkJ zYI+2zVW12nzNfwAi$i*_|M3-B=Hkyz5;~P};m=Z5gajPPY zI2EF5kxR6e!%7%BhGuSNVE$bG1Y10|+Zz#JarF4U|90J3c0rRx4m= z)HBhTYJ*X|zrm>9Z;Z;e^X3Uj4ZawSsk0)S)~_kj#F8*>#gbq`Vo4pENI@dwH>sTC zZ`e*}G#0R>NE|F>RwQ=Q70gOZA29&43d;M4Z~Im0#xHh+A=4?puNk2JMUl&3T3KH6&*`4R%PU0aN4vYw`fG3=V#(=K1Y( z$-~i%E|MJ+cwf15MYTO?r!$@IrEf&zx7Cz0Eq%x+Q>{?1nMuSSNuYO1T&InWOdA!K zp-Kz@+ER4){a=p`3snHZ+}Lltr6mwrzpL%;s&7O)v~ix4L0oa)`bIRlt6~rjF^J35 z*1mm+r;a7&3N|JsS@34_x(VKRaCpJlBE#7t_pYBrqqoI}*;sr3dvu7!2~V{+QR8~3 zi;;QW&}D>X{>f?$5oCG1X=q!ayY9=;usRBAyHgh@kf`THlTG&B(U=1^#S2o zjx(YUo>VPAnHDl} z0`ke}cP)S>S4sd}e?QKD6>|l5# z5cGUTsl2;NDpo?sk@3L}&mxVZ3-u^x{`0nN1}T z8U)mNCks2Rch;upb}GZsFy7d?)6T?+r^ZuO@S@H1A%3RksiTzx9xGD>qe0>pd@DLA z=x|qmi!kqz?yKL5#wXp7MR#qC7>VLeZL&~g9x`-z9i*-eplC6QbW&)RObSx+Gj3BA zC+13bMPsht`>8I@-gbN3745KdW~s=rLzTk-L`Iahu#cc>pg9FmF~VJVS5&PVDS2Io zI&tp}B)nm9S4wzT7m!2TwU~K9mCI_-u^gVWG@e1+9My|xy$%3d9=F69#e>Yi(j z$7iweZ>zgrZfEWe1%#Oa=S6H0oeek(GHOw!`hi2nR(Cca12T+^7MH_EVLgtPokcfI z5NNZtYVk>Dw;77vqgD)MfvRz+3(!$b(s<)i8(ZbZI9 z^e&LFTl$@7|J_E=`-V>46OWf#G|V8`L42Ugr-@WLVsGMx+B8;$=EFih_aD)eZqtH7 zPIGNxatf><9_gO_k7!|+@pe`;sM&bLd^i2O(L0VwP57!Nn<>UNp#$uNco&s*OK^Df zaHJn7%7ck+I8{8}Vct`5_oy1S~ny1QI~UUGO?KEVbGE#-KhObOk3os}Ni z)IfzKFF^rM*g*>iS;~U<$@Gk=p)RpZEq5e&ABtv1tXwT@`%(&d{ztgo+bgAtm0){y zu|VP>POdk=DEqx>p=v)~y&8V?I9d|byOl#FhxtUxWX5hGKPof8=NKQk-VM`31y8~l zkdiA#MXhM5NJ%pIp;(1z*@&FuE1~$LCT7hm_-8@gkrB&7^Q&Bp__}pxXr>Zry@u06 zcm0=BSsCHw!SJVa4X}7d9yMl!euF~_EoWeY&Gd$AXX%Vk#WKN!C?m@}^kA~g2R(CU z=zXO4aAxS1ysX%*e0v-hBndxUA+38#`rU*6s4o3c9j8cOaT^>bA~z0T$d;z#jyz~h5Zb>W?ysR%G{98#~`t~vzKv?5q>$CA4;Un54R`h zhudY=k#nUy$)%N!251JLs2Ztd#HyW#$H>92Wl^!@{6PCNDbCxXvM@!Ys0B@d6*qlN0AtMKAq9?TrLG;xBE!^} z8*;r#b3$1qOGI$hN?B+ed4{wk)-hNEUw?-I>2km>q1_@{48^uHhLoHL;A)CNmHjyy z77Y^;?TNqdh&4gW$-cA*RX^^x)T}F5YAu|LP)#+YP;^4K!N%i;Df$Lmqj_;-LZ95M1B)4m}W0FZYqmb>g4FjhCR(%> zTNW;k;Rq{_i^w@OK+Yj^iQ5OBjN;i-Dy_?bnU9KqP)2RXB{W$$c}Woiku0rA>Id=_R@+$yGLR2Kjh@nw<|Dz7(W8A%_pTs_0_z!+yZFkVkZA5KsXt_8$! zDlbnpfP>2g<&>%wkKV`!8=z$?gDHy)kv|(rvqxiDsB#tvlk5+U{@1}?wFr=0J1G2v z3&g!-UqbVbJI`PP{G}8u^hH61&*8<)Q2-%BcHu;&jirK?DOfvV0q$l6DrlJnUeuxh zwJ$4eMW!$4#l8!bv7#_WZQL~!^IrchR6d>uqjd^gLLBUH^yE$SF*!&hCZv&UyxjE0 z3m0iT$_K6*U8Yvsg!yN$r=`<|A%#q4C3{EB84U2EI#yIiobr zwUp+LSb|AJ#`zo=U=pLT5q!t?-xspQ)DGJ-~*+SETaP=(}%#l#Y;mq#T+52AG2dB9Tq4 zC>pmE7JyPeQkob3Lun$VGgTS1dMWakB_o&$;Gm8<5gb>y^GmA3N5D*GDr}(un~ez9 zuX&CC@GWEj{jy(r?3ZMD&-X_|ys{FiH>$&Z9@3E&7jhpbUErgFhta0LGIQ8y6abCI zNR%lW^Gc4En5mkgoSQ?L#PJ6>f<@AFFrss~!=b075U%!!f*A6=5i3Ivl#IqoevZyV z|0h-e%=|z3shlYXMYCB*+1dEdeP%OlQC*zS#&Mot05%l3nwIeXvXRdlm!b`j$!?abft`3!QlOOZ`wK`Pcx5&G~|CqO#$Qz2I)Z+9UlvW@_y)P`a@-Fxvg0AI% zs)UvJ5Gt1bA%n!9{-LkdgetJLu>1EveTcdaX)Uy_w`mR3Ls7Ogt`)k^#Lfu-TC`TM1qdyAHiw2! zcJUv#K=7qy8{g%XV7O&KPwW16nehCX*cZd}Uxq6QPgg@yNX_cmUauXYn%@4kp-5@1 z?hj$&uE?2@%t4M9TK8j?OxcF({cT<7XJXGIQ!V)&=*DYBe<{q?FD0i)u9veRROXr) z^2B-^PgCndWs46Pc%6{@ii=*+dwXvv@H1HqLSU4^4T8|nC)`Y}YT^zy=^5WDQOs&8 zW5U3U&b=f|7rASsLHg*hb17Nb%?e_e}&_C{k z4FuExVvP`UbpfCyz=cxe^&#tXDnkJh->tU~3u4x>P$(}`p;I%#?m#JD3-$t(3To=> zQYuoC=11{gc5N^-Iu&2EA`ftVE8|Vvf&-QJXd%s;K0g$WQ(E{B%ScHri>lNLlKVImK*2$?kd;wL2wOKx`R>RFio6IrkjdLZw_vvr;sE3@%5NMj zh+m)^t`cet79G1^5TVEl+RzPgH`>={=|;3<11P}yaCl=!s&=#-#4YH`q);L=NTFbu z%|c-*PqZAgS$?Z&byk-5hwY*2Z^N*u__{*Y)O8hU;X2DpmBjLbH|G82rEHPq#k;T_ zdMmL9D}xJoD7wS6iwg+`E9C>&Q=pI(6EaX%^a0ixLby}ZH*YErg_2fb<5g(iJ_9Bh zzFHe58Rc|ZXr9G>EE6+u(d8&|^?IZ-^-^SEyj$Lp9mTQ#$-Q!{KyT~}y>VkwnUY+A z9+2UST~ln{ds`-BXXk1T9a}z?N{aqKuNd6bDiO)|a(9O+=Sod+DKB=) zCcw2gph2(a?$C`DBGB#C{o7~gd_ve&f=L#)X6#6r>smY9#9O;Lm5?>@Eo2?<#DL

?wB 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 PlCom-k(EBlWUv1N8_~gU delta 176364 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

# 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�brXV9pC31(=cYCj#2aioEkpFvt7iq~@Y55E=z1R*FFfWa*h%IbO zn~pxJM0c%j%U?3ao%}rfz$|yk^U-5kpvV3$x`*4+@5wz*(!2-5-tLmbvM!BV=Tot< zlNaya-$y%XOMLwI(Y`^aKX0cZ1+q@OsutX|&Czb};Bfb9M**!D1{+-Ul!l>Q8V7=_ za#C6QIW*9@I>7XNSr`ZHDnSh2)bhybUg?%J(0Bw^ew5KU& z2z$>o>LR2A$ae@&m^0ef342v`1R)_Vg*dQ}LP8v3L@$M1cE*u`7EV*Rh_TFYF*f-} zVGQ7+#3j`@4;jW|VdSx}3>Ipdb!Hhz$oNJhVac8JLNqC8bsu_x1a>8N{R`2w@+TR6 zrBiwUR2zKYzVkw~kYnlM|BhB4#)$y8rB>-G(b!{ev)X;4105aD8W4a5P{0x}MRJsIe@ADKPjK*$(a~*R-*Ug1M;M~J>5tK+6#!K)n&S?6DLS$34}Sq*^3(%hcfS-}qNOtLuhH>rQ&;~rI;fncWVc~w z^-M{tSp0fg`RBjEW3Juu$(N(vL;gZzRgkEB8%fWJ`|=M zS$65(@iI&EdPj|OmbAAe8y{w*wTh9TJ^iLtwnHDzxomLf)#d=+pL~l=j z?4#s1v<29?J`uPV{yFa5snTy#IFJX%1Nk#6t;|ySI_M<)5Vv`q6ny9_Y|{K*^h#t$ z0e$tAXdtRr$7_ANr(TJAikEUQj~g4r@M1_=Ht@XaoN;`)8!d2uVQ%+<;5E!UqH zA5d>iH$cXZZ^eSb+q7n=FE5${e4fZxdo^m-snD6xK|Ami5;f`(HPV*I%1z%9;Gr*2 zqo$p4yr)K^Pr@wO&UjjtvG^*9^t3&(*MqEw_InLvy#iS;P9QS848@yB`2Xg79{_q=eP2_4TLYL_8$kyT*_|Ax4{~?i^j&g zzEvlT`Y+pmO83?1&`@z%$Adv~qrP8DvpARnc-!_rl}|pS;+saA&7UW;PulFmLHk2g zQ*tkljc2p1&nz>8ZSIjU{)bj=r>0wV?!j_A&>1cU?#U!-yMadP7#UwF#|r__{+;n* z{9Mr)@5awpJL9Q!XQ-I#xG>q7_phe)oajQS{VqszP%S09P<$1|K$QQuNhJp!-f?G; zd``XnDD?*nLM#)y*DLbL=T&@VV-PZK_z@h^ac_{!;^9a51_tpA@U^Yl)tk(wYz-fb z*FM}wXHV;j2Qc-)-xBl9zb-7>qDme0!@P`f>Tf}Ey>3@qW5TV8wYcMzp#9|( z(df`$gXEKX=ThDoLqB)p`VzGT0|R}GE4^SHY@w9Mf!Hpnndn@v>*$WV0duuGp3$MH zWFU-mJQMKN?szA7Kgdr~Qj>>t+#DpkQt{tt7mS&oBO=&+syiOs3A(J>yEF$#{#DQyyQtOhd=O)-DxEZZ5RJajK0f#p(n0Ybqdp%j_(BR z5A%x7VZzk=ZA@$W>bEL#zv+ozh~$aa$IVmY;)}DJ+fM6^18#Es>vCs}k8hhIc5FP$ zjzNt}R&mBb$0}GUs`@5XwYlB<;sFrs9eweXqk;A(g5*bfcpnd?B<}M=zdlHQtm1#C zxUZ^5Ky(ZaaH>7mab?i{5uUJ*3baiR-FK;X7L;#Iz}aL}@UOha@k+_JbhC~dIOZz| zmDcSrw~-q+AwG1kI7$#?biUwBF}1{uH63O9K6Jw5v}&(KpR-`CAO+(32- zu^q@C&x+Y(Iz(eCl4}a4Y&EH+aMx+Ma@H-n^TSZCL&H@9?0((5JDv;8s5-yZnABkT#Y|R zCLvd<#df;q{91g582QiF;*J-)BECl=O2$b-8kiSPR-YHoWAC5u z&Yu_mELGTbyHj?LPYf0ee{=VEk9@Ge{dv!L!SM)yO$=i@4cuZ3W6YIj7&o(|^vd)4 zO&K~axslS;^vv{qgr6IclHC1^IVCjyabc{xey{i%RFb>Qj}PGI)cNtJ=;S9C#M8Lj zc|ly|XYqn~9fiZe-tmMW_%GML50i`}_@;g0zWgSR8Y2Vi@J0K?YjrF_|9qb{R5Kd!oc=rS22b<>n)kX2ap%-c0znvRTaZ~RqhAsI;s!N6e z)0A)e&r;D{mBfdP;L77kylhsQlcJzzbB&x7GAJjx8M!nkMM2j;TkDQr9v|CO@s|hV zl^pf4%R%u${TT-4$a|40h|`$go7@RYL#!U-Vx8Gs$A^t3c4FP+WWrgD}sz|sw?|k8IIxOz9{S!K{Z%zP)JO}6T`w}9B z`GUBg92Vap{Jiw=_-*=q;_&$V*$YN+rY)J6_B_pXZ?)hr(Rjth%j1DvH{NV%JTj2| z$Ia=$Jjj0FJ;e-U-*)d<9v`QHNa63s{zpkiqdd7hK73>r<{cex>PQ2(*kB0Ua#N0p z@6|^?J|=#5+X!Gk;_7dT7iOMm8RSyWG;8lm?(sLpr#ISr%Mox)i`4$S-*cdEpX(oO;r9${`1xX);p}^iBG}Zmc{7 z^a0C6Knm{d%RE82a2cKA{^@1$9gCmVp0CgOJ5u{d+03k72~6hyMgoHZJJM*6IrrnE z;>zJ8z_I-!J!HdD^k4OT?dl|}@|&}abcto)Q1-6m-fLvDg7*T^2V39++T4k6)#7qj zy%kDJ+WRrTBJKV9PdAe0-+y1Rx6GcZ8gE!@U$;H%zOmt7=jJ2q!+hu&Mq<+y>;26P3zM~_x>@x`1&1QVN{;& z9=ou#vpeRrcz4am6{p1?((kkMfXKM~IheHuhc7!P z2BLSl#plI;p0+-y1lZ*7(k5S#>0vN$u}L6BPW%f_lQ#{Yd_LG-0Iu$)55zmUPpyoX z+3uAC$hU*W7GyvC*OgEfx;p%h_s3@j+j(K*h4J2{mTNZz#TK%$O?4A4ju%Xu)u8r} zbhxOL#*5lhFpZzh-yJ^b;&^=EHubd?ue;|vC3kT>9@CB2Q_)-+Bb#Musa?h0C2elegT?-OB^uM7i;AUu+!D4GTA6d0AGlpoZj&e8j;fQZ9t@#00IdaSx2GQ7 z(Fcc(pBLVD6Qt-o33jWvwBwx^JSeTF?Q&SWFg;Q*n?5^tWu^5zI7;ePp3+hht=Jtt zGs60DE_wB^~IFF0-X8ge^bj9vF&un%ss575*;Lotw_K zeSPyQg-f=5B{0Fnqx}wR`C4-=mu;t(l1U&VwQTp5d;jNJB#rzJwcNe+D+5~%y3~G0 z(<>&tR}>r8=6-N#+_&}HQTy#Xczeuc+rHh>e(Mh2KJv17Nf0@A8GKBu`}$?^tc6&E zq-hk1W-CJfAL_PvXvZW!*E;8d;I-vgq6$kpj*`$N^g-(j8iejsm&dav&Zrcd=Y0m) z7Bly)?Hz8+<#E5eVs*Ud?($a)!NH<%5W`Ld(PR?nN##fC4#cW)bnp>y>Vc}S72Joe zkH^nf4#q-;X8Gj7A-GEHT1Z|(xfzwh)=d{_I&$ro$CDZ3%**4siy9+b$HzM!)U!u{+Q56^Xz*UB6|Dx^Zwvl+gC6vQPIfTp z3q}w6g2te4F^u+u9&3ZH!y0FU7JU|D4fNbPm8kmBC{Fbl`sfk$B2tk&*$!&ZZeM)Xl)s zN!24@nXfy6h1T|JfW@!=Jxbe5#@VAM<80cG+b4-4d+cZtc1*K*P@{#BMr|F)F_6*i z(S#DaHyZWZokxkndH5kVp+vUT!9EyLaI7+YYufOZc1%It#W4!iAirpmcT2XD#_?8t zPtwAoS=pA1Wk)>2J$79@?sc&T4)$Q6zJACo-{gJZqAdX??JHCjwk0(3{2!B2d?SvM zFexkY0!n>mhW{~`y44q-u>zZy_D|WhU)ipy{1bM)yB**2?GI`T z^@l8_w{d<*2_(6iQ_$ZCdhFun{-3xsrMW&q&uT1EW6=Il^uOm`8~48cQT8;~mi5kU zz9ydZ`sx5{eYd8k6*VT+x)oWsKHNN^XI%RRC$zGiF1ApwkfkWy?i(EP#O9u+6WdCC zrS|$8n~#B-z|Vk3mMhL09{V~p&0Xyud}B3EbHD5iCb`Mi#kD#F1!Ug(EIV#l z2ss(Ubh0GYjV?fdV^lSQRN28R&~qQPgD9XhDHu&qw=~|<>Ky}_L{EAKq;Sj`oWn+K zkU9Qhwm>>K0&+?CQ&iWM(9N50YNWuG9Ez(Bifz-a64}gR%rEl)BL$Wir*fDnF{^oj6v)ID1N&R>F8?XlnZ?6 zc`=od(}ty!9)s(OvKN-w&A|R{{jlHa2X|yBAl6g{YDA8~+GZ#g3uGy3ufQ6R7p%zJum<>ipoM3j0_Y8n6xniV$9|*tr2Vutv@by_I;7(upk$1-IjV5Q znDD!)GH$ZyVVI>aT{R-)R@i)~dq`^hRX73r^+NBl!@i*$)rS??2?#M4CfPX`7zpjg2X}CEi8!rZ zdZqoMg)SR=vxn~+5z*=!=XuPl;Lj#N;nQ>|IcyojQgSe>Yj~qt`ottYA( z3=I`MV( zfsY`(KGuS8*blBxnl564o%>8YWr~rPj#D8otX(>Ds=>pu(-taaH`c}db!;Q#`bZ|7 zsWUxVllX#Kalc$pq092a#$qZZ1y5w_4Uz&KOUf7c8%+6T)DO^yWf^I4py|;pO2JSe zB{Bv{5rBux3jc=)06T_E#W%XxCS=R zeZGB=qPzUbzhVuEF+;{f^ObnxJkdaGLp*0%f^2 z8Wv!zQu53e$WNK=PB?&Bi~WH37&m-FJbMY2Ho@@1H1L0nT7mILdjh4z1=1F__&!z> zOC-Q2GKHyiR@P-(d~Vs-;{Kiym6MIeG)^x0r?|IuMCIg8{-?O|4x>aK&A>1D#2T6z zPt;CmF{JB&tR=d^V?UEkj9flB{~ot;kpCzP!0G>1|x4B+MhSj=oV(pcv)&@zklvC-!hEbOmQ2o0HIB!8Uv2zdgZazTnSF0#X5VX5hmSxEXgY_hNJB=->bmDp1jxQalqgV*qVkzrrQxS|iYx3+*zk&Ih${9ZK z2!{fqrnox7BrD$^0w8HfL!5bRkTtDx5s*yN#?>s7%u=qw zCH*2}G}2Fi9tU6ND&0wOC3A&X<4*o{VGnoK7vk0fjk?e-PI(1#JWil~JCp#8rH-%G zZfggdX4Yru6pI5wCE^7B{Orc~({;RGpmr6u{mW4Rk@NX--tkAs(Rf#-thLGM^&-Ul ztf(=+wl;&i1}9}}^OOcfJjEy?wc!iE`;*Ru?qXxcI*tpToOfhy7HuZKje7DfPbbL> z(x8*5x7-H74$;Y=eUW?XXX9gbOM!uZj|Wb{ zo0CL#pa}*iI3@dqV!ESlLR>nq8kBnM8J|gZHn8e(`%UqFX!tI^Dc-p=d!b-YVY#fh zKDrpQx$35#Vp>UdU(&syRL}ncr8+yx?VbMf&W^F|Y(B_n`{r&Na^voe%Y70fGttd< z2rybEP&f77xUXGLz78pnhTJV$8}BmvcD?U$&j`hxP())acmO{I-=A*3U|Wy7X6+kT zTRrZ{yW{Qy8q#M*=R_<^L4f%VUk-sXs2ZG|Wo~!iAuO3R!N@`@h ztD$*CbfT+oj;p(ipf+}#7$i*C-`hZVJUC!Fr9;=Qh5O7AhW$shxksN1#=EO-i(BfR z&&Qd{#GQhggbt&xfmea)W;YrV?H!86oGgXjvZ*TFCU^&u=&%~u@z^fevZa`Z|7dVL zt=JAK_|<8h@KGqW@1Cq^78;?@V)vKUajX}YL9tk#F_3DxP>t~{537|$ES5*dWa8Vz z*qI*yzysf`waBhWg;KJxnsC^N4;KZsZV?So{^5vH97a_-6)((;DNmT();>;@wUDqK z@~dNn*ex`?e0%8bx;>sSvl+og=?0L_XrvjzHr^i3t^4T*EE30YDY=c>5uTe`g)X4w zBGbwkQB_GWEw$1zJ98yny7>It8e%{5>(wu1>d@4{rw|;GGdkp*Kmktx{MZc3@AT!{Ng;XUyt|b zB-afQCS7+ihNPA5_PCpFjip1wi%WsK~ ziBwQ*?{b@NdA-UFsgokxi>vK!|6AiJE#-7bUG9`y<6S$uY)EArQahEG-|&!3A=WjC z`D9>HCunF*dsnteR<=Jh0Dg!8{E#=MXxOf%(I_5sn=KGl25Z@{6dV=K0rP^EJ6^lMi!DOFRG znpy!KqCDZc`~NnsFFl6~d8JKGeECd|;=cT7JPzY3PBx)C@QWCZy4?w1jHf2!psM3) z{UY4sKpI0FicBy^vXgIK34)ERi|T_5aUn~kVrS99#MZ{RfB$0K-#sSrR#GO>)CIZ9 z828&R##5$ef-8(=j{198uoANWKi0ki&W__qe+S>p1MNyH2J7vbB-^qKF(h{Ew3C%= z=MqzL$ptRt`zNtOc6_L8eT(n zcU5(DPd5IqA`80tAry`(-czHUyp*hOc!!khHVhv3uGF2C9rj6ZUfmHn2=^94QUqG61eRz)_f9pV?ftQ}|hb-NuAT zmV=m$Ed~yu`BkuPBO4Xd%E&?cFCDgV1*ujNH~%Rk`W}$fFu@tgaxy&`=mR@=^glO4C;1Srrlq8?6WWea&^GR zV_!3DuQZ3Y#k zDi3fK$W~mYIr4affPJ3r{d$7)>Wk%)kC7gz{N>(Ayqrv8N@>X?#J0!AzGjAc=*w&% ze)sjn%jlMJ-ku50L$!mCgp@MF1V$RH4OP6niOv%hMdrl&DU_^gv07R(*Zajp=e6>( zoWpP#T8v)urc89c`QyL{l;>+Ku=dCdmd`IfMp~sL&QSgS$;zu1?0dLXVkOJVxfega zmPHS6j65HKsU&l~8uvo)-APWJFDZi5@OK?PPH``PRq!@WavuG{f5MUp^Rqj5nN1V0Wl1;(@m= zp=YP$j#t2ou!^M(P_pBN=Pq0wvN1Ji_^He(f_8|kkcB0KLIPHD5gKR-fxHmMB527r zfZ6H$UCCrOu)_1WMvR?Y{0mdCc9xgr@)ouas&cTV@vgMa^Bp-4fSH|o5axWa)4>9P zQqpy%GZ}YBN|b@=3vNgF8lBEhqv{kc{Ion7poZ$72e`?KSUzwc-)9!sO9QJKoIDqp~u}^M+M$;Nu(1H87so*kB^ZXT7RGl&F#i%M3($ z+Cy1sbigmM+EtZ35r*v4pM{a(yOAHPdl2k!@tp~=0*YZ3-W+ein2f7SI9`EPfQOdS z232&>y~flCR>wDIVh1g;qkg))%5&w1ynZv`u$LXj>t0p!a$+|MHs;GS*ESUr$sGr;7m#NN!*` zgexvT*9glYzN&%Wso1)6X~w#tO4 zjW*QA$d}YfzZU4EJ|kIR9rl+=9q38v(I+{-eVRrs#j)?Iu~F#PJD_ z=hCELmaHf^NBaP8(Bp-V5AvY5h3hhIO(Pw@+kns3eE`!uPpBSXGv7$mPSybJ2?%O3 z()hj*&Ioe-RTrm*a>SIIUUd1O1M5hBNLKdOy9Aaou6K|XUr)Rkata=Y#}ulb&s*s! zNS&3zD%jrPB!n0kg|UFqgdD6*($zLP48l4Xkpi2`+3C{c=(mFhED&5P;#dx6TKO<^ zLbjHQIiKX$_!ua}=X~fv+=w(eM8O%K2Kw+qS@Y@OOCcmzr!K`QjrjA1AAQ%x%QscH!W{CvH~qgenw! zQE;AtE{51^;}uRZ65dzrttxX_$6S7pr#|K5HN_rte<|tSQ@VAFoZ8~r^YcJxrZ+rPd8(CU5Mz>)5p}~m{aEfe;ecN@HwcT^qqqoEP{y|tSnb2VWQB5OmZ9P959-5(mhKD?p|GH0 zp@m(Jo~?W-Io06zykOz)dI|m>Rv9s0@w^0!4mE$;o{$l4Mm*XEh!q#hKB^k7xcn8+ z;bdea%a!bW_{t>tC*$Y6!sSklU*U&p{4alq-)5H|f`u;ghjgCfW&Y5e;D;*zFMr4g ze+aG2{2`4~A@hg+vBIg*5G{hK?tj&FG%`tx(AD0a6>#*yRV>(jak*c|0V06%&+D{( z>2- zs!@=C&A{Aht@O{;jp0;j1>`+MNV(g zR~eT5lHH|FaD033E_QR3^L+WwPxkHAUnp7cFP7}&YUe@t*kFZsAb(a~pQXOf8(y>REj9DNko(}j7B{fje1-b zE7zhCg1>U#APX)-XSm7$*jQ`MDr)~<;3fyh{NdwV{%Z%@5=X{K&hkkY#X(;~p zh}Uk(l!Q}G#+1M>h_3|{e2QQ>8ICeF(#m}ev@Ev(FT6v(%2hhr9_UI?Dg*B)oF4gc z!Q0yvN=%CWN-qtgZ6x8#R$?kBF)3yqufZ>#UmXVXi{Hz0=uGmdx2=m)?u*R=I@o*f ztaoaf=;p6@9|8Kp8GRq;Co}Xe5uMVS7fY0Z`-*S{s%XTY@wBB*6)&;DN$5}F{^+A_ zWxP!%8xe#6f#70Q6=VB38((=}!>!5y256e_@Kw0LD&zaJp*V^HIoKv8H9j@R)bQfmaks4L|%xSG`fLk5atDbB`;S57h)wt%?#b8=0I-3!))s&$Ple~M?C4RVx@R!J^- zL_;cz!#-;HR0~n(hfrr|xDQKpq4iMxh8z^x1XT$!4XFE4Pv*o!@_fG=A4CnI_SncJ z{>SJRame$?6&#p98z!njHG~~g>LhxY)G6Dq6J?K}A7Nz-`jC}^ zis{YRgvYr)wW$#F{HBTq_9>fTop3X(n%)dyCPDqc_niMZcneET7^#4vJA=&-M=`P) z8p%{HU$VzG3-?iOhB$%YW(dbARGkW07FvLTk<(hdgcKO{G*umjKHvQc-&hJ9vEZW` z9Esr6qMDxNS>UcS2J%Uws{8%`a!I6oFgT+xft z8|m}10zA(}D(d}Wl2h#q>@@JutosQ`Ly>VB{!b+ zd#`SXhVl7g2Ku$uOYBR36HoUp+g6oYpHvt%0*DVTgZuc!671l(m=}d~`ek~t;(dD2 z^`740wuW&eL*J_C5Mmi2F`?Fk>?wbKZa74NiZeY(b+5@`a8^emb2S z3asJc@bIZU500Tsl0;|x2>U^tk_r8`LLnSy$5D0we%9}Xk0~w`-imyLqgskIA__x- ziu)1`&)t)iDA7Q@(`fJlnCn5Nc@QCWe3Akd-Z)Nw$pTo8#!{^I-GH!~u^jIA zUG`naTjgLV#>KpWdz@VF$z4v(gd3z6{}b;|dz`!+@w=3_6Eaix-sR-O_Ziive(40+ zT-aq|%=Wk)B>weor%nwys>Ts@kP5HfV$t#|<2BmjRL@BKOjI)3WeP$a>sAR0Fd2&( z0B;Ft(U&QtUP-OP`jiWQ>^_av_Cbo7u*-33i2ES!G5YR<(V!}h(u*Z zx@SuL2G<<j$xMX8o)O&e4p%$elEgKzZ>E6o!>v|d{xJD4jqp=7x?N>(_?t> z0paLl&fiI|bKH5XN}>OB64na?PkTWE#2Gwax%lmI=S?P_dfd;n>$v~4QS^lKIO#8( zaQ?(XMxJn{!`|87$3r1L+_)aImL*rb!r>%?!JbUtACn^Vps3_G53 z3K(uZ<&0(F%}+byh(CYE&-c?a@_bX#h%?T6x!SR!TbkQeW5U*k`(Il9BHeVSnh2*m z?z?f)_}`)^LasQ7%K#TlJdH*3O0#YgTed>4S|h!EvN zJaw}MgeX=>pglqqaL0?@+jZS)skWudYZ@l;%e!?UDBdscQi%HHoeEKucSvBmp*#S) zDsBt#OtZ55?1r#RzmQcS%0hDLW-SVFlrsBb(Y3np1J(9>)$6-&zg&!`&EkRMn4yRv zlm9dlBnkzq$q*y?6rcgd2i)Qfa^@lnVev|@MSb_DH72ZFi06u7mwFEtnjRPCXMsa< zo(8;bMbX{*?uWW|pyE}8X58b`l_3caWDGsSKXt! zcGUajYwlax(V|JOxtggR@uoCze@nip-OzoX?9r^D`#SKVwGG{GN(C#v;mRC(=?(WR z6F%{#`ytt%AK>^3#39vH$CSiZRyl{pz3FyktG@MZKhuZbcE3Y>=C{FU2!SVyBL9LK zu&5t?$NdG1`X=TeiprIuaB3t)t^1BEFOZ%5j(eV2_k7nc(s~OOWl?Xrg$z%><;qO@ z;k)ivyf@x8yMAUQ`Ze+S@4AKPi`U+B$00cXo;&+%t1!}H zZZp&}fF&c22iY*&>x_Jz8wQFTYg3H?*#a)xAlGI1o0zE zNF6bF8L7PGzjD7On?&n;=I)R?uQkp^W#v3FyCgBT6E`q z_dj%bvnDJS^D1Xb(I>xle`lcQ_J82M=xjWVK6x(ZX)o_XH@5_P`9t^FieVfCkcQZ{ zaXySUftq~i*4HL@lRtFpWN#i}7`Z9!e{A{2NLH7#?sc!@4;|M#^*gr}=T^8kA zg^9!)@SFASe&YT<)z`?Y7XNxoN%(RQz7&LC3&O7k;fq0tSHvVevAlK<^ic?;|tr-c}oRQMIOI1TfF zaeWM`KD=+}LqLxA52Zzpf{T7K0XtX>dN73Qguk@FRRpS;_t8Jxs;LN^rbVTvZ%_mx zH7$S0MgQNoV4i_@B7Y2OeDGs9z{ejSmHpHogA7hL5&5+QTorKfnuj-G2sKDLj)C{Y zKVA26p}A3((q~nbn>(+S7_y%IibO#9Rj(ci|14ShM%8&D&fGEOC1DqbP7hGy6*um3I<$_WCZbvPPk7@?B`bU3jgkw_d5R5 z{pb;zR&iKDD=YtCUBY(+{j*&EqOx)tBpmPT|F}Pf)Awxe&6LXz0{lGXKKj@j*jQ0{ z_BfO-bT1q zU(>g|VNE};rtgL|eXndyrDB;iee?_0^jGPc{?f1MFTH`S-OAqATe^=zaNgS*Z1I%; zy&GEm!%>7YV5HP2;towqFw)aredfS-)9+dgZ-jd-u5nPGnG)&k7HEe`w`C zt34w>t3B&oZjCba!+Kp*>-ssjy_ne>ZdGDFFNcV!D?nQ52Tcq37 z2I*>h$J!v>+kU!tyg#->x_A9_?|HY{x&P)>Z3hRQTHeF$knTOdx!)_>T=*H3Zf*s? zx!?Dj`>$o2OW%`HGcA|ReK7`?w}y#-kN*_WUTVKy#rvqe`zLP=WLLO%%}Yk{G+_r9 zM@$`DtLPUU+<()&)gSA%yjdOH?>;6s|AR>(<-~Y*9qWvo`E#Fun82W}H>0EbcG>hc zJ~B`$J;Vj3f5;o#$$dM&O!@rG5fWj@?pNyi+a}gKyv>d3VE>{US2;S>R7_UqKe*3T5#}=Qp99=yUy{!U zLyOI#{>x7ZiFQkICoQ$md5d36!gC3E^p)h@8D6LmUkQ8}^;33ZZ{JL}(yJNUFYI-) z{8}Z_2&ze6Tlsm|+r&8mufg!^Ji&fnZyHuMKcIVk(BFys^qG!tGly(| z8n7$bZ(;;YT6``9Jws773#V9^r~U&WVh*fKyA-~`i31rJtiYS(Q_K?K`vg}Kp8v!W z1cJE}N~B0BOANGwXRARZ@O20X^`b7+3_?igf>#ehOsb|4Ot`AvPp`W*@u&@lOgfZv z2fy+GbdXSf#XV~1BK}0gl!aJIAX;l3c|LcOdw)-DVNAM}th!KEfLOw@b&Kk!K@qc0@cF1_5!5Ax{6+La z*sN?eiZ0$^qj(qn^=|08l7!G>UguP%g2IHH-w`~Hft`idkW2a>oP~H8OflIg9dqtr z#6vQC9J12ul_*^J&Ubpmk(}Mmbqaf0%KI`(r_%EA1~mx}qTzwG~VFJAV4UbK?^Kjw|@=hnBe zG~(@pE`O?4$-CUot>D;LuEB45mtXuQ*BkG-4|^;A3p?s>`n&(AE>*)K6I9U;aWvT1 z@b2`7$*TCTuE}p9V3nxE6$KTP?LOjtW4T+siodkrcphLmP}Qz)&O5S&dKyIpdU%3e%!x`ef|No@lP)P}K zaxCF}dE+x#BctDuu5wTgd~~I}ij=mV%Eiu1V*!SO-Oizid2dg5YuT$cWU3%$A@8Td z+@ENsH*=W#<6P|bGC#0H;HIaD5MJJJ7ay97C5wg+cYmfmBjv+-DWQz}{eC})hc71h z;>D2=!Tox0xXXEJfcs!}X--)0jUDNJ?V-;wPtlDYei6t{^HjN(HhvfPi`p z-VdK%gg0Zkn{;QJ$N-15dEVXW?q6)*o!k5S4EL#61?)W8V6<{@ewa4Hy;uupDiAh} zI@tZ6x>v-k;4Pi${=k82E=9sR-XpWzuRl^gu)px(2NZ=15Zw2&aW4y&HMpGp3HLAX z#zL!E?)Pg}CPULp$$%dQ1A;;i@s@~06?ki8#!CFY&kKz*+07TUB*C#6Rm{qt; zj{7zIW=2ql-_CYleKd)$fI>jwnIxXEq2CBkgdjr$;ZNl}Mk(nV-qzV}ehPXKKOzGb zp?w|lbw-onv;ap;W`+bIH(v2>kzXiWMei*X+{I$Ck3xK9q%?{x%#kLcU!?(@`Fw{C z-{-;S3meUGt2F#3BsQ$15a1LTEtItAZ6vbWw`B8Xw{VSPAzb4ydvV&%7ZK6Vn5TF= zYVREPZ;!ES{$+k0)k+o)1bkcE#Qz}6=X&GEL)cb~O|smgoh7r4ri6`d{k(E_(m zN{Tjk^eZ>43?50#eRRAWU&n*7(#GX1RJ4rE)$+AG>?ep7+3NpD%Md>VLE7Ul-NE@T=mCb7^AIRQs}lJXA~JU~IL4>I;8AQv zQHo0CeFY1A`Ykj%iWLIB_@V+)n-jZX6e|QSvq30aXA80R)PaQ)2wW2lzlU zN6mmMIYd#vGHFFL;VYssDwB^<=D`w%e=xg66U9Ty)I=p3nrJXcpQnh5(+6HZE1Bo) zo&P&Uln$1mB8u+&KT|{#z9Ndx$lp&9#gh(!A`0kp6;bIjoP>aBL^x*8f{jG!!2%L0 z{%Pes-Dh7!5l#5h@N*SW&PIP`Hley+v81l)074D0VQ9j`^g?qKWz#0dSvWxtcYXyG}8V5c#?WvLQPR5>z zRnY4fg2IU6HYv85OwIrWa+d zrhX3{Z>nsgWndMqFCLd@qwMi>Vta2MgC+9?0>8WJ3a!Vpvj;0%f z@Ku$__=xRBVQ;BWsq$!Rj5XF8XN|WeSQD*D)>LbnRb)-KW>_<=S=MZ8jy2bsXLYwc zYrD0>+G*{wc3XR_z1A7?f_2flWL>uUM+QW$SXZr9k=Btmk+zX`k@k@ek&cm0kxV~8SAWd%sOsOvM1Y9?5XxNyU3nt&$4IRbL_eH zJiFMQZ%?;p*lX>>70dzd}k9$}BP$Jk@-arSt7f<4h5WskN8 z+Jo%D_BHFeb;CMmowwT9ZS8h;d%J_((e7k-w!7F}?QV8=+p~MvJ?&n0Z@Z7(*Y0Qc zw+Glgte)0nYl>B+YOQ46BXu8p{DgiIAKX2yU(he>SM*!@ZT*gpSM5$1Cyi6aY2%D> z);MRJH!c_#jZ4O5+KEpMthUJ z+1_GrwYS;Z?H%?`dzZc2-ed2z_u2dH1NK4tkbT(hYxXnyn*+>&<{)#ZIm{exjxa}> zqs-AMbBsCI9AY*y8=Fncre-s(8^^N_jI+-06N51U8KqvkR5xOu`nX`V8dn#;`P<_dGAxyoE?t~1x0 z8_bR7CUdp9#$04BHkX*a%-&|IkJ-uWY<4lnn&Zsz<^*%1Imw)CPBEvN)661sx;ev~ zY0ffdn{&*$<~+05oNq2L7n)a$tHw3ss(wwsuHVpa>Z|OP_8I-GeojBHU(%;VF6#LY zKJ;*%*^x)9Rj*OA_UOn1<+5|iR~#A1-KFo=_vm}|efoa=kbXF&AJLEM$Moa+0sWx9 zQ@^1#)^BRJwAyCZb-mGsjHXB=vt;Q~6ud&ZK zVjMM&8OM$N#sTA?amYAqY_T?5+l=kT4r8aW$Cwh?ZLHSU=o9oJeY!qFpQ+E&7w8N1 zW%z*ec72DwNMEck(UW7%Poc#%g1ovEJBVY&6ywYmLRm z6JM$KWc{a}es)6SndhE=;l;1MqFyVu=35J_h1Mc#v9-inYOSzVrmR)gYHN+P)>>z+ zw>DTCtxZ-}Ynip&`sTOZ_?Pc|_pP_T|HFU#(T{)9!RTmoGCCWc(aY#<3^WEAgN-3Z zAEU3)&**OqFxJ?s?Jh=Fqnpv)=xG#1dKmA#``-6{FgWtB1q~X${_Qc5H^27M%U}P- zsK~30jK)S2qp8u%Xl}GJQmu_PMq8tu(cWlbw8S^Dc4>#S-P#^)ueMLyuN~ATMGk0( zwIkY5?U;62JEvXNu4%oj-c}#0uhq}$Zw;~rTSKg&)-Y?hHNqNcjk3B}1FV78b?v5k z%e-ygF`HP;trk{0tG(61>S(pJT3M~FHdb3}g}vOqn=%WnMpk31nKeDq)H<(S&@O71 zw5!_O$QA9lc0xO;ozl)~b0TN7v*tPTym`UAXkId}n%B(h<_+_*dBt30{PaKm{bxV_ z#V_BV82Q!z`}J>r`@tVS{_|h|{*QnDPZO=V)iZ)eStu2nM()w!y zw1L_nZGyHaGG1$`wbEK^ZM62<%t$*eRj4)68f(q8;gP1=C;$1E=l<)zXGH$?;qQL` zhmVFu{xr-OZj3NS8l#NS#u#I)F%*9g_$YSA<7*%VO42dVlpRd_muuf0-^hj$T9rzlcWKB*S(lklE6;y#vI8c{Kzy^#f`coYx^)=LV2 z*aSf)8{Q-d(0YPq!v72QeafTxc*_)(Du4?_o)&bQ+G&^>`!(FNq#)BLfX<%{nkLGqq)HHT&J7jSnLKhKf%ilut zMcJbocg9gSbwsp51T`-Im<+>ki`3RW^^<(B%1^YM-$c}HQd^N)kl5_1J49OoE!E`g^_sW1z;87ns~e)z|1L|>=RM*I6bc*Q^}mY0mmCsFUMul{s-{+#4j;b zLE>suEg*UkXwX`J+Fp;wui?lgn6_7D@b@T)s5&bprzW`GZybr($4E8?d%p)-I-&1(9WZ*%{ITCzq=Gw$B1u5 zaX6I%3mhl91t`9srA`pp%wP6R_Oc4c)Jc*zfn2IV$lQiMv{BNB7(^RzI9gNB%@CJ*Z21+QQMz*RTc zCNQVr*NtVCZ{i^^;qNVrZZ-oa-^DK1oxe5{zb3mJd5q`FsKzu3EHk7UvdhKZNO-O) zB6Ye?<#C+V<=6xGW|XU@GopwQ1&Il9HG}9hpwiu(_dM>H6pv2~XgKg#jGhlRx^Zze zlQ||Mw)939aD5L}a}r|dIpf_a2Z)HD$oO%LFGviIt4T!10xiW% zL*wz(kbnrWac&7?4UDVF%rXkGIDX971B2%EW}QbO7R^Jw{5=rO%MRRvaojW;i!4)( zKq}Z-RbL{*f#?{;enf`FV^5bJ##u2ng1(=8p2dvktzq{HSpQa^dg zQO!wh^(jAz_!f+3C*vm%#Z*h8ElPed<^Sa2Sp3kvKY1jkdNFmgQa^dxQN2lR`YAt& z_&$tp;{W6+$Q?u*m;9vvi>G7pQ~1SHsaE!jskQ8)!csqZ#8K-=y-WU}$b3)7B7QyN z?=Zd~Q4~`fh~5TTs$ZwaWCoE2Zd)bMDS>wdNkN`o0(t=HGz1pj8dI&|lhnPPi3Hu4;2aY`g@Qaq^eoU)ow+3z-yG1; zYwH09U4CQOLM$EN}!+As`Y(1w9AwUJq5PTX&}M=|ywGTbxVJg-or z8F>JarFgq>Of6%?engbCCAHR3%Sqnnlgl&)@hcd=m+{ysVrnJPJwQt}rh6>jEuf(- zcOcLOZRs3StC(XaV#|(43KIKRM(;p$>Bc~+$5xMj`MeLzDSye2iEmttvQXlBRE=Z4 z?Z^j5kA{i;(fGcSUoDO)k9@QBzQ2ke?a0_IF>zjFcZ54|`XKe5DO02LX<*un&;Yf9 zD+v4>e8+?&(8@_%;)3)=xF&mTCPYU59ywMjyEhu&BbCLsW-z_6?i^!dHhx-dcQAGX zV(;l9d`95UkXh(K2nRwwCK)&omKyplF}0foaF&z|{bEP$vFW$A&L@`{dL-D(Y-<@` zkibChBf17?siE%@i+2ua82SzXONM?wbF2iZ?9gKncG<5ZdIh5IX;&3_k|C=hXQXu4 zmS}u)6m`d;_>hv{ItAypQd<8BOHHD>LK(kAStxeYWKtK$e61h&6yl4RsvyxWs-_ZM z7!-_6)7SbtMC0u-N`bP_HmasE*?cDZ3}s;g6BWmNt-obd%^*GxnV>A7jG06!D$*NQ ze3VQzi?lhQ!E{F%KOYKh1J-LcBW6p4?}Pw@fbX3UYWTe86BlIw9~TX3~AUEJq!q*vph4C{OUyzs>Rac3I z8x^=N2V#Srm>i8yLT`~ZaJQuuz?>YgH(EVDs;)81RFq&PbNt;4=DcqOXYFb(W2Yb% zJs-?PR4s6j&0z1ee{6{=jApfns?#iBvflujFwm@tjyhwJy(jtPOkYC0w){F1oMpC& zj4wzGg`!H7QeeQ|)L{~d;nDc8uw99G6M%tDV{lZRXO6MR0jCSUS#-__n^i2oKL*hy z?LysnrQK)kz_*I`J!$jBAu>I{#A+#?)u;&u^lI0*7J*9Pi*>n#6T=?GSk$^wEn5=|gL(datdpDgcV`1=v( z_JqkY!%_W-4h4#Cs+pcFvz+)$7y*OHGTp%&21quT$@rQByopNGpqf$#EC4;3W>7F! zZbj5!;scQfT!SKp5FH>z;E}ng^aY(N;0T3YL7BKhhlgSLK2=p1P=+#je(A_AB!G&Hbn(1$cvZYEG-iGg1CHbwS5%&WRwlP*aZZmuv*QgVHD#-j^%yYpzmioY7|rUMoM^Ruqa8Jd@f6u$RYNIbi3YZ)C$P$LylF${&;q%yl`6rRk1q9kCClle4&l3ZlFW}T5 zKkOmCr31SL@=Rf}PLizZC#vdyVzEPa#ne>NJAz&^i(!aFhM}|#b*Lga&?RD`n{BCK zB)7-wM6g8u7Wi=D?U+%F&)ODlytzLSI0{qI8NsY=0%e#vTCoBd zvo`1qQx&m#En~iEa)P6#6K}!P7(0IeQQb+H7A&SY>){U|jzFebsz0gCeCj7$ittC@ zWAR@``~b!`Wqd*6nxh61Z2~l?y?=A`h7-SzDjQ!V6UE}=00-BquQ+NDvlJo=?wR^y zi6Ko_eTsKNxP&^;)P|F`2)%%5gNKhk*sft>gcBc*el16=K?0Ai_25X+ zn#zVkPQwd%hwz=8o+O`_g2v#LyR}Yy4YCE7$kJaTIf#Xr3C}XWzv-isdy#ZTNa4?} zcGMkK?KG&c8?AHHU81Le;;Nu3WR8Op;6T*dat?W?q*!H$VgUlCP6tQrXZ%{A{zV%&mY;~kkMqn9ql=!z;@^%vxf)4uB%K~z z*{g!lZO#O%kN~$_Fk(!D{BUT;;sd8YE;QJ=S}@hhXzT}4)0V_mWd82KNc;ePmup`u zRtisKSLNwxlhNdg`KEC)G2e+7VxbG?<&8U^R$? z0o#+dkTi@Bzbu4w-AG#?=|lia4+-MBGj6_LMld8DNGcW*78$BVkn3WJZV}ayG4l{( z;Q?ANqB;?u3mguPsxy%}KqCH;Kf1kpM0Fu`HmEj|bR{y2NqBxb#8&fos5%n_xTOLu zCOQKs*Yf#9rUMCC5+hyW-1|KY^L?+Gss+qfgnS${NKqNLOb6TQG|z>nAy(E8Igh?# zsxzccje38?71D15KTCWHQ(=d+)j6V*fl_wD(EImLZ`kqcyr;~1S@He=gR7`lY;~SF zCPaBBwMt|WYcxJ8cT=OiY_*v9xTyEeEw_5IkFAa{@mT&E&&WmQIBTk-q>jOU6^&MY z7WgsZqmc^CddgPEiH-{EguGb4{FoDr87Z!@wNgF88phO8{_Jq(K%dBOr5QN5#>xAK zo~@QKAr%gudoL$46dZ|d63Vam>m!WEyQAdnJY5Z-4ltOhlX%4z3(`Om1|i2Fi^ko7 zj0%`|siOunb^vL?xe;%W`I@DC^N1U^?r)p<=zSRDhA>Bekv$&R{4yj8&GSQu{;Z^>Uv^EpA_x z{Do#=osie(bHp@aOw)kRCx$hQsT(YyF>`ztpF^y^$%KuNkbHiNNTKjK?^UPy95DIb zj$ec#%cImeG^5>tU=OQMgTx?L%>^M9zwP247^7}63fdnT6Iuw4g^NkPDP&*Yqps|K z^@~Y^E0@>c2*QLnm=J3U>a>73m1zvmRaY$}dJQPvJ5Y;=T$MuWe2||K6IEYVji8|=mh1vIRvJpcxr*56f&nd6k}uc%XqoOJyawTr8!5M^`S#1$3zY~n|e3Y>;abBG=Zem|6=BxWvS4!gW;Q0tveK?=yL zMWi1j{#l%cv)t)ScmN5>X)}oI2fOeicA>LIS=G!7Cz7PzK51^^B zFBloY19_nBBrRBNamhF^I^dQYjSg`JCie5K z5jByicOW$xY!Z>}KrmukB5E?xZA43ijVYvUB`sKmk!}WQbS=AAnLyl3#%=b?2o~X~ zByDmbEQ+})Ep2RoXB?w8B6W^$OTkLJDWZx<-2f^VJX7NKmuzJ_iec>R1?eidst|zmONVlF9`G@KXQDSxmF`rS?=!_QI{CI z3b7^3-^f&#NnIH*KkzHWS1=Wh@+0ahQF^YGV*a6#_z;MN!7|$mV8HwXBkCG+ED4zZ zD3Qeh^Ft~-Mto7g{E*5{6JN+*OEdosL!BXYLBRaL&k~=HRA3ZjI!ClPtP}G3%PeBf zGiIL8{HZQs4P)vA>2sLlvzWhgM4e>9*+@v{KSgAgFhB3?m0D)wV=da(ZMBjz#|$Lm zCBIcfrVHYvlw3D15=>WX7&T20SFI&7RgkEXD?L*L$x-VWGg**qwSmYaK`N<@L?#Mi z;jRjh38-h5s!lV22BwC+t=zX0!z{I#k>j&nK7eAD%g*v0u)SBe;r>omOdX`mH4b^P z!EZ9vA);e}2G1G_@i2*FgeXfs-g?8cn^_+`l!c347=n6rM8hcGBcmr zPSOY=Rr~b)ov1p2vOc`ELAhu zL8qFk9V^epnNKzbKRDk~?Lkh(2MS#ph4l)iPh5~ns1D3B08xAl23a6tSgIq5{YeA` z_31>spCl5iDA%oGDC{Kn^^-xZfeu0qM|B~&56IzygQUGuB=#oJmm|~a4I+Cpu9w6G zeU4XHLFy@_OtBAEy>5)*t`p~i!$%)vyDmt~wN!V;c@ih>N7X%&y35i^NMA|*ffw(q|E0nm9IU1967h7%V-KeLfnlR=L zrA)sdbiSpUl9;+J)Ub$Vq}>t{6a;dSFgCi^Qq386lX3VIDOjil@f*O+kb^o~swIiE zy{0*+wW(T>cuk1+_U|LmBcy{@GtCuAw{$e;OkzyT* z7fJLd<$B^5BvCK}u(oU<@w^bj8L*M0b3%eoA!jMxppPX+VJ&6MS;VB<(9u+z^}JVL zITY%>jfl~B(g7?D3n5@k+v zEakfxb5wpp^u&S$`gb>pM}%0mYET1PVWu(3A=MorW4tLG+;eAfl7iIq;29#@268x$P}Y3Xwvu+wJVM+8#?fpV zj0YHd7D=0hOIGMK89L8;AoIi+jiEm&r;rwW3sd*%> z2QfViC!o-fxK4;=#}D?))Ime_Wg6PKGZvuBrs_xX>XNJ(3s8SXtwL1B0)!j`NTy}j zUx31X8%XjBki&jM(ov+r3QPGmZIuwC1R_T>av3v(%exvx(o!L1vh8_O4Q9*|{%E)W zT{P7Y5*G_GXto+k5-q)P8Ysf`Cxz|zf~kfvlBz_o01YQj?LOVXCrmYh#Q7kmJ9vws zMv_=8#IhZX+X0&mHI7N_CpriymjFmrzOA)eB;GYtJ*;@^66L5< zM4e!c{*G7%?CnJQc>}Mx_1$I>wS#D1@1x6Zjbw|6+Do(#e=DsT^}`ZQYHvsE0?z>7 zPrMgWVUD?PkJm zNJ!0S50S3mx~x1MijRK>Kjp+*n!X++Px0Yc1#$2OW#UePpuW_CI|^c}Jyftd2%@V; z0Jj$yZ?>n^nUlJD6cO#5P?LfeMK(jc)9Rw6c|70M8CE3Ot2ZwWk{a4F0< zq+3LK3(_g^;RR9f1{^OCIMjTQVlh)Rmy%=-;!cfPLRvG@f;otE>q%=W=}ON*#BE?) z6TghWJds*TT4SMQPQqQVk~5|eVq_n~>q-TQJ+@j-Y9Xi=hI9pyyJQT`!7Wg1Nw`Dq z^`9xiR76RuNWBdzr{ZcNw}9Xf>f^k+B{wTKRYl+{8c>Uth z{8Y&sk-GmzB+W|jtif6vJem{V0lU2n4^N~qJUEU8o2Fk#;)M-pB+Fr*N4eMVJ7msE zfUg3UbE;*!sto)Jp1i1n@G|K%@FxnQ3B*+e?NY>hGZC$m0$L5|MI^~s9IJzLfuvwu zkZKCK>AWN>JuZlw%D8iW5y80B0OhPuGDl?*Z1RXWg9wbq5?!Tg0X+?rE8+uyPXP|j zr?6%&)>Ul~PlAZg@Ter<6HLI91I`n|s6SXx?HB4QAH-uI(schI;G=+HWykwb z=tuwTR7Prnt{%$Eg-nU~V5A;K^1~6YNx4!3Rly%9{oa8B&cTz{jpFn1UWg1DCex=6 z+C@vPxl5IQI2LVSZX~9`!Q~*4TN~nH9VR@>_*b|k`@>X`H@2z4NN(t z%fXD!IGRC@P0XlmB{}~@aCb85(M(*?r35ItI zNjrp;IlgBswUsg35rY9f2fcvkHlVZyZYQ!8NN_ZR5k3pWfYdFZMv!DDkpz+^+)@{~hRYT3;Po6o<~9yYxvQ_jPhm@y*OAjJa*?j;B5noZ(t?kA zj0bSbh2&dTuvkvh)#FIGOsIjC2(%|aTgrmb;Cg_UNc=+_5Ey`T^(1JEg?3*P(JWo< z%|eoek|eE#G)@_6AL+a(8`MkWYu`k)pHcG>l{OJIHq-$Ui%G<9qc#VL&yz%H6Hy~W z9U^(IpDe>fbeQBhAp7i>YM4OUQzXtN(dXy1i3oA088=JfLJ|51Ni&6%$$qzWb(AqP z5Oc4I=&r7gF>boVN&8Xta9F;Km^ z8czO{gis_0>FQ~unCPcSi8HTBXWs3)dIk{_5Fr*J;LiddPn?m@0~sf|r206g(bWr} zjTM^A+fqs^tU6ZusVjeP95&%coUcn9#Qgp+{pLpNCfh5 zAxl39xA^9u^^6*Zs0?ikIW~|ylw>gnh1%Fgl82-~4;Lb&-9_SH((Yjd#O-F>Ac+eZ zVG~IMg_Ow%J9V|0F#`~j*2Z@0Y72?|g&3BQ+DaPlhL=*uFsF9uY8&JFGR`*#Z71Fb zc$!-_>1qdwy+KSfK_^}9B#~zX>A9ZKzYtsd=&CQrphp!+lUB#h>#85=o;N{4CNu7n1X$?B1t09c(gqU;_ zy6I}DmiHvYR-xXHXxktDVy(XaC;;%y{R=D;1- z)o8|0fk@Y-gAS)95L*ecY*k=qZLh0wOwuBfY5h5>tMQ~Z&&;SMkkm{_f%T`Yt|pS$ zRETA*KQK=;(p5JmX)H-(t_iU_iH$PL&$RwP?Y^a{7EE&&QeB2wW4*3gl6=P&>rX)| zBDax7L}oAu60|1mmQTyD{Y9(&JPUA1T26~_6))`9qCmJ%+P5dS)ocnL%qu@v{C^P1{J>P4ZJ9Ww0v zCpC4JljOW4@tFxL%yb>sYd}6%k~3q4InSuGh{{-DkmCZ$XGpH2KTMa@z)*IP^wXe+ zU4^u_NINB6_3uD$6Ftc!;X*wi31?&A45|0TnXsEhM(ot`| z9nJj%w&rU@k1&P5j9e#vm_HEq;#ghXAn_20X};g1shcDo6k^#<4A}|XGErBB?C<^F zI}uF5MuhkA2f}3o2^y2QmqdRon-Je4i89SL*y@@xX1Dxm!0FpG)r`blLM&SqU;bHv zLklW9DXK7`0OUvYG1N)geYTZ}X=$m(%(NvVhDM-_^)mP#8I7XY29B~K8>J$`H8R|B zTC0vRW`j*z9-2s}JS0C(;(94u>Mg_*B(4LIV(CdDYb6CP4v=~H8HNNlkyDIWBR>_a ztUEPzn#9#Yl;1D4=So#E1-MzFfU``yvLr38GGa(@K>$8$j9P&x3x40=Gk9uKNAvTY zXXJ83(!G{#LDNy(1(KJ6j8`Su;ETkU0uS4ZG?z5WluJkq2OreSOt~0DHuwsWMUo=3 z!CQ58l`#tuLkC~{ZUNTpdu`ZP?mx8v6d0@ZCjwJR}j$+5uC6xUt4JERnWQ$?S9iWt)U|Kd~QsgZSSYGqt#NKkfqEj zhC~aQs3RgXRxywlk=y~~U=>?Tygl%+T}ZQpG|uOA!$4e0Vp|Z|uw_KrFhvS$WXZBU zS5wOw)f!RhRjgQ3D@f!N2;A^d#7dG{f+VZhbPcb{g3tnlbf^4PttPFx(C*hMpw-}N z_c!$%(lwQI8B3VgAsKztTf(nT>HgQJ@Fgn8+k<~J%iGJyGbG?k@ky^-9-t#g>*ahH zal9vix_Cuj>!>&AKeK+?w9TWFq@W+?EvNw z*akqp7P%FG+^d5Nn_~MmBjggi2_d)XjR;xTh9F!YgzJKEt(Ec63}F)CP=pU69D?v+go6=2f^ZPRI~=Bg z0LHSe1K9t=2=xc44}pFFdJ*Ugz$4HHKvx320W>Gj3&33#)DwV|*aN^BQak{A2y_Rq zhCnv}Pa*7zunxj52p>b(8DTxj7@Y*b3`fWlyADCvJ_y?dVcQ^V6NIgUuvHMY48j&c z*gOcE1!2=5Y!ZZx8M6Ny1%$#Nyo-|AiNfYSA+0M5MB<# zOF?)s2rnQ^@rTX_gmXc7HVDrI;pree6@({)@I(+E55i+Xcr*x)1mWQzJQRcngYbZf z&)Kp9`vbzhAlw^-dxCIx5bg@Xok6%G2)75}wjkV!u$Y6t1;C34HzWKC!c7RdV{Amo zZD<1@#pd3!J_y$#l;v|RfCVgK4FFkTR|AkGc@+Rz>{kMi^?OAKEC(QomjMuq%2EJg zP+9^&tT~GTh|y>ffRvbi76KAr0RXY&%m*N5nqmNA$eRaXKPxmBfY>VM01!jrYye`9 zoCUx)Du%!e0LPhYIsnnliU5fIISs(&6yv4>5*>3208tw!hrlENq6SU`APV0E0HRrq z2hfPqaU1~A!o~s+EqV+9F$IhUAd2}Y0HX1a1RzTM2m#3d!vTp#J`8}^aE1a9o6!&e z1Nj?+0f^ye5CE~Q3kG*4N0v5h}UQ<0Asj)@kn+LfffL^5NHly6@g{|mJ?_SUPT)F#T?DR$z*PWe zNVx*w2!YE04iLBmKori407R9&06>(}^C55!fT&t$Q-DN;JOe<~vC{xVe>(+0G{chs zMAthJ0>=SJ;$r~Bj}79d@5XlofcVfI2GEF2JOrRIfrBA%0D!p9?KiOhh;!UNka{rD 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 MbTnYu1CD+859w$MEdT%j diff --git a/substrate/srml/contract/src/wasm/mod.rs b/substrate/srml/contract/src/wasm/mod.rs index aba320db38..079cb4aac6 100644 --- a/substrate/srml/contract/src/wasm/mod.rs +++ b/substrate/srml/contract/src/wasm/mod.rs @@ -25,7 +25,6 @@ use crate::gas::GasMeter; use rstd::prelude::*; use sandbox; - #[macro_use] mod env_def; mod code_cache; diff --git a/substrate/srml/staking/src/lib.rs b/substrate/srml/staking/src/lib.rs index db1405a466..525edd86e5 100644 --- a/substrate/srml/staking/src/lib.rs +++ b/substrate/srml/staking/src/lib.rs @@ -46,7 +46,7 @@ extern crate sr_io as runtime_io; extern crate srml_timestamp as timestamp; use rstd::{prelude::*, cmp}; -use codec::{HasCompact, Compact}; +use codec::HasCompact; use runtime_support::{Parameter, StorageValue, StorageMap, dispatch::Result}; use session::OnSessionChange; use primitives::{Perbill, traits::{Zero, One, Bounded, As, StaticLookup}};