From e464c04fdcc5cd14db8906b89da05703e4d27f21 Mon Sep 17 00:00:00 2001 From: vidalpaul Date: Mon, 1 Sep 2025 08:56:49 +0100 Subject: [PATCH 1/7] chore: init stylus repo --- .cargo/config.toml | 18 + .env.example | 3 + .github/pull_request_template.md | 12 + .gitignore | 23 +- .idea/.gitignore | 8 + .idea/modules.xml | 8 + .idea/vcs.xml | 7 + .idea/vidalpaul-arb.soul.wasm.iml | 8 + Cargo.lock | 5744 +++++++++++++++++++++++++++++ Cargo.toml | 46 + README.md | 214 ++ examples/counter.rs | 78 + header.png | Bin 0 -> 335346 bytes licenses/Apache-2.0 | 201 + licenses/COPYRIGHT.md | 5 + licenses/DCO.txt | 34 + licenses/MIT | 21 + rust-toolchain.toml | 2 + src/lib.rs | 111 + src/main.rs | 10 + vidalpaul@arb.soul.wasm | 1 + 21 files changed, 6533 insertions(+), 21 deletions(-) create mode 100644 .cargo/config.toml create mode 100644 .env.example create mode 100644 .github/pull_request_template.md create mode 100644 .idea/.gitignore create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/vidalpaul-arb.soul.wasm.iml create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 README.md create mode 100644 examples/counter.rs create mode 100644 header.png create mode 100644 licenses/Apache-2.0 create mode 100644 licenses/COPYRIGHT.md create mode 100644 licenses/DCO.txt create mode 100644 licenses/MIT create mode 100644 rust-toolchain.toml create mode 100644 src/lib.rs create mode 100644 src/main.rs create mode 160000 vidalpaul@arb.soul.wasm diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 0000000..ead98c8 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,18 @@ +[target.wasm32-unknown-unknown] +rustflags = [ + "-C", "link-arg=-zstack-size=32768", + "-C", "target-feature=-reference-types", + "-C", "target-feature=+bulk-memory", +] + +[target.aarch64-apple-darwin] +rustflags = [ +"-C", "link-arg=-undefined", +"-C", "link-arg=dynamic_lookup", +] + +[target.x86_64-apple-darwin] +rustflags = [ +"-C", "link-arg=-undefined", +"-C", "link-arg=dynamic_lookup", +] diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..63e3e4d --- /dev/null +++ b/.env.example @@ -0,0 +1,3 @@ +RPC_URL= +STYLUS_CONTRACT_ADDRESS= +PRIV_KEY_PATH= diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..645ad64 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,12 @@ +## Description + +Please provide a summary of the changes and any backward incompatibilities. + +## Checklist + +- [ ] I have documented these changes where necessary. +- [ ] I have read the [DCO][DCO] and ensured that these changes comply. +- [ ] I assign this work under its [open source licensing][terms]. + +[DCO]: https://github.com/OffchainLabs/stylus-hello-world/blob/main/licenses/DCO.txt +[terms]: https://github.com/OffchainLabs/stylus-hello-world/blob/main/licenses/COPYRIGHT.md diff --git a/.gitignore b/.gitignore index ad67955..fedaa2b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,21 +1,2 @@ -# Generated by Cargo -# will have compiled files and executables -debug -target - -# These are backup files generated by rustfmt -**/*.rs.bk - -# MSVC Windows builds of rustc generate these, which store debugging information -*.pdb - -# Generated by cargo mutants -# Contains mutation testing data -**/mutants.out*/ - -# RustRover -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ +/target +.env diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..09f8888 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..8306744 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/vidalpaul-arb.soul.wasm.iml b/.idea/vidalpaul-arb.soul.wasm.iml new file mode 100644 index 0000000..6102194 --- /dev/null +++ b/.idea/vidalpaul-arb.soul.wasm.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..01bca2c --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,5744 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + +[[package]] +name = "addr2line" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "alloy-chains" +version = "0.1.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28e2652684758b0d9b389d248b209ed9fd9989ef489a550265fe4bb8454fe7eb" +dependencies = [ + "alloy-primitives", + "num_enum", + "strum 0.27.1", +] + +[[package]] +name = "alloy-consensus" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e32ef5c74bbeb1733c37f4ac7f866f8c8af208b7b4265e21af609dcac5bd5e" +dependencies = [ + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-trie", + "auto_impl", + "c-kzg", + "derive_more", + "serde", +] + +[[package]] +name = "alloy-consensus-any" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa13b7b1e1e3fedc42f0728103bfa3b4d566d3d42b606db449504d88dbdbdcf" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-eip2124" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675264c957689f0fd75f5993a73123c2cc3b5c235a38f5b9037fe6c826bfb2c0" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "crc", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eip2930" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", +] + +[[package]] +name = "alloy-eip7702" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b15b13d38b366d01e818fe8e710d4d702ef7499eacd44926a06171dd9585d0c" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "serde", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-eips" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5591581ca2ab0b3e7226a4047f9a1bfcf431da1d0cce3752fda609fea3c27e37" +dependencies = [ + "alloy-eip2124", + "alloy-eip2930", + "alloy-eip7702", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "auto_impl", + "c-kzg", + "derive_more", + "once_cell", + "serde", + "sha2", +] + +[[package]] +name = "alloy-json-abi" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d62cf1b25f5a50ca2d329b0b4aeb0a0dedeaf225ad3c5099d83b1a4c4616186e" +dependencies = [ + "alloy-primitives", + "alloy-sol-type-parser", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-json-rpc" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "762414662d793d7aaa36ee3af6928b6be23227df1681ce9c039f6f11daadef64" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "serde", + "serde_json", + "thiserror 2.0.12", + "tracing", +] + +[[package]] +name = "alloy-network" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be03f2ebc00cf88bd06d3c6caf387dceaa9c7e6b268216779fa68a9bf8ab4e6" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-json-rpc", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-types-any", + "alloy-rpc-types-eth", + "alloy-serde", + "alloy-signer", + "alloy-sol-types", + "async-trait", + "auto_impl", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-network-primitives" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a00ce618ae2f78369918be0c20f620336381502c83b6ed62c2f7b2db27698b0" +dependencies = [ + "alloy-consensus", + "alloy-eips", + "alloy-primitives", + "alloy-serde", + "serde", +] + +[[package]] +name = "alloy-primitives" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc1360603efdfba91151e623f13a4f4d3dc4af4adc1cbd90bf37c81e84db4c77" +dependencies = [ + "alloy-rlp", + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "foldhash", + "hashbrown 0.15.3", + "indexmap", + "itoa", + "k256", + "keccak-asm", + "paste", + "proptest", + "rand 0.8.5", + "ruint", + "rustc-hash", + "serde", + "sha3", + "tiny-keccak", +] + +[[package]] +name = "alloy-provider" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbe0a2acff0c4bd1669c71251ce10fc455cbffa1b4d0a817d5ea4ba7e5bb3db7" +dependencies = [ + "alloy-chains", + "alloy-consensus", + "alloy-eips", + "alloy-json-rpc", + "alloy-network", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rpc-client", + "alloy-rpc-types-eth", + "alloy-sol-types", + "alloy-transport", + "alloy-transport-http", + "async-stream", + "async-trait", + "auto_impl", + "dashmap", + "futures", + "futures-utils-wasm", + "lru", + "parking_lot", + "pin-project", + "reqwest 0.12.15", + "serde", + "serde_json", + "thiserror 2.0.12", + "tokio", + "tracing", + "url", + "wasmtimer", +] + +[[package]] +name = "alloy-rlp" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f70d83b765fdc080dbcd4f4db70d8d23fe4761f2f02ebfa9146b833900634b4" +dependencies = [ + "alloy-rlp-derive", + "arrayvec", + "bytes", +] + +[[package]] +name = "alloy-rlp-derive" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "alloy-rpc-client" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b37cc3c7883dc41be1b01460127ad7930466d0a4bb6ba15a02ee34d2745e2d7c" +dependencies = [ + "alloy-json-rpc", + "alloy-primitives", + "alloy-transport", + "alloy-transport-http", + "futures", + "pin-project", + "reqwest 0.12.15", + "serde", + "serde_json", + "tokio", + "tokio-stream", + "tower", + "tracing", + "url", + "wasmtimer", +] + +[[package]] +name = "alloy-rpc-types-any" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "318ae46dd12456df42527c3b94c1ae9001e1ceb707f7afe2c7807ac4e49ebad9" +dependencies = [ + "alloy-consensus-any", + "alloy-rpc-types-eth", + "alloy-serde", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b4dbee4d82f8a22dde18c28257bed759afeae7ba73da4a1479a039fd1445d04" +dependencies = [ + "alloy-consensus", + "alloy-consensus-any", + "alloy-eips", + "alloy-network-primitives", + "alloy-primitives", + "alloy-rlp", + "alloy-serde", + "alloy-sol-types", + "itertools 0.14.0", + "serde", + "serde_json", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-serde" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8732058f5ca28c1d53d241e8504620b997ef670315d7c8afab856b3e3b80d945" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + +[[package]] +name = "alloy-signer" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f96b3526fdd779a4bd0f37319cfb4172db52a7ac24cdbb8804b72091c18e1701" +dependencies = [ + "alloy-primitives", + "async-trait", + "auto_impl", + "either", + "elliptic-curve", + "k256", + "thiserror 2.0.12", +] + +[[package]] +name = "alloy-sol-macro" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e10ae8e9a91d328ae954c22542415303919aabe976fe7a92eb06db1b68fd59f2" +dependencies = [ + "alloy-sol-macro-expander", + "alloy-sol-macro-input", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "alloy-sol-macro-expander" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83ad5da86c127751bc607c174d6c9fe9b85ef0889a9ca0c641735d77d4f98f26" +dependencies = [ + "alloy-sol-macro-input", + "const-hex", + "heck", + "indexmap", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.101", + "syn-solidity", + "tiny-keccak", +] + +[[package]] +name = "alloy-sol-macro-input" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3d30f0d3f9ba3b7686f3ff1de9ee312647aac705604417a2f40c604f409a9e" +dependencies = [ + "const-hex", + "dunce", + "heck", + "macro-string", + "proc-macro2", + "quote", + "syn 2.0.101", + "syn-solidity", +] + +[[package]] +name = "alloy-sol-type-parser" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d162f8524adfdfb0e4bd0505c734c985f3e2474eb022af32eef0d52a4f3935c" +dependencies = [ + "serde", + "winnow", +] + +[[package]] +name = "alloy-sol-types" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f306fc801b3aa2e3c4785b7b5252ec8b19f77b30e3b75babfd23849c81bd8c" +dependencies = [ + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", + "const-hex", + "serde", +] + +[[package]] +name = "alloy-transport" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a8d762eadce3e9b65eac09879430c6f4fce3736cac3cac123f9b1bf435ddd13" +dependencies = [ + "alloy-json-rpc", + "base64 0.22.1", + "futures-utils-wasm", + "serde", + "serde_json", + "thiserror 2.0.12", + "tokio", + "tower", + "tracing", + "url", + "wasmtimer", +] + +[[package]] +name = "alloy-transport-http" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20819c4cb978fb39ce6ac31991ba90f386d595f922f42ef888b4a18be190713e" +dependencies = [ + "alloy-json-rpc", + "alloy-transport", + "reqwest 0.12.15", + "serde_json", + "tower", + "tracing", + "url", +] + +[[package]] +name = "alloy-trie" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95a94854e420f07e962f7807485856cde359ab99ab6413883e15235ad996e8b" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "arrayvec", + "derive_more", + "nybbles", + "serde", + "smallvec", + "tracing", +] + +[[package]] +name = "anstream" +version = "0.6.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + +[[package]] +name = "anstyle-parse" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.59.0", +] + +[[package]] +name = "ark-ff" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b3235cc41ee7a12aaaf2c575a2ad7b46713a8a50bda2fc3b003a04845c05dd6" +dependencies = [ + "ark-ff-asm 0.3.0", + "ark-ff-macros 0.3.0", + "ark-serialize 0.3.0", + "ark-std 0.3.0", + "derivative", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.3.3", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm 0.4.2", + "ark-ff-macros 0.4.2", + "ark-serialize 0.4.2", + "ark-std 0.4.0", + "derivative", + "digest 0.10.7", + "itertools 0.10.5", + "num-bigint", + "num-traits", + "paste", + "rustc_version 0.4.1", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db02d390bf6643fb404d3d22d31aee1c4bc4459600aef9113833d17e786c6e44" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fd794a08ccb318058009eefdf15bcaaaaf6f8161eb3345f907222bac38b20" +dependencies = [ + "num-bigint", + "num-traits", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ark-serialize" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6c2b318ee6e10f8c2853e73a83adc0ccb88995aa978d8a3408d492ab2ee671" +dependencies = [ + "ark-std 0.3.0", + "digest 0.9.0", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-std 0.4.0", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-std" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df2c09229cbc5a028b1d70e00fdb2acee28b1055dfb5ca73eea49c5a25c4e7c" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +dependencies = [ + "serde", +] + +[[package]] +name = "ascii-canvas" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" +dependencies = [ + "term", +] + +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "async-trait" +version = "0.1.88" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "async_io_stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" +dependencies = [ + "futures", + "pharos", + "rustc_version 0.4.1", +] + +[[package]] +name = "auto_impl" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" + +[[package]] +name = "bech32" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" + +[[package]] +name = "bit-set" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +dependencies = [ + "bit-vec 0.6.3", +] + +[[package]] +name = "bit-set" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +dependencies = [ + "bit-vec 0.8.0", +] + +[[package]] +name = "bit-vec" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" + +[[package]] +name = "bit-vec" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "blst" +version = "0.3.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47c79a94619fade3c0b887670333513a67ac28a6a7e653eb260bf0d4103db38d" +dependencies = [ + "cc", + "glob", + "threadpool", + "zeroize", +] + +[[package]] +name = "branches" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3cb31f305a2591edaae2206f29e1e05b19ba48eba41042a18735bcc0efe165" +dependencies = [ + "rustc_version 0.2.3", +] + +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "sha2", + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + +[[package]] +name = "byte-slice-cast" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7575182f7272186991736b70173b0ea045398f984bf5ebbb3804736ce1330c9d" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +dependencies = [ + "serde", +] + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.13+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" +dependencies = [ + "cc", + "pkg-config", +] + +[[package]] +name = "c-kzg" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" +dependencies = [ + "blst", + "cc", + "glob", + "hex", + "libc", + "once_cell", + "serde", +] + +[[package]] +name = "camino" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" +dependencies = [ + "camino", + "cargo-platform", + "semver 1.0.26", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "cc" +version = "1.2.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" +dependencies = [ + "jobserver", + "libc", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" +dependencies = [ + "num-traits", +] + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "clap" +version = "4.5.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.5.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "clap_lex" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" + +[[package]] +name = "coins-bip32" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b6be4a5df2098cd811f3194f64ddb96c267606bffd9689ac7b0160097b01ad3" +dependencies = [ + "bs58", + "coins-core", + "digest 0.10.7", + "hmac", + "k256", + "serde", + "sha2", + "thiserror 1.0.69", +] + +[[package]] +name = "coins-bip39" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3db8fba409ce3dc04f7d804074039eb68b960b0829161f8e06c95fea3f122528" +dependencies = [ + "bitvec", + "coins-bip32", + "hmac", + "once_cell", + "pbkdf2 0.12.2", + "rand 0.8.5", + "sha2", + "thiserror 1.0.69", +] + +[[package]] +name = "coins-core" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5286a0843c21f8367f7be734f89df9b822e0321d8bcce8d6e735aadff7d74979" +dependencies = [ + "base64 0.21.7", + "bech32", + "bs58", + "digest 0.10.7", + "generic-array", + "hex", + "ripemd", + "serde", + "serde_derive", + "sha2", + "sha3", + "thiserror 1.0.69", +] + +[[package]] +name = "colorchoice" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + +[[package]] +name = "const-hex" +version = "1.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" +dependencies = [ + "cfg-if", + "cpufeatures", + "hex", + "proptest", + "serde", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "const_format" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crunchy" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" + +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "dashmap" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "data-encoding" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "derive_more" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", + "unicode-xid", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "dotenv" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f" + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" + +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "ena" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +dependencies = [ + "log", +] + +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enr" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a3d8dc56e02f954cac8eb489772c552c473346fc34f67412bb6244fd647f7e4" +dependencies = [ + "base64 0.21.7", + "bytes", + "hex", + "k256", + "log", + "rand 0.8.5", + "rlp", + "serde", + "sha3", + "zeroize", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "errno" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "eth-keystore" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" +dependencies = [ + "aes", + "ctr", + "digest 0.10.7", + "hex", + "hmac", + "pbkdf2 0.11.0", + "rand 0.8.5", + "scrypt", + "serde", + "serde_json", + "sha2", + "sha3", + "thiserror 1.0.69", + "uuid", +] + +[[package]] +name = "ethabi" +version = "18.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7413c5f74cc903ea37386a8965a936cbeb334bd270862fdece542c1b2dcbc898" +dependencies = [ + "ethereum-types", + "hex", + "once_cell", + "regex", + "serde", + "serde_json", + "sha3", + "thiserror 1.0.69", + "uint", +] + +[[package]] +name = "ethbloom" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d4b5885b6aa2fe5e8b9329fb8d232bf739e434e6b87347c63bdd00c120f60" +dependencies = [ + "crunchy", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "tiny-keccak", +] + +[[package]] +name = "ethereum-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02d215cbf040552efcbe99a38372fe80ab9d00268e20012b79fcd0f073edd8ee" +dependencies = [ + "ethbloom", + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "primitive-types", + "scale-info", + "uint", +] + +[[package]] +name = "ethers" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0" +dependencies = [ + "ethers-addressbook", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-middleware", + "ethers-providers", + "ethers-signers", + "ethers-solc", +] + +[[package]] +name = "ethers-addressbook" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5495afd16b4faa556c3bba1f21b98b4983e53c1755022377051a975c3b021759" +dependencies = [ + "ethers-core", + "once_cell", + "serde", + "serde_json", +] + +[[package]] +name = "ethers-contract" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fceafa3578c836eeb874af87abacfb041f92b4da0a78a5edd042564b8ecdaaa" +dependencies = [ + "const-hex", + "ethers-contract-abigen", + "ethers-contract-derive", + "ethers-core", + "ethers-providers", + "futures-util", + "once_cell", + "pin-project", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "ethers-contract-abigen" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04ba01fbc2331a38c429eb95d4a570166781f14290ef9fdb144278a90b5a739b" +dependencies = [ + "Inflector", + "const-hex", + "dunce", + "ethers-core", + "ethers-etherscan", + "eyre", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "reqwest 0.11.27", + "serde", + "serde_json", + "syn 2.0.101", + "toml", + "walkdir", +] + +[[package]] +name = "ethers-contract-derive" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87689dcabc0051cde10caaade298f9e9093d65f6125c14575db3fd8c669a168f" +dependencies = [ + "Inflector", + "const-hex", + "ethers-contract-abigen", + "ethers-core", + "proc-macro2", + "quote", + "serde_json", + "syn 2.0.101", +] + +[[package]] +name = "ethers-core" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" +dependencies = [ + "arrayvec", + "bytes", + "cargo_metadata", + "chrono", + "const-hex", + "elliptic-curve", + "ethabi", + "generic-array", + "k256", + "num_enum", + "once_cell", + "open-fastrlp", + "rand 0.8.5", + "rlp", + "serde", + "serde_json", + "strum 0.26.3", + "syn 2.0.101", + "tempfile", + "thiserror 1.0.69", + "tiny-keccak", + "unicode-xid", +] + +[[package]] +name = "ethers-etherscan" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79e5973c26d4baf0ce55520bd732314328cabe53193286671b47144145b9649" +dependencies = [ + "chrono", + "ethers-core", + "reqwest 0.11.27", + "semver 1.0.26", + "serde", + "serde_json", + "thiserror 1.0.69", + "tracing", +] + +[[package]] +name = "ethers-middleware" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48f9fdf09aec667c099909d91908d5eaf9be1bd0e2500ba4172c1d28bfaa43de" +dependencies = [ + "async-trait", + "auto_impl", + "ethers-contract", + "ethers-core", + "ethers-etherscan", + "ethers-providers", + "ethers-signers", + "futures-channel", + "futures-locks", + "futures-util", + "instant", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tracing", + "tracing-futures", + "url", +] + +[[package]] +name = "ethers-providers" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6434c9a33891f1effc9c75472e12666db2fa5a0fec4b29af6221680a6fe83ab2" +dependencies = [ + "async-trait", + "auto_impl", + "base64 0.21.7", + "bytes", + "const-hex", + "enr", + "ethers-core", + "futures-core", + "futures-timer", + "futures-util", + "hashers", + "http 0.2.12", + "instant", + "jsonwebtoken", + "once_cell", + "pin-project", + "reqwest 0.11.27", + "serde", + "serde_json", + "thiserror 1.0.69", + "tokio", + "tokio-tungstenite", + "tracing", + "tracing-futures", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "ws_stream_wasm", +] + +[[package]] +name = "ethers-signers" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" +dependencies = [ + "async-trait", + "coins-bip32", + "coins-bip39", + "const-hex", + "elliptic-curve", + "eth-keystore", + "ethers-core", + "rand 0.8.5", + "sha2", + "thiserror 1.0.69", + "tracing", +] + +[[package]] +name = "ethers-solc" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66244a771d9163282646dbeffe0e6eca4dda4146b6498644e678ac6089b11edd" +dependencies = [ + "cfg-if", + "const-hex", + "dirs", + "dunce", + "ethers-core", + "glob", + "home", + "md-5", + "num_cpus", + "once_cell", + "path-slash", + "rayon", + "regex", + "semver 1.0.26", + "serde", + "serde_json", + "solang-parser", + "svm-rs", + "thiserror 1.0.69", + "tiny-keccak", + "tokio", + "tracing", + "walkdir", + "yansi", +] + +[[package]] +name = "eyre" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" +dependencies = [ + "indenter", + "once_cell", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "fastrlp" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "fastrlp" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", +] + +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "fixed-hash" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" +dependencies = [ + "byteorder", + "rand 0.8.5", + "rustc-hex", + "static_assertions", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-locks" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45ec6fe3675af967e67c5536c0b9d44e34e6c52f86bedc4ea49c5317b8e94d06" +dependencies = [ + "futures-channel", + "futures-task", +] + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" +dependencies = [ + "gloo-timers", + "send_wrapper 0.4.0", +] + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "futures-utils-wasm" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42012b0f064e01aa58b545fe3727f90f7dd4020f4a3ea735b50344965f5a57e9" + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", + "zeroize", +] + +[[package]] +name = "getrandom" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + +[[package]] +name = "gimli" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + +[[package]] +name = "glob" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" + +[[package]] +name = "gloo-timers" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "hashbrown" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", + "serde", +] + +[[package]] +name = "hashers" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2bca93b15ea5a746f220e56587f71e73c6165eab783df9e26590069953e3c30" +dependencies = [ + "fxhash", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.3.1", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http 1.3.1", + "http-body 1.0.1", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +dependencies = [ + "futures-util", + "http 0.2.12", + "hyper 0.14.32", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "hyper-tls" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" +dependencies = [ + "bytes", + "http-body-util", + "hyper 1.6.0", + "hyper-util", + "native-tls", + "tokio", + "tokio-native-tls", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "hyper 1.6.0", + "libc", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "icu_collections" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" + +[[package]] +name = "icu_properties" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "potential_utf", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" + +[[package]] +name = "icu_provider" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +dependencies = [ + "displaydoc", + "icu_locale_core", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "idna" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "impl-codec" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f" +dependencies = [ + "parity-scale-codec", +] + +[[package]] +name = "impl-rlp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +dependencies = [ + "rlp", +] + +[[package]] +name = "impl-serde" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc88fc67028ae3db0c853baa36269d398d5f45b6982f95549ff5def78c935cd" +dependencies = [ + "serde", +] + +[[package]] +name = "impl-trait-for-tuples" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "indenter" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" + +[[package]] +name = "indexmap" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +dependencies = [ + "equivalent", + "hashbrown 0.15.3", + "serde", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "jobserver" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +dependencies = [ + "getrandom 0.3.3", + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "jsonwebtoken" +version = "8.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" +dependencies = [ + "base64 0.21.7", + "pem", + "ring 0.16.20", + "serde", + "serde_json", + "simple_asn1", +] + +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2", + "signature", +] + +[[package]] +name = "keccak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "keccak-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" +dependencies = [ + "digest 0.10.7", + "sha3-asm", +] + +[[package]] +name = "keccak-const" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d8d8ce877200136358e0bbff3a77965875db3af755a11e1fa6b1b3e2df13ea" + +[[package]] +name = "lalrpop" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" +dependencies = [ + "ascii-canvas", + "bit-set 0.5.3", + "ena", + "itertools 0.11.0", + "lalrpop-util", + "petgraph", + "regex", + "regex-syntax", + "string_cache", + "term", + "tiny-keccak", + "unicode-xid", + "walkdir", +] + +[[package]] +name = "lalrpop-util" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.9.1", + "libc", +] + +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + +[[package]] +name = "litemap" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" + +[[package]] +name = "lru" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" +dependencies = [ + "hashbrown 0.15.3", +] + +[[package]] +name = "macro-string" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest 0.10.7", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mini-alloc" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b56630dba7f5c3ac7e37caa66d2388197fc2d4742b216104cba14c16dce55bf" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +dependencies = [ + "adler2", +] + +[[package]] +name = "mio" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.59.0", +] + +[[package]] +name = "native-tls" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "nybbles" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8983bb634df7248924ee0c4c3a749609b5abcb082c28fffe3254b3eb3602b307" +dependencies = [ + "const-hex", + "serde", + "smallvec", +] + +[[package]] +name = "object" +version = "0.36.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + +[[package]] +name = "open-fastrlp" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" +dependencies = [ + "arrayvec", + "auto_impl", + "bytes", + "ethereum-types", + "open-fastrlp-derive", +] + +[[package]] +name = "open-fastrlp-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "003b2be5c6c53c1cfeb0a238b8a1c3915cd410feb684457a36c10038f764bb1c" +dependencies = [ + "bytes", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "openssl" +version = "0.10.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +dependencies = [ + "bitflags 2.9.1", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "openssl-probe" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" + +[[package]] +name = "openssl-sys" +version = "0.9.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "parity-scale-codec" +version = "3.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799781ae679d79a948e13d4824a40970bfa500058d245760dd857301059810fa" +dependencies = [ + "arrayvec", + "bitvec", + "byte-slice-cast", + "const_format", + "impl-trait-for-tuples", + "parity-scale-codec-derive", + "rustversion", + "serde", +] + +[[package]] +name = "parity-scale-codec-derive" +version = "3.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34b4653168b563151153c9e4c08ebed57fb8262bebfa79711552fa983c623e7a" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "path-slash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.7", + "hmac", + "password-hash", + "sha2", +] + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest 0.10.7", + "hmac", +] + +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" +dependencies = [ + "memchr", + "thiserror 2.0.12", + "ucd-trie", +] + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "pharos" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +dependencies = [ + "futures", + "rustc_version 0.4.1", +] + +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_macros", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" +dependencies = [ + "phf_generator", + "phf_shared", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" +dependencies = [ + "proc-macro2", + "syn 2.0.101", +] + +[[package]] +name = "primitive-types" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" +dependencies = [ + "fixed-hash", + "impl-codec", + "impl-rlp", + "impl-serde", + "scale-info", + "uint", +] + +[[package]] +name = "proc-macro-crate" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" +dependencies = [ + "toml_edit", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proptest" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" +dependencies = [ + "bit-set 0.8.0", + "bit-vec 0.8.0", + "bitflags 2.9.1", + "lazy_static", + "num-traits", + "rand 0.8.5", + "rand_chacha 0.3.1", + "rand_xorshift", + "regex-syntax", + "rusty-fork", + "tempfile", + "unarray", +] + +[[package]] +name = "quick-error" +version = "1.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", + "serde", +] + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.16", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", +] + +[[package]] +name = "rand_xorshift" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +dependencies = [ + "rand_core 0.6.4", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "rclite" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f528dfeba924f5fc67bb84a17fe043451d1b392758016ce2d9e9116649b0f35" +dependencies = [ + "branches", +] + +[[package]] +name = "redox_syscall" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.16", + "libredox", + "thiserror 1.0.69", +] + +[[package]] +name = "regex" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.32", + "hyper-rustls", + "ipnet", + "js-sys", + "log", + "mime", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", + "tokio", + "tokio-rustls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "winreg", +] + +[[package]] +name = "reqwest" +version = "0.12.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "http-body-util", + "hyper 1.6.0", + "hyper-tls", + "hyper-util", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 2.2.0", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 1.0.2", + "tokio", + "tokio-native-tls", + "tower", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-registry", +] + +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted 0.7.1", + "web-sys", + "winapi", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.16", + "libc", + "untrusted 0.9.0", + "windows-sys 0.52.0", +] + +[[package]] +name = "ripemd" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "rlp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb919243f34364b6bd2fc10ef797edbfa75f33c252e7998527479c6d6b47e1ec" +dependencies = [ + "bytes", + "rlp-derive", + "rustc-hex", +] + +[[package]] +name = "rlp-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33d7b2abe0c340d8797fe2907d3f20d3b5ea5908683618bfe80df7f621f672a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "ruint" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11256b5fe8c68f56ac6f39ef0720e592f33d2367a4782740d9c9142e889c7fb4" +dependencies = [ + "alloy-rlp", + "ark-ff 0.3.0", + "ark-ff 0.4.2", + "bytes", + "fastrlp 0.3.1", + "fastrlp 0.4.0", + "num-bigint", + "num-integer", + "num-traits", + "parity-scale-codec", + "primitive-types", + "proptest", + "rand 0.8.5", + "rand 0.9.1", + "rlp", + "ruint-macro", + "serde", + "valuable", + "zeroize", +] + +[[package]] +name = "ruint-macro" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver 1.0.26", +] + +[[package]] +name = "rustix" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +dependencies = [ + "bitflags 2.9.1", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.59.0", +] + +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "log", + "ring 0.17.14", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.14", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" + +[[package]] +name = "rusty-fork" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" +dependencies = [ + "fnv", + "quick-error", + "tempfile", + "wait-timeout", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scale-info" +version = "2.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" +dependencies = [ + "cfg-if", + "derive_more", + "parity-scale-codec", + "scale-info-derive", +] + +[[package]] +name = "scale-info-derive" +version = "2.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "schannel" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scrypt" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45d" +dependencies = [ + "hmac", + "pbkdf2 0.11.0", + "salsa20", + "sha2", +] + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring 0.17.14", + "untrusted 0.9.0", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.9.1", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser 0.7.0", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser 0.10.3", +] + +[[package]] +name = "semver" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +dependencies = [ + "serde", +] + +[[package]] +name = "semver-parser" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" + +[[package]] +name = "semver-parser" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" +dependencies = [ + "pest", +] + +[[package]] +name = "send_wrapper" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" + +[[package]] +name = "send_wrapper" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + +[[package]] +name = "sha3" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" +dependencies = [ + "digest 0.10.7", + "keccak", +] + +[[package]] +name = "sha3-asm" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" +dependencies = [ + "cc", + "cfg-if", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signal-hook-registry" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + +[[package]] +name = "simple_asn1" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror 2.0.12", + "time", +] + +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "solang-parser" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c425ce1c59f4b154717592f0bdf4715c3a1d55058883622d3157e1f0908a5b26" +dependencies = [ + "itertools 0.11.0", + "lalrpop", + "lalrpop-util", + "phf", + "thiserror 1.0.69", + "unicode-xid", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared", + "precomputed-hash", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" +dependencies = [ + "strum_macros 0.26.4", +] + +[[package]] +name = "strum" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" +dependencies = [ + "strum_macros 0.27.1", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.101", +] + +[[package]] +name = "strum_macros" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.101", +] + +[[package]] +name = "stylus-core" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b96d0a4daa641fb5904cc3302c90b2d160f59c62aae7a19c2c6b94e28e3ab93e" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "cfg-if", + "dyn-clone", +] + +[[package]] +name = "stylus-hello-world" +version = "0.1.11" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "dotenv", + "ethers", + "eyre", + "hex", + "stylus-sdk", + "tokio", +] + +[[package]] +name = "stylus-proc" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c87cad1205aac3d46a3bb303ebe24976de3e88652d001a2e0e489b1e2bd6d0b9" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "cfg-if", + "convert_case", + "lazy_static", + "proc-macro-error", + "proc-macro2", + "quote", + "regex", + "sha3", + "syn 2.0.101", + "syn-solidity", + "trybuild", +] + +[[package]] +name = "stylus-sdk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38519923dae967837b90f00cd669b9d6df778ec1f0df849089f4dd456be96bf8" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "cfg-if", + "clap", + "derivative", + "hex", + "keccak-const", + "lazy_static", + "mini-alloc", + "rclite", + "regex", + "stylus-core", + "stylus-proc", + "stylus-test", +] + +[[package]] +name = "stylus-test" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abef8a75532dab6480d83577e47f4db429e7f0330825b3e167a3c9ddb363fd1f" +dependencies = [ + "alloy-primitives", + "alloy-provider", + "alloy-sol-types", + "stylus-core", + "tokio", + "url", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "svm-rs" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11297baafe5fa0c99d5722458eac6a5e25c01eb1b8e5cd137f54079093daa7a4" +dependencies = [ + "dirs", + "fs2", + "hex", + "once_cell", + "reqwest 0.11.27", + "semver 1.0.26", + "serde", + "serde_json", + "sha2", + "thiserror 1.0.69", + "url", + "zip", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn-solidity" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4560533fbd6914b94a8fb5cc803ed6801c3455668db3b810702c57612bac9412" +dependencies = [ + "paste", + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "target-triple" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" + +[[package]] +name = "tempfile" +version = "3.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +dependencies = [ + "fastrand", + "getrandom 0.3.3", + "once_cell", + "rustix", + "windows-sys 0.59.0", +] + +[[package]] +name = "term" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" +dependencies = [ + "dirs-next", + "rustversion", + "winapi", +] + +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +dependencies = [ + "thiserror-impl 2.0.12", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "threadpool" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" +dependencies = [ + "num_cpus", +] + +[[package]] +name = "time" +version = "0.3.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" + +[[package]] +name = "time-macros" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tiny-keccak" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" +dependencies = [ + "crunchy", +] + +[[package]] +name = "tinystr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.45.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.52.0", +] + +[[package]] +name = "tokio-macros" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" +dependencies = [ + "futures-util", + "log", + "rustls", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki-roots", +] + +[[package]] +name = "tokio-util" +version = "0.7.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "toml_write", + "winnow", +] + +[[package]] +name = "toml_write" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" + +[[package]] +name = "tower" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 1.0.2", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.41" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "tracing-core" +version = "0.1.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "trybuild" +version = "1.0.105" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c9bf9513a2f4aeef5fdac8677d7d349c79fdbcc03b9c86da6e9d254f1e43be2" +dependencies = [ + "glob", + "serde", + "serde_derive", + "serde_json", + "target-triple", + "termcolor", + "toml", +] + +[[package]] +name = "tungstenite" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 0.2.12", + "httparse", + "log", + "rand 0.8.5", + "rustls", + "sha1", + "thiserror 1.0.69", + "url", + "utf-8", +] + +[[package]] +name = "typenum" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +[[package]] +name = "ucd-trie" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" + +[[package]] +name = "uint" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom 0.2.16", + "serde", +] + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "wait-timeout" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" +dependencies = [ + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + +[[package]] +name = "wasm-bindgen" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +dependencies = [ + "bumpalo", + "log", + "proc-macro2", + "quote", + "syn 2.0.101", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +dependencies = [ + "cfg-if", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasmtimer" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23" +dependencies = [ + "futures", + "js-sys", + "parking_lot", + "pin-utils", + "slab", + "wasm-bindgen", +] + +[[package]] +name = "web-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" + +[[package]] +name = "windows-registry" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.53.0", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +dependencies = [ + "windows_aarch64_gnullvm 0.53.0", + "windows_aarch64_msvc 0.53.0", + "windows_i686_gnu 0.53.0", + "windows_i686_gnullvm 0.53.0", + "windows_i686_msvc 0.53.0", + "windows_x86_64_gnu 0.53.0", + "windows_x86_64_gnullvm 0.53.0", + "windows_x86_64_msvc 0.53.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + +[[package]] +name = "winnow" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.1", +] + +[[package]] +name = "writeable" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" + +[[package]] +name = "ws_stream_wasm" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +dependencies = [ + "async_io_stream", + "futures", + "js-sys", + "log", + "pharos", + "rustc_version 0.4.1", + "send_wrapper 0.6.0", + "thiserror 1.0.69", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + +[[package]] +name = "yoke" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.101", +] + +[[package]] +name = "zip" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq", + "crc32fast", + "crossbeam-utils", + "flate2", + "hmac", + "pbkdf2 0.11.0", + "sha1", + "time", + "zstd", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.15+zstd.1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..0ea3d89 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,46 @@ +[package] +name = "stylus-hello-world" +version = "0.1.11" +edition = "2021" +license = "MIT OR Apache-2.0" +homepage = "https://github.com/OffchainLabs/stylus-hello-world" +repository = "https://github.com/OffchainLabs/stylus-hello-world" +keywords = ["arbitrum", "ethereum", "stylus", "alloy"] +description = "Stylus hello world example" + +[dependencies] +alloy-primitives = "=0.8.20" +alloy-sol-types = "=0.8.20" +stylus-sdk = "0.9.0" +hex = { version = "0.4", default-features = false } + +[dev-dependencies] +alloy-primitives = { version = "=0.8.20", features = ["sha3-keccak"] } +tokio = { version = "1.12.0", features = ["full"] } +ethers = "2.0" +eyre = "0.6.8" +stylus-sdk = { version = "0.9.0", features = ["stylus-test"] } +dotenv = "0.15.0" + +[features] +default = ["mini-alloc"] +export-abi = ["stylus-sdk/export-abi"] +debug = ["stylus-sdk/debug"] +mini-alloc = ["stylus-sdk/mini-alloc"] + +[[bin]] +name = "stylus-hello-world" +path = "src/main.rs" + +[lib] +crate-type = ["lib", "cdylib"] + +[profile.release] +codegen-units = 1 +strip = true +lto = true +panic = "abort" + +# If you need to reduce the binary size, it is advisable to try other +# optimization levels, such as "s" and "z" +opt-level = 3 diff --git a/README.md b/README.md new file mode 100644 index 0000000..31524e3 --- /dev/null +++ b/README.md @@ -0,0 +1,214 @@ +![Image](header.png) + +# Stylus Hello World + +Project starter template for writing Arbitrum Stylus programs in Rust using the [stylus-sdk](https://github.com/OffchainLabs/stylus-sdk-rs). It includes a Rust implementation of a basic counter Ethereum smart contract: + +```js +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +contract Counter { + uint256 public number; + + function setNumber(uint256 newNumber) public { + number = newNumber; + } + + function increment() public { + number++; + } +} +``` + +To set up more minimal example that still uses the Stylus SDK, use `cargo stylus new --minimal ` under [OffchainLabs/cargo-stylus](https://github.com/OffchainLabs/cargo-stylus). + +## Quick Start + +Install [Rust](https://www.rust-lang.org/tools/install), and then install the Stylus CLI tool with Cargo + +```bash +cargo install --force cargo-stylus cargo-stylus-check +``` + +Add the `wasm32-unknown-unknown` build target to your Rust compiler: + +``` +rustup target add wasm32-unknown-unknown +``` + +You should now have it available as a Cargo subcommand: + +```bash +cargo stylus --help +``` + +Then, clone the template: + +``` +git clone https://github.com/OffchainLabs/stylus-hello-world && cd stylus-hello-world +``` + +### Testnet Information + +All testnet information, including faucets and RPC endpoints can be found [here](https://docs.arbitrum.io/stylus/reference/testnet-information). + +### ABI Export + +You can export the Solidity ABI for your program by using the `cargo stylus` tool as follows: + +```bash +cargo stylus export-abi +``` + +which outputs: + +```js +/** + * This file was automatically generated by Stylus and represents a Rust program. + * For more information, please see [The Stylus SDK](https://github.com/OffchainLabs/stylus-sdk-rs). + */ + +// SPDX-License-Identifier: MIT-OR-APACHE-2.0 +pragma solidity ^0.8.23; + +interface ICounter { + function number() external view returns (uint256); + + function setNumber(uint256 new_number) external; + + function mulNumber(uint256 new_number) external; + + function addNumber(uint256 new_number) external; + + function increment() external; +} +``` + +Exporting ABIs uses a feature that is enabled by default in your Cargo.toml: + +```toml +[features] +export-abi = ["stylus-sdk/export-abi"] +``` + +## Deploying + +You can use the `cargo stylus` command to also deploy your program to the Stylus testnet. We can use the tool to first check +our program compiles to valid WASM for Stylus and will succeed a deployment onchain without transacting. By default, this will use the Stylus testnet public RPC endpoint. See here for [Stylus testnet information](https://docs.arbitrum.io/stylus/reference/testnet-information) + +```bash +cargo stylus check +``` + +If successful, you should see: + +```bash +Finished release [optimized] target(s) in 1.88s +Reading WASM file at stylus-hello-world/target/wasm32-unknown-unknown/release/stylus-hello-world.wasm +Compressed WASM size: 8.9 KB +Program succeeded Stylus onchain activation checks with Stylus version: 1 +``` + +Next, we can estimate the gas costs to deploy and activate our program before we send our transaction. Check out the [cargo-stylus](https://github.com/OffchainLabs/cargo-stylus) README to see the different wallet options for this step: + +```bash +cargo stylus deploy \ + --private-key-path= \ + --estimate-gas +``` + +You will then see the estimated gas cost for deploying before transacting: + +```bash +Deploying program to address e43a32b54e48c7ec0d3d9ed2d628783c23d65020 +Estimated gas for deployment: 1874876 +``` + +The above only estimates gas for the deployment tx by default. To estimate gas for activation, first deploy your program using `--mode=deploy-only`, and then run `cargo stylus deploy` with the `--estimate-gas` flag, `--mode=activate-only`, and specify `--activate-program-address`. + + +Here's how to deploy: + +```bash +cargo stylus deploy \ + --private-key-path= +``` + +The CLI will send 2 transactions to deploy and activate your program onchain. + +```bash +Compressed WASM size: 8.9 KB +Deploying program to address 0x457b1ba688e9854bdbed2f473f7510c476a3da09 +Estimated gas: 1973450 +Submitting tx... +Confirmed tx 0x42db…7311, gas used 1973450 +Activating program at address 0x457b1ba688e9854bdbed2f473f7510c476a3da09 +Estimated gas: 14044638 +Submitting tx... +Confirmed tx 0x0bdb…3307, gas used 14044638 +``` + +Once both steps are successful, you can interact with your program as you would with any Ethereum smart contract. + +## Calling Your Program + +This template includes an example of how to call and transact with your program in Rust using [ethers-rs](https://github.com/gakonst/ethers-rs) under the `examples/counter.rs`. However, your programs are also Ethereum ABI equivalent if using the Stylus SDK. **They can be called and transacted with using any other Ethereum tooling.** + +By using the program address from your deployment step above, and your wallet, you can attempt to call the counter program and increase its value in storage: + +```rs +abigen!( + Counter, + r#"[ + function number() external view returns (uint256) + function setNumber(uint256 number) external + function increment() external + ]"# +); +let counter = Counter::new(address, client); +let num = counter.number().call().await; +println!("Counter number value = {:?}", num); + +let _ = counter.increment().send().await?.await?; +println!("Successfully incremented counter via a tx"); + +let num = counter.number().call().await; +println!("New counter number value = {:?}", num); +``` + +Before running, set the following env vars or place them in a `.env` file (see: [.env.example](.env.example)) in this project: + +``` +RPC_URL=https://sepolia-rollup.arbitrum.io/rpc +STYLUS_CONTRACT_ADDRESS= +PRIV_KEY_PATH= +``` + +Next, run: + +``` +cargo run --example counter --target= +``` + +Where you can find `YOUR_ARCHITECTURE` by running `rustc -vV | grep host`. For M1 Apple computers, for example, this is `aarch64-apple-darwin` and for most Linux x86 it is `x86_64-unknown-linux-gnu` + +## Build Options + +By default, the cargo stylus tool will build your project for WASM using sensible optimizations, but you can control how this gets compiled by seeing the full README for [cargo stylus](https://github.com/OffchainLabs/cargo-stylus). If you wish to optimize the size of your compiled WASM, see the different options available [here](https://github.com/OffchainLabs/cargo-stylus/blob/main/OPTIMIZING_BINARIES.md). + +## Peeking Under the Hood + +The [stylus-sdk](https://github.com/OffchainLabs/stylus-sdk-rs) contains many features for writing Stylus programs in Rust. It also provides helpful macros to make the experience for Solidity developers easier. These macros expand your code into pure Rust code that can then be compiled to WASM. If you want to see what the `stylus-hello-world` boilerplate expands into, you can use `cargo expand` to see the pure Rust code that will be deployed onchain. + +First, run `cargo install cargo-expand` if you don't have the subcommand already, then: + +``` +cargo expand --all-features --release --target= +``` + +Where you can find `YOUR_ARCHITECTURE` by running `rustc -vV | grep host`. For M1 Apple computers, for example, this is `aarch64-apple-darwin`. + +## License + +This project is fully open source, including an Apache-2.0 or MIT license at your choosing under your own copyright. diff --git a/examples/counter.rs b/examples/counter.rs new file mode 100644 index 0000000..c561405 --- /dev/null +++ b/examples/counter.rs @@ -0,0 +1,78 @@ +//! Example on how to interact with a deployed `stylus-hello-world` contract using defaults. +//! This example uses ethers-rs to instantiate the contract using a Solidity ABI. +//! Then, it attempts to check the current counter value, increment it via a tx, +//! and check the value again. The deployed contract is fully written in Rust and compiled to WASM +//! but with Stylus, it is accessible just as a normal Solidity smart contract is via an ABI. + +use dotenv::dotenv; +use ethers::{ + middleware::SignerMiddleware, + prelude::abigen, + providers::{Http, Middleware, Provider}, + signers::{LocalWallet, Signer}, + types::Address, +}; +use eyre::eyre; +use std::io::{BufRead, BufReader}; +use std::str::FromStr; +use std::sync::Arc; + +/// Your private key file path. +const PRIV_KEY_PATH: &str = "PRIV_KEY_PATH"; + +/// Stylus RPC endpoint url. +const RPC_URL: &str = "RPC_URL"; + +/// Deployed pragram address. +const STYLUS_CONTRACT_ADDRESS: &str = "STYLUS_CONTRACT_ADDRESS"; + +#[tokio::main] +async fn main() -> eyre::Result<()> { + dotenv().ok(); + let priv_key_path = + std::env::var(PRIV_KEY_PATH).map_err(|_| eyre!("No {} env var set", PRIV_KEY_PATH))?; + let rpc_url = std::env::var(RPC_URL).map_err(|_| eyre!("No {} env var set", RPC_URL))?; + let contract_address = std::env::var(STYLUS_CONTRACT_ADDRESS) + .map_err(|_| eyre!("No {} env var set", STYLUS_CONTRACT_ADDRESS))?; + abigen!( + Counter, + r#"[ + function number() external view returns (uint256) + function setNumber(uint256 number) external + function increment() external + ]"# + ); + + let provider = Provider::::try_from(rpc_url)?; + let address: Address = contract_address.parse()?; + + let privkey = read_secret_from_file(&priv_key_path)?; + let wallet = LocalWallet::from_str(&privkey)?; + let chain_id = provider.get_chainid().await?.as_u64(); + let client = Arc::new(SignerMiddleware::new( + provider, + wallet.clone().with_chain_id(chain_id), + )); + + let counter = Counter::new(address, client); + let num = counter.number().call().await; + println!("Counter number value = {:?}", num); + + let pending = counter.increment(); + if let Some(receipt) = pending.send().await?.await? { + println!("Receipt = {:?}", receipt); + } + println!("Successfully incremented counter via a tx"); + + let num = counter.number().call().await; + println!("New counter number value = {:?}", num); + Ok(()) +} + +fn read_secret_from_file(fpath: &str) -> eyre::Result { + let f = std::fs::File::open(fpath)?; + let mut buf_reader = BufReader::new(f); + let mut secret = String::new(); + buf_reader.read_line(&mut secret)?; + Ok(secret.trim().to_string()) +} diff --git a/header.png b/header.png new file mode 100644 index 0000000000000000000000000000000000000000..dd12f4675db336da39b0f36ce92b9e9876eead50 GIT binary patch literal 335346 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 z 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 z zos|opTCqcEzS!4c|EpAi_52$WMKZE0YnBb?O|8J8aROQQ&E+|j`?L&-ycm7qP!NxO!&%O#gl4vPV_(ttArPw;dnH{W$}bJJ;&)zO)6zJ{dug?-)q9 zujbqgl9_OL9e}Y_cpg6=4y%Kh_c*_l-va+Lyr`v}2J$@CqP7R3v-ecw3lqSoWEpL? zJ!LUXSOZqI)YY}mxoN{J;66mBP3nv$#~nOoXF#;X64S*{%!Vl;7wjrtD7W`aENKOO zv5X1IFP|hj%aftjY1AG=VtWUV32`YxDr#mOohf3dSjQVz*1vi1Vh{$xBhWdx$T4#6 zzQ!dAc|qXSj?X%PIR`()WfM}r>Z+K@27eHoJVXWWK6G#t2pZ|1T{owX{5MKMq*}fP zc#MK9YaHvfW1hV${js|RhgRW0)POV4zRtaxT1CIgQ2-8Snj2LG&fiWZ8&UF#{%qKn z&#^oS(uJtNZf1upI}f(1AN6nlWs?370&l~mmOz{wU-E~Giea|T*25=ag46chAcdWR zNleK21Q=G8kA1G%!RC7}ZYdRzpK@aV7r&0C-?z)?1C=U52wklGBx%7C(=1!P3rBWY zE|8(~QQ$Gs&s-nU1CJ3BPv&Xm!1KD*K#p4u?JIyQfFqk+j`Y_Gp2V#A0K{l-K_2=m zR7zn3X#>24KSToGBC8uTw{!*4ne=I;FNRp~0GQr#BHJ)uxn24$_xuv*%cAyTia=ix6`}Z!i90L^SyP!G& zIj{v?-mlxbk_GA|=VGk9C;-`S!otF0GcB}aO`%*ssaS+Fmbvur(eWr#fgWg-sw{hy zWr6@t!TR~~F1Z-VWh9FAPN=oF^kDOSB+s*K3D31ZC4cc8}c1}m*4Nbb@Zf9=^nDpKz~ z?7>n&$~Q-^M04rnBaYoe=@(jPY>ZNtT+&yHJ>ERIn0O~* z$e7T~!F>F_PeMx+5CK_Wj%JrE=#V|}Oz8Fd_B2L9su#|th_n3q{OHBnC`Je4v_2eg z?QOuk6=ZzE)j0mYyk|uRzSFMz;+MA!fPj4Xe)ouE_{S48Qb?vv(*?>gsGA!X03xHZ z#1D@Xl;4Ol5-NS(6DQKt49MxWu+cGPUVGkq{mAXqiRJErS#%cWn1`mfc;8A$D$MRJ zTXh`|M5;$fa-(OfINe`4Xi38InO_f5_OZ&xPEf3UE+0capcqH)%FVt9+-m&~ zKj%+8C>v03rM7pT47G2vx*Mgw@{uu=jcaxt@_bt`mYdr0-DYtPV8$BP6;_nNHT^gA z$$Rt{?NmAl%comkK6?wFgS~HX9BvJL_=C~O@ghvK=)J}#;0pt)(63Yi46dY6#nCk* zVXT~#V1fdp5*PnC7rfL~aC$O~%kB2y(NJTz!WzNfec7{#&!*u=uD8O7H&%3NX zRMFS-`I*Hs3;R@l@d`zcRp=k08=N$fcu&ko<*0v6IH3OsRSWY^d$2|MSNWgVFkQCT zLT{|D?oGv3tRP+Y*naJpNiOjU0Q0cZfA^^@Os%v`L*C zC-+d}G9C~Sr)CxiP9V&XV|yvhzQ4}2AilUkPipy0URcu78k>DUGR~I`Yiz5oVS27V7M+j4s$s`}}9IT(jfXrXmF#TgW>M;M@-|#ui zPF7bRLAIuk@w-e7yqvPs=mhQ!SmdZ9#&pZ%Vt`?}1{^(xm`VU-{J>fv!d^%aFb zDKep5t4pT6z6Hn8HJgKVmEdOgjA|2o1`eyJF_)sjYe-R%v0n2H6fY4~sopK|Fv`CRe5j!&~qUACEtg~z!hG_`%ps-`e zi~N*4H)>2Z5WFGNEdc2U(BuK~C-=zPJ-bNIOf+beu}05RbJ!=DsM})2b(O3|Zk`mO z)+f|J4qEz9j`F}BlG>ze^XoUF!|d`ZKgLlK28n~G>cNhGxlVm>9qZH&4D(Bd zT}I!pUmIXV-&%G+j{xtO@eiS)G$RV&IaiRM;TRG(BeV9!@mToA>=7lH5I9@_WPF4B zzfC0zG<9aKi=R{$!)(A3SJRHpW@a;AcD@b|MRR1KPrYd~`yN7of4gtQF-pswYCKA;lU;$ z4ghO;>jS!MKkdjdK^!DUr-xKsNE4Cj8op~AW_Q@6>B731kHa?kJfeU|R2}1dzo#ND zkl6zX_9*tJ0$I6j8^Qm|q&wHaJPGAL3<#>;w$uZce5-Tf7z^8>!*U%ZSOsYrK(N6l zM-&-gAjz}@?j~~mgD=#7(YW&AF8Th4HZ5PbFY5ZbM5uLgvtak8sTz;k%rb<*x54 zV7kW2;X4M@U=51FJ7R2z1QJDiIRT&L*`-_hplfB$vFLs_b9JW@qohLNt9r)raFMZI zLYkS~I;hSxQl*9SD=jm}etSn61b_^M9ie&4=L=tz?9uUihjM&3kdRo|bI4P?SXV3- zqC?MX-welIKN-3m_r!ciP1~`}yB!&AEa>J4jsQCYt*D{*5)?SD;OfvU8qH%Ch7Y^X z)N$n=HCJs5pB`>at_pru0#axur!=^x=?{F?a9Li#f!*4pu!94DlZ0apgwZNihz5`| zei5^iC@#Kjj8dme-^a&Ex~k8^7zPCb@)6l;25CnB71}9bUK2V>{Ng`*J(6MYA#3 zm2>TfEoj%;+~E1f-I#HZiaF|#iEuyqWqa_Hc|kf3%G82W0&>>#AI9I|3&%!lzq+p0 zSOZx>guxH*b+Q16`C9Cmp$mIY<=*^Po&@X<5+sx_Q&LPIF97P-GM6{Jfe%o`a6oUg zQpZ?|6WAhJg!ksbe2jrU|6|O_D3rlsFjig%zVZ19M*?ePrAbhZFDrFVwlz{nzdnim zHnM9g6p9=%8p&`ZmSeO2o+^YS8%Eq)U1D7#w8cMG(px)z9=rMzT%g_=jQ2?gTle3Y zwVKR6wrxJ>#(f^9V!xwd`Wk;@q#X#{;=9s$yrW&*jE^q&ynxGbTrq<_pGWan<# z8DN{4x15+TD3>E0r$xoC7CNw44 z5uEO`55Kg)uhxhxqo1JRNsZe2JGzJl_|>4~1az!j=U_EI^Q#z9>f4{ZsPyCIFHBj=JeM&90UJOIrZWu4)1voF@S31A=vcVUvs02mt_x0x|9V0c4{ec z2VkcykCIKxAG2Iy5OF8AY-bAF1g_r=&0tAy4Rb0Yxf#Sn%1YMmfj=bS zoo5fgA5aVkX`2H~{>`aqMz$HxGybRUnjyAO@w(sbnsVJJm=)$HU5D1Z^8ZQCG8ds! z&ghPu6W5u8JAd8c4Xl7OU6S_`Kg=h(2a5Cx_?|lubd?Po&y$BQl(Ky8LSq?lQ4O)M zw&(Td9=YIl0>v|c*$Xy>9;4s-z|7bUu9Yc$!{RtV><4hVZG4= zaW#QS>9LY=_gX{p_JsYk0qHiY@W%>fb1-jU6LkEz2S$EC&v8afx0B%I632_EEuRZ; z>in-(Prtsi68Zr*#9A;Iw2f$iwh^;LdSQhB>YUJ*35VaWb*AlrP$kXPvgA=o7OhS? zKxa=7AeY>xcG5{EL3GjE1c3N}(MvAg`q1*flO& zVKQtaJW04t6i~O8kgnG=|7Vc}=)1e&he0oX_~Yv0Xn_vZH;R8{AIqx~&Fwl|mYBOx zj{Pj+(oa|VKA-Ba5GsLjzc0hslDXGzJ}vx_HI%a_B>kf%7=s5(-e9<0aAt_8)^Z7s zvuBo2mHz`gUe}It^Q+Xt&!4Ywg9oZrobwE!E&BYHHbbN-iESKEm^r~g zT6(3eSQ$WVwnp+Uu=upI_&wnizNF<5Xrj6Gb5}qJbQl2t7G$KZ{VckoJMF}RjDHvw<`-s*oi81RB?e)*W^0RJ=R_Oiz$I4q9< z+vV;E5w<{fG$;rL#tjHLj}0yZhT!olCszyFWl*qZAYN|6Jfx=oE@uN+Sg;XmPB%xi z8-y`eVnf9!h^TrHnt?c5;1dVlBuaP@2>geApw-W_NGZa0j^;a5Pp#|K>l|Db0X-aA zoPp08#Ib6Dq;3YFjL+;S?h7|}XsGN9xO!TO3FuDL{^UfWxZ*0SM;|e}KfiA0s1aId z91qUaIFVt$^?bKFaG)yD5O-Yy&HqJ9l@9S1jhb9z&J78LK~&8wI{3HEPClgRnV%&; z?O7kQ`2q%_bn&8#?CgR`ZGWYPgys`Sm4O^xu*XZtakSCdKRnR3mq4qL6QhFHg;UPT zMXLvVCpHhMb9@fA)KMe183M5>d4X`*7XlzxMGOjYq&_HvAQqR$EU4nk7*H>#2z|<$ z5WJn>+cl4Wn?uZnSe`y8W!YVp*3V#L2tWQw?VvZnL;lUUgUNcjQe2KiVP})tkZuM5 zvgoNJF)ly-$3tp=sgTBB~&N6sKrFV@s~c2 z*n-vtGuDril-JW4(rt&QdvA_5a=1HijkVh1lxd)SWgU`A7KJ&2~-;9?&*hYNQ@9N9~ zNi>0QsjOHl!1Qy@5?J)>1C^k6rrt_Kb~^m$BHkO&Di=qHsNs`8QUC{92kN{Q(BgMH z+sA8>LX-dF6F_Llq6^RrNk!s^PUx?Eo9jF}pl>8LJh=N*&afk9r(Tv_p?K)ImO$t{ zoqe!|O4Dp3u&CZ^*fWnP=|@gFc&Y6}FRbml_55#5Wm@H20g@~;gWu{%};Qcd|b{$xsXkFuFRMS@Ww zf+t~*G2u?>r)+a+uuKks_Aa1%o#V2Y;gCn8NY~U^t`}oc-lmX;2+?b5RNm52xaA?v z>T@*Q_4y$lb?*rih{u%;+(2Wn6^PX8)CiW`2gemZoOZ|?H`$c8e)hZkSOE};d?@XlL9Ipo zUSI3r+mIfC@Azt_3o*}t6I;B~BB&>^YrFVDZU@xz&3F#0pn`+&Czz!f!Vcp=CEe}X z7jzHV%@Pz;9{bK8jG>>;jHo*U470K9P?iU(pTda+YqS9^N~0Dog}3v82XDx4nnn`l zNTLYd)@JNAoeGe!{0A6jUY{`r!+*HEE4Q;Ui=qIVIOx7%xSjwtY1~$p?ZcE4^1U-{W>NH-WvI_>nD85{rN2A4PG zd06Er!NsqJMWB`iUkHRxCU~O8YCPq^?~?>P5O#(X&`F+RCB|l zBUOG;>J>uqVfLMa_5oKA4)(x~n=BoAduMY161R<7J}O(mVlc}{BneTFv45v6P}%_I9D5(Bh-gtUH;N{vfxm$gCV)?# z$*zq7H3jvzc^SO!BE?_Se)b_$Q0c2{JCwOpzFd_Msjw`sTwC4z`}e9ksp>MRK_M(f zA|CsFgdE2PV}gZ+dmz~|=fFEqdk~;MbbjZ+HU(j!{Zzlx7+ZUzs=*0roCy-jMOG%L z#WgNa_gZCtg1%kewWPEDlN()g$38FCM_c+n0HMtP@7y`4nghK6sHtVFu`d$rgL}s@ zRW;HhfhhN?265R#CoLB+-F8g)pmRV`W8HUkNRwyW$;gx6c&>TW^)+#hA}enxh}n?5 z{EYUR2bh4@JP(@v;$`l{)nQUiYcgfjcmq-5HHl&j$;}QJb*U9)fN+<+{Ar$+JEd+E zPH(Kt*qMg;4(nhQBd+g{|2d4=V717IMzt6aRFw0GTjzc2vTHr!n9 z+Io(8Fm=1mo9hW-hoOc%w?mk#s+dDzG#4iTB_4*_U;vN3>ULNjpdIeTfoRVJ2r)Sv zAp@CY0?sPnwrgQc##^|c<#C5-gJ`AqpU*_ELM3PyG?}*4Tw=u%evjEUS%0cNg=wU#Y2ZA`#{H!BE zgZQX^vA{nQ*W5d?0w!TSKp>oQ8WvE+|9YaA)+jp3wEr^}1hmd;I&g9(4iAU8F8kVt z5xSai@Z$3tjXm!N>DD^SJV7~jydH3x94IrNd4YC$wGIkh>le zRZqhrw(R$S&fR@p*%38iw=%nEEITl#_~c^!Lk$Otdhdzy?wo+9 zJawBr3ZnflPNv6Df1{zj(0tkp8Ntn?0xr`)j>3C2`xAM#xU>+4>K>3M9|_x|%@3~hT+hx1ff!~C zJ7Nr%v1iZcIkDk+eysEC;Q!4j4|f)Ct*+E`Q|7TCD`dzYMKdB`_v4pB1nKPFhQthT zkDnK)m4f1I^U}272N|F|W?yLWFG?;JKP)%BDHBf~1?om{42Vu`{N7Xh;3M9{^bwY_ z?07*zKli@mg!6oe141EHOM7-}hvJtmhBiZ;TgtzmZHAj$J)jDv>!p$|Rmi~=D0!?^FSSFmQzhA~=rXFmJ8}jnW-50j>*#)%mcU8Mi2XF^t zSu$gNBau4U?&9~VcSZN{f!AEjC-+>Cuxa+2Hu%Mad`JWAyI3y-$T;ofZp2Z{)%hRf zSztXpF+WKZ-*wfM;pT-CMS@u!QL|G=K}|HI;9x;z)WM@K&@xRy$7z4%Qhr5#4 z5^8wmm>NpWPbG{TFUB3#djMqw-X097RV6r^E0%to9H4L4!S*Rg7ftN1WgD~(arn)c zb|097N5HB=vwhcnNqj!`W=ht)KF&TzPhjP>`slhny#6Mad*hUHh7v+BIxA{!Id=cU z_xyYH&7*DsByQ|@`Ei@X0aHMc__?BmG+88k0;=fkiTBqEK!CEUL6eDglUfn{ZS%rW z$G?*LO%3QKhJE!DY$;~Pqlh#<{DpsqON^t4-*e*yy}oj(SKISQO1J_G0`{?D?V)?a z=lxE#Kgwsvj0X=Mnlcm>p4d#UrkvP-f`Zow|KGj3Pe<{KoG@PWrW6@rBcjtI#Zn6t z3rBk1aO;0cLAP4U8i3+nsFLS+C7~Ha+p6}Pp*Q&Wa!^eM4u5BxNe@`v-70V6u6SXz z23PdtP3ceI^UXswYNF`>QNX*k2z|yq{MeA(Kom#?M%DFi7I#}f`YlRQsRwE!lh|Fi{r_Wnc7tbJCaGq;2B?A|wHq{3f#O z8~3}+#gkrOJ>1w2$zr4Sq84`EF+jZQ9W6rb=VuKiemuAdlXv|1lpeo0Q`oKilGY<7 z%PVnn#p+qXXyLZwaT3$2pEC4QcA<^kF=?3D?is@r52p?T$2$e(-J=%-ov|Ly+)d2K z8PSEp>~!gP4<0)Hr4!n>$_sa`twhxi|C8-TmK;|0w?g;ro-KZ&`_5 zR-k)x!`RT)@o9C}%f5KMILdJ_Skx!)ipcjDQu$_p-r+1MpyQsWIt9jgKd182)f~`z zZ1gKovUPV}{q`D`HgW75p^xIDssh3axpV~B%3i^wq|UD+i!rQe1qB6rM5~VOR;|%` z9as~U==Sqjd(O(lt3HeLh56`sc>F z3r>TYIi1Bn0UT5nWd1DR-t*W=o9dbIZD9I>lY(2l#g737{^(O2=g&xB$NCU( z#r($tAgIW_oB0TZ=EYA|M>&heWu0N1n~GH65EMx0rPEoEcZne#XV_9_EP0xnWpvj4 zb|b{@shcypT*jOeU30%c_*`sEgl7#@kUZz9DLT~Zw9+XRK5N#s-kP#2BNDr^uPKTN zYsC2n(+Hu9Q&wbW1Et#;e|wZLdQOq}wLUDA&2|cFEp-Ad9tfxzVhF*+c*R~yZs6lT zEbj@!yP-3UH7@w?9*|k5V~cvvzC~T}AQxW;zyJ8)iSJJu!m5W!8I2%I zC|pw$@T_ykb6)ghlFDwJoK4=7s#xOgJjYQvK9?B|9dEkQM5!g2*Zcm*YGJk$^#iZ; ztWk~O@NKRM(2ITP`~uUYhrYJs&Zsq={8N%5Buh?&}8=j8-tJI zoj)H>HD{nnd6zJzq@BPRDQbrT3-rdC6v~Oxx9CBz6<>@f@~q(Ql5_03|03nGgO~MM zUU`F(ue0oW(zMOI59>x|V9)KR4qt;^qS{1nVwEODy|z1C39(T>UKWnmMNv866Ack; zdo(qkTF^Bumm99=Hij2@!IrvHH${V(y2^<}Ht8JJqm(upjH)1iM!!paxzRYCp5Cc< z{0*wX-ER@H+7m0_#Q(HiR%VV3o+}ZQQuyh2AUPYxR$Nbb)8Ayx1IRSBWI`4r2M!R*W%5Z$ly;;B8*lYX4^znG_97?xh{N4UH z5seUMt_nTsQoR9d6Iygv>BFt(IP&&O~olUD`6KdE9h7oIt+) z^xM8alPAQ`a~4bHu6wpo*@5fH4bE;(@*_<#(6g&5Z-`xd>%>4??kPMu(-%Y7Y@nsX zbkxorE^^SmB=IYl*s~=STGn_vUHIl`D}Bz)in3~>eeuyJTf-QR%uA`^)UcZl_gctj z?v&TYibk-OAe4FsA7WyU+Usopr9^rj^1^-jZAh8aTA%slZZ-FmPxXwPfStPonf`9+ zt%X+2&6w@h16}-wWfM39iz_gTCG4t&j)wu8is`L}0#&-A<_GU?R-8P*C3cmxViQqV zs9HS{d`O4@FOoB<@3Pl!6LQD%jA47}`5BGi?lZpK`41B<+$)R-QiJ%Hm}F+{oT#3lFTDakdItvu=H(;&J%NR!Z}3~J7}k#*A+RM zimow1GdfPD+~~L*`|Dg#L1RWPC@RGx3?iJe8b(e$q?Nl@%r{djpG*Rg#_J}^$_ zj*`&-L(^AAwe>w+2X`q>aVQWdMT@)rph1fiDDEvT#VtsoxCPqc?ykk%wP^5A+}-WH z|97qDYqD~aoO{ol*?acvkttrT0?eRr2m6x!^7(RxW7!l?R-QVa4uNB=@e?11@G0Ug zS9=JJXD3oCu3C9OsCf19*Msw4R?ylMPKg~c`}4*%uP_Bj+r@EF~ZE%}udmKEtOb*3chqErqbc16lMSrG%y#wda*8+q;kbccuAENsECtX0kkd@mmx3 z-%fI}s0Wg3=fw8Mabl(k0V_4Ok-W?96Dz)@BJ&4Pz-1FjmOP!t*ssgV?f*p0*K`89 z(e#%o<*y_Z1DxVJV(9l;9_5A|8RgzK<+hr0+izVBe5Z!&{$jD7Uvjlyv#0ta{5PzP zoS(nT)6n|te`s)j;_LTv{Xj9*o@fyw?2qv}prZNI%zZaa*x;VYHq*p5(=hYRa4vyl znxXIZLaUu)#{=iX^HF2=&ss4_NuPB__XwfH`h8QvdcTLKn;OA}Ke0@^NniBnqe@>! z>O0iMu2?|(7z&ypK`Wx(;Cf^TIJj`tAROvmOOdR;$n8#LKHMpurqH`W>{JkKs zCeQRoU-G;8OW>;&AJFnoL2SQh@3Rx!^bp%pd~1PRpjwp93!Y=4_~E-B*Dt|XL+9hW z?~~So_GTUu_fGY}N(D7e>O1cx6&O$6u=L%%i3-bn_^w8Fb+?}Gae7vTqeFgqevx^r z6?m@Tp;D_O=vbk!bnaPB)lr*DP+vCFaP2?>n6?TV{QPOn!sdoemz|gP8+Bp}pTb#y z2={j%Iggo-*wqc-cGmAX1EI18F9<-3{Y~UiOoxPbfun6to}9d|!|fjbdQSA#7$1^R zfX@sjOcVY#AAAFB(KgEna^{siAR27MiZp*r4wuD39ZePe`A+B&v%!2o^?JErXCc{M z|Kl(PL^2&`r>2t%fy1_R9_FGI#CHZqQ>YdOw!V?q6aV${#e}UfzTF5dZ(F%68!%D? zi#5v*fobgalLk_*Rs`{>17;C6*v%<$%s3%02|09q^nE+|(>Nen!F%5*%|1R+g4ca6 zr|+;gH}E0cb3y;6pK4MqvTlg#DhpXGmA-~hf z#~h|{Ag2E-AmBN%LwEN%_82v6Dz$t;26(YlPn5tWHPbdEfn#To%za-5kId$VVpz}RNYS|hWy%m0MZf@(EYe3AVFGrs=0u!Im_ z5}abkp6;&XF`6ryYJ+rIE$qj1|u0> z$2$xW{4B1SZ8zJ>n{F4EB*8~F8Z8NQlZ+iEDGfU3)GBYMWJKT%`>+i)gc`dj><5z( zik2{Jn9d9#uEJG3m2E+ky}8~w`?Ew?e(mbj_2x@2sSatJznGh-&xkqo#nysH7}1>E z+B|2}MGH{=q3S|iWLPfPx|&s+-YMF1aRHm2p;-T|R-hi@X=}JsaUT)yA?Tm6y$-~v zvE^#Ao2Py_Zh;@{{|i+zf0H~AVm%2Ie+Yn{yFXBiMFSRU6^pBt?7R)dR}gpo)jdyv zy-oST^e$B~n_JV>dzDnUVHI=Q3F*-K#%DV^|B8uGVPkwT;I7F3Pvd2~y+)EfvqGC? z?E3Cg#|tu4 z#$)DVhb6pEt0l|qkCAY>HM>8zt*r5Rzf&(IM@;>QqaQ_6we}437~A_kV8YE*J*x6Q zuc2Ho#Tu5k9{Rt`r3zCe+IINe*o%4WJrPJCZ~#$ql`Oug&q=+Y+VytwJG&+QrG@8* zK98t+pB zBQk`5Fwanr~c%Xl1k;KR{G`gSKq!?ZU}gAzvv z#r)GMH~oRgB@@1A)KSv|Z9Rpt*OQxn=%;D7(RdusJlZtZ)5TQBD&iQ4(2Kz4GN0p} zv>^bLSqyOMcDkpgS#Y&ozn%{~ufH+!slE%N9)7_czsKXU`}ZPoUUj!Dfp~6cTs0$% z$DH7414e9!P_lQdcq~PaWw;TFdS2VPBm5uEdKj`fQu!OO-GXWetkCUxaJZ`eheq%v zztQ@<^biQq!5N7gG=nh}gkG?|`8@UGnHxVRjj%u9FP%fF^;jHA^&3wckg3FNp4XSH zB;jWaOU?FFKG|KLvhmd&yt)|LSi>(^v&QKBea9$_5O?>fjx|Rot%g3^$iCbljND+c zDxTc|`lsabCHPysooi`HY`;EE*Iy<(97YSX9>1$R_IyVRqZ_w8Y8uFB z?fCB9dTr&SkF03rb6gE1{_FHUx05LMFM?deE+)FI^`-Nmy+}a-CPY&z1r@3W~z6egtb&pnij+IpKH9*F(5m zl^8Tm^r@mg0>MRC6bdFEsruzKDLK>j&!zMbZ_k49g`kcvm`n4W1LC6SDDE?+7YnpL zxD%f}x1t5>Vx-|382kJl*VF=VVZ@cU--XrDE#Cu>FN~L=+_|p$--t{2cmMHTj>n03 zhE9kY`OHG-qK7pvknwQRAC77X))qkxyU;tNs6Yj3Z?NPI@iu3c8n-p{x#L*likN~< z;D!)=E6AU`e+hsAV@94^q}Qt$x$(Oiw3mV|%1HtGo{v}tFNnq4DW${w2-%hO+~R1i zHh2*`H*HXxtWVb?+BeGkOu@#K2}4s{eeM%(31hf*WgGn3W7Tw`iuTT(;Y(NQD3G^KhM>UXoTOz>Mgb%NM9xM?MMtdFuz1zYGP zP8RO}uXR*s%{N&3jv)xQp*$#)J8S{j_1Ci`%pSU@=q;d??{_oL076FG+(&aw%GLMg&_M~mTLYTFVPi}m0XSLBvd&}I|e*>?yy`%c{-7;#bIPNMRfmocvhi*}H zA!q0`E0_N8fc_t4pfpQ`@*rX{PHk%L=pq_?mg~#k#%1I^w{QsWiACtml>rE-?i$OS z$jK^G?53D~8c3Sz$Gs@%^4{U1^VvNW?0CJPS*G|*O8Y8@wBuf4Fcz|NnNG-i*`SAx z={Hu-ueZ*!Kj@%l7E$w5oo)T3C`;;uO9mWg+r9YRtUobEg;5##e|V65P+DW1^;epcx;%-_ zOKdWNt;ftRwy8%)kVSZwQ?A9wv46owgH36_0jlJ~Nx(Mtk@OIG+g7`Q;Q*^yK%s2o zv_pm4{p_nX2?eeG&9^O2Omok2BX1d0eD2tUCj?)&K#b@=MF9^oct5ROq^Cp_3cJqL zUv4AmIst>p@dMj!LH6LrRll&d+r=WoMhTYp1E4Oz_;6}PGh$iwh zH-S_xGOvt)J^5>ddF&!tp@82?2sW7tCs~-{98ff$+=vlLNoVNpHhr~G=&`2vP?i`A z)P2Ry@=P&}_JYDUm|`p0$Y$M0FP*`GJv*(_6J>tA+vWNTkm^2TO<_*qlgDlzw7+_Y zO%$@p>wUB(a`8HEQWR_XX|$MBoN=*I_;XPj**Le?X81rVs|}~I@{I2~CJqXM3qdjBi35*4S@WVxRe%{-giN7`fQrAn`Rwua-Ki5T2R2K?V`+fyTd zm}-xkAG$Eu$B>&puK@}*Z1%CkEg&todO8TDihuIEC~Y1 zXQ8EPzC#7FQ-j?lF0l;`^zp_L9I}x@y4Fmt!`}uC_{?SDU>F`*V`a;>IZGe4(nau6 zfXMbOg)^W_NNzk5j%2qxY`cN`mC|m+#1-JAVUcILxgUA{@!$CG8nICtO~$#Ok^2CW z-VT2D2l$DaKGrlLfq=m8(@Q5EKMlRdoBGI1fwO^o>C~(~7}?HzuW4s~@wHI$@t+ro zYb4+ITGgE>PY*<1PET*S_;eBNhszi6Ri9&i4HXIkb~?mjs@e7GU3FE%Vgx5t0A3WTGYT}%FMJ90*wJnF3)5EWl^4u8=T$xw3Y z;8O`|JLqCQbPZ?Dv4k~99_1yz-KjX0dG1WnKGYlYL2mU8*c`1L5R#?IN=IzGnq>H6 zlJ*D?BxtDwel~lgkFwZ*QmEytFpRiD z{%TQ)^WFXR!+e?5fqEyriw991Pj1p7$qW4ve zYVPH6T7Q5{nw%y8Ik+MC;D4M-Va9`S%j2Od<)PKbxdGM;!wLI})?er`cM}{f4T{gf z#YqMyBjg-1Mr_;1oew9D?ZpkZRS5q(;hotS^V6<{C$%!ur3ObjQ5(c!tidoji#^wm zg1^E|c9x-v1RMK%+!@+YrIU24E+^uL5v~(lX}y+V2_>;raPQeW@;MO~le5Rdo3#N+ zJHDnUY6w3*949%gU)4c~oS6ESASk$`uCp-NcD2iOf!EnVAj)g4?TE~M?E5J`uLOqw z_FeS<2yWXog7sE0doL4v>Du<|CN*E1pZ3aX)ta%w6+ixIjNq4@_--;B|0r(h{NTBu zx8r23u^^#S?vui$5&YDRHXa`El_FDRarzCO(CE0>9mz9;!7SQ17Q&#>DMnZ_%oUeQ z;z`+EYpf;o@SrOj1%ILdr$5t{^H0%V0f)AeRmc+5o{l_{MopPw`2B%^gN29q^$!&? z`_DtgEV_@=Pv=~|2@`l-L)bAKzsaV8YY*CIOX1cPckn^or_K#q_m^JenuXLe~eP=DL$346~+%&kvNtCwrE+y$t< z5)&UO-ZY6DE#Tiax4HDb8cc^`G7}0t(!B&Y2g(d~M6FU5gz>?IIsu zjmGI@10yF#oN%?BW23O9d4G2Tm#>{t2M>~Z6=*dfPdcx;@4SBrk`{qzg<%QdatUpW z#-lmh-eVYTYhzH)ppgZa?nnGR)<74E=M+Cdey-0xZq}Ur(3hbme)gt89k;uR5btQd z&cyGCw-sukMR~JxUex?z2qO(lF`t+3n};Xav3>%IkF_KJ@p_ie}t0k51U{vxqN#N z-H*>firiO92+`w?#&d+@+PT!7R@f9DK!hO%zt+sA7M>uEN{nRVOfet%E_dUzUk%#63Ri_4-&4TSnux=6RYL)uRH|cNtGk!PK zH%VVmiep`s@bja&+B;)(+G99Iw#L7wRJzqe@ra@A1}@i4Vlw%ALC*H~fe&}{16v1m ziE8V{uZL}KRy^p!i{M%pmaKA?c9WOU+Lku^T(TlC6KRSZtQ0#t`5u9Kh0)XjPKgV< zBTr1_W52_{CL7tC7=ROBpP418^{tI#rT7hddtQYrxNCk|2WE%Tk4hmrQ%%+`W(4f? zqLBKu z)&C0ljvlg|s8mUjdQ!rhEx|q4#Y_Wft{8HYxGc`sA$yu!i4_~oaNX6nSfGzUPWxav z@L$s*;mT$0Ykj(MCNo8a9?Vh6(I2H#KLpk6dChwpTCTmeOM-#2Pfi zRLQqbPV{n54A0&zx^xz7u+O34Jo8{ww#-S!qudKn} zJJ()ueBDtg@q+B0cMFwbeOLv;+G5HEi;2gpNv3jpyQO}A;H)q|`OPK_dxP=A>hae< zb-)llg}Ok^-ZN&!@a)yrFWJ51OsyPRSFpI#i=qgyd%l?es0((J_^}^vD`S$XZbeaP zDGF72c`6qqkfcro{3kVOAcUk|?ma#jzK5q=Zyk3;mr2|!VYuf(vR{ARQc9rzl#~c2 zFx7hcctwHIk*{?|81c`8y2D00RtE-vsl)veFRr zL6Mb8I;egy8jZ)B8riR#BUitF%kbcYB@k6>0k*1|4CT6ZoB2>o7NE@k9~V}k<~$>; zDkrdNGtFtV+HQ!g(53hE>SBx^rLGt`dHU`@@NXg5446gN!suz{^K+lXBNYpoy21~u z_;fBgtvaV~hP@#s`N8w8kEa`1L`@9r07 zZ0cJdRS(eGb*(E@ZII#Kn1tdO9UuEy_|jRyU!#+iT0WV^)8=@YFi=KOr>R(Tem3Cv zPb%*hpDFYIX#sG=2KIQrA!O=;z99m0omN~Y&I$E)p{uJkhfOW9x*QW?;-PCw#$16-gg z@SPI^$K?toS`)_gJ8Pw+AvyRRTc`8K3}}#j=SYjU^b7M*A28>XEIvDZOQ#EA5LkY* zx?J;HMOnF~2`Gze#)`H(y_eE+DF0!j4On#8L#My=M5cOnU`EPU-LgM`zf9{Nw@(Z4 z4(6*h?T*$i1l{!%VLi`2h3FUtEd~!NM1E7@xkFc+DEFbSRMd~rx_xsj=r zS!rDDvM;JEweR#~11`YoR7EeGKHf*ct#62BIvvHv!yp_F*QJk3&8W z{X{gwJ38mzR#c9LZZu=s%*M^jf02d=^q9?a z3|(LfC$&!YbJZ;RXpiYzBi-G2Ka5c-hWmond~U9Zska_UJ9yxUlE3F^?x7kP?+&+H zN|+|K!-!_k8dyShtLFtBOgK7uEDY%>w@biM#|JwDttkD&=SXhtDBd)uIdZvAHWM{Aa&(aYn7?>NfF<5$+q z(GhSXH6C4d$cB1Q<%sED{c%In^^+It6Y)R$iZ$Q)VKpI0U1t+^^if6A$Nf4zv^ba=3IGo>qTI{JM0HL??@#5`4zMUT1e??+Gd3T^h z9v-rJGR9?<^+P=pZri+%BEc$InZWp<( zM_wZnC8FqG5tpSTH4N8N^#nEb3$PoS4pYJ5Xtj>)pJ;bR2J+0 zp@8~8cN0YHd#F3F=W2jNMp|akxJ6!|F^$Y5oewFrlS-$IR}+>~UWLSbNdqFk z(at+TE+uO~UDD_F5qOs_xMo3VmQk4~h4$BT`S9&g6rRcUYL3|j(Js2g)9szByE+Ej z!6z;wNNtoG_5$env)^P?M}+HPdjy0}oBdj&JpFI`$2!yCJ*qD+KMO*ODv)M~=4E@K z+~Wq`4l6l=LSNos&B?BO#n#4UKBk)dIB_(1!{BQ^J**vqqDgq$uNIBRGs>$VHFRp- zh|4S%nP2R49hI;8ZiVE7DelW{B@=&08ox2g&ybf4^`TGA;@@i<>Grz(mE|-%%D*5IBATHuKb{{_ zFX3PpP)kEzMjB)qxlfzj#=69arTrKQdxo%P<$3P_VkQ--PJ*lu0VKx3E2Ow&n{ek6 zOeCTBJwQpWm^h%e#xzT&Aw3jC|9Wa&x@z!H2ldCd1>~UmNkQWu2eFO)Pzn=QpS9CBIRcr%a;hq58tQ-9`n;59wMS57SmZlHuLpsdmc{F`VN%`Rt8O%_5p;jNJ z$A_uzTW?PO;0U!k)yC{J$w)4HI{Yeg^oo-)E2IO-NsJ{B9mIlk{JU#8voa12v#xJvv@*7_T>=5rHLShQHv0OyZAJ7N%)62i*}YUrbGE4U*th{!^lGl=n>|K<@NwxX z1m9~eEsoj{R^Ro5668aPp7Bj`wUIZFRu4Hj`BA=DbEXw4k@1rU?SgKQ!M8HE2r=i1 zx1s46bZCl$ff&&0nwMQ<*m8U9JRTQ_WxQVskCwZ9IRX>BPMdd_Fy9kh`e`~sK2kTa zYLAYD6*>MGH_#Vz3W@()UEepPy~#Lyf}pF@0Ve*>D1`-H#MO(6k9t*m`(#jxzifC& zEI~uv@@Qa&KlpQ`sM0#9e3qFQMOBS?qo@W1jRFH8dPZ3+`#?*E`IoMtTgDA@viZSI zoagNl$y|l$)v5Eq=eqaRk4G+@Efz`{zt8dQUkr4V{ECv^SV)6}@H&6sbh4q|+)7~5 zf!7YwPF5azgr2h>c)W z#LFT<&J>RL22RK#dxeo2|C)epL{6ICXKkFFFNmPE%riH>8y#f{oT!V`@#Ko zpP)X>+?O9$3hUlp!Y#o;krJERgM_NS#Az(B;6Fah(q&^Si%H3o1zY@i>02l=OlyH~ zKiE!io6WuE=}Y?5P6vtaXo+8Zc8K*8iUiB-cO;6DV8uV^2;gNB$+dYhq!UMv!}pq3 zjQIr60KI@y9Mm-W-7xKP&Q(eHut>)E#X3rf=50b!;J1r^Zk)08@0A|u}3TS3gM+=y&cy0<)!lu}%ve{eT94nISIs+c23hlmo> zJUsQ9zuwO&ZgnoE7RJ*n2hrIfJ{4X7uY+n-~9xh_n8%B*naJN3r?z;9$ zASj0%g2T;YY8kiVG1(d=%GqhJ*@L1{9RI4kyXRK3c1o22e1&!}7sf zOW0!~^0?os!E-lTF^1bY#!FLjMS7%6oB|1-gctADvaRt=Oc-j}bJ{d957TzVs5D<7 z7T|2WJl{mL`^Ov?fP(0L&`*!>crDw}@qh-?Rj;a;^F5R>zkq%=5hJDk2K_8Ym{*E| z5*~>QW-xrCnmt(Ku*Ht-gX;3ID*ox`AS6qTN1j@Pu|6&88MC^Xyzr=Fl@h6sUXrf( z<2}1?_0+GQh*D~;jhk@j6vKMDP*E`B<|B>MB6Ynpy@{3EH@q48$yvI(cgPUM%(;Rh zSq$S9wlr+n721|MbPx=JCiQ`ox^asC5r;~3Fl^1gkRYP#m(!UvvnZtUHVAd1!Qhst)(-)`Z@N6c1*NT@>x>*L)=+gK9NAH2HVj;oEO!xoLS zb~fsjVF}*L#{s=da#fh}+qSXtnT!MVLd?7%j{9QAT#h4@X=bA*Zx+MN0B(Cl<& zqwIlH70_5a{P^(PpL;k{4mJfrOzN}eVoJzZ@A(!@s0Bpx9)k^=(P3`_R_l1fT$1H} zeLdZ9&r8uRTeH+Z$NVb6VDc{KIhLB9$QI0?59+kio79>4{jZE1I;NPkrE|DFBB^~O zKjIz5DOi zdQmRge@RJMw3;QrZz6QcqU;RDWtYOJ+IVSrs11a@SgY|_6&4M=EB#cf`9N4j;$&vb zOxkq!e*Tn)`=K`re7!N9_gMlYAiRW*WLvhtp0)ivUC2=ys%bMs0UBWFO9O({!(&^; zr#rtN_XZ}Dr@|}+F{$5qkWS@N1Tjnf%(!8PkDto2XS~Vkb<8v~m{e#mM9QF90e6S4 zt})1OPmXip-YHcC_?%&Q;B|dlgwLVimIoIoO%nS6exqPBde85Fo#gI~?gP|V!(!UH zWAUDCCL;ItIgL908{qKG<>kr*mB^?&D)zB&JVmo+S>)^7GFN7Y`1={_l$OnFGu-y~ zQO#3QFb+SKag@AoU-z3=XUutdzWZqx)19$V+5H?_8x0iL=#Zh*4R~Kg{36shK9Iy` z&$wLUrcPU!O8xrl*b9DUoIN!+Np`|Sug^a9KfhtxzwpyD7*0_zNDemrcVQ7a_405L z3z?S3D;55aGC@hu;Y($vawzcuJ}NK3DZ+ zs17AUNkh#edO=t0#nn)@WlfX1)RG-iLim`lM3z5ns>@A|K=;g0_H3-vI~}Blv(Qn* zug_JDD!1^NcwvN64}B(PgGa(h5aPHcI41qN-0TEd;o;ferbe@{g-5k8f(0^n6g;mm z!e95r1tQxPc|ScofcREc-R}QP z5*^E&bgceU%_;RkCt&j9D|MOA;(7Cl^5|7IDXF_no28GmyRW{2F2A6-R`}!6PbN zGAqvfDl^!Z!1#VJ0p}qhi^|9lN~AHf{-Py;PXA*hd%K^)>fk4-C??$r;qC&v8v)$) z5tUX~*@O>`H0jx89@P0GuR`8w4!ct-ni~H{5d{Q|N}y&Yg)nbjqgwK8X`7nch>`Vo z{QhZF+&*CdF@Q8uJ$lWIf7AuGLIr<`aVWmK_0S67OpE3ABY8LV>WAM`Va@KwJ(XkPdfnsJ<~5 zM{W5r5(O;d@id9d@-Z_S5LSeR%X(Yd18+-(EAuPqfCe@js#}Z){48Y zXa=51B#UAcQbyjeDyx|Wc~wi^W^U zE!YWre<`W9vL z4iz3w`v9Z@Ddyq@>~^%4sQ8Ic!RP_>mwnCkLq^ISqM}P(s2!>+6bq z)&nVPZEn>{mi`h`40}>wU|~e&Gt*bv8OzPVi!b9aMS-ZAhpnB7qti!?OyDV)YZM9B zZ@54G=iQs$FRfJPbw4GKzKT?J%E+85F#Yea=`cCwVkN#_ia~#!sy|zs`>QJa_CGNs z=28z*O5jm_X?h{Iy5KcQ_*uJH7VWA0KmW0{IGtHS2s1t;k@%#RwPfzbEnT81DI3#q(9#Rgcn}f@OkNf zPf_=R8mnh9P374$Pb(fzQPRLvPGtHX5OcOwg6BWvfX1@y-UDV!i%A9g&#x&Uk8S_> zrJCVV&5KC(1BIR*iRmu%2ssp;Prt|IE`TWstCNir zRAsT)eA^z54$D#iaEX?`*w}Blnw?BLQ4k)x)ZRq|q&Ad5wVo;IwPsv#!C=5>I{y-o z!?oi?d=`!PN$`QKZ@Fr{M{nFKuaQd79U$iLWwxNBDZjri7UH6=v&U!mYTU6+u}a69 zdhT9^U?~ zGVS^LoQ7m9ZzJ?q2S|IG?@ip&HNkcp-}{gdjCV z9aaGFc99{0i!D|nwCje2(qFS=g^<{_Ho!Nm)%Je$Sy6t)zKGHy9kh()sU>cNCM>xv zjs03Q%*9bh)&-eJll5=Dg1-h9>|i*3yBS%4DTt^$IdDPJ4*ROi^Qo;Mk>=aLwuRtH z7@aty3RNY_w9kQ6h-DUGo*9ZK=pzzDK2?Bt%3iwjoA=qi8|-aumYL+=(YYZ4CtWaw9Q|na4VJB4esVE>$bi zaDDfEm-mR0y43(Hl>~rsyK~;tA0luGJ4X(sCZh=^avE@AwA_s39u+ zsFyS=&xAssC#kjI7jQ`E20ZsLf?K_`V}>q)h%oZLPnr_)kV=JxWTmIRW3S-<<{$)H zT?ViABm^Z~F|`mG0@^;)3Oz%HImKaJpd6wWBXZ{MadVhmcYasCMTYz@$7%@kq_6>J zlM#|1QW{;hSzWxv*UP@fhq|6|7cN^ZBpZDG(mRWwy3I(s;nIymP$l*&T&F4GguyI7 z5vfTH;mKm15J<^0s}}E@ftY(uNY>^7h$qhjT9cE)5@=jwe10#;=bH6w zYD{-U@nE_1!9DJ&XlWw2y`4BKAyLDo+!iL%}U zCk1eRMI{-BCZwH@js4k3@dQ5jkh4$lyiKlt-mU(RAGUl+8p&fbOP|CrVR-b-*nk3} z!OCF^)+<{=qY}h|67Bn8Nh2dwp=Z@~f?%A+EyFgcx;(HcXhNbT?j!BDo>V(vj|&0` zoN#^NlraS~K~wVf1h+H3^HY4b1u`T8-Ghuo9tAQbjrR(1zDzgt()Styf`Q&F9dT_X z<~@F%fsYur%;8>(UcEK?--mnG+>jyXuEF<$j%wtxYzs)tRoPlKN+4Lb1sDiv`c%NP z#Rz}L3!})|EXb$`gEm?YbEd{rer^q!<1&7g6l2i-xVoY6E$6{NIYm~x_6!6&>}Rl( z8X7`Rdlbb3%WJHLGa_rM-fwl-qQI6V;=qKm;Ybh+|7gF@0h0D)z^)BV=nLc(WV=12 zfE1&G*L`q{2i28^j&5{+;WFdCmnuJ^5=i0S)ha;mJRaRr;_zcCtz`g9GtKM5g*7c%70!j5f8*f zqQN@71;c z2$Rk5ylV^E=f@2tVtJ4fMA~}*#cW< z)QOOo-5HmdnQAo8XSpdL()TD&x=4^5S_MU1W>yd@rYxKF9&d7U1ddJHiq9oCJ1Nmz zqUC=P_y**C>Kfccy2GNmG2|5(R77kjSN!!CmhLC zAH@KIWzd_;4F)y8ceNU|xOfXiCPi3k(|rJ_ess9yGNLljYrkLoyCVhpt_Ao`&v6p3 zIy3>e6T_UC{yp!*|4$15DlL5tk*j02<}c^NSE!xw`l1k5WdruI1Uvhw{uT;ve?K=v;mNl}Ba$31 zZ8rAiZtV}j0afYmHx?BeC%w}f@=y9!VEL6VP^mxC64HZ6%yYj~@R*a&Ihlgd6d$5r zo?JDFleFbsqCDp2Q}LtMR3egO$LF~*Jl(Cx?D@$m=NetD-Mp+VMf9(L+U~PfDd+WZ-V8S=pZ-ZY0LTn=BS6{7 zS-WfgNX#>7aQ#mX$PGoVpyU{i>>2fQPcuC|*>Df7SA>a3%%hPxP95V)g{^#ZJdOZ6 zx{Q%6JA@9Vv9obPYZV&%@TsHaFDvql39-x}h4k9dqIg`w^(b4j^Nqudx%_{G8lMe6 zku14g&<0XKy6@i=wDLVLS-q>m^enwEf_PbLC-(2td@QwD2tqrwM*S9t|LS{?Ww;I= z^D9glN&l*%m%aB^(weJ!<&vrs^$#oWvO->GiOG)_#%Atn23)f3T3Ca_*-qqqX3)XH zxIu&J`@0h4#pc_ZFkEIqq+<}9<5orUZ?0FTa*(FJg^Mqy?gC1sC{11`wERLdqEv@a zz_b!r!six9ti$$5Hab|^xCG{rLn|*;d}Q!bue7%?^>lL> zsbR%nhh>Y#2{p8yf<7Kzq1zjhUq$6~{%atTo^&-eP-n$~0+QDC#!k))c)raz`+&&1 zAZ2jTyr@@W!oc80yLr^&p|zrZ(lq&X^847ktUC8C_6w4y9@bd%{Y`qyMTguf9=n}^ zo-nbF$l>aLXy64Eie?Ikc3=K`|7D@;l;|V-%fXxqs7ufp1^uUtDx%l_4To`s1pUUd zAJ{#chErGk$#2byD^ShoK33&}{kWz)B%BdFX!8o*LvzdfM5PRi8Lur1r68XPXB%3x zd46CmCVTZ_+V_vSZVnEmClIyyxPau~PYK!RkIJ8j(tLM1OIJd0f39r^O{jR5iXG}z zPf7eOkGU=5v-|O7(Gbbc3atb<%ZV~oSNFN2lvrsv6c7tyHc`k8l@)a6@0!| zU5NwV>QvHQ!q?KQ!2Cq}-QhKjb;}&xhV$-G>b3)wyYN%46w#jz6-%AXpzBjWh+wAM zi+P#dk3~)@`@uq_y3R?5vqkib11-dj2c{c=kweoHv zM4)1rA#X7#WJvwBpgV`3C5b@4_w9V}gI{@=iJkA)x?qWywrlP-zZZ$^tnP^Kk(g+6 z45oZAcbw+`y!lIC%Vhpc{`+Rb>7)LR-hRC9XXE599j1En&#IX@2OcNjfkQQIAIt;F zylq{a?2KSANJ*#%&wRpHmM99thR69Xdz-uMiLiX&4Fl|3PerOY*>o zH$w~3snSD-w19NCba!{>&eV3#jUs&d(si?zYqCZ{{-zn`Tmnyki%4@m&z3;9B=g3hlmdFjJ_S-Gfu3*R$Uc z!En0350O>-tEM&>;%OG9^Ovn$`RE72to!`z=Gpx5#I4lnNd+}2sCV>fZ+=vm9k^x1 zk=e{Rl5m_O7(x@02Oyp^6X(ZYXcckA&!3J$A8fb)uT_4#jXUmr|- zIg-*Rd$#YFFgPhuS2WBg0evP09^Vz+ zb0NW@OYdY})ioN?@vkV3k&idpPE*)n%^H?oJKH{-buB9X4Yyk;fu@ z5^+^Jmp;aDi?w^Gy->Mo`s%`BPF`$XvD_+ke0x^;l2qls^**Z%_gl+&&#jXfj?}bG zY;7YC?BdZ5>iaQ7ZBu#pTa>V4}jVI6x8Z2$0yf(LsiV{gGe{b^)fj%J?^AZrdR6(`PO6TKgtrwtBajjo}6^ zhZ!b!{;MU|1GAwrQ|Z_OhY#+_JitMio=^QM-{g?zryqJymSbN-d9u3-vCZgppfH`< z-TIRx(pmeb&L(^+HK>fMJn0uf|LeC4_GSs~#fzt}qu5`nAg9F@HYeVQ8j#3)Ui$}A zkZgKLW@CJ8$rY6??6!q>Kn1*WB)s;o2GlXb8mL)UuNa|28o2o&BnMu`ss>7#SW3G$ zPS3aJM8*h>fg@7RV&_Ai>&a6p(FsGmlR9oy)QWbo5RhxBy`8(w1WtVrh13aDe7cOe z{PZ_&ZeHK!2|;wggyp{3Z{FGcfXew00sSpFZohAuD@`UcGfT{gF~Ca~ zlKtNGoz1lt|`pKLn^4^S7 zYubpM%j*O2^Ur=D`WWzxMosu`%3&<_>TR3o!_tu<{9IGqd*1WAeJJ6|onZ*qxhOC9 z*ye7P&HQY>IX(H2wiZK)4qe0{nLH(_yk*6g7^T|q;D3>C(s&;JoN_~1&HXwv)!))q z&Ju7Y9TQ=Y7AU9MmNVSIx_hxhfnIm!XU2{~-SKUUy(3#vNRr1F+k@rr7H zPNbJq%kAL7$68G-EZ0E->g8HQ<;I=8%7Y6RLiV{LLGA+m|Sh!phJvNn0GTfjW@-5>9wH>hunTe zSX=(M3(Pg4To;LI(O#8m#mmKJ!+P4;97*B6aGB&zLgzvTDdT(|{Wk=RGFZwAArl!G zRScSv8J!Fsq=i~%H=F<_;VpZcHdSj#6h-v601}q3l{{9-v3x8=u3Aco}dyG4{bI-rU5w`%-%rO)i5u#+s zrhON2+;4SGL329KBp6~%bJiph(P;Cb%U-hyMzRY!KawD6JJSLU<~BC*L_s>H zI*MYFV<<5`J6#H@x)2E$YhCNp9GV4~Uv+VA#CYje69eH47!8o&5mE zZuOP%v3M#Z!-#RBo|^fkn4UrIQB3x3V8!?TABW;a*&*(ttSoe;b_A7`3!`pQ+7Wo5 zkt8f4s|vQZ;0(B!$rof-q`d*?k&${XVHQ?!_LfI$HziSVe?7>Is4wHW#muE#N8(`M za@SQ%KHQ$i=&>(o-UZVNndT@>t-~Vmbp3e-4ZK~ZqflvsxpO5^Hf+1H78HyFiu9Df zPb6+EZsK(p4bL(xcXIrG*Bg$f`Rf}tXt8A5=_t>GuSovhJF1(Kp}sU8(^??P5o zDnYY#Q$bWJi4Tl)m>+IAj~wIKc|Z$*_IN&W2XZ`er3lI1>a8Hs01Cb+ugAj)XQCvd z*6T$K?}roN2i#SYB3j;6ZJ#dGr1tyGVzl+b96LwhoYww2^VjqxFP@%?*TKTL#i45Z z1Wx+pd^Q0V_hNhMGmHiqfJ};}hF`R)p_x$IP3APbgDg7gE}WzxexA zfixubdgf?;u%ZqP&XiYQ*S1BcEzjkr-SzQG$o2h6ZB&# zecGbV&mMK}RmL4HQz&5_r&D<m1zb(x4nX2(=GT4@*#!sR8Q#Ex` zWkhohM=P4L)s~WYsK#~zrOD4>$XR)VEX#A{BQ}zu6Ky+N1kRvJGWo}~whktf(a%#V zooGoCa7K8Z#;fh?6G2#{gz*W&OTWb|hMS?xgOGKVONslg7>w%CNn}^R^fq zx^JPI-0kLQQX%+IS%UxIr#Nx@;;Izr{Ubm3TMvKnx#;Z1=@LwE_A*_lh@i`>rsFSM5UAT0cSwC;%pl<%cjo0YH}c}Jg7L}e2psID2Tu6 z^U_?$#M9V-x z!lUAxDWJpMz7a)Yx;CBak1w!)N&QoF1l0Te9`V;2zlri18}wZvF3H1TwJrDNRFv%r zx&PB5rV({kADX{JG>3*h)_jG>ucQ>KS5BfLnriMyjkQpon~#K=c$tr6^fSUVo4 zD^&=iB`HHYf$@?1j}Z_tIT`=4I)HK&G+fZBU;ZMRoGI!Tg>(`}sf0?ocKYAY`x5Ne z^st6RBYTbL@<|mke#dNB^WE`+7%{3G(_jonN;a@BrP{-vvGig=u|Y>Lq5p}uMu(r7 zIbB4T)Y+^3a@`PhSiUd%OAzICzrl~)zDA9#d>U?v5n=W zbS~j&aD|=MWb@U*MKON6TgAD_;34xgpIp_5;)uQKtU`$4U61nexhZ=rFhcKG`S|xu zvfsD6@|zi@-WXC~3TcW;gE=@W!Ir)B2l9A86zCLyZAAAw?_3h2Os}fb>^Hy$)GI6c zgw?_ij`c#sK2`{F_*fL|pWc2gQ%(OL8jN-day!e%Lh&t_^}<1X98M) zTs$b*h$c2k8UXd^v5(1)M~q(^YX$Hu`;mf?zMnG~ge$UfgP&f7owg~b46;J{AIQ1RrD``O}tByo{~{8P!q^a_B&S*tw8 z1e;vYB>7KKWaGCzTa?%YK#O`h^UHIiTP&MV1-hFgM=3_NE8V-#UWSPA?%=&$TAOtY zO&H>1`qCEvb0qS}a6L_Scwkl|FRb%Zh-&ZS`QALIz}UprZ7Lw%82P;+V|4Bbqi${2 z`ThG8b&k7Tp_LVw#lOF+R>!5Ap`z8VR`-_-pmg_^UGU#C0cTUm(xCr*H5)$18>M

hxCOAN&F%Ubu<1umEo?*XKORN1*b+~k4k_|)alroJ;(tSIxPe5p}N z$r94j97-!ue95HGWgX>HoE_4|;E5>1z$bC>>YS^>F?$U~2T}Jby~&GRQCBgGVV;Ax zc-RxI;9u?^?Q@cFMk~P2P5+&fy$DbvXma&&AejYDhN_kq%3cg^oyDOEdtn>3Uqg`; z4Q#+wsd96l^Qk4|EKsI-xc_8*(;A<~L$=p2f4$S`UhweN^iBQCwm`y?zvf~C2Leog z`jlbLibR+yRu4agIE6Dce2PRjcQT%k<>$D3>9>qMa`pU%Spk+6V*FomDZ(=%rFW4N zl<>QCx!ETS;_8Nn`XM;4zS7eRwd!MJ#Bg-t!Jm(_@P}RIdm%utkmK3ATmTNVlS*C*g}2yCtrE; zH(g+WgjF?w5Yj!*M)(pF-G~L5sgpH+q<$WFW~XR#zmkR~;pz5eiDZe_v;X zw78acyZ@PBSBq-Fh@{ISllNp`%n8c>V_#`O zvo|nl(twmSCOuv-%w(SW17s^W4~5)uinJOpLJp1l8X%3%v}%H?Z|2Oc>?yIOOHirq zKvMiRU|XPT3~)o+?ES>_ak<9BZQ^weh`V->Ts=l@avUWt zcVQ_iQWeoMsLmeDi5b$P5>y`dLdi^_AKLw}j9emrp_NWDY*_vCCt2y25|7~6>9;l- zlq8+PfWRv5U!at#NT=s)cSH85&o25-`y^BjWd}#?pAHtXDagre91WbUkGdYoV;_V3 zcWc*p)Gx0k+L28Go$t0bS0*MW;?bALv)Y>hwes+F2V@!!3M_f?!tN&Bzf5GWp9C}+ zK57NBQ^^hG9AN%Yafi`+{cqL!j)j56wR-AnCHMD;?2tB73Y5*zS^lb;3@z5;h2FmI zha3={U}(bDsZsh55+*^`gCPB9rm3B&9u?%le-8eB3D(~ZP?K)o{;}9s<7rL4F>Kj4 z9hxd%p+pWYn;J6(4wHK%qgvZRkRF7R_ZCf!@r}chtzYc70Tq)~l@jN#(W?F<12HkK zHJsAFe7$4 zm;W@F+zK*;pmzy)?|kCkZOUi^5Doa19pr>c?UdqB$fg0I2op-FI(3xogy@1i8Py^; zGqXY9{XYr}qSH@4I1&ST>HQ6vCXBAuUU7-Z`@O(x6ZO9fV$pBKcZCwC z-DHxVf{40#Nu~O$LZ1#KzsO@3gPs&cMDiHC01WgxLKIQt<4v+er$0{y9W~V0Z~qRQ zjE9MgCjunU#B@na7IUxcl|z7>EHk=Ks(_dLkR01bF|6ZuEiD#g#pdrE|v zzW*j%4p19ItRX5%y6)HO$Sqx3~6I)lR z28jSe%$lp^$V5KV+352;LnlIM z1m0rO>4m7#E+>HjlHg2e4o7VpS zWPGCt{^G%yO^}V1X=Y8 za`2KXSoAvD8Ed)@acNYd-B}FVAVw_wSohWTck;Rd{(e(|^haK*#28jpl_I*~z|dVD zy8k0PWEVKV*Ivw-X>0Yccc0>@sJ$B7fl5UeHKgd^cqT#-$k$UmBC$NaoJjy@Q>x5D zq5!$1)8^B2)|@;_;rt;+tqtF;xaM%rOG_I3qNOugFqvvTNYaE+>n9nGkrlFQ%o>*D zM&e*UdMmiHd7mNZda&W8aHf33dW7z#xMn(cc>dX|9v#jKF>LNXVDox;h0Cz))cN)@ zbdG+(2{~ykS9Y_1J5Q<%%nH5mVcwbP#3j##3`+Fr8&%v~k6A88=7Q*^RQ@2JwWlVh z{pbM+jrW1(U~Myl0bkkm0`y_P;PlN%iUi#o43y(cOJw<8tBZE-q^K}7r20;DKr5#~ zHU^N&Jq)oIY!2;5al2{izgQ|8o?ssSZ-{}tBqCM|AN*70cm`(C%%*1*42J18MYX)oNQw-Lo4x;mE-^~YJ>EHjja(NvL)3#|&e0Ja>E z5sJ$z0YU}0Gm#BlnNT$?OVrA9Z3!$y*y&v-{BZaP!;?~sIZv=Bc^>PY&uv5U=LfKONchOH60 zW5)I1j#Ws&it|M4PJ?1KrWlZm0=Y4%J`32qZ#b4Y3S~;zAmu?QZ9|BPz6y;~%K2}v zJ$quHlE!!DoDS=WA52PqzjI2DH%3MdKf=EX&th!%E)@jPH>2itP0>tHnFx1l4;*Hb zKle5nw_=b)-w||-m=PSo3BIByzcR~|KBGWl%flo({NxRl0Rhiv1?S)VImLwo#(}(V zADr>Lhz~u6T9>keN&NRnMV>HijaOI&WT33|uFz_4aI)xG8`jI{NQrL4zUtuD zvVtL}8f~kBXH`~-?~XKYll2@W>hR(_vBjvLuWwtgD?d6aYKeY!4^MJcr&lr)_!Ln= zy-G^Lxku`vniP9?ZuwD6^A`tl4UzIQ-k6eM9rD{P?*6#Y8)CGN<62!jyq{pE(lI&V zM7@(|QN~vX!{mQs=ycz$s%*~tVeX4oor<+Bv59QA(pr$}_=irG)H$HH@=AEhjf==c zlNb-0{PlSZE>xaACF}H#<|kv+LrQM(gbNh-*P4y?dlap2pGkWZ3hu?64o8wB z&0_LkAuhj>nYu)HVf*GIFrlTO;tvA zyA;yz_lMu}&kcj>H7Re)?Yz6P zc&9yj6s8N`&&S%}coyF5cG&t=&Y61Ii~w*PtK|^tzawh(dA$%*iVNvg9<2l zr=?Vn#S_^a*!tqVE_#bFy-HvaalMC6RR!ha_8AR&(EBg0_tmktDU%O{$CGjr*KPQJ zpBj=cPW-pF*d9S^oG7858UKkrx57`-nIDSj9S5+*KMXaYG; z9Qowb^hg34w$<|Qx7V`iDi!ucTA7{@I98Vs+Re z#V7&{V`s?m%xwExN;f+`ZylaU9!zV6C0-TOP{Q#PC-x^JsRYemjg@>bw~;Gs<7;+F zj+I4&z9YCQ)NdM|(#J?8*UulCD4xxmhvENu^85|;XZ<%q&o(Lf>Gw5SwFM_V8gYOe z=tt+z&u6EVZd>_KRagpeDZAdgyxp)gaAow5^=aXSLJxX4O#mm}6)DdUsvikvH>nIL zAS6`|hk#I4ik{%LR%k+?nsJU1YYKe_x>&3Z|nq%+?|q}0guVJMWekhaj(1hx2~*AC#*u%HlCpU^SQ79 z5-R#MT=#pkYDzsy=j$RFJNB}WDtuiwhO`$vwl&A>*WI;!diy|cLDP~VQSJA*h|)!4 z2kQvs#%aQt$?br8{982be{k};Qa6Cnq&*moQ5|3(GcJs91ulF9B_(K}2a5>rLkdNG zFg+O#5szsXFMi@JLhMC-#cJ*Pgp2u0Bh^PJyVR0$^z#k}b!zwyi0kf!T<+95CxQW2 zeE)+(VQc+#p}L?1{HEitC_eD47)g-8_Hrw9EF~p!LD9GmK>`#hh>=AXJ&AqViVm~9 zQHckCd+VG(zdy`O&3kWd?Wojh$DU?nQVV?;TEEDfEQFzbZ_5qC&1Yez&p^1gXd^FF znSklCJ_aM=5T-6;$uY{U1KY9d`;h4O;H4MhN_ zSr~l?wFi8UNDWA_kQT}@r`EaB6bk*Y+`+C0x6$zGa8+f zW1F{Cn_mGsT`jK^w$kk1_o9?m!)b4$uMGt>b3SIXC!nx~GI2jy@|ZMfnSQ-_0nWSG z^*-X*K2nX<^{wOBgQrmY@4TS0y-yRhc@v$awgNn$aC&v2MAdS1h>a`jY?BqN1hZfL zs5*=54ej-MKIVc18^9o}Bp0W_`u^;Ur$RF-8(D-X-@8vGGp`}#DS4&YNfzL5wgva8 zR7dC)%0%9}^4?JT`Jn9`iO-|`IK!F=E0h=ml{jR=_va4y0m@_RWL(}j_c>0DqGh8- z5tOd?mz%3dAgZ+?blw*d#XNvx^@ zV}V6NADR3fm;v?96ikXs{exmo_8o0_VTb90qmBd?< z(Gq0(%AUg6z4*V~o!2ZJdNjK4_NBtOpjr4pve&esSin*j?j6X$|-^L}=(T zwc7HZw<6h5`{3h(LG~W1`($lEkq3wS%LV9-b{Mqlz%d9kgpNObN2t) zM{~T|!NghCW^}LM?Q=y0BIMmx)3s_@aJFZ*gN+DWI7{im3~FBc*mc5p`(VPTuEAD) z56f7yg*Pk=+Z0y92c$nk4##8t8OFUct{!NFEePv03GHK@d?s&2!1nFt5qB;NZC$mK z**m8I_j>LvC%qt`$vbfCP#H0_J@P#tm&rf=g#y^=J&JAfwVEPsK{A=VcmU23Ejod@ zS@QEBiCk|R>Gy8YH~<3&tgk>n^UDVO%|@+w`Ci2(xl)?b9@|8l)o9v29c9JJXG*Z$ z3W`2y`R|@vD-wq59uT0tKp8xryNnUC@-s}@hS4F`>Ds|X_hrC+wz1rLv-!V8OFrvJ zD{k{yCsBm(Sq~KyG}WV>cRcqEJ*0q@??_$N|(Qu(L1W(jy^X;HN7bd(ja_dU@8*yl-J zW3<*R=B}rUeQQ*YR7BA@bd`yq4^pYev6VjnK%U`QmOJ?7>Vk{~a*u11z@n}BTX``T zJ(p`|k!$i}Jxk&W<&&=wI>F6*WRIQHRsZ3624qOTG}FSAK>{V0Nv6ovZKC*IqM0ko=+&Zy zO_PY@JQ|0#LZId{s3@yRbN0TnkX|TIV0+-SDrlo+t5CSvfL=MJ9jMP@&ZpiUK0CiO69By0?@`2FK7MancU2CSpi}C zuM)*FX;$qVMU;snl);C){l>=uIslXAJZ~usMX?A+Wdt!ey*59Qpj}&|1 zm{t{+K0}{g{v{GD&GEm@1*up?!c}P$UcWB7aZ4zut>2%H6=fJlELyd16v!0DHfH!zOja`*Is4)F#LODiQdi1h8noI*!;WKvN~6g3!>1Jic1W zKca=l>`P8>oeyIz+zQeWkGIvm0UrPM)vH??>{t*F)CkEs;kW6)r2SVPVSj|-i`d6cKyfdTO^d}WVYnJWL z11=4^6#u-&j+}pgmK0XwYPqnF6_c-@KG^?-~ zm;oBT!2fQ1^ti1uT!9Bg4k&#KB4G(O8KBCCp0NTu9JiUctE2Lt!MsJCww~DM+{5m< zL)0KTHR_929bsnUja1M7{SLZY14W-Ux_SZ@$EE0^OWX7xE*t#m_UlZQCDqIBRUr*dm<*tP|xWb!5 zT|TBh@l#YfYc{|>P9S|0)s1Yi>>rIy70sG-FYaUU`Y5p?0{_ja&p8m?wz&6S!HmmM zrYwB_*7?DO*N>@i%r#z((=PV@SXIbrG$_~Vyeu%OTA9`Fs0+62>+kY#B@C9h?MF0f- zCp{O=9~v4}ZLqQmDz%-A19Xbh4n+arn(r9TKXo;di=_uXe|WQIr>@Wcmshau&ouP!YaTrl-v5DJp5wnDh2 zXaF$J2&Yc?!idFq-0iKfk$6}8k4(P5u+N4*od04B1YFzv7ejBok+aNZ3^>X=;H7Vf zULr*$Ako!4?-mr$V1vEjyEQ0Y)7n>X#tKnUsv#ug6~>BDqn(}m6B-xs(OT(8{bZn( z>uZCeb_46He0+#MKKYyCcvRo-P==`Ra@T&qA3tIGknC5R z)aYU#eK-I0gi<`0$#7@t%2jM;PMLe1tE5uhH64tnH~t7YG_X8 zA|KvmHBhOIsxaz(*Zo#c9Qs)5M{(Vk67>y0J z_9bxV(>zp{J|)dsvbnfGJ#=HsHOzgC{~eBx`U!!$Xtv?SeMd}sa)+#M(F&ssHk%C! zXHOlE##zc=o)8f&HUg$8JXt_u$N8DS8k*2O zN$Q!Mn`}Z8*0YK-uCUst3YD*RcPu_s{5G+3$IBs;?+V4uT{hq50=U|OVD;U`z20NJ zOy195En}xf+``;TDgW3_zDdnU8SrcMy1~oX6H3#L#Jk&yxt|oF9+)=Lg?abU zp4{VXjLKC$yHEHn!S|=KKVAFi`mdl5F-u^X$9#q-=2*W28l;ew^QU$;A{A#niGew> zETp{7u8k4v_oU$07%8`H>Sdu5>7_bJZB9hw#+8A1Q&icjP}Hi=$J8YB4pZrn@3EBJ zsYvQV3??ozf(`aJOl_YYZXRG@lQ9 zs&$Z{nqR>FcWD;{dbRF3p`|o~K4I|S&IEAmDj|k0W-ZM;5j?W|&;xeP*|PV+hWJ!G zQReRKhuTdi&*V(zh~cU4^_^#Nl@4p0!uSn;{8hH3 zXlQsxI^)Fqg!4cKcsit+-wUml1Kvzd0G}4~Wyg1vrSQ;~kQ0;`*uz{f516F30NcHu z6RZ33C-8GYLd}%o?~XK>E^Wfcxc}d zs;gZYicbZB{n8>t{K8fvT=8;TMdZD1V$Fkww4SRi%|tTi^Lo4eNuz%v@5z2JqdJ{KU)O(}O?% zlk0~^0Cg_{kDL4J@sZI?q2VfcwK4kL?yv8V^uq`?8x(mChucD>OvOvf(d_We-pL|W z+HV*6lB|X;IWZ?J4t`WBS_bx72O50i!k=ewSp{5DS=HCu`d*qE%sxIzeBbR}+(zql)A^K?8Vjo}ax(OJ!0rH`8N?dui?eHc^^6?> zv9nsTnm$+elmpICU~9>|TfbM_fG@-r5S1&7W7#L&HqDT$>iTUn&8mo zT1==Ifdg?vTs?e&oVRfZK1}G^R$cS>)+zm8=P{R+iJ7TaRbAMKVZ%{_Xt8^6Y2VR& zHKYHN^mVGkN^5>FF5C&a9TD{Ix}!b6u{hA+2L5dpW0?HtDu~3k=<$}@-(-Hqj?46b z>w0uVfp`y?+I0vdB6~#MqbA3h`tGgxT*akAT|ntxF=Gh^uVZQjj*VgbV@qm8$jo%+DtN@hLkt)&v|(`(=r z8kR@IIqlPKHcGj=#qpf3Q7cOO_mh=O&)=%6)lAo$KukvAW9=c+E`{q_?{d?W^G*`8 zP59#WNRYUTsLMg;UH!pfS_B1`-;uUL#_E6w^giiyNv-*b?D7&wki^<_praCn z=5YRE(T!O@0hYt%;B((E3Gxgc_P~tA7nmY1_}$KtGY%VaY+W3ju#`CQ443`R0uBTg zm|zsA@I_UuM%J-r13@>|ZTNm(KmbrA5vv5gsr&ENIvV{Wpe`M|o}99)8P+HgJfrdl zpsg@+m`UY#uaCP(*sci#Qy5<9aHubM0SE9DXEVi=qRD4_*R4s0`>&6uMy1&`pN&vj zYK>9&No!a%UqWVo5x+{s^Qf;1Gyuj6MQ29~9rlhBxr;Nq=x9mEEPRQ*v4v8AQ;Nv9 z4hWcQGGgdab=_x=(T5z!^r*v%F~R#&FikNmq>l_n(iS9WW^cW?U5984KOeCy|!Dh1%d^v!t}&ZlinIkl<0RdAml)(NMNK_3JQ`aa+a`E42!`7 z?i!QzcZ-^CfRX*`yOCQy;8cK*A(*}i|I4|aAtwsU=0 z4^FNET9P*w@xQsr!0y{@8%xcqLEw7H=xB`ri8om?&~I!%Fih{6XGb84EY>YhbEAC z7};SVh8Ip(>S901;%ICTV?N{36WVhjF>LZ0u!b-1W``1jO8jm9uLuhe@wXh(kGf*t z+R+nA~n>7Y< z@CY9b+IxjitVw_iuMSYQ2r<6?&yP6z^G({jc3q@=Pxd5a)NVi^fV)lI%m{EtBqEw) zr0(xKh~glx09;>Mvd!Hm_T(^vcUR3_^Nr0Lt00J>kn*UZRN+k*5+kaQz5?hu2Fnr9 zr_(;#0{H~OpMPV!m9GX0Y+UY$9{tXVr;Ym?zc=&b6SYkpd{i_W@rG4nOHI@5E`-hDED+t+c{VmdN*;sCi@Ps z-fC=}b_upvkDKW7_#-`7aKoZYK24u>? ze=j12;!CTHQRYd778r>a&Idnq?m(5T_@l|VBY+yLfu+&j_JhR5W(YSq*V!w9EFiq{ zr;y4%mUhK{@BiDVhTwpNk$_5rNmHgiE(y76wdkD#=WME+80bU?{e7Kx& zPGz%y>!S#`1{))UlhWWq-S`mR!#e$F7?;GriZviVp^!Y)vzzYO1a{o3KfUY|_<%&& zXJ0#M3C5u-#A`Y?ED3PLM0(%Qq_8twXm`k4DVl3A5et{m);Cs-y={GH&P$??h7qKs zH45wlNyUF1GG)c&rrGldx7|E8u)uWH{={~3l99X80iA$RQDqZ|i~QZ?edVU}&FlAV zVJ@7V8*sj29nn_CnK8~ce|s~O*@bvK>B6{gy>?VQkOYK&?{q=V#19vBsY+C~Rs~_B znF3x}E2~ep)za+@dxP(*h0&pPo+~ixhfB|ckrN%P|F$JXA0Q<2x{9T^k1?t-xw@rHY^S)TBeX*zb`gFcmKD<_)lK;}#gU7FsY_mmP9(XPJ z+_s-fo_01|4i%h;c#2W^J&17@Dp?*!lMDW=g+Fd%cRE16`DTl5MZ+>udaPg5>_zx3 zc{#!|1f(-?%S$S4z}ZDC6MJ(5(Smgpt5!2ZDO?s;Br`Y%RL#Cm5&50KLCW*63gDc* zE4cfYB5PMQk)QRG+31y1B`4{Xvx^fMs$;RIoW1Wi(1bhoWy$F=@2jYN%2Ogx7!3WN zpFIAhiv(Lh(xf;0q6>K)R+FLPc#gb5v4vJ(Ss}L%hxilN!qDsVm1Z9sFTq|9AdC81 zQ0=by`7AR|+W9D%{c7!;w$bZ`<-rc3`DS=v$ixpRgO=`R;_W{E!mEdny9@e=MGLb^ z@zXKx$Ia=(*{j=mb@4!xA6d`U`*S;E|DOf07>c^L+TNh!GJf>Du3Nl09eUIys-F&%$6Vuz22z+T z#S;>if-0F{Exs==$3JE^_Z90qwMJbrm|&lU4bE0DPCFj1=xcU;dIgxI_Q*_m#?RR2 zaCYMH+n#phTQGMZsceC-=K<3IN42TNB&z|NziI?>d+Lvrfve!ewlQ{F^vi=H)!h9O zd75pCifpqPC0{ zKP`>>w}T5&rJ~xA2G{T^6iNVbFC?uz$BJ)X1KeGR=!vWN=iTf25%N>P7E+tamP zlHuV@EMOdNy)?Oy5nRA>n|s8Z!EGi!BKkHSPq+t+F%R5^c2LL;MQjO<0m`v=LZ{Ui z9p^!QS#&+U!?D06ccV`^_|rEnXvKbZ%^TyDRFhkw2{xTOA=}6Y zp_SJz6-?EZBW5CaUbk0RANfSRIwgBCyPi$(gYRA!t}GW6cXL`oGJ0L3pF?BLAAeOC zHvN^j-Cfd|lZiI{D`awu$llS&!48QL6{_f#(eL<(^ zv-|?|eNpAlfPI_!=7na$vCI$nbao|=GHMNOjJtra1Yx6}b)Bl?;{K7BVONNeIvpnan z+Oir}zSf1(;QD3*8kI=SJgIEz%GJUP2DC-#lB`7JIeU}M|1 z*ORoo+yJ6K?nBEEI&sqZj%QW;MA%P}yHC&5VD%Ki@ttzhyF%vqI#rEx8%{jiK_*0s zx>5ROHCBQD0cReT@hZdl-qqW9_&-grVhot?)Gvi+n{~(PSPLON53rq>u4W|6&8T!z zrvwVXxRVI9L2NxDzBGVO?FDyIWydmeWgx`EV;rvcGJ@YnDNIbLjU`m$eeGt?>0i5r zAToc2!{@`xlWv)hXj*RWMCDnZeJYA9@MMUr4)=b36~HT{=Pdj{-#&?gyPk*3Jg_KVNzpuc&RO`iDNEfqipsXA@WKv_ ziKKUXr7LX8_fOXZr51~hJP>ErT)u&AddxQujVWiG`&rrI;2}Mc=l#R*@DM$yDO7Y2 zNIsiaDtRq(eL~^pnwkG_#-2trq{C^U*3qj3*nQqF$APuUD^?oi3L8h~(M6DicFOce z+f{Txw%JsM$8+Y0ZX2-IbXeLUZ|T46*O70k6{>n`GDY&6%l>422Z?+#n$^r&x&Hw? zf$)8;SU!t3K#*b7E&erii`THOu65qHYOT|`HETwTXU8>stz^6R5vd8$Q2z6Y9F)aW z*_F6l)%w98jM{po5zZw~=1~JZ8nSv*sb`T_02o7pA=;=K%TeLe+-K3J?#I{D-J@et%%xV!=OF#@nW7C&l60s#!pv{est?ZDT^=3yY@!OD$6%Ymp0`cgUj6-Jg z^&k3h7JS%2Q{*Tg6_S+rORVzOFJ*hCOZh&<9(ug)+@+OTSI#^wP>5*%YGvPwwY0&X ze9Bv4K(zS`LWgAbr8`g%^sY2GZd#=BDzxmPIxdcl_XharbU)nzF^s5CCj!-cR*-z( zNG4v!d>0J&4aQuEY9U56Rh0u0W>>Nc3y?oDFf8{4wee1OEvIRRuFMiLsqwb+r6dqJ z<<8+Syf7zx*5om@;1ybVS}CM$9>DPWZm|>!pXU@GCVOj-t=@ev$LDwSfTn`@k0am|H&6jBhj33S{%OQf6uFZY%tAud?^ABiesOyGj6(WYGn^yIlt2iLamE z`%)oFjrOvh_>q0kUHT16@KXcQZjoiFv?~2jlr)Zd?%XO?nzR3wSG#IC84Xq^*x48L zFUo`dQqP_&70^ct|Cr=l2FZWjj1??VTzlRN$3t(8FagYdvqPEeiSA?%?;jsjY_O4T zr&%alD~=!aeA;|@_IN0_s_$rA^mJp_aoqO2;eaxEwadpA+G5S``s8&yM%^X?%v(_U z;q|qD5{`rMsQAR5Qxl2q%GYe)QvsGZLEonE&2EH+EBX9hJ=I4b+PKm*a|}r1@@rMH zm_RMgzS=FI|4-x1I8wX-g32HlbUbm}RxaP{&H|JF4^3Ac71bMU=>dVEq=yy>=^Q#n zK29P$N>W-ty1S)$_xIj<|IeCr=g#+?*k_-;DAQ$j($wRC@WM_@b1YB9`d)Cfsi zf=CyI{3k2$n|gEFaQ@d+Q#J64eQuUx=^G&gStnpooty_yC@iCwvj7w(tISkujmfDQT2%{)R#fqGY!t!{l$-x?MdG8Y?BmG`4)w@EcwgiYyAWH=}T-Pq8n%OCdv z0bQ2u6uZ(_7|N2Z&GcaJHGQ%JRta$qcjn7xPH8al(e$TIZSO~D#{+eZ3lFFrF)9Te z<-SWprrATpe%8_0dLiGz4Zl08sam1!~azKi6~yULvf z8Mg-cZm(?MCox%?pQb5+sjLlS{?xp2zb2EkWkM&(Kp=RU;c~`g^!=>fLlU2`!(D8o zsq2PS_+{x80L5)7Zw50c?M>FEknEVXlVoWR()A$Pe|d1O6eRr_TXGb(%-XFEc$GS&7~?dbhu~rNlR+GHO!j*9<0kktLs&%kNQ3sP z9fexl+?IZBO`cAKRCU*b+R3E@{~b+nvb^Yyj;otvaxx(|NTp``g2~?6f1CLP0fbt4 zpe(Q5pevCNyeI*PmSIjQtmaH)x21xt0bj?$Tz*F2sUSLEVM-hn4q&)GF1>?cc>M&O z{D>yjA`=hry4*35K_oI@hwv*BMBhZHd6xX?M|MZhL8zfAB)AF=ARCAU^>U^lIDVo< zl0Bl^JU2e*bc!q-Bj+~5G6u5{A=RVL(0Z`FGJg05Y^ZYor)yn2o=sPiLHz*-M7}vn z`Teut)FNay46q+DKANZFjrm<;d9AI+fWVFCGx%|90_%*>>(TqVhf)80I#;_?Z0|o+ z^l+vi1BBRww_pZ6M6XJ%&MZJ6VCGO<-%2M#s}-A#B|G{jk~nonF-gxtiKf2A%hYGr z11x(vm801#c!)l*dqKNL_;gp%u-s7UPZHA>D^RW=1mZsPnfNx;MpjG;EPElN2mRO_ z?Z=Es40=J^YqnYMW!%BnRQwP;fErMMWz=2y@S!C9_e8+yL`u>=4*-j6H@VGHcnX-Y4aJl>+N=N8i6eWeMENfC? zSOJHjGz`X4_T6(i-(NAN3>p|PO86V3IM#qI8@%k74fYGynkT7(o}zcL5o*G9GBjm* zwK(*L8P*ct#?(i*b0xP_Bk{EQ{o_N<|2@~b{Z7*ga#B9as_@GdOB`W=9v9`0fjN4V z|Kn}s6Ga7!P19{#IIu{|k1!V%B=GSHyJqy0lioTxAouof+50MjwsiVl6T$m>YFnlB zYd7=zNewWEA*D=0`U7sz#up7X8HAS@tfuF!DlKcIUnE`AU@Yz~XRaMkvc$%`IRQFZnvEZ#gTZcX8QSSA{d5m&q{egTXbPRgwqHr zH{4>^FH7*DukB^gf#>ZuQ=07u*ek?$L^ce2AZNa-F2`9bfVFxd1g?AZX<$3>y}MV- zNVN}Q)qH0#0d>UrEB<2en+AQ{_If51V7RGd{;Yl){>Q3clki8BxWZMW*{;Ub0_mnZ znkaoA;MX8Dr_E?c^`}(uwfXh#cHE}}@LCiqW&wga0`!B5`FK3h{d=;eV)lYvZ$S2} z_Qd;NilU2qy$J42H$s{^8<}QqB3b46Ok~E)=#_P3&HTIdRzzEs9Q3|0o8C6}#E z*NQGIf#^Ruget>0OVBF1eyT=>Gvyq0On>3wysrPC;b|Pec(>f}h#G!SqI?(l8M3l} zava&p?!3seNI!F3*@V!7@b>(*kDV25Ke@6hXY$2EjnUC@;0Inp)bK}JLXzSSC}q&oUOt+)PHGhtnZ814*?KoNrcO>#;mqI(KkX*u^n zBjOuhz1lu3d<(>6Vdj+VukWgPPVa{!;qQNv2n%mh*a4E4ps}P7@bHh%Vbu&>sB^Pr=R^juR`YL^F{>I)uH@w-JwE$W zp_2i0?~;fR3(06o^t3d8B5{-eFDO9%Me>&@Au{Iaxb?8hm(~yHl+j2cw0Xll8Ys1i zH_B!MQU9o2Db1<_2L z122e;FjgrvNXqSfWP3PyYZdYjLcF@*$UQk7J%4 zgk}HT9%L*0DcuV`PCntkRF9;V!&^9<0dEnoTkIb+<+fM6u9P7~3`h*+^81;wI`v#VRfUr@XFYL;DYL_uG~Vwal?X{Cl6PyT)JIyr(B zM=I_0+c`h>#&!gR045wn5@uu>H?NochL~C2VCpAEaj?o6MW~B=*4Q793zYI{6NYoN zC<)!GxM&6I!>0)6(4L_*wU=+ zL|P`EmA*Bp`6-hGOhwOEYaYv>*I^s{4P0BB=t(g%wR({lR(2w5Oh8^~z1dZ)=KSQR zbf|Xv0boo5__l76a6purVlJY~`tDrAbGzjjA+Q}&1I(9tyUsri7(_kF$TR%x@&H&> z;9NJM$w62UzP=f8TkW^S!GFgkNfs#zk6rr%e)VsAihcMK_TpK)5E|J{0n&c-)oAx(IOQdxuh5-Ss$YfV#?+S0Fp zyxjiN!#@=&c|ugFm}_Ljmhh_}<~zXjC|$H@+eGFKRmU6JJQqEKyogkVT)}U@01XR& zNmiQLH9itk;SNIp>2+y+$f^?y&2+YGO0<3)y*puCQ$`(ptq>?Sngny4r6pi&g3a}L1HRw}u%g`s9x#%tR8Jf-H-#2M){lMGB zo(@PfbA(VyA`Gl$ORZsT20cqEGn924R*>Q%BJXErBRBf{)giDNmJ1``tZf6E>rHBz z_{vVCXH0}gNQfe4GWgpR0XJ+tgMOl_1kQ{4D4qzyB|ccL-#Uq`sCq=VC2tT!J-^`V zMSlP@nvSJO?C}%Ngnd<8`NKTg7Y}H6S7_;mFTfsEHLP`Rmte$y3Kavsw$l(=Gp;}D z$J2gRt*9olUF=;j#U;c=xl!6~8e-Br@_$zMRmKRR9wP#Uf`Eo-O$fn=O*a=ID$g5T z(dX12O2+MiAm{NVFJ-zI-PQBc#osDsZr=T#A~Y}XO@NN$4?j9_J}{OFO`#s3n!nQu zn#+6TA(5vIzTkAQI>(=b)l^j+7=7E?!AlFr9oYB^o~Kq8vYN5rQ=(0aY*a6x#vYb`4p7w zPeOpMsiDB2^b;Y~eZ@0bq|Yo!vL*b% zcQ8fL$VSv|NGcUD2MkcmRIe<`qQ}!mjmE!BmjzUdn3hVuEI3w0bB4J@d=mvO=EuVn zRt-@k7T!@p;%a^8Ya3#O5kDTA35quqiL4P3*(2&o4OEn*>p+F-cLDvcUDjhyGN*`@=316?F`eCc= zFmxN_xWKx2Ek)P;N+56+QEg!V@X&D=%MgyEV%Aj~61otbugkIkk&Fu5-qU7g*6ifT zA+`?f(W@826)KnG7cBUEa_Alc^T9k!n}DcvJCEkoE0|wqTF+0mfvLjQL_fMP2JR#8 zBz(ckHhs718y=d!iE8NbK<3TQLBuKJhRV|H9MeHdB5xKU3BTA2G|!}={&%z_lg1x1 zZp<cj}C9I^L30$l_QgQ`P;L}1b7D2NrrK*>&bf6d<~ z)yvfUvxkY{M*kaZfBR28`VpyhE%0yrljsn1%de7-<7%JJTOE2ACSs9=IBC zJJfHkv8JrOm!QTG0sGjVng$!jh06d(=ie~ySd1cXKliB(WQDHj_Gu8#cc>a zm{}*T5=2d@I>$nTe}n(LAS1=1OL7d+AvvNe=Vprce8Z7kaoPJ`v-Owcisu*{We|6% z#xV>(gcQVC1$Z2kv}eVUzZ3<+L#kK9v=+ocIFwgUsJYDQct(MAkCaLVIBtV)*GJY3 ztoEvT!Q0&l5;+*{Gm)q)!D_K*7;a#C01Z(D5$*J=lFiy1?7Rkk<2q%*cvXyy?O1$Y zKd<#v$o=(DsLSP+vTC~lswrcSCt`6_<67Pg?YgPg;-hDS{Y$5C_-|A?nOcuaM(0#E z_?KLtBm4Z&#e5isXG#KpZCQ1XmM{_A!g zI?D$r%)<~&FINSEb|*Mvn2vw#KT4RY%HoFzXgGcBQ5Z~8{{1noC85s{bMQ60CE&AA zJ(S%K%RTSh{DJTQQp3bT+xi`B+-vXX%t&a=*rT2f8!o!qn~W4B)o)r7NKW`y+SP-G z;C%WSbo2hS>aV7sKr)YDauKVp_^n4MaU6q_2KMoE{8Nl4?5msg50fnm=dK_KLkYv8 z(CQv-2qdeS(IB4sD9Po#){oAF#^#mj%@q9)VLVC*mH}T+WMEK&_@p5x4}$(Qt|<1n z%WG(0O7#~t4wkjZMhI9CN>)?6A%N|W12{`ZJyM-7i)ymzrps!1N zle0j#MDEcq>DsAlUy8WGIB`CQI|K{`8b28z3c4v)>weJH%Zqog3C0V*rux?uww*NB zM~l5KOu^1!os;nxW%~@-a%)w-4Osg_l>XNH|G5B6)r4PgK0}i~bxxK$G1B~tCGAy! zQV-nw^tYV9of?IQ)O_s~6m8M4=l+K?m)^0HGd)RZ{1WKkxU8Nigy~k4@6kg*Gtey^ zoIPKyHYkkH{j~n6w`ExtHyq!Dj)i){9X0&Uu z-%4dqE;wA*zPLRaz$mZ+>HEWs*K!!-#H}d$FbY(D>=(QW`?_zk!G5?Q*JikCMq&75 z27U(^h)_ruF{g0AFl?xE3U<_}Y^V=I+zB+L61a7~es=LHke*qMSc+FT-_qh14u>gU zTLd~+nD17FEWGGN5r<9LfWlS#S|GA|XgdXQrw~~}!Z%#WX)p}^H#&SPpA&5~p+{y| z^w9Sq$hDWO;KIKj%#I6AjXtx3>G^->BM(-xby0qU4O{!KDN8|&hxg9&2~{3>f*xvpyIFYpW!=B|v6!kIi4;xLr(uM{vKm3U@Pc7y4w`DtmH!tn7% z?tW6p>e&xMWN$fo>*DBg(Rv#r*F&O*M>Alh3z|~lUp2CRz=o^*2Kj7DydS`*R1%S{ z>kZmXZVD0~RIC5}Q)M3p)3ZOxP&5#dX;AXq9!g2kjRwpYL~ueM{tX1Xbqw?|s&ew*}HMbYYYs z1DucmwRr2FH#XU!Gn>S5+8^a+J!D~nWQ$zMF$t~`0Od(z!ySEvL>7IpKZ&mgZbHKH zlG=s4Y3~R9(yhz|ZtPERFX`*s`kQtJku^Y${oIYFI?NozjiE^YdMmDWq?|yWFuFO+ z*yLxP^XM4cj`RE=RsAD|QBM!o#1eA&R6e0S(VJ94XGW=UwVriU!ax+H9 z-~o+MVjU9Mxde9=?&RgQA!8KZDE79?zNCf5L5&fE%QO6BcnEvKoeT&Wb>MZU-nV_6 z`_I3?g;Msc<{pdN${WsaxsuQN3pC8=FEVbyp1Z$uqJf_kSMOjeSrrWwRa1H+f!~!iyZPFAiO&KG-5Z+4nd0p={s99%LVE#S{JZ%WQv~~7h5TOF}??dL8iI8yh z^Ktkuyikl8c?+M>E(wn!HEOCBl10C?sVxz)E_~zRPOgZ-fy~?)GTQ#>%#NdUc7Kgj zkS~xdyx5$Yc8m(RyU?7jDdUsK-uC{@z!_7-ar1lR966=ih=45{KHX>PztHIuENIPD z_atg|?qD!*)fOHoOXk!cQ%cep`N~9y6bIqPjFIuf2d)olIf5Fkb~Fo&ByI(2Bn{>b zlivs=_xc3>+fsId;*!n!Bk*!vv~h&tOVTWIL|j5-oz00u+F@YknrUT&^0@>L#ipo9 z3oa?t9FKDuJ4Q;h*I0kF!0VKrRKbGD)VukHbn+=gS*r%2v7{bNq+ji~y-ydzC>#1d z&cRXmeiQcQU;?fH3GPD@A<90C24tegxP%Dvwefu*1cifnb7P4Xm-bAZk*vJCAd}Yv zQ#;=Yl)hsC^{O>e*3ukDtOP`M0~BfmriaF?K{rgr|53h`!%#uW$rX)_^IOlA(Bt9% z%Ior-w^%mFsp9($rZ=i!scJ~nZo#kT?_bonyqGq-*QptXaU%PPf%Cc8 zjz^s%<9c($ma^4U4c_&sD^VYbP2PM|O<g<-Mv#@|(@1!Y1dJc&!ANynxtTbkCY_=T3Q_AFPR6G?|jG~AD@ecZUQRurA zZcytiO~wsGwqJ6EFw;H}j^eYUb&=-zo3NR<&gyfy>XTrx%AwhqrXI^tx$>HF!jIfk zQTk!{*4!#JNIeH43#PzzX50>KCpdU8W$dUmvv#l z?(e{-yFY=*S9N_L%=XS#;i{=k$0ZuY@(Ljpi=)cB}g(m|RB3p0cKV z@e4>r!-t6^U~z-s%1pk3rm>7n&u39FujHKc`_@!Ttj6&)#9&QE;nx+c(X0aH?Sjc~ z;~=JW8@p`!(wWWn6Nk-!(AYQJ=kpDCpTc0u?D}hF1c{JAAdt>>24mH}Ui9)jWkZF0 zisc*L9yjm4q(9I4 z&{7EGpdV$XsEL&oKTAMgGh?Z4jZJ5FL=v3GZipi# z3DI;|=N(D?SQSD6*=+glj?FxqPElM`f_q1sYq7d?(0wEM-1Or0>0MJ<9+)05Cmx*2 z<;8#ML6H3e-wK7J=!C-Pn^`_hUaIM-T|8d=7m+x=j=(<+DGR#qIdEtF+Gtjv1cBj} zxPmzFRpqt!AUZ{s&2TWkt?Tco?W>-+V^q)^1Fu*S^N2qzqYzn&rG`RE3ZYu>KziuN zP^kg0=2d2RQcqyZH21*Rqztz35>{cGF0wgBFOL^1M8+r5zm%lT z?RRhcqeOl?XYe@O3$U){AeGHtY%pE_r<{Ok7Y6g#!3>M#u=RVs;Qv$qOS@Z7sKXF; zQ(pnY0CggJ?Of<@kn;GR_Xa(b2z&I>cwL_AwObLM!A+1TrWj#aFxI_KmkV zklU<(^`hn&Cb}{rcCp8kD>+={ujL4Zwp+C$+h*_<)O+6;`3Lo&yiJm~T&$sqm3WuEP3EOZQMF$)VkCfJI@^2Y~}xLuq7YUIXBb$0u+Wv0`GxMVCj>0 z=a2#t7zRItc57Df;%@iqadiJ^GhJNDtb^$2k6c`z_>;3m)*|v9M>je(_vrOo@n+Q} z9=DF<+Fe`^Na zKq5A8y3~o@L22aAm|9Z(+ppEy@Q^2p7K?L!m9;-SOKWd#BG9D?YBW)b`FtnMM<0*0 z1=G-=WzU9_k?Lo955wP#C zyR4ig?#!kZDbTblr}gi2>j;KVJ^Om+>aTWuc=Fe^3dTk}#q&RYz&EH34E zI3`4&Z0sdO2*HJl$BSyIH|89FCb37;zeo(d_e1wyTcZ(l*{acEEdk7e7(MrKDEF?d z=8MW^%W9FIpHiOlj12{n(f;kr7)a(-EVTrx%h>z_Y~dMTp1vnGL@+AUBgz=h!#E1y zx`mkU(;E+@Pt25J?huB=1uv7$S}SL(DH;9?&^l@o_<(y|sJ7%bGjugcWg_+lwt;_e7~3n(O^^qig^xt%jDesP7DD@FhIS+{g* zp(Q%}_KLo(*BskG(Pt>!>p%xB7cqh*43?&oyPz3k)0+cq#O|1AKTu|G1t4ufDOmNdD`{;xou`I z8m(XbK^!O|G(`98Sq#P%QhBX}MV}exVmrU$b3zRvG_G5y*c{^3>agN98+^c_%!A3q zr5*WlBmp@ZRiMPce2y5sp~K}$llwG26NYiYM#aA}>d#5A&JAcC_pj4Hwv{(=$$bN1 z{ayj+nIO9()8GibY@wwT&!S#<$k``45EfUi1UsOTw@nxko1lLd(<6gEf! zsiEKkKRSDlzgl$P!}ZqS5Y)r9s-{kdrtZ;vpZKX_JX*7EU*VUzQp;6@r6nTd^5%-d z^k0t1)qRksRIwFcK7%sH_-pBKwV-*$ckpm#XO^5c1pVjbt8t}dsdDu?9NP92ZtbRg zzrRjDQuEpj_&r&7bGXwus2GK>avE7L1Zlbmex*<>VXPngbcG!8o`lF`E8UzlV&`HF z&TcPck~Kj+pLOp&?AIUS=R1XF%Y83~UDhX;Wj-^qPo!^?EV@?Un&BGmbx#sR6NjrR z1+JrIdb=$q2e~!^5#^uI@r>GjP!DWOhn*?Edd|_^W;SDy-@a$Xb@jo3+xGFSFAw)u zWBhHm&W->Re+_M=2SYMuoT34(LyTQZ;$J4`mbb}*Vfbm|q#k)$^^X<9=<$im#=U-2%$qi+Xf zC7~pGO6Z=cZvd}8_!6@ba;XvFtmyV9GDDw2^p@hWOk>I;>C!d_r!@|${$Z7n8Y$$7 z17o*nph=Aa( zYpHi+j#w7<^0)1$ZoUX9Fzu07@!LBIK41$- zy;aCG%Ita%qyemG6>}WE(|BD@^Ird&s0ECHH+%FCeVGi94w z+a?8n+(G@L2^Ts4Nj8@7sr2kN+#Ot0(AUcqk6a%{}AH$TfHP6W+(4H@9}H$PzB#@UZEx%0J>w?9NDJj2F84z{Ov$pzFJ0@{pUyd zpK#BSl)CeCB=c7}5|0kZ;BZR-BBy{9RFN2g4Xf8I25HdQ4akCyX;Xk?&8sAwI8Gp1 z;bDLIc4y1Tx+5_)&woO1roz!qF>!FMa9{0m=XF=`(?Xjye?1tIGzZ~?j`l1#D7_Xw zO%NNA+n+6b*T`>!a-0Aw)l~Tg96xb8@*J7SRf2E_X!m*rD~D(%nawUEh3pV1=MZ{x zv;guFN*uj)?b4*ap(7*BV`8JnFx*ADT-_zbkUZ^jes`>pj);g866rAMK;iYf3?`vR z^5yl16!@pzWHrm>HQA!In0`#m1xp7-tmCEXsXv1LdMn{%lXoKnIXa}O7RO{>=F<kaO~V_X!@`aXu5>2FA8 z(>Xa@00b&t377jo!=OH=+HObhlQkNb{Pl(b#4EuOzu^N53C8MUzPq|{fpY#vi>#66 zVDsuFnojbZ{wf@z3y1Y?-<_#`&j&BaPTY~$q)8l%pW|PD6mUzE+0PdA^#rZt3s0(a zV5fGApGb-RGKEL=Y&nj?O+J{=oQ9YaW@XMnKGw`$hJB)pQqpM%aPzzPNExGWz)ubB z`jK?i=;^#qkQrY#$;jx3?42{*TLJHO6n%&-M7_gT;=hc%Epy z*cZg?d~Jjs&K)9FyrSD2HfOV(#$TK!w?(@FuAK#NlHMjQObAtXTxzjiuKW&q$iTg^b zNlEg7W^&-fKz=t<@mi;i{EcxhCN>)z@)v8+$~9~@#+Kna{fEh2H0{^kwotiS)&r(y zFYyJnxW3J_5}sAG-t&+?3iuoy=Whw$-0zYrwSu3k34M_`Z{SLPhjC-iux}54| z9B;n!`9|VuvlJ&tu0JZl2EKDYS{#NTc{tik<>572EGAD5dKG66*xBxS^kxBIEwAlz znnTI(NUibU!hDMZGtD_OL>KygGp+^@Cx$%$+Ga{+-#|h!>ETIzs9OnmD`1SQcFxXUo-whwJS@6Zi& z*aGBW6oHPm>pbNouyov(iq|BWT*;ra7%vM@dRqR$4!l`#^4EuL-e z9o|jbhA;#Zh#%pA(<`0=V`>0M(8y;}tK;%&xJ>NS{)w7rM-?{=9{?(x@#FNjvP$hj z)Zf#3hsa8zD?$8_`dS;EX?Rt3v?1JX6I?#5{wE2BW*)C+dT6jA1?@*dHMwT2Ojzu+ zW6DU#QkrSy8kN6nus|B^0j!}9z3C`nubTa@FynZBum4=C!Oek%Wf-2<6!n&(scViA zD1M(N=lw2{dpu&?9p#lIXS(s!@p^iOzt8Vk$S@ofgRIaY~d zNlg6^W03QKQHf0*ioqo`05><$;fQuCMKgoXN*-Osk`(kWoWt-t#hUlk+1 z$|5viBpmf^v^rAG^1llFvD$KtOte#~K9;m_Nf`da2V1+%5xFw?v2Nw$ZtW(M6*gRe z939%h4GuFb_W=7FRT!gxp8IZyT&BlLEKLLonkE`$-vdJ~v%aB|F0=(m1@;XjS?9dB z)oCzjLd*>AqwJ4{4IhLAZBlyE)v{>+2nua(B-*kK{CgSHX%G(*k=B>W)Nj9F^;#X+ z`K=D5JEuh+d&Q@=e>@M!GLt~PnLbT)hziM^q^}Bp$>fd}eR;eL!ktB@2=|nbSo)Id z_sgN*3-Km^5#+ko5`_G&!pN0meUfrQ_(&;$b0>QV)i1Nv0#Rs^RlOaWygWc~6*|XE zWs}q@U1Fo#clqa+Y6g$BSz!HtliN(&5QQy8$O37OgaO>(*h0A&j5%hp$h;tqxw}i{ z(-x?{)k>&z)HaAk_MYKWwP91x3Ku4Vz+7Y>&eQat4QI@euA zqSCb)?Zy(zKItOc?%!8kKk9A&$P9r{LD;WqP{$qKZfv4e#A|y06k(7&yu&!$CB_Lk z6K>m0H(Nc|l?Fu82inMXo?fp%IbPn_^0<5YwFoV%xiCiFgt!wqcF6pV7rjd}>#Uvm z`DI21X!>g24`Ppo{(YbRGWTk6?`(9}bqzP9K#|41N=L5TR&?a7)325n zsUYff>|m#Vc^+nro(9l`K*9Sg8keX$J7=eaMy86g$Sn1c1#PS`W=kkJ{#@6#=#Fa@2rfWueAbdvfA8$s%B%{Guu+sEK3iZ9SF&={CY$f)E4^HM(pJDN9nYKVNdWUKc*F@O$a zGd72-2RfY$#bRgdTHYEJL;Ce6KTb;l@vo+gaC=Sudza$@5|92@9AVQZL%$191%9ug zBesQwyEi5wH(^V*I=U4ThvRR>3Yk0f46^1wdfInN=!lgqJD*wCctW2&RXvJpZ5MB7 zSiP)6Hz$FRRdX81jQ|!t-y}YaT_=&uVN0B4nhQiWKhyHP0Jmfd;*hElv(=dD-Fe=$ z%u3}-Uy&=jh@gy^+;2$bqz&sqWbN3$+xgyjQ-E%a(XhD0l54DAj%Mcf8E-s$JIQ~9 zK}cn#MId?loObO@Q*rR0wuI~Rx6UmKmkx{hp{U-9ZTAumKZUVRm*W4p)*=<}R`92^ z2qv|}^mKTsjZ8cLMmu_?X=m{2$F~!70*eqislVxRsgry(b%8qGeiY;1e_nA*)nHG%iDaM@Elv6M!v3BGMGM| zI7P#Y*N3EX7@IN}ned-jc@;5&4VEL%43wI^KN@|mt=s~-IkA9SdS7n^R@|71aAgz0$9wq*{!x>Kd8=@irtpYGQE~g1JkdeniGR7;5xKP$n*J5i~yn! zeDK^;<|IMUc9GL9>-L(t%6{ob(u${l@FqNOdK!a;dP_|*jgXQrb{>^HULcu8Dg)l& zuiyE`I2gMKe?fRs2}$Yg(`WIq!zelW#q54q)Xzsul_ z`QtpiSG)7n=f-$WF7eW>U1Jm-&x)G?zT8pgI293cHPlDh%p25R6W6O>7fDGSsX}pN zR7mIN=L!3|)UxRUT(g?kaoeT(T~VBuz6TrErt{TkU=TJT2gC<9956Vfsc(M#)HWPP?a6Wc^9dws)&pM~V9ku)36W$R;TCdz z3#IQ5nhZGPvokR~!;Kn?2U2W}28^-iEjC$Quyr~2{4o6ILjX)-%b|8rc)`@ZQfDyj zQ-2h|KI?|K|eqa^s_h4|)GPW#IUtVei47>OBHG-%xfU*xVHv zR3PdCH+_i*Q^=!*&2kPwWQowSxd3hWk88^nhOjb?-3BC`FU^*8l`m_-%MYIum3>gx zQFX-~dXqvkPbL!&a^1+h-(H-Vcue$h0VL%IiNQQk+q=%WH2_s44DwwQ9M-XuRXFxo}4i-Zky0CT{#S3X2U~Mwjf@% zg)sMQev>~P+fGMyvLGR+A?S}sRw!ba6jyDnROU%b@%+e0A?gzmMyb<|aL+m5E0UqtDzb;8nBT`zGc2@19w6-YB~!f5-<^_mums5N+! z7n;|N+4&7|qmUdr)NhCkE;|3_^@e?ujUt$v0Q4E!vf#c(?dzz^HjhB1L;8)=2TUQl zb%&slt>={{l5yQ(^0P0!I;?8Gf3SHQKy#ItXcfV_xdWyyaaz$i!PAzz2mh;U6t`--+S z6{kKrDkyW+e=pB^PiD|Pm-+L8AHjs?(U-HMh+mOgGYmd9h+lqEdaU*Y>ltEYjf`Bz zRuK9g4dS^y-=4GY;a-sGI626z>N~hxL%M~1{v~=_9)G|l z6ZTQQH6+tH9M>6w(Lb8{W=pjW7@o=`NhBK0kBsaOpzJ6kk(YFZVqf*w8l!&l;m=m- zXD(AIK+AsjMoPct2z&9)(X`IJ+3(GEt5xvFUoE44CAtaGSb&nZm6_<}eF@sz301E6 z;?cmgcxr_R()!l&tc&l(HeBs z&zmGD9lx5=`#AHTS_q#iDmESLviLnp1ll!r$2c!3%6_+OsB#s@s|4&^c5v>n-L-Yd zdZ$3o#-qMGAd9pwE_TiuWqJvlu2d6pCA3#;TA5eyd@s~vC*V@>b96CgG}Jue`CbuI zMq=C`80ta6{Z%{>B3mR(`?mVXc3gP_;U2*KAPS@gjHLjW_;tF;^xeVlQtnJbpTg(+ zEG<=iqcB@yKSI%?=hs6TKWMPwmtK8kL^D4R3l`VI*c5(pUu6z2i<`lIozk5L?Kekj zQ$5k9R3S5PKoV@0v~h20EDHu$?)YDkP$uot$^`$bPMD=lO-d2;O|Ct~)rV&9yszH0 zYT$LfFEv|$fBXo^!B~ygVaT63YIWabV?m*NC7J(hKWm6qx zcGBNjklTN>%<1Mk3Qitgs4g~nIp#YqY>I1Jr}6%>)Xd^^bNp!&s3!2oJ4p(L45$fB z89$fy`ryQrz7fWeA4sC%CJX!O7!erffHobA0WiCS86V{~d_gzd%s>&~F{%rc~h^L_+aRVq9^#%ddTEJE)7rB7=R!D&@qE zAA#4f&e7`dlW~5%^Lkv+YxgO(>iVlXjg_!5RacDfgM-00NDhrc$$$!WP5Pipp@=v1 zOp!YWN}UFEYPehZ;qzBpyWTOFOzM)6e(cs0V)T9Xzti>57=N9iq`u=A^WhzDoK+wY zSDELnF-o|@i&4;+Gb|vV^Y&hlC$~6~TWF#`ipREpPzFEZgueUbxNg7Gh!2te_zV7> zP$Jlf{wN8ZK3Vf`VD`b ztFZA6B*!;gXw@>Y>R4n!Udn7>N;C!w|DaMFlw_ifbe;CnbDlZBzTOT8WUW^ zJ=vtf_Kzb8w8(417gB$FteqKcDsQA_0R+AV%+z40?_exM_LH9C;P2XyZRII6f>8sm z7jccd-lKJK`NM)anMQP!B%hN>jcCe0^w!9J9W8s6V||WhP+h@znl)sBI@U z^Y!T9u1x&YbMOahKgLA3m7Fxy=c-lF3O1Jxmc+}7NyjVBVy%)40b$cQ`w`5BT+cCx zU+>!CY!$3gNg(~n>1u)aYJEKZQJn5G|A>by;zqs7&dn~@p(}#-_~TuulCSC);OJ_< zR|_wW5dnF0-9)(^I9v(VL>yW|W|1ggPZ-ghmPN$D>$s+Awiv>{E{N?E;U8rRqyYnK zTG&VEZCEgdWJ_iw<_s2nV^s1d%gEK5w=O+S854OpG2ah9>OM_*put4XZ-*fyQZ+QQ zHx%-x%i0Wj?0?Y`5)LB=RjOApekXghCVD)@fQTmC6~>;ICj_g`0v5Ovq@^n3{qWxD z>2H!^P5fNn9gM4_Queyd<08>MsU!$5_D&_xf^CwFH@uIt{&llzS0WRas}rv3_hpmR z2B}~rSB^88W!Kbz3*L=rx+7l~NJAEe|CJv@k#S7U3YMyWd05zqjsS?ha{?E@=>C=%yZ7O_u6Z(wfEY%03lx3%PBJH z-(>>;Nqt74>FSIDm`X>^O_Ml={tZlN6`w*z7=MB97}{-B>OlrIqiFuYrLmHacF?;_ zbcn`Z0Uj*pfYOOij9DI-gvsj>t=ar9r1B4CwW!)oHc8_f7w_yd>}*;V$1{p@LG3CU z$BTcz??~ji@WYA8Xy(H#uhlZW^z24Ma~Cyo=lf~&N~-kGCTb1wluE*u{;p`(SqS`O zkAB`Q=Y)3{?)(pA<~ypB6xn{;alKMox&;;(9+?KXXP9?%oO{bnlSQ0ciiRkV~&_=-)N@XaO|Xa4iO!gPYFEvuk(a>B~hdi2=Mc4IUS zTi|f0B}MwMR{kmmWf-qY8`ef)df_-?2X3ssFa5KwU}$YjERAN}ZOlN7ysJu?=~6Lx zaZBw1uw^Wlt|h{wc5{KT2Rh)AR+=R}7ozpeB&l+Y`E}^zpZCQ-63&`MxETrOiq}dk z;tCD&e%EeHAs@3-gLRSsmoKWTl^%iCiLK^~buAJNyX*FTUN(Q|M63NsT7s1(@xFJ7 zxLlB5_NPm5f#PKERwju?R(4*;f9|Tox`7tgXR*h3z8lhFn|x6PL3YlDp0pY4+bbkN zab(hYZPO|$gWT%_xl2ay^0PwIzQ{yOd+Mx5n-aCP_<2@==?w77#Yd{>jRud!2cfaA zWhuunncp*(&A4`=3w=f{+|^?FTZT;Y?QdDmJQTWjXZU=ygvatKJJ@M>x)E@i;0KE@ zO&UYLiWfiyttTw(R+XsX6_3VuJ|r9EsYZ2Xi5G`OguK}%T?@w~9|)eRn0ezLnyZb@ z;h?*cXG#r$59NAj6H9Ag6sqL^O@*kw!F>IyrETuzjpfrYGg$0oz>31zS$kkFD-h2D z6(bFLlvf4V8S;N7LbEFM)(?-(OM8VL zHn5pd4E#9JS;<4&>|J4SeAST=^N}RgO<*i9CG$l{nwB?bSZ=V#&Z%}$IcJfoy^>_NOMneJzDmIP3qXu2N0E3TsaYX}nMJe>}ehhCk z8Ig1zrexHX72cpU9z@D3g1Y1+(97VpRjUJp?+{vt^=f^GM7Rn+94cUf;P-BWv)1L$ zZC;aq`EZI~5{A2!zWqKBuH4at3hw`MA{5+zwqIu?l3XJ6*pe~m?G~?&Xld=CSKA&p zFB34GL(G@6jSET%6vK|ph?0AdO(TiF_Kjnk>;7iMa8SbKi|&(sFf^`A1J;(FKVT)Wdqe z_pWUvGiCJYb?szR8-K!<{0Ef20RS0AP&lxIkK!E*AP;3Y06rFDWg>|koJ1`N_ls1< zU&nV`*=`*zigvZIiUAlh6{cA9jp|*=m)IrC{&Mpdg@@akW`v|0DJN z&Qo@196k$`gMi7|0t#8VqAw+Hsv-{C>NV|IBm1g7j8@3Oa>H> zcieQfw6HXJ-#*7b?mP!?c?DkX6zM%5dzk3vfjO0W>QjltHhD3z@2}517+xHrXiguf z6v}RAn+y1UPUO9z2H&tJ`iL;=#ieIX;jU6aw#j&t$=Mpke90UgzazMZ8i&pyX@(+~ z3HkO!Np(0BhI%E9zlE22HOxPbol#h&u5=6lh9J|wKJeOsXXQs(*u~Wj04AmkkCoFa zt3tJxJXUBcaM!pMOR1c9Y_|`bNEO;Az?DRi7f5|tVarhF#xoAk<<2SpH;-U()-i16_vU57th$JL28dK|!YZ&ac&l|QaO7ZT z?8H+)3#OF}zyq;T0R_VNolLq+9%@xkyxu_@mez}w1SxT(%U2X5Wuz^M3kql9C42ov^X98U(@dYyL!zNLnx07bcfn$0d7SiNPBkx|ZlGD9`N|bseB}h4Cs_A(=0% z9*1y*8FlVd35Ba=!rZ-z3E;ikChcd*nq+ON+yld$&3AvOaeL7#kqHq$k_b%}M0ATmhuB}IidcUW^Pf|MTD<-w-IeZv{?#PBot>ud z_+Wa6w$uIR(~Qkpu}Ijv6Ki-S|k9ObPbofzht0tt+_{2RTYg-so3B zys_QgOpqmFD?0o2qS`oUJqN*2f2VVMp6uFMOl>5l1YW#Euhi?CpUKFOPnCve^FR{s z4xX%P@P_!Fz>%Rg-*OWlF^)nxkyLFVE_^e$Pp17QK`<%x+r?)}yfJlI{8XjPICh1= z$GlxU^YyUpzOJ^+Fo2mO=`p>4>NN9=SY#pT4y&$ue`SLkl_!rr|JwkrUbYnXJ zCwSZO0I>8eB;k4!{_9W~!)pB?crvx`{G@XIw?d(uPqv91B`OV`jL7z3FjUw^od5LV zu`=aa5%>yJvVy7XMH6xr;qC%s1#!0KB*F{fFRjDh31EoLx3U}i{cdZHDe0)afA2^~ z?6MaNdFn|vl7K8^+~O7$z8kEce7j@KZI|Jr$t#Y2LS%VFaS8G0HD&>EehP6Y|s9#-PYm6swah$!e zUrbrOtOkF$e~c@&U9A*Q=Y`k<~clhtR%)PX+2TQ=7(spZ}e(;rbUVRP{Vjmk-7F=7Ofnm z>NKFA^sozvz76!!K*wqQLfb1gW$Ph6NKhpDpE|^ z{i4hU zUlt?Cud;$K8tt9=FNtf^kBa^qG*NVl1D>}U@)S2?C7XfGH?$%pFW#%Vy;954F0gxH zYk&7reQ;o}zJ!5j0xU(@Z@P7P)zW`E9Jfh$zA#|yx2xc=^M#0~ZjQ5Of)i%;;jGu0 z8d>@vfVv+4`HTd&M$MWw^SnX5^M{>WQn7y}mN(y*%&b#D-H*_0^>JOdQzdO9In98Hq$EA z?nsM5aA*r7lYV0s8Q~jv%e<;!Nc{+!?Z99!0#-*6z?6V%v`?!hXM^Cav4Y3(@F(-B zn@c(?gNU2MK>EoA!n1AhdKZM<=p+w-K8y{O5XNOx!{)H4yn~7zbpmo}`{gayy(kUg zL-g*aH5~7eBdCUz;xT056k%R$ybR<*>kN81R&*R zLKy$=Dy~ordDLe9l*z`}^7_*+8XT5|p-+U`KhnO|r3BC!O^eP_%J@xd#OoVtjz~}v zut)Jgq)Kho(t198%_Wn@>BzpF3TEanoMN@ynLb(*xb`$+76i$%Qo(XIA!Ulv4~ z(lR4W7Pja}wWh1a{hoo|@(B`MN8EY7X!z}o8FLvFDu(Pum zoO~c#889XYZFk4F5K-L7@3|v`OA1=0&V_Eg=Ge522KlPf?OU0>0mE%RVOpcf*|gXL zd1%F(LL|cCA|!?YXo0ASpX^{BI5H5uM9l9=(}*yLY^o9|_DZm%W~(>@;8R#iILkbJpD_t7F( z+p}gq=bhp0wI1`+a+6B8TX!bHWM~6TOPNIs(>v4U4+UyPB-d^m)z+29{bVyu??Fb~ z=61?++b#O{bIbR9!OV-sR^|S4+tIX7{#b*v<=ITHx?aY=_o1!6=-7k7ar$qs9*LwD z^qZx2b&Qqk^2d&B?3(m!&Z!n|ZVqLN&s6V@2G*S*x`K^%u0hKOe9_VAs;T&yWP3E# zBCVMBO~=?Q`jtP%OY~CWNQ0lg$2|Ye>NV9ckUXJh6kJ(>hV`on5}>eR+V=%MUi8Km zx0qbG-&c^pt8^?+(KjIZ>)R@uh1A4qD=A5A${b)pV&}E(P1?B3k9UGaZuk(rTq(6} z_K6Q7v zGVcsOBO8jNeh4=0h54Vhr`Xh{FpUA0f0!xsH+t`2c&I7?8LP_*50x3sF|+HiNCpcF z)ui&bmmsh&(3$FLYv9N(n8*`tc3;IM;jl^G6%?AP`q}h#Otn|>v%1a2-T7AG!tL97 zWdG(QW+*cu>Yo{o%kFzPn#xCVI5p`@zIT#LwF*v=^Mu~X_;aAo(<^FUhI~$!k zb!XZO)F&kcO9yx+l>F||p66|p!_4=WVJj>pb(f}fr=k3lrxR&jsj2rH!do?7_xxkF zvpgkOWH$1GM^A2dYnoZ?ltc&OzMVv9QevimDrrs)AL!IlYrdqrT^`roYLiV0`uhNV zY{KgR)xuy4-S!cDg3{|sS*zJJggM#Vo+0}b1;K}ctNu|Sl!G;%42Tfr6)y0@fGi>a zDT^RjY+p$zC6wbn!4Cr)0`dMs2a4gr^t%yLL7vM8m^l<>RpUGbK0@|9Iab2OyV@ZX z4vc{#l2vU#WwosSa+T>yEC zNV)%tVBhA1mYUnaL&-B~VA!}vy9W;gMqP^=BH3eqXIq?ZpM(KOA6%?EMav`Jfr1U((zuGqno9Z^e&Q7~e)=fJ4i}47ZV$w)%tqVq(gYJ3R^ALT)5Lm7EVHCd# zZEOE2c3kf_eNqo05`{Nk{H^Y9w=Butzdx%f#_1HK^y*D^v3o+m44!5!_GI4kYt%VQ zNqnu6)q^Ov&u54J#$8Lqk$N*rdCl*Raa_8#j5uOXy!?oNhQ$ynj*~O|EC4mt+W8%pai!YF|a#y6TC78+v~Me^XP5?-Rl2Fcg)() z5dWG^zh<(&>@7@o_lTx+XJ8qr7FGvSM2VzSgFBs@h@_e6W%9gHj!RwMT;k>OQALBj zAQ$Ryioq<9S*a&J>Jh-=V$k_&mP9(2LU7Z}>k9vRpHk12+~bd11ux?B3cO-gx@EJD z-RMa_Ia~4j#`Dx74s;WSx!aoNp@ZWAvvT3914!M*+00hR<#GPag?)$T<#>wga3=<< z@kA?KB9C2qk?${Sc<9MwG~=Uc{BBCGGfwxteJ`_n53Sp)limh5CyNw5#C|TNNA#U> zspmzyR<-q~71sJUw!ua~f0J>bFt1bUJ^n^t&%3p$@$1&pq*-bFN4Y&4lA(iXUWXX& zrwL|H?sY5FSn3b~q?-XVw%iGyYV3Qi%_0-?gvq$#0*u z$$YxLq!Elyu?jDJ4gXl(eY;xlx@$YK=CYhi3`qU@HpT05&1txczQVMEUOtCX&#SR$ z?|?FDTS0opx0<1oT~B5f?bRx3dTIJNtBgfBl2IU5vr7plH7D9c~P(ZNaRP{#VJ8sOWyBh2LUWd;F_8gSh-s z02mIXPb_=?7m5LyUlND(!i{*M+X0*ZYT$JnnXCjh?Yi+%0>pgnw`LA1b3Yaj`q{E& zaR%kho@=lV$8TBE^>@o_)%^Qe%r*@XKma3ykB(_KcJc~48{nUzPqs}`ss(B$@t(Ig z$Hes?-zY@GbL32V$zH5FJ#6d1mMpcgxtto%5adaFODPcVVzVIE?750N!dPXpB2j0$ z`f+{Io;ge=@q-|4f9Q|@!RmiSfo`|Lj_V3Loc*1rmwWYF3phd=gJ)k|7y85oGTtQe zMzNP_;J%+!pL6)xrSLa<;T}W-a8#UOKBMKbr0x!9R^N@#)_m&se$lgdyd;)R+nbl& zINcP5_w>k;v7_H7a{M!P>r3JAZ@P~ud2w>ton-TC#`6&4>{@cBdMFNto$Y&lzA*-2 z5bQ@ot*|nNVe=;0Ge`j&V+x{^a#N2#HqsqHv~_>YZINE+HzJG-A-kuh4-zJN3=W_+ zDQ=*PVPHlfKaiN6^Q%L7MdJlZ!f6slw4H*bhe~Fc4l>=PA{pV+=^)Q_5NP#=0gFF8 z_)>pw`0S3TLeTOWTN3B=s)%4>REU-3Y&R~$cwJ^0n;KOOkYKgW8>fEeosJAs?9nQ# z3eu<$DV4sN{aRQ{y6Be*W*Bzg$h5HVG3F_`K>T{sSt4`ABP?H@XtWSADX)w3=BZom z68!-(5tq=MtI#Z@t%mEBLiXfH=mW(s3lg{JSP z%uc3K1s^+ab6I_i^8cnwc)A7QueNdi#z!}n5j~AwI_=C*TGb@B2d-b@RRO|9J2supl5&E}a<4Jo0hob%#B#eb|8;9<;eLLM z0nAf*Ter=0m0^$LX9t<&uK&(vaZa=}(PD5l?Y6<&6wYNk5^yKz!AHf7-#spyl;^fH zj%cRzT12_(vGrWxqtg=w?%rSEZo9NTq+378fV}%{tv&OV`q9Fu^G>g&uXdH;XGA+S z7!Fo%_*mC#uhtEdt{C2OXo%XJ?YKT@9jBkFE^o{*=hQ_DHjn*n0DB0J5sI0cVFA84 z{nTtfjip2I<tK(%O!pv_Ixk7(MZYvz|olPRId*YxwU@n(Y%Oc^*5vi7BV-GZs zcq~Ah?jw~HquZ^DUmXTT&BLNo#RxGH!*`(4?`_Zp?1$P(l@Qv9e+ZZay^bDQ4yj|O!I;cg&)`5hY~a)X}n+3@_f(JJ*02qEvW@dN{USYCP|d4WYCoZYC%kW1?r`4O)S{tR5jBE6-iRR7 z&q}?$uGoIFni9_(h*5U=7xyyx`FHHK$)U_Qu6UF`dETymC2{PcHFcG!wAFtuBxlUf zSOsPGSo!snNmcz~*uJIo^JuL)s|%J!lWA!=)Px;2tPT&WF)^-5=d&n}!!9tK}L9-`#it1^NQH2%yl$N+Vb zZs5$1g35g&qG#h%gID=_!oE^(cE`(hjM~vfKKHpGcmlXef2<)3PYT{tjx#c&M-R9w zY2X7z5XR=>Llu6XjFp5ka9~%!yEE<+tqD_2`_ z%2bPx>h&_1`Ys0^NaRYG+rT=^*v(EGr@)Y|O=c@M-CP#|w-&seP(w^MQ zH#jn7z?E{Ev_2r81<4=U${l%4BR{k|p##Clk>!+}y+%}Qp|s)JPfeMPpo>kur;iG^ zXRz1&1?ej6aEuUDYhh~k-Dbp zN*-Px-jl5thiKY6xg@tT$wn%DrPOhepq~w@arF6wHcrEkQ4n_o9HHHl+^}~oJ{tdD ziU!cRU8yN8fWl3!q`Q#@3_aS)=uYNO4}SJ&wmqigz()*AH@L5=I6@l$hxH5741ZSb z4oJ4?zp+PSnj*QFCq-wozr?LnR14LzwQ`gH-d!)=-8$Xy;2Gz$sp(E^^4 z89!-t@f=7EO?(R!D$iK?qLHckrvT4qWXiqwJZSwD>$(@$^uhJ!a=^_QY^VIdEg#>~ zv8sjX|JDv^B+4c1F6XeA$?)w`c<9M0d>XyOqPTR&zh8;t<_ahO?ZF-psr?046&r-@ z{jVpd`(6uV10Ywj=dMPy!TJ^o)Cwiy7VLa4U5Ck~^SvH?9WLHv0_A=@V0V7d|Bu~K z?)#912KQ^UtIJ3u(V0WT8v$J)two^n2o_{^y6F6s#6xC+j_1f9k~#hK2f2LA_2C0- zN=+4jld4yqTIYfr$zHa?SfS_m#IV$i`@{%7Qsm37C@bqqN+Al!nP`}PN%%?w?g?hw}!P6qd2N;!g}Muw&r*G8?bwc`VD>FqgL95OsGv(M-UzRUQj^vb;-E z#saFCh6|}S;g!-v;Q~_%u0|@`%h-u|W?$)@!l8 z%fF1e|G)lay&8ty`l+I6BevaQ(fLN}3Fq+@5hlgfc*4*p;;(050vD-f^BK zm9wb=Qa^%g7vQqJ$Hw_=7EsKLcNDs0?$>}{R#l$lUC14P_jf8LX6=Z%Y}2I{8z>zw z$a$jKy5_U2rBu0%?|bA)q^5e(HjC z`K!GYs%CNq^vp^J_W1O}tQ1i1z(>BDbW~~KNkcrk&G!jrdHaj4h@&JxJ0V$XWTjEo zEG+EcS4_+sS#32LULvCBz%b`bD0mpxygFT5n*7{iKYOibN-)gp@G+LnSkNuAGQxqO z%j%H|Pjo-AVB+1u#flXX44W+7vECKzMZ$iGxznD=W!|47yS^`F#9*@L!&Z_zi_BtT>)#Tz8P(+`6hJmzgSQ`;sB2)_rEcDgJ zrk(G{3{h7UedA3=CjGQ8+UR=94!peenlGlbKq4edMUVwmtPqu_m* z7qt8t@G#Mf3SOUP!sulUWvh?1bC-IP znDE7}t)?JbVH1bN3v2g%LHCP)gip`KG%LRG&e^p-R(b1p<+z=;ne2`j@XC?IoU&zwCZ3Tysz@9FaL${~A6;gp*72>nl-T=pNi^~2yVDE$JVxLbcZ6j=rn{v%oVhLQj@ z7zJsW??N(3(m7#9y~q%)9Fpi3`|I!+GbT3({K~X({o`XGb0rH+t(5ej4awA!Q3h%a zLG($l`iwMpfjKmyA!p>jR}RaRzpmzp_NKleBtsuDe+@<%_M@2C;1~n0+y^8X^#G;s zjtur}Eh>q%_B4)8vyRuhCr458i6nDKm}c7g@a$ZcP`~$Yp&KJG>c~9{)8W6@Zc5&M z|E0y|wC4U=_zLcEzBWf77eH^?%hon7Xg8sIvf742=u~9h6Z^IG?c+xaZyo+B9xfes_=o$)#*O@z)l|9+++yKs3FXMR0i6mu#LDLvUl z5=vO)!l}1GvkD8%>m*mplk61)n2W6&X}Nl+=;aG7&#vcH)n5iPOJQas3Bcx?^XA`S zcAdK1He`(z7OHw_8AbzdHCp0r8ld(JKH~3>zGG-aIWwydmoy)fOTse<8{e!eNZ+DP zVm!bdmjc3L!ruaDhTeoSCCcH@n+ELHRHyGi50sjVr+d=%2Wv8DOQ5OO__RAA+Y%S; zOT-mzk_2<@OAP$s@iRb)C?~Rf5Up9l`x+MkFWLlIqiP$s_FYJ>R;Lj-;Z&npa7L8; zsW#*?7a(s;KMf)u@SCd94~XO;6(^P!`v+dBcMwKc^ybawcJ0RS^h;)$C$KcHCSnpB zCwOS(eZ_!)ray3bvx{!%dh*_`&VTKThy66|&-zzkHUiREzGE20sB7nQi{S=dd>ZRn%9t_s_H(95a<7{TI&6e6Lz`w<&-9=ZSe%+d8H~O+t=PV9~_JiG# z*KmrSLf_<%27eAYwgTxlBfjo2hC52cy*(N9y8o0rTHIIMc;Cyqo!{QH|0*8JL`$ z_lwxV0>HXB{R`nPAN(GY#6>eI32Y>I4mJ%?#w zcn4sFfdMV?#_i+arROvNmB{?x~#6{fZ8}7&m&Zp!C*r+QD z4!&-WKL5eJgJai*$TSfz?=tA$=hiER zId7yOCx?5W)Inq zhO;N_07MN$)nz5h%flxPW#UT{AqGvxC_H{o#)Yt*TQ{UMio9Mgfb;icc0g!huX{@R zZOzOhf1s^J=Kw@-zNr{Zn_@>3ekG+VQ2W1Md;&sV>hhD@4Qy(o8`VjifS$aMfOJQ{ zfKh!>Mgvk82bhB1M;aX7=*bW2DhjoVgh*utEf;Lq+I7B*=rtus8F3^T<9`@$mJZ?O zgL#UIUPGcmo?T7DdLehW}c)0g2lRmvCKJ}dRDy5NW0Ywm!^ zr43P1S6F1H9-fmgtilLC1tlPoq-r3}(3wGV|FC;Req=6|&6M{1K_sC0OJD7<(lb?A z51sA43C+=60x;{AmDdAvMbtn5a!L4g+zV1?B4DWcwuKKSz3G^@%TLr^X6@wbtgUOA za5@7=NdS0KIr|VJK);JTulx6c5F$Z+?AnpbJ%5*9fQ+-XG@{H5XMf_#LosB&Rto$# z0pZP{9OYaErFUII+lX~b5YPgQJ_I6jkLh#o2pZyaum?G3htIX2H!Qe9|7-zmR$w&+ z5QELy#hd~m(I3a_E@ryb3V@}7ErO}L$MGT5O2EgwJx?B}rHMmn!F1a#=-(sS9hwX$L2j=uT{ZyCXbJ>Z57$H8#IGPUy?%$5n>q+!UFC4aG( z`M7)#jOzE`{EZt-;sFAYNCy-k#S1}YN7Qfaq3&Bw-*>(UjLFCuBE?UA-25vZGFY#b zl<<5rRraGM7~G&aJw+fC0fWMK#FPbY*-C-{{^=M^qwx9Txc%;o9V8&L>%2mHW#Bt_ zh%wn*$pvKl31yvjz41tK@4=L}%mV>&X`e2U?`d$T-l3N!sZ6FU2uJ>QA^eH$FQn$d z2uLF7Z@<74Lce8+KkHy3ZbS0_*r9i}fb6z-$L6CX$9HMWSsAZ;?y^5AO1j`NA!89! zTvRXFVxkxC@uo9E5GsJp9XNJ{MV|Qe%VabJbYcs*=h;fYhwC*kwGW1(^uGzU811cj z5t3`$8N6@jom>`Ce#1<|&SeeU1c9g=9tXc9XevDlTO&Sofy!>D#!t|U0N|Q6ZLRf_ zA?}A3B*tixpkg}&H`m3~&WZHP>k0b+)7PH{W}GD)j%DUwpI#9U-OX4Zo!-r2QQ1x? zmxRp+5Nj5VuH;WP&4G_eEKMdX6Hj#YcE5oKMC7OpW506W%pV(KVDzGCVT z%-$>VMej-0?)kf*bJ@#QO2p%QzvrB`Y>h-0F*WXGrDrERl}W zYl89p1~TaszOqgg@DkbIc-PCdQbTl~KNw~Nnx;hLKFWdc!M241 zJ#tAIA(|WV5+gm%?SOz-sw<6vy6;<1 zTUy+V%6(de7U-0WiQ#_KTIE68wss%|Y;C{nCbXb(16i65;*f*V)OZyssQMrgn%V1_ zjKlT#4A^Bsf~Qf(`^M?U8>!>Kz{?wn637)8R6-_gM-j;DDFcgKdhGz>iC?d8<~C2B z(%M=yEi5ug(`3G)#6i>rwc>@N2DIfvj`S*yLxNmRx-9UMf%iiom1?K5L!PDOzeO6- zEFxdEy}=~Avh_@H=vl%{nq&iI&G*7n_IM$JHszw#;qX|bVWi|G#SatgfggRq3x~a! zuM0Op@U{R|yvP5eijRxC&Dw-Lp%eT*jyqEWs^+~XhP|{)0(0B1n4Y-NiH3ji7Qn{AXULHl+{^`GjH~2Vq+KVJY1Y_8FV$~9+Cdik8z!R4Ut!+E#sqKt zS>yG-rcGltPoPMs$OG$CI%tsxd%!OKZUuNQA3BkWh!un9D)Rx^KJXN9zNX@`z)uA5 z%jgSDh=d&i`Lv0ey~ja}zapszT|f!LtoGtK#u)&Rlm82l2@g*ulqS#~0y4G(F%ywt z{QSF20Nxpi)k7u?4S_@bh}QOX$n|d7k1lULQGNi z4%YB#7FBHRVb+=Eq7*PZos90Rstf}@`DgpmmRUv_#RZh-fznUC>`I`!9v6Wig<{;FXb8wyTIYbW>xO*f~FaRxDA^HLPsws zxb>*sZ4#;8KH^lYG%>_cfsoj07;=_`QO#6%mZ=sdBuq$F+0{z-2&6LMbm|PrhD@8wj4F%SoA{p=AcFTsWx4`(`v-Uu6cvE_$=A|!SKCzo?dJiYf7_%&GS4a) z@&@MAO+NnOR3dBcMd{62!Y{oUeheZ{?(`zR(l+pP=IyF(43la+B|2{?6xZ?f6z>n< zShVN;mfAjLicPz!z+}J>h>8nZS^GJeT|e?+$QL4>-G5lil%|`XI%Cii9)5-XV*!P^ zIF0xQk*e^Yv<_Npz)|)ynvmsKkN)s#(}N)}F99l`YV(msMBorA;q4Qoy@_h_l7Vi} zCxPQ@b^rJ3eFOJ=B<5KLM5S=*gMhN}PXO_Nrkj!BJSmXU)8Dz}tLail<(zL=q=(+R zGG=23_=5?6`OH~`#I7AwQ|?S^2nPdwj@>+`vPmv@4w zN&1irN=NWtD`Aob*)5Xy0!n8(YUhit-wR~aPhnwi>fFiW#NRgSZl5Ukl|rH-c?6UV z2iBQWU0yJb^#P6K@Q^tD8+N43$|fZP9CgaJpF2HZzMx>5jmb_G{uSsQNw9)g#|6R~ zxFj;Q9@kZtU@$C?=by~HU*Fk({#ogC!VEOSB(Mf<9(#0r@WVhl7<5BLMs9G*1?j?k z950PixF9M2k<_X=V5MdzTS@o~9opdyQZy5gzhcKkLgfOC(Sh4TVlRkM>h<$JvQ#{xyf44(ReTIh^0;v2xgw1s@hUuE{R&{CZg1J^;5goVa5)(4 zo>Qr$5D&LJF@k&6^oDII;8EDQ@J7dvbcKJNy*Q73jPYf1vJ7z^Q(^k=-SJtC?5wYt zDTJ5`wJXRFyb#eYm;1pTBf_SJKikRuI^XcHPgj5tbhR7~s~7@chSQplmVljldAtCi&Xm$^z!&nPD6I+O<6hz?oihN`@mncCeR8C&*Od zUUbT#qZ*<^*+wph7^Z=98l9295C+Pdtsl?lu^lwy`P-V?+Qvmc{|=@R<^{u1od+^h z6h+r0VDZ%?_zde3%Uvmp0!-*eU3u_nVmZbe3>e<@Lb3tCQQ~MRcHEa``e9#uk@Atm zk0C}>gY;ts;z&L}RM1@kR;-&p&X_xR9406M)JHBUF~DpRA-IFetUeZ55DqYt7!@?L zoj2AOr%O+)9eHl8bmhh;97Hmy+GcW;GVeZZ1g8|`F$wWzQDS|^3fmVr(SK0CIkR7 z;)Ix`LAvsah^75sG~io|XSt;CkJQC5Z(R`T=T*HWHs^RoPSr+rii4TJ`?M^iV}$Y# zR^q!1^ir!lrzFKm*!fR~dAs;tkv-@K2DSlem}WK%>9@Qy7ieqcEJJq%m|+iJ^Ng3F^-Q^C z;E4+E4+^F`bPLsy*#lNlb-ZJhr~a_kLIzfP^#Hth>9sWw*qB-6u^{H1f9#z$fJ!r+HuK3NPa;t{S&tQKahTb;bi>~SoU_ut*d}@d6)yZJmt-R z)YZ)&Y-h)iL4aXn)&;gkh!EpA(pMMdz3SM{&r9cVWVlq^L^c&h zEf+=bLpSa(<*(Z0J%3I9WpdCHNeIcp@ZZ~$q(tg+dCpwNhOBD9#QWUK;OX$zea3XcX?R%@U|oUZiXXVI?-#ir!N%kwff*TIxzpEpVM$T6|Q zJ#}oq+!zu3KJuj-gLM!wp`Xh_%00YC&i`dUH%(#`f9XAk%kD}GJp$!%*?#GDEZQaT zkXA(VfCoJTYm;Dc_Xqwzvq@BJrZm*`SCXK%U7S4pdHI-~$bGsgX3?xIc?|uNba;r6 zm3@~%!$S(gR|lL=cdG|>ffM(4<-%1k&T zKB{Ctb7aZ@gNCmsS~J?WpJHY|TWKyj?q3T`F>+W)WNSTn#g2~a@ak#kvsl#p-@)OW zft(R`>ITK9iV$`mbXI?nUA^XgMswPBHViJj8&HNvt?eCd$UqFg17I; zd7K#3$W|IIiCMIVxtniH#{DxvuiW+i05)vcdHLWz$#qs#ec>CYW!YBa`DS^mFS+(l z_pKFzt`eq-2iK)$%nu@L*&>Bel>|r8)s#wKzUyuflK3W)bE*`g=fIdSA&*4DpFpOb zsnBcIRb^7}AKfuZA1bs=28Begr_K^Oy%y!zX4X7c29*$YL@+(#F ztmTxp4`h5i2$QI4$fUpYkV_+YTOFzG*Ky5A%7V~byUHm)_cKt%;T0IBwz>~vW>Z%v z=i2Dj9TXJiS(fM_wfF9q`MH}wC0ba;!)?w%ssvg8)D!m=m;g^RI-L{HJEXuH%o3+7 z!IJonotE-?8DqM_mU2w!(wHwp0_*rZCGDFSj=<>)50^y|Z#}x^{E>hvkDgekq< zTP)(B-e6OKgv;Q8<>|k}m6MxF^U8ywnqIq~W-f@2`aOj3?$)rA0sDgRd-}U|1xM&3&fV2SXvm1w#5^vpL+YV~C}IW}V|_DO2XEEKS*!2Z zD=Y!aLo|d|ziOwN8Twf19T-Z}Cji*9sxYJkB3Err2RMy&sg6{rDtII+^^#_8U!>_n zm7;$zo2aqUbg*+?tuq$`TEc%cELXTVM?#zcx8;OB8YCJ6}O1XighCNRuT zH$s~QT(48PXys7=OQ2x}b~8YWcq5>muPN%}RJfeHZ*8CrGP$@ErSGZs546cZLq_h0 zmgCVY*>!(*@9&-~aN!)w=2I5BR!p~zj3g$?=dN=O7%48>`7*1c{uoSuWHYlT@b|VV>ypASChZ2}3;UZ^!SliF30*i-Gf*=)4d8e_ zznzt|8Yn>DRAp6N;ATDoOpzIfJ+$DPj|xT%y}1%Js9sjyl`%zH2^xznP)rj--W)ws z@e)KVr<6k{l|kUW&z-c7o(j9R>nsrMst367WPa?!_~?Z{CrgCK^SH88t&)YMO`5oZ zT|uIzh?U%3{z1P$%xp`3mn@Dn-e|T3JIsvIaHv=@?L7Mkqsf-}Ti7sd+$&xs+RVI$ z+1{9TBLtN?9+~8?-0t@V*=0q}(}bvPnvrbzrs~ zXm+?=yG&O*(v!0;|0vMPes;P$-uL2qyncUpiAM67jWQT;o~NAj9&x?`4;xWR;@ugp zW=U~B>iUhn*JyNZW1&#L)0|6#n&@qvb0(AO zVh^2GnGHEPuX{9KrG@yec4hjN^Y&ow_1Tb%k<}A@BFWkklOOz}q z(iER~0>f2n0&jh&dEi|;ROt(&|ZLx zf(IDty;#v&%i{QdG4<6^QAXX@A|N0g(hWmMNhsaY4bt5u-7Vccv@i@QN_QjOUDDlM z0z-X|@B4e#`u<~qK5OQ=_uRA3-us-3N5nmDN{P~x@Oc;8h4>wS4gxU7z!GBE$t|xj zK>6Ue;)61ikPPm4oqF3np1rjen2pW{zviu*oF~{M&}Uh76wthdLF_guF;l3?R`a|9 zwBh)*y3nuOZYS?LKqz>{8uZ;AfEGTH9TU?Y*Nj1 zwTCKTc0UmQVA*AiiYL4jaV*x-ARs%n^{JkP7Wvoh!X_HZ<`89Q%0RPE?%C-=LSPWNo}7r;YVBuFa^`nL;n?q0RScC!xZ`A>~T@kcWy8uXn) z8L8{zk76dAHY9BBoE9=@Y`_B4DHz}(eM*X18BrIPMetE8yMNw zAhkuErMk>WInp>r-HNiB1Rh|%iHzBQfDYLbUyid6(EAf7wChBG%(O) z;9qy%Ce_){kaJ8S-nOzBn>rsDe>_Klti>%~$^9g+UOGc611Wg`<7Ald%(Q&!!oSZ z#gw5*pWyV+;sdf9pvSj99tR>JW8g11KTklp76($(A%h(5n4mTtUGi93TY>s`JKo2K3R*d0YnG*?uX477Ns?3B zJ)|Ny2q-}r2rgs1$**WC_kPXKmd;l^xc$Vam~^wi7@Sw1RX1GGRo6FM@v*f%NQot} z_Lf0ms{2(t^RrZEXwO1qJ%_bHzop<-;Au(@oSZf6Ut7sBCANUxo@V%% zCretk)}EbOYN+I4W0U@oV4!GEPWB6d&yRgw0Sz)0kR8h4Ju5z8mudBOqElC!=_LuBBbqCCYIM;m}3S{7~I{OoV;PD9fJ~M%K>*wgy6hi?@=O?M!%p$piR7_t}}eM8((QF+wH8NqeD>mTph^rl8y_BmCi4%5LQ!q5Bv3(*jqZauuwTNk{DRZE zp+RWF@Nh}2SkTiZkUJs%N4iSB6x0op#w@+c9Plch_5?~9Ayb9{2XZsKZ1Hs#OYMHw z(U`*WHoOQgwm^>cYw@t`IQ!S$c{!&m1Op+%St@k zAuT=lIm;6(Gv>I}h?FgzEw^QMR~bZ319F=3HEQU!gr_7tZ$U_qF?(DiB95f`LO?`S z@)uOlPE+D)Wj}GEGoE;4$M5P;9Qu4;YOon_zZv>^=vKqBjR!C%168HWIO5jKr%;mi9ncl^bC5n+2Agj5EUKkw7P zvR>|mr^iS&Siqhj>Ku+DTI~>=&HL7iy@2vh2Q4o*hORo4+jqg(@NXv4a=gNxuIv@i zpJsvoB(riJr5uFXWaxjb5;a^mcCs{Wh+2*+y1p!S%oMyGrVNW_^9}T7xJZ9KL!!Vc zO~0NZsc4f_Am+A+Z@;O5Og0UtsZ~dYOeIxw=u{hv%aUsa`-xZeba!`rjELWnjH8SX z_#6Ks&Gvjjairn$u&V&u3wV@*osV*_wDx%~d_$o)LRZ)Z3kom#1$|E za#!PnCA2{615ux{DrE!j_5{~Zrd++)?}5ZLz+ zXYd2;`Xz3|smJRg0&`Rq4M3)n~}E58+1UWE6~BZ%2`?ICpHW~7rR|Xp zx}~4p$=-eFP71|Ah{`2rc(b0NnKI1IP0?_b)~B{p1N|5CuTK}nO3LFd>6H}g zlz;xp5AfR~^Fswuc~MV4jPTR`L7mhp&c)mY3lOpCa0@U4~HFX)L0xtNf zUc)$Bk}?EFE|4Q{9XDdbvGK$$v5ZW6m*cI>=^73{d{mMoTbtP2zY0t^cEVsOujW5g z@dM7WKy*?idf3;ku28+&7~ARYDg(XrL^Q|sONJ(4QB49KATMPFTLdQD5U>5dxM~g- zny1)eBye227;*IbB);Y$FiH$I9yfj5#z;T&l>E}sT`kOAqa1Yo8z-`x%5d34 z2>{=4sW;GL`{G*r*i>Kzj@;|<`+h?-{Mo?Pf#NcA8opDl9>Z9AkO*+RTl(#O>w9qF z9eT&>1%{8_(%~>*&EBtxerh0^sPfIEGCT8%DHd!sgFsq*T0*9%TCh&*1n973gOTWC zkg&uf`xQANp$HiCBv)A`p5Ol3B+Cj|li!&_3nHO-x(tl$;3;hebMwjlNZbSZvySmF zW(HIco4v>!x0uYY1W|1UyQPNs-UJRg68GZ|u~0KJsF_AX@}4{0`pXNwFq9XSpnASk zzZq-*%;d>#oiZR|B2hi{Rq~;k3MWY->ey)DCeGQbr-{$urVBPqVCT`9bjXe-IaZCu zgq_?Xy`pG9!*8oq7$2SpBbAsFLmla@jvRR+WF zW`V23mQU{ubk{wBV-ypGq5&R@C&!*2E9vqg6q6SoyHOx4=G-aDMr-cEQHLRtLbg(Q z3OEv_sVxEv?q=X~t3s2wf$yxt(7CgM>HqtB9g7)U%X-FzS`BnGS_`GGD2livgL+6d z4?4TU<=Z`n@X|aMQQn43VREsad7^>Z2IW(STO6K_Et@|llJ3MH{m%<9i!u{6%>T=6 zaD;wnOV03_!|&wmB}cu(Zc7rDED>$i{+`s$>%W@;X<$ru!`;t zK|^pt9znO;Ji-@L>3HHYPO+N58b`V}0`xWTsfuu(Lzo1CYyzqHx-88pEBnXRJtb8q z=`Q!v7e>}IjdJ;Afn6D_0TrN4=wE&j)V_Frxb_Hu6_3m?gTj(<^65ZfQyH8#btY(_ zN1mF1fM%Zu_qQ5s9hYz0E=L`z*O+AG4vyGb6Y!Pn&g759#VCMa z=h8Od9BIZd(k&Di$MDHcwxnMPwJ_lBGEEzeajpW$G8hoP9Zy2wgf%<7q40k?y58x4 zG0pYg45v-oLS9;*o?)%O|2P=Ia1z&E4ZIo2Z6}oC6$!_XibvMwwaS>s;S(6mB0VH! z&v6cu+U2wVB|%gUm_qt4t!%FqIQu;_#lWA$jl4&7Q#Kwhv^rJ>Au0!26`XkU5oPmL z{ysF}hu0OPA@=8)T%B#?(a?ed+92c(0H=@lFllVjplHxg#-9fyu!GGUxVo^!QN%CmfTohs zqd8FJJ9{3#BjJ~13udj~lIH~fin43nHCdn!4~d5<`d_K`wByk+?9c0SNh`={98~^# zpijkjQ21#9qHjj~+4>yHrW`+(y>LbWPMtc8iUJFa zk7bCfU0p4ld19^>D;UmV$ue=<$u{s?l*g8fG5XFw`xL2jSL_N;I6dkb5 zXarRH0uPO{ygJ?b0yCtzCp;W9Or>mLrCV|VX<&{M6kPta$;pIDU7BoE7*cyz*04{3 zAU1XA<2$~$9lX$qF15m%-t$>Z`y zF$)>5KsI0(z$0M2q7Kj3W3SQEjmbCvF=c^v#%Es>aN%u-Tj^*Sf1`VPXGWR>cT__J zBML9p4)^sZ-=ZftkLl(tfRW+F#hEZLt~JF_st(YlSmDH4;;CHqi=iN`Qi2;paXg}n z(RfVgCA!3{XWxsXlYbQL-^tDiol2yMA(X9B=JU}2ZGA=s0e7`9Mem|hD9*DQYODzt zHm0}VuDy)rP(963JX4kFSJR%LO#|Tw^V81A+(TM>r1QJZT2oeVt6R>H5s00fd7OH@ z=Q8d={(F>tXak#HdrloQXfD_dQXgevYt7Y}KNbY)C7_3f@dSPYVG{+#Y_j9&)I&x? zeudAyK-17OFq7N1?-Hz`G3E11vv}reVWFnPafI+M|0degxn@URv}VQ6dzkx~VnzEM z^+yp$&IColQ97nt4B{^VAF(Uv-wJF}mLQy}tD znZwKDo~thB80uTp60=J)4NW%y{NHpuM%%9dWju%Q=a;`o!nwtUzKJ(G9>NbqZ5Isz zwo!@JZ|IRES&=EG|E8NE+fcbIomQsCJ4iN>WK0a3N^=)j{0Jx4ticG`_KL~>9+=P+ zH*B4#8l8NT#r+#`W2+XkN`Oy7u|qGWm|sA=c%G=);7TQ8XEIyBMy}t}f+q(EYRUb6 zXGSSjQ_{9>m8q1$YxJ0O|8RZswrXV@q>N#7`rMguP=d;cn9RMSSSf8|ft+j<6aTBo z9=O=dP(Z4=SI{|sykZ=hOTzvM=*5ce)E4k zZDAh23JrA)YH9U(up{O-fBWz>z125~ST@{pyJ|XKuGc6sU#|G zFNyu3*5ZC$mu8TcI+|7UUR11$j6@pxU85{r9bK=Rs#E7p$n>Dgo~i+67qSM=D4s37 z)(0{nuO$2Bc7>D0TI18b>UTK%url2khAzlri2LKedZ8Za<_nq7$fdj0Qfk=Wqv9m@ zv~qo##sl24LQg*fEe5DPR_H#HQUrbIOYil+Cdt|54#>6cG@Zi!xPf< zb{Be@;l*PvE2J>9k+rl zv*BzV+wfJDY!MqI->zArE?l`yp!}82^JEW&preL*xGLX83Y@CXF%bU8!)yWAH5}P+ zA!$>L6F8Wr0_5xoD;Q7gRVw#fC}(lLv?76PLZl8aPJU|WLCsI>Rx5AJn8V+)e4AK? zme|cn`GoOSN(x`rF;Y`A%`uj~Pb+Afr%HJfCv9wp?DB(Zq%J7{yR_i(481*B`;=dc z_L?#-#6q`kzdiPPw2McR_UL&XSqjr=-M=E}CX}TF<2mo&m#9IoWY1c!LX?U5Kcy(E zF8^F-;TI;Yk2Hx}L36dA{;d48&;aNB?{gEsDd|hm( zAnDHGF*IyCCtjvo&&90acSioSecMrt%V&nehLE?DvIo%|q-+~1Uv3nAxdh6AlU;>w zk66MF--KRDluD|=*Bo7$hs6#ZqXR71nmO~RsGymZd^LJlO`4&G%%`^cr(Vne>ECi$ z>pEC>*I)EtL~xbnX9lpdcwxmTHqdU01cO(}{L2v_z~S^NY*yc{<~vY_WoW;(>SVV~ zo!v9ow5~%}86enVu*4G&&mTt;b5{0Mm20D4riCZwy9X}|cl<;}k5im;z)*dKFTHqy zf*$9O64!qgdEtuWxPE7T=S_Chz<qAk4!Z=S zHfSKa1UI+ib-hQ(R_6eX0rWCI1z4H%c2xt#X*pS~68*x$a>~>~o^lirCJWez=p%5} zX5JpxTpzAIk?rj6u#XsN*Z!(b@_%x8k<2pIHZjX62>t-fMmM~B9ZSd^7ZyXV5Szs% zGqm#&8j`lNvpdzwsFq$R|4?r?d)uvwLW^U961H?|M@ED@I(>jjU)OVKM#F#X!BYf5B%TmQc4x#1=o-e4twn{5sO#=c_T{HlMu( z6ybFQqP{jM$oBijyBj{_rU%JmIeIx1^>*JPtoq`r5}8XSb3^C0#e!fDY36|*hDxbS^+N3Jlek6YFIvX8q%rsHA!1gIbX=48EvKBRA_qOq+4Z*s@0^!U<- z2Zr-qtVmO01agvYw{#L{;vqC8&ISy9)4cB9Ae!*v{-Zh~SYr2dX?GH&|85YG%h~fy z!J2XBWKw97i5s}E3F|06R8^mhJr89&39I&iJ-#qRI57b;U}o-TRq70(?9i3e(0@xF zpxon^lT)YggWf4SQzuwsxMu(Cu!8m=7m^DytG~nVte^RVWf66e%+DaY-gLf`c2HyZ zNPR=};Ttj6*8#o)99erIEVbMVhrTEWvBAV)%I(S4o#(+sFWuuEWU?Il>m{UU8ctV$ z`_m2wV&L7jJo~il~w~F=9(xV685B+=8Xr0ZSEYQ4z|8&vUP*a`2uS- z;t#G2bzfI96-kBU_r||F&1=yY`Wbv{>zS6h<*btj@Ks{8K-~YR4}f}0wT--}MN6^o z8#oz<7dnsoAFgWd=5)T}1=`9(aF9y}HVzb9Nz>w-T+#FwgNVX^;rh8(y?hcE+&bqx zQvN+|DzJkl(zi)?)W8CVg;L0dM*ck_rH3V{QJ1d|8+4rbncMw<8Ql1I&Jp7|PZhI+f-fah(~R~#ovGLBKT{|2)+;-|%Iu-uL}0F3 z^ww10C*a_QF>k<6{}lOrx;|#p586X*6OcWvn4b+L2g2uM1F3kyGlX0T0F%c6CDQ_j zLgo*LD|9*$WBRkPSLq22*IvV-+^>R}>-#*e&QpDj{nhD1BZU$#-9%!)7VF8d`Tq8# zKY^G!_4%13zc=$nSMB_IKd`tP{}%Vne-~HT+4=xqmiiVNBD#q$M`R8CVkk`Me06EH zS!-STP*+!1`?%tfEIgD+tDp=?bDnsOJid9c&1jfBE%Tjzj2; zFB>I;m(K&lBg4x(1vF5F*{Et82j(~CHf8%F&n~xc%YRr+tOI)K)tMM-!JOut@PBB{ z6`+P32mtUf8N-5awn4OjNvHivyOiGXY3%&TbN^Nxe}|HJ!K5vf9|t<=z<*R94R6r2 zFId9jNZNLoK7P~3GlaP8A#k$q^hS%a_ozY7Oa69+P}gy>pKs3LA-#}kgFnYP3!<8( z4lssX*0MDL^Rp`M?thd2NZ+vlpLDlMF`~_EX(yXUlrk(yi|TnSf{yAh&Kr4J@Wi?% za}Q7#EN-zQ*L%~WR>z{d&*0Jh=!_Enxl&3X(0~TLa!j@jp1%~c9IV-=5~1d zLj%}f>A!!{e4W1wV|jk%BD|Yu7_cmERuVR_xqsm=V9>!5nRX(7@x1)WtQnEIcwX^( z;lexnt@ZXfn8pH#vztYZFL4|e-+hOc1LPbNGo0>tlW<<%_IeI=@^SF+X?N&f5e_H;O|{=dMlXY&X1@3 z>`9ge@4LUPQY0kDBT^mhynkN16!`6`-`pxakHYAJ+zfo<}d8nVTixvs*zwe_qIJlqtfOeLEiPOk@oG zQenT#r=2j(V6{(2$$MpER0lwk;C29#e1_QhegI^Fl}HHab*(`ex6nG{{kx5F#mhJR za}G`2WWc^12ev$}U);O{uh?#Gsy9sls*8p{9oVoGwP+o|0Uoe20Gv!7I&d=7;5V3bTGWwq(#-xz0O#Zx$%$GRihAVv zl{TGwc6P4%&5!cq^*+S~o(II<6XG19w%uRjg+s|1E5cz^>s2imQ) z3zxuerI!*n@1%KN5-JX$u;zDKEP-1GW>4-;uV_j3wJLU~i5mrmP88Sc?%Rbustv-W zA$9Qh!})sHaTg;W1hV&CBHAm;^2jQ-G!kVYY;z90JU{zq4SaH=8vW&#)>{pT{5ihAvHCSj&v;c!EFM&LqPe${55UC~_kvC^zMPZ-a|MWci5h-H?@y`Z& z|DT|~rkFn12`PVDQX-HlVJDm4m@hqt-U)Xvnvm|iBI6|m=o!{)-pdCnUK5L^R6rHo z$?-{M-})ztvjSgb-=$U9gY_4HC&yY&Wd;E}x%bqtKxrnBV?lO(05Afixt!$vS{*yc zL8{T}X&&E|#n@Ry!P}RLThAC?v*T0>!?^!U3L%ywc>__Qsv7w0m(l`Qp`l5tIV$px zYu_W@4v7tZZTya0+k;+WedS7c=-F)(mU(d%1NoNiv67qw?dDv^ly9L7#}IBIL)LyK zRN{r-d>FMT9(Aww|HYq2k3X+y=+L0Y3~|Sn8>86T!w|MRnAiXo4I@LS|G{OCgP70D zbu~p9jP?)19dF&%El?uHLA2pH|0SViI8@Scw55LxF;9*KI@PvC-ap=A&HGNm zE5II5w<0W~LX)~UwE)7xgf8-pM5osOY4-;jK4G*Tk>!x1xC5`zh$bG0BX_5D zGB1Ihh-_mPKn8+~6UZSy=@(ZT8GeVmW)s~i01GqQlt|=PzVT{{yICd)jJ?srC{OHW zpL5U*!fp(ms{a=+BeZ}82Ah02CELWh2cI60c8r>OF1vzcv?m&w+N2_p@TAc|^dxeq ztR;G}{_@C!VQhu%0}72fG(|5#6JO=w4IG!dD2DTO5t4`dJprh34M2?sJ1m~l2~IYa zP1_v)G3_;awQ9o8;TGd>q;0s4xH#-}`bklvCx)7GfG&bd5c zKpUZ~jzI5e)ajY$QxQ9uhY_3`iNj5vknY3(7ycy_$Nn7rGApqB(ZG&HFsS5Zmp9kG--*+QoNOa%0ZRzOiL_o+P@>) zuQV4Y91Lgyo5+^B!}b)Je5#z3A~~QSp`y~VOaP#{ns#uIaEl(Pf1sQjjx3`0zhu_V zIw8@Md$mE!pMRTYxR^-n00Qhck2?u_;e*c|pwoT;cNd8RT0LP#0pswC9niS+V=cF= zni(h@;D72c5cMhteN_9y3|6Hb&`ooxE{eYs(Z)!+2>T7#?wrImcVF+Ui~M12t`b<3 z7Iw9;xZFrLXoLceHAh2hJ}j?g|o4!Y)$1~00jfzZ%iAOY)JO2hcFK_Fbc zRf*MqfnY!#Sm?5@Z}?6s>A4q4qx##I!xE26t37dTpK0p23|eiN>aSlOm;3B_HyBFv zBwtCme;xt>FlhNN0FKE1@fIXVX29QgO@7Sb01WU1AorQI)kDVxY`2}jOn?;K3qTJ( z=YP@`31G~*241mtxS%)r76a0sfeirSl6ETFpoE6voT;$TZR+4(?8^X3GK#P;K1RZV z;X6%_krT3)1`2lYYkcX3DXb=xE*46RVasI&pYW&aW-S0;Zoxym!;9z1QuP8#=bhnV zL;U3)ja;Mc_s?CIpx=Oi7$SOwEyep$rxetEyR~Ql=oL=O3e~+wjUGHhB@4Ou8L;DE zq*pCkJuo|hs_n-rgO={`(%QYtgY5^t&ktw6FF0*QdVs;p@z~wNKls~$5A7kC_~SFT zgxG;g@Ei7DH2C5&RU%Wd(1LR=N5Il2fqq_$;}Yprh?{g*0U$$VxCaWh-Ev7h=Lj|V z7zWiOXsGJHy&srs!kz;DBNP7-_&00i^1$G}&&IqF_@Dl?D+t_tJ~08x09P|7*Go7% z06)Pq@m><#NscbrBWU=T-DJ`n0$bKsM2cJ!Li?#tg>`}`zF6L`zLFw--l6G|VCw)q zhp1wH@n&(*qaNN5*ij^2U&50qzMuqnKlEA6=Qw$@y0oS8)Dnf~_p}d}zVB0^%Ou*r z)GY#($_6{*DHpH)2`ha0?2l-8lbYQg5{(w*g<%RdtH0+%JYHx`LYAaCr#-z_Qy1vcO<3Xn z{@^C66x3{cJ81tj5}H{%b)OnWCbaV(db;~v8*OjpSi5wdup1B1njfIu2SR!CPS4vfo#!>=Z0E{hvI?7899#~NGL;gwK)A-$WJSt zT+m-WtKLDbGX0Ypz}8wl4yf3akonwBowRs-of9i4vwT=>bKN`5F8Cu;&lHO~1No!I zL10AIg!0uCTZJeN_|%nv;+X-nQ|*KYTXm1;kirk-&yU_6dN;K=I*5{(^ogH1-rT2*IhSs}oO82%TCeGq%U zWx~L_VB|7bX+)hqh|7bayr%>il;261)3h&=)2!f`M17y5D$QG_Q&s&CPYP`d$CNE8 z9x@h;GZ=gKg`LXPq-1BejbjMbPB~;%o6YBI@QqWuX&*PS*z~0;E--z(l$q zrVt1TyFM76>&|L$n5H*Bnz{LaEa2mMD6b~Dhbvw9fJreCr9dJs?z%u0_m61MshD-+ zkGn9{M3~;i6zeE-r!-432PVDTEOgyx%x(I zqask0nzYjP2#Qq`imk zHT2qH_U8av{--h*tGR7Pn|kx3xvA{Kmge56jf`I9{|HcLh5 zb=I?)*rog3btK%@Yl+>i4MmIgDdksJGPLZNubR-1Ve~HIhs2^+Z}W=Qrs);)dXmIy z>ufM-q#va-ys_4DMd5XLY(MdrZkG5yeB$%lXr-tuY^C{nna+XK3nPorL%5iV(F+KA zHPpv19*}!%CVU!nUImwZ@>HqQVFOm{z@u<3w{P2B-@z4)no5@xpAM@FbZr9yQ z&`tO1xO;&;18Jjc!;kUq2h7}ZVCa(j+2oc~t&L0QuhVcl;q9NCaQJaf*Kd5+oKl)z zQXMIe@zvKZT$a`o(*7N7BG4rW|3W-4O7_W}9!&`BZUzm}l5ulG7^ZzLUi{L_^Z6Yd z6f>_5$6v9rHQ5{*k}gvz8Pyz`q`_duI*{S`8zRY=R2mgW4(!nH+V5hCIl!=+PX5N&b#~eLsSlN| z=qsw5(8a`l_F!QCfe^~DVVmntpPNoKbfngAD-0vQvklkDAo0`5szkU_HW$mDWms|X zXzuq^mIbC^kCWW|Vx?lgHZszucz|TiZWm(3F;ql~?S#kth-gZ-?TGIhn#4Mx{ z5^z%d=|0)qeQK;-0FcZFDEh<1?#a?_a=~~fFzVOs^J`%8P&h>4;&NF`#wuRupXmr8 zO!m42DT%>&IDwQCCGOTPR>V%%tohy>98{0{l^_Sdqdlj)>LJ04`9tab-W`}Kpa8(Sh@Lgm-JdO87P3=2|FZO_W^i?T>__=ENKB+lyV0N7GF%ER+EJq%2KP zUl&}${BKDWp|(ExQpi>@2<-2WsC-#dmT_MGduMXc|2sU%Yrt>lwC-sUG@-qWL}b^o z-s~+BpTitB73s3K4~Dm0$;swdn@o4Io~)K-=&VLL85|xhbODr|L^b+@Drant{f+g@ zA0Tj?=grCHj{h=U`oEdX7Xwl>;l^?l%i?QLpeZI&RiZDz=9n`|F_?rFJHFNGFfIk)*a+n^9Q=tjW6^;)? z2$E)x6f-4fLQNqi2*Z`Gt3%0?85lqED|jS7B$NeA$oY96s!OAq-H$&fU-o}U3;~VO z+iGA7(T*hH_p_4mvpa{+Usd&bkE|x2@-B|8Mfy70dB7fdo89&>nC6xR#oIN_&>QlRo%hr1MCrB^-Jt;hD zZ~)a2q`m+qkn>VZe~qtZ&~1Dv;RmAw{Vwm7R&7q3xZhq1#5n z<#uY@=d}pU|DS!@ZxyJAAXPk>Zp^uR>^Z03#yuau13AJBXYR=JNs%ppF+|nfUA2`q z9~iIW*abnydoAmi?6|=#hs!A=9G0Y-q>URoD#j=g)OxjXZ2xnDE&BpD0#Vrrohtw) zKU;iX|8r$~hWLlkh}LY^9soURz2?Vgqj^)FxUA>Rvb~vId)4t1Bm`UB&E399|NPTL zQ`io)4NWfR9sEpUW793hQ7kvGSLNZtmj%2Dt@k&g6_c73D21?~{Iuq5MvA=VkffYY z)d=QPlY1~t6JUoUB^3wwHlYtJjWOWhR4*35irhK~9oiu9N3|R&&=}RNYW*~hT0gRIab?QVD>%G0TK!FNi`MrE!xP`tH9ZW6PtJ^zD-D|`!$!QU5XS`hPi zjdjnVQ)Q7Gps;}xawG+^sn@(9rSEbc@jutzx{DX^ngl-K(1aMtAfSRqJs(V=A%CRb zGFZK(`ECU52~Z;*U`|TV92Y}DulNrrfz~Tez5RxZSa;D$iWur-qh1h7T+V<$l3tj^ za>T?vUHD6rxuhV%R4v<^Rj0InY8Z_}0m2h`>AX~3%zt~9-%THPw98B^9GJ;?dggwz zmNs`n=8DcLzMezV;70PZU9)@hk6xQoFu9Pg)gQga72II_Za$lDo807l&3+Ck_6u_J z<&!IiEn%#0vOZeN>hrl$F4OhASgo}^+#cAwea!Cg%{cw?K*97TJjD*^%>~v*&D|Y; zrKG%Q$>VHdA(~(|-9AhNfK#^DE!N3&Gfm>u>5lq#WZ67EVH;EVas)%8*5V4pAB%K7 z?59(X=8^A+LF)^QY}m}Oi!B{KuhUZdxq4o^9|}hr#|yxG=w?rlwiI8(+3)4D+4pvV z{_ZD#6196o>3*H9m{!AiS*_MGMw_~9Z_DV*@g^$kl=QS(r)A0MFM8zS1J(|w4*w(k z>^9HN>O%eCH|Rg~vp&s~E3noqwm2Q(cj}JAEkw2eu@oGC{ezcR-=Xa$|*l=9Rn7H?GEiMWhGi?6cfbL4}ocU|OIO3VnkD4C@Aj#Zvt2Y<)f5yIbbj#Wr04VR)D{18w)_=go5UXxy(M36 z;L<~{t|`$i9%FvSzs9-xlMzj@zc`vzYB1s=ZM6m*|I>2|%9HG+Qv0}OdzUx1rL5$8 zQ>yu-7Kd|HYC|y2MkPZHlGTnvn|S+CKrS{fcb4FN$60+-X)aekRzErjJV? z?Vwd{=Kd$Uw)ewndh!R!1?`2e=ppKt2hjw+oqQDvtV=YNyj9JamGhI`n5IE(*f_3; zR|P6TkFIAk88;>7H5N0KqCh9fIn}i0fJ(EQye|D}(`Bhr+KpG@22q z${+pTk@flgsGhw4R7hdIqucIXj1e?wz#!B1OBc@lFTZlvYZmSQ zfFxQ@IX|Jf9_LrQ&}b@nT&DMvBZ;L4KFHRUAL$9glGClXOI220np=}r+7cDkA`la= z612p>Zbu)u{2J)gs5ifRwFg){mwqB$X%+()9@{2><{efF@-4?IVM6L$*^3N(EPcw( z)&3+msJ3477{KHk=41<6{qW^_@br7^d6cUWuhDijU(Cf-#3SQq{Fz!6(`Gfb(Z49g zRpeqyu}K!fs~|QuAW=GQAf%B>+hL+!`IWxkC%n!R*WK4* zYIZ-upGG-`p6sWSX`{Lr2zu4#&l{iW5-wWQV!jn$Vy^4ly5g+)H1M5mbXA=q2Otqi zb_O;G0Ov_yf}T!MD2{Ib#|v3N96A+JGOYsFxovduwZpB4B>s`Yl15P+)&V4_F~nm)hBs>E~nUJm?F+Uw|P$wbc$dajTGLg3Us`wX%@rR!AHbTJ`&!5)W$ zMW^+a~2$5t$7qcNx>QerE>W*F3YaG|~`8+3&AN z#R3{_3R%Z!-e44U`r(GxP&$A5x|9iaSPY3gJ}0tUs5K>d7nhYQ)E~IMSy#wqJ7p%> zb>VtCCGmc#8MNa^4XyR<_C8#x;|J<&eh>u)ig9AG6jnqA((Q>QY9XajUn0d#pR6LZnZ6%RSy_u@fQ~Ca-G{5;>DXiMj`AI zR4qtB}?hAJoiJ8u-{KAzVc8N#*bfuzq~3NViwga%QG?K0o3ZVZ_ZPO7$K0pOq6zeEGrSdo-6Cg>gn!6| z+>+{vOT*n4jXttrB==(w^+m9>g^14sU5S&{NbIJbei}j|{b)q8!70PkJUlE*?FtQo zpycApZsmfqhrd&STm7zAH>ZoSeQ4xj=}R#<17uoJl{^`X@CG|;lmu7=y~>(rYsFJT zZzaDI79MQTf8Zb~G2t$qt+6_;++e)Ic710WFk*C4SskZKcI(b-XEimT5`+9fmhfTJ z$GwVB(EDHq5uzGkpjRIUb3H1LgQin__F9OuEBV}1G_~;rn;r-ZcAZz>f7}&pIrxG2 zi(JntxK{CFxkQHYI!nR-A-)qIwGF&@<=^NbUVYbzX`KEcx)<;Zw8vAcF} zz*uh0%mQCl(tD-SSR5AIbTv!YYS?_HV0q#Mp?_dXKY+;$0 zl!AZy+T+-tU#|GFLxGwt*y(?Mfo#s5Nsxe|#O@#fwJyrNEHGk>U)7uY;G0 zSDu9ihe=Ft@aX=q?2r-ESh4`ZP1)%#Dg?7wNmg^32K54ReHa!xSulAogEZ9G8`aHq zL4(($zHWvg_RB5tkQy*+ccf~EXMnhmMibio zthaw7cv+?zv8%Py+*6YDKxo7cMy&P4P%d?OEWX?HTF%f7;JH2zjgmCuqgG;tN)W2f zZisUgICS7`Dwg`Jq{_bDh@#y@8AipbsjTLd^TZrbXba&zE;-;to`XmptVeEfDQoLa zVaxJ-c>^^oGOff4it|b_!99 zReZ2#TgV^Y@5+n$`!;+;3}wqBr72p@jv^MH46C2)jj?NHxa9Vaq7-&Uyj8P+*L%Am z9@1@-k093{KbJym5cBFlSU&%%l5T6xs&#ef=ZfojNY$9f*-T{7Zv4kt_8vx<*^|y| zuL=b%Ows28Ig5~gHvAvD;h$S+b0$6somQHZHl^9@y#94fhJ;zrs)G+jklR?mMNKbc zRr<4MD$IH+j=f}U-b*Jg_k9BhmVK@Vh6LS_pGs5#ywL5?9i#!ggiq4yQt=b@PYP!oT!tA2lyZG`Jsr(k!^U&a0+#~29Tt+!iiR^ri!SYj~1Pdu6gUbB3 zOd{WjF$PRv5l;$x>CaAAMF9uQw?NCcsG}Hu_%-+J*JQ}n@SOOXkn!=6Fg8;st|KiG zKs;K3gIwJ8!cG)l`Lf#0ilMAYQj7NN;61RPfGjS2zX0=RrlfWy*?=GeNWBaZl0hjy zbFG`wsHv5nPhFTuOEq*#>J)6c9U5+arc(4ON>xQUc-+$N?`snYP9-hmW$zv&y8;F6 zPdPcdCA+BZO9$0v#Iy5@6{r3mPiGYsN7sbwAVC5QFa(0TYjAgm;DHPp+}%C6TVR5_ z1{mDkEy3O0J-7sN`aAzR=Yq9>3+Uw8sw*JiIB1)RY9+7*e(w(QyXyxA~9Zc;&*WN|b9?V)#~(w5RG6 zzZ}oJL=vU^AmaV_!Mu26BsLnxoc@(7t3^+;*Us<;`5b#nD}kn?&FxE0-vH9EFkNLf z?6AQyFGP}>m^FY4I9i|+aY7h-7{i-BJk{j4GrzT13ISIy`CYyV{2cmrLSx3FjN`V_ zm^(?-760~PDS9hH(qT9ah*Q*XI>!NE*q%`sKZszH2h%>%bGfrB3UorO(^HF)Oe{y< zY8Z;J5P;fF$Wcy5T<=)x`ZCXQOwqYW`dxLqD>$GxP}CILK3E2mw2bsgY+l?s@bro@ z?@aPpm}2A-ghf`JxI0oA3f@KFK%+#jTyT67y=eP_m2~30KKBt@O*4oqPliDQaKE4^mQ6XtasCZ;itnQ9tC$E%rM87Whk)EXsYafk~5A zUUGe)4ho?=h*vxKX#U;#3X#ZTm}dVI7DMVmg4pi2cK6uxylmh;wcBQ|w}n?4bctgS z@{lKdAQye4pwLV8tF^cL^_ShKU#{U_f)xa;-|QXQ0_`8OfOtE8_-T1ji(xie@tvn9 z-7?iN*Y|3bpQj6+hW7>W-080D|wR z>>=jr^ByK4EN-CD&&Nvi4xH}hYyFCUTzbm8sf<1^{h`vp%)Tg9b0ZmE;pe}UsC7D zO|h@n4#g!QWZ%d2+U1ILc}nV~0A19)O_Mzsg|j(1xUzdY2FHpXJ@fwPaJ1W?!}4!+ z2$9+$Kl4P~JArs_LyW!yQ2krG>EcG9n7%$sClDsgxs0Gl-OPV7Rf<-3yjuu*YOgge zIPM5q2=_7%5wqX&fQ7FHf&TGOLB$e4YO5y8Q%1x6i5O-K(yA%RdM6tNC9U5Y0ToC5 zsWhi~nbh_``Il1T3D*5aYzCtSp2Pquu%06;t8UITUh|nQpC4^T{P&MT7ebx^tY5pt zV+mnG;|Z=IhY=dg!Z{EfM_Hbt; z4$20={P*iuzAa!zE}rmahpy_=6^x&-A`sCTlyq>V||;o6=hSqv$UojBAG=+Le_O_VqVsw zgtq(K?YFoZFccT6OxUA0|LIg-y@uH_>PvPlq~}*D39-xl2y0oKN)9hvFL!;hxA)ECoz*1{Aq}pSu?qH{jz|} z;cXyi1SosH_fnU0{sP}KxXAvtsC7cAy{-@lqaDt@HsBxSZ0YmJE1#(b~zg@yd%Ik`pyUIY+peXXu;y~~Px z?Gjw{?c2 ze1oWoaue3c`3*?|xj%iX9^KX=gkWyyH}ql$niPF?bV3e7Lp{OV#YY|N@cv6xVO#2lP(S`Vg(O7%0VCe+mqG}=b~S_} zX{fYdsM^y{j&3|_&W$ainNJTO2#e4*JI&Gp3E{wmAX7>StlY6;kj*Aw7&&e^1S05r z{wA`F1Z@`?ySsu2+s9JLOjPfh2<`-bS{;OGqZH;UbYB4ykdA#d@- zIICLSqZ0j5!-W+bFH;D3cq*UWL|Ze4oK-&yT!*1$gH|%3dSI2HtJ89^(1DB_Lp*TY z^ENep;Rgq$>?iUUSq%K2ue(K|;Q3F@^t(Pq@$(fl5Qx=GruegjS@Yl94x92PC?yw^lPDMpTy7+wTZ{ za(`rKxPAJf#&IeOBsYDnIO+R3EzS7pgUePCN!OePU7@!+D^Q5Y8G4-8I=+fa%=BIa z%zy~CV2(E=&*}`ci0SkMiu85qv5Q)7a924_bm$p&e(KQwad+C5wJp&`r_nU3cATBV zHm0wU6x&nzD-8H{xou9{@||lon@M^+gZzSW=gTY~pBjog*Kc{=U>G`am?V3DY^kuu z6kKi0xKyhblMr^_VA@AEdXpbMq&_|W))^I#m=0rGiu@leh{0MfH!5r8s9yZdU1;6G z#}g2Be^ZOwbEDBGTr7ndM2V4KMqCbpgI1r5 z9N=wzruVD1rlF95@@(ZM|0V#1Zs@iM(ZnaKKCLCHxQ1IiJw%4!o64msGIC3$Ev2@4 zohPfp6ST?mhrHjz(h?_^_v+oUUVgK{DgalW0N$G<7WlW7t{LgkLT*}DTgM%uPM|;I zgj}>>+x&(_Jwl~<#M{Cv2y1~h!5-m9Fi8UE@`Ld(n-0Bxr+ciH9ivK%Rs7gg9nJMD z(IemcFliDM&-HxmUWvEzDjR>EAGWAI|K@<8X`U{pP46G?NdXY|v=S1-@x0zytR6Zw7a5gh&}jSlHk@OR2@ymNZ@=l90rEEjP$?L1lY7H8B2RpS(6wlTpMJOx5Oe|u$A zZtKMe%`W?uMiu{oI?phR7Cq+Z{!jw%Aj-9N4+m=udqh^K_TG4+6_Nds> z!gq9KEw`T@=WFfr9DW)q_ep!hKo z1${_a<)(oZx%VjO(}%x|x&U#1*IsA+HqiAw&hjr7jz4YRzo1}sW!egRKXKVDrmb@~ z&PyEeDt@4Qyjd{d+qUZ^W}ym8Y|P#Wl$xt43^^ClOkKB zmA|+qR{8MkK*wqr+`H~V91IBCFJghFZ1aJqj9!=UkjlAZcqb1_w!H~`o=E0U`E8VG zVnCRI5RK6Ia-*XW$yZBjH8ney6}})j2?}1=JZ~_Xt1Y9m_P}Q=oE@+xsF8?W9_F(+@>Whv$IrWLKkF)3AQKwR%`yl`*{Ks zSB(xn37iAjUp;5#iaM&yReiZAjAyPP;mcfYwP><$Pb)DWRYx$cQrHo&zk^ELx--I3 z4aZEO^>~0A64pB0i+oPG6%0mhc#b2^%Mjotco`H}gS#IE78Anz+ymX< zSI_=XZ!Z<9QR&e4e|-~2jy^yQR)|o7TZr;T4P0r7ZbtjU`fMH<*w{=1-So!#XM;1m zGl9~-T8nX_*%ax%FVD0M%K8Vy)-eUxn7XHE1>=Lj#ju3@)PldT_axsy0}hN*Ecb-O zwJ#KNkQBA4@5}M(F+d0d;5`G2>1 zN39wi;(7Jz-YMExb~A)cg4wxSG5{j$n~K&9A?n1$O*)K7|{Ogx$6}#jC2ud|p?)}5pokaF{lG<3Wa1rR1^U~t^(eFD#up!}s<=?@Wdxg# z&2o|wpC~I%#(Mv<&nh~-L<*>;q&EArrL!x(xI0SIYrnAyFx*1U`Ug1xM|h zW(xh9bs##}F%SOX1ay{%OAci46uLQyLgG2rN7GU4z@1Htod6>kyeCm7%1N1|N&+w+ zo(UsD6O&c1A}^f;I%{(25`wuCEH&%b@-(q8L-vri;VCG>Cd^4bP-qP*Y6)wto6%st ze~(9=CFp8eInb=)YH)WMxr4Z1v3zp_Gq#4U!V9}>wG-Z?E5Swa?8Mt=36|q2G)I1W zot9Ps2ymT$DI`&y9Q#8SsV)H>GAgo!qeqzTh5SgQNXcXO`;#z51_*1t?Np{V8rQIW z!p-qGiNH@ShZxmbEarts|L73#DkunLN)hM|XqgO~0#DwW3O=R;No8nk_VJey&l846 zROay8>}nW;8naCRrttwv{wU}@`2@ZSsm0sdfSXxxFJ&I$N#Yz5D~l0DM5?)*qXn%_ z3S>&3*J~B5K+cw0&J#PJCz&AB8+%g(pSN4wA!D{h8auSG?FAP2mZAOa&A;CZmD32{ z>s1OaO7Rqk4%6d=jvA2dmp##0?KKNiR9rQYZ6?hGoS1=%M*mv2B(hs1C03$iLwHED z6JS-J3w>vb3ggQ|Zk}SMg-D6Le!oGXY3>bS63sSrE4FZ2s#E-s4r|Vsrh;C^c}3}} zCsbGSNNtCAonAntmoRGQ5S0Gj-CY$`vg$*!*w!HQ|7Gn0@m1^Xkpr+PMWEZRZem%n z(i%GMNjwC9jcXj--N87Rtvh_#*rSf@0+*;MF#_zX|IC2ZNLDj7$MI|cCuqVX_CO#W zpHZHblKX_4RVhYedoPe!_}gAB;hSXnyxQ=<+v-CB2l=H|s1Ys;6l(_ArNE$9Xu$1u z`v(*AdD5LBq92p9JiSq7PSA;t_=JdMp_htgH3;T1fErWd(2r*J?cf! zr|X+GGsQ$#Tmj6cD7i^5d$^PU-kLAFCyd)I1arX~M&kWuZf0*?nVtAYB89A>OFCxSrArSFIiXAGAV?(=u6|@0y@T@%Lb)a`D8mtC9v)4$5j*JVW7*I8+)F3DljSjQLDe4kEfg zEkqI{<36SbKji5n?M$>J;qy$*^LFow30z4F!7!5;@Vp!1Pb3DH4f1Rxwi94yVnFBR zXUuaYu|J0L>8IZk+3nTDf0mFh*Z?R#%Jc+xY_Vvc`l*O`eVeUAjcH~50jA>_R!$oY zbab7jPl6#P1Z-Tki%FUfhM4m~fZrbfS(ZS(AX_cLj6D_o7|Au&h(?Y5RCu6;^~akp z&vc&b_3v^;MhKsVPPECCgggz@wsmvoB0!h%9F+8rc6;R8ir-;w#{x1!@I#uMrcRp{g7wNw_aO86?#+mm_RV}h{tk7Bs(ygZT^V}6xL*7qtY1KxT{8|Z0!@<4-?V= zw5xsraZooSN{y!@Q_hAp?)7T3Tl8ib<~fJm+oL)Z5xOC%1*QX5gHMqJ@HQX(ZI*yH zBFuj%M4d4Yu^iW52r+G|=G&r@b@ZPp!w!I9p)Y_&6P>>+&qELb4$`!VUl60GsKit; z(50`rpPf@vKAA_fiHtXjYoCGTJu)D_0pi*jv?0Fb!KOtzT!R6!rh`Zf#^>GE30vXJplqd<= zWodWn5k|^{r*KN!5E|m8R&H_>#h=AiV4Byzdasm9-~8%59D!hG8w*r_%k2AOP-sd# zqfB-IC)Q?gjrPu92-?TV$9A3;26ns4S6M*UNO!VOoWK?XKsA)tD?1ern49VPiU@^& zBXgqB5IktBCPA4~quV@=KUEI~{J@1(JQUHhUqAg%7t63`hNCdKMJ3>rdh>*&J$npD z3%9k*j_oAr$QjIFI0}Pos5rpB#e3>Bwl5D+&u(`VVOZhnnH~WE1>wBu$ajbGII=OO zcA*Wc#?4R~V=e6nqCx*Ir!2e^$lq;(yCuho;RVUlmx-^PPzgSh^HGg?N#L^sbauJ~ zeK~Td*epc8)|lRk1$twg1#D+EbEmL!t*2dD6<^0wB;lRf>?%>vE&oy5N=Bt(DR;6W z!^g58o~-fC8AMOZLPK?=#~z2s!u=RrNkc)~#_sDi#sF${HCH^+;d4(uq5VYyUmo>* zxW$9Vv`5SuzJjCIkO?gXEtnY?Z{^2FzeR=%bR(rUzhi32sbURKqJ9hV+^)QVuL1HB zBW|KYtlvM+iqo`lmr5PycS`}+pMc{HO52hBev*FGt8te1X?@>B`wZI5t~S(U89 zv-Iw9V81c$d#acEuHDw6*XXbiR~(x&T-zs&1`{=X&EP8tS24ZqHSUN&|= z^A-7z_jsi}<6B^?!1G&BErtpGA0BP;pB0C0pXjxlRN?ubddhIaDhbB=2g-g6)_J%4 zvIeVevtIPOA8XSG4m;UIntnjL!4%kNv+?K+#8g?i)0)cT`oCGbc9#Y-lqdOQP<6UN zb=p;RVvl6PSbF38hd-H5_opLK6k`0aft!eLb-=yJxYHXE`jH7y>lEkR6x#ln$4bp9 zfqLfYvFF^@$4JwK?XN}&-86?aY{$I|&)*Yl#DT>&$jhM9FkKx+sn+rxSATv}Gux)i zyU+2x?OyVqczT3#%_8K+W+@bjsIN|ZRfl-RKkdJ|uVdbCBLOFovZ51-h9G3W9$XlEqIAk*Q|En+4 zO@jhdO$+sZf9-7scaCNN)x6V)r%;9aY=Q58c*ikMA<6s=g7^Zx8fU$X%HM6Lh_U^v zU$5~MR!KU6$@PU!*yD<^+w_kP|Cz6<>{l%(Bu4V0qoHbBhl}`?kV%c6Anr-Io-)fw zjB-lsiPiZE0A!}}d%nu7QsR^rOPw6LI&X5{Vf?z9NxUC~aRlh%7*}+xASBg&u|Cut zscP3z#TwE3V@uZ!8BCB&uw5-vN-Z;V+K8*%kb}Y;1#CS3`F!1MOkyPLH@`1E>-(Tz zDS#rhM(<|&zrNg^X;3J*nkic-)a@;=(1v!S)Pjz~--z#JC*rFL>sk$TrO)KdPB`za zMq1T1ONv!8`B4T8ft0zi% zhb8&$>;Rc&EQ6;&g&{EZ&tH~cf91lkmqN(03qdhaSvOd<3?J~2=?KZpl~;xK33 zOds}0S~})*o_@~`1^a*V9{hxd02&!KE^9XAXqd43eRYVfV9ZQ=xOkDw>TY^uQylER zKw^+XByn_f#QD?g8V|;p!24fe)o%Zq=KAx(Cnnw>br8B*ocSD!10mGTPT<_ux2OY1 zO3GTdib4UIxnJ6|F!ivI@#Y~=smv*DwPFH9CkxIpC(gdJK_YycMD=0BXh$h-F+&CV~Uf#CMGT8H1S z#k4va#IR+ZrcLM~A4|X@x_X)BmeR4YeR-g_A|8cuA- z{OWe)z?vB%%Pxnw3^&dBYwGfR6WP*V+H4EtOX3G=~C*-jlPEX(oONNp8{~1laOxD3$&_af#oqfL-6Zd4UpEj zV)`Vx#vC6ej#FeTK?;5BxxNOWXXt-S!yR~d@qbkReKG-9I%b2FA>DRUScgAxD)A4L zSUzVUJ-%6@5ZtS`l}C#Li!XmSM0Ho8bH^V<&?3Vi0;;Pe>`)j?)KL~yk(7Eh|C_^D z*?ZfqsCT;v9yn-d@OFQx4h3&WkDSg-db1_i+{SGt^j@93-cC`_HV0$~GqBHh?{{c2 zl{T`@1)*J7Pt`LNcwdP6CM0}`7150Xs*?$3rxQj$2G+i8|5&s+ZfWSHxN~vYFS}k% z#5mD5V2=z@|4$LM)BOrH=$^J|-xjz8bg=a>UrBY+n7wEqw-e~{d=ZdfX0!_$-?_pA zyQ*9mc6h3bC&mS;PSPqDJE!0)@M22W#sCSA_?Kh-5;2kdho@6(hxSDEh2ospsnq$ug*rBPE znECdW8=bRlHeXu3uW2dvlRu=8el0tX z7e&r3VgM-Y2-6M(&n_)g8EFki1FFW2@{#}KPOg;yt{ZQJxw%Dl#8D#K>TR}wKJFhTv{K*Orj{x2Q9_ps_64oFE{dCO2n zD1dDK+ZzlukTaQ(uN+y0cF~D@_(HT~XvvQi*n{0c;7d%zq|02=Y-+2(@k#+*tQv^t zveL}#lptA@zX7el6o4 z2Q$=MiP3Q0Urt5}dz))ZUx;8Y_;xG^=*H&Z4iU4z72h{mRZBjJC(R4t&=`s_bJ7P3 zAUQiIPK%3t49TQm1%W^6*+{(kmCjc4>I;;Pq6Y3>e2z9z(M~Y2w+#JY5)c#7NS@&K zT~sN#sb;598lvf2U0$n5aTq2iKc`RJEpoDIW-2>nlq1epYB;A{ugiy;LgD(QHke5G zYfoBFg6!X^Z>Y^>LCd z!FlY*9x{r^jnrUXI z`r_s7a%3!%xgswJi|=UNH|Q1#cq7OUV}5HI{fvo zK}%EA9hqpcIUL+eX)h&wX}^Y!g#2`MlQJ!Xx8+E)R8 z(z{u=g$UPl5qF_znje!niuK-rMw3KRc(oPn&yAL*Rw{SA3Bk_&JaG#a%yW#NTMM_m6vU`ie*z+ zx%~U-Z>v#}_rFx?7q!iC&sG~D06vz2R$Os?N8v#|DJ!sjka7l}e8arwR&F2d7`*!Z5{tNu6Dr*`L_Lu?S3i$)qCV zj&&r+9=RD#Om&iNLe{H4zds!}{J?d#?>b@bmJU+n9aTZ`_dVZ!>%K$C%J}4Z(E~cb z*5hO2bsDw=pe@lqa9)z->9;nKL$FjH96KHNIEa$m?VOYB<#PC3!n8RplfHz2_0W2! z&sGPbM-?#aTU%XEe-6%w32ND|cB81X#5pSR`}I<5%Gj@WDv`gpKHs29nB~hnVC`3( zXl2PD_*1B4L>&-FJ4mXZ}U;&KLrAF+7w>#?~<_d5Sc>KaL{JidwhpoPf1;2 zxPq5EtnzA@%>80QE%NUBiV&=x#0WZKMw<##K>sC)Nk)Sc1Hp`@Q_`wnRwdnu>k}u| zGCALLj_Bxbt@zRE5}x57WoDGsxAWHcrN_?y{I%SyZhsaqmJ}0NQh8`t{#TR?BL&fg z-;?F?;LM9uUm_AjHadHl4_8|)C<}P+*Rv7>Cybx{#Dhq@`)vAMgDBV#3peYH>`B>d zvG+$UO~)%8f=Yz!3S;3d=c_+{!?K0U{`Ic(v-ZREld5mPY`L3>J(vYq1Tv_xeTVnVaTgbL0Bw`Nj#sbkkP5b zYUjXy9H_-^?u9nHFW)*I)br8f>OFU7k&YT(sr}4l#=1A8(*-%JC(|Jz6Rco@gsG-K z7paNB*7z}og|cnYyarnlAY=7yowc?XH8g1p7kb%^tIG&=rQ>CPY>$(!T3 zPz1^T4)!ux=3qV*zUIMLvw|C-tkjB!AS~dKSJNk(dWUw~D@}$%tdZo=V^)Z3>qUx1 z5SmT<|7Qf$mEeIvgt1`z;GJYT6wJa;HL4Q2vgpKxtst&rGLSbwqCblJ@g+q4@vef) zXqSF2Hn-6ZP_r7cKE!}Q?Ip1}KXqsb_k!o%8A~1&RbwkuH}`CXtkoMmYni+C9*j&v z=ut_ImWr5Sn|@v+$CJ@P2o6d4P~9Xf6pQi7*qv@1nN}J@jS5n{Jx<2uX#BAXQ;@?K zej@l_Y?do=pcI|LY}3b#>xC)g>MsIADL|21wIBu(fCxK@*^EAr6CoHz^xJ|p(}H(E zTr~|_p&c{~W)7MzV$p0nx|H`L!TFt5vE#l=3hBYsX}vuFR8+19T(Iy6MXFZfnNA|) zu#-l+KhRITf;F$BY|IL6uiZMBtZR-5QU8gfj)%bKll0*ZF%;^X; z#E!kk($u*z$Gv%fu40MMD?W?;R3?1f4T?1o<{SO0Srb`F*sP3}6bfF(>_`{zMt8H{ zSpR$@4rO80Eg|xdp@z|I;|3hBF2B65r5d>>-==}$;x*!AZ8i%+S_f_;dSbgeW!KR@|?M<8-2AY~2OzKi>Z z?qLf6_*jiz(|FCS!Cs|fm_guv!T5V~Ky`jHFzU3Uxlki>_OM4sR^*G^<6ZUf+o$CV zJglX1CMJB;ROKOal^`1bCpWj5bN!G-h!)tGmm&;D1=8i;WUT!wRD{Xxj}Sn45xj`? zUhf7$0ccymfrYs<)_(}6JHV{A+^3i!==fJc=Al_qE;zH7r^+N-ZvEo=sG$n`pU@5u(Y&GJsZuNk#tRlrr#Ae2xNQY#m!dwOUVlENn`e- z46_JLUd!IF`kvoH%>+@w;(teiBX|6o<>QH7`Kar+*D=GZBmw3_d!t=iL!xKIyOUfX z|DUq*4Pg?n9>7Jn@9NznwJ+P5l=Jy$BSoM05`hyMuxhumt7<}{S`|SBQ@$hN&jhw- z`KbfIw#vES@V7gz>-;tN`IP5h-p)|!9-%2714Ed4dL#dogLxj865WY!PCOn#+j9Vfy-UC2edA5lq?_rYuiog+0ga<0A zyI5HQ4*Ca9I7F4MhGzki9;AF3U3H%*Ru;S5<{f~!K|X@bd^_iNj`+bXxJ?iDr2LtD zyFBEu26m`>1|ozvoptf=YL#eRa}W)RN_Aq-*{yImNd2O6jsC0CS8Eyiq6`in_aliU z*^(yJ?Y%q`$){VBru~6i0cPay!TEVYDF$CO>Qv$J60{)?h`d+VwG!c1C>ujd?N;) zv_CdX66Bfkbkk03)jrkLW%uhy-kl-MTQ1)cWTP9Fay6@LKyNQEOOxuaC&iCf8ZwS` z)PSKkd1H{TYHa)de=)B#GJvN4ZjYX@(V^qq5&~T;D9?zAoj0DUF*7li6@fZ1!I5MN9>m*j1Qt5og}7`Y*e~66!pRv_Sk{htbriz^)YL4Wlv?r33X`*2L>N zdYm64H-50;PL%a+?yZ<97>ZB*jkK})M8M4FcrpDhnZOOD-7lxCy!;5;)nKPq#vPsJ z3?*Q*JC6a>R&Hbcv$a@&fk&nIg!d^t{>$(bFu#S_?_oJbeFrS_uw~dReQo{;Z-CFp zeH|l(xMFLig5p9k9>WWpI&vvt_SwqYo(=)E8N_oGwiVP`|~>Q)l+>Z?V(ct$H*L$ zYL4n$hh~AP11w!~tMFxBVoue;OfLSx8B}YPUl0F74l{2TnSJxHVS!d7n@VBRLEj4{ zZBsLJX-DSupNL~8e>E{miO4IYCOwfOmSoB6XL`>9g}mmP&@ZV0m3%ZJ+YP$h1jYnF zBHTBx(3*?0(+_*>u7gDEA=pFUIFV6j15Gx2)aN zaN;Jc)3s%Q$-DjCvD`aJ`Ba!6oZ6WTK;%gS3AKrZ=MR1oLujxS_RNxD;X>enLTf6f z6#oE=O@+ylFFx0VbWhBGx&?uGNqvL>L~rOPOw?Kw7_}99&B-}y(!wPp52C;;vaP^~r1gYJhFF5rR8 z5#EFO-?bCGaA`>^0$*BAqX4zZTqUjS&SL4w&Gq@5WaTAEGyd#@k6t%p94T*Kvv&?K zvg!q07=T|KIz5vA!EuoETvggA!vw1+W@2_M&3vevbQ?6*A#ooeUzePla526=$j)PD9PR@UjspdQ`v`!T+ zI}UvBGOqR>5%EStjT+@bwCO0j%fsE>!rk56W24p$guHlkepGs%eO{{D#F%SM!9iN!Lno{nO? zKkB1t^H8AnWkXK<`so58+2oX!K{A^}?DtcB^HI0u z_^9_?_a=${K|vK9O+gYx>+#It^^*R1!%R-vEeldlK+iMq50r4Y1hRr{)dN|^kk6-rz2$QFQyF^XH&JTE{Tpg(%<=D>Y1s`KWzdr+q(Y`8y{LcN zdu+bJec2~+@0t;GUlh=nAWCjHp39h=UuSvHy>1g3v;9bl?|Vur-gPo@j(p?vOyQ?f za2YUFFctvgUglU==sukDOuN}jWgx=>>!}Y!{|359nm<)atpBM+57<6q7b|tOnm<0u z5?sUVOv5y1Ltl5t^z0sYjTXS0&XJCS&Sx5WBhu{jjXv=hVWGkOo*(@^`P3*A|Lb*B zSTtxHM?oNfexzsaxwiaY24tfrcVd@}Ca-DT72WH8Bl_RrlxY0XlnDar3QJ~so|}Cv zN3e3d|7!pU&#(BAuLb;VI|Z-;9MxIOf8xv13X=XNqLv((A?4%ubj(d0y)&s;RAFUdet{7#rO)|JC^1>t?Us?!kgalILr%@**Nnt zyEeRJECv(jBDRvG3E2}<3-%)3m6Y+;?e0(YOJaA+M>7RW`(9fKBEk!4dQ^wE7T4Zd zHll~OM{BN}dV;PZyfDV5x554*%dVunwUxjnOdMEFPRLGZZfnNo0#mj;yLf8HI|y?Z z+MO*se0br4l)vTOo~?zTBrKax98@~fN3P1f3FuY^Gt=-7e0RWCpriv!Y{>H`0rRzA zztI#beSY8J2)v#kFAEn?QLc~LgH?X`jb$t_gWJ%0FKh<^N&QgFdhD;uoPwpFPsv7r z_5v&NgXXv-_VxVaMm~!u>|)aU-d-f^#-idCctqxR7jJYX@|p7dhSI$VrwjbNZ%}iM z%!QG2kzFkHbvZE+?7M0XYW~ibO>Cryz?;4lspg!_e8se$@dNI+R*lGlMM9-R&dJoW z71qa!N1ga=4(RUd$m5U8Hp(}-g230+@iSxIKmK2DAQmqFev+ogQf)n%amJ z@<|32yyp^Xh!wO*t1Un<>bEMF{s133^A=X3o!VAE z*!^0J2Pl*QXU-)YeB!b75V}OOSxyvIqi+0~YX7y~7mndpZ;%g;#)O zg;$MvO_MgX*m5sdIfz~?0C6=Df{`^*F=b=vCn)yTfQftgWX1-=b0J{vNrMx*`3e1v z+^Q^6?5r?vuPXQ~x03itnSIMMT~dDcld;h$-)7-&RrLc^0mp!-FnopeF)6aSM(^I| zpDS=a8379=IU*lpL6Gi~iNjz-xt0Wx3W5mB0$EP7OoKNf>(;!>hjS~)4W<6T^2Erq zd1D1!JIX`qoPGDv)M@ZTi-BDHJV>njh_icQhXSFt;hL>*f_%Y(YpqH@R-wCt?JP?q zxrr3`h>W*wBEhD9&-(H6%4l5;`!>Ql9u{k z?`{L0?aWtPcM=Xl8lwEp_6yQ(ZM(^Vw;FhSKkM7#g#UJ(X$P9ko6?QF09Nej z67IeoUSXZbKuhx7I__oXwWy67%lqKR(w7904vqGWTMP3pym;a_Crc4|Gi})3!Zy!- z21upLb_?Zcx5Q$=vSZYw|IM2OrS=5a**J4WW=t&obU6*H6r!)VPjfkTzn}y4>Yy5gD&Ioigqf;Rx==XH=x1!{B64)dtOcn~( ze7Wu*{!F-Mw^l$HZVOeC{+w)WbU$7eCcAw@Q@{^}`j<(rmpapxUeg~TD9GR|Y`-Zp zryqzAf0NLy4xbp>Rlp=U5*LqaQ&PrVu_U}zab&jH2)=ycbRlnW48C&Rg*V8_7D>qY z6%In0r(geYJ;fw6Hu}^!8L(TLEO|Yx5lg@u;LRNmJJYJS8T)Xu3RVC6H}J?R2SF=7 zTSP7Zig`5C7Kp<4lBPZ3zgiWGpV>~7w@~MPNNhUM{OsGI>-Boqz4eRq>_t@W!bN!b zR?Od?w@}swx%&b{W_||&;2hLm6{q7UR^bJ)dGPZ;}<**+g1vWigg#yAAcg#FHNX|`JoR|Zwuu5=S^z< z7Z%QaB^oT`r$eF)k#tLw23Ew^|#cNesARrmo)bF+8b{$Qf zBVTI(>793pCy?vKz|jZX*)-g}RH|GQOLotKj;6Bns`ab1&KK@}c9(0}E#!RZi1z;> z`BZN{>RT+!wBYe3b4c>JiTip&^S{tRB9p|RuW6U-wu?Y9OvFKx7sw$T$wMSYKC3=R zo+xeq_C#?ZrA!Tn{zsX@mxOSDjP?*;V*O}O)%!7VnMCMN8${!TiGap6iL|&WgtBP- zUvzSbN8jkSz!9msS^giIt|}_7u2~N5?rtFr5Zs+Wupzj+dkDeZ-4imnyE}y78Z5ZG z2X}Yw`Tn);6Z67ZNA~Wn-Br~sN~)ZIBqi~9Ev`c<6>R9QS>*ut)Z~=0v4^hHxfVNf zq$9MyR~#SCvwwYH7VJK8Fg|d_W=>rrv-#0k^lsXZVyVfOkL{#+`e@R&Vcmb^c%E`$ zTsRW}h;YTE&L5~w_VV519Xw9}JSA3rW?e1z*9z*6@u-{qzqE*QiwhUEBhss|_HLCN zf+{IT?9u=!sh;}X7HgFu21wu_IS~G2(&5O(r+L*f4mOFtoSV@8?R~2 zLCU^cp}$TE618k3OG~!oDK=m$P_nxwsX?^hqDt{I=MUM<=egoA&uNm52k=wnN_C~m z51C5%3{jCo-wpi#K1c0&tKsPJJTI(hmMwsxt{Qq_3`K#9AcBp@_Hu9RM*|S$m;--x zh**NmS>@;%Mk#A#U8T z@7cSWl-EENx48<#Q0J2j)AEeF_r!aPL(xZ!p<9u0#nf;D%dMwxJ?J>1P^(2nxZPug zIfIA9aSylNICBbilwot;k<@{xYbQK}T_{1tw_XBJVP#tvvTs29cTM`6l zpDqO-@E<5>TyAO_rPh36z>YNpRw$J8*!kd&4K?KT=-bw!@=XZza$}Iphfo=X#C&3lDH`8cfH? zySww!5iD;{5P@G5$MLQTM*Am%}OwaS2qVHebW{CqJfqh7DhIG6rr*p^fCaP=}#zwapTFuoVdte%5~`_34v zb+Zdb(EB89H`u*eOXM~>-YeLbhxYOBl@p9Al*n&iz$g|j5aQ!{plR@q#sq|v`2Nh9FZ zluj2FzP-E(WeRyFjAaSS{oNbQZ|!_G)nRL29bh?%7z%@ERmkFSS%MqqS@oos0cSTA zF!j>tY_0IES-bkZ!(Lt5`d)tcksbh+W+4}OB0xlo?m&{5-Tzf(zzMzgD`kiF2`C6= zGojOyoSA$o(qfE&SG*qHdWGN@{k(sh98O$ZR3ty2LDWIy9-8-*;>jsshkAH!mR10N z28ATi>9r!hfQzH-?LM@ykb}1d+r6ViNfTM*_u{CU6vU*-G>>Wx);rY8J)ILU>YViU z6f<(dEQX2gMbC#*AB=Ciwj~@S`{cj&V2OdfNJO3Azqs6e-8dLh61j9UP&%BHJa~v$ ztUr)J!`k#yjr_Z;sNVv0B4X;R67#-|>Bl1d^w)B{s8}fr?Amahy76+yXu2l+nBb3G z=5W40E>`Nh+TwC}zA5f){_;wVvQ6eN!C|8?%c2oAmMv_w79s(Yjv>> z@Y~WpkTX~iyF%e0k5I-^=Il2RR2P%t5L2o@CTT?7Sx<+}eK7n|;B^f) z>!&WN&sr7vEzD+hdulH$BevculTY*^r}On;K>1XO{Lh5YVFE=q6sbg+>>kBdXaY}Lz?8j4Nj z>qHArpZcDDR#(xRAiSZ~+qH&bA*cdHLfNiV8< zxJ>nvHd04d7x8*Nw!F2&I=1q9K_L}66e)?XdeX~==~l+Ay~Ynq@Dbk=|4xkM=pw^T z1;foa!w4l1NcJH6;DF0SHj=w@26HjlR)4}<{qxla2JD$XZu)O{@_bOX$*d9$tkb-C z|2^pqT2j7ur8pIA~jHyjROi3*~V@!o(h*M)_0@3LZW|%;|LaZfg`-rRq!! zj~x`-lkN2>o;6!c=}p+{Q?}Jm-j1=??KR`<>!V$Z-$UJ#$vJS0D7wL5e@=m4V-85@ z|9S7_mzFxcHdjlgd?@Myp0!?Cu;+sTOId>;YodBJvv*HE4Nh;E0o@#VO2p3=;-!Bk za$zQ}y7q%`UOcC!KN7+~9Dp20VLOx4z^DptLL$Cj&h}Rg`t8W*R-rw7c8`%W_44*I zURr)$#DNJ`ZWv#%4nxKhuJm< zgd2JP6!UOvFK{`AC?&rvsbgvyj;X&8DJikQM5UjyW#sm85FZ4PR`e-uZF!B?Wk zhM{LK(>hxoK!5t4na-3NxAR4xsGrcT0>7Jh#jmt$EJ z57xOs9y{ym^k;iBz%F}#*6~-j?~$LOmMzxBs5*w=NdJuTwL{eZ#cMc=AzqRXL~df( z(d!x=?Jwr_$@OotmFJCcqVe>0pXXHx|G1qPy>Ld4&$ay~aB8jT5XlsBOS)?oJ@FwH zYoJ)YNv{5cvKvri(TiC2lLqb&cY;Au)lrrO43ZWkR z$w$eoDxcn7T~4Ox!{5Jo-;P+hn6_I@W`R}uQ<1Ag3q*d`7GGTgtLj?)p!D^63C&F$ zWjvmpAB2MIdrzY_uqonQ;(Bvf-P2WO+E<35d4cyX=Y)uj6OmS1p|bNSE{=-7Ybi3D zokqd%SB&V>7TWDwZ7||wh2!?M`swl!BIZI1Iz5(GMX?fA+NIv4(o_Krv5G6i!`B>X4hm-f^>TVsq0Ugoz(VqHWaQ&FzofTDkOH(|I z?Z^Oj&dzK^?XdKGqeg)032_v}9t_RA1J-tuOjCo)og;k3XvKIkiy z=Qdg7EJjNFNL7>5mFC3Y|MpZ(Q#9P_(5Vot_p89;tgSa~+3B90WvxX+Yf{(i^UXnV z!ccxYtgkTW% zdsZ+e~$2rp@ zIlN`!%-8W1j}|4uf*w<2PlenLhL_#M{z4-)&ldB!xlDFsb;HixnjE+S>Wwe9W}Fw; zA;Wa&pQ-rbq;HS*PV5cl;#nWbc|182t2JXq1{xxeNqLL|>;*3hHpLC+!?Jou{3vwS z!_>);Lw6oXkY7}|pxVSj1>Cf>AgMIZ1djorK7o4@v8PF1_K9pTcL$IMOVwh-Z%1fh zBl5t21;E^W%9l?WQLJPs1W}g=IXkhUT9ksHhSUm8;{|KXWRm3nIB}S<*E#k&-T18S zPiBr8@`(?zinL5Q*1$m~tk!6ytYNVV1JB(Eu6A;t5PRPfGV3KtUo1?^+@0j_YLxMp z)O~5R<^J~Ual71|DOBnjOPbXV3%emsY6?EU(n+TjDRB(PtjOUDn35Svn0!AJ+^9d6 zas5|G4558e!Kil^a{uUi;K(+5yuS6GkT?RcSmF4Ff#~OTdGf@R`ukADQ4n9x6*G}P z&=1y~EZb~%2P>}L3u>{JsnorDqKFH$mx;|QX7_-oQrl_T4oYGe{B{fu<*k=EOlFY} zt+Oyw2&9?yzBKoGd~P<`P*@Fb8BJHa`xv}1j_j{aD^G}+<;fzdJKl^&XdcHTZ#kOB z@b-G-+r$HMRl>OB%n4Br8B8rm%E=qjk?Xv13Yq9X@{oA(8#EmGTvG|CR4K zXPM7yU!wQ+dc5As>rh14Xe+Ra_7K$bz(=+qml%!j$P|qIjZCwu;EGjZkaX6pQaTnn z=Wy=kC^gtL2a=6LSHc?~RbxH(L2p2IE>J~esfZ74uF2k)YqDnj#wKq(P@TTz2rB@$ zFEY1aEH^}gNvNhr85TtE^gdEpZi;&GuQD!QPY=ALT%zOWQddiEtttQbQ+SupVjOd(>S{B)>Vv9=K^6#P+6tstkh>FeY_0PD~9 z$6jClLDLKCUPZH>PUS*9%Jr?(b?Gv$xPSf=J&i==+xHm#-NTr#Q1)jSM5F8zqiS(c z=j-#&DudtRLVRBUh;!eYwC6Mn-oH00Qc^k_h*v_{{zK??dO!4&X zRmh;#^)I18``u~lwbW8Wg}u){xu|!Nih{HG@TYyYHoG$sAKCe@>qT~AZ^w05XPtMH z7P6UX2L7*G2o$b3>pF8VP9*w|7czwkBLi$=FVMAUvSh;VTiWuU$Z>A<5l|Db5xHe!X2c* zdO#59fJLdCNyq|rOnB#FJsRm`6WjVOdd!du6`4Y$IkuF@Es=6ArQR z{O>gCc{l^*_H^=k%5-0#3=+*0^@1vTeJ^J+$@>Hquu>dO;9{WndGi%?e&%29^=tE* zrGv`{a#dM_jSaok?~j|Fq7QvE;mKYfZgz`V*o1>){Ze^Z{=@^#cco7ojVOh4u-5&v zoqS&fo}Mm#GPpdw`U-kJaK4yLfTQkgFXKh?lzuW;oz1PkJ^v(OofKV~PKXDFt55k} zqO^v%!>;K_oOirX`}zDDi_Z{}8Gn6JGTGl7O!=|Z7dJ|bZ&hW;b3fA`?VIopWfKd2 z+;MY&Dpf_yKj{PXI2dbT&F!fhPB6T0@T-JV;p@HGBfq2R9Oi9@JfDND8?3jua1Ezv zpYhXiCKA@`y5k3?C=jB!-_sFWi_g`2g3;8Us`PR_{r1b7z1Qo1lcBmc zg>1&>D!=|EwnXHHM-@?*j3475J)#VR72rPf*qj<(kcOB*dcbL zW-vKWRw>j&!_L=o_^wa*wbnS9&2FRLnG6oF&K6y#3^h7^JO%yszvuG8Z%t5|7_o;zMWx*X$YE|N=%sr1}I zZGAbaJ|>UlDqqu4;g0eQZbv=~0O}Gs?%RDdZON2dBj+11nO%#s7~&VRR@t?881U=Z zhXV2I7q8f7O3!cih4NqTxHC#eK#;|A%;X+7lWg#4ulGkPXWp+fGxTeAr?=Qza3JFn zr%K(K0t2DP`=3hSFI}K0a-q3@9)bVZeWu>IQ3#Iy;4GXEusQ^mV|xSdQ4;fBgJ$Dy zVR1l7;DJNgU^oii)F7`twB@9?_aI&-K4ZyNHy4&*Fd_7%!|Tkjf5fRNi-T92%m!G5 zdkDvR3u=jtCKH?Q6f3l$Og5^wB4G~T4ENL5TQVV;4F?B$`!MvGIyHvJA}0%=HY8xN z`Bby=HImZ;x!IbA0hsr9q*cYgdK=5PmNU#_$J7Z|@SsNEMj(y@q8q%&p|gHI-&8yS zEiAe0AU{#;g^d8|+&R&#?=cwZVEX#NX8e~ux6QTn90S*s`;KhcVhN5xyG!Kz@KBEL z!?*(oT$zq)#ggM$Ut*~D%?92peCP;n-i7rvNcX1IV4)JoiD*5{WMJ_unlJewK3zOc z0x7GF>n4WipJUxpp~w-L_=jwT7$Lu&?a-M9<+=>#{CMF>%cm46tA2m2<#{!=lgO;I zj%~Y_K9Xv4oF@f2#crMkrAuG$e~iBf%ujIN{*#}X;8^6<9ps|ctNpXdS|w^DhLRX9 z+W$6HO^-82z172!>2B3sJ>N#nGU5jUV$WKoE=Ryn;zF*BT7arL{Y|-oc zZ2yww8k6fJrV-p8Y7Fc3ERxJrVqtMF?rskg>ju?YQ+0kBOv}$xxFLUqoo+v{EHw;u zvlp|XZ4@Ysrol&bCUx=iI}YKFV$}`*iJF`*yC0O!+Uq))<{n2=5^%o@sI8-m$9dg3 zP&*Xx6Lu|83#S;Hb=n^x(QUJc{%OTFY@wJOr~9quW>V};`7Q!kK|Eh|GEbe!!Eo;S zfLTjhn@2}*rc5fk5F+&^>I<3Hsw&{cWex+zhGfXD9?o0k#9mfv1(zYWn>@%6x#$Ku{}Y`nPm*uqooxWVjnPLU9$3L;Pq*U9I#flbP(4=R#H_^sQjcC@E z)MzJ>`hWzlbvYmbR3?B5R|EqRJ~loSYVQfU68{G2)Y+45u48&l#`_RO=H@-gB^aF_sb%7>2LQq%)j zbt`SD((d~kHE(RIzhZgIAL-#Bpof-EpOgo58>nu4Q6E~LWYM@BbFa5d0%(9xTG6+MT+pM<|YLg_C zmYz~(Bx$GEgXkb>f*|atL_5Z`+5G9=n z%xzP7xJ zZZ+)uOe-nh4j3#dF&|&O)2e@_FZ_FHTc~b-=%Ad=h1+Z;; zdvD%}mChB;+VTy(`{oh>mEAJ7yphB1#Ve^??o337*GRNXv+cfIpNuKcd8Z1GLEA$) zA5+W;FWYMDGYe1=!L|6y#G6{Ilx+(O;a@igNH&eL^+slv9dz1ek&p@@-@Uj?yfuu$ z*mr0tUodoknTwsQc4Ve$R-az$Cjylr6JeuM2P`U8zgXu`5cJbONnp@#flB`VcQhms zt*c5ZBxs*&MI@tH|HNUTJj#O`oD`}2NR_XUo3h!^!Sb-^QuAAlpKf!9eM52TZ0X4( z*K)13F5AMj4R<(hSafL5&l*a?OT|pCA!AJX+yP=4CM`F3=uE?BS4{d2=xqD2iP{^z9fNX=7&DuFGWz`H0Xt7Q@f$%@?Mi zl9_4)q2j#;H03mI7jPpK^ZJl%9cb=vOUSr&^Zpc)ZES#&6!@F(lHt#m$tOkNxXZ3u z_HU1j&w8rH1XE1OuvP*FN~n}Qwt!c=-8Y%R#crs@to{AeW8>gx;(Is7Z}Ti+^&edQ z*YD3Fqlrkq=h7R~H&z?y3FzmeqsQJ`2XspeW&%Ee9AsmuqhYZHYUXQo96ATn_mb+ouE>032~QjUHE)ODw((e_vGKAXe3e zg%Y^;TMegYE4euJmdzL>zYeZ#`VoWBPu4P%E-s}-$cwAAKMGv#S=|7g8VeSM`!d%A zapvp)4dsI%$kE9(&X%`T*ds;RRYq2k5$iz=CQA(v(?vWaELA)WSQkXFqk}Voa)KD) zgI731Ij9m}Jd!GB6c$p>1EMd#rP^n*tJ24Bwk7!MS;*kA&Ii_;8w$p`>H3D6EtKr! zY$oa#ytmW&_AGfuFPp=S5r9pDIxY(eDSt{sfG*t}N>MpaAlP@3@v#Qpyf=AQ;-l;#>TA(mXj&c!6iM^JNYu26h|wfzkZi^Zj^{j_E!t#EemC#fHJIU(&@z1XMlU<#4L4dM5oLaMVBlP9hP#dBRk zOhNXwBBj)X*g*EUZkybvh1%=;1GUgaAfhgG!ocE>r%wNK?mp-7UKJcYTBu)AuT})% zg?6RHv}2gD!M`9I{r=98)bI%rikU4mfIecp`x`d^0s_nk!e#D(G=H6Yaz12aqZTPS zETAne-{lhoBuqY_B_VZzXij9}-|vVgAb6&Hk4JHOJk%g<_25V+`bH^1Nf9t`=l8Z+ z<2StXS4Ja>!0ZGj;}|F;nf0~eDqS}lPro0|5D~IN^`xWq&}PYhtSQXszT%I0&V0Ht zTf4t}mdx|4N!mx7mO|wrQPoUvk=n)wS zHlSA*_wJ<0M!eqg%i00T8Uy>*_G&Sqdq4shjiI%43aATWf}7Lg15v?&Dp=A8;< z@8*QVKhZ)J99sWa-=4WJGDViZ!AE@n7|-&t%u;r&c%~%+<6%hb#G57z1R;tbUzTzd z(fOChuP@i-_#Na{Qu^Zqoo4eNbR<^!LG)r`Da!UOu4Wa&I*R0?BgFEc@;;$Kn!PrB zL405b4NI*8b}e*EosDB&9@?NJHtmhRxXS^bL=p&S{II-(*>{#f>DIyMW+?wD#ZerG zuLhh|$k_F;}F?&~8Sdf_M;uW}|jiJ<`Mwb8r6l&vFgiqiuuT9TMmi?eQc}{ zm3~c1OX2iP7^wfrX+%>Fy7(WV%q5)hb-hhaPPHIMcQhR@MNvZf=2%X?NNJuNg++vv z2b|xH`SQp(0#XVir8yxjYum99M=|^`aR#ti2bYWW_+lSnAB$`?%JiG6O!q%7bbXB_ zZN}u;lMCk_?#aQQD~yJfr6wOU4B2XRji&Iz3Br_1zj9{N;^z3$kKW>XmK97x6;=XM zsmo~CjqG0kZCjc!54}b4$2*i+M!lp^ZeSqd9V+_Xj;AdL(R`7jnH5}w3!G~=1;pE#J-`OTnHVF}K) z4-iksBsUhMnktIrv=WRVACl;w1#3j1I_D3!h}u(z|UvGK$!aCbo)!8VJ(>|-KB{DTpcKUgU;Y1QPIk|XM&Rxkp<8Bj|| z`VIV`8&ME zDLx}P2#J{(0^&aJAPTx!&#~A0_hv`LRuoQZk~@|yD79=r940bZTwaGq$dc!?@;d^H zGh|KZm%rG{>jn&*g%c6$X9}-7&3?`bBe66g$2>J>I$FAeBUFNgGub(z95WfgItQw0 zI*CfR!}aV?qR;>eT^jeV3Ra+Illp+EAp2$f@y|*w+|Dcfh=z!Dz|)gQVnZw*;waE} z2sist{caL_-1?qK)>>`5{U*v)=>DzN9Njy@4#J6}gb4&FGMh3jXZYx zJh`=i#&=47|p~YWD15cJk;i*GCxHoOK^=b6Q2od^8Y|mk-Zx`A0yCtaeAHcL_3>9g7@;Q|kFV!qnMP-jrmTmX2X4Vm-ciJsT^T|e< z#^};-ud`q*?UP2Lj(G9l=z(i7DWVZx>;kH0gznT`3v^Io38JlIm~diZq1D>umDts; z2xP)BG*~(-2Mi?s;zvXns;1n%k#;$5yF!5JC2g{kA+Vb<#$=HAu4Qvkp~G$W?BPXy zGV3-bLl=NMW(D#*X91-)n1e}Rk;J(HdFBs4pzNJTc|cUa@VvCYD= z;~t~cX4T#W+yqWIEcj3PU!uVL?(v2X;+;s+g#}EA@nI>&xX-;OveF88 zJSEP!*cvDn1mJc1?kJ_z4R!9}LA1FoUt&XFmSs04Zlhls^c7 zX@knnYi5`UKjdUd&z1ck(`(LJB@RKe9FkD*0Q36X-DC(a=DK@wTI3~>NA!{-{4S*@ ze)C!}47dTgvE6Dulf`k+JMXy}--Mdj>o;%psY{5qwUFNr_;!sgyIq65i!EhS6PzqZ z_PfA_9d<-8&#nvtS9?}51wNr@Lilje$Q2o*Ofpo>-!%eomok2tqY&&Iy{=^n&9o>| zB%z^<>E;)G&dqyn#-VL6&6RM``}c|Q5n-UQZrx9QRLISI^UPepjtQ~<|Fr<_hxiKQ zJW+06mI}ze65Tlc8y{a{%yAkV_>UxKV3pt{OYL7v(y8$ivDo`zq}d8uY->k4 zTyB0NJ~Rq|5e<8+P#KKr4PW#|a2Dwtmx)fa3(GA4ZIKH*ZImsIDQ}^6i6iggU^9j3 zH=BY@@_io?IMRqE4>msjD?CM!9KwU^{IiX3pI&d<4Qx~>40gVd(iQ_WSn{9_4hh+l zk(!H+7I}n5=NJ}hto|XLB^?jWre~@UT5tSu4k08wsQ5eI79`sZ2C~nbb=0wA5xm}l zPWgG=@ufGyK;3oYVwZ&CP+Dp-JQ7#Mh_U}Qpj7QZt8Xk>xT1!)Jn=&*@eQbmU0fWt zxN|t=2dVQmeoXWWgOa7m;*Ki@ozYtoOJa?naWXYk9CKi;chC+AG6+>1$|i*f{kFbM ziq7H#fBSVUBTxYw!~~KsuT29Q&4qu?t|C74v!03gcPw62ei2PnujhYpPz+h4@<|!d z3Z?o1Lm#tdz<^$er!9U^*89Il_jFMIwU-&`6XiW~q*DK0+9L6B7k>;NO`&vN(JckCm z4t9}h5-GhrCp$?{d(KOViXsNhXG#g1$h#m-;>v1HbLs#rY(h&G;T0H__uMVyvh*YNSyd~u+yD2O;?&j9_zd3%*P8IEbYQ=T>WSY?<$`Z@ET?AS3#A(XX z6iHZ}8f+>(96OmKm`S2J|EYyUS&1PNM&T;?DRIUHr1OuQJZhmnjA#*wjK*0VepbJ--V#>_o`ns+~unKAeL zW&QaGPF4fz6+d?-!og^S3U9lkiR==(o6j@O)G{4DGX-WcyOA;EUOxd~iQ2pUbLy_C}yCmUi?D9i0KJ1bYVI?y*^t|K%J@ z5C1T1*wvQ(GVuoJ;!}2e7*;Xqw?5juM){-(toJ=_x-W{~Y{zrDpL*ZPm6)XSs#h9{ z&~pHD^C z)Z}oyvNXn0&4PvU%p30|nByjmMH))=mccVqdtVdvuV z_R4MG`pUT!*P?%hLr3h43acr1r&*bYBpE4&e90ZROHDkdd8CqW82V%TsCA8R9lMJb z*@=PUT$+yPLfOXt!(vC~+}ZkBfoec4=$1yCET89c0mFV4Vj^kgPuc2H`csrFiCISK z;fZK3n~Iwp`CI(6R5T~GTukf!L}|W^&RULv-miVk*2Dl@TI`r?uJA6+pba5(njRcZ zr5b@B-k6)`AoK&2F=FK9`8+j-;XcXyXu;$QLlm@p1rLWdpVFt*d#SmK3W}YW1T`*U zpYs4q#T0R%;hnMK7dMn!6ajsYpb!)i&`N{79^nJb`X^UFPMA-6rr-MbuF1}F{X(kq z^Lj6OfQ8B63Lx`82xQmdXgN@_1ka9s-<%cdhlJr;8Kc^_Sb^mPp!iaN*Ww}xUwmlO z9{Z2s8tMeRlGs|&;2-#L34tA8s!M_u-l`FvJ_cB0G&|d`!*8|p3Z!X!K~A|mSCLD} z6kKEwFf~zSU{e@ILuRrkJ(@N8h%!-noorO+uU9#M56C)kH7Ju!e*AzS7or3sb#nHU z!5e><%)->bEL8ZLtmfdeU&j0XU5h@L#Q0oam*z$|-C(KEB;qMBSnE9KNZ@M*Zqyi_ zh@V~sapFe*nh1kpjlR6@RGpV=(kG(2K7?&4&s+rRoEi72ce^)LNtPOAHOkJ|NkS3? zw_^m7a;tHZx~-0%sMX0gcc5R#rM^Ggt;+i zeQ*yBWTYp%7hK06=5lS=Mdk;T>78GB}YSz!cDvtrih>9sNdRLU35?=^p zQo{=D7%2xLD#?X!@#P?Tm=$6jp;=PyoL?f|s`?t*iIKfwD(@a0x~SiAL3t~+KZ;-n z(J)0h;e*AIi;+rIb3iYHc(aN+9r`dse*qjByjMbiPJiPJXZ+(M9|)4QKNvw73ta?s zqIr8`K<_?GqGqC%#?YDqv%PUEshn|#!U-Cu_LfRrm14h_1*PTr>S9)5hvf2Kv9OTC zyMKF&bsXbzG;#^_`7jAMh%|S``>JS{Fl$bDX6q56C#-aE5M-|Rmmx!U2(1JHsv*?t zm`+(kQ}rrzJuTtJB7jx;pT<=mv8^yF?Gmyc|#|LflVBgbx?5s`ce$G)&Ig zOu$2r>HW^&?ulgqVSSRILBsZiP8>tjV|L_)fS8sAM6ITM>YfW&_27)(0MSzBgu3O3nQwXQLZ ziHMLn9r7HMZS}GML~StGhe7plueJEds%zk*=i8BYDupf_cQiQzB+!BK{yXeO} zlGUFf)vT&p6O-f5rGz`uhktuZH!BvTdvS6NZVsWb*-cH90uqDSR?-b1`o?hnh3byM z+=5dv5J!CgZjYA<2K7<|c8F${kSo()l^s^1WM&aBR4|FJ(d{G%iXICLXsiFxvEiGP zB2$WN)Rv-X*ioSl7s1pMkCnyqH}HZPwY%AD_->uqbt#UrvI0XVzVzq&!q?}|p^cNO ze{h4<@`bgYKBr6b@no>WfUtJs3i#O?i8+DVd^X-{o=qt(Pe{74Doq5<)Q6h6G(mcT>rvL~d zT!97$<;Pa#^>(uomtzi3u+8-DQ=S4r8@e3#yVLIq*IH5KesejqjWO?yPpA03K$Ts+ zT>rR+U?2ZkFZOQwTIePm6V>8(QD*jd6mg8r>|bE~z@@}>LAmhTBE*IgMULVqmG0}g7N9$&2aazbhmiPNLAm(SbzOi%R{f*G!X;f^MKA)j@cr)UaD(0xalwKRK( zVO^}bOhfRP;d3Lf-)ke!9bIM$>BOb;nf05~pqAsal(Da1pMIMdNu}gKc^OhZ4uH7j&ynzylqNv{yVXh@Z+VxBIVE>dcRMLB+bVo5UCCiR-JJIXkD#-zX(Z zSi|p#t3gTB3wYQW1bV-XS2im64V_eNd0k5Irsc+Z;U(`^V#!E0j#)?YG&@JxpcUS@GerqRf8Jk8JSjI$h579n_$?aI{i!xG5cX98e86lYUxp(;!4w--9^O+nAUNf>@Lik#h}F}l%fj)!?l z-F#V&9s_=QPsUms@wAM~utTZ!ghz7wKn$W@w6r1Qs7j&^oO5{DcQj$D+}W3}Y3H0d z*T;)oOgRuu@Qf~up;CrUK!%v>13c0E2`uz~RswEb=bbri#?W1G8Y=~jQY728H9`)& z<@5)SigMm6?OM}GKSqa-m8O684@1$?zvE0!KZwKI2@+ z@AZ-qEfmjHh)`V&zy#2%TX7VROK&R8oGa$~73_!wG%IND?J40zdUtETEKPAZSExIh zR!c67-M3q%)5h<;zQd{>@&3ZRc2G>6Ln%v(>Qp680J_2n1%aicIF$SllrQNdhvqS< z=!cVwf0U7X_`hBt8FYI5s4{5zWEDqQh!>989D5W0-DCA3od1%YVyQ8@J-CmGmkPMO zE+bydS3^PXq}Y5R4pi{LiO}Fj;+TM`C}1bC@-=qVlRdCA+9kv4hPk9qkk%nCPKG4HW(|q&UA0MyNnJzAl%ZQA2?m{L)$6-(DG7pMq4D>JW%yldp zX0D9g?F|=d6Pg^uUc)@(Bj#70hEY{=1(aXpQlNL5Y=&P@zc=9i&%t;@%KLfp?-Jk) zU0SGxayb|tt~6D{u8^;GW~a?p9AKM{?fZm$bs_?b$Lcl}(E{ZLjZ_$@GMhq+ONi)v ziBa~N&k;)=D+#F>DxB?OwPU`Cn*`ZyOu+hkz z$4_TALnEnQ*vLDrasIKWhP-qD3iiX*B8<`XmPF3;Z|T8;?v|byAq&I*-QCvFGF@0g zIXQ%M_;%OV#{BpYfO9M@u4&HRA4Svj`_9ccOex;=}cNV+{4k{U$idEr+5t3pO$~YJ3LUm|7`pP znLP}2*j2*Sp~shWhA9yIePk8$2MGi9N-%gF()VyM->+XnP*|_zhk=)G zI|~a{ev9U|De+sZgU6mu3|00{5zYSf^?M@+8W=#> zj*5~ZApjgB#1G+;*_hEO8bVh-88gzDZvg^T&J_jVC57arx4N;kvgOgo?oWqX%59Eu z`907p82FYfJwO?lLFa(D9Cre4JqJD(($6sy>LzGjt`{Q z>#iuZtgS1Iz$TB{CGhG2Nf`eGpgXPWqXoA{9M;1?+bAto8B4l{X?3y!dYN1w9 z#3Udg4Hz50lNmmq!tH1(Vg1X6QLXONLWFBIVTczohh37|8VZSW%k9;8SkF)W4$q&8 zHpF3nMDm3s1>=9|FIFB#j8ZnDC6reHY%g-CX69C@E*R-Yo;ouqsn5RZV-? zxbB}WJ3^+@t@upRKlON7UcH|mFXnbn-Rt{(;kK1lidg@+)xB6v< z4*bnz#N#PdkHl8R6iAbH>>dBSg9I!8r>nz0CASM}MG>8zXmj@15*&GBB7^zgp4;i} z)jmMco+jf-`6f*QtXk%E4Iud#u1g>3>Wl%$D%*>#YYaZ8yiR0SWa>F4lEtdb1U0Lb z1bUatVFG$apEmckTx1ZVeoHLXII*p60*wXau-{pnR^3d7Q9a+#XkaXB^cH9E81Sx` zXN&gFHCr#h1;-m2Rs7C6oK`Aze7aTd(B;`ZVBO(+=R+lyML3#a6D9J0G<{`MTwT*F zF2UX1-3c=21PJaP+}&Z&;O-J6xVyVs(BPf~cXub@p69*m`#)>VnKQk2S9e!c8#g;~ z=ko%J!OrQmGbHWkH!kCRaA~dHe)2N|ten8>xuD0y>^Xtc`iZ+1F5bZE(+NOd+1^eB z<5Fc{xhk>Yq;r(f5U?}es;o*SCeT|X(^fxaqmfugNYln10nzCOSJ0Z}c_hxHQ7{0- z2uQMv{1K*Q8p(&OrZosL-O3aS3PgMxCpU;eqcfS{AJ2O5;+)-HPUqexmU$1`KIC(y zXy3nL2G$-r{>k5nBUb&jH@@ZsTdJ(R9QOhZK#669X#r{T0$T^2A1Z@A1GP3A6*y^i zYGI}~_i>xh^lTZTIYEL@nRmm?;x@~bnyC>H{3EZmdARuMciUBeI&7e4`l4rpOWgJg z^PDy`mV2~}8nl?Tszw57yR9tNI&5$hNky`z0e1ak#+lH|N~4=qNnYVRfOM_ZbO;@E zyO!y;9FGv_Kg8tUK8 zbWZzfecX*1{U3;aBu)zoT-U275Yz6Y^pk;QYm_ZyuOCw1DJnFOacLgDB63D?{9%Op zlpO@O%NA2G@&2ynpO249x4g=t&LmDt^uL_Aza2!ULlC%jc(XJZRU4RGmFOk8>FF2= z2p_rK`n5*wy?6w%>IA_6S^lG&<;2+SQ2tXgo4)m9gBg16J%9yHyW+`sgwNA_=Ezi% z@$!LFHEE2O1E}^^Iw9MCiwSO&L<(ZNDXeOY>h=yYxovS3U6OWX*IViHhf(ktRf9*S z^DcS&u<(`ll&}eU0E4`}9Nh4FxA%V<-(l6D+B<0$^QF-d6vLBamXO4cS9^RXmO4x1 z<~mXsa!@%8IV@AqhP_`M_ya7eG>hibSaAA1#~wUR%jJut(QAOLuP!@U9H-T3^~&`w+-xPw zd%m;aK4cJ@FSk6tEQ&bLzfENUKo` zo1%h(Ys?0gJV46}^E)~y9BQ)75n60_(3cyL5W@{M12)`1i4&lO{*c;CbgGalQ-ZTh zW*rmcb6I5k)#2S#z-MW$=c9*E@Y;z%*k4Ju)|POhRefZG<2Xqon5XXpt|Gp5_O}zt z)m8bjar`l*kSWqCm7s z+0Vg#nmHZUcK{Kb*J@oTqLu#ssNju4FmT#B6n-GX%V{<+4V)3wS{X1DDI9vJFxz=C zPFf!VoYgZO<{3AXvtP|oLQ8c{^KG_>b%X8ozt} z_sB88PSer-d!wJ={@&$KVn&aRFRLvj(7;x_{}^&+}4aP_nLC zGqDmvNoEtBC;zlrP?I?(X*q3oiA7_mJ5}Pd!=8}Py4a}6EJOK=zWZ0Y!_&m%Zbj_9 z{mhdRTCOlf;4rOPB`C}5>@yUTMTgHd^>=j=?HcNOp)a!gS$sB}?~Y&Z4)apKHwkug zG4>INiIRO=tw3YZE(J^Xk-`3?M8#~P6HB4_dEN-fO*t@r#3aU;j1?V8>WqQVmjOx3 zaU#`SUQ|nv=b*Q+Y3;x3$4w=#ADQK}Gc?gLzvD>@Muj>&lIfL|6o0jtQ7YJ9tcG<$ zFlsWy@~B7S+@gsCPt^ey)!>^5zvC)rRzCDMy1!3mznH>OC*Rks?tTwN$n{}a?9|^W zabyWLg*4^71@dTB=L39_ro8^b?|j~ku;AnMc9#mR-I2w73wb(R(h1WGC!L1iu+Xjp zde`W7g8pCgcr1;xp2uSEe`+?a9}`=x@GYNzadSvXzSv2 zDuFdlJr^ei82o|YOYigEf1StbKu5W;?=`eQqodJu0e}+MhJ>b!$gr6}>1iDkF^vLH z1`Q;8^*C+CD;(m8-61RNWf4U9M6y31h5MOUSiG_{RJUhS-uD6~00r821mPF%NN zTh)Fk7-t8?LlX~gN6fwUy(_)D;lvP0M@C+(r#Tbv;sO0#c23hq7NSctwJeB!YXGJAVg->HQ~Cqp2{f3(ID5 z1<%A<*1$zOKoXih4z9G63xn;$2G z;dL+QBezNA{?nx3fsubMw~}H;q>Dg>9A+$F7eSkpNdxuy4zTP%DRVG+VbT;4jC>x! zrXx<^_{Vu(VzN?`$u}JJ%q!5xZMn{iF~q;cx5wwKO(uatJ^jjA@$wwdVj3amg&+3$ zzxOWm00buIBJ(^yNnN*tVj4iZ0AA`j7tLE?GRT^;8Hw_ZFL#I%h>2}XB zw~q#l8l(=V@8B_xSuaLi=iA3Gli9S{vu1{(3Y5mr*7%^|v`-c60uCnf@+{pV7#3kw zoM(nw^a}L&1~Zk$qQDVHTe%_+9A0?hIa|Pd!8!LomDwaPsp|ygJrz3qCLL<2B#hD_ zNfPm8wu5CAV9U>`iKCTWeZ_Wzu>*U4`6Rqh;#qG+x-75>^XXiz3V#8MR5CFpN{W%2 zGD_?vlDN$V%ty?xK?p7nS6MW2(JKF=(Dv_d1(p}w?;Z~pzB<*RV|FOZ!DnGutDElQ z1>w|zZjt**jt_}T4K8K~ftB#BI8f@r1^>CmSOcm=^dIIUxa?abCils7ycRzRU&diy z2QfkrxK!lue+qLZ$DeIFiKp~3!FXcp$N^(<0(F2iW8cw`^P0d$wrsaJiq0reCMNRt zm!HV$-7yzfcD@c4EcNKr#ehQo&FWBRxR8_Ty#i6>Gtrhwoh2-G_ z@?8`gtQ;ZOexs!CEjb`P78}0zUzYStX3<{LQ8*^|{I(j%d!+zeK`aLM{@nMjn&P^D z#4rxaWS0x#bvafG6B6<4hsr8*iA;m0Yc{w%tt0xY0}%=i7jZb(qe~yJjU%aG>8qQ% zWLoy)+*29sW(8!vOM4L;qsqCn{T1rS*C!SOh=2OEY8V5$A!mm*5$JPrngWyN6ak-m z1UMr-hYqLQV9+o{F^o$-t0AlGmvwoqqibK5Dk68}P+oN+m>q61DEn~@pOFK=&D%g5 zpwR0D66Z<PjA5fb&x(;E)mZf}Sb>T!e?VfWY45K;(A{tr#n?PIvKEPoNNnbAhoWoAW zw%(%;tpmsiC0R5!ZuIVj9!_OEo=0KCLnoeZ=1?5R;_@h=6^**S&3~p4;V|mX2WGGf zvU~0+=!IGbDstJh$TeaCU%b88v-#tsA1`Vk&pT$eN2yF2siQ^jrwL-^pGp;eLa`mH zX^34m_V^yFiw1lL)RF`1ome0hf4VWYX0?g9`A%sxp?oZMuf$vv=_+tkn`{JQ}xY1>5N)e z_z(3LP4!t=SV{=PrhukFQIw*854s7qU_F#UaPZHz0s0kj$7KbXrEGPlCjm9u&=vlLBU=%^0#=;Wrb+%15G??8_)I}(#f_Q-l zu1c&vUQj&o|vl2pWM3SX@$Se8X+CZvndyTK+ z>LDr<$sj;0z6HnCZKbS-No2Fn?fM&kFp`hiC>Jn#8RgKGbbS&yDwEFL zbg^x^(l$~R>1EiWj{Obzs@)?gNcI4RZa9*HlE(cq>|}y>E5a^2D!)&bm_$A@Z@iv= zJfWgfBp_o+;$eV>3g7z9?RsyEaK|irs@B*9Rq29#OWqBH&E5;~1+RoY#s>H9Ig$Ix<6{KB8Zcd&rr<&Wv*g46PIVZ?<%Y%S zltBilhQD8wbfu%o)n;zFruqCxb;yL`{y-{d=Z9_v`(92^C;-ip9J5(BqVZz*Nrj3- z%fO5cwNqI{mI9TpAtJ`pS$q?EA|7|;H*7Dqvyd_JoW4hc&SEH}as)(yZ?_|q;)P`l z%C#7FOVPb&EQ9@1QZd=RMZM{Pzt!1wl+UZQ zwU>cDC?Hl!zmV&QpY20ms$%&&EJRk>;B+MNk#qo1;5p8R_P+%2=-?wC;oZw?mWyNY zSTRqvIISk~yNzj6dcUk$iJx^+%>T@Qn{z6y^bVji9iHnMy8JB zVGj&f#voF*4CNUw-Z0zeEtXlN(8L{U(^$DZG(48fW{0h$o(>sL_TOcizp_3JI zG+LGU>$h!G z{gNKz3DpT{5dSslQ%!lY2G0n1o5b92pDk6zmV5);MP9fKgd`)0TdgqXB6XWqA(ikyX*kh1(vl^eP$}u=W6x!b&dwH<<4;-{GkH$ z_h&VOw#R|}uTMs<4}=e>kjz|3!uY;-`oLiCXxsvGz%Fg6ES^{@MLO2mw$^kiYmq?E z^hv_{{o&l*7;vI0Vp3nOMn8w*g;j|hKJaPO`al!exZ1Rp#Do%?K2}6GqyF3phzW8X zM#E4-d$jIK%)hZ_y*6yPW%gX4<~>DDy-lhnpyHL}34_ zp(MJw{z^zca5daTq(n@;NLEX=G7UX_m2y}>2C#A1Lbc^FKeF=#Qn3_FZ5 zC}iXVv-m*SkehwHEo6j)+m*Ve>!A+VbHD!08mI{$#jIi?+X;PfS-YQ`fRpd9fD2Nd zRAhq>Y0fl8>dz$+W6ja5_GR+hBxY39+3o;XIs!lQ#Qs;8hNj z)lXm@GoN^3U!|PFeP$YwWwShbMMJJ%9h7_Q-Fq&zu#qSog)7y`J<+37M!TmP<0b+g^DI}KO3=61B(y`9JCs1R zUEqJ8IGSsQeXjXJI5L$R@e|ZVo*#P8S**z-H~2`KZ6{+JdN};$!mzED+v#h^*F5xG zVHu>!FfYWwVvTuSm!HA#p^w3Om3SOV7LZRLju71tZ!xWG1$s>!whRZwU7rv0Y%)e3 z5o*1vw3VUjohg3ma#C#q?mUg9@@0Na#>&uuMjJPJGL8KfkY_7ucF5IVEV3rL$fq;2 z>eaNqd~`Ue$G>uf!%_X_xI5Z~v0llu)q#R*99!~N*sBvhb=6R#M+hy2)VbGbDSFvj zAflieV0>pR8R}I5UUrX=n$pRPq~*`?NQcUKT9U(AnTO~es4#ksL0tiv+;E5ZNF&6T zS6_2MCW1+K8%7y*VvAK})o4E@s^i{8d_FNf{lfeSI`X^=hPU6;L|Ml8g|+!BqwPub z-+5i%DhM$~1L;M;{lR|lg_Gs!U&Tr_k!GDy-iL}orb5N+^@D0dMdSDng7tO;1|7~p zqEA;~<}ZNxR&6lUUWGghO%p+WmaPL9~O^4kh&}wnPR5bhU7j* zV0Xux0c3-D=sK+iQ}?BC;QI|NXHuh1QklR=SOpBi3FIXu#05$!7#uZvn||PD%>vv- zhYcX`1_@Xx1GRmEb!NnP9Tkix+mkCM(-)Xvxf1R#N<7v9iu$iQonoZ4iFD=X*`-bf z(Z-?vz*%Ec;0C7h!ie?dY_&y}yrhE5V+oRI_n*qb)#hfbm^AGLTt=c2N#x|uj2X8@ zp+>bSK;=-g>C@Q-055!Y({Yfk&@iu_vy#@ktKu~lBt53OD9jog?fQ*EyzDYbKgwxL zNibEwIi*M(I%^{3hZfMO3E)ixBR@u@GiEpl7ANqq8PpneruwuvIxqr8kEJo5XOyAW zZge>$yv8GJU3*P{g{>-&l@OF^?FGE2T8QgD@6cKSx~t_q3Wm0hjo$g&?GaW>xz^PF zzoOa{kcC`Ur)vo|vvQSUpmE$E+RD}sDsqp{hs_!vlsi1fv0=6j<*yM`)Lz zT<#GhI5P?=M*ZYrne14te{$8E&LF(=@TtwyhpUKfxq?N3t?e@{F$5KjxR&z-r)bjBd)`>AY&E`x?{=P- zo}ASa`-_3eNdY0qZQ^EqGCED@fPW79=h~MhK$oT0>EAV}AC%KCPIr-XSxE_-f_mT` zJizU`#toy6*XZ?|-xgWfizl201yx%5u38g8(E8o~O=pGDsnwt7{tk++S(o?qy}^s_ z>Z69y+gpH`K5aART3Bc?YeDrIwY;1ZZLzuHn%XxNYJD3lYTC60YG&W3Np^inbNSEZ z_I;bLU#It|iGl2x1_g zLJ3#_0%#k|@ zl(M}(3_Q(()r3*jT`%ZPr3y#Ls5e~!9J@(F` zWcoJ_!{E?7`T3;x?Un^IEt}$s8{!S?X)B0|V8zKBDR*cg8na_{`SkEmNy3aTBH06@ zgb>h_AP`;uHaMYW|gyCt*bRT5B4-)!gg&i?CN5+Adu?X6z^C5VyUA+|BtTCu_P6Z z4^yG%?AgMIm*^x2F&ajLfhby%nrj*@UhB!FaXXamg6h=H9}lfN0u5#|#(pk*zLg<_a`~5`ZFl@~ADC;?5N$v%w@Tr& zbw|wo>6o}jT{K4k3s||1yHFp>F+!A}C5pm6`Vu^{x?kQanGl%T zs3T;&Djhz?ABC@w*N55NCGG8(vo+b;mVzGNp+`byr4NV&el=wuC1M`uwxUO7CoCpD zot3E&pyz>*^VkeN^r>|`EUsVkGEzB!AWnu&^cu_tddNQ_SLOmEsba4aUB8m{vgFE* zk6&H=eFWckU50;|CpfuTRn8MeWNEXf@|L-CX4mcHb-!3AIRV`z?uP?dVX!3FR>IpDyOrDSrFbV86$}<#*Hjh zVr8nHjx77XZdFlyjeYG-7oPE5P^49`ne%&2O^kzJti<(1U<_Gp`V-)V&!DfGXEAb! zygWvX{%Vc8dXsuyYc_#JJ^xJ*@WZc8sKmL!bhru4Ef7z|A1;FGYQz7O?a6W=xV)z@ zWk$Y7P{5nwmcfLajy0X#fV%O%OFERO$?OAZE-U#cw>2t4b^o@NR-nKNhEQ&)NGhY> z)SgN*&FZ!fov%0*(-67b2?6cTxX=}9{+kRZ*&Hx(T>-UhI1_5YirHVEeYmsYEWCXIrwNl>(V$Eo&hW1Y-ra;-K1rQFICfRFsm#7q$hB z-6(u5&|+7Ou>|(*!|-JvNomPPrKwj0{=`l}!VIB;4aDAD=h{zg|-d{u~%0 zYl6qv_cYj8G>%|AFfQ0{tht`8MTerW?d8nnT{7Nbr_FP`(cd`=%8Mk z51Yjhh&CK;4Z4}dlRB$UXNOu@P3M^H5Cy2lA<(0Ghw@(SZ?KcbnFgC&8j|tJJu_qf zE-*oMyMBuw*D*U1Hl-Hxx(eIB8&5el5+^?YQ|j|nLhjRRoLdZjeH{Aw{C>5o8qKRqn>X+=+w6;XfQtPpBryxFRw#ZuxL}J0Jf%S|sTB;$F_QAKvfL zk(L@VcINSx2`W^B;-{A z#GCH6L%GTKNJfk(dfw?Cl#YO*gSm-# zJ7)yB=w;ooPTp<<{NsH4=BF7tROE;m4AhRFjWRM$+J4`*H}E`Sr?2-Cts#ZqA*Ub7 z555ZcdVac~_7i;w_~)(DXq|NMl;^z-elbJ!Pw4n^RRHEHLYwus9p6P0 zbcG5~ao&FO7Vx{GygtLF!w!nptQu4}*=6qTvKvL;(R})mEm&{)?CLA|)JSM;TC;+R zKvK3RUcKv=Xz6dXx6t)ikug<3yBo!ma!Vz(_qp(fX1pokJGf12(d_@Y0Lb7CER>Yu zRaa^wi|ub{pRoD7Z^ORMmE)>PQZ+VEhto5K3-~Z5`B>{D*FNgBv74aDNlVS!MdO&L zbh^S{q$i&c=OpOgcZbt>kt#UW--EDC<2WKwcAiB2Q{TiapSUgNs8_pv+cN3p*83-E zaG1~H&ib2d&wp{c-kA5361mzK)RCXL&>--~1n3J;Ho+=;UcB^`kU(}2iK`yZ)m$qc~$?k7> z|L&AreC4{<;LYQ1vz`S>)nx}^46~xrN4~nDICFmVkR;DUJRAzAMZL-v3?!#T>wcsaJO0~MzQm7cEONC@UfpFYlvk&o z>siD=o%A1sl`AsT>jW>k(++p2zT5lhMXO?OY1+mw!%<-Xa-xZX;-pg*@?1%oPUF6aWKKq@$Z#Y0^(q9qnceY5W2RqO z=Bx0z*Uv>nA?s1*^VPfiYt!f<$%p$%41wsgu6AY~yHg)weON^1OVO@9V{KG!+5@U| zY4=hRW_^f8=l3UJ!&L@?$@T9qIwyNEIqk<~5(uGdgxmwssJ%t<=0)Tdb%zJ)VCu%oBRO zL^tRfoD4z43H^*-I!f`FBU2c2cJHtvy*J;M(&Vz0AoiEH`C=B@kwaH4YCZ^|M44Wx zc@!+`#LjxT!cXjeA5L=Gt23&b6l2eDCnOsG?@FZ*R|8!tJeIED>?osd5FC}TY^?*g z{tx>H@D@e-aW0^T8=)pCiJghiv2zvemSdy&Y8jLvUw3E3hUV1EVm0C_acJK%ptk;u zIfA%o&C>K*jNdQToll05r;Ds8t!@eCJa@-A&5S;}z|L58dW4YI^+-Fv?)5wxv!)UJ zbTaM?G6KbNE~=hK<7FBTgUD114(*q%?!|k;8E_KGt!bV2hTs^SyX$;Bu>TPc{Sh?O zdDz8AAI|Pya6u(IQ`xe@SmmxI^kJR!SQ%(l{LYI}UZqioJ}Pi>B9r$O9b>TqOn?6e zM;Wsyxn$?chi%zO{?EJv>zx5fA**gfMlPC#|Q=<3`07C zM8a_a98`vg+Osy`M52cM>ZbBfH7Jhkvy2F!pN+Ry+MOeQof`l z7J=PK_Nb6gDkp(uUq_eSDUx9b%l9}|jaNRargG}Mk!iXSkd z|63Gm(_^b0)OgeuhQXd~8o4VV#K#r!iY1T*`(*|!%SEV~d$}5tO(4t9TtcC`K$J45 zy`=qlg0`C+1}UOD1(%ohJ*_AHs!a*K1SwpeT+Vfx_KftM&6V*7{)ax+$PUNeOuvc* zIzB$UZ|pk8O7mouWKW2glQ7x;+&Rf46Gj%O@DVD%_fHlL{rLdOMW;xFCs&TxTi`ft z2Rn0m;RtxU>*OuD0h5B(T1^#3Pyp4W-nzAFJU!9ZL>t479a( zb{odrf0zB^P7>wug@782=U26Ia~2vvveRV5jNB8yrx7Y~94|b$Aw3_k@EM)1I6PN@ zyB6y?prqD1B-sR`#Qks6Q9&^`BQgeEUwP%n(c@?MxPADA;DJ%rbWlRx8gj=Mqpk4> z=-xF#h&{M6qBl`lBy?xv8^GO_TV7lhU-CO=|x6N@BJ6S9L+6=L#qFcrc0Z4!ebfjWj6ihfj?&X5~CnW^H5 z?5@v@uE-1t{7&^a=*r()q_%9(wnB%Lt2dY7Mh=!uzfKcu^`Ev)owf)h;@^xBK>L=% zOV5xkTNP|Rj1?*Hak|=YC~#FEqKoAMs~`|NW}STDK03ROBc%Y8kIzOP=nCDLvtZfA z+p)g1g3tH6K8y|kiSyGasnp1rG>s%9ZuCUjrxTT2nTdW*QawFAfkQPtVwX0#9}lia zAW~~R;yax_a@&vgpU0f^d$X~GocM8q9pX50hZ6StWx@kZf*QgN-R)+!$9;p*=Wr0^ z{Q@7d{|is#5LSvsQ*|uYaRQT>afZ!fL8Z8nh3n~(zg0fF)vx;1o3-^5QA%L}`rtK> zH=SiWjN>K&l}7rn4SF&DiEiz#=TTC5BF*p1LxY+fsK(q>D=QQt;jd@C=dW(L2qYM$ zEPF{D>TtQsR~o*I65I&&DCxL@@2YBQ?&P!;O4X!tyhhZLJ0`-mBIv%1vQqyL9aILt zP9o6y_^Y|n%-zcDCY{aEdUHpS$|b>2Txec!~R+K2yi*!}+jnj4fM$%zB zkk!O_pC(*Y11`WX2#qwCeD)A3m*yI;Q(zH@>v*cN^`y&d^Es<{#Est38H;C>x7WhS zrx!y}-Mim||MU|KdPmirg84TIp043nA0eHNm{ke;(gr)$0(BbRX% zEk?qi9k+`jZ|xzMV-88)DWFBufH1DHN&qsU*L0lfc0v0q6SC4j@sqGR*(x^SwK(+| z=}PQ3*1h_>Y><;SSn_DoA=~U0z%|QIG)`d<>;Z}>o8-u_)ZG<)`>E7#b`PKHN4P^o zs(Y7NG%(7Xl{+wZ^685s$AiQJXTQg@`J598ny95JzN-x!*RIoi?PO8X@l$#HDFi{K z&wn^z25rg1`;L_Q0HJulfL6@F;a(*-mB1>P-{6k*ErPI#%RbFFY6fBkQXEUM;ldeI#0|;1 zXQa~pB#d~;KCmj+$?@zJ90e>zHj+2)e}Uf%yzo5MQ$873t*xs)7RSy-xPVT~%t}lF zkioo@i4H%VCl?E%68Up~p-RJE0j)QU?t@C<$9EGF>_$cA6H+-s7z{Tmz+ohEGBtY` zSeAhN@u!WeFH^eOtScijbXzG_?$C@SY&>7{oxU%+@?R?7#&F@_2x~g0iBbmup`Qfd4yQ~emRMcSScar*|&RynEP+OwBC@Q|duZW_5Co^SE z`W5v+@`2@|O7QDoy26E2&Xga)ay}cgUKpXgRR7-V)%up~2+g~+II9)@vMjM;^5-azn z;)G;f?#iIaHoW$xD4Q*~c7L;4al!XLFupRe2uzgG+H3xe464~a7VJ6b zpzzv8v8GB`-s9SUW;B|JlAQuhgl^q}a^L4@1PODF#s^w@TD$n~X|Z;(?|Vt73uuAnU@U|GZ6~?m5J(P73c@HQ8=*pI z_W|b;elQI_>C*kK!o@H!40Hl^EDi5pK-HV`5b-j$a1c7sZ#rs=f_0+GJJ6ME!vx+X zkPlp3E6VS6{QJoc`}N1@C^~QjZU(qa(2;<O+i(F2vlKN~w6oYO&uvh_n z!4R5Yyqo#IY&Lr;u>1GEFPoMBm$_rt z2~OL&vhQpK*%Me_&KK^5sYH!ea5z&Q!wkQ}DU@~Q259?UNtov8K1_Wyrj5W>rH-baAh1#P5~4J;&vKQ*asUAaNTE}{co)fZ9Y^v-6`28O?kd%axT08rw)?jkDRT@Hvi zEA2MTFQ#bL=`ifa0J%R)I=U%tT@?~WNirRDvIP&8c=TCR@kGiedueP{UVNa8O%A9+ zQ-0F7ks-61V{VmuA-(hCg##0h~<-gSP z=N8gv|Jfq)%hl&QP_EyPQBPYKWjjn?bTNGYhgpJTpmClB5!e8p^I7sj(EDx;z(9;S+KU2W%TbJ^&OIpb^vbhLC zAK>S}Q5@f&R2R$y`f`J1nYORYyiNFBD8D&Feih@x$cXmSlg9sl#3O1-m=fKeg3*s0 zLNoc|FeskGDR6@&Y`_eoY!JDlg#-%VuUpv>|CROj!8@@4d_fBh2gvq3kR-|RI0s}2yr`kuBU11s)5C!ms=n z(~5r1+r0U;yT^B-f{zSWyC~(SkQa9`NAq=j#L)u_Afxh%nJc$Bzx5@w0OKjix zR~Jy?tmvmrhCABdST=V2dt})CvO8a`8KX1mnIo{5e+V^8AT!K{fB~Ctd$TgjZ`)@g z@J$w5*T6s1S`UQ?!1zURd-rE3GKjakb4U)CI(@lepD3@-o$AwO7T?wL-uOg1wO@N0 zL<5E+kH2ZL0=5d{a5@au_i=FL_Fw>DSUcq6N#$DnZFLr>2e6qPJb=wmNdwSpSMZZ= z+`=u1x@O*{Z4Ym-A^ZJf!2=PR#D0BT#yJ9qp1J8V)3+_(vk$NDR>L(CC>pM+@A_dm zjTadib($HexGb-XGp_%=`s`u<>pk3G*d@LB5OAwi6TAZq8k)bc8KOF&5ki%{KZQUR zQxxkm`zEG!Y!4|hx`WF?)LTnft_Kh)bbzXY^|U4CrTV`2^Vf#VfAmukMiON^z@ZY{ zs_pyOc+`Y)xgx#By0^fnHgbXtirdDm`gZz+{I_+aKd{x)fE_ltN|#j8mr+$>oQ>5-y z_quY4tA}wPx31C2s0o7+N-{6|I6$ea(KdsVWm0cDWaX~Zies|~bZ`FGZ{9}>6*zD0 zeu6WOcQy^xoAl`2Ku&7vS3nCYBWf-@MIZ+*iB{(=G6<+9>ihOGjLeWqW+kD(7q*MO z@d##mxveW6E-&HA51{9KVjTcp0^r^+G#WOoe}WFtJ~mNhmtecVeUwZNB3x`iACas; zAhxU#;ke8zARD6T$~fL|XMRchChtmLQW6GUHc7(85*~U_Jze~{B$%qUkLj)ENMGm8 zh#bUE-TLD3moB%sr7r5%=Nxr%^P5HdS&>@=N%nAPHl z78XMgp?|X%^C!K!IC8Y9JRdomfaiI-3?2_=1^+{`r_-NAO+zSO z{Kbyj*0+>(n;E-hU<0@PU-}39UlqKL1#%HqPPX(ry_Xqz z-`W2L7ir(a1~Y)X>I2|y06Ri^fJnbL+rq<+#>dH@S9E%qT*i~p`@~ki7^l#4I{y(E z%VN`4Al5{|4`oT`;CbBs1m+muB@+bC)`7CNpleH@-M^#_AS1OuY}0`{loaUktwIbM zKVv}}G+EScCzh&a{TIuxV5Zv#E>^1ux@YV1=KTilj;{vFRku})3Ns`ruUw;iE7Z$y z6@KyCBMI|6@rNZPO*roA037%uVLyS?_FE$Lxu8d&0oCoFKx5QkT1xM190F-gMbwrPw(ut2ExzhB<;$%TI z6p8)`Kz0@l-oj$;O_xd7V#EMrDEB0KxlYrpjeS}GgOkpZQhUwk|9#%B8Udx!egFV& zCBac5E{`%l?py|NS`%dRhlb{GAQ2HMx%v`wpHTz}NC`n0Z)g0B`z$I@mUVh~D;c3G z-UIo=u*!(5N}X4Q5>YGZIISi}NwBopM&pBF+dr0T#xeL=2-sv($40%YB zF+EgkB!Qs4fS8msDd^O`lP`z=SpRVC88JLy_op%sCwt~v-Mv)|IDR9M3#_AM>k>A01X}-i~Xr=G+DyU8SY7uedJ0DQ-KVw5c4!;trIxr!m z&(Q`7wlFfi;y^OP_vf#F=Z^*s2CtCI^gXu8*J&bdMc1GdnSxEF$T$aoq@Dwmn%sb{ zi-P7}n+44Av{1qLa#Gpo{b&Gkn1rMZzBjuvmh2R86DM#Y;y^*zB9h6$PmN;ji=Ysi z8CXh!)qUJ}Yn5Nlcjeq*7KD5hAJi*QN{5g&S^vSnJ)%(~& z>$wImA>?wF{90>`RuTKY58|Z?nV;J@TI>)f`<_R}Fky^F-ENMlhILWpYIkk6!(9H{ z9jnNH$mw>UqdvMlYl?RpiZv7#6`=4u>IA)DHbKCp*Y4)FpcOkA1kyenpx(=*yt*UG z1>LV5{B6TC{~_cE-*eY0+4sD~sP00l{OxZ$NC)GjZPqStl4f(;H=g+NuXkz$_6e;I zt!%CotyeP8Y(dIcj%Yt-&LfAKNsPee;#HN+*!yZnoVv5GA~~d?hJ9^%bPP1E;>G$! z7e?fNaKMGTCDFUEbUj1o5xf>JL0*i z$&xoxe>5AY|LE3|W(#coM^b?~Rw-M1eMwy6Hs0NWDE&DdgO=A- zHnR2q5{@7Rkh;$gn7HkRCzop2XD=*`hWFhj#8&Kd0~>C#Du=DSjDBFGcmsvt5}6cP zQCfQ=8Yd)fdRTk06gYh)nMWy-)Y@VgcfFh-&`*{<^nvq_p_IO*n56Fv$N|s7$N_?7 zB3f*rJS9-LQ{=(F-9jmymNDM~xR3)x^5FUmK2w{;Xx~_&NX(H8x{2KzK>`5glE!!n zLYoEbXC)W`Pb}k^4qC~NUluaeD3!?>4gViaXBid+_kC^Y8d9V~q!DSP1`v>zZlps% zq-$u9lrBl>MoJo_Q$j)zL~`g7hHiKd&;R{><HI^L~BpchEyE*^|ne|9=g|7ym zh#Y;V%N1xF7kzlADh$$Y+LP0vuftJtIxe+#?f`V%hG@#q z-hc2n2D?6*-yE;WqtwP!64@>^3whYXa_kqlVk?b8I5$TE*OG{>|FjCtd!8@E9rshh z$2mJXr|)m^Usf5@);joPiOts(I^TO=rd7U=XEqiq(f>-)>~%WyY9Uj&u;?aG?sQAOnqG0(-<7iYQ*Pt&#^=kh+ymunMn%dLB9y$J~!@r8SoD{9m5DtUE73X;=7dMCMrEk<(S{Ml4Z5KZD^{{@1n=0rBfjw9HuKYKng zjR8H6BAGab+a_-rzGS=FFL4T1b~LoW?x1hTdC}kbAp+mAFg2U5gR8q@F!8eiA)f@_ z3C9nr2Kco#(u9TL<@ zpI3;ap=R%^1Umh$Bs5Pj5EGAsD8{^wiG0a&>y4YU*#bd0H*2!Q)9a(_WXgrAoHL_P zWUYJ-!wLDOFi|Z|CzgGa0I^kmy-L69*7MN@0sDrSpSg`kU7}SAwYOBK(-EwXRj(Es zwYtl#M*2DWQRYiSG)0$TU*y2vM#pdpJfq$g{vDTcg@z!7&45g}-Wq8}zByvbMgP0o z^AY`;U>KrIvBN4Wup6vZ&)S*li!|*S%~Zo_d9&5m6_ooAhchla44*0hxJt?PSDP2x z;FpVS^1dVAPbN~i5&PwOjzA`r9dB}8$9@A_#Z9FnuQYRWw7t7QbZur!!O3*46!>|NfGBhsG=Z7PcJV z+;(|;{#YuhMf0m6UJQ;qnY6LOkq~HZ($F;UjKdw8I9E~t6@8IB%yme*L3d_25s;m@4L=dl+QK(=LIl4U!>$e<6rW}4>I;4 zRL)0=U+nGI>riWWr!F%`^80H~mG>DL3C2|7sP7faX)Lu6ax|Of_|&QH>%PDm((gKkjYefYAl-y$I+2R$LoIZ%ymML6p}@z$q2Z&x@=n|ayUJCN2Gy(y-6 z?DXy47z$IYPw}cS|Ke2zm`XE$vSNY_6~kBtd1nT5U;kAXN<>h-5mG2{;ReHA+@I;J z%$7&uTRpsBRXiNpLznrgi=wbTpQvjcn=@jJmb4$BR=I5qW)kHKS?>gYhb$YfI$85^X#Cr@>86$*zw2Q>gN;Yjg^5NyX? zyT*9iEzN;B(&#HY8pvX;-c>ebpeuk^uZWoZH-tlQ|_k@t5vdbJjGSy1QM zCR@@s*GI$E@MPhqK<;hz#ElNB3`Q@!|2JPci+35=Y)a8!EwRrD*0gWgK1(76KW&fH zon%Ok^_5J7JGdBdO3he_A0JLHeRc_OJcljZ2{<;0FKwRVP;=SF&ZSUiWci z{eB6qf+7hA>WS+otqqlIJSk&8p`DiwK}23T{}$V+dEO17_9=c=M;P+il1%w+(XC)< z1Fw)J6-%Rdg&`$3$KRab{_e`ERw5UpE%FoVXbSE_>9M?c^yzGejj=Et^K$X`LBGl@ zhjV~Ml6&CfIQa!avnMnZS9t5TVSiadS|{6K_E%EzWD4cWS6zA1^!>-K`7+i2inE_3 ze5N?l5I2NP9}4$Gik%W|j7p zcd6-}6I_~3&(UeX(D$v(NT;6xuKn`i8ofJrDdx=u@&^(X6>!iAUazZmQsJiA*4?_krrs^6Rt7E?jaH)KN@A1x`+t6FKv#=9;TGzrRuHvQOu#2$EU~T zD|~}kPpS48z;nioG}dg~pC{jshvJO_ccYtPN{sMSPf!o}a58IXezQh#cW*rXCkZTE zDeDhA;?4{va&+ulmRv@{Inn$^+Cl24UZ*A_QRMGTRClyr=*9&PtQcAc{X!dj#k2X! zS&-NeGv_3l&RSg%w?@wWqe}{s(PA9kkV|M|7}2Q9k0N40S2`@VO+1OsU#91|lPQn9 zs>WV*_u!VrVWSlyJRR(n0(~{Ngn@K3h7&C#p7rJsbl?oQ>sCQg3Z}%0=Vf+(kF#+Qb&_otAHWQfQCWHm0CWabB3S;jb@oq zX5Ed+n%spP_O2zW3OJ*tlL&I|yVDuC|5u$v{)=|-+|Q;MeJr1?A#^5FuXGB*4xmwV zmFVeDp%g$4{m@h6xgboo_+0=?Ei}{x@>RfkPq%YCOV{0D4!vUccVy1toAdqg+uu5a z^?*;;o%L^Su)~;Al!C@)GBo(UH!kP=30nbK7PA742*&xpAOJfhm{LO_-BgZkVRA|-rqT9Fo-v0d*&%qUs%pmVyd^|D#+a|zj9 zceSNoekJC3BiVmS%Z*Iquw)b;`H8JL2Uo$mRRo~D-%yAoFGtBpKr+H;G@Qu~hn^#5 z*9O(NlGzO@#IE;6EN?G;b~Iu46^%)!#qVyf5IZGmLs!Rx*9SdhgI}YVWGIukhz&Q` z^-MN;KXLhQyjl4a96D-W)r$P2Oj|1*cV_|x4DR&`B$)B?I~MCcktuy^{agRs=kjth zv=14#k<3V)L$DuEL!XDLypXIs2!o7`(mp}U+V)BK#?>P;m2|sHx9nF z@93_OWblX!Tjhfd*@B3g0WvUg|GBZFf)MQw-V> zwrM9Y#~OIZ%T&Zm7Sq%g4qKkMO?nDDv2q%BaY^$T0d<%Ngf`4bTvx0BT8t0?rh+B$ zOoflTFx>QAaFnlTdKwpuXJf_u$FKA7rJz+WdO ztp2_5J)GTf8ifnWX!-XJOe4d5t?Fe&+W4YLQ}CN6sKxkXp^vB8R@c!?2oBeB+j(A; zbgD|JNma;m?apnN&1azqi`y$zDeSiT-DL@w4z^+u>}iOkYP%*YY(HLBPK58x zDY-aJrRjb;8RcF=2u@FA#oNRy9ncKz)64dMac|vRPvUG>jT*Ivq`x%%XnJ8CMD$Yf zfa%0JPcc&_dih_e#%DzpKtFQc9WS&`Wa^bd8%`6yXE1ubmHC>K@1^fIQxtAu6Pw8# zq@0vb23(}$sVZW0;@56FsEUQEE+E~?IEc|`apz+_-NFx*42gVObmMsTi zL=H#qW~jl1;7XVw#)i+u*UoP6J((<{x>eNi>BtSDC*1UpDR_ZDkA#i2-_s~8xRI9M z!ZEhkMDMvZmr+?Ymp_v8E}y0tMUXuPFLl=M=QZ}Dza!VQINqpV3t?EL-7sGt;*p?o&Q_g0= z14hcB6lvzqW(Z+Na6c1A3n79;I*V~DejrZ8$Li`8Jwwz%OsB5w7#X;hCdhL7^TzO~ z9C4cYIz>>lP-7mX`92Sr*P9OCuxzYZ$NVxNjqS8LPGNg8XGgIWdzY!Y4V~#?JCK5m zX$)`oa&UCvDOt24Ls)_j-H;U4^P)oFg%aagRb*>LU1%80;JWCA81~pWs<`ijxHaV z8YQ;pp9ExS(iGX$ccU}%b+e~P4&`o6(W~DT4|=Pc{2M$OXaoV81AkUW^`6Pi!MVvC zzd)`^LFO-%hSugJMg#MzWRfa|*jD&m%h;y*bK*KkE#=YuYX5RiPO$$$HGKD#Lw+@P z8+6_%A4(pk5n=oetyAucK0?(p?yVF>w}QD=hmAtv72 z(&u0?PUvwzDCkhoj3XGUdaEG&#i6Y8L7Tu*@SyoXf`8SY z@1)Av!f3{$SxQHYr(Rb!y5B6YEJnYOPtyuXLIM-PMDJWSYWXfC>2J=7;us30rVk@l^7!a}YJy$C6>AJ#)L63n<>%uaKVZ2sF zj?b8Wxb-tQOHMspq?Hkxgq%k%JUOmT_14g1;UoVjvX60v{&p7LBQ5|9yfE8%b8#Fi z4hcg@P<1SPL$M!C3>&GoYx81g4Ao9+b7q`3DkE+VF?zH0llW^jMN-{X8@JQ5DPV-1 zPk$H$(vweoF~b5^d7Kk{gN*m|vMyIE6@^mu$lq+p617qc7u0h$Cy4|Z=B|ZKB&lq; z<>;Q;xPAIF{&*k`M$Z<8E1jZ&l=Zg44pq{el44=)djN4p$Kcud;pr zX^$nO4cQ)^o!>g9)3UVEnx4l!__={=nf&fR+q}EGPS@B1lP`qDK+GDA7i@eC`DjGQ zCpB1E3gySsUZ@U-ZnFa|`~3!`?#-+fmwi73X7z_F^=ec^wcJ8JwecNp?y17&Xm5~w zRq8@Da81-rX_mx^i!U3yby2C#>hdtvn`2txyOhy~% z#>qF$;bU7t+Nony%(0lQ88V#0xY@ZGZ}+Ws*i`;gV~Vo(w}#Ok)&xlc_+YUl= zqxZK0m+!N0n41|_a?gU4(pikd&)?6HXmc7;xLo-0v)Bxp*LK5i#C6@Xls-;yN0Fi& zD23z+6i_B5Q%6H^H!XvH)$;|!e67Qk_71FPe^p$@F%!kRjoG zP?g*BX;MNG>h0ggFyw?TEu;K9K^Ju8FJic|%2~m;vN4?w1F=2)xKe@8qKP&yiH6-u zdhrPnEUCXC+-^-NO^Uaux!?uK>(n&5(r`F(i_F0j{_9JD}d_6F8VDaWnE zSjdaPY^XnMXE0r|>Yrugzatyx`-*L$51gpUC37*^g%g)m-@pwzM#ZZMCb2!$0UCtB zM1?ML=cD;=0N0a6{$TooCiaYa){${jHE#@aP^77>_f)l;O2OH;FXy$tRt3qK3z`5uU1-!%%y~zMEwFE51vv`C9c3Uk?C5-fG|`Im?v9cvmIl{F z?2Zg5=4C8(<$vlV23b~v-mCsf7YFv{MXoxDPsxg=syu9>aIef6i$^0U(*E2E-Yk8* zENQ!g`v2ZKuYW8CRn{C1akxAt?rY;JL!9RVcF3MedCz104yF5YEL{22&>4Rt>9tZR zyvs^4;$0cHRFQix?BB>{A(F2tE4-r9|GXp_ZrV0F}2b7rYUo56g9D$jmyFx{SZw%qwh zMDbFszfuggr`42{yv{4V=e@IW$!z+>3Qss7jMz^;wl>Zqr|~La)t0ntgRVZi6v~VM zKJ_}AbNi-?gN_z@gIYIRO*}>l6(bsjIuC--JSqHV`Ro6iBfEjGzMZa$9g5B8&&r-I z4+Ij7@QU`BM9}g!hvAR<_dt+7_Pu(QF`AjH6oig=7%cUL;yy?$xiX)K5Ib`YQjraI zaPX~qq|O(=lD&)`U65;g&CN0azTIxC9zG-ARp#|Br=j(x@6jiFyh2?X1#TD0GF&JH zdUk!s9rmot+SAqDyD5!owwRR4eFi=@n4fqr4=d>$CbS~(Kk zj9<>-H18g59|cxxxf%|P?Vv)ZjX)BBF01RI5(z~Qj<8z$RSav1&ZfgJT(d}s0M)ZR z4>52IC*V^NK-e!rs@11}SJe&ImcW={JMeV?BqXV-3%E{I_`8>@7qqE@dg_d#dvJK! z_A43}(D^C(KNeN!OMDaASM5K2{WIOsWGo9alHX3%t5pV<$bRVkq3sWm3Qu4NSVb?4 z1hs7CZ@kRnkP7{(HV|Rpw>RiV&WzNsBVcWd!h4SoV@Zqt=VwooyD8C7FCiVUFcE=5&M!moEkO zsQkzu#zbr{ax~X1fYk-g2_~x0B(rtZyl92q@nE`r26`gg!Vju>Z&cPAgu@cP>XOVJ zJijaIov?P|dTF*Q(^R2K=e*qv=EFZJ27mt?$~T56$gIVugsI2x(UED=-2^M(BDv~+ z4!qGK9nlH)jI3rCPlinTe;VoItDojyQF7YHelr7OAhCLFFefQ<`Y{}38ik<#=%9BM`tg3uF%)RDF%*_Ch^w@a z6_Js5v#<9Si2GSI?+e2K3p|gvEfhjWqxdg_FHk`IhTv#z7=u^r;*ktKMekI$5xo&` zh{>5OPUb~Lbspwcj{9VDEm^Xp zgoH=9^1V+PZ~K-+Uyvn5MFjnedMQkhJ%a;{VS4iN8PoUoL55`pLO+s(c;OfEC>YCC zyjFQlu`uP!BSjXSQljSb(cP*Z*X>TV%A2m6%QZz`_IzXCCt?|VtP#r23fS{+3nQF; zXBzAf2Yr!Fg?8JcnT{I!^97@wm4@()W|y>rM4cZZ&?Mh-UvKNHwM4{H$9*@Ln79rE zUmWtVSjr<^l0upc$@wXsF~t&{dDBe?+}IjhT_i3+6no? zmSp)5?8e}M+8r3rn*~yvWd&vARLxb20y!m&yCh^;4w=bjG5S}5yFISIBp;>H%iF2c zeo&2|GwoAI4ld5}&k7DPXtuyIxub@-73nBVTs%~v_4IyTi$BAAz z$(&)9usXxMFnFVt!N{hRsAS;eU(|inH-n z(~{9eWuiYmFYEDYyM*65KY8BG$L4AP*0wGGiKmxIcjjdgz5b<$kX&jnP+1#`{M9-Y z)N~BgcYs`=H|%J=#f$za~pDzdu$uYkT^InY~Mqa!75l%D@!= z;*qsnDT=N0~6*C!KB1kP`nUca7&Rk<~rc!%S@Y}V&uK_<6>J&tn$Hr$Uu1C z0L$&;N3jiOZ3Z&%veZ{p((^V{`I3vKue2Gr6Min!DT}ZnE9xj>m{) zW_A&OAI*Ih9F~yZy(wd*jMKU;RKu?8%#7!!79#j7G?^NRveX%TbQr^~&25^j7a#ht z8NcbpPFKJO4mx5>j$s2aS9~Zl zL(QlcCkH(iA4|Nur8?YbaI5b415wmMykwNj(J{4F{?bBefRUPRLpIi!q2V46i&8;U z(VtBnmyOO>(D~mJ=P^IiC4dyd&;xZmVQCfh^|A=pe$?~=_)tz~t)4_N`P>QJlw*fz zeKnJYwHk>^ZXQIEn*LcEbcAR7KePNMgA0@6*}FSl@*nrOfispo`FD z1gujc@H1$qD*Iij^tZuwo~$7^5NsNn%$f4<#e}u`UROhIPf4K*C2FsK@Sm_q1`&FN znURaYxO|T8t_f>v-mB)V$DOHmD`&wF5`SvV!+sfeJ(FHetm+7*bZAdAcuUixdI3fd z;|I|Ka+%`y7byDEWl!qwT(`lmzU@REw!b<0Q2z(d(C!52PUZx+biyBPZ$Ldw?sk4N z+><27f^OxoCp0Y~_4@r(z^CI4R=XG~VN`qos@upZTq+7@wzeEQVD{}NojF{yK{ye5 z&p5d{?L)tl2p+voyvN`zk{vkmvjaJ}lM5}}U>|*$rmgD#ya3W%^G3^L1XLk@$EFsq zN`RMdSZ?5OYBtsu%mjAbB2IL;kxNGhG67R){l5$b4iQbkSJ5Pdhkp8l%W<+n-NnH4 zLuNG63Oi2q>js5?e-U_3+VML63^=-l`QLsHmT4*0=U+)nV%1>!g^Vll^Wb|dmCP^3 zw`Y63=P6Y!mj+m7+x#6eUK-~9m~8nUDP?}S>8koWmI z2f!6lLHV+mp>H^63V6PA3U?xXU&Oxfdddap1w0xO_D{mO;=%20MDO<34p&u6tkn{pEBMKn z+tZHFx#{(JfJ8op!(S<^Hoy%yH`2Xb@CaBGX|kUxH#R=Z>GPe}z@_XS)5Lq0Mp7w0 zNy4c;o$ca(i*{VB!rWieiiZ7a)_b3>HD&YcP~^ax!sWxEYBy(bLc(&8kV}q2G=;^F zrchC^qZbRm)GDs%z{CGkYwPJco0PBvJ_RbTCc1b%^f-B-2|p0Ei5228ok|7sw3v;3 zD~P~@W=;1hHP&~kkUlHI)^8f3eaTJe`ZazS{XJc_4>>1DHCmaR=!XUt`|*MF9rh0p4i$GI192vhVOtLo3x*@Q2q{ur?Abz~sy^e>H_ zKnPqJl~mcTt3LZz8t3uOnMLSlTux;3Cc?tgG%2mOdKs}&H7$WjQ|(48NT4r%@6&7Q zSuSR5KNAz2_=`ICb%daR8b=mTO||QL5>c$zCU_*EDZdst%)Oa+Oq`kjrvYydyZM&;W5fA z4*nDd5Ap&!M789B?v+}0rP?h=%A3p{_?=Djsn!HpxM$n=oC5JGCd^*k#%C+59E2mF z_yN%15-!an)6i7_-uRPM2r6&jlOloCD5D$*W+|(TZ`>hUjaQR%iXO!b10TLGgz6kidCuM7~=X z?_ePV=0Wzt;|V7ozSdXtOZ#Rt9(lUHwT7nYJpcwKsnSPFJ!dfruV7E(kw^s2j5B1k zr+{D@aA>~nytXEv;B9l9C8}n6n$%u^mYzJB;k*`51eVK4{eB_j!j?tlOi7Qm8g&IW40_%bUm86DF%+H9k*Sg)sIk;*7ME5M27PxUR5Q> zo8v*=EsCUDLe_E4+qt0Qdn_Bv)?wv)PHl20#7?G--$U`&?dijRnt8vKbvC>wS3grY zE|vmLbRJi&&7q<&Ydko{TSvUkhpQZ4G8#UDG>mPh8mYoxA*;C2~0IYeN=0GO(I+S*sY|!bCP1beL!Wakss{SwOtx6ly!8Y zl+CA6z)bnuqo@3Z&ig5A|1%KO{e|%l=AO&|O@coAgooQ>7dVs2G>lX9W=bNKkzR0x z^bRe8Bm{bS)Kzagvm9$aupA4V+v#km$sA0N)}A&3W#Yg7?~q=$8}5s&N-%&7`~ZdE z$pxq^HJVsu6>bfl&I&!LI7XDtPySp}Unc3p_c^7U|B$&#$pn~l_gkzf)>85y4U(Ro zuR991J&)gR`;x{|PuJITzT&Znz5P(8=`fV?DL{#gW{Knb zXNu#Omd#trFon?_a~UkGf7OAHG`sXh{s_;a%>Aj4AxgZI$*(x*9ppM*&9@vvYOVB|I@JTHXg-)3LSo?Q&A(KT?aNX|QU%k;7y31uL>t<9(Bw5v#qcn7K(c_5 zZRCU{aGFEDmj}c=j~YHMObk!V1rpdmnp8J@FfAK|ngW=pvY1FMlx{urI*v)%P#?b= z3zh7PV5KMLg;m?PleQe%mcU%MHqwMBvenm7t6F%4Y2RS z9e-wsQHP%YvmGT+qIT_oT42^~&!;`@xGm0>6O^wY(u4{{e4$g95rc8PX6bs41{fAb zRliprgP6=TX<&BSqsfcEbBRh*o;$of82OT7mq%IvXfoEhYPEjz1{`vD%{a&yzX*`! zcYE8R2h3|CpR|97@bHU*_&HtyumZxKk_~m>Zm4$0&aWfEjrmv#P2UPxC9L5UuBj?0 z29XMU2>7dxd|)@6BJ23eE)+rd{Ja!~E}M+jk76wNOITu9pn`tiWmcS?0EdLu$Wx|j zk`#M2OPWbi{ZL|9@W~jwjKXVUBrVr|vIwF3-JRheQU_PT9i9rjK;IF3<>c(Ujc>ld z(YU9Z#&a~Qt<}t^zVO;n?9I2%juV@~1w8t&S@en^xf2~OR-Fc_d0X_$EzlkO2~vK8 zo(cM^kx2PU_zzoTntVXI7$%qly+<`%#I17b!$AD5b(`Xw`=5elW>yoJ@bxD9&F*EqBXGAkxM8qwikb~5>yTOh;dhgVpn#4V)$=MjT9mAsJx zgB1~21^G==UgnvQIMG7x!(3E7i!4nL#v;^jE#|!K$@bvyM-z0sXlDNgq)~_*8I=&{ z53en6B%P7s&_!Vx{NJY=YiqvRH!UE~N)FalMMYijHoL%648KQdo?23CLq$bq$*v3z z;9;gc>HLl~E^2*O%e^^B&t)qOs^2e(CD85xud8a6fe^5iN4z^yJ4E^p5O0p~H(s{F70+FoikV&Zo5x(ycV>O2 zN-n`s6Ep5`oZ4p#=ZAvPgBp4v@fXa{R>kC6MroO~gyS$-z!XJ_6OCuMjum#LxnmMa zTDv+Kt|hWEKH^jF&|P)lV@W$x{e|VZ$&Y^cM0~TvlSCGXEI*w)YX#FY!)14HpcUNR z9v7Z_A-p740GFb~u`L>m*jfu>oV_oFb{YyeUcAm;9W-x_c#=D_+*L4C!`U970=D1K z_8=<{x*Tn3w2B7hkDaXsic}w`-gwDyh=$_qIvNa2TJ6^V$*xsM|K<+BDc?-5ijqOn z+n@u84+07AKI9;)m_7?Kt-gP1y1ea0GJlH-;nHteUU28t$6!M`EniSiBj z6P?_iEQ61R;QI(pL$23G0RGRGMAIN0^f*(>X7^}aEmtPBIU@j9^gPE>&+!eJ9+wz)OhfO(ULS{8Vq^6k1vS*rh2G#8;QI^agy(#&}4Bp-1tu;6p)WIAi;O zCh#-(i3YCEHT5k4V=BX*MClG8D#YI)BVn!FO& zo^3BPq&{VdV|_|VDp)gkHj*2yLe#hd?v*%?-pBIkB~&}gceo%{eq@x_tP&+fF;fps zlJjPDrJ=|$GWh?*BfGcl&`Q-$7zDo;+hSJjb^*v zz{Gc#lY~5qnk!i4%6QBU$pwoV}_9Bt} z`q-tk4Y0`&0AIlC8xzvLD|qw-XQl*;>QeGRI7@8C0c>)8j#sJi@K*zE1)arc&%?rq z*1KMtnWT^829FTYDEOc*u|1g~9@y#Bo2zB-bi(T;!V}k?$8C5Fqd-+CPT#~G_9-G) z3aRz`Dnf8%6YYfcJZ0J>a#k3=7BAg_O9f-5ijkzTlMLXT?Hn#tx?*>sLtGp_5ikV! z3d8U>T9{N>U+{b11hV>;vwLS@bfGNl-Be7IUb}q7lxZNnq86h~9{Z%{!empi=_B-+ z?19J<% zORO2Rm}H)@?ot0-RejHf6(TFS&d4aiW*N|ZRcd21Zrg+YpJC*a85PnPR^3m|@cwwy zuiHY<*&?|9bCuQ29s$T08~||m7mmyZvJzD|KN4HLsa)MWLLzW*Z;oL;z-oT2vit)B zHsAzF75mz}ESTlf+sO-{Q)kuP+y;7QOH}x-|0Fmw%ghD;iW0_-lfv}PgIE8922`Wk z{A)5mC)SyBa`hCa8J5D@RB~oOdPI>t{xV;Th7p}PQ79=ci%OkScrCM)Fdiaba4rZO zc~o%!lTJw+8;0`CdF9bsiz%r=_fQN?wKW?w8u4T_UG%U7hkP>v7&IE$^jp>i(a^I1 z_2UQf8%_-%0y(E~?cy6ZnW^JMWr>uJ0YZln5^j{iUmOj@slMm3txtTp*!c9dT_C9> z&BJs5YAgn;1Lgkuo5wKxq*5TVPym}o1oW&5Zxs2;2#w^Ye8E?FazwKKvkU{&d>|&Syyyk~b(_%Q*mEw5(_zNg{C^p`I*v=$I;qO&cUaGn2W=C%| zB2>*b>vcP3AAWFesOL^&;4vRPpa)2OlKy#qv_N|Rv%8SAh)9o9(Qw?>CIMB`kX zOOpM^0EP$;+!cHPqO6(7Q&DB4sLiZT+{F1#fJ2YcU_?3LVvHFei?N+*;N^O!9kwnA zurn1k>~w!cI8u4r#rn+l7%o&WkDOULhOy< zOkJsk5Vl9UUksUzYMu)tp$dad+(inO& zmLM`CouKIOHLdr9TAqW1_!+#IM?hLG9(bO z>2YF8_P}f{)Qg7mn~xjca7$^fvH)ogndUnf*7XyNtq#=qz2&;lmC`6*(mr$lqdV!a8sZh7M7JqPJkiYRaux9L3Z>zEG+4GYHiuTG?=94)J6qLVz-I^ho zl>l1_=Hzgnc_&bzFBibX0B;3FCQ!xr(>j7$+-sRC4--nC|0Gb4tFpcSouU3dkp#3TotG znCa}mLE^}E9|KBauSf7llIk%GQ3J9DU@H3b1^?%!S+gyX)@-JA6UmkfhnuRIP+ZmT zrcw#nHoFl|HVU71zA*4#7QXrTBja=B>VUT-$K+#hvj%LEuxDNUBuE&dNS~+(@zIyk ze5hB)s9`m&Plpl_0b-G)j2P=`t%2$2bBCLZ50CyhKW!9yDs~j#Og-JB_R0DMcAm1q=ntkbf{QgKQi8LS~S#DOj^0`h|xx z7|(Dkq7Bf1vnE?26a$#~2^O0YbJ0XJoJN2JM?m5ClpgTsB8izo#ozPa9Tkj*g9JU<%C82UG*fgHd;~BiEcWtgwyrQz51`XqnAl-p~J@NRKVI`Qi?wHnA zEf0h+tECD7rm+D)II%vFkRlq*04OYoqP3tpshJ~Bnv{H|3o8~F^ab1G6H)}oO>l#B zq1+5O5#KtiJ#B1kwrLc)bBOyi$FN%E1Cw8*5c*$=Jzi0-rR^~Bna=p~1@a=xkD>*S z>=9rmFsC+@>TnL_SfGwQxMQlKDA3R%Nf=%G@n|5t;uo(HRRHWgj9J*7;rt9p0X;@u zSne5oW~OhAT)z-0Eq#DM!5gz0OL#ezAOGXrmp(=6~2f!@h%@7-Jc+s@?@0kw>SNVhNeoxp{gg5Qb~#!L%NgY;JY zf3@-#Xxa3Eu251Em3*%1A9Ji3$KTiWTKJ5v^<4Y8uh*5IH767-0ml>s;=&4e5}~MX zE7w{AzPB!?A}i+C>|WSJVLjPh6gdb6i!G$$=j?-SJdZk;NI5!l!ANZUaJAa=-2UQv zr7u;(f9viV9@8B%c>4k{tcH{_%DW5dI_RvFVGg5IELxRc{?nv82UZ7qy0<6cfKLNg zO;K-Ey7{VwAV=(MO^lbj*{+|hE2fz2*V%CW%k+3KaPZBo|IDV%^4(^%p08mnu=tTP zb-DGg(R8ImEp&4*G6s&Pqs;%iLZMC?F$m>-&lUF(6S= z#*OXc++6UCI6+a$mSR?a=s=)S;IyPXX;>Z18{=qycw+Jn>6;S^2s{Z5)PIJp87DZ> z1s+@DGeSINF%A>(Fx1ya&9?Oy>=)1k?T8e`_2w= z4~~a4;Q0546gt^U$cFzBRu1PzOJGK8$SB-(hvaVNNT}}S zh9&I;0qk_u#t8Q>gVLTza5ROqNv^0bB|iR+OA8!G%-`#yXLMXcab0$Fy##$0?1+%J z2NchtxjdTOz-d-Ts}r<4bvI9-;cLL^c(ldC>BE`Ae)VBBFf~p^4Ecp4u^j%m_j+!@ zXf82!*YuO;7YcD>C7wphO4xjQ%WEs0qzOjd_)>HAw!cu>k~k_}#ib{sgLMW$dwR9q zZhAE=Gh>ELuc8!+frOKw3r79;qE{@fcZ=Q%{^sa-!FrFGWlkJW|Kt69(faxn@O}#Z zl@%)H>dZA1@pDS`M{%9*R>74A-|m2{K0@wy8RFd7KP|8C;eW`Djj}7=%73Iz_hhc0 zRJqOb0$r!=Qw0@pWzbi{5RzBk%8QJ4vF@-fdG}wn^IBzoD+8MM_wA6hlg%MF$QmqKS zA0jSUXyUf{e@wl3Jd|(zHD1V)>`EA05>h1D2SpJHp^~+bA?w)3nk7pzw#jao5F)Z< z-?y=keP0JN*_SbvvHfnJ@AG}0-=Ff*Yv#VM>w2H}Ip=*YXWX!`XRTFlBH!lTzZ-xz z-0F0j{KDj>>xK*EX&!$Pw3qyB2LBB0ioU@~eJVANVqLpp*z!Kj$ai`Mr`#Ghf5N?( zsI#+U#yy??$z6LL8pPX>*U+jGes`R{sKb9CPQ5VT(Vw#yz$ErY2wixMRlfoPEZ9#k z_P~dmc18bzqJ{2rB{aj9Uu1v2Ue&|0T)j~J8UH2fZ)vg;zuqlB{5ZdI=Vb?x#s7>( zMeyad%R)=X!Iph%2=Rl~6XRZ&du|LU*R!q){L@e;@j(hN9>xL;~@B5Egh4}49 z53Lz4#@;@_ZDl6+0suVD`9YdUGrMf=a|7Uj64g6cXiG`H{ zz7HHD7g#^P>b*SB?aq|y12M%0i-`+wFO0eZ)YnmSqc`p4{VoF)kwIW7B=#WeX^-Z4 z1}B}CL5CSf0$@&J^AGj1Z5KpH@U{sI6)jiW#& zuDbDKL-}%Exkxr37OaI0US>SFd(&pK%wsnVNQ0_*5q~@Fo?$UrJb<4@7Kp$u?LaDY zx`B++i!Bz?ff$@z$Z&?M9vq}o;`AYVV^$?}e*K7$9Oq--bJKdVTC(Z@us-+G(^XS` zH5BDkBne&n-i$*PD(RF78S6&QU785H`vth*>Bh-nrt@!$p`U-;S}02`KeKTSaiMJ( z4eH*oY8gfkH}w9iyV7Vs=VWj*g(vyy$)U5blV|dP1(B^AOKVl%-1ZolY3cZUIqFWp zJG6;k0FVo=!ZBn+4Q2spClKE;`0}NDQMWaS0isiS_1~@Sy<9(_a4+kazapf8y$}lZ zGwG$ZW@uTSF$tlSWgX?5AFL~O$*GyPONKv6#X6B%#V&v``+3O~S~`^-Fv1%1b9mU5 zL7?YvFj6~~@hXD=gV(6j4eOe8X;Z&T3@g*@4xQg49zSr~F+W_vr%Nt)R+uS0S65Yg z`gs5V9RYLxQMr)TjNq>)x>Mykd*xHlrxpQwe^{R0g5lj{&&=+@E}9~B8{@Z*6X)j>rLH< zm6d*LfaT8+INVshn*|4BLz#P}fTg*jh*X!~0t&&CBH~&L-xkm!HA{_MM<>s6I`+C; z-Z!BCK4#{5*`Y5f?!7oMLTo?{Raj&Cs@WWbRg$m|w9 z>d3x$h5_#y?r)-3KpNTzq08!>ogc`VIlfw2FrSTVgKt&ER{|WjEaJgW?#}O7F)B1J zf-z#Vd9}|!`G)~u@6Yu?dM|nbi~_H*p_8Y=9dIZlHC*h85a)ZUp#OS4R9B+)SzZXUt_Ta z$|nC!)+`pI7{sS*@OUQV*VWp8t*c`$yVlUlvFUg#DDL%~i|1}~;tN-x)_p#>1_vad zYXP*}&jb7e@cgDd`e6Qq9to!k6cCPAFvdLy0qE#u=|3SF^$*1LN=@bf9p(cUYuX(rH2`wa`1G_T+xU*BS6nV1w^k6`dklUenBrFdmCwq z_(~lBkqV9NaRP2`dIoq@+J%LO(>hRDzmMP|a6JZIB<-I7a&fVRf5A^^z8|zn*4IUzZp8ZOuU4KXdLS*;nymBMl zj2ZYW4t&L;+JCMX+@D)qDeGGY5FVw>aEIpRp3Dz>I}#iRHaHT=;_Dwg3P)K!V#5KtNc}lCF0#LkX4V z7?1}G?1JGh#;bgmoAqnE)((}(-y1;ocJ3VVV>JWizW@F##cD~4T>r>v1aRfn${m_s zL?ud-OvLh%*L$z`7P)~OmqOd!FAY%!by`ptN7DTyPYf|_y%w1g4EwobPR$r7A{B5~ zGfpRu?5$HWiafZ{qT|x#sqGB2ley#3(eGL-NbkOpG6DOQ^_uw8v2z|9o|U0lHMvO- z+qi-5s|IwE#WD?DV~eBI0#|(RE30#bQzcaN9MB%N0JpDh2*xHv2J8VM0u@+BIow6) z_jruW(C&`iE%WVFa*z2@6bOKK_+0uN=D_0^N?`@F=wEYcz{`K>T_``KdZYhgA zR_7UzTjm$CR36=xmicqoHVR>E@76L^f0ETBK*v-j+{vvRmR^^W6wxepsWR-)zDjY4nMY&OX zd8fx8G^-s;x;yxZ^1(`-j+J6J9u9V#Q8V2h^>srgUt}&@eoeK92jW%i& zN~om<-0c&$R2gge5Tw#+q5(y2z7%*Dd$d6R!X24NkQDtYWK&zr`lTp8)r1F{{PK;4 zd)>99B1r|ZHOHyPC4Q6CRVEO)L#kbNiHqfNIbCN~5o8SAZXjb9%THv+tR#e*5VO9pod;YPBQ+Iffz4GOzT`O72Lkuf@cJYGm*m6RI()lz#Rn>pJ zLw@Cwd#qD!|1d~H3XC8QjJoHn@$GYo^GRcdXyi=!aO~)Z$04tcT{ixTOV^T1br|q$ zs4VFP!btswVpE`o=p#9Eg;~K#5JrZ0wb0)A+KuMx@?;}@i+uZ_;*fOHfNKJ4>o5IM`Y2xdko9cGJ#8_nUQN;a#seSRFark|+y>zvM}%-z$PEma$> zTaR>P74ttM1TF1})M4!%Sr`IypYgTUm>$UO{9>!+eJ&ag@^#r|F%0t+^jRpQ%Gh#0vWk110<5lR^n?CDYTvwxeQSG~N5mzejbPkoWmzj$~^)#rP$|;K6uT zmQIF~Zeit4gY<%L+FP_)156q})$+G=R;AuIp(tLdgHX3)Sfy`*YCIB{OZadfG7vCe zwR3@;pVppR@WcgcRkm=o!XU^ASg?}M$ZPCZrDKVlVpun@2E1pFXG_*OP0yTnNH0WV zoP7k_bCkAVSS5wEce;I$^Ak*)9yd`a=XmPs=?+AZ-@!jezSCSx;oN5@bjvgJch|hz zJ=sF(oPwxA-|f3>=5yR){c(#cSLPZX5cVKeqeAr`u8;YgPx6WNNA}E}{plKee+=gg z!X14XFGc&z;G6!$(59c&OER}y z_mUu~e11D@eor*K=F-pdWL)?DB@d^}EZxC=$ES^*o*os!A`f%c3XOyhveXoHr`I+; z68t5&G`5ddYTU!APDn-Fw&y-Abl5gWpUlI}g9b;pYjytyU$i07if=}1R=#g z$MA8+-4KVo$8bS+Dv3@DxJ*WbOY1aa^Al!)Y#B`MXhKoXi4&SvUR%?fetfWC->QohQ%{SROjMzvXw0$Ab-wq` zMTki0gmMwe<0s5_h|0)mtKIvHR1vOfLio)G-z;!&X{2>|2|fUC2VfTt8XDF&Ad2U( zop>cu=HCHQ8;cer27Kyzbg*USkyiOnvgn;iX(wt=Pr4?_vq>-gt{>?}MKrPg@NZH0 zx!=UcQ7W0I*H7m#-pG3g9&@C4&tPYbqhCWs(|ASfeV(J|Z|&!NH~H&{k&cI7-wFE{ z9nWajE|By5JKNtjJC@uzm^&-4(7Y#`;$R%7=tYiTX*5qN(DqlpG0iRQfXtzy{r00r z0&ebd@?fKC=SW`5WpETnCjzSPo%HAcbG^r$zOsf3!jolRe5i3(y{`X9?zArZHy5v(SaMTog6(aZS=w=E1*n7rx*ga*M%FPFq zk9pog;NjZz0t#9>W?j0c``swZX%qPj2OV|f-WCY8WG+S1&HBcA4Eg$e{^q}bVrfo+ zo*~XRo}ABapB+SC*kh#UDZEH4IT7+_>zJ-d3$2`&^a8maTi(+usek?b$H<(FxlT{; zHT>%#?eoED@@?Kl)f#pi28wS?oo8WK@-3g7H7B=a2cJdG2nHY0(9DkOTc7P9><^c| zo%l=5HGo&Q2Q={Ht*i=}hMx7Tr@?wS>UOfA>9eABe zK3OqYE|$DDkR``P88o7l#Ho;Ne25%UCO41iOmiAUjaHK8O|Kn@tJR>Q z4;#`34*;2|d-?IlTL>>w`OQvLE0acLh`K5Vjso1Dhh^Yp=$EeAiEKN9AcZ$G zK&m=K$NHm}J84^fZ>Lvr(rofuK9I{ys@qi`yp2wpyyryf_x=_UO-h<^I)SA5N-|*1 zukd&vsx`v&+-qks{lxP3-#ZO#wX3hq=hz_~50#E~qT1LQU}1-(xAoY8mX8B!V4OJC zoWEq%BmK-3dUQOCzfW}+yi(zBbTaCaJ~g6n923R*)}J&qTk>aV{9+YOlCZ8^L-ka5 zmO6J_1G!DZU?HUvwpt+;9b{7$E#417&|wGts}1AWOAe+y;&@xCrCx&Tdq%zB4Y?3x zor4RB{h^ty=4DRv-ks8X%|YfK7AnV5&_q3y^>!&M@Jv5TL&o^_*LVD8a*ztjHd1i` z*JhX(^^On3EGuJ4uIGW7t9wkI5nsklr}j;`qp1ANjtrcI?8R0Tf!%!_x=|F0Y%7;^;k+(N+_w<(hIrnGdSj(nVq`yz3RJ_1eE+y|FsxhSp*KaZ38jnwjg+NI(-$SQ5c`x>txKyY9vaa zn8pTEzj_|!(;w7ovgxU|Q{<0>#D557RNrgi`Py*04O%yX0d(n8)?g-yOb#RKD=`B0@=3&QD^uXbvkf5YKq zLc@ANlYz6b8E-1*8@;9;7H1bsx3Wbq2-+x(7PmYb72*dO-0xeI;lK%I%lhuEDSEA} z!T=!CDh)C*wa(dYd*J#^pDce2t^b~E`3**bK$;4v@&YiDRW-c#Rd@HW&%=r)Tw4}N`>S;(vSTFf zTPTFa!gX}veD6H4Od4K{nqSmPf82c1$~rmveUWt zVclryz8CZw@)#qdV(i)}U}DKQeFgL)%7472^_)Ly-sO1u^sV2sTGGtcjdNf3@2LeTb03uDgwOdk(aNbYvj%!Ao|X-@N}umL&N$o)rv4t(gsF-Vy<%S@ z@$^PkdEs{8h-$}%ob0Kqt<;3>lII(9jLI6%X>N%^NylCCfRLCWH8M@}WE~%0(+RIy zOfpei^?0xV12xjGD8rK8P53BCP1Y)+i-WMFupzpKx?c$e)AhiDeqB|mh;`4YEW4=o zQRqTU+AW0s=OB8D!Gn7&sI1LGg*RGE8mpWxwoDqzVHQ*jH{OyGDJ`WF6Wc?E+aBql zL3e9ETz{z3EmuhLoQu<97V{oTY3+4{Mr>L|dH+*sV^cbiElQbN!26r3-aS1r*&H14 z9-%c8nk7z-(Raz73y3l0C>(Xp{5^Lgj$kWz4rDGfX(;mClP&kI-Yx6Q!+Bw^>@RuV z;qb(Tk(a~ZiG&LBT^vmAL6~s!iTS_ZWA;c$z)|uTenAfSf+3kSza~JK=p)0ph_DBv zw~`mxvtI9fPqYB5q@P|(t@#+uY(5vx50}`hPBQvqvPl1t2&SEK@t;+V(s>APmx!tf zIxc)FFHB$RM=#(+>R_Y1{`WSQT6?kEPq`*Z;0B~JVVQ5^Lam4^vY*+riR%)R$62g)WPBbnf+^9=GLPloHsMH*Jc_O0l+A>|unq zpKk3r&aPgsM8!J24f#LCY+T)TlD(V`^Aoo*evMf-IKoeqX7sH;zug zSiurm367X>TVC5a6JlKq%cr-@64#zab@Y|)9(jH9bB9-cdaTL;0JyK~V9wI5^%JMi z^wdYVaEaS0pg5l$AxnkAny~FJv>?MpU2|eF4=T$=poxpP;2{^P+i;zaNu%F1I)AFp zRfs)(lg(|(1aRok-In=Mts@MC2Xox-Zo<5jMKp^4HPBB}5q59X6UnMLVI=1|ZVwJ> zl0suRWgM)PDoRXVCcne%X#akqIg+fE^=(aUIMwMIyaSjU;)(`S z6>o44;5>JIObjxy4s)rB?F(UrCJMlNmsBi)S}v#33A?r@w@;s_`kw%o_3_Clt3R_|dH#El zQe7Wq!dll!cho~_WHAJ7uO5D!ef%}Eo3ktN4^QFwjqy138Q2%UF#F7=?&W-_{)yGpuXR16{{xOU?Bx)7CBd6s$3bR zIZ75W3>Zq8J5B<(A|+&el=IqG7vBfRu8KY7eKN1jh8m{5)X9m;qILteqelnIGE#@5 z8&zfy22|NEC1Sc_?u`+T)=EJp+&+ZOb}Kzskoc_@r?p(fSdF>FtJR{RiX+3g)5)`$%*7 z3Z_Y)v@tyNg!DIMNUhw__)6!!-?F|vJ&q6eH%dhhJR7(<3&rc6M(G6B`791S6N+5c zA*BOoAtTy>_o+~46hIxE)*RRHfmZiigzn?IW2aUHPkyd7Lp`?VV4(~Vaqe632OS$a zw+=pUziK^;ai&-6$@cS$UQDWP>DW!;5!C_u-Sw#^zK9q0#vHQ9Dmmmo#U2TIJE-3m zGsZ>W91!hesZsf|wA0Q^f4EK>PgIaTCyUCo>I1M~+N&$qHP70byT<0EawpOg$|>(l zI2pZob^mdc;A`EMjjq0^jT+G_!o!9D@@W*T*lHhJ%p1cGqHYIQ>T^(3n4i=F3Y&&EPUx3=8@g?6Wf6Oy`|#$Muj_{myNh|my2|ugk)74=26)Xs)m2(< zczxOF&Xc29dV#m48uk5d_SEiG(KH4Xe2oF$Pc8@dhUS8ij8Mv-Fy9_9U#ThfUv~Up zt=|Q?m5+p2d27|p|D`urymD~~_Ttbr0MG)XI9kaI1_ojp=CP{@O@urmxS3zIU#lx>o?3djA=eOwh0DNv zTaBZ!KR6MpNC+imVg=B=JnHmW$b9IHW77qlx-4{XdYlz>D)6X`E{4(b_y^`ocIHGXdt&1!n&ZPW_vS0;$XuTtA&N_?e%y@JkQVPJTAp-E3+4dtHhdSwB| z&4hwVl)i0I_YaJIStqdOdxXwIN_x39R+MG^V|z!QC>>oUt-oqQl6B(Io@DJ(H|>H7 zUvd+^aTa&(ys(?Iyukte6kuqyW)RljxdNfS9VG{V;CDI)(v=EQwJCT!>c!1xNrIGZ z%P0*mli6Vsc*v)hAO+{%rS#{3_x=<7si0;TCV5<|neS&in8Yu-jq?PyEI;tKi=p|Z zvxA8_(j`q-d!4QoL!u6BIql8hvrHPQGSTVB)D+8qT{=s*gY#|4%yf;Giw1ttelkNaz~A5Xe@_;)8X?cgetIvHnNxs7TrTtj>W~Q z(ENyd9C#A-o<7@-)}*E|TR6bx5B+^j`v>$dt$&4emgd1fu4)oUi4*mqrmYX@KE_qp zm?}v`8kQ0&F%i24w`0*a|0sGjItz7yxp?h`22)Mgl8a#El3EPtPXrPu!PX7a-Mqj4 zBSBsI5DL_?vems9P}9etUukIZ4bBfODMY5XO-T?C=F>*C5hE1{m9S0wv6wU-rNeAw z)SarXOda+(aGsAnAS*Na+vycNNJ9hZE)!rpN0*sf4!?KJ{G(Q$ z-#WR4Mu9O&11X3L9KQ10l6@Drx-{*$k1 zI(mmTBjxx1dI9bgMt!d{o3hTqguM6bl01V7V17xz17Yo# z#r~tpyf<3+dpHO8`ND*o_PJCXfnE^I^1H!)IAzg#&FRM)&|}-VfF-6pTuz)ux{Wvp zd#dHSs45~1N0iwoO>>~K>K_k06Jn<`=tNmMk4LM}v^PZP1oCg&F=^<2n9r>aaCB~z zJUs5oNmsEcW^}Rc_Yw8~*@x0Ux%|q2Z;_jUPEa0xg~gzuQjxMe#Za<@)?FSd~VxjHAXcU20Gh8cr57pe_k8S|_)f3&xENB&fBZ1R5I$iy~kx-1f% zW>#N#y^4j<+J;PnSP&%lDOooEjS5DN;VUiL_tW5lg-bTiy9=WtEnfD;;n%V_mVg3^ z=H$4dHrtfb9iA1{CShpTi=vAw`h2PkHB6!1Gl7QZ34 zrX<89%98W<5~YRhrF~*EeF4tXJSyrLH=*UqEEof{GXyYn1amhMX2@iJuOHOF=zX|c(jJ5Je_x~%xgD*c=|Z|`KF1;444mML;rR}4YoPNH3lFkkNaOxP}v<{ z0pM*`din7k+k_D$r#w>6sz{BCM3lu(+!%!ig}t!HuI zts2A;t3-s)k2uwKA7!&vY-wyvEGwi+E1%kb9mAjXNR7NdcK9af;8F5Iq%dm2J9R%~ z0`{g_$$|6BI_P!K^JhWvdy%NSToQ#!eRE}vn15i`E zSD*h7RaWPLK=y!T{P5tM&WzzOl($kyNLiiRH%B?el|GyACeSQ44p6B5`@jQxYurSu zEmMs7jy*A#e_WtQXk}+C0nutdE_Us7j@&T#N$O!>bA=)=$dfO$#)gZ7hbfgZSrGsm zAl>m?xDR-Yk_y56cyp>BG7aPOjQIfSqq;4R>Dri3Rg%{>3c6dhH^bx#_rY3*uy4MW8`ffgvNd<1N^q|V>|b0s;sWWqu5$!A(WbsdiuzZ zI%|CRwK5us&F;AP=z<2(la#+m zk@7}V5+;I0QAslIXF@<2jrAn1X9gUVcSBPZf38?b) zY8|hKUQd9v@7N)EfP*5C_18?TsTFn-gzni-_2w#zS5a3JTH#;erHWPTDm*}b0NBZS z9xjxns_r{}gkqKdIazZ?8P*lfkLKSh_a>(RPDO~(DFQt$Om+PvI0Wf^_(uk?v%-32 zi&a9Uk||{|ejk7*01sB=QKi^c2+%Vv@C+Wr(f7p%b~ zodkWPOcZ~|!Xj%K_t)d86SS^pX5r}pe@=QhDap{T7*@;VJ-XOJ3d_#}*mH<@&E_@p zV(@4a#Du#T#i`b9nnE1t>&T%f3i7d@=)NsHZY-Z_54n>xK>B3 zUh)jN_q6v)!p=vKv2M#?$4>XaO7OvZB-E+XcOi4|sCtr(Btuj;P1)dNgSsQXPe~ME zphQRewCVue*pwi1|1zPt5`46p{#N+pNPmnJ-=YC=i$LWc($ z!Lf3&TFT47ws#n)`SwI|Lysil2Cnt}{OjA6{SQdKz3c>WS! z0xf&tC+#<4P;vLcWPFkh0D$1(dr|38Hce7F2}!`#*Rt6wk@eLK>U{Uf1*|eU7k0sd zyN=#Y4Q!LvhgL5L37l5l1I{?UV+VL%vXFS_kj#_K*W?U zg+>;k<=r3jCs|Xsuk6Opl@Q+Vij)W?eCMg4<*Oij6P4v7XL6hQ(7f@;V(CqMRrK(jkF(Ha z1}A+Rg;-fc?JdN$AA_hYN>4zu2WQ}27MM|4ZE-U??fTYKq1x+uw@1hqdmvyH@Zu3B zq4&5n%2yM-Chad#o|m;oXy@wN&Kgup9i@9t^Dg?6_?Pt*wt|I8oix7?56KrVox$Sx zt!osWJKgB%o_Ta%FK{J3X8JKYy}K6$wlZ4DRdlBT;lTdlw?lSm-QN1fL6ra zi( z1a9YT+9?1V0$v`J&YRhd%2Lkk1HxKT3*faiq<)m>-mebnHCmCZxDk2QuG5#f__Nuq za6JrIuYBFt(Kp|7;tQKxS*%~oD$k!*#<;~KPjVqiKWDI>hfJ{#P%$fI0I+>$k4|m& zF?>iVA+qX`M`FnE`hH{;H-?dK{nwSMF?`|1uiwV*z6EsA5bx5pj~zb0kDqoRO>k+q zj@glm+I2Eh-qX|{@#uXn>Gv#oCien=ir05;$hRVC8qAJ+rX>63tbzw^1d&3mqYqtT z?}sw~8=#kTu%#EY0P{g&d(`iLpFQKQP1(4@FOF=5@DUBzQ62FKqY~F}T(7kjyc?fXViOGve>I_L1-2EdfkT3(Sh%o2<=?sopHv{Cv_C!s*| zNfKoGbIfAsQDEmjR}SckZQM|I;5~DPmvD;?ACvbAo26P&?CE(U0y$BU*B*-(^6jVg zFR;i1EK$2us9}tO%X|d^oFgX5k^a$WToSY|dB;QEZmDwp;#7tK zjR~lDVdnpDH?f1;UZCeNNi^n#_cpDBHt1(>A?8A3&5C9%-;&wxop7`A-W59R6^oAI2#$;T3kmQ6@dQQDo?QT)nO=7u>15xe7I>ge-EL ztLJu6)tA?I9F}hAhjW!w6$2hACP)o@QEjx|7q<~cXKL)VHmG^3>05MTnLrTl&9xeO z!6SdiiR`nO{iwE?dCM}4TN}-!wi^a~i!4uDwm$br`M?Q$3ghveTJE{M`XG7Tk6Bf! zLN;o89@x|v6?N{9REzXS30{jzH&K?~Do#7(h1R20^7LHYhD|({(jfHN>y&Zc)8f*t zph;vbesnb6v*#To9Id#bj_o_g%@zFp35<)=@o9%iDf^A-t!A3NVE*1-<`~Lf0hD;_ z#P-&Q+MxMf=bqX|hj@N?GVH|%AyN}Rftw^Q@r@;$;X1B0+&Bf8u^!l$c4CArt zG-Eyzpn|i+dce?|(k(F?oN9bw&uvu2Xm<*bW*@v~mz)9{Ip$v+Ngz~cCTZ<|$8ttAy8j6lfiwVh3`cuI2GMvq`&I%8sQAx>e%nNU?H}~_c;(c3CAX*~ z-s|&cHo{=HD9iam6GQyV+4=>_9b%E+Yo7z2vkxmHtjZ_LG5lD%1Y_(}cER$Co$krb zZ_@l2mZ62X01+6H{pS1WKxyOyp6@%Ebv>3BmjpNPqtN>7dFuLj4h=n*bED#44Zo;{SLKp zdjWBNh+($BQ%evQK_0~LDszH(?Ecm`=v|k zedG}Ck7y>16}uZQ0Sf(H`n2Cd6;@wi1&X}WY8QRHjZ*yv)v@_zBwabJF9JDOgG!?b zMhJ>!-j8lMW zvwL?OGhG*h}ZQ1v1D5raI9UR%8_nkVs zX69w%fctjm4V3Fhy)W$qcgOcE=UYwMhbD3f?;pFBz1q4$Q>fDV3LmVyTth9e92U4{ zh-61m_{+Qhi?-KXEM$ArQQ1Cps(M&zws&hM1)s`ab8uvVZcVCjZ*!M?ae9}V@!j** znc!*ZL^luRbp`q>8un**7_O?yvaKBb4PpG4YMK+Ln+o}+AaD2YCw~Q^$35~z<^Pph zRX|e7%$L1484TS0+9dDTlP3y_&Mg6(lpWeal@M=Y=#1RIqi+%jI6lpsk&#ozLVRz%?`$be5jv+{aZ63;etCH{|BCxfKkm-F3i>IO^PS(zI;)WtdklHLcHXHLO=+ZIE+D^C9{!eeWl3NXw;Bu);;)3s^*#0dsAd%T;oBqd+ z=5s4K-3|3yza6iO)od&8GC&e2akzhjKa;y3VTK^LHm6EMeQmj{k&rtdA%L+gW%1@i ze}2(FDU0D3noDB3#NC|05yG`%JO$AHySNU4rJmQw>#GkhKpVM%KY(CVRq>CDNU->&bWNvH6iDNEzq6W?AK@DO zYU>Hzg1+2aT@Rixt3g?W&{JU7X+4H#1bE};yBRun>Hys-O^-az z(!3pc7xQ%H<(+a4I3KNUE1mh=<=l{bNA$z*5WmWd&Yf%TqHmNz{Fv;Gd7w23CWg>s z`eJ-Ar)oX9PHMViPl4=k$fyA z=#T@T9m}6>PX^c(z)`NUE^B_Vfn+{O-~Dp5K<0pi{2*3#N7#1}Weacg$Bfo0TB)WT z*NMXp9%9Bs-I28zy1B+-Oh`>qfo-pX*hGEYiUxfX(EiX{b8fy;z%=g{43wA9??&o8 zJQm{uOaQsm0urIjo2OZ#kd}gES-1MyNV9}+F!jO`Pg#;w@GVA%f-Vxf zTKrMl4u1t7^F#kNEea4{_=~N|N3+yTeBA)4YjGn~6+k&MmQd@+7eH4e&;u61zdIsL zsiqT$RILeaI5u?AA*uG&F^(t;H!bnaSxmI_ogMe8JtQze4hOOdo(VP8AmoziLC;Jm zm`|nvq8D7%*Ky@O=da8Z1fkQe7C845A0Q;2m!os-;dJuxHf!&H0(?A` zE5Mnpb3zsR2r_W)Pr@T>{GxDcn~|N{R+!&w*|x#VSt6_Q_uPVY69hY*KyELD^nxNm z8iryJpf&-(LL+xYXO*?iHF$9HTcd2;k92c#GNk*$7p(eS$3e;Tqi-^6Oi|CFDb`6N z3ZFB*zlmhXsl7tcW$COIq@$MNi2#kEv@53blr2kYwID%C*8A#?ax-!K0BFpN$0e` zCP0B$GWgMuw*~B&a6!N@rR>6xnhB(+v?nT`bHBMN?Qg)@)6t`Lp%r| z=!krOb}tPjb5 zU3V>9XK?Lu8MOe72`ss1i>lK{W0m9N#W_UudAT=wJ^++Ub>0cq0H#x}>pm~QYux{O z8gWpYbJ*+B$8=7Dd$1nVVtiX~cuI`mzhHcR9(H)o27PILK`-{S&gmU(+z=W-FF?=< zSt)Dda$a^@`L9`0C3tO_acb8bMBBjI?z}c8*3Jan;kvv7hD%(UATkXh$>G6mC@E0^ zdCV|Z*S+)&x%=Bor2lq}lB|*uIY&(&U_N-n2}t{?ms7$Jc3u-gn57dAvnayxfmO=` zE{!OKoz{=_{4&W7#f(O)ry8mpO*sekSLg-$wZ|v6_R2ig(+aADLkC|2qW`>=VWaVv zr|LP;4mG5T6}!L}gYPKDdg!KsbO~Qy@$`tQt7*WYJg*}>rHHNblnDT^g+lN>z&=p(Bl$bK}eV+QZx>vgGqoA68!KuGXQ^dN;Cm{eb zp=XZi*rt{*P4jy8JYWgG&kX@$)b80~^eVPc{9CSCSzIB$$y$89Jp#%!U8|pOIcWxL zb%1SN;&coZY2w+cb8mCODEy^C8b5!i`~|#Ywj8X{5;V|2XFv1Yz`tM_O`uuqkgg}a zhAxLH-kv?&O(^>J&GFo#o1m<8LGf^{@X1VZw#bZ{HW9E z+Xi(EsYk+rw_}GE*7Wo+P!-g+_!m%!R}HLWd&KFs*Nw&TYmc7SW?A9!Bh{p<656Ta zBJE5=^|S@(v2yZWy8bg84H*?lVd1vD5~i-Uqb~($+Rdn`kUAM{BXS8dhOauh7@H0h zh4(RI=WQ3kyt!V{tSFsTr7WW;9mAAjGLQkcSdacS%H2Cn#UB58SIvMq2CUkcS^9*& zlY`n9K`qDK7fGN7O$(WzMrmccD4Nl5nL|R36ORV9iKEsZg$7c(+v~94*-7*+hMz->5X#)w+oXu zO#;X{NH^82!wag*x`{L$s&heN5y@1LGJ`ddlei{x+lrABA&4yk!Zb{v%i~Wj{Z4V0J6Hxan z#_mDojV|z_rxb=^s9xd5c&|&Oo;-fCXMp{?UK3zb0G|AXO#z=JxpGxp8&uxw1X#|= z`=wgMGq!|(JKYN= z@%-*-)Ea4ub z280kqKs4(^FZHl+ZN0AqS^%}t^YFN%SB5q;)h-f?RfYaIU93!p*+&s)=y9YxRP zrDyEn)a1V11Dr-~X;Ga36|2VwwNrS0RmnQ&&+pgf@D-VOgan1O!}e^qAZ(iBNjV*)KG`gIxM0nlr&hOS zCcFqoCHIyzb>Tuuuho}z$!v1fX4~jJ!vf&Xcq#0hN*7w`cnJ}U(p7AKdT8xNwMVs$ z$)JPDLux%o@|Wygz~ndI>wiE$q->+)@=U_7b^Z=@y70Rz@eExmjJNIZNpn&uFofF- z-!;5T_@-i@&;YzknE`&pCn8uy9&Q{36oJS2Lu%&xJ!^zsuS%TGq@k6TGhhWE(MVuYNT`e*FGqKkth#JS|tF(4Uc4fZ`bqweI<`iZyqyP5#tN-W}fEmk4a7V2AoQ~-EM5@B;qOz?=c^0`w&Z(3aadx5hlz*XTIe*dYTBUx`g{ zRL)`;e^MAC`e?ERX(FW?9-aGx-EPb#G>>#7*ost`EwbOs$3xcM@+~dC zy+o|_b5mh()Z(_o=27C|>7;6%EMV3)D$E3gsZB_v4yhGr%#U8OII-qYXD=!WtmwvS z2^=Pn?3XW3U{JTCnupLcc@~>xDm1G_%Q|wN+n&_ltKT|N=q|kv*2h!XQ~%wOJNay# z3R$2LiWgmj+ZWvm98*iRiu(>2 z`NI_W{T6OXdY0Q7H~WS%X9*9=#>9ut-H$3+^IwYbq?bjw`YJg1s+Z>PZx~H<4^_p; z3C6lV5^giCQcQ7!#a2`P`v2H^?|7>J|NmbpY4Ea2aqMgnigWChV}+zbM2KW>C!=JG zV-~`ZkYqprZQ` zDiDpJ+In;8OEvcT;PgMt<3|tfkBFnWek_OXBJ$0{hLrHC~CG zM_qapCi%<0)v`S}!xkNK7_GYoQky)tLNXgds&dL; zNp8G2CGPu!zeFANEn6bf7^-4hT$ldM_FM#}Vsk+~zh|1zyZhF0x-d7xL2EQg@IG8e z;ob}tFp@by34JvlWQNyeNDX89+I%O%VN3+Y45c}9FyvAjuQV&B(hM{yA|rJl+%IFC z_56CnKTl9jdG}V2BG=M*RTn1m{cD4gNGW^=yIhOYMB8lZ)SABo7a0S_+>tBomlXfa zwNq{XY?hpO;$?rZBm0x>C3q;kzIaVi1xAUK3P>=I2us6fWSb=-&1qjE(kZwGhaNrp zpBAgU373G7LbKVmdVcMMJo~s)ME{OoeITI^{gB_ z30We>$G&VgVZxDh2vg=~QjzWRXYkc)82nDBnQLx;O~%jP)I1ZjEQzto7Eh?vBu0}y10`s*F>eC-3eEE zD94Ih!Ok4 zY`<~lT>`-dwZNWpw3Ws_&{WvY$tj8IY+MpYNjuO*70I?y2iOW>W4A*l@@kTA^0QxQ z>LcUisp{PDN>5;|dT%%5O*|>RJX$JIq>c&#;mp~=efO$g5m2RpWQwRIg>+-{ z<=5n=YoWXeHd(4IR^tb9{^H^7^X&W_<`yt^IB)GH+SIM)Vl^?tc3{ZaP6;x&4XQ zmrKhmfOz{h6AZcLEF=t>A{DQEnCPyX;D34XXW|=GW&E6+MfnAg#03)UKb1d=nw|d< z@8Ac%P;ZJvH=P3Q{)DQWkb8WB6(ld+o;W}gR?t%-K&ba%{&QG;m=uR zPROm9T$fYE6s10B)wJ7T_%0x+H7|cnu0=%Zvvj)Dud|b>lJ51+<9{o6CT|V|3V1C$ zPCBBofqz&29wcoQoch}4eKwY?kz{m5Y-4k3X5*yU^SAcPa+)fW1iyk!+v{t6lkaX9 zxquM3dvfV|@V|+%-G;7*xg!V&iEa;42%{#kU4^LxQ7|AE+UbGuqF>LzCRW!xfbqnh zFGP95i+wM=4esiuwu8N5a4{!u?QmfI0t!Emgn{8oy_uAq@g*3yK3LJ{pj6>W zkBr;zM9H1S=J;s*y>-EX3#1NHa`v5n=){s*)fHwmRgi_9l{?1vjdzpE90E+hFFuX| zrTL%S3YYBhv++HtPanljUf?Y~d*1P6t?V?r-&W80n6KAShlNG4F5Z(8=c}$aV%6=v z@)?-#C&AxFNf7&{bD+JVdg{~NLYhZsZm}U~!bdyk3(RTvfpq<==ab11X{o~Dd)6YJ z{q3FFTl|$RyEF5o5&PFQ613*|&c!@FXE(L{?y?=g)dRP3e` z_1|ZVDo+qaD#tiYN5sizxC%d2lMaaND80%SQyrK3{V8VEJp!R}sm^oz^`k;?<}7>7 zyf&mUms)(>s+8s(X8n@Bd&+7IROC;bb%Gndqa+W;&La#qB6>)qlNi&ljUYPZ=uOL$ zgHzJm=h(>K8gc*F;4|%{bK5$2b(8bm*eGiJV~`^~P&2$0TAvjxzvlL&)gC5I zLn&}xOH@xGXHS%GF`w))@!ko2om4uuRBvtL{xE-I*_D=aWsH|`wJX4d&8we{ktJuh z&3yX(%M+`d2}IH|wL{9n-#tm(^&KBzn{O}~;k)B3UuYPO7ujex{pe4YgP}0Ln}bBq zH6`o9mbHSLu{+KXUXd|H-Z$$!kPA+EVWQRi`^m74S=6J1^iFqY>0*}2eP=$qpPE?q zk}N|Q-ImEJ0y5#vh^xJq>5a4LENul2*f+UN@O-AcNM6_wgT4e6t!*3Nz!mWt%DUAl zN*xpWQPHxN+w~U*^x14Y<42l@1*(3tuHi&0=1S0=;VtJ4^ob|WQU=VLqBwBjoUIqp z*LM9b1*Kf-Etldbn!SzKJ%9D+I|PvS*n&QHOLW%L8<$IkX;ppw-VV(Ie`evasxB|8 zpG91Ix*wqtay5Zy=ZCks3#$h8(PuJxl*e^l(kFeXRTVN>Hhz z;3P@x?adhrATwaXc{2oPJ*0YM`)teE10u7`6{N(OFaxe!7PCD?&tzt;v`V9@Q{J!# zXf>Z&%wyS(9H@FEu^AB-UEvP7(Q8K&X##KlZZjCE%{)`S1hrf{9>wuxMQ{(QsXOB4 z+-<#Ael)%s63McAx4_R%Fwm9jGK~c^rd{1|O1|;vBkEg+RcAR1L;8zya+SK=D>(|H z^=-3eKPjyiY$RSxg_wWcKnm`gdDeHMula%NE~`IB{B&MY^BdurQwt^uQo}!8mtDVe z_tZEZ-=a9TNg*obTU6d`1XH8KIcsa{Yq{}Wu&RC8nw)4fCKLD=yRFH*)ZT*~(MlCPfsyHbu0b$~9;aiCo-%OJZb) z#v5*dlC=6D!xR82WY@qP=T)wckB91l+Ht48ds@J>X}xy~!huScWRX$bH=(^K{$+B=s5hF;x{zOX+Oz zKNSlG>*JNg`f*2Qw)`)8`N(&tw*O! zWsO&dE)nJLH7tE|0P)Y<9#_BFT8wJzjEQ}?Yo#y07}o_dhA=()p*&q_hr|?#ka$%% z*&{H^$>!v_xKw0?N2o>>I0CTZEaU`Y%?MPND(|biN@USPk9Vj+Cfmu=n$`S%rEj5nL%Ls6r7&(%lCw#0&3ANERP!9~()6Y<<%$`KqsaVcxO!?h@q)CA#BPC2 zM-D->l+Qxpj(GgEdE)V!>=O(dihnBE3J`c)_IhHGoEZXg^J{_;|slB*+Dou&u z)6bmqBf?cL&^+(c%5F)>ee-VVEs>+HcadO8K*_5#VfOcr#0r?7Q=7 zPCUVcc+>wMFU^BJ&lTPV&rNwIs!sR$yPmf+K9t|C;XH97KWZ9dEapTh_tg4#3*37z z2c5w&!aTi8`7nI=X%t8*L=hmVm@_xqgEaYS!QP9dp$M^<9^~8g#!n=y0w7Q}w5! zkgh+_iI4&l+V=M84SuB+&S~1OI+~wA2!iSFHeUJilx|XPama)ab#aX)L|t0e&ga{P z5rm77yH(x8aAFY`!HZ$l$xnYDafLo76ZAXex#)N8YgdiNxrl}Du)r6R?QftiJv-T9 zEm%dw*u~o4MD&#Y^Pn3EoIX(M7e7F~X~QD{N_tVd^6JyPBc*`IBXPu&f$`?J_Iffg zSE^~FlL67enmy7iTFQ(u>Fd{PR#1*yLnKDMc1c@V=CCu`J*TAQwyl`X;>FGvl_h|@ zssC|#vd7qsYDKRfAMs1at+vKr-JjQ`NvH*KPVZlDv>m((RPEGxUETd{@4|$aw$tZ$ z5w7AADUrq-;u^SI`d;SIWf(w>;-jKq0A&Krdi69k>z@w9HtHDQpPa_y2Y#mz6>8Ap zw`VD;IN(@T1{e(k`N+gjRXq%RPJgw@Tfyr1`-4P}`qssR8+bHcL#s4mFW@I3;S^;m znO3#xY6)52Bd2j9Ep_Il3qpyv%Vfc+wO599c{QHo2qtJ)V?Spq=JLA>&q5}sbFG^# z^+mIt4JPwpQ2HY~Z?}3AMmDcK!-LmfUDUgiO$(&Gh=$-;wFPZ_zrQbjb}s!Cw|3Nns+Iy;_JhRZ;z5eo~^ zkOucgN@4kxY0b!)Cf4Y_n_M@hH64OAUn$B?LkoxBz+9wMAq3MeuI%+nUzB#=A5oR~ zyAtLF4#hXQfeWE*D?k7A7YECqA%D+H`NX^OoO-DM`^bH=rts4lBn!W~8t7g>D=~Jy ztV<3l7!@pM_vwsKF##QG-_e|?UUacp)U|sF=4snmXQG$r9(;uagpF&kDsM-@7hn@r z6O8uZP}&8E%ls=4+He`*n&exu`yn_&nAd<-1qR4NZ_TsU+pjeh3eVdVG~^ z#x$}c_2;|Uy{&MoT0J1i!M=9Xx9x((cG9g|F0OV)WWJa zTfr9XkX2ocKoLRvj2}RYUU-`JuD7*q<7Vgh)6Yn*z$Hnn?f)}kGLJGIcC4qZj(>RO zVo%fHRygPq2{Z$@xMWkQQhA2$rVTuNBa`3DL!U$JB(F`L_GVPY&ynk~Br~(v9PJ85 z168@=)^1s!Cg3GVd9iim0v`_Z@b;_?$mA^aa&)%!r+jb9WhL2PC3t%VPZKSV-Am2C z@)2P&{yWr>w)y#7$FsZ2_`te5sx2MV8-A3ux55h-4_@i%YOv#j#P1Jb8rwQg^+R(o zgc+vO9wPi1jD|p`6|Et?>ac<$I2rU@Jo);2B}COb3i7v*BhGpiZ54mdLs#apS$$$H zHc{Mf@IN!t)Yf-P{ivu3b8vF46K8|E9^op)s*L%}ESKSqx!*LgI}IL)PpCcvzEjg` zkwW*RIClOtB2-wY^K9~(PL6C(?5=jFOm0JBKHB5gkooH{&z(Apo4HzZBG@-BnK}hE zm(7jD%u&SRC0tkU*4_9;~;7E=nCm%7jcWYf0@vtb6<2_g1516?Z~pr!4r<&RL&2|il(InxmI zrzD_$>zl@lGURIIpJd)UWGD08`nv|At+N2ga_VCZ2I-Wq^PuixW?i#G?7vy&xN6a> zE%x>IqO5vgfc(rs;yemM-!S|crepu{&@lBM>*+2uzvh2&;JDMJH%Ze@%=W^EJPpmx6y195Vm^zR)XTPq zRlj_gXsW!%_rFUUICS5dl(c<*mo79@{~4G{X3DMFA<0+|E-klV8ot%%Q36HYe8!(| zt24>tZOH~}WFdDY_+3;pW{HmWDI_}GDjz*OqK_EnHmtY%`Vw1+-^!<$H!CqKGA~-W zajq3U=>fCFvXO3WRMURdepV}6mq?TFt6NIfS1$z(0?&D{iZt22Rp=2#07R@4Bfldz72j%Qg5Q`ZZlqL%5s-#vjO-%Y2G zvimkNlEKa_@sBPoJRYVuCurBcaIAH=bO>iZr-^y=F5MEUPxUwFEzWOxSgLM1vMRrC zd|sF&fA**77VTlG$vM_&Q}!iIA^%iIMhnjFYP+%bM`j`v^K*Zz;|e3?Eu?5WPXzQV zkFDc+l5gNqw^l#-ldql^sL)=-ESfx7Ici#X#QA9J6)nw!`{&3=XOxqdXokBas^sW@ z9vHt)8EaqQBaZeIiQq}ex@`!~~Hwa=y8&F#G?g!%YQRj!3)JEY_nhymh7ZBdvU z3ex3a*JyYp{B~&t<~{8!d3Fp0y(>hypFh^45izD6D8(sJuJqMh_ zn;t#GGj^35Y|lOcf7i&T()qO8yf6DOXr_ms zsNByz`s}uU@qrVr{5Xm?b=Jwz!V8#AJvK*`oV~Vh5OuWXu;Sri?Mc(sn0DXoe_7(t7gbdki>_nTW?+zhM z1*Oj@F~S$)hAJ_h%gI*cw*cP|AeGLiC8+_f@KY~yaE3BTcke5=JF?5o)l)zC5M<02 zT~@+z@mDHa{Cy9N0BxA_@G7I3=cbmYH4-@?Qg(%^=tuFhGU-q_*4K?;5Kk8lkSLzz zKj8s^-wxLWUQ;t`x9u!e3{(*K9_`W3-x|2^V28xDcKoN2mvAqQ1AGvjgX9-;2)v7z z7n<4xLXewSRhBx+Zzg`z&^E1tM`5raKwbokeF3WbVZ7QG5=S**zLrvOureUNSa5}^ z-tG`^4LCO*2E#lVK`hHg@v_i}XvYNgTP-z#v%+f@dM;j}Lyk$#E;uP4gU7nhB;Y(h z-~2kYWcg(h&jYOhv8w@*pR;D(rL($$Aaz0x?zQ-#>Ng0L*M6~?LDb*doypS-zL{Q3 zN2o9cUlOaXa$IYe3`v)Ao>A}Wk1=pd-l;3D8cR8CeUWTt=#t;+Pqk%wi8xNvDBB&b z+r=E%e+#^2+WNx);eyS}&H)20 zf$Ytm5VIC`xV z1TFV1Fm_&=gdp-&RB%d+$_O z_RT8lyH)YASQFOQbryM<(G>gJI$^ySsj`z9nff;S9F)md>)y%OlQng&ClS9`2u%m0 zt@mB$i4x=veKQefqy))7397ICN+y~q?ISVMV=uAOjDcl+eHC8|k^O%I(;Mz42BGkQ z`KYIG*(|@ibRXsic{Vh;H{-}U>r-D_G+X}uuNMH4taTj5C*m&8PTV<_u`(2SFu6BK z)fSN=80i90ZAww6yIY}KQ~`XB^}jx)nL<$QKPF-qFcII=eFa)~-CF{;(Visd4maR) ziQ`8r=?%jEpjlAp(Z`$u*_Xr(A;SNOWlO3wjV-*W=t z5)Atmb?Z5sDAe3#k3o+FPmK!fk;I@ATR8Bzi|_A&(9ox7sbPQ4a; zlW>uI+(LoD)JaZ|K^Ua+oiLt^=y0GAIR~gM89#>;m@r)<2?0MUFuOXZ2qfNMLLQk~ zFKomA%k8>@oC1UWwJ&cvY{o-}HaPZ+@@E%ZP7ZDL{!D#C6%TIHUL{55A=c=S-Dhc4 z{*KCMjx-?aeBzjrPA6p_i7=pluf=4f;o1Bsfm1<$8h*9onr-s))H?t@5xWT?sBPUe z{MoR>x@p%nct3=mem5KAR*5IeL;|1X!QYzhk`Uw6d$ucaOGCG$O&U$+oihP2Lp*o^ z{C});e!U@Pn^b24ilgy6e&vR2VxQut=CbdUTvXXerA#&zy4N&XlLR_!O}DFAATv+;I6bQ^donmBM(>o#2Nl zKf}vxdQv)Hks6ESPu@b*-#cJKVYn#Qqq0ARvV+o9!ZM~2VUNBp4p66egt6Fv!toUy z2zwHKae@VMbmD(I8ljoi=qRvv2h(qk)OK3jUfi}ivgdX{kL}_p_XaaS_0F3*$coQ~4;Mn0RKj!!cry>8@#K8!Rxwypx+~4K#!> z`uFomVR7TR)`iC=VEjU#n~m7IO~5YB-0syOAB^`jts64>;;RlExH8BtII^)l@zuIZ z?;1yw`0kbYyvvu7@L6Rm*=O{m>k`%s%r1$vSpX3RPvo(t0%NiFtAvh^2>wKE1A*j8 znq@z1NBvw7rHm*~g=Iq<`-Ux{dK|Twhw*NKS0h1|Uf4k58nz;!@F4=Xfj-kid?|%- z_dgh=vGMOebDQjF49}!7rpv8c7X0akJjIPKp!8AWs~=w_4w*0ybJzBbl&Z|xw?Ia3 zdR8YFI^3Q5B>ptIBe_seuEoULV1$VF3-N+ACfV}Vw6+mAA|bYjOONU=r8UMaXZfqB z+azCFKMCB2_PxvLVTZ$nfe6?lU?L{j0bh9`MSsd-`Np-3_95~0y^)V(z_fHmg5m|? zz}+p>aW+1u9S#(t_O;e>##y*&kA|Mz?d@EoRPhYxO|Ed4ZHQso5;zn``d+;YJ7?Wrxxf*HShi&CV7phs--61-pQX5!g8SwLl)H6 zhKDf5fH95G&L;*qiIq>#03m^=ZDqo3TE|%nFmFr!bD#%3#_L|uXxpVLUQkY5+mj&Y z9dSieEz;v+w{IIs;u4vb?V@5D!6c_J)ISTu?6F&~w%fKt3CfpVfh|-dhviD&i&Ij< z?(6u$aECl~$|j9}QVFj~XD1}fe|6WjIVcqddMsMtc@t7mo-ui~FH_%h+FyQdFi<{- zwhZat_pW9_b1f#)T5i);Pd~I4ELNS(zwSnza15FHWJv%rdWV+$8bfFxZaTiLJxI8N z0(LSeQ%ed~C7N3Zwmq!w8COxOPB2DRF*5F}T%Tbd_4DsGG1_X$Q^ z*=#JqIa6t<(Qrpg@3v)k>upMva86|$SLx(cy}-EGP`qa3;eGVDbNZbQGofbE>EB7i zOoeU9eM=v&{Y`r@OPbd6%&O|ewP2eSX_bh$CUC}{jD}(>S-A5%{AC=y|Mkdpfmula%LG)L=I8pZufjbE zIgQNNZDd2Xa6uZ<(JfDqRS@?jL zuwVp2Y+xga6B|B@(6pN#Ye|sjZdTZlrS#3tga{a(>?iU$*or;mCGG(#nms)!ZZC0O z1SWHQT$G}|#-*2LX-7^NZ^dzTyrh{LZ1xyiJTHNLep;3LV@%Dpj|PG$um^C^Bu{*) zQLvZyEfNv2OJxLZO4_(7*;HCr2hT-W(_da$d^WnCDuE@jCX|}88{vHe4Y~- zh{vB=ij$w4_c`-G!U+FT^h2HQx9+kUQ@;%C3#+{b-VNWjy`YqugM|9oLEl6Zn{W)X zS-_VwS!B0%cL}pGm;im0JY(fnU{G)zKJO3lY|5&mjJV%P9dRp!3x8RD#cgaJ)i~%} z4bJhzS^Iu8;$(@|=Yo}5U|xHI4a_s^u)@9_MA{#y7yhvG05Xr}-QSNs{2K2@#U=pA zbvCji1?a*Sg*WA%IsY>eSo!gj9)mP1^rSkg^=53-E)`;jP7C+*0qF^7WMR!G-x~eY zKnp&OA2o@6lw?3qwFezRZ`J{A{-%VGWbUj@0aIerBaJRG|!*0H)-t6{<~+T(@p< zkxgq(lCq0jCTvL1dqI@lU7HYo#^0FW3e1m!OPKKZ_Tm@_$h4pomlQ3SU`^mL96u=l zYxJLP^j(2%+pZXq^S{PS>}48y31f=hN{0Taa@o+70KIb~H#bI=n1MZcnsvyLnlpRi zb6jzu-V#C*Wn*Xt8tw%ac`Vc-s$EHtx6rS$yk~0rx?S5F0rVwu5i-P^#Ok;IowKfm55p}F(KHYTVQtDHMo_rh5%7SUJQcN9ey`JvDfTi zYwvdA@YWZOi99&$`dM-QQy&;LXCw9?e#oq#g7Rl}r9%3)rTQn6kxW!oMn%ey zA22xZ8@NpeA}t2^b%|M{cc|5ko{>B^x!tkhemx}y2whH&5(bZA_muJmUKP*r!Hs6{#T0O z>KDI>fzR8AAM9i-*6dDkT#5c>?i>QhXV(0F(z5F}(MFuZD1py>FwMJ2eXS^u8A7bh7tdnKK*0Z?ud zWP6L9t>5AIm>=35qSM|bXmc+c24)HB+MpY3Y$!Rw-;uk%g#>ixX6OBHC0@gHfgTLv zAmHvl!)}wNdG5ar=*vi%pB8kTAC8NHF#OmPZFZSEd6|F&TF*-^%C}RFqd3|SG?+f zV-5!4$=V)6NONW@KM2H3=0TnW7--@NcAK_53(PB|?9NsU336v5RD75o`bJ_HSff+r zTkLq^sw~Z;jvl(+zUO_Q)M}-y=li{`&ymX+(9MqaH8AKlm0Gt6O6Yv5=xH1dPK);l z@ek+TM8{uukQf8^6%F7E=^UWAdC10WXC{t<4S3}AT6TO6V zL&ugkW?mKn_0#dw>VBdxBR5+-#_@m9+Vxf|_Q-+_6M%l?1@%Ee+#y3-V4LKON(R@` z*0I_3V6PAJjy&zI>$1K*70l=7k#wkNnVV%(Ytc9zM=+RB`QB_v;tA0D)4TJn|68TJ zvLf;d|0kqrj1 zrP6=$P+mb>?Ho7^VK0eBCFN3o$c~nuXuS^8RDdQBd8`%-!8*m#gIYczrX|;7x}mn$!}K3Um@UhTZIVK&uLs3i$E;maY)LAQ>l3d=?uP;+mD6- z7U?>*7hB{$lp3X*RN!e&@AzGG5`!>zYHk}S6X)Mf1ag7uS0oI(C^Ds;an6cdR|MK9 zyiFM~5T3TUW;IVjt?IgdpwBUpPnHiU%vgy5od)f#I5w*0j8(OAD0iC)0T}eK>84P( z$5=(!MuaZ%9O}(3$(y$ZI*u;5L0nUyNK4QBv``;xUQyu9#oXWqi$>J zbMf6Th;IZMa#=z@sCP@%A~D_7HzZ{5fGIW8D1Nz#Z-%FFL{dzxN6O=)jzrK0-^MiT+oKg=bvh zYw*SyAQTRMGUUoy&DLG8fX6iAJTIk6L0lK5Qkgg+nZ_3J@stP+{>m-pH7KdB+!V8X zLvSJBcVSCP%xSw((%S_t0GqVXiJy(d$Y)`2L0gf#X(vWQOm1ut-V!=bzM|xJMdCwg z;6XRt2h#|*&0xZ#k1wa03s6{SaoV{j>X~p=4AFcalpOag9t%dxD?jj-P!>W{DR5&ID{jnOAy@0t+tDmkq0WT>F+w z%&8yEPlCl&dLv+DMvsn9G;iLEH^SBleg(j`;NkQZYWXE(X3h?YE-T%Z2aVJUVF?NS z?56$s@C3uDz1i9*w(`a|)t8d5GRRHD2qNSGtNj-#j-iEZY`XPGZmTU=hjde~Ild+A zsMs7fZwN3bY1PXq1yIjw()FG6BKjr80vKkD9Pr+9_Ci&rXdfcFz`S7w+H~HpkiHvm z{!C#V3$_^w1TT4)pm3CYa-W5&D4uPL{cyM@0oYgTf$UhSAM;Pt(kU12cZMy|-=Y8h zdJ=x|%i8AS;QglXuHO*NkrL{>chZNPJq)2Tk*>R2`=J5AaJ;grir|4hgI4m5bdcI& zP(dU+jYh@vrw&IyYOf`7JlT3Z`o}d2q3dg&CXVMrDUv? zKNQh<8Ljb(R&C&fAgZkYm&3xT<~frYAIQzm5ESzglIn#Gf>di1(YT#>QFJT*Vv_AA z;&m%S*lo3~Zzox4@pBt-l3z-O`P-xWV&`tKMytu63h072#hXn8#!mLWk>5nVB$pI8 za6_OsmRd-<*+84`a~n96f-l(;)ru;b4%)YMl9^QR1*W`ji$IA{D#7RCU)alqq&0>O zEHn4=uH?im#Vw7fwwIq5O^Nv_*_6?RkXG9#2h1K}Qw#7zus@qgcyBZb;w!|e|2tc3 zpG)V=f%yhYy$U&d+8@YP3jqu)?vzCPKl&rF@^e$}f4+-}u_}xC6rP%D7B?Wl<_UNH zh(Zr@*F~bD@QxVI%8H7EjFbetqb_-lp&gWZ1ioHO=0A*^3W^2D7u4s>^_wLr&H-Rj zTUWs3Y)(ICdJ^G7g*TaEzdxGdQglA}Fkcf)WZ)5(QG=y13~Aanod>mZ$PQeC8^iS3 zwtTns*(ZUL4{&Tjj;D}3<1+cvfXOQ4vE-Nyn#*HRLZYN!d8!Xx#RtiYj_gU89&v2` zkFY?f+U8?`7UA^h>O@&xVP-WXvyEHZYWfORy4hByE8Yl`mg@|+T-{)~!nE`4XrxE@ zD_<)r+W(>t8Apea(^88ajL0Tc;tYOrn_NTT(>o_pJf@aZPIpM~Y5bjSa( zA@J{QBoZCC=E{}kC21N1GO-+s>k6t*u-&8&PK8eqMr0|su}Q!<%_WE*taXHGI?QwbCw5Ei${Y*~ zixrSDG|Rx~Dw3chi4PQKKJK;}c7J`Ax3_@518J~*76Cl?+P?k{v4d8u`DpmnFio%x zc4M9=>}Ai8rj@L1 zo=%qcozsE|-4_f_bLNFRk+`9yGC|-WnR|xxqQStPD{xypI!D4z=Af}7kr&-BYf6a> z+Z1$JAKxnx-*P<^y+-SSI;?6*S&L4T7rV->@z=|4<>wSX8{31(8;CdZElxL_J2;)u zJDzvR+2`ycD?iT=2r$uf;_EhQw|7p^n9B@t)|cQL2RaD3p+>SR5IGz;ILQW20hogY z>^CD(lXi=jK0P}z(&qo{n1os&^GIE z+{u0Gx`uR_52cDq{o9VXQzxW{OHJ*$h9EZ(5dBuv2ceP}^^{BQ?6b=+R>Y&>`ITw( z;Kz4G?3M?SrkRN<9c+r0IXVAx0VW6ZJM$&OV%opO!2GJwFNiSiB!$QGb5>aLwEqIg zr#MsKV874y@=~^5*DsXDNg)qP)f_fhK|?a9;{JN02bXA>szGUS=WQCo-UpJ#~~gP6SatXirEJL=(su@NGgb#LErC zYOJtHQT?gB+M_J*ax9gvj=+R~mfQT{!}WTkr&D4_@~Lj6!>Of7wrFkjRDK@iCV`A9 zc?GH)3ZkT5E7)=$Kd`~Qde3oqm%;G?IRCt4Cg#D{6321G^&3WllrEN?$O0^wbn;MZ!l^bwfTp)N+OZgCRsgG7doMK@!IrFafQj zo8`5ujq|B4;LVZ8kbixtPun@WSTE{kdt{249Vs&FUPJp< zrc=~NOntiF6gEisPQobtL3&aV`IE|@VVXU6(8Kmu$5g+!q#E3oqEykOMQFkiI94#L z=@6u;HO{5`o0NUk&f50;4g*4ILVJ=lt?k{dO_yn=%k`Ysaa}z;BA7$9k;A8R(>r&* zn8%jJj2GJ-g-^|mI_RB_W9x7WpSoP|IJN3*s1JwIITTK|g6l!hZrWqR5Z<(1x)aud zSW@eBE})%O+FtY9auy_lkw9~)sl2*OV}Fd)WvHXp_;GAov`e6-GyIn z|LBZ2RiJ>RDNMo;iI?eqzdV#rXw>FwFuQ)y)w*OZh+xUp4~j^jaX#g3`z5l7RXJV1cB1j+k);x5w*Tr2hdra zY*6j503o4INXDDjpMHX<*n;gN#;%{j%jZSq&e=N-t+ovphSMs_ZG5#kCw{}O&_5{* ziFiHt1k!}1v+OzGQ)=916g@R`yhL(PfxzWAe;+mCI<>8D#o#M^Fr9XFKx6&XB;D`U zPEonD2cqHB%8c#<cb1%B=@c-P{TxBl zoG*tnPbf3ZgmqV%QByiY9u;#9L19Jf19u$uevhAyycukt-G^%;$-j(_)Vny&1w_F- zq%>h3W>x57@6eeY{a-IYg_Wr#d{UA)=CR;mUPKJ8-w(`Tpf$lYb zfP_aUp%uks$=RP49$b!4+H=K_2?G|Hg0?!s6?(dKi_pI9o3V;zp5^o`)a(9WCf`uF zPxz>v0!^amKL;7UC)iZ%dljXZ8HV2iHwuDIl`b$%i$Yy*x&d>?;Bp|D+Cu$Q7Xg0OZWMFvlyvmPlR$$ zTxwXpFt$jTX$K6k_>CFEnFu$Y9_7CeXEjffHl3T*H1@+55ILOh2D2WbeQOwuuL@v% zm3BD)Ih?khj9f=wY`I5AU`*GVrv=e#-!{2QmOmRv#za_g1TmPip#HcK;CBk7`#old zo9sn;IEYR20(3a8%6(ytZ{dPQTUHFNS}|A{jlkl)GK*ray7(A%mPj_fX(SxiXD3u% z|LFAcr79$64UkzT-#NYLZmHUKLA)3bYoopsqwJh;Hs)1-Ak4^2BsD=J#PoD^Kb){L zw})_x=YMzLY9PO!Q}#n38v{2D;i1;TIAFWg4jU_P6Se{nED-H$_4kplB_O9)4mmxM z^32)5%=s1KGaF7IBN2HSM|Q)!I9v zDPjPg583gO6!G|BfAwR)A$}Erp)w*B^~iObhCA8Vng#N@0zBa`?zy9AHchqKjf$k< zopb8xR@*4uG=@1Umi5jXtuY@~)03(@wHEXbMu_Y0znBMfK@JIwD~&s^TmlZ%G;)|u zjgXjUh@F%OB5W%HfoRz71HrgjP1u=t?11=93o{+&HMr1SUj{>iT?q~Mz1PMBzw6#2 z6#a44`!~gd?Y24s%p;piCC0eDVs!Q&!D>cw=5SuN=m`@szX?;Zt#2R&7P}feI%Jr( zx`K*w5=&JtgoMZhXYs^ns>Tqetp)>1C3ueRzc?$y)+f2iXDx?tc4b(qJb*|3{cU( zQXB>1;AvJN@k6K-oj6O6pX+0764)TI{TzY!yGX7Jgy-IDV_3v?L06O2hP2@oAUN4e z^k6T>zx&ugyqw&`Cb72*;E+BM|6TM9b=%EJ63x%v6X1NYa`CLU5Ygox!ibn1t3Obp z*vD(A13!>uTkZGZu!vC$Oxn931rsFxeoz7;k1*QZab^CZgjZh&Chy3ZivH5r%{A9C zK{t}f_XrgZt&(5R+#=`IXH;HUP8dZF+=Fn$4Fk8$Pe{xFKQ|u4HhVOe7Tq=xS|ojM z{$ERka8x6_I$iDd^`oogN<2URw{mQSHE;F^%>y|Z&AC(~P>-;WgZ+KrFR%%`2VRPb zS80MxMozpJGYMdr|DmDJn`y&0RZ{j(9X`&&u?bcndNe-VzB0)5M?5=?=8EXoC~Vy25gQKmJng5Z zbJh@P-Ja{8na$=0%PsU*L3WH6xR<}GF0nCF3%q>MZUX2 zk||G~_`>G*G+_yz9W23faX?TDvHMEopu!n?$e(p2=K8M+x5zA4tE11vo0Pj>r#h{JdheR@|Sks{sfc@)HPs}Xl`$7R{d~@Qd(#VNf5BG;}iOnP9AbJ+V|8H?+wU}Rv ziXJqYw93JF`Eg9+OB*v1k4YTgGmPLvw1t6tr?O?wMPnS&D(ae>{kvIycJTi65VKP4 z`1N}}l~eiR8K6m@dzU~Z=*X)vU;y@u9Q0h>n*7C9B$XCn?q^Ibj^()KI`3;(%p^s& zizjXus437#!-#~C*MGvx(CYZRS$v6W_;LB{yAI|!=@!8NsvVb!-{s5hdVDA6S||JQdp2d63}_sU_{)&#ml1aWr#MUvS}Jb zqInB!=|O0vXQ^6f>kWHQnRFoZ z33M?Mp5wZEqQ{JsY3=tz7+9Kj9OzB#YcHkPa8jJn&O4?Phme&`S*XM`>}^oBC8N1SK2!FP>({wWQ{xa(~>NpApfzxi5Pz?v*;Q49hIc~$^k zvM0&1C%|(q*ok~wzGTF6E2y(ff8ZAKBwfI82}me+T|eb{z~@gigxp>n=7w#BS7lXL z1C?H}El!N@aec$Sj2Ld_g_Wk)dzylXF6??YewI*4?EN%w!j7V*^to6ul>&3is4}eQ zW>0^u$rCHj4XxvEb`*Ei)T}V&A7H@(6iA=i0``xb2GT${?eDK zUsTXu+X$sn{IAP3L^{GSEw2U5$NaI86ln(mOgt*jDgQ?H9a{N|)fw)^+(MC&%o63QzTStt5s=)u+R0h~=& zy#|4tB#Un`x1V!kfuaesg}&0Sr0j>c)NXSt`%;mLV#|p&@l60m=b>mx)_(TBz`|jY z{x;6=!)X!Q@(Hfx=`HFrCY))YgwPIxE#q9NGSk-0QSl<~Y|OWgLKcxL*toWrn8{Z* zgv-&ok~x!F)Ps9NVp-Ly#KUnf(1%?|1^V(uan@SzB{7{X5?&FQuDd0q-K-NVkSwTc z(QSBjP9!BpwxTK5w_O+mSWM##D4d=G3}E^W3lC>xM`CJNg-^=b9yr^_4su}`*TcP( zORayab7|mkb0=E8m&zXmP6(V`9y*g?!n_y>+eNBrXD?5_40V&O2UsKkllmCc_>#a{ z+0o&6a^oxcQWHbQ|7_Hv?!`%B-S}@>wP4=P>)`i=(1?j46fDSden5DF6Z4`M_mpB! zEA~dh2-UoHWx%8@%CY|PVz4Q6Ts0~k-My7y%I{J=l=>zw?#WE0%=9ANs}^i~f^J_v z$@^+m{VfPv8T$r%#(>?d?9KD1dp)UDUwML}$Gopj1MJC(DqSykJ$A*XwN9RibYS)7 zn+wcNgph5H(D#XOa>(V|W?4kBbWbkKe9^La7z@@BJZ( z?16qm@C@NXdZiy)7unJ$w-3Zm#SB5f|JV=$Ko@6Z_m(~)1$b4>sms1TKkeNB2rX4) z9@h4*&sm4zF=y##4;3(OI{Ef`NX3}1L;t%3Yrb~yn%{3y1Z@U}=zKZf8-6yh>q;K9 zkv!`61*XdG!A3<-zH$~{vdaH!M}`k9R?>A}PyW35X!1MXLf9#a{PBNyddsk=-Zxqp zX{19!7`hacQgUdN6cCUQq)WORhVE{V6cv!}X6Qyjx?w2kAqR$mcmMwHIp+gkxHep~ zpShnq*S*$%D#?)L8K(au)OF~(@&wSA13IG^3z`2tK@B}3ihDl~TNDwjjCc($6DG@A z5M~3UkC$$uW&c%rez^q*61G9cvqpzbQNUjA>_;y~9O3=^U6OH$POAx^Nag#^9A*9^ z$%TDb;K~OmlZ8~Y1}z)_t`$X*!tGNQkyJmBlAynmL{}sB8;=g}yd>;Vk(7~_eiwIH z)W8xd?{O9so~er*=)V|vMs#O+EM{rOjSev8vFL_sSp+c69J&AAi54+h=F?Nw8l76I z&R)Cl0jeZuz_}JBDkZ4Iwbq*Hb?P|ty?JKaB z%g$E3a*~TsECtZ|-OmNb+NJt;v)AFg8)SF!c-d8a&687_ z_)2&$N`0x#lkZeJF3`5+Ma%u5j88cL;RNP(qB5l!vUuALfL?tIz>xHx`fQW1$63K+ z$@8~}Z{!~lb1$ugs8@E8$`@~RL0L`buDxFX4nGKHyA7`zkAdAfAhVmm@>Y)lc3Gou zLqI1zfNuzC1RB~~w@W+k#voe1^h4(Nz7BT!_zu?Z1rpXA-2VK;pXru8&o^n>o&YJr{x@HV)`imrs$uk_EZ|%4**Dt*6q9~kYIvN0 z01cJOkdKL^O0vBsz%@Pc1#q4tE@Op1g1%Z&+^5EUl-~i&9ntmZ@4}h(JW_im`+pGS zx#nb8^lZ(T3s85TZT%Njwy;Pu=({6d9}!um>liQy+z8Dc|8ItM8zzwU{`C&!-_iQj zm+ayIsx#sPpVBog$DXyL3^`jS%Ly<0-eR*q$6kck$~J&7$zd89r~&qa0fDDWM-?T( z4wYp>{^=Az&FmB@d0EJhwm*V_(^rJy!dY>tBa-P>$>vRA$aA9sDQE?_Ygoy&3~s-O zMP1VPhErGv-sXEK{G(G^7JW=kCZz?KP6LNaT$aLB!dYs&m)=|O8`v|VR|!C+oLFZ6 zTWQOCtNjp8A8!bRMq%CHpIQ@jXW`V#?$rmtxX_Tn*;!8cKlZ8HY$1d1pAwG62z#ED z+O115KJ;FAfn^ib{~rYsU`4;eNStSICOqPPMca>yeXaIV{%N^x3oMnoCHYjICK4mU zG6DV;l-P*jCP(TN6zCIAtFi(M_o#4|%dv+L#0D*K*b?y{9)(Imus23s^X;pZsHYlP%lU0M1Ow5 z|Dm=bQt-%2I)o$hU7p4PRh$;cs}e{FjAJSB`Q}NL2Ew1D;_Tl^0zyKc_GhN==m%zQ zxL!+68#m-4+7~EKUBd{69vG|sqZ#?OM_t(d07?+r?Om@W(VYK{q?YOaQz`BV2Q&+S{^5Uw{%f5;eY$~KvXTUp zIpLz8I}8U{q>`lKiU6MVcg+7hMkCquL#L&P*v^ncIm+rr#bN-BC?MbxsQ@^qKdgu* zppACz_uA0wD6{!dmY#V7(FScjc)3_IEF!2r(-KUw)5DWkm{}^$DTDmjx<(#IPceDaa=K`>$mJiDezYK*Ms;x08`;C4JT4)cUl;MOEa#ury&hHJXJ9^-Q8hlLAzh!5??ASEDr*Gjb;^ zU`!Fy2E&0aXQwe$ouBWQaU^w*ny2FW9@p3A-~Mx_+Z%r^MZ%~+a*xIt`CTz4S@{jy zM`t__Tz8RHTGaQNN_i* zqx%yFfv?7Uqw2S{X0J_ks1nFKm>NXsIG#=t%759=iP#e~I>a6tn%1UDV1WtUVc6Ru z-=9o~xHcljnBLr@8YQZF9UD-~j%dfK^)$Y(@dP7)6%sLQD+y`ww_O4Z_Jtlpf*v55xCU z`KT=K%bLM4u}4J0?sbNd1C3IcbA9s@FH7Q_dk7*H zH-$bizG!IMEXCNibLRfHPAHhz%sD|RU-?9Ut7)_JFmV`epbJ@>+iQhWDSZReFJ}w2 zUIM@Kdd#DPPO<#5524KyMW{CNNec87Q;xr)wk0Y}x8eK! zs)rH3fW3I{V=GC4$IX^KOW+mwR8G~I`92J@BE?u_|4DYh!@UvxRO5f=tG-FzZ&B^; z9xo3Y3buy0BawDLJ_s_Y#sOQkaapzfR=FWJg0Byamj{&P3VuNF1>3*+3A!x)?stF{ zRr=~A>_wtlP_U@V(>+f6E4VQKep#>U7Gcforbvj_%D}h_NBL{|riU-|1Og>3tzJ3Q ze`hxry~Oie=C4;OXot#Tl)rc_Oz+0R{w7E|bly-wOeF5kWL+<==EtFryFwSCWEVti zW7gfl@ZwoHMu5vbdw^8AY?Tqfve-bFt*{1I&{+|zx%Pq1 z$HWcn-eWANA$Y&kZ2HDPd2XHD5?6VOo>0Ej6#o@;Q*W<%3ch^jncI8)<9gq@MZ@45 ztoi&3(J0}#%$GfArGLedu|@~QL*BSfNZ95Y z`UK@mF<4Qb)ZY(NK~-n&IgCG)d*M89b&ru>MO!~x5dbSb0uq=!--@BPA1)veIR3@a zaFqAMNE(Q`MJ$zWnBx3(D(ATiF6k^wfobS8HH{L(N{8*kh1h9k#^e3O_~z}!?%V{# zLE?T3e^o)Zw0@D8I-7g}S0YC|kHxrPu`k>TlwH^BXoAYB+tk`CM3r~ga~>l68&PfH zh^e4o3L{5n+_k2yO8QWT7}P$k8h(CN)2(m2*Gi<2$Xv>Vkp5%3m_4zL-9>YJiu~z% zHmc>xre=(d0Qko3+$P+rqKHZx@`mm$@&;`n!Kl@|^CkoGHJ$;?3q>qWj6uE66ClTAq(j;UA(IxZe;#2S6VBCC)4fIu55>DLBf` zrL!=-x~Xwp<0^XS*3iqc=1sluf_YUp*z&o&X3C3m(sm_sSX7dR@hkZvC||Xk zY&qwQm+c5IEoo`Bp)L5#(R%Eaa53c2+v<_^l?1)jR_*M@0^(M5uX1)HQ^4)VsSwyb z$na_2gv3ScEsWt|((mj6xw}6uG!AWZ?xkyGIjE&kI%yXBmJ}+#fF-}Er^O<_7G}+G zzdft-3KGgnhI<*B%o2fpsvdk^5Se1~jDLVGKj$bQFYj|LUers*)c82Q$HTc-7f|TK zQv3Y~*Y4jUmW$29s&8UOkP2Etu0+AMz&QhB)s6hcO_3+q*&iId<_ZDvW&G2LWen>t z_x7~P_GhxCb^q3rapbi+jWJ4IWiR8)Hy~8$6B@9`>L09|EA2Yhc266hh<`R{d~3%4 zuL#z3bvo?V@grP5VU#V1WwJpeo(uSQ_pfjpgTIf%>ZFRA%<;kC8+K zd2cPfy(lw!m^NsGtotG1gX2t-uj9GV>HdfeZi1A~IOz2`I)F4@@3y;B=9-A@kVKxp z`&5c(N~jB*6#9cgK=$8X za|VgO35mZ-*A2R261@4ga8@qsdW}dUk-&}W!T3e7x(Ivm*82N7ZMXj77H})uB6H$Oa$Z$0 z6_B>Rl1TeHS?3>bLi?4wOH^A0Bp_!jV^P zPByNNo^&R3uQ{&%bVa}i2-J#B+aPmM&}y62!?Gj9mL39scQF=6y9;Yt7lium<+kE3 z)h+o-ZYYS_GuItxME+>v;;(#2X*xc+VzQYx-PL$`PJ<6MRpl#<@hdHuBoUx~Mn}n7`lL{cy1cy^p!oQIoWPZPaX> z&~(w4r0<9^j9EOM)hp|J9*Clcpl@!UsGmosS#p|Wr=YUhWMAkScjYQ1KE;xhmPQJZ zyyv*yWkm`B7L3c*E{_-Rcq`A4l^<~X^Y%oUCo6)-@J;^x-Mp{&<*FUJo@-AQqpZod zeGam!?2I@Ia5EG0#f=d6d~FR zllEAblnJdv4qmT;Cm+OnZ$)>)UP&Boxw-@9?W8qNFHWzs1eG7GS-QBOsNO6&%-Hp+ ztd~@~_A5GkSX5lzb^MZXr1{wCe4Kp?(=p_`IazxP4LE*#anv2;eKPV)jeYZ@MSoNyJ{ROn- zfNMLPzuZ@Xae1&+^Fxx$!K;c$?SCHl?k(+0?e5urGsQ>km9t-7wRF|b4j8L}j3x>~ z6?52!5^-BMb7BxYTR+mH{XxH&dIL$k0~X#fPUgGxVHHTtJUPtIuHA6 z`GKGHEsMb0LbO@^l$>MjQ)fn&2Jh-(2E)WmJiO8`PwPJY`cfBn>*#@q`|20cC13Gw`PP^-lhpu06KF}v{ovgR!EfIfB8H9}((}O0m$R#vx;^XtRy2H}e z0UL;jqt9o%aNl`YY$($iZ|Z#XcfC!LA6s_p{3-#YaTn8?YFS)VuNPQB;FEYVr974B zmBP?06+Rif?Zvjt9s;%uxcLoEr1%|;k^)@|%PAxIFqvWj+DiU*K+_L0KX*U7Q>{DH zUj8>|oBL?aQtSr zZR$)zv1r$PBdoq4YPOtx>ssixX9vw-4|L2>AMmJb+$Y!G1gwQc7cBsJgzRpWE*dM0QwBV$E*}`W#-KqPXzMc za1>kG+TEq*1rVNH9{`KEkKy@D^LU!;Ii@2ozdJ`|H1lqH%w|Hcnj&XN-^f{)pub@!0YnQeZP&4oT=pthZ&13^EB zSs6llHRq-OSD8$dNbXHCfF^Qe@R0$%YV#&Vu$Jiuanblz6JFY{wDGN#*6~(~ki5+c z_or98h<~lV*VBMOeVL(~$htfo1o6SoCE-J3_E^2Q)QK5K9*SV zw-tyE_L8cNoQpUgDG8Gr^-gus5=C8F{oP6o9$@AUBa{UJw z>vp#;KLFQOMk(UFgx2{M29~6JSJf@`C-LL)-FbE_G|_8iOkz!-rk~P znvx-b+=?+Qsm2S;L3BkZ`2~lYej@p{ZR=Jv>|twOy4B<-yFDCU8ZMVr(7#DFHcvH? zE1;9_Hw{MJU+f-`t7Y1#?@=DR(;44dW!P?tru?VzSQSrOy@1arI3+-!t^G!5EI**IXYQhiam&K=rePE zZ;}@S5Lg2O+{^?IyYiFuAi;7{m&Rw>9((IsRMcI_Q8 zbsDGPpSl4~0!R*&P9?x&vkF|4uLw|A|Hfe(9l^uBE^ltguqwB31e z|C<1O(Q-(Is;8bm_@JvVz4opd=p#I%HP!d4l?7(;XnYEP0vO;A4xdhd_}NUX434YFpBVq9K;i8$e#3nhk$)yGO!#mS5;H1{UW*&Wg6u%9Br9!u ziR)tvWW^^Od!FTEU95>;+#N6PR!m3=aX8)1G}!I}46tvgcnpu;Jzr^Y+n4%vHxtUb zFFF8q{!G)GToFeYgpxJZSO2hm5k)zirZ&*lr@$$KE@qG1vwuhcvd@K1*D&J ze|RJeA`JS;SltZQzQEf1Dg0I1=k@D6%FyFqzX_hOem0f#O{UwE5yAhwd$QWLdkv(| zMSzPuy|%xY=_UT=XxM4@I#<#W55$;qw%_Wi&ezO?=S_lqCVu{hRDQwn44E6babmHd zv68Eldz$-QFk~218gbqS6j6N<}kE~@l;!i%K1`D4Pbp?uL z1XhbmNHn_J%_Xx`Z`_C(`CF{Dx(?o7*G-H~4M(+{?HBFVaOsQ{B}mx3mN<`Waf5#s z!7(N`o>h1*A3NNmtnEWfZQ*7AQwTFXvTJT4WB={%DL)@f^Lwe1=@ak|2n?|+?jd;SOH3g7Mn`@_Gt1l-mJwWV$_tfgVzuq>J#tEv(D zVHiY7p8v7nFlpnHd2tVPX=+geU+lN*^3i2QuUk*Qhmu)RF6IwOkp>rM6mDm}ykD_= zm88O9J!(m}X~n^@8>ERA#r~}Za~&u!Ycp{FnI8ga@49*R-)B+-tT-?XZH_q zmoBQHjjXdM*cXQs%B(lq;nP~;I{3wbE`($8)lQ4s}YFw=j~}a?~G#@J_!q%q~QV$ zETNuae&&PURj>07HWqBuBBgi)qRh{{8Wei){jdjDK{_{@a z5U?e}Q*?|PeAhD-%^SL6>5@NTGMEXHt#aScD45Fst9gMI#SP>_3FEy4?1_rlZurT_yd?_J>}0v&I7s_N)E1Ce$jPu9FD3_l zoL2pvZ()Hc|B$vn{0~+kxZQ9yzO@qzisce5N##}$4t$wbI>1w7Vj5*b=Y%1XO*YpE z5qKCE3}BWIwLE_B>x^c#AUV%G3s2!y(Lb?+aa0>EpByxo(m<)BV$M1H)TeJb}v2EFV#Bmks@k^U$>2C3!HK@hg5M`;rd3#}CL$%c)Tq~$^{RL`NvTG+UZgjF zTF}9CIZV?E*T@_WDK6>W>$2DY$p;=XU7rSS1l6Xq_8^na9GhA21fo`a?sK?s&a3Um zG@c41Y2+^lXr>lk!T<%jN+>O!K=MARyI>$)O^BY%wSW*K4DRlB9-+cA#*h9}j7I59 z$S*-pkw_PLGd#TLucXSj9~_#xYRJB*oF3}(I3?9oYnr7*8f?ySZWq#4SIs!M>fG2^ zqjD7FP$D7kQO=SvhhJk#NH#W(V$##_FXISJ5)A!)WiAr!x1W-`y8f7Ql&hKw zFE<+pwUTDN_4UOZO zC92~T{-u^lgU={pD(5PJ_rC5t^kINX=^jJX$+F2!T%;AncAYHrq*q{M&(cv4%pUJ} zr;;rSld$a##y3Y6O*Zmv?+7}CzAU3WU6ibQsIcLd&#Z=c4%A_hOxO6+5pkFDFQJOx zXUqg>SmhXa`&rHJ^&n2#(P&%D%pERnR$w2+I_u7rwsOk{QHb~a(zW)<=uEc-$N9;( zWu8r{mi_<%g6m+P;=uX>sommLz$BE3DXeqyZj5iU#Y5{AO92;Bkm%|%)Ww{gCL(%H3t!z=QE7!z4-=l12sDTZNf8WVw)NuB z;w!6K?;@vzIOZL$Fpfh*IFIp zRKJXfnED+9vwAb$O1Sxr>C#H;*(SOsGOjvmL&Vl&8)2w)Uw1UM(4Ld*>6%XGu#?a? z(1&KWtKQ?n^nLx8mc>+#)-8gRDHfWplwPRXmI}>4ghO#T=-&>kYkNgp-`tf|Z{~qb zP=#A;4`|*@LFUVmpcgp#ZE}=--Bz5^X+X-kJS%Tam92|}!jVZ=i&32HS=BVU(l z9ZrU#i=UAV9vUQO`fV!Me+Catmi+Ul5_+4~aG_Och!Gl;l=^A2Ja(I6B3ZZ)LUj~rBH zYMPtfcYlrnS8}i4hLuKP*PriYzO%e{QqRH1B`NJ(#FGCrxrWLi)XF8$K>FnMJnY=;%Y!XVmg0?+xNTGG;Fg=Fr6*#@G>0a`Us}$&p!ff+klacrpR)Rn}g-5tc%^gudznpqHcm zKDO&DKM8iEk-K)N#vZwXMrtc?%czFikh79W0CnJMpAj!EyQB5(c_OO9^ryolm6lhD zH{K$(W+!!lYvC*}w__8%gtV~8{zhHW6q!vlBy6Z~5^ZXC7UPyxP~B+s`PJoY!J?2% zF<($INYW;NUNNx|HGBTtky`7p7}b@VS%rf~*zK2VfI|rm{2gk}(nE&&{k=#kQaDe$ zc~cCrvFauM(rH%s9Y>=MT>_2PKw`#n^QN$>zFNbTi2Q9d|B^?{&fDh`5!doPduDM6 z6Qu9q`m?E*RWIY^y~%&St-k_&SsU5XKQh?7i15JvrMn(|E2dP*d(6Y;R)0J?jE_{S zY)46??UT^IC~b$Nvz81cIcq&qh`iq$%E{LqZdC{lKZo9^*dV62r^7olDByU-BQ@W;feI=B}^q7>#1Hf z`M_94G@o3ASPJ|8xHh$&PW~Lha%>=i6i-&E^al%86%jL47Gz42O;o8Hgg+ID5m)?; zX|7glK*HAIQgbT%s|vOdWVj~~gN{u6y4^`??!M(V6qsaAh%4PrFiWboF!n^}knm|u z02X=dKzLWd`cGB-d!2XH@9v@%)_Q~jUl!#5`0ded6*p-hgFmHB)%Rn$x8r^!Yl&EN7^AYIOKI^#^^+5K&h}K2{XvLNS5(r7P+sOzbAu^#%P3 zO0x2P?t)q;!JuX8{+MGUC?$)UL-6YILn5I_+a{8-&yUAUiTYGfHlkc@mYiVnq(`in zv-0D;(h*yLJTi!O_?APd8Z$m2NmaZjY9%4mSvny{R%Y0WE-4ek|5aA#T{6qnKBcV7_6ve9HWFpTea&nGvK{v*cKS=IT zXv5Dv%k$V03vxzzYvtEkd=%)O;8L%hkqhLC#sf?ys!Tz!M|z-&1r4WLnF~xsVBYys zM=Huh)tHc}zTwl$>E@bocS5ISP6`DH`qbx1ZSIn*s#5KSd{8fp{_wk@R$qCs z~cMliu=UE=R4hQA_M{jA`8h$q7)5S(y zzKjmB@a~~`qJ0s65sbl&?Vp!jSvEzVp$c@{nU2@y_88EuF`I$#5$bE9CeH+12GaB} z@|GWQ2Z+TBM7%{F(a%sf3kPdGf6f~hknGD zV}^nIFCj%9tJ}(8-Kcrh@+vZTj z(>uE`28sQh3M~`m+u+&tRm^xhpaisDB9SJ>FZX@7_F4d@e~3w)bdD8PcYV#Cx=E#l zy>}RV%S9L-GAqW+a8jolq5vr zLK|G9CM*I|7DR9fV!9q|cg_#+%o`rxxX$b7Ll=i>Uv$n67EX7KayK{2mn`kdQ$uA1 z8eqi~0|p(7`z?;4e|lhIR62{N-&h= z0~t55S;;nR@Yp=dL095_j_&Lk}q0h@iG$C zYd_(fe5?&k92G@BD|p75x#9S&TW)Fa{4!{84(~+eypMz_a&n5vTjr4ndQm_oq8{!V zZmvNI575eZvSq0bW$YJ64)~0RcZM1$#kw(_ymJg?6D_gsP2nTk!!`(yY-JuJ4E||{ z8wKaqQ=jYe%x&^%=)Zp1H1TZE@XQ6P)kP1P1qY3e!D%u|{*npFQPQsmP&>F|Uyhx6 zOvj(@f6E(zuO7q=?oX=Uc4hi@GYipKpi;<5{PNQ{=q9jHuV%(2CpjgIt@gr{dUhU!D?q|S&(77N7C$qS3H9Gc%Pz)L-4a08sIbO#hdsqS;~wSplZgwgR5`H zR}r>u6rWPO+g-rvjXhY%og$8+vyou? zp+RHaah~Zf*NJP9kI^&y@9!{UEpeb#XewKD&ZGF0+!m17lQNGaIBrLZe|~Mj5D;)C zRMqM8G;WIJPzvu}j5U?h**r`bD~Y65e%i!lrVFI>@Q0N%;f8$^op6amE@{GnIh5!i zgEcjBN5Qxcm-R09bdq!$bNI)0V3=@XehbU4->-P`5s~wFS#3pZKJ7&&vKQ3V!lChf z*vEMC+zBmcH1*3jf;Wsk=>9qiJ;@In zY$7fLxUP1+8b6~~S?pyN+3jLr9fpOXBi}RdXj8764rM)@*s*GrtI441QMtge9@!&$ zq8d?4=Y8-uE@9f&jh~Ia9)3&Xh`r$xl(Lm!wRMbh>Tj*s;wal1xfl2Jt-E_hnaLdx zdS`PpSl&)E;F%KVABPIXJDDU6SA#ZBLQAR2=T;y-S-jH0Qus0vb&rF?cmHnRo!!rh zna0Vfd92_vzbfVu3NU3=FD?z#?b);Bgbl`R;I_=HD(0Oz6Hbc7Z?KFh)Ec$LvRcDP zaM{Yqk&5wSvTbI13YSDbtqI5$^SYQlKBIyk#@l4^Fx#RB;|*{z$R2+ENUb0nR<8{u z7ZD{spldFIpSh0d_K2lPQLZ(~otgxnUk-^WYhikF7k0b#Vn)&VTz(8G8%edMX;l zbPEU^aEaO#Ggzc%F5T|_d@(GQ)V%tA{7hwXcuelSpDTyK3kjQR`N%sulL--*iqDcS z7+cP>AO6I_qO%ABgf-YlEcfzr9)GM;wI?R!K$-2E4(9nFbt)5mLV&>b+j_1aAjze3 z%wN^fHitSONfu~g4|-_<32j8uz^Ub79J(Frr-4YdD2W4M_O0A^3shi;HLNrUlvX2$ z!p^tNLg^#1WUmoL$5Mr0dx-5QdG_D76k(rj?E}u=!4KSXYPw7@90Hv>$R536pD?)J zt1K&}n^{wPb%?w>=OTk0LMEO!C#Ap6`GmnZ{B&sR(h~{RhC6EYC`>|8Nw$RX3mDC! z&W2G;Y4b^3^%-|!U>Ap>eiO=%3J8P~{uW_SrpuJ*?4nh}yt@;BaFFVGk%uYj3eB`IsjhMLk*4m|@hmhG{njb)fzOdU^w z&Bc?9Iy_4?&l-T~ZU>m`61;C*6Fn z&7P{q=uRnI%cA<77W(X=GG48wyY{K;yc)QZ4LR4APl=!k*w-h+2}ju~{}^ z=J{4Q6F9k9jud&L*Z4>PcC-{o4UTOuqzV;j-JP>tJYppwvEbxmZ#MVnYqLYlKYT}eTX*ukkg`kCm}PA#D(4msi!8_$+q7t!MB3&NT83K z!*X`Qh8CWzcBvquFS&pw?fv0(-4&E^Oz3=7qyzU$s4LiU5y%l`=Wk{ zjehGz`HO5~X!Wln=QBhxw&XFQbSg|Uqt0n}$RvZboiyz5nIzBj6@FW{gS7pl`A*ux zGUAEi1>r>_C zOKQI)hi*s#&(l+<;8W8dWa&TMlVWRqm}quW`>r)Z!!u+%)Q;JY=-A5d!_}LmgK1@Bg}mB6 zobXq?5p@|33Ayo(>C4Kh!x7l%`~y#wym8+$HEsAFcOnaP+b~Gl!KN zQ~he!?yo<7O_LzpXmMpeaI?`9TBPt@MO(7auBIJb#xSId{P0DebQxmhYV3d`_OzRd z?5WfTao!)ho?poquM*9R7*`n88P9%PYi01jg(}M^j>ZSf8iIn*3OlA)lqj9*iv{f} zcJ=MWQ)p$Zh%>Et(0|1{upgebkn8F}DF%G440K{Wj~^;uRe6K81ru`_!Y-&*m-p$0 zHA}6^4uIQ5A0LKlNlD_5@F%qlWF2%>%n<_S^p@2zrDH~fcs7kpKe4!AVk3M2l zj)kjq;x%LHmW0@t4NXkHMiSJ^G%8e%!Jz1bozyweoynPe8*9=asZRA#n?TKr7** zKI6NZ<7i}m{XNcu@x)r0GJPg3NwPInn^zXT>ZvZT&$gy>PgYOKK<4)iK$0}RI08I0 z*Wry{k!_z1&kFhv)&(v+Kit<>>L2HS#!|k!$c|^Vp<6G%QmP1^T@Az5sX{Pf!{UBqLLStnOgZ(F#|nOG(9+h!nY@ylR+E(Ou6)(ajYm3MEA3hRkv34o17*Z&l3L1-|E-c!ees zqG_zjEfDw0avd*sfHpW8VUDyLz_PM(H0|y`n8zX>Te{X6Ez=EjqA&S9cM@OT zm7$6h=p{;g(4q90!JfA4$`%}ebXT`GU=Ji;Hmcp!CtY89046LoI^H4rMXU<8gcRk-Vu}Z*}oE4HK2hv~zn!FG% zjbT#r$xPIk1!;GcL^OV?3@) z6LL}(R{te-qs=OMC(xBH{2L0E)+*1Jx+aTOb%2_G|KwGqw`^Dg-VFAE6O)*5EHuIG zzDqMwW*m7py|*&)vz6qHMw$(1*R&_W+6F#p&OC#a0(S`*dN}xRuk3rpgN<%}CE$Ks zb~7le*Fg@697}wQV=!q4K9hEc^r1Ijj8)vZ+03&65ef$I-;n1VawI zeZWfZJ`@fT)2Mkb*=j{e_V@WkW;FEUFxy(zn>qx&_?q%o+jV3&O%g+h{8e#etU|l( zrE_8uZ9=m72lT(@j~)SPpbpAah7XsgYotz0)EE!%x3GUt!tD}MUCxtAf+YW)GQ~GG zv-lU}O#EPez@j6vexF=sCXkwAlvsU!jUAdIq@P$waW}YHSWgc0bVWr(%!q>+T`<*- zIGKlpgD2p{SmB9^mtLaEcg=!uTre7zWYHC;i0p90AGilAZo%t?V3#TBQq_>w%TCWe zZ7&_NS*GkLIn6!n@pFH5ODw2}&j_O)+*dlnk`(+* zzLg>#YE}5Xz2>t8z{joY8)O)x^IwmrE=8w>aol42>oV=(ya>bYKzm~KO~%{stPCsw znG85S7zwx(9wUv=I@H-2yZTf)P*($OAgyW?QdiK=bNf;lr{)HFvxWa+$xC~bHfyqc zu1S#5(%5l4q;A1)^Ul11CNp3|({qGGc+r3`>$Tbdc1`;TA$;XRr=(IBs(sBqP`4lRBADuj=0Rh0zMVpq-NVR| zSRMKj{I#H(YsW7spU5lEXA3BK;XI}w`)?mJp)L=Vf7G9%T>}0M&VAJb0zrSaN~c&? zg(W!A{K8Twk0-SH%Mn=dk~Op7*)@afp`K7 z8_I1pYEgtrbj@Q7+*VImpQuF9elyuNXOcEgbGc#BlZpCKa2w0an${zh$ZQ@n8r-+U2Ykt~$&mkKCvB(f} zVg5)@J>j#JhBs#;taLA4*a2WGyb7W%s0Y{DlO%X`ki|8DHejk>MqIuPJGBg%WU!3K z=I}1tqvcG54V~?g1z3s_85Z?(Az%~xBjSCz8<_U*1E;x+Zv!6a7wuwyG)nv|XV&-0 zJ6PUkDFQ~nphg*!3a=&_o^8yU?SR_JbrbA_b&jg)MV=c| zUj#vmi3gch)K(@Vg?Kj^owWRorVq`4)H&l+%4AIul_fhCjgtE8TGsY<;Ti=w0)$fh zMrOfTcpRUpWbq4hKf&;bNaeTfFgxWeG*4Osam=&O=lpWYPa>96k}Aw$R31*|?554r z?qo?UVNtb?V8M8sPRv00^_uiR8KTh!kp4*!@fI}dGmriId^tdr>tx+X>CorG&RT3Y z!ZAbnC$Kk(#h>>^l)%pEm#DF0Q3{_z>{Y=~x90cCMzG>?POT|QX^rIL5U;XoARQox zwSXTTjpq?7B==+23iYa9$G4ZOEPuwBKYhzfLb%d(U~hw{ej8gisIuaSN8KXzrE-mq zzS=c{8(nKZDVEW$#BAaCn|fnrMH+)#$-@-n>`QlO#){Om4N* z#1z)Yj>kBb_QA5t4?j8rz8}&T4lFU2IXeM%vuZ^wu^ozmWK=gfB@>b|n@}lDp<~V; z#9e-VBXr>!r@<00@7iRfFKO>xbLDN-`RZt0djjk7)UYIdfotU~&Fz&vL?{>fG*3uV zH?~m%DBxaJSXZ&Kvs&m^O=J%i_bn(a+O_M9%>M>H<(DcZ6WTnfba1zv)W*AGDmpgm zr7v+D^jH!9UjQHq-}RY3ss0TO#nx?v@UhEVloK3*XZ3V;BDoXGjEdPq{Sn@|WMzQd zNahlJMTw-4=%N`)olG&BX+`Y|h%CzgpkMMCO85{!9)O^7>Ik`zAhN_0mWSVizu{Z_ z@2rVkIgkbQ>CsC_{Llvzt4~NKA>o6WPEL5LBkr{9>$3Y0zdb91y86q69Z}XT*)N~% z0EASMcIc4kinYZZh+=m1@ITx&$RM!5mUO}9D5taSB_W23)5ZhZDV1@Oy^=uVCh2|xzjbV4qcs|Ap zm7~Ua2?3yRLdMXzrX5oqdBXW?41d?yEAH1!fA@}{0woK^?;6`w>N4$Zb%KD34Ff{5 z<7I361!RW?7HoU{05kl8PIO%!-t|+UcvjDZ%v6R_a=aWE&uqpHXT26#7lrB#W)+bb z=-AE8PD+qHlu(L2=Xss5KDi4C?e^J81P9ztJV!E&V`NhF4yEc0rB`3|`}pvS{ezGi z{tYQ4c48Sy!5bI;E+rxhGKg%}6CqywQFYF{9Wu(@wS>yipCR#pdEf2k-MUX>h`c;H{=RNHu%8~R)!Msua!11A#)Z6 zC3uw%Y#yeFU$Yzhf(2)_eo}u5%eT@`TP`PlqNZzZfG%;t8Gtf|UxXnTcU$S*OA9A- z#QqUJKt>l}=z$61ySQIxf=rAfGibHtisfmJXAGOg`f2;6z~0{7ZxhCM2!|L?&I40w zy*5FAW`xvm5#e|?xFJ@cjMzW5@h-Ht)%ZQxINW+esMbHi7!t?NMEzT=rw|9N;&azi zTR&}iT7D>=$C&+lDK8{s@f42d8=WID6CgT??24=UJ9X;#ZMUDOUtOw+MgW& z@&!gE)br}}N}zt7ga#~C67Pi2iK-(Y?Lz+)nCGidJMHk3yMrl}p%i@H**^|4n5e$F z3?;80W;VH_@$8*R>eeKqQ~431u(m*XE*T&d`F3`=n;c7qY3U%qDI0W_JhRn zarikUf2d>V{YoeY#KrD8>JUoq$T>Vp&k{Cx-%^UOa-UP3t?I-eB(N}3s$*;rjb2V~ z^>kJXf1`ozzeRE>BG-QuA#h@MYII~W35=L+r2}LNr;a=!`DHN>5ICHStJHu}YIn^5 zRZ>@5&$-Jh!Dy&XtBnx0p27vz;y1uzW8=V^BCJdeHrV=a;ELl%=pEZr!ih{uVwcc5ujoJY4~Q zf`B{z!5`J_ftMY@);WSK_W(Mb*=H?R#&;`wvvDcJE;)~D+CRfPWwdb=!k#TIUSDM; zwk@EIXLEToi*If3WaFo1-cleidXGcO>+_!dn*LUpzvdp_OS>bh*MBPGdnxmGaveOC z{Rxr-<6Uc*n{p6Y}B^M z9YjddK(Uxi8b9{?guOuA_zWU!hh!>2z0T2uL3{`7>C%Sb|^3GQT~gNOgiwSz>4E$_-wasxg`2U|T**U02Z zb?>x8Q`pFndOou%w$LDsPmwLw?#R)1L*-)=NUS_(;*PeHS%9QAe0v#KsX=0ZL`!zW zfdMClRd!)nIKp#qEfhV=YTEWr?ic0)dns?giTzWs;oUn6RuHLT{W7w}@l)aNMZW>( zCrx>ZyTHARD=Lm3p@mewuxhk;w*N5WyVV2IOkoj4CR=4<++cHP$NmBp>sv;nS^mmPmAt1P*N5n zdy0}s&<0npPWF#e4)8k{ju${Efga@OJeoB`?LwLOJ^BOn!hO(=j=0`FJnRu%(F`Th zVCZjqhf?T3`#~y03CSdK-%yyLWUEJx&x6lTQiPII0tp#By3S`7QGzSXSR&4#4`5UW zG}3?OS0G&qBYHF*Ax#iKN^H@^jQu?zS-LHB!`g3j(+9AQLl|#RQu~8mlk4EA0VSn# zsl4RC#n=$fUIrHt-g`4ud*qy{JZ=9}%L_IPSs5$Lj657?!UqV=1#7jNgZLi9{u-T^ z=x=R%Me!rt5UHFQk-au!!|*1r%K$Mlvv? zM*^oZH5od#dT~XE3yLm5iZ zeV2j$9lJv*`r2A=#EH2(#mHp0WOD!ovUd85Bq(@ zUiz6OiDGfClA%QIPy#)|qv2Q?O2LCPfEH#bAwdCz5+!$H1db(r05BxA+)tDnK6u(} zsnlC8gxm?+^0tw>oy;rx#%p9_IQ7Om>O%(&Mojx6F*2vs!hC2W%pW;7w80;cXY7G; z0FV@!r8%%k{2?iuoe(9$I1_A6-a-i-H5?lgIyv~I-&fl`fxo3T((={gnqb2_Nle!m zP+3>a-{gf0%{$;K&FfXKwl|?rE4h=~FNp8nMsJw0!^q&##<5!7!p83~Uc~lm`kN8F zV*MC0MMX3pm>Kb1?VpTsVmv3>5EJXkbZSvPTiJ%jOF7#`UpoA#B^8GPYN405{);{L6@9%yG;RI=FKlJyF-s$R^5R*2U{Z9^oL#-QnVa>}5=dX@{gR}9Se2&DH U256 { + self.number.get() + } + + /// Sets a number in storage to a user-specified value. + pub fn set_number(&mut self, new_number: U256) { + self.number.set(new_number); + } + + /// Sets a number in storage to a user-specified value. + pub fn mul_number(&mut self, new_number: U256) { + self.number.set(new_number * self.number.get()); + } + + /// Sets a number in storage to a user-specified value. + pub fn add_number(&mut self, new_number: U256) { + self.number.set(new_number + self.number.get()); + } + + /// Increments `number` and updates its value in storage. + pub fn increment(&mut self) { + let number = self.number.get(); + self.set_number(number + U256::from(1)); + } + + /// Adds the wei value from msg_value to the number in storage. + #[payable] + pub fn add_from_msg_value(&mut self) { + let number = self.number.get(); + self.set_number(number + self.vm().msg_value()); + } +} + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn test_counter() { + use stylus_sdk::testing::*; + let vm = TestVM::default(); + let mut contract = Counter::from(&vm); + + assert_eq!(U256::ZERO, contract.number()); + + contract.increment(); + assert_eq!(U256::from(1), contract.number()); + + contract.add_number(U256::from(3)); + assert_eq!(U256::from(4), contract.number()); + + contract.mul_number(U256::from(2)); + assert_eq!(U256::from(8), contract.number()); + + contract.set_number(U256::from(100)); + assert_eq!(U256::from(100), contract.number()); + + // Override the msg value for future contract method invocations. + vm.set_value(U256::from(2)); + + contract.add_from_msg_value(); + assert_eq!(U256::from(102), contract.number()); + } +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..f0f1992 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,10 @@ +#![cfg_attr(not(any(test, feature = "export-abi")), no_main)] + +#[cfg(not(any(test, feature = "export-abi")))] +#[no_mangle] +pub extern "C" fn main() {} + +#[cfg(feature = "export-abi")] +fn main() { + stylus_hello_world::print_from_args(); +} diff --git a/vidalpaul@arb.soul.wasm b/vidalpaul@arb.soul.wasm new file mode 160000 index 0000000..5b3fa18 --- /dev/null +++ b/vidalpaul@arb.soul.wasm @@ -0,0 +1 @@ +Subproject commit 5b3fa18f70ff58b8964b089be688f9616de54499 From 6a7972ee6e116f62fa2fbf33538e49286a4cb500 Mon Sep 17 00:00:00 2001 From: Paulo Vidal Date: Mon, 1 Sep 2025 11:07:50 +0100 Subject: [PATCH 2/7] feat: allow multiple profiles + ens support --- .gitignore | 3 + .idea/vidalpaul-arb.soul.wasm.iml | 6 +- Cargo.lock | 28 ++--- Cargo.toml | 14 +-- examples/counter.rs | 78 ------------- header.png | Bin 335346 -> 0 bytes src/lib.rs | 175 +++++++++++++++++++++--------- vidalpaul@arb.soul.wasm | 1 - 8 files changed, 152 insertions(+), 153 deletions(-) delete mode 100644 examples/counter.rs delete mode 100644 header.png delete mode 160000 vidalpaul@arb.soul.wasm diff --git a/.gitignore b/.gitignore index fedaa2b..8cc84ee 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ +./idea /target +/ignore .env + diff --git a/.idea/vidalpaul-arb.soul.wasm.iml b/.idea/vidalpaul-arb.soul.wasm.iml index 6102194..7c12fe5 100644 --- a/.idea/vidalpaul-arb.soul.wasm.iml +++ b/.idea/vidalpaul-arb.soul.wasm.iml @@ -1,7 +1,11 @@ - + + + + + diff --git a/Cargo.lock b/Cargo.lock index 01bca2c..9f07ee8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4393,20 +4393,6 @@ dependencies = [ "dyn-clone", ] -[[package]] -name = "stylus-hello-world" -version = "0.1.11" -dependencies = [ - "alloy-primitives", - "alloy-sol-types", - "dotenv", - "ethers", - "eyre", - "hex", - "stylus-sdk", - "tokio", -] - [[package]] name = "stylus-proc" version = "0.9.0" @@ -5086,6 +5072,20 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "vidalpaul-arb-soul-wasm" +version = "0.1.0" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "dotenv", + "ethers", + "eyre", + "hex", + "stylus-sdk", + "tokio", +] + [[package]] name = "wait-timeout" version = "0.2.1" diff --git a/Cargo.toml b/Cargo.toml index 0ea3d89..1777ae8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,12 @@ [package] -name = "stylus-hello-world" -version = "0.1.11" +name = "linketh" +version = "0.1.0" edition = "2021" -license = "MIT OR Apache-2.0" -homepage = "https://github.com/OffchainLabs/stylus-hello-world" -repository = "https://github.com/OffchainLabs/stylus-hello-world" +license = "MIT" +homepage = "https://github.com/vidalpaul/linketh-contracts" +repository = "https://github.com/vidalpaul/linketh-contracts" keywords = ["arbitrum", "ethereum", "stylus", "alloy"] -description = "Stylus hello world example" +description = "WASM Linktree-like user profiles for Arbitrum/linea.eth" [dependencies] alloy-primitives = "=0.8.20" @@ -29,7 +29,7 @@ debug = ["stylus-sdk/debug"] mini-alloc = ["stylus-sdk/mini-alloc"] [[bin]] -name = "stylus-hello-world" +name = "linketh" path = "src/main.rs" [lib] diff --git a/examples/counter.rs b/examples/counter.rs deleted file mode 100644 index c561405..0000000 --- a/examples/counter.rs +++ /dev/null @@ -1,78 +0,0 @@ -//! Example on how to interact with a deployed `stylus-hello-world` contract using defaults. -//! This example uses ethers-rs to instantiate the contract using a Solidity ABI. -//! Then, it attempts to check the current counter value, increment it via a tx, -//! and check the value again. The deployed contract is fully written in Rust and compiled to WASM -//! but with Stylus, it is accessible just as a normal Solidity smart contract is via an ABI. - -use dotenv::dotenv; -use ethers::{ - middleware::SignerMiddleware, - prelude::abigen, - providers::{Http, Middleware, Provider}, - signers::{LocalWallet, Signer}, - types::Address, -}; -use eyre::eyre; -use std::io::{BufRead, BufReader}; -use std::str::FromStr; -use std::sync::Arc; - -/// Your private key file path. -const PRIV_KEY_PATH: &str = "PRIV_KEY_PATH"; - -/// Stylus RPC endpoint url. -const RPC_URL: &str = "RPC_URL"; - -/// Deployed pragram address. -const STYLUS_CONTRACT_ADDRESS: &str = "STYLUS_CONTRACT_ADDRESS"; - -#[tokio::main] -async fn main() -> eyre::Result<()> { - dotenv().ok(); - let priv_key_path = - std::env::var(PRIV_KEY_PATH).map_err(|_| eyre!("No {} env var set", PRIV_KEY_PATH))?; - let rpc_url = std::env::var(RPC_URL).map_err(|_| eyre!("No {} env var set", RPC_URL))?; - let contract_address = std::env::var(STYLUS_CONTRACT_ADDRESS) - .map_err(|_| eyre!("No {} env var set", STYLUS_CONTRACT_ADDRESS))?; - abigen!( - Counter, - r#"[ - function number() external view returns (uint256) - function setNumber(uint256 number) external - function increment() external - ]"# - ); - - let provider = Provider::::try_from(rpc_url)?; - let address: Address = contract_address.parse()?; - - let privkey = read_secret_from_file(&priv_key_path)?; - let wallet = LocalWallet::from_str(&privkey)?; - let chain_id = provider.get_chainid().await?.as_u64(); - let client = Arc::new(SignerMiddleware::new( - provider, - wallet.clone().with_chain_id(chain_id), - )); - - let counter = Counter::new(address, client); - let num = counter.number().call().await; - println!("Counter number value = {:?}", num); - - let pending = counter.increment(); - if let Some(receipt) = pending.send().await?.await? { - println!("Receipt = {:?}", receipt); - } - println!("Successfully incremented counter via a tx"); - - let num = counter.number().call().await; - println!("New counter number value = {:?}", num); - Ok(()) -} - -fn read_secret_from_file(fpath: &str) -> eyre::Result { - let f = std::fs::File::open(fpath)?; - let mut buf_reader = BufReader::new(f); - let mut secret = String::new(); - buf_reader.read_line(&mut secret)?; - Ok(secret.trim().to_string()) -} diff --git a/header.png b/header.png deleted file mode 100644 index dd12f4675db336da39b0f36ce92b9e9876eead50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335346 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 z 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 z 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, + quick_links: StorageMap, +} + +// --- ENS Interface --- +sol_interface! { + interface ENS { + fn owner(node: [u8;32]) -> Address; } } -/// Declare that `Counter` is a contract with the following external methods. +// --- Stylus contract implementation --- #[public] -impl Counter { - /// Gets the number from storage. - pub fn number(&self) -> U256 { - self.number.get() +impl Linktree { + + // Create profile + pub fn create_profile(&mut self, ens_name: String, cid: String, display: String, avatar: String) { + let sender = msg::sender(); + let namehash = ens_namehash(ens_name.clone()); + let ens_owner = ENS::owner(namehash); + assert!(ens_owner == sender, "You do not own this ENS"); + + let mut p = self.profiles.setter(sender); + p.ens.set(ens_name); + p.cid.set(cid); + p.display_name.set(display); + p.avatar_cid.set(avatar); + + evm::log("ProfileCreated", (sender,)); } - /// Sets a number in storage to a user-specified value. - pub fn set_number(&mut self, new_number: U256) { - self.number.set(new_number); + // Update profile + pub fn update_profile(&mut self, cid: Option, display: Option, avatar: Option) { + let sender = msg::sender(); + let mut p = self.profiles.getter(sender).clone(); + if let Some(c) = cid { p.cid.set(c); } + if let Some(d) = display { p.display_name.set(d); } + if let Some(a) = avatar { p.avatar_cid.set(a); } + self.profiles.setter(sender).copy_from(&p); + evm::log("ProfileUpdated", (sender,)); } - /// Sets a number in storage to a user-specified value. - pub fn mul_number(&mut self, new_number: U256) { - self.number.set(new_number * self.number.get()); + // Delete profile + pub fn delete_profile(&mut self) { + let sender = msg::sender(); + self.profiles.remove(sender); + self.quick_links.remove(sender); + evm::log("ProfileDeleted", (sender,)); } - /// Sets a number in storage to a user-specified value. - pub fn add_number(&mut self, new_number: U256) { - self.number.set(new_number + self.number.get()); + // Set quick links (max 5) + pub fn set_quick_links(&mut self, links: Vec<(String,String)>) { + let sender = msg::sender(); + assert!(links.len() <= 5, "Max 5 quick links"); + + let mut arr = [QuickLink{title: StorageString::from(""), url: StorageString::from("")}; 5]; + for (i, (t,u)) in links.into_iter().enumerate() { + arr[i].title.set(t); + arr[i].url.set(u); + } + + self.quick_links.setter(sender).copy_from(&arr); + evm::log("QuickLinksUpdated", (sender,)); } - /// Increments `number` and updates its value in storage. - pub fn increment(&mut self) { - let number = self.number.get(); - self.set_number(number + U256::from(1)); + // Get profile data + pub fn get_profile(&self, owner: Address) -> (String, String, String, String) { + let p = self.profiles.getter(owner); + (p.ens.get(), p.cid.get(), p.display_name.get(), p.avatar_cid.get()) } - /// Adds the wei value from msg_value to the number in storage. - #[payable] - pub fn add_from_msg_value(&mut self) { - let number = self.number.get(); - self.set_number(number + self.vm().msg_value()); + // Get quick links + pub fn get_quick_links(&self, owner: Address) -> Vec<(String, String)> { + let arr = self.quick_links.getter(owner); + arr.iter() + .filter(|q| q.title.len() > 0) + .map(|q| (q.title.get(), q.url.get())) + .collect() } + + // Transfer profile to new owner + pub fn transfer_profile(&mut self, new_owner: Address) { + let sender = msg::sender(); + let old_p = self.profiles.getter(sender).clone(); + self.profiles.setter(new_owner).copy_from(&old_p); + + let old_q = self.quick_links.getter(sender).clone(); + self.quick_links.setter(new_owner).copy_from(&old_q); + } +} + +// --- ENS Namehash function --- +pub fn ens_namehash(name: String) -> [u8;32] { + let mut node = [0u8;32]; // initialize to 0 (root) + if name.is_empty() { return node; } + + let labels: Vec<&str> = name.split('.').rev().collect(); + for label in labels { + let mut hasher = Keccak256::new(); + let label_hash = Keccak256::digest(label.as_bytes()); + hasher.update(&node); + hasher.update(&label_hash); + node.copy_from_slice(&hasher.finalize()); + } + node } + #[cfg(test)] mod test { use super::*; #[test] - fn test_counter() { + fn test_profile() { use stylus_sdk::testing::*; let vm = TestVM::default(); - let mut contract = Counter::from(&vm); + let mut contract = Profile::from(&vm); + /* assert_eq!(U256::ZERO, contract.number()); contract.increment(); @@ -107,5 +177,6 @@ mod test { contract.add_from_msg_value(); assert_eq!(U256::from(102), contract.number()); + */ } -} +} \ No newline at end of file diff --git a/vidalpaul@arb.soul.wasm b/vidalpaul@arb.soul.wasm deleted file mode 160000 index 5b3fa18..0000000 --- a/vidalpaul@arb.soul.wasm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5b3fa18f70ff58b8964b089be688f9616de54499 From bcf3c41187d3bdde4201493ca3c25000dce040ba Mon Sep 17 00:00:00 2001 From: Paulo Vidal Date: Mon, 1 Sep 2025 12:08:28 +0100 Subject: [PATCH 3/7] feat: mod ens + basic unit tests + chore: sketch github actions branch protections + docs: + readme.md --- .dockerignore | 80 +++ .env.example | 1 + .github/BRANCH_PROTECTION.md | 173 +++++++ .github/workflows/ci.yml | 377 +++++++++++++++ .github/workflows/security.yml | 198 ++++++++ .gitignore | 2 + Cargo.lock | 859 +++++++++++++++++---------------- Cargo.toml | 2 +- Dockerfile | 117 +++++ README.md | 490 ++++++++++++++----- src/ens.rs | 131 +++++ src/lib.rs | 295 ++++++----- src/tests.rs | 273 +++++++++++ 13 files changed, 2352 insertions(+), 646 deletions(-) create mode 100644 .dockerignore create mode 100644 .github/BRANCH_PROTECTION.md create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/security.yml create mode 100644 Dockerfile create mode 100644 src/ens.rs create mode 100644 src/tests.rs diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..5740e67 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,80 @@ +# Git +.git/ +.gitignore +.github/ + +# Documentation +README.md +*.md +docs/ +header.png + +# Rust build artifacts +target/ +Cargo.lock + +# IDE and editor files +.vscode/ +.idea/ +*.swp +*.swo +*~ +.DS_Store + +# Environment and secrets +.env +.env.local +*.pem +*.key +*.p12 + +# Logs +*.log +logs/ + +# Test coverage +cobertura.xml +coverage/ +tarpaulin-report.html + +# Security reports +security-report.md +audit-report.json +unsafe-report.md +proc-macros.txt + +# CI/CD artifacts +.github/ +ci/ + +# Package managers +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Temporary files +tmp/ +temp/ +*.tmp +*.temp + +# OS generated files +Thumbs.db +ehthumbs.db +Desktop.ini + +# Backup files +*.bak +*.backup +*~ + +# Examples and test data +examples/ +test-data/ +fixtures/ + +# License files that don't affect build +LICENSE* +CHANGELOG* +CONTRIBUTING* \ No newline at end of file diff --git a/.env.example b/.env.example index 63e3e4d..b35747a 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,4 @@ RPC_URL= STYLUS_CONTRACT_ADDRESS= PRIV_KEY_PATH= +ENS_REGISTRY_ADDRESS=0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e diff --git a/.github/BRANCH_PROTECTION.md b/.github/BRANCH_PROTECTION.md new file mode 100644 index 0000000..07b1a69 --- /dev/null +++ b/.github/BRANCH_PROTECTION.md @@ -0,0 +1,173 @@ +# Branch Protection Configuration + +This document outlines the required branch protection settings for the Linketh repository to ensure code quality and security. + +## Required Branch Protection Rules + +### For `main` branch: + +**Status Checks (Required)**: +- ✅ `CI Success` (from ci.yml workflow) +- ✅ `Stylus Compatibility Check` (from ci.yml workflow) +- ✅ `Build and Test` (from ci.yml workflow) +- ✅ `Code Validation` (from ci.yml workflow) +- ✅ `Docker Build Test` (from ci.yml workflow) + +**Protection Settings**: +- ✅ Require status checks to pass before merging +- ✅ Require branches to be up to date before merging +- ✅ Require pull request reviews before merging (minimum 1 reviewer) +- ✅ Dismiss stale pull request approvals when new commits are pushed +- ✅ Require review from code owners (if CODEOWNERS file exists) +- ✅ Restrict pushes that create files larger than 100MB +- ✅ Require signed commits (recommended) +- ✅ Include administrators in these restrictions +- ✅ Allow force pushes: **DISABLED** +- ✅ Allow deletions: **DISABLED** + +### For `develop` branch: + +**Status Checks (Required)**: +- ✅ `CI Success` (from ci.yml workflow) +- ✅ `Stylus Compatibility Check` (from ci.yml workflow) +- ✅ `Build and Test` (from ci.yml workflow) +- ✅ `Code Validation` (from ci.yml workflow) + +**Protection Settings**: +- ✅ Require status checks to pass before merging +- ✅ Require branches to be up to date before merging +- ✅ Require pull request reviews before merging (minimum 1 reviewer) +- ✅ Restrict pushes that create files larger than 100MB +- ✅ Include administrators in these restrictions +- ✅ Allow force pushes: **DISABLED** +- ✅ Allow deletions: **DISABLED** + +## Critical Status Checks + +### 🛡️ Stylus Compatibility Check +**Why Critical**: This check ensures the contract compiles correctly for Arbitrum Stylus and passes all WASM validation requirements. **Failures here mean the contract cannot be deployed.** + +**What it checks**: +- WASM compilation for `wasm32-unknown-unknown` target +- Stylus runtime compatibility via `cargo stylus check` +- WASM binary size limits (must be under 128KB) +- Contract activation requirements + +### 🧪 Build and Test +**Why Critical**: Ensures all unit tests pass and the code compiles without errors. + +**What it checks**: +- Rust compilation for both debug and release builds +- All 20 unit tests must pass +- WASM target compilation +- Test coverage reporting + +### ✨ Code Validation +**Why Critical**: Maintains code quality and security standards. + +**What it checks**: +- Code formatting via `cargo fmt` +- Linting via `cargo clippy` (zero warnings policy) +- Security vulnerability scanning via `cargo audit` + +## Setting Up Branch Protection + +### Via GitHub Web Interface: + +1. Navigate to **Settings** → **Branches** +2. Click **Add rule** or edit existing rule +3. Set **Branch name pattern**: `main` (or `develop`) +4. Configure settings as specified above +5. In **Status checks**, add the required checks: + - Search for and select each required status check + - Enable "Require branches to be up to date" + +### Via GitHub CLI: + +```bash +# For main branch +gh api repos/:owner/:repo/branches/main/protection \ + --method PUT \ + --field required_status_checks='{"strict":true,"checks":[{"context":"CI Success"},{"context":"Stylus Compatibility Check"},{"context":"Build and Test"},{"context":"Code Validation"},{"context":"Docker Build Test"}]}' \ + --field enforce_admins=true \ + --field required_pull_request_reviews='{"required_approving_review_count":1,"dismiss_stale_reviews":true}' \ + --field restrictions=null + +# For develop branch +gh api repos/:owner/:repo/branches/develop/protection \ + --method PUT \ + --field required_status_checks='{"strict":true,"checks":[{"context":"CI Success"},{"context":"Stylus Compatibility Check"},{"context":"Build and Test"},{"context":"Code Validation"}]}' \ + --field enforce_admins=true \ + --field required_pull_request_reviews='{"required_approving_review_count":1}' \ + --field restrictions=null +``` + +## Workflow Dependencies + +The `CI Success` job depends on all critical jobs and will only pass if: + +1. ✅ **Code Validation** completes successfully +2. ✅ **Build and Test** completes successfully +3. ✅ **Stylus Compatibility Check** completes successfully +4. ✅ **Docker Build Test** completes successfully +5. ✅ **Documentation Check** completes successfully + +## Emergency Procedures + +### Bypassing Protection (Admins Only) + +In rare emergency situations, administrators can temporarily disable branch protection: + +```bash +# Disable protection +gh api repos/:owner/:repo/branches/main/protection --method DELETE + +# Re-enable after emergency fix +# (Use the setup commands above) +``` + +**⚠️ Important**: Always re-enable protection immediately after emergency fixes. + +### Failing Status Checks + +If legitimate code changes cause status check failures: + +1. **For Stylus Check Failures**: + - Review WASM compilation errors + - Check contract size limits + - Verify Stylus SDK compatibility + +2. **For Test Failures**: + - Fix failing unit tests + - Ensure new code has test coverage + - Verify no breaking changes to existing APIs + +3. **For Validation Failures**: + - Run `cargo fmt` to fix formatting + - Address `clippy` warnings + - Update dependencies to fix security issues + +## Monitoring + +### Check Status via GitHub API: +```bash +# Check protection status +gh api repos/:owner/:repo/branches/main/protection + +# Check recent status checks +gh api repos/:owner/:repo/commits/main/status +``` + +### Weekly Review Checklist: +- [ ] Verify all required status checks are still configured +- [ ] Review security audit results +- [ ] Check for outdated dependencies +- [ ] Validate Docker build performance +- [ ] Review pull request merge patterns + +## Contact + +For questions about branch protection or to request changes: +- Open an issue with label `ci/cd` +- Contact repository administrators +- Review GitHub Actions logs for specific failure details \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..11cf3b2 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,377 @@ +name: Linketh CI/CD Pipeline + +on: + push: + branches: [ main, develop ] + pull_request: + branches: [ main, develop ] + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + RUST_BACKTRACE: 1 + +jobs: + # Job 1: Basic validation (fast feedback) + validate: + name: Code Validation + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: wasm32-unknown-unknown + override: true + components: rustfmt, clippy + + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry/index + ~/.cargo/registry/cache + ~/.cargo/git/db + key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-registry- + + - name: Cache cargo build + uses: actions/cache@v4 + with: + path: target + key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-cargo-build- + + - name: Check code formatting + run: cargo fmt -- --check + + - name: Run clippy + run: cargo clippy --all-targets --all-features -- -D warnings + + - name: Check for security vulnerabilities + run: | + cargo install cargo-audit + cargo audit + + # Job 2: Build and test + build-and-test: + name: Build and Test + runs-on: ubuntu-latest + timeout-minutes: 30 + needs: validate + + strategy: + matrix: + rust-version: [stable, beta] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.rust-version }} + target: wasm32-unknown-unknown + override: true + + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry/index + ~/.cargo/registry/cache + ~/.cargo/git/db + key: ${{ runner.os }}-${{ matrix.rust-version }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-${{ matrix.rust-version }}-cargo-registry- + + - name: Cache cargo build + uses: actions/cache@v4 + with: + path: target + key: ${{ runner.os }}-${{ matrix.rust-version }}-cargo-build-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-${{ matrix.rust-version }}-cargo-build- + + - name: Build project (debug) + run: cargo build --verbose + + - name: Build project (release) + run: cargo build --release --verbose + + - name: Build WASM target + run: cargo build --target wasm32-unknown-unknown --release --verbose + + - name: Run unit tests + run: cargo test --lib --verbose + + - name: Run all tests with coverage + run: | + cargo install cargo-tarpaulin + cargo tarpaulin --lib --out xml --timeout 120 + + - name: Upload coverage to Codecov + if: matrix.rust-version == 'stable' + uses: codecov/codecov-action@v4 + with: + file: ./cobertura.xml + fail_ci_if_error: false + + # Job 3: Stylus compatibility check (CRITICAL for branch protection) + stylus-check: + name: Stylus Compatibility Check + runs-on: ubuntu-latest + timeout-minutes: 20 + needs: build-and-test + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: wasm32-unknown-unknown + override: true + + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry/index + ~/.cargo/registry/cache + ~/.cargo/git/db + key: ${{ runner.os }}-stylus-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-stylus-cargo-registry- + + - name: Cache cargo build + uses: actions/cache@v4 + with: + path: target + key: ${{ runner.os }}-stylus-cargo-build-${{ hashFiles('**/Cargo.lock') }} + restore-keys: | + ${{ runner.os }}-stylus-cargo-build- + + - name: Install Stylus CLI + run: cargo install --force cargo-stylus cargo-stylus-check + + - name: Build release for Stylus check + run: cargo build --release --target wasm32-unknown-unknown + + - name: Run Stylus compatibility check + run: cargo stylus check --wasm-file target/wasm32-unknown-unknown/release/linketh.wasm + + - name: Check WASM size + run: | + WASM_SIZE=$(stat -c%s target/wasm32-unknown-unknown/release/linketh.wasm) + echo "WASM size: $WASM_SIZE bytes" + if [ $WASM_SIZE -gt 131072 ]; then # 128KB limit + echo "❌ WASM size exceeds 128KB limit" + exit 1 + else + echo "✅ WASM size is within limits" + fi + + # Job 4: Docker build test + docker-build: + name: Docker Build Test + runs-on: ubuntu-latest + timeout-minutes: 30 + needs: validate + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build Docker image (runtime) + uses: docker/build-push-action@v5 + with: + context: . + target: runtime + push: false + tags: linketh:test-runtime + cache-from: type=gha + cache-to: type=gha,mode=max + + - name: Build Docker image (wasm) + uses: docker/build-push-action@v5 + with: + context: . + target: wasm + push: false + tags: linketh:test-wasm + cache-from: type=gha + cache-to: type=gha,mode=max + + - name: Test Docker runtime image + run: | + docker run --rm linketh:test-runtime cargo --version + docker run --rm linketh:test-runtime cargo stylus --version + + # Job 5: Security audit + security-audit: + name: Security Audit + runs-on: ubuntu-latest + timeout-minutes: 10 + needs: validate + continue-on-error: true # Don't fail CI on security warnings for now + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Install cargo-audit + run: cargo install cargo-audit + + - name: Run security audit + run: cargo audit --db ~/.cargo/advisory-db + + - name: Run dependency check + run: | + cargo tree --duplicates + cargo tree --edges normal --format "{p} {f}" + + # Job 6: Documentation check + docs-check: + name: Documentation Check + runs-on: ubuntu-latest + timeout-minutes: 10 + needs: validate + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: wasm32-unknown-unknown + override: true + + - name: Check documentation + run: cargo doc --no-deps --document-private-items + + - name: Check README examples + run: | + # Verify that README examples are valid + grep -q "cargo stylus check" README.md + grep -q "cargo test" README.md + grep -q "cargo build" README.md + + # Job 7: Integration check (simulates real deployment scenario) + integration-check: + name: Integration Check + runs-on: ubuntu-latest + timeout-minutes: 15 + needs: [build-and-test, stylus-check] + if: github.event_name == 'pull_request' && (github.base_ref == 'main' || github.base_ref == 'develop') + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: wasm32-unknown-unknown + override: true + + - name: Install Stylus CLI + run: cargo install --force cargo-stylus cargo-stylus-check + + - name: Full build pipeline + run: | + echo "🔄 Running full build pipeline..." + cargo clean + cargo build --release --target wasm32-unknown-unknown + cargo test --lib + cargo stylus check + echo "✅ Integration check completed successfully" + + # Job 8: Create release artifacts (only on main branch) + release-artifacts: + name: Create Release Artifacts + runs-on: ubuntu-latest + timeout-minutes: 15 + needs: [stylus-check, docker-build] + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: wasm32-unknown-unknown + override: true + + - name: Install Stylus CLI + run: cargo install --force cargo-stylus + + - name: Build release artifacts + run: | + cargo build --release --target wasm32-unknown-unknown + cargo stylus export-abi > linketh.abi.json + + - name: Upload WASM artifact + uses: actions/upload-artifact@v4 + with: + name: linketh-wasm + path: target/wasm32-unknown-unknown/release/linketh.wasm + retention-days: 30 + + - name: Upload ABI artifact + uses: actions/upload-artifact@v4 + with: + name: linketh-abi + path: linketh.abi.json + retention-days: 30 + +# Summary job for branch protection + ci-success: + name: CI Success + runs-on: ubuntu-latest + needs: [validate, build-and-test, stylus-check, docker-build, docs-check] + if: always() + + steps: + - name: Check all jobs + run: | + if [[ "${{ needs.validate.result }}" == "success" && \ + "${{ needs.build-and-test.result }}" == "success" && \ + "${{ needs.stylus-check.result }}" == "success" && \ + "${{ needs.docker-build.result }}" == "success" && \ + "${{ needs.docs-check.result }}" == "success" ]]; then + echo "✅ All required checks passed" + else + echo "❌ One or more required checks failed" + echo "Validate: ${{ needs.validate.result }}" + echo "Build and Test: ${{ needs.build-and-test.result }}" + echo "Stylus Check: ${{ needs.stylus-check.result }}" + echo "Docker Build: ${{ needs.docker-build.result }}" + echo "Docs Check: ${{ needs.docs-check.result }}" + exit 1 + fi \ No newline at end of file diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml new file mode 100644 index 0000000..505b46e --- /dev/null +++ b/.github/workflows/security.yml @@ -0,0 +1,198 @@ +name: Security Audit + +on: + push: + branches: [ main, develop ] + pull_request: + branches: [ main, develop ] + schedule: + # Run security audit every day at 2 AM UTC + - cron: '0 2 * * *' + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + RUST_BACKTRACE: 1 + +jobs: + security-audit: + name: Security Audit + runs-on: ubuntu-latest + timeout-minutes: 15 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Cache cargo registry + uses: actions/cache@v4 + with: + path: | + ~/.cargo/registry/index + ~/.cargo/registry/cache + ~/.cargo/git/db + key: ${{ runner.os }}-security-cargo-registry-${{ hashFiles('**/Cargo.lock') }} + + - name: Install security tools + run: | + cargo install cargo-audit cargo-deny + + - name: Update advisory database + run: cargo audit --update-db + + - name: Run cargo audit + run: cargo audit + + - name: Run cargo deny check + run: | + # Create deny.toml if it doesn't exist + if [ ! -f deny.toml ]; then + cat > deny.toml << 'EOF' + [advisories] + db-path = "~/.cargo/advisory-db" + db-urls = ["https://github.com/rustsec/advisory-db"] + vulnerability = "deny" + unmaintained = "warn" + yanked = "deny" + notice = "warn" + ignore = [] + + [licenses] + unlicensed = "deny" + allow = [ + "MIT", + "Apache-2.0", + "Apache-2.0 WITH LLVM-exception", + "BSD-2-Clause", + "BSD-3-Clause", + "ISC", + "Unicode-DFS-2016", + ] + deny = [] + copyleft = "warn" + allow-osi-fsf-free = "neither" + default = "deny" + confidence-threshold = 0.8 + + [bans] + multiple-versions = "warn" + wildcards = "warn" + highlight = "all" + workspace-default-features = "allow" + external-default-features = "allow" + + [sources] + unknown-registry = "deny" + unknown-git = "deny" + allow-registry = ["https://github.com/rust-lang/crates.io-index"] + allow-git = [] + EOF + fi + cargo deny check + + - name: Check for sensitive information + run: | + echo "🔍 Checking for potential sensitive information..." + + # Check for potential secrets in code + PATTERNS=( + "password\s*=\s*['\"][^'\"]*['\"]" + "secret\s*=\s*['\"][^'\"]*['\"]" + "key\s*=\s*['\"][^'\"]*['\"]" + "token\s*=\s*['\"][^'\"]*['\"]" + "api[_-]?key\s*=\s*['\"][^'\"]*['\"]" + "private[_-]?key" + "-----BEGIN\s+(RSA\s+)?PRIVATE\s+KEY-----" + ) + + FOUND=false + for pattern in "${PATTERNS[@]}"; do + if grep -r -i -E "$pattern" src/ --exclude-dir=target 2>/dev/null; then + echo "⚠️ Potential sensitive information found: $pattern" + FOUND=true + fi + done + + if [ "$FOUND" = true ]; then + echo "❌ Sensitive information detected in source code" + exit 1 + else + echo "✅ No sensitive information detected" + fi + + - name: Check dependencies for known issues + run: | + echo "📦 Analyzing dependencies..." + cargo tree --format "{p} {l}" | grep -E "(GPL|AGPL)" || echo "✅ No problematic licenses found" + + - name: Generate security report + run: | + echo "# Security Report - $(date)" > security-report.md + echo "" >> security-report.md + echo "## Audit Results" >> security-report.md + cargo audit --format json > audit-report.json || true + + echo "## Dependency Tree" >> security-report.md + echo '```' >> security-report.md + cargo tree --depth 2 >> security-report.md + echo '```' >> security-report.md + + - name: Upload security report + uses: actions/upload-artifact@v4 + if: always() + with: + name: security-report + path: | + security-report.md + audit-report.json + retention-days: 30 + + supply-chain-check: + name: Supply Chain Security + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Install cargo-geiger + run: cargo install cargo-geiger + + - name: Run unsafe code analysis + run: | + echo "🔬 Analyzing unsafe code usage..." + cargo geiger --format GitHubMarkdown > unsafe-report.md || true + + - name: Check for proc macros + run: | + echo "🔍 Checking procedural macros..." + cargo tree --format "{p} {f}" | grep -i "proc-macro" > proc-macros.txt || true + if [ -s proc-macros.txt ]; then + echo "📋 Found procedural macros:" + cat proc-macros.txt + else + echo "✅ No procedural macros found" + fi + + - name: Upload supply chain report + uses: actions/upload-artifact@v4 + if: always() + with: + name: supply-chain-report + path: | + unsafe-report.md + proc-macros.txt + retention-days: 30 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8cc84ee..71512cc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ ./idea /target +/tmp /ignore +/.claude .env diff --git a/Cargo.lock b/Cargo.lock index 9f07ee8..340a1b3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -23,9 +23,9 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aes" @@ -61,7 +61,7 @@ checksum = "28e2652684758b0d9b389d248b209ed9fd9989ef489a550265fe4bb8454fe7eb" dependencies = [ "alloy-primitives", "num_enum", - "strum 0.27.1", + "strum 0.27.2", ] [[package]] @@ -104,7 +104,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "crc", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -127,7 +127,7 @@ dependencies = [ "alloy-primitives", "alloy-rlp", "serde", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -172,7 +172,7 @@ dependencies = [ "alloy-sol-types", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tracing", ] @@ -198,7 +198,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -226,7 +226,7 @@ dependencies = [ "const-hex", "derive_more", "foldhash", - "hashbrown 0.15.3", + "hashbrown 0.15.5", "indexmap", "itoa", "k256", @@ -268,10 +268,10 @@ dependencies = [ "lru", "parking_lot", "pin-project", - "reqwest 0.12.15", + "reqwest 0.12.23", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tracing", "url", @@ -297,7 +297,7 @@ checksum = "64b728d511962dda67c1bc7ea7c03736ec275ed2cf4c35d9585298ac9ccf3b73" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -312,7 +312,7 @@ dependencies = [ "alloy-transport-http", "futures", "pin-project", - "reqwest 0.12.15", + "reqwest 0.12.23", "serde", "serde_json", "tokio", @@ -351,7 +351,7 @@ dependencies = [ "itertools 0.14.0", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -377,7 +377,7 @@ dependencies = [ "either", "elliptic-curve", "k256", - "thiserror 2.0.12", + "thiserror 2.0.16", ] [[package]] @@ -391,7 +391,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -407,7 +407,7 @@ dependencies = [ "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "syn-solidity", "tiny-keccak", ] @@ -424,7 +424,7 @@ dependencies = [ "macro-string", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "syn-solidity", ] @@ -462,7 +462,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.16", "tokio", "tower", "tracing", @@ -478,7 +478,7 @@ checksum = "20819c4cb978fb39ce6ac31991ba90f386d595f922f42ef888b4a18be190713e" dependencies = [ "alloy-json-rpc", "alloy-transport", - "reqwest 0.12.15", + "reqwest 0.12.23", "serde_json", "tower", "tracing", @@ -503,9 +503,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "3ae563653d1938f79b1ab1b5e668c87c76a9930414574a6583a7b7e11a8e6192" dependencies = [ "anstyle", "anstyle-parse", @@ -518,37 +518,37 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.8" +version = "3.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa" +checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -712,18 +712,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -737,6 +737,12 @@ dependencies = [ "rustc_version 0.4.1", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "auto_impl" version = "1.3.0" @@ -745,14 +751,14 @@ checksum = "ffdcb70bdbc4d478427380519163274ac86e52916e10f0a8889adf0f96d3fee7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "backtrace" @@ -795,9 +801,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bech32" @@ -843,9 +849,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.1" +version = "2.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" [[package]] name = "bitvec" @@ -870,9 +876,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47c79a94619fade3c0b887670333513a67ac28a6a7e653eb260bf0d4103db38d" +checksum = "4fd49896f12ac9b6dcd7a5998466b9b58263a695a3dd1ecc1aaca2e12a90b080" dependencies = [ "cc", "glob", @@ -882,11 +888,11 @@ dependencies = [ [[package]] name = "branches" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3cb31f305a2591edaae2206f29e1e05b19ba48eba41042a18735bcc0efe165" +checksum = "a918aa7a861caeba57e502465c30e3a0d74ae02ee0b9db2933602fdb6a3a90e5" dependencies = [ - "rustc_version 0.2.3", + "rustc_version 0.4.1", ] [[package]] @@ -901,9 +907,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byte-slice-cast" @@ -963,9 +969,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.9" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "dd0b03af37dad7a14518b7691d81acb0f8222604ad3d1b02f6b4bed5188c0cd5" dependencies = [ "serde", ] @@ -995,9 +1001,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.24" +version = "1.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7" +checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" dependencies = [ "jobserver", "libc", @@ -1006,9 +1012,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" [[package]] name = "chrono" @@ -1031,9 +1037,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.38" +version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000" +checksum = "2c5e4fcf9c21d2e544ca1ee9d8552de13019a42aa7dbf32747fa7aaf1df76e57" dependencies = [ "clap_builder", "clap_derive", @@ -1041,9 +1047,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.38" +version = "4.5.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120" +checksum = "fecb53a0e6fcfb055f686001bc2e2592fa527efaf38dbe81a6a9563562e57d41" dependencies = [ "anstream", "anstyle", @@ -1053,21 +1059,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.32" +version = "4.5.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "14cb31bb0a7d536caef2639baa7fad459e15c3144efefa6dbd1c84562c4739f6" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "coins-bip32" @@ -1123,15 +1129,15 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "const-hex" -version = "1.14.1" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e22e0ed40b96a48d3db274f72fd365bd78f67af39b6bbd47e8a15e1c6207ff" +checksum = "dccd746bf9b1038c0507b7cec21eb2b11222db96a2902c96e8c185d6d20fb9c4" dependencies = [ "cfg-if", "cpufeatures", @@ -1223,9 +1229,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] @@ -1257,9 +1263,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -1324,9 +1330,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.4.0" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" +checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" dependencies = [ "powerfmt", ] @@ -1359,7 +1365,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "unicode-xid", ] @@ -1434,7 +1440,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -1451,9 +1457,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "dyn-clone" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "ecdsa" @@ -1538,12 +1544,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" +checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -1682,8 +1688,8 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "syn 2.0.101", - "toml", + "syn 2.0.106", + "toml 0.8.23", "walkdir", ] @@ -1700,7 +1706,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -1726,7 +1732,7 @@ dependencies = [ "serde", "serde_json", "strum 0.26.3", - "syn 2.0.101", + "syn 2.0.106", "tempfile", "thiserror 1.0.69", "tiny-keccak", @@ -1932,9 +1938,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", @@ -1969,9 +1975,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -2058,7 +2064,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -2135,7 +2141,7 @@ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", ] [[package]] @@ -2147,7 +2153,7 @@ dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasi 0.14.3+wasi-0.2.4", ] [[package]] @@ -2158,9 +2164,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "gloo-timers" @@ -2187,9 +2193,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" dependencies = [ "bytes", "fnv", @@ -2212,9 +2218,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.3" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", @@ -2239,9 +2245,9 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "hermit-abi" -version = "0.3.9" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -2355,7 +2361,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -2364,18 +2370,20 @@ dependencies = [ [[package]] name = "hyper" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", + "futures-core", "http 1.3.1", "http-body 1.0.1", "httparse", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -2403,7 +2411,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-util", "native-tls", "tokio", @@ -2413,19 +2421,23 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.12" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710" +checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", "http 1.3.1", "http-body 1.0.1", - "hyper 1.6.0", + "hyper 1.7.0", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.6.0", "tokio", "tower-service", "tracing", @@ -2519,9 +2531,9 @@ dependencies = [ [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -2573,23 +2585,23 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "indenter" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" +checksum = "964de6e86d545b246d84badc0fef527924ace5134f30641c203ef52ba83f58d5" [[package]] name = "indexmap" -version = "2.9.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" +checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" dependencies = [ "equivalent", - "hashbrown 0.15.3", + "hashbrown 0.15.5", "serde", ] @@ -2611,12 +2623,33 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "io-uring" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" +dependencies = [ + "bitflags 2.9.3", + "cfg-if", + "libc", +] + [[package]] name = "ipnet" version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -2658,9 +2691,9 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ "getrandom 0.3.3", "libc", @@ -2767,9 +2800,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.172" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libm" @@ -2779,14 +2812,28 @@ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" [[package]] name = "libredox" -version = "0.1.3" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "libc", ] +[[package]] +name = "linketh" +version = "0.1.0" +dependencies = [ + "alloy-primitives", + "alloy-sol-types", + "dotenv", + "ethers", + "eyre", + "hex", + "stylus-sdk", + "tokio", +] + [[package]] name = "linux-raw-sys" version = "0.9.4" @@ -2801,9 +2848,9 @@ checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -2821,7 +2868,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" dependencies = [ - "hashbrown 0.15.3", + "hashbrown 0.15.5", ] [[package]] @@ -2832,7 +2879,7 @@ checksum = "1b27834086c65ec3f9387b096d66e99f221cf081c2b738042aa252bcd41204e3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -2847,9 +2894,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "mime" @@ -2868,9 +2915,9 @@ dependencies = [ [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] @@ -2882,7 +2929,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -2946,9 +2993,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" dependencies = [ "hermit-abi", "libc", @@ -2956,23 +3003,24 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -3034,11 +3082,11 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.72" +version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" +checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "cfg-if", "foreign-types", "libc", @@ -3055,7 +3103,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -3066,9 +3114,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.108" +version = "0.9.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847" +checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" dependencies = [ "cc", "libc", @@ -3107,14 +3155,14 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -3122,9 +3170,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", @@ -3189,18 +3237,18 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" +checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" dependencies = [ "memchr", - "thiserror 2.0.12", + "thiserror 2.0.16", "ucd-trie", ] @@ -3254,7 +3302,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -3283,7 +3331,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -3316,9 +3364,9 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "potential_utf" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" dependencies = [ "zerovec", ] @@ -3346,12 +3394,12 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" [[package]] name = "prettyplease" -version = "0.2.32" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -3420,31 +3468,31 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] [[package]] name = "proptest" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" +checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" dependencies = [ "bit-set 0.8.0", "bit-vec 0.8.0", - "bitflags 2.9.1", + "bitflags 2.9.3", "lazy_static", "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand 0.9.2", + "rand_chacha 0.9.0", "rand_xorshift", "regex-syntax", "rusty-fork", @@ -3469,9 +3517,9 @@ dependencies = [ [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "radium" @@ -3493,9 +3541,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", @@ -3541,18 +3589,18 @@ dependencies = [ [[package]] name = "rand_xorshift" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" dependencies = [ - "rand_core 0.6.4", + "rand_core 0.9.3", ] [[package]] name = "rayon" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f" dependencies = [ "either", "rayon-core", @@ -3560,9 +3608,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91" dependencies = [ "crossbeam-deque", "crossbeam-utils", @@ -3579,11 +3627,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.12" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" +checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", ] [[package]] @@ -3599,9 +3647,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" dependencies = [ "aho-corasick", "memchr", @@ -3611,9 +3659,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", @@ -3622,9 +3670,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "reqwest" @@ -3650,7 +3698,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustls", - "rustls-pemfile 1.0.4", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", @@ -3669,29 +3717,25 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" dependencies = [ "base64 0.22.1", "bytes", "futures-core", - "futures-util", "http 1.3.1", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.7.0", "hyper-tls", "hyper-util", - "ipnet", "js-sys", "log", - "mime", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile 2.2.0", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", @@ -3699,12 +3743,12 @@ dependencies = [ "tokio", "tokio-native-tls", "tower", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows-registry", ] [[package]] @@ -3779,9 +3823,9 @@ dependencies = [ [[package]] name = "ruint" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11256b5fe8c68f56ac6f39ef0720e592f33d2367a4782740d9c9142e889c7fb4" +checksum = "9ecb38f82477f20c5c3d62ef52d7c4e536e38ea9b73fb570a20c5cae0e14bcf6" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", @@ -3796,7 +3840,7 @@ dependencies = [ "primitive-types", "proptest", "rand 0.8.5", - "rand 0.9.1", + "rand 0.9.2", "rlp", "ruint-macro", "serde", @@ -3812,9 +3856,9 @@ checksum = "48fd7bd8a6377e15ad9d42a8ec25371b94ddc67abe7c8b9127bec79bebaaae18" [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" @@ -3828,15 +3872,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver 0.9.0", -] - [[package]] name = "rustc_version" version = "0.3.3" @@ -3857,15 +3892,15 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" +checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -3889,15 +3924,6 @@ dependencies = [ "base64 0.21.7", ] -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "rustls-pki-types" version = "1.12.0" @@ -3919,9 +3945,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "rusty-fork" @@ -3980,7 +4006,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -4040,7 +4066,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.9.1", + "bitflags 2.9.3", "core-foundation", "core-foundation-sys", "libc", @@ -4057,22 +4083,13 @@ dependencies = [ "libc", ] -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser 0.7.0", -] - [[package]] name = "semver" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" dependencies = [ - "semver-parser 0.10.3", + "semver-parser", ] [[package]] @@ -4084,12 +4101,6 @@ dependencies = [ "serde", ] -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - [[package]] name = "semver-parser" version = "0.10.3" @@ -4128,14 +4139,14 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ "itoa", "memchr", @@ -4145,9 +4156,18 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" dependencies = [ "serde", ] @@ -4214,9 +4234,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] @@ -4239,7 +4259,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.12", + "thiserror 2.0.16", "time", ] @@ -4251,18 +4271,15 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "serde", ] @@ -4277,6 +4294,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "solang-parser" version = "0.3.3" @@ -4348,11 +4375,11 @@ dependencies = [ [[package]] name = "strum" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" dependencies = [ - "strum_macros 0.27.1", + "strum_macros 0.27.2", ] [[package]] @@ -4365,20 +4392,19 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "strum_macros" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ "heck", "proc-macro2", "quote", - "rustversion", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -4409,7 +4435,7 @@ dependencies = [ "quote", "regex", "sha3", - "syn 2.0.101", + "syn 2.0.106", "syn-solidity", "trybuild", ] @@ -4489,9 +4515,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.101" +version = "2.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" dependencies = [ "proc-macro2", "quote", @@ -4507,7 +4533,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -4533,7 +4559,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -4571,15 +4597,15 @@ checksum = "1ac9aa371f599d22256307c24a9d748c041e548cbf599f35d890f9d365361790" [[package]] name = "tempfile" -version = "3.20.0" +version = "3.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" +checksum = "15b61f8f20e3a6f7e0649d825294eaf317edce30f82cf6026e7e4cb9222a7d1e" dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -4613,11 +4639,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "3467d614147380f2e4e374161426ff399c91084acd2363eaf549172b3d5e60c0" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.16", ] [[package]] @@ -4628,18 +4654,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "6c5e1be1c48b9172ee610da68fd9cd2770e7a4056cb3fc98710ee6906f0c7960" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -4653,12 +4679,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.41" +version = "0.3.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +checksum = "8ca967379f9d8eb8058d86ed467d81d03e81acd45757e4ca341c24affbe8e8e3" dependencies = [ "deranged", - "itoa", "num-conv", "powerfmt", "serde", @@ -4668,15 +4693,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" +checksum = "a9108bb380861b07264b950ded55a44a14a4adc68b9f5efd85aafc3aa4d40a68" [[package]] name = "time-macros" -version = "0.2.22" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +checksum = "7182799245a7264ce590b349d90338f1c1affad93d2639aed5f8f69c090b334c" dependencies = [ "num-conv", "time-core", @@ -4703,9 +4728,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -4718,20 +4743,22 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.1" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "slab", + "socket2 0.6.0", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4742,7 +4769,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -4794,9 +4821,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.15" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", @@ -4807,44 +4834,83 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.22" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae" +checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_edit", ] +[[package]] +name = "toml" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" +dependencies = [ + "indexmap", + "serde", + "serde_spanned 1.0.0", + "toml_datetime 0.7.0", + "toml_parser", + "toml_writer", + "winnow", +] + [[package]] name = "toml_datetime" -version = "0.6.9" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.22.26" +version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e" +checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap", "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_write", "winnow", ] +[[package]] +name = "toml_parser" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +dependencies = [ + "winnow", +] + [[package]] name = "toml_write" -version = "0.1.1" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" + +[[package]] +name = "toml_writer" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076" +checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" [[package]] name = "tower" @@ -4861,6 +4927,24 @@ dependencies = [ "tower-service", ] +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags 2.9.3", + "bytes", + "futures-util", + "http 1.3.1", + "http-body 1.0.1", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.3" @@ -4886,20 +4970,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", ] @@ -4922,9 +5006,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "trybuild" -version = "1.0.105" +version = "1.0.110" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c9bf9513a2f4aeef5fdac8677d7d349c79fdbcc03b9c86da6e9d254f1e43be2" +checksum = "32e257d7246e7a9fd015fb0b28b330a8d4142151a33f03e6a497754f4b1f6a8e" dependencies = [ "glob", "serde", @@ -4932,7 +5016,7 @@ dependencies = [ "serde_json", "target-triple", "termcolor", - "toml", + "toml 0.9.5", ] [[package]] @@ -5017,13 +5101,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -5072,20 +5157,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "vidalpaul-arb-soul-wasm" -version = "0.1.0" -dependencies = [ - "alloy-primitives", - "alloy-sol-types", - "dotenv", - "ethers", - "eyre", - "hex", - "stylus-sdk", - "tokio", -] - [[package]] name = "wait-timeout" version = "0.2.1" @@ -5116,17 +5187,17 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" -version = "0.14.2+wasi-0.2.4" +version = "0.14.3+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "6a51ae83037bdd272a9e28ce236db8c07016dd0d50c27038b3f407533c030c95" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] @@ -5151,7 +5222,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "wasm-bindgen-shared", ] @@ -5186,7 +5257,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5202,9 +5273,9 @@ dependencies = [ [[package]] name = "wasmtimer" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0048ad49a55b9deb3953841fa1fc5858f0efbcb7a18868c899a360269fac1b23" +checksum = "d8d49b5d6c64e8558d9b1b065014426f35c18de636895d24893dbbd329743446" dependencies = [ "futures", "js-sys", @@ -5248,11 +5319,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "0978bf7171b3d90bac376700cb56d606feb40f251a475a5d6634613564460b22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -5263,38 +5334,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-link" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" - -[[package]] -name = "windows-registry" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" -dependencies = [ - "windows-result", - "windows-strings", - "windows-targets 0.53.0", -] - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.3.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" -dependencies = [ - "windows-link", -] +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-sys" @@ -5323,6 +5365,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.3", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -5356,10 +5407,11 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ + "windows-link", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -5510,9 +5562,9 @@ checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" [[package]] name = "winnow" -version = "0.7.10" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" +checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" dependencies = [ "memchr", ] @@ -5528,13 +5580,10 @@ dependencies = [ ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.1", -] +checksum = "052283831dbae3d879dc7f51f3d92703a316ca49f91540417d38591826127814" [[package]] name = "writeable" @@ -5544,9 +5593,9 @@ checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "ws_stream_wasm" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5" +checksum = "6c173014acad22e83f16403ee360115b38846fe754e735c5d9d3803fe70c6abc" dependencies = [ "async_io_stream", "futures", @@ -5555,7 +5604,7 @@ dependencies = [ "pharos", "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 1.0.69", + "thiserror 2.0.16", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -5596,28 +5645,28 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "synstructure", ] [[package]] name = "zerocopy" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.25" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -5637,7 +5686,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", "synstructure", ] @@ -5658,7 +5707,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] @@ -5674,9 +5723,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", @@ -5691,7 +5740,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.101", + "syn 2.0.106", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 1777ae8..8bc475f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ keywords = ["arbitrum", "ethereum", "stylus", "alloy"] description = "WASM Linktree-like user profiles for Arbitrum/linea.eth" [dependencies] -alloy-primitives = "=0.8.20" +alloy-primitives = { version = "=0.8.20", features = ["sha3-keccak"] } alloy-sol-types = "=0.8.20" stylus-sdk = "0.9.0" hex = { version = "0.4", default-features = false } diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2a4b1a2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,117 @@ +# Linketh Arbitrum Stylus Contract - Multi-stage Docker Build +# This Dockerfile creates an optimized container for building and testing the Linketh contract + +# Stage 1: Base Rust environment with Stylus tools +FROM rust:1.78-slim as base + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + pkg-config \ + libssl-dev \ + build-essential \ + git \ + curl \ + && rm -rf /var/lib/apt/lists/* + +# Install Stylus CLI tools +RUN cargo install --force cargo-stylus cargo-stylus-check + +# Add WASM target +RUN rustup target add wasm32-unknown-unknown + +# Set working directory +WORKDIR /app + +# Stage 2: Dependencies layer (cached when dependencies don't change) +FROM base as dependencies + +# Copy dependency files +COPY Cargo.toml Cargo.lock ./ + +# Create dummy source to build dependencies +RUN mkdir src && \ + echo "fn main() {}" > src/main.rs && \ + echo 'fn main() { println!("dummy"); }' > src/lib.rs + +# Build dependencies (this layer will be cached) +RUN cargo build --release +RUN cargo build --release --target wasm32-unknown-unknown + +# Clean up dummy files +RUN rm -rf src + +# Stage 3: Build stage +FROM dependencies as builder + +# Copy source code +COPY src/ ./src/ +COPY .env.example ./ + +# Build the project +RUN cargo build --release +RUN cargo build --release --target wasm32-unknown-unknown + +# Run tests +RUN cargo test --lib + +# Check Stylus compatibility +RUN cargo stylus check + +# Stage 4: Runtime image for development/testing +FROM rust:1.78-slim as runtime + +# Install runtime dependencies +RUN apt-get update && apt-get install -y \ + pkg-config \ + libssl-dev \ + curl \ + && rm -rf /var/lib/apt/lists/* + +# Install Stylus CLI tools +RUN cargo install --force cargo-stylus cargo-stylus-check + +# Add WASM target +RUN rustup target add wasm32-unknown-unknown + +# Create app user +RUN useradd -m -u 1000 linketh + +# Set working directory +WORKDIR /app + +# Copy built artifacts and source +COPY --from=builder /app/target ./target +COPY --from=builder /app/src ./src +COPY --from=builder /app/Cargo.toml ./ +COPY --from=builder /app/Cargo.lock ./ +COPY --from=builder /app/.env.example ./ + +# Change ownership to app user +RUN chown -R linketh:linketh /app + +# Switch to app user +USER linketh + +# Expose any ports if needed (none for this contract) +# EXPOSE 8080 + +# Health check +HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ + CMD cargo --version || exit 1 + +# Default command +CMD ["cargo", "stylus", "check"] + +# Stage 5: Minimal production image (just the WASM binary) +FROM scratch as wasm + +# Copy only the compiled WASM binary +COPY --from=builder /app/target/wasm32-unknown-unknown/release/linketh.wasm /linketh.wasm + +# Metadata +LABEL org.opencontainers.image.title="Linketh Stylus Contract" +LABEL org.opencontainers.image.description="Arbitrum Stylus WASM smart contract for decentralized Linktree-like profiles" +LABEL org.opencontainers.image.source="https://github.com/vidalpaul/linketh-contracts" +LABEL org.opencontainers.image.licenses="MIT" + +# The WASM binary is the only output from this stage \ No newline at end of file diff --git a/README.md b/README.md index 31524e3..c3f22d0 100644 --- a/README.md +++ b/README.md @@ -1,214 +1,466 @@ -![Image](header.png) +# Linketh - Arbitrum Stylus Smart Contract -# Stylus Hello World +> ⚠️ **WARNING: This code is not production ready yet.** This is an experimental implementation and should not be used in production environments without thorough security audits and testing. -Project starter template for writing Arbitrum Stylus programs in Rust using the [stylus-sdk](https://github.com/OffchainLabs/stylus-sdk-rs). It includes a Rust implementation of a basic counter Ethereum smart contract: +A decentralized, Linktree-like DID (Decentralized Identity) profiles solution built as an Arbitrum Stylus WASM smart contract. Linketh allows users to create decentralized profiles linked to their ENS (Ethereum Name Service) domains, storing profile data on IPFS while maintaining on-chain verification and quick links. -```js -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; +## Features -contract Counter { - uint256 public number; +- **ENS-Verified Profiles**: Profile creation requires ENS domain ownership verification +- **IPFS Integration**: Profile data and avatars stored on IPFS using Content Identifiers (CIDs) +- **Quick Links**: Up to 5 customizable quick links per profile (social media, websites, etc.) +- **Profile Management**: Create, update, delete, and transfer profiles between addresses +- **Gas Efficient**: Built on Arbitrum Stylus for low-cost WASM execution +- **Modular Architecture**: Clean separation of ENS utilities and contract logic - function setNumber(uint256 newNumber) public { - number = newNumber; - } +## Architecture - function increment() public { - number++; - } -} +- **Language**: Rust compiled to WASM via Arbitrum Stylus +- **Storage**: On-chain profile metadata, IPFS for content +- **ENS Integration**: Verifies domain ownership via ENS registry +- **Events**: Comprehensive event logging for profile operations + +## Project Structure + +``` +src/ +├── lib.rs # Main contract implementation +├── ens.rs # ENS utilities and namehash implementation +├── tests.rs # Comprehensive unit tests +└── main.rs # Binary entry point ``` -To set up more minimal example that still uses the Stylus SDK, use `cargo stylus new --minimal ` under [OffchainLabs/cargo-stylus](https://github.com/OffchainLabs/cargo-stylus). +## Prerequisites -## Quick Start +- **Rust**: Install via [rustup.rs](https://rustup.rs/) +- **Stylus SDK**: Arbitrum's Rust SDK for WASM contracts +- **Cargo Stylus**: CLI tool for Stylus development -Install [Rust](https://www.rust-lang.org/tools/install), and then install the Stylus CLI tool with Cargo +### Installation +1. Install Rust and Cargo: ```bash -cargo install --force cargo-stylus cargo-stylus-check +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +source ~/.cargo/env ``` -Add the `wasm32-unknown-unknown` build target to your Rust compiler: - -``` +2. Add WASM target: +```bash rustup target add wasm32-unknown-unknown ``` -You should now have it available as a Cargo subcommand: - +3. Install Cargo Stylus: ```bash -cargo stylus --help +cargo install --force cargo-stylus cargo-stylus-check ``` -Then, clone the template: +## Development -``` -git clone https://github.com/OffchainLabs/stylus-hello-world && cd stylus-hello-world -``` +### Building the Contract -### Testnet Information +```bash +# Development build +cargo build -All testnet information, including faucets and RPC endpoints can be found [here](https://docs.arbitrum.io/stylus/reference/testnet-information). +# Optimized release build +cargo build --release -### ABI Export +# Check contract compatibility with Stylus +cargo stylus check +``` + +### Running Tests -You can export the Solidity ABI for your program by using the `cargo stylus` tool as follows: +The project includes comprehensive unit tests covering: +- ENS namehash algorithm validation +- Profile storage operations +- Quick links management +- Edge cases and error handling ```bash -cargo stylus export-abi -``` +# Run all tests +cargo test -which outputs: +# Run specific test module +cargo test --lib ens::tests +cargo test --lib tests::tests -```js -/** - * This file was automatically generated by Stylus and represents a Rust program. - * For more information, please see [The Stylus SDK](https://github.com/OffchainLabs/stylus-sdk-rs). - */ +# Run with verbose output +cargo test -- --nocapture +``` -// SPDX-License-Identifier: MIT-OR-APACHE-2.0 -pragma solidity ^0.8.23; +### Test Coverage -interface ICounter { - function number() external view returns (uint256); +- **ENS Module**: 9 tests validating namehash implementation +- **Main Contract**: 11 tests covering profile operations +- **Total**: 20 comprehensive unit tests - function setNumber(uint256 new_number) external; +## Configuration - function mulNumber(uint256 new_number) external; +### Environment Variables - function addNumber(uint256 new_number) external; +Copy `.env.example` to `.env` and configure: - function increment() external; -} -``` +```bash +# Arbitrum RPC endpoint +RPC_URL=https://arb1.arbitrum.io/rpc + +# Deployed contract address (after deployment) +STYLUS_CONTRACT_ADDRESS= -Exporting ABIs uses a feature that is enabled by default in your Cargo.toml: +# Private key file path for deployment +PRIV_KEY_PATH= -```toml -[features] -export-abi = ["stylus-sdk/export-abi"] +# ENS Registry address (mainnet: 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e) +ENS_REGISTRY_ADDRESS=0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e ``` -## Deploying +## Deployment -You can use the `cargo stylus` command to also deploy your program to the Stylus testnet. We can use the tool to first check -our program compiles to valid WASM for Stylus and will succeed a deployment onchain without transacting. By default, this will use the Stylus testnet public RPC endpoint. See here for [Stylus testnet information](https://docs.arbitrum.io/stylus/reference/testnet-information) +### 1. Local Testing ```bash +# Check contract compatibility cargo stylus check + +# Estimate deployment gas +cargo stylus deploy --private-key-path= --estimate-gas ``` -If successful, you should see: +### 2. Testnet Deployment ```bash -Finished release [optimized] target(s) in 1.88s -Reading WASM file at stylus-hello-world/target/wasm32-unknown-unknown/release/stylus-hello-world.wasm -Compressed WASM size: 8.9 KB -Program succeeded Stylus onchain activation checks with Stylus version: 1 +# Deploy to Arbitrum Sepolia +cargo stylus deploy \ + --private-key-path= \ + --rpc-url=https://sepolia-rollup.arbitrum.io/rpc ``` -Next, we can estimate the gas costs to deploy and activate our program before we send our transaction. Check out the [cargo-stylus](https://github.com/OffchainLabs/cargo-stylus) README to see the different wallet options for this step: +### 3. Mainnet Deployment ```bash +# Deploy to Arbitrum One cargo stylus deploy \ - --private-key-path= \ - --estimate-gas + --private-key-path= \ + --rpc-url=https://arb1.arbitrum.io/rpc ``` -You will then see the estimated gas cost for deploying before transacting: +### 4. Contract Initialization + +After deployment, initialize the contract with ENS registry: ```bash -Deploying program to address e43a32b54e48c7ec0d3d9ed2d628783c23d65020 -Estimated gas for deployment: 1874876 +# Initialize ENS registry address +cast send "init(address)" \ + --private-key \ + --rpc-url ``` -The above only estimates gas for the deployment tx by default. To estimate gas for activation, first deploy your program using `--mode=deploy-only`, and then run `cargo stylus deploy` with the `--estimate-gas` flag, `--mode=activate-only`, and specify `--activate-program-address`. +## Usage +### Contract Interface -Here's how to deploy: +#### Profile Management +```rust +// Initialize contract with ENS registry +fn init(ens_registry_address: Address) -```bash -cargo stylus deploy \ - --private-key-path= +// Create profile (requires ENS ownership) +fn create_profile(ens_name: String, cid: String, display: String, avatar: String) + +// Update profile fields +fn update_profile(cid: String, display: String, avatar: String) + +// Delete profile and all associated data +fn delete_profile() + +// Transfer profile to new address +fn transfer_profile(new_owner: Address) ``` -The CLI will send 2 transactions to deploy and activate your program onchain. +#### Quick Links +```rust +// Set quick links (max 5) +fn set_quick_links(links: Vec<(String, String)>) -```bash -Compressed WASM size: 8.9 KB -Deploying program to address 0x457b1ba688e9854bdbed2f473f7510c476a3da09 -Estimated gas: 1973450 -Submitting tx... -Confirmed tx 0x42db…7311, gas used 1973450 -Activating program at address 0x457b1ba688e9854bdbed2f473f7510c476a3da09 -Estimated gas: 14044638 -Submitting tx... -Confirmed tx 0x0bdb…3307, gas used 14044638 +// Get user's quick links +fn get_quick_links(owner: Address) -> Vec<(String, String)> +``` + +#### Profile Queries +```rust +// Get profile data +fn get_profile(owner: Address) -> (String, String, String, String) +// Returns: (ens, cid, display_name, avatar_cid) ``` -Once both steps are successful, you can interact with your program as you would with any Ethereum smart contract. +### Events -## Calling Your Program +```rust +event ProfileCreated(address indexed owner, string ens, string cid, string display_name, string avatar_cid); +event ProfileUpdated(address indexed owner, string cid, string display_name, string avatar_cid); +event ProfileDeleted(address indexed owner); +event QuickLinksUpdated(address indexed owner); +``` + +## Example Usage -This template includes an example of how to call and transact with your program in Rust using [ethers-rs](https://github.com/gakonst/ethers-rs) under the `examples/counter.rs`. However, your programs are also Ethereum ABI equivalent if using the Stylus SDK. **They can be called and transacted with using any other Ethereum tooling.** +### Creating a Profile -By using the program address from your deployment step above, and your wallet, you can attempt to call the counter program and increase its value in storage: +1. **Own an ENS domain** (e.g., `yourname.eth`) +2. **Store content on IPFS** and get CID +3. **Call create_profile**: -```rs -abigen!( - Counter, - r#"[ - function number() external view returns (uint256) - function setNumber(uint256 number) external - function increment() external - ]"# +```javascript +// Using ethers.js or similar +await contract.create_profile( + "yourname.eth", + "QmYourContentCID...", + "Your Display Name", + "QmYourAvatarCID..." ); -let counter = Counter::new(address, client); -let num = counter.number().call().await; -println!("Counter number value = {:?}", num); +``` -let _ = counter.increment().send().await?.await?; -println!("Successfully incremented counter via a tx"); +### Setting Quick Links -let num = counter.number().call().await; -println!("New counter number value = {:?}", num); +```javascript +const links = [ + ["Twitter", "https://twitter.com/yourhandle"], + ["GitHub", "https://github.com/yourusername"], + ["Website", "https://yourwebsite.com"] +]; + +await contract.set_quick_links(links); ``` -Before running, set the following env vars or place them in a `.env` file (see: [.env.example](.env.example)) in this project: +### ABI Export + +Export the Solidity ABI for frontend integration: +```bash +cargo stylus export-abi ``` -RPC_URL=https://sepolia-rollup.arbitrum.io/rpc -STYLUS_CONTRACT_ADDRESS= -PRIV_KEY_PATH= + +## Docker Support + +The project includes a multi-stage Dockerfile for containerized builds and deployment: + +### Docker Build Stages + +1. **Runtime Stage** (for development/testing): +```bash +# Build development image +docker build --target runtime -t linketh:dev . + +# Run tests in container +docker run --rm linketh:dev cargo test --lib + +# Check Stylus compatibility +docker run --rm linketh:dev cargo stylus check ``` -Next, run: +2. **WASM Stage** (production-ready binary): +```bash +# Build minimal WASM image +docker build --target wasm -t linketh:wasm . +# Extract WASM binary +docker create --name temp linketh:wasm +docker cp temp:/linketh.wasm ./linketh.wasm +docker rm temp ``` -cargo run --example counter --target= + +### Docker Compose (Optional) + +For development environments, you can create a `docker-compose.yml`: + +```yaml +version: '3.8' +services: + linketh-dev: + build: + context: . + target: runtime + volumes: + - .:/app + - cargo-cache:/usr/local/cargo/registry + working_dir: /app + command: cargo stylus check + +volumes: + cargo-cache: ``` -Where you can find `YOUR_ARCHITECTURE` by running `rustc -vV | grep host`. For M1 Apple computers, for example, this is `aarch64-apple-darwin` and for most Linux x86 it is `x86_64-unknown-linux-gnu` +## CI/CD Pipeline + +The project includes comprehensive GitHub Actions workflows: + +### Main CI Pipeline (`.github/workflows/ci.yml`) + +**Triggered on**: Push/PR to `main` and `develop` branches + +**Jobs**: +- 🔍 **Code Validation**: Formatting, linting, security audit +- 🏗️ **Build and Test**: Multi-version Rust builds with test coverage +- 🛡️ **Stylus Check**: **CRITICAL** - Ensures WASM compatibility +- 🐳 **Docker Build**: Container build verification +- 📚 **Documentation**: Docs and README validation +- 🔗 **Integration Check**: Full deployment pipeline simulation +- 📦 **Release Artifacts**: WASM and ABI generation (main branch only) + +### Security Pipeline (`.github/workflows/security.yml`) -## Build Options +**Triggered on**: Push, PR, daily schedule -By default, the cargo stylus tool will build your project for WASM using sensible optimizations, but you can control how this gets compiled by seeing the full README for [cargo stylus](https://github.com/OffchainLabs/cargo-stylus). If you wish to optimize the size of your compiled WASM, see the different options available [here](https://github.com/OffchainLabs/cargo-stylus/blob/main/OPTIMIZING_BINARIES.md). +**Jobs**: +- 🔐 **Security Audit**: Dependency vulnerabilities, license compliance +- 🔬 **Supply Chain Check**: Unsafe code analysis, proc macro audit -## Peeking Under the Hood +### Branch Protection -The [stylus-sdk](https://github.com/OffchainLabs/stylus-sdk-rs) contains many features for writing Stylus programs in Rust. It also provides helpful macros to make the experience for Solidity developers easier. These macros expand your code into pure Rust code that can then be compiled to WASM. If you want to see what the `stylus-hello-world` boilerplate expands into, you can use `cargo expand` to see the pure Rust code that will be deployed onchain. +**Main Branch Protection**: +- ✅ Requires PR reviews (minimum 1) +- ✅ Requires status checks: `CI Success`, `Stylus Compatibility Check` +- ✅ Requires branches to be up to date +- ❌ No force pushes or deletions allowed +- ✅ Includes administrators -First, run `cargo install cargo-expand` if you don't have the subcommand already, then: +**Develop Branch Protection**: +- ✅ Requires PR reviews (minimum 1) +- ✅ Requires status checks: `CI Success`, `Stylus Compatibility Check` +- ❌ No force pushes or deletions allowed +> 📋 See [`.github/BRANCH_PROTECTION.md`](.github/BRANCH_PROTECTION.md) for detailed configuration + +### Critical Status Checks + +**🚨 Stylus Compatibility Check** - This check is **MANDATORY** for merging: +- Validates WASM compilation for `wasm32-unknown-unknown` +- Runs `cargo stylus check` to ensure Arbitrum compatibility +- Enforces 128KB WASM size limit +- **Failure blocks all merges to protected branches** + +### Using CI/CD + +```bash +# Check CI status locally +cargo fmt --check +cargo clippy --all-targets --all-features -- -D warnings +cargo test --lib +cargo stylus check + +# Build Docker image locally +docker build --target runtime -t linketh:test . +docker run --rm linketh:test cargo stylus check ``` -cargo expand --all-features --release --target= + +## Current TODOs & Limitations + +### High Priority TODOs +- [ ] **L1 ENS Integration**: Implement L1 ENS contract queries using Arbitrum's `getStorageAtL1` for proper ENS ownership verification +- [ ] **Enhanced Testing**: Create better integration tests with ENS mocking and end-to-end scenarios +- [ ] **Security Audit**: Professional security review required before production use +- [ ] **Gas Optimization**: Further optimize WASM contract size and execution costs + +### Future Enhancements +- [ ] **Frontend Interface**: Web interface for profile management +- [ ] **IPFS Pinning**: Integration with IPFS pinning services +- [ ] **Profile Templates**: Predefined profile templates and themes +- [ ] **Social Graph**: Following/followers functionality +- [ ] **Profile Analytics**: View statistics and engagement metrics + +### Current Limitations +- ENS ownership verification currently requires proper L1 ENS registry access implementation +- Profile data stored on IPFS may have availability concerns without pinning +- No built-in IPFS pinning service integration +- Limited to 5 quick links per profile +- No admin controls or upgrade mechanisms + +## Security Considerations + +⚠️ **This contract is experimental and not audited** + +### Key Security Points +- ENS ownership verification is critical for profile authenticity +- IPFS content addressing provides integrity but not guaranteed availability +- Profile transfers are irreversible operations +- No admin controls or emergency pause mechanisms +- Smart contract interactions should be carefully validated + +### Recommended Security Practices +- Always verify ENS ownership before profile creation +- Use reputable IPFS gateways and consider pinning services +- Test all operations on testnets before mainnet use +- Implement proper access controls in frontend applications + +## Contributing + +1. Fork the repository +2. Create a feature branch +3. Add comprehensive tests for new functionality +4. Ensure all tests pass: `cargo test` +5. Check Stylus compatibility: `cargo stylus check` +6. Submit a pull request + +### Development Guidelines + +- Follow Rust best practices and idioms +- Maintain comprehensive test coverage (currently 20 tests) +- Use clear, descriptive commit messages +- Update documentation for new features +- Ensure modular code organization + +### Code Structure +- **`src/lib.rs`**: Main contract logic and storage definitions +- **`src/ens.rs`**: ENS-specific utilities with comprehensive tests +- **`src/tests.rs`**: Unit tests for contract functionality +- **`src/main.rs`**: Binary entry point for examples + +## Testing + +The project includes a comprehensive test suite: + +```bash +# Run all 20 tests +cargo test --lib + +# Test specific modules +cargo test --lib ens::tests # ENS namehash tests +cargo test --lib tests::tests # Main contract tests + +# View test details +cargo test --lib -- --nocapture ``` -Where you can find `YOUR_ARCHITECTURE` by running `rustc -vV | grep host`. For M1 Apple computers, for example, this is `aarch64-apple-darwin`. +### Test Coverage +- ✅ ENS namehash algorithm validation (9 tests) +- ✅ Profile storage and retrieval (11 tests) +- ✅ Edge cases and error handling +- ✅ Multi-user independence +- ✅ Storage operations and data integrity ## License -This project is fully open source, including an Apache-2.0 or MIT license at your choosing under your own copyright. +MIT License - see LICENSE file for details. + +## Resources + +- [Arbitrum Stylus Documentation](https://docs.arbitrum.io/stylus/stylus-gentle-introduction) +- [Stylus SDK GitHub](https://github.com/OffchainLabs/stylus-sdk-rs) +- [ENS Documentation](https://docs.ens.domains/) +- [IPFS Documentation](https://docs.ipfs.io/) +- [Cargo Stylus CLI](https://github.com/OffchainLabs/cargo-stylus) + +## Support + +For questions, issues, or contributions: +- Open an issue on GitHub +- Join the Arbitrum Discord for Stylus discussions +- Review the Stylus documentation and examples +- Check the test suite for usage examples + +--- + +**Built with ❤️ using Arbitrum Stylus, Rust, and decentralized technologies** + +*Linketh enables truly decentralized identity profiles with ENS verification and IPFS storage, powered by efficient WASM execution on Arbitrum.* \ No newline at end of file diff --git a/src/ens.rs b/src/ens.rs new file mode 100644 index 0000000..4a606b3 --- /dev/null +++ b/src/ens.rs @@ -0,0 +1,131 @@ +//! ENS (Ethereum Name Service) integration module + +use alloc::vec::Vec; +use alloc::string::String; +use stylus_sdk::prelude::*; +use alloy_primitives::keccak256; + +sol_interface! { + interface ENS { + function owner(bytes32 node) external returns (address); + } +} + +pub fn namehash(name: String) -> [u8;32] { + let mut node = [0u8;32]; // root + if name.is_empty() { + return node; + } + + let labels: Vec<&str> = name.split('.').rev().collect(); + for label in labels { + let label_hash = keccak256(label.as_bytes()); + let mut combined = Vec::with_capacity(64); + combined.extend_from_slice(&node); + combined.extend_from_slice(label_hash.as_ref()); + node = keccak256(&combined).into(); + } + node +} + +#[cfg(test)] +mod tests { + use super::*; + use alloc::string::ToString; + + #[test] + fn test_namehash_empty_string() { + let result = namehash("".to_string()); + let expected = [0u8; 32]; + assert_eq!(result, expected, "Empty string should return zero hash"); + } + + #[test] + fn test_namehash_eth() { + // Test for "eth" domain + let result = namehash("eth".to_string()); + // Known hash for "eth" from ENS spec + let expected = [ + 0x93, 0xcd, 0xeb, 0x70, 0x8b, 0x75, 0x45, 0xdc, + 0x66, 0x8e, 0xb9, 0x28, 0x01, 0x76, 0x16, 0x9d, + 0x1c, 0x33, 0xcf, 0xd8, 0xed, 0x6f, 0x04, 0x69, + 0x0a, 0x0b, 0xcc, 0x88, 0xa9, 0x3f, 0xc4, 0xae + ]; + assert_eq!(result, expected, "Hash for 'eth' doesn't match expected"); + } + + #[test] + fn test_namehash_vitalik_eth() { + // Test for "vitalik.eth" - verify it produces different hash from "eth" + let vitalik_result = namehash("vitalik.eth".to_string()); + let eth_result = namehash("eth".to_string()); + + // Should not be zero hash + assert_ne!(vitalik_result, [0u8; 32], "Vitalik.eth should not produce zero hash"); + + // Should be different from just "eth" + assert_ne!(vitalik_result, eth_result, "vitalik.eth should differ from eth"); + + // Should be deterministic + let vitalik_result2 = namehash("vitalik.eth".to_string()); + assert_eq!(vitalik_result, vitalik_result2, "Same input should produce same hash"); + } + + #[test] + fn test_namehash_subdomain() { + // Test for multi-level subdomain "resolver.reverse.eth" + let result = namehash("resolver.reverse.eth".to_string()); + // This tests that the function correctly handles multiple labels + assert_ne!(result, [0u8; 32], "Subdomain should not return zero hash"); + + // Verify that the hash is different from just "eth" + let eth_hash = namehash("eth".to_string()); + assert_ne!(result, eth_hash, "Subdomain hash should differ from parent domain"); + } + + #[test] + fn test_namehash_case_sensitivity() { + // ENS namehash should be case-sensitive + let lowercase = namehash("example.eth".to_string()); + let uppercase = namehash("EXAMPLE.eth".to_string()); + assert_ne!(lowercase, uppercase, "Namehash should be case-sensitive"); + } + + #[test] + fn test_namehash_special_characters() { + // Test with special characters (should still compute) + let result = namehash("test-123.eth".to_string()); + assert_ne!(result, [0u8; 32], "Special characters should produce non-zero hash"); + + // Test with numbers + let result2 = namehash("123456.eth".to_string()); + assert_ne!(result2, [0u8; 32], "Numeric domains should produce non-zero hash"); + } + + #[test] + fn test_namehash_consistency() { + // Same input should always produce same output + let name = "consistency.test.eth".to_string(); + let result1 = namehash(name.clone()); + let result2 = namehash(name.clone()); + assert_eq!(result1, result2, "Same input should produce same hash"); + } + + #[test] + fn test_namehash_single_label() { + // Test single label without TLD + let result = namehash("localhost".to_string()); + assert_ne!(result, [0u8; 32], "Single label should produce non-zero hash"); + } + + #[test] + fn test_namehash_many_subdomains() { + // Test deeply nested subdomains + let result = namehash("a.b.c.d.e.f.eth".to_string()); + assert_ne!(result, [0u8; 32], "Deep subdomain should produce non-zero hash"); + + // Each additional subdomain should change the hash + let result2 = namehash("b.c.d.e.f.eth".to_string()); + assert_ne!(result, result2, "Different subdomain levels should produce different hashes"); + } +} \ No newline at end of file diff --git a/src/lib.rs b/src/lib.rs index ab3e90f..36dd946 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,7 +1,7 @@ //! -//! vidalpaul@arb.soul.wasm +//! linketh-contracts (wasm) //! -//! The following contract implements a Linktree-like DID profile for my (https://github.com/vidalpaul) personal usage. +//! The following WASM contract implements a Linktree-like DID profiles. //! //! Note: ... //! @@ -13,170 +13,223 @@ extern crate alloc; use alloc::vec::Vec; +use alloc::string::String; use stylus_sdk::{ prelude::*, - storage::{StorageMap, StorageString}, - msg, evm, + storage::{StorageString, StorageVec}, + alloy_sol_types::sol, }; -use sha3::{Digest, Keccak256}; +use alloy_primitives::Address; -// --- QuickLink and Profile Structures --- -#[derive(SolidityAbi, Clone)] -pub struct QuickLink { - pub title: StorageString, - pub url: StorageString, +mod ens; + +#[cfg(test)] +mod tests; + +// --- Event Definitions --- +sol! { + event ProfileCreated(address indexed owner, string ens, string cid, string display_name, string avatar_cid); + event ProfileUpdated(address indexed owner, string cid, string display_name, string avatar_cid); + event ProfileDeleted(address indexed owner); + event QuickLinksUpdated(address indexed owner); } -#[derive(SolidityAbi, Clone)] -pub struct Profile { - pub ens: StorageString, - pub cid: StorageString, - pub display_name: StorageString, - pub avatar_cid: StorageString, +// --- QuickLink and Profile Structures --- +sol_storage! { + pub struct QuickLink { + StorageString title; + StorageString url; + } } -// --- Storage --- -#[storage] -pub struct Linketh { - profiles: StorageMap, - quick_links: StorageMap, +sol_storage! { + pub struct Profile { + StorageString ens; + StorageString cid; + StorageString display_name; + StorageString avatar_cid; + } } -// --- ENS Interface --- -sol_interface! { - interface ENS { - fn owner(node: [u8;32]) -> Address; +// --- Storage --- +sol_storage! { + #[entrypoint] + pub struct Linketh { + address ens_registry; + mapping(address => Profile) profiles; + mapping(address => StorageVec) quick_links; } } -// --- Stylus contract implementation --- +// --- Contract Implementation --- #[public] -impl Linktree { +impl Linketh { + + // Initialize ENS registry address + pub fn init(&mut self, ens_registry_address: Address) { + self.ens_registry.set(ens_registry_address); + } // Create profile pub fn create_profile(&mut self, ens_name: String, cid: String, display: String, avatar: String) { - let sender = msg::sender(); - let namehash = ens_namehash(ens_name.clone()); - let ens_owner = ENS::owner(namehash); + let sender = self.vm().msg_sender(); + let node = ens::namehash(ens_name.clone()); + let registry_addr = self.ens_registry.get(); + assert!(!registry_addr.is_zero(), "ENS registry not initialized"); + + let ens_contract = ens::ENS::new(registry_addr); + let ens_owner = ens_contract.owner(&mut *self, node.into()).unwrap(); assert!(ens_owner == sender, "You do not own this ENS"); let mut p = self.profiles.setter(sender); - p.ens.set(ens_name); - p.cid.set(cid); - p.display_name.set(display); - p.avatar_cid.set(avatar); - - evm::log("ProfileCreated", (sender,)); + p.ens.set_str(&ens_name); + p.cid.set_str(&cid); + p.display_name.set_str(&display); + p.avatar_cid.set_str(&avatar); + + log(self.vm(), ProfileCreated { + owner: sender, + ens: ens_name, + cid, + display_name: display, + avatar_cid: avatar, + }); } // Update profile - pub fn update_profile(&mut self, cid: Option, display: Option, avatar: Option) { - let sender = msg::sender(); - let mut p = self.profiles.getter(sender).clone(); - if let Some(c) = cid { p.cid.set(c); } - if let Some(d) = display { p.display_name.set(d); } - if let Some(a) = avatar { p.avatar_cid.set(a); } - self.profiles.setter(sender).copy_from(&p); - evm::log("ProfileUpdated", (sender,)); + pub fn update_profile(&mut self, cid: String, display: String, avatar: String) { + let sender = self.vm().msg_sender(); + let mut p = self.profiles.setter(sender); + if !cid.is_empty() { p.cid.set_str(&cid); } + if !display.is_empty() { p.display_name.set_str(&display); } + if !avatar.is_empty() { p.avatar_cid.set_str(&avatar); } + + log(self.vm(), ProfileUpdated { + owner: sender, + cid, + display_name: display, + avatar_cid: avatar, + }); } // Delete profile pub fn delete_profile(&mut self) { - let sender = msg::sender(); - self.profiles.remove(sender); - self.quick_links.remove(sender); - evm::log("ProfileDeleted", (sender,)); + let sender = self.vm().msg_sender(); + // Clear profile fields + let mut p = self.profiles.setter(sender); + p.ens.erase(); + p.cid.erase(); + p.display_name.erase(); + p.avatar_cid.erase(); + + // Clear quick links + let mut links = self.quick_links.setter(sender); + for _ in 0..links.len() { + links.shrink(); + } + + log(self.vm(), ProfileDeleted { + owner: sender, + }); } - // Set quick links (max 5) + // Set quick links pub fn set_quick_links(&mut self, links: Vec<(String,String)>) { - let sender = msg::sender(); + let sender = self.vm().msg_sender(); assert!(links.len() <= 5, "Max 5 quick links"); - let mut arr = [QuickLink{title: StorageString::from(""), url: StorageString::from("")}; 5]; - for (i, (t,u)) in links.into_iter().enumerate() { - arr[i].title.set(t); - arr[i].url.set(u); + let mut quick_links_vec = self.quick_links.setter(sender); + // Clear existing links by shrinking to 0 + for _ in 0..quick_links_vec.len() { + quick_links_vec.shrink(); + } + + for (t, u) in links.into_iter() { + let mut link = quick_links_vec.grow(); + link.title.set_str(&t); + link.url.set_str(&u); } - self.quick_links.setter(sender).copy_from(&arr); - evm::log("QuickLinksUpdated", (sender,)); + log(self.vm(), QuickLinksUpdated { + owner: sender, + }); } - // Get profile data + // Get profile pub fn get_profile(&self, owner: Address) -> (String, String, String, String) { let p = self.profiles.getter(owner); - (p.ens.get(), p.cid.get(), p.display_name.get(), p.avatar_cid.get()) + (p.ens.get_string(), p.cid.get_string(), p.display_name.get_string(), p.avatar_cid.get_string()) } // Get quick links pub fn get_quick_links(&self, owner: Address) -> Vec<(String, String)> { - let arr = self.quick_links.getter(owner); - arr.iter() - .filter(|q| q.title.len() > 0) - .map(|q| (q.title.get(), q.url.get())) - .collect() + let links = self.quick_links.getter(owner); + let mut result = Vec::new(); + for i in 0..links.len() { + let link = links.get(i).unwrap(); + let title = link.title.get_string(); + if !title.is_empty() { + result.push((title, link.url.get_string())); + } + } + result } - // Transfer profile to new owner + // Transfer profile pub fn transfer_profile(&mut self, new_owner: Address) { - let sender = msg::sender(); - let old_p = self.profiles.getter(sender).clone(); - self.profiles.setter(new_owner).copy_from(&old_p); - - let old_q = self.quick_links.getter(sender).clone(); - self.quick_links.setter(new_owner).copy_from(&old_q); - } -} - -// --- ENS Namehash function --- -pub fn ens_namehash(name: String) -> [u8;32] { - let mut node = [0u8;32]; // initialize to 0 (root) - if name.is_empty() { return node; } - - let labels: Vec<&str> = name.split('.').rev().collect(); - for label in labels { - let mut hasher = Keccak256::new(); - let label_hash = Keccak256::digest(label.as_bytes()); - hasher.update(&node); - hasher.update(&label_hash); - node.copy_from_slice(&hasher.finalize()); + let sender = self.vm().msg_sender(); + + // Transfer profile data + { + let old_p = self.profiles.getter(sender); + let ens_str = old_p.ens.get_string(); + let cid_str = old_p.cid.get_string(); + let display_str = old_p.display_name.get_string(); + let avatar_str = old_p.avatar_cid.get_string(); + + let mut new_p = self.profiles.setter(new_owner); + new_p.ens.set_str(&ens_str); + new_p.cid.set_str(&cid_str); + new_p.display_name.set_str(&display_str); + new_p.avatar_cid.set_str(&avatar_str); + } + + // Transfer quick links + { + let mut link_data = Vec::new(); + let old_links = self.quick_links.getter(sender); + for i in 0..old_links.len() { + let old_link = old_links.get(i).unwrap(); + link_data.push((old_link.title.get_string(), old_link.url.get_string())); + } + + let mut new_links = self.quick_links.setter(new_owner); + // Clear existing links + for _ in 0..new_links.len() { + new_links.shrink(); + } + for (title, url) in link_data { + let mut new_link = new_links.grow(); + new_link.title.set_str(&title); + new_link.url.set_str(&url); + } + } + + // Clear sender's data + { + let mut p = self.profiles.setter(sender); + p.ens.erase(); + p.cid.erase(); + p.display_name.erase(); + p.avatar_cid.erase(); + } + + { + let mut links = self.quick_links.setter(sender); + for _ in 0..links.len() { + links.shrink(); + } + } } - node } - - -#[cfg(test)] -mod test { - use super::*; - - #[test] - fn test_profile() { - use stylus_sdk::testing::*; - let vm = TestVM::default(); - let mut contract = Profile::from(&vm); - - /* - assert_eq!(U256::ZERO, contract.number()); - - contract.increment(); - assert_eq!(U256::from(1), contract.number()); - - contract.add_number(U256::from(3)); - assert_eq!(U256::from(4), contract.number()); - - contract.mul_number(U256::from(2)); - assert_eq!(U256::from(8), contract.number()); - - contract.set_number(U256::from(100)); - assert_eq!(U256::from(100), contract.number()); - - // Override the msg value for future contract method invocations. - vm.set_value(U256::from(2)); - - contract.add_from_msg_value(); - assert_eq!(U256::from(102), contract.number()); - */ - } -} \ No newline at end of file diff --git a/src/tests.rs b/src/tests.rs new file mode 100644 index 0000000..5264a33 --- /dev/null +++ b/src/tests.rs @@ -0,0 +1,273 @@ +#[cfg(test)] +mod tests { + use super::*; + use stylus_sdk::{testing::*, prelude::Erase}; + use alloc::string::ToString; + use alloc::vec; + use alloy_primitives::Address; + use crate::Linketh; + + #[test] + fn test_init_ens_registry() { + let vm = TestVM::default(); + let mut contract = Linketh::from(&vm); + + // Test initialization with ENS registry address + let registry_addr = Address::from([1u8; 20]); + contract.init(registry_addr); + + assert_eq!(contract.ens_registry.get(), registry_addr); + } + + #[test] + fn test_profile_storage_operations() { + let vm = TestVM::default(); + let mut contract = Linketh::from(&vm); + + // Set up test data + let owner = Address::from([1u8; 20]); + + // Test direct storage operations + let mut profile = contract.profiles.setter(owner); + profile.ens.set_str("test.eth"); + profile.cid.set_str("QmTest123"); + profile.display_name.set_str("Test User"); + profile.avatar_cid.set_str("QmAvatar456"); + + // Retrieve and verify + let (ens, cid, display, avatar) = contract.get_profile(owner); + assert_eq!(ens, "test.eth"); + assert_eq!(cid, "QmTest123"); + assert_eq!(display, "Test User"); + assert_eq!(avatar, "QmAvatar456"); + } + + #[test] + fn test_profile_field_updates() { + let vm = TestVM::default(); + let mut contract = Linketh::from(&vm); + + let owner = Address::from([1u8; 20]); + + // Create initial profile + let mut profile = contract.profiles.setter(owner); + profile.ens.set_str("test.eth"); + profile.cid.set_str("QmOld"); + profile.display_name.set_str("Old Name"); + profile.avatar_cid.set_str("QmOldAvatar"); + + // Update individual fields + profile.cid.set_str("QmNew"); + profile.display_name.set_str("New Name"); + profile.avatar_cid.set_str("QmNewAvatar"); + + // Verify updates + let (ens, cid, display, avatar) = contract.get_profile(owner); + assert_eq!(ens, "test.eth"); + assert_eq!(cid, "QmNew"); + assert_eq!(display, "New Name"); + assert_eq!(avatar, "QmNewAvatar"); + } + + #[test] + fn test_quick_links_storage() { + let vm = TestVM::default(); + let mut contract = Linketh::from(&vm); + + let owner = Address::from([1u8; 20]); + + // Create quick links directly through storage + let mut quick_links = contract.quick_links.setter(owner); + + // Add first link + let mut link1 = quick_links.grow(); + link1.title.set_str("Twitter"); + link1.url.set_str("https://twitter.com/user"); + + // Add second link + let mut link2 = quick_links.grow(); + link2.title.set_str("GitHub"); + link2.url.set_str("https://github.com/user"); + + // Retrieve and verify + let retrieved_links = contract.get_quick_links(owner); + assert_eq!(retrieved_links.len(), 2); + assert_eq!(retrieved_links[0], ("Twitter".to_string(), "https://twitter.com/user".to_string())); + assert_eq!(retrieved_links[1], ("GitHub".to_string(), "https://github.com/user".to_string())); + } + + #[test] + fn test_profile_field_clearing() { + let vm = TestVM::default(); + let mut contract = Linketh::from(&vm); + + let owner = Address::from([1u8; 20]); + + // Create profile + let mut profile = contract.profiles.setter(owner); + profile.ens.set_str("test.eth"); + profile.cid.set_str("QmTest"); + profile.display_name.set_str("Test User"); + profile.avatar_cid.set_str("QmAvatar"); + + // Clear fields using erase + profile.ens.erase(); + profile.cid.erase(); + profile.display_name.erase(); + profile.avatar_cid.erase(); + + // Verify fields are cleared + let (ens, cid, display, avatar) = contract.get_profile(owner); + assert_eq!(ens, ""); + assert_eq!(cid, ""); + assert_eq!(display, ""); + assert_eq!(avatar, ""); + } + + #[test] + fn test_multiple_users_independence() { + let vm = TestVM::default(); + let mut contract = Linketh::from(&vm); + + let user1 = Address::from([1u8; 20]); + let user2 = Address::from([2u8; 20]); + + // Create profile for user1 + let mut profile1 = contract.profiles.setter(user1); + profile1.ens.set_str("user1.eth"); + profile1.cid.set_str("QmUser1"); + profile1.display_name.set_str("User One"); + profile1.avatar_cid.set_str("QmAvatar1"); + + // Create profile for user2 + let mut profile2 = contract.profiles.setter(user2); + profile2.ens.set_str("user2.eth"); + profile2.cid.set_str("QmUser2"); + profile2.display_name.set_str("User Two"); + profile2.avatar_cid.set_str("QmAvatar2"); + + // Verify both profiles exist independently + let (ens1, cid1, _, _) = contract.get_profile(user1); + let (ens2, cid2, _, _) = contract.get_profile(user2); + + assert_eq!(ens1, "user1.eth"); + assert_eq!(cid1, "QmUser1"); + assert_eq!(ens2, "user2.eth"); + assert_eq!(cid2, "QmUser2"); + } + + #[test] + fn test_empty_profile_retrieval() { + let vm = TestVM::default(); + let contract = Linketh::from(&vm); + + let non_existent_user = Address::from([99u8; 20]); + + // Get profile for non-existent user + let (ens, cid, display, avatar) = contract.get_profile(non_existent_user); + + // Should return empty strings + assert_eq!(ens, ""); + assert_eq!(cid, ""); + assert_eq!(display, ""); + assert_eq!(avatar, ""); + + // Quick links should be empty + let links = contract.get_quick_links(non_existent_user); + assert_eq!(links.len(), 0); + } + + #[test] + fn test_ens_registry_initialization() { + let vm = TestVM::default(); + let contract = Linketh::from(&vm); + + // Check that ENS registry starts as zero address + assert!(contract.ens_registry.get().is_zero()); + } + + #[test] + fn test_quick_links_empty_filtering() { + let vm = TestVM::default(); + let mut contract = Linketh::from(&vm); + + let owner = Address::from([1u8; 20]); + + // Create quick links with one empty title + let mut quick_links = contract.quick_links.setter(owner); + + // Add valid link + let mut link1 = quick_links.grow(); + link1.title.set_str("GitHub"); + link1.url.set_str("https://github.com/user"); + + // Add empty link (should be filtered out) + let mut _link2 = quick_links.grow(); + // Don't set title and url, leaving them empty + + // Retrieve and verify only non-empty links are returned + let retrieved_links = contract.get_quick_links(owner); + assert_eq!(retrieved_links.len(), 1); + assert_eq!(retrieved_links[0], ("GitHub".to_string(), "https://github.com/user".to_string())); + } + + #[test] + fn test_storage_string_operations() { + let vm = TestVM::default(); + let mut contract = Linketh::from(&vm); + + let owner = Address::from([1u8; 20]); + + // Test various string operations + let mut profile = contract.profiles.setter(owner); + + // Set and get operations + profile.ens.set_str("example.eth"); + assert_eq!(profile.ens.get_string(), "example.eth"); + + // Empty string + profile.cid.set_str(""); + assert_eq!(profile.cid.get_string(), ""); + + // Long string + let long_string = "QmVeryLongIPFSHashThatCouldPotentiallyBeUsedForStoringLargeAmountsOfData"; + profile.display_name.set_str(long_string); + assert_eq!(profile.display_name.get_string(), long_string); + + // Special characters + profile.avatar_cid.set_str("QmAvatar-123_with.special/chars"); + assert_eq!(profile.avatar_cid.get_string(), "QmAvatar-123_with.special/chars"); + } + + #[test] + fn test_vec_operations() { + let vm = TestVM::default(); + let mut contract = Linketh::from(&vm); + + let owner = Address::from([1u8; 20]); + + let mut quick_links = contract.quick_links.setter(owner); + + // Test growing and shrinking + assert_eq!(quick_links.len(), 0); + + let mut link1 = quick_links.grow(); + link1.title.set_str("Link1"); + link1.url.set_str("url1"); + assert_eq!(quick_links.len(), 1); + + let mut link2 = quick_links.grow(); + link2.title.set_str("Link2"); + link2.url.set_str("url2"); + assert_eq!(quick_links.len(), 2); + + // Shrink + quick_links.shrink(); + assert_eq!(quick_links.len(), 1); + + // Verify remaining link + let remaining_link = quick_links.get(0).unwrap(); + assert_eq!(remaining_link.title.get_string(), "Link1"); + assert_eq!(remaining_link.url.get_string(), "url1"); + } +} \ No newline at end of file From fe4016078246130c16a8614138c1a49019f3c886 Mon Sep 17 00:00:00 2001 From: paul vidal <58638884+vidalpaul@users.noreply.github.com> Date: Mon, 1 Sep 2025 12:37:51 +0100 Subject: [PATCH 4/7] Update .dockerignore Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .dockerignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index 5740e67..9ce34f7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -11,8 +11,6 @@ header.png # Rust build artifacts target/ -Cargo.lock - # IDE and editor files .vscode/ .idea/ From e03a2da06cc3efd55e86b5fcf6627ce77bc1cd03 Mon Sep 17 00:00:00 2001 From: paul vidal <58638884+vidalpaul@users.noreply.github.com> Date: Mon, 1 Sep 2025 12:38:58 +0100 Subject: [PATCH 5/7] Update .github/workflows/ci.yml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 11cf3b2..5f11570 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,13 +23,11 @@ jobs: uses: actions/checkout@v4 - name: Setup Rust toolchain - uses: actions-rs/toolchain@v1 + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable with: - toolchain: stable - target: wasm32-unknown-unknown - override: true + targets: wasm32-unknown-unknown components: rustfmt, clippy - - name: Cache cargo registry uses: actions/cache@v4 with: From dd25931ddf53a1f63c0ee9fc8479f965009a5dec Mon Sep 17 00:00:00 2001 From: paul vidal <58638884+vidalpaul@users.noreply.github.com> Date: Mon, 1 Sep 2025 12:39:26 +0100 Subject: [PATCH 6/7] Update .github/workflows/ci.yml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f11570..9563743 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -74,12 +74,11 @@ jobs: uses: actions/checkout@v4 - name: Setup Rust toolchain - uses: actions-rs/toolchain@v1 + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@master with: toolchain: ${{ matrix.rust-version }} - target: wasm32-unknown-unknown - override: true - + targets: wasm32-unknown-unknown - name: Cache cargo registry uses: actions/cache@v4 with: From c9219686e67ceb1d1c038523db8c543342d46082 Mon Sep 17 00:00:00 2001 From: paul vidal <58638884+vidalpaul@users.noreply.github.com> Date: Sun, 21 Sep 2025 22:48:19 +0100 Subject: [PATCH 7/7] Update .github/workflows/ci.yml Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9563743..04b086b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,6 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Setup Rust toolchain - name: Setup Rust toolchain uses: dtolnay/rust-toolchain@stable with: