From e396ecbf695921e8e1892d809b6d03358f706d65 Mon Sep 17 00:00:00 2001 From: Ratan Kaliani Date: Tue, 7 Jan 2025 16:13:56 -0800 Subject: [PATCH] feat: v4 (#73) * feat: v4 * wip: add * v4 changes * fix: proof bytes * wip * fix * add * add * feat: update * add * add * feat: update * add * fix * add * add * add --------- Co-authored-by: jtguibas --- Cargo.lock | 3390 +++++++++++++++-------------- Cargo.toml | 11 +- book/deployment.md | 10 +- book/reproducible-builds.md | 4 +- contracts/script/UpdateVkey.s.sol | 29 + contracts/script/Upgrade.s.sol | 1 - elf/sp1-vector-docker | Bin 322540 -> 0 bytes elf/vector-elf | Bin 0 -> 331168 bytes program/Cargo.toml | 2 +- render.yaml | 2 +- script/.env.example | 7 +- script/Cargo.toml | 10 +- script/bin/genesis.rs | 4 +- script/bin/operator.rs | 193 +- script/bin/test.rs | 38 +- script/bin/vkey.rs | 6 +- script/build.rs | 2 +- script/src/lib.rs | 3 +- 18 files changed, 1932 insertions(+), 1780 deletions(-) create mode 100644 contracts/script/UpdateVkey.s.sol delete mode 100755 elf/sp1-vector-docker create mode 100755 elf/vector-elf diff --git a/Cargo.lock b/Cargo.lock index 15fe76c..86761e3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -34,18 +34,18 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ - "gimli 0.29.0", + "gimli 0.31.1", ] [[package]] -name = "adler" -version = "1.0.2" +name = "adler2" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" [[package]] name = "aead" @@ -57,17 +57,6 @@ dependencies = [ "generic-array 0.14.7", ] -[[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 = "ahash" version = "0.7.8" @@ -103,15 +92,15 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7e1758e5d759c0114140152ae72032eafcfdd7b599e995ebbc8eeafa2b4c977" +checksum = "59febb24956a41c29bb5f450978fbe825bd6456b3f80586c8bd558dc882e7b6a" dependencies = [ "alloy-consensus", "alloy-contract", @@ -134,22 +123,23 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.25" +version = "0.1.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3312b2a48f29abe7c3ea7c7fbc1f8cc6ea09b85d74b6232e940df35f2f3826fd" +checksum = "d4e0f0136c085132939da6b753452ebed4efaa73fe523bb855b10c199c2ebfaf" dependencies = [ + "alloy-primitives", "num_enum 0.7.3", "strum", ] [[package]] name = "alloy-consensus" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a205d0cbb7bfdf9f4fd4b0ec842bc4c5f926e8c14ec3072d3fd75dd363baf1e0" +checksum = "e88e1edea70787c33e11197d3f32ae380f3db19e6e061e539a5bcf8184a6b326" dependencies = [ "alloy-eips", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rlp", "alloy-serde", "alloy-trie", @@ -162,13 +152,13 @@ dependencies = [ [[package]] name = "alloy-consensus-any" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "993c34090a3f281cb746fd1604520cf21f8407ffbeb006aaa34c0556bffa718e" +checksum = "57b1bb53f40c0273cd1975573cd457b39213e68584e36d1401d25fd0398a1d65" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rlp", "alloy-serde", "serde", @@ -176,23 +166,23 @@ dependencies = [ [[package]] name = "alloy-contract" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aec7945dff98ba68489aa6da455bf66f6c0fee8157df06747fbae7cb03c368e2" +checksum = "1b668c78c4b1f12f474ede5a85e8ce550d0aa1ef7d49fd1d22855a43b960e725" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", "alloy-network", "alloy-network-primitives", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-provider", "alloy-pubsub", "alloy-rpc-types-eth", - "alloy-sol-types 0.8.15", + "alloy-sol-types", "alloy-transport", "futures", "futures-util", - "thiserror 2.0.7", + "thiserror 2.0.9", ] [[package]] @@ -203,9 +193,9 @@ checksum = "c618bd382f0bc2ac26a7e4bfae01c9b015ca8f21b37ca40059ae35a7e62b3dc6" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rlp", - "alloy-sol-types 0.8.15", + "alloy-sol-types", ] [[package]] @@ -215,14 +205,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41056bde53ae10ffbbf11618efbe1e0290859e5eab0fe9ef82ebdb62f12a866f" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-sol-type-parser", - "alloy-sol-types 0.8.15", + "alloy-sol-types", "const-hex", "itoa", "serde", "serde_json", - "winnow 0.6.18", + "winnow 0.6.20", ] [[package]] @@ -231,7 +221,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rlp", "serde", ] @@ -242,7 +232,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c986539255fb839d1533c128e190e557e52ff652c9ef62939e233a81dd93f7e" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rlp", "derive_more 1.0.0", "k256", @@ -251,13 +241,13 @@ dependencies = [ [[package]] name = "alloy-eips" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1d9907c29ce622946759bf4fd3418166bfeae76c1c544b8081c7be3acd9b4be" +checksum = "5f9fadfe089e9ccc0650473f2d4ef0a28bc015bbca5631d9f0f09e49b557fdb3" dependencies = [ "alloy-eip2930", "alloy-eip7702", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rlp", "alloy-serde", "c-kzg", @@ -269,11 +259,11 @@ dependencies = [ [[package]] name = "alloy-genesis" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f13f7405a8eb8021258994ed1beab490c3e509ebbe2c18e1c24ae10749d56b" +checksum = "2b2a4cf7b70f3495788e74ce1c765260ffe38820a2a774ff4aacb62e31ea73f9" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-serde", "alloy-trie", "serde", @@ -285,7 +275,7 @@ version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c357da577dfb56998d01f574d81ad7a1958d248740a7981b205d69d65a7da404" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-sol-type-parser", "serde", "serde_json", @@ -293,78 +283,56 @@ dependencies = [ [[package]] name = "alloy-json-rpc" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39a786ce6bc7539dc30cabac6b7875644247c9e7d780e71a9f254d42ebdc013c" +checksum = "e29040b9d5fe2fb70415531882685b64f8efd08dfbd6cc907120650504821105" dependencies = [ - "alloy-primitives 0.8.15", - "alloy-sol-types 0.8.15", + "alloy-primitives", + "alloy-sol-types", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.9", "tracing", ] [[package]] name = "alloy-network" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99051f82f77159d5bee06108f33cffee02849e2861fc500bf74213aa2ae8a26e" +checksum = "510cc00b318db0dfccfdd2d032411cfae64fc144aef9679409e014145d3dacc4" dependencies = [ "alloy-consensus", "alloy-consensus-any", "alloy-eips", "alloy-json-rpc", "alloy-network-primitives", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rpc-types-any", "alloy-rpc-types-eth", "alloy-serde", "alloy-signer", - "alloy-sol-types 0.8.15", + "alloy-sol-types", "async-trait", "auto_impl", "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.9", ] [[package]] name = "alloy-network-primitives" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2aff127863f8279921397be8af0ac3f05a8757d5c4c972b491c278518fa07c7" +checksum = "9081c099e798b8a2bba2145eb82a9a146f01fc7a35e9ab6e7b43305051f97550" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-serde", "serde", ] -[[package]] -name = "alloy-primitives" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" -dependencies = [ - "alloy-rlp", - "bytes", - "cfg-if", - "const-hex", - "derive_more 0.99.18", - "hex-literal", - "itoa", - "k256", - "keccak-asm", - "proptest", - "rand 0.8.5", - "ruint", - "serde", - "tiny-keccak", -] - [[package]] name = "alloy-primitives" version = "0.8.15" @@ -387,7 +355,7 @@ dependencies = [ "proptest", "rand 0.8.5", "ruint", - "rustc-hash 2.0.0", + "rustc-hash 2.1.0", "serde", "sha3", "tiny-keccak", @@ -395,9 +363,9 @@ dependencies = [ [[package]] name = "alloy-provider" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0280a4f68e0cefde9449ee989a248230efbe3f95255299d2a7a92009e154629d" +checksum = "dc2dfaddd9a30aa870a78a4e1316e3e115ec1e12e552cbc881310456b85c1f24" dependencies = [ "alloy-chains", "alloy-consensus", @@ -405,7 +373,7 @@ dependencies = [ "alloy-json-rpc", "alloy-network", "alloy-network-primitives", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-pubsub", "alloy-rpc-client", "alloy-rpc-types-eth", @@ -422,11 +390,11 @@ dependencies = [ "lru", "parking_lot", "pin-project", - "reqwest 0.12.5", + "reqwest 0.12.11", "schnellru", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.9", "tokio", "tracing", "url", @@ -435,12 +403,12 @@ dependencies = [ [[package]] name = "alloy-pubsub" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475dc1a835bd8bb77275b6bccf8e177e7e669ba81277ce6bea0016ce994fafe" +checksum = "695809e743628d54510c294ad17a4645bd9f465aeb0d20ee9ce9877c9712dc9c" dependencies = [ "alloy-json-rpc", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-transport", "bimap", "futures", @@ -448,7 +416,7 @@ dependencies = [ "serde_json", "tokio", "tokio-stream", - "tower 0.5.1", + "tower 0.5.2", "tracing", ] @@ -459,7 +427,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f542548a609dca89fcd72b3b9f355928cf844d4363c5eed9c5273a3dd225e097" dependencies = [ "alloy-rlp-derive", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bytes", ] @@ -471,17 +439,17 @@ checksum = "5a833d97bf8a5f0f878daf2c8451fff7de7f9de38baa5a45d936ec718d81255a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "alloy-rpc-client" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6fc8b0f68619cfab3a2e15dca7b80ab266f78430bb4353dec546528e04b7449" +checksum = "531137b283547d5b9a5cafc96b006c64ef76810c681d606f28be9781955293b6" dependencies = [ "alloy-json-rpc", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-pubsub", "alloy-transport", "alloy-transport-http", @@ -489,12 +457,12 @@ dependencies = [ "alloy-transport-ws", "futures", "pin-project", - "reqwest 0.12.5", + "reqwest 0.12.11", "serde", "serde_json", "tokio", "tokio-stream", - "tower 0.5.1", + "tower 0.5.2", "tracing", "url", "wasmtimer", @@ -502,11 +470,11 @@ dependencies = [ [[package]] name = "alloy-rpc-types" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "986f23fe42ac95832901a24b93c20f7ed2b9644394c02b86222801230da60041" +checksum = "3410a472ce26c457e9780f708ee6bd540b30f88f1f31fdab7a11d00bd6aa1aee" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rpc-types-engine", "alloy-rpc-types-eth", "alloy-serde", @@ -515,9 +483,9 @@ dependencies = [ [[package]] name = "alloy-rpc-types-any" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57e3aa433d3657b42e98e257ee6fa201f5c853245648a33da8fbb7497a5008bf" +checksum = "ed98e1af55a7d856bfa385f30f63d8d56be2513593655c904a8f4a7ec963aa3e" dependencies = [ "alloy-consensus-any", "alloy-rpc-types-eth", @@ -526,13 +494,13 @@ dependencies = [ [[package]] name = "alloy-rpc-types-engine" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30814f8b9ac10219fb77fe42c277a0ffa1c369fbc3961f14d159f51fb221966e" +checksum = "03bd16fa4959255ebf4a7702df08f325e5631df5cdca07c8a8e58bdc10fe02e3" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rlp", "alloy-serde", "derive_more 1.0.0", @@ -542,18 +510,18 @@ dependencies = [ [[package]] name = "alloy-rpc-types-eth" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0643cc497a71941f526454fe4fecb47e9307d3a7b6c05f70718a0341643bcc79" +checksum = "8737d7a6e37ca7bba9c23e9495c6534caec6760eb24abc9d5ffbaaba147818e1" dependencies = [ "alloy-consensus", "alloy-consensus-any", "alloy-eips", "alloy-network-primitives", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rlp", "alloy-serde", - "alloy-sol-types 0.8.15", + "alloy-sol-types", "derive_more 1.0.0", "itertools 0.13.0", "serde", @@ -562,57 +530,43 @@ dependencies = [ [[package]] name = "alloy-serde" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61b049d7ecc66a29f107970dae493d0908e366048f7484a1ca9b02c85f9b2b" +checksum = "5851bf8d5ad33014bd0c45153c603303e730acc8a209450a7ae6b4a12c2789e2" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives", "serde", "serde_json", ] [[package]] name = "alloy-signer" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93461b0e79c2ddd791fec5f369ab5c2686a33bbb03530144972edf5248f8a2c7" +checksum = "7e10ca565da6500cca015ba35ee424d59798f2e1b85bc0dd8f81dafd401f029a" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives", "async-trait", "auto_impl", "elliptic-curve", "k256", - "thiserror 2.0.7", + "thiserror 2.0.9", ] [[package]] name = "alloy-signer-local" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f08ec1bfa433f9e9f7c5af05af07e5cf86d27d93170de76b760e63b925f1c9c" +checksum = "47fababf5a745133490cde927d48e50267f97d3d1209b9fc9f1d1d666964d172" dependencies = [ "alloy-consensus", "alloy-network", - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-signer", "async-trait", "k256", "rand 0.8.5", - "thiserror 2.0.7", -] - -[[package]] -name = "alloy-sol-macro" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b40397ddcdcc266f59f959770f601ce1280e699a91fc1862f29cef91707cd09" -dependencies = [ - "alloy-sol-macro-expander 0.7.7", - "alloy-sol-macro-input 0.7.7", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.90", + "thiserror 2.0.9", ] [[package]] @@ -621,30 +575,12 @@ version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9d64f851d95619233f74b310f12bcf16e0cbc27ee3762b6115c14a84809280a" dependencies = [ - "alloy-sol-macro-expander 0.8.15", - "alloy-sol-macro-input 0.8.15", + "alloy-sol-macro-expander", + "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.90", -] - -[[package]] -name = "alloy-sol-macro-expander" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" -dependencies = [ - "alloy-sol-macro-input 0.7.7", - "const-hex", - "heck 0.5.0", - "indexmap 2.7.0", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.90", - "syn-solidity 0.7.7", - "tiny-keccak", + "syn 2.0.93", ] [[package]] @@ -654,33 +590,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bf7ed1574b699f48bf17caab4e6e54c6d12bc3c006ab33d58b1e227c1c3559f" dependencies = [ "alloy-json-abi", - "alloy-sol-macro-input 0.8.15", + "alloy-sol-macro-input", "const-hex", "heck 0.5.0", "indexmap 2.7.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.90", - "syn-solidity 0.8.15", + "syn 2.0.93", + "syn-solidity", "tiny-keccak", ] -[[package]] -name = "alloy-sol-macro-input" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" -dependencies = [ - "const-hex", - "dunce", - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.90", - "syn-solidity 0.7.7", -] - [[package]] name = "alloy-sol-macro-input" version = "0.8.15" @@ -694,8 +615,8 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.90", - "syn-solidity 0.8.15", + "syn 2.0.93", + "syn-solidity", ] [[package]] @@ -705,19 +626,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce13ff37285b0870d0a0746992a4ae48efaf34b766ae4c2640fa15e5305f8e73" dependencies = [ "serde", - "winnow 0.6.18", -] - -[[package]] -name = "alloy-sol-types" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" -dependencies = [ - "alloy-primitives 0.7.7", - "alloy-sol-macro 0.7.7", - "const-hex", - "serde", + "winnow 0.6.20", ] [[package]] @@ -727,17 +636,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1174cafd6c6d810711b4e00383037bdb458efc4fe3dbafafa16567e0320c54d8" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.8.15", - "alloy-sol-macro 0.8.15", + "alloy-primitives", + "alloy-sol-macro", "const-hex", "serde", ] [[package]] name = "alloy-transport" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf656f983e14812df65b5aee37e7b37535f68a848295e6ed736b2054a405cb7" +checksum = "538a04a37221469cac0ce231b737fd174de2fdfcdd843bdd068cb39ed3e066ad" dependencies = [ "alloy-json-rpc", "base64 0.22.1", @@ -745,9 +654,9 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror 2.0.7", + "thiserror 2.0.9", "tokio", - "tower 0.5.1", + "tower 0.5.2", "tracing", "url", "wasmtimer", @@ -755,24 +664,24 @@ dependencies = [ [[package]] name = "alloy-transport-http" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec938d51a47b7953b1c0fd8ddeb89a29eb113cd4908dfc4e01c7893b252d669f" +checksum = "2ed40eb1e1265b2911512f6aa1dcece9702d078f5a646730c45e39e2be00ac1c" dependencies = [ "alloy-json-rpc", "alloy-transport", - "reqwest 0.12.5", + "reqwest 0.12.11", "serde_json", - "tower 0.5.1", + "tower 0.5.2", "tracing", "url", ] [[package]] name = "alloy-transport-ipc" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9df0d2e1b24dd029641bd21ef783491c42af87b162968be94f0443c1eb72c8e0" +checksum = "a7a172a59d24706b26a79a837f86d51745cb26ca6f8524712acd0208a14cff95" dependencies = [ "alloy-json-rpc", "alloy-pubsub", @@ -789,15 +698,15 @@ dependencies = [ [[package]] name = "alloy-transport-ws" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fabdf2d18c0c87b6cfcf6a067f1d5a7db378f103faeb16130d6d174c73d006b" +checksum = "fba0e39d181d13c266dbb8ca54ed584a2c66d6e9279afca89c7a6b1825e98abb" dependencies = [ "alloy-pubsub", "alloy-transport", "futures", - "http 1.1.0", - "rustls 0.23.12", + "http 1.2.0", + "rustls 0.23.20", "serde_json", "tokio", "tokio-tungstenite", @@ -807,13 +716,13 @@ dependencies = [ [[package]] name = "alloy-trie" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a5fd8fea044cc9a8c8a50bb6f28e31f0385d820f116c5b98f6f4e55d6e5590b" +checksum = "1e428104b2445a4f929030891b3dbf8c94433a8349ba6480946bf6af7975c2f6" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives", "alloy-rlp", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "derive_more 1.0.0", "nybbles", "serde", @@ -847,9 +756,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -862,43 +771,43 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" [[package]] name = "aquamarine" @@ -911,7 +820,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -920,7 +829,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb00293ba84f51ce3bd026bd0de55899c4e68f0a39a5728cebae3a73ffdc0a4f" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-std 0.4.0", ] @@ -932,7 +841,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55" dependencies = [ "ark-bls12-377", - "ark-ec", + "ark-ec 0.4.2", "ark-models-ext", "ark-std 0.4.0", ] @@ -943,7 +852,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", @@ -956,7 +865,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c" dependencies = [ "ark-bls12-381", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-models-ext", "ark-serialize 0.4.2", @@ -970,7 +879,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700" dependencies = [ "ark-bls12-377", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-std 0.4.0", ] @@ -982,7 +891,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2" dependencies = [ "ark-bw6-761", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-models-ext", "ark-std 0.4.0", @@ -995,7 +904,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" dependencies = [ "ark-ff 0.4.2", - "ark-poly", + "ark-poly 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", "derivative", @@ -1006,6 +915,27 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ark-ec" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" +dependencies = [ + "ahash 0.8.11", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.2", + "itertools 0.13.0", + "num-bigint 0.4.6", + "num-integer", + "num-traits", + "zeroize", +] + [[package]] name = "ark-ed-on-bls12-377" version = "0.4.0" @@ -1013,7 +943,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6" dependencies = [ "ark-bls12-377", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-std 0.4.0", ] @@ -1024,7 +954,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ed-on-bls12-377", "ark-ff 0.4.2", "ark-models-ext", @@ -1038,7 +968,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" dependencies = [ "ark-bls12-381", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-std 0.4.0", ] @@ -1049,7 +979,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ed-on-bls12-381-bandersnatch", "ark-ff 0.4.2", "ark-models-ext", @@ -1090,7 +1020,27 @@ dependencies = [ "num-bigint 0.4.6", "num-traits", "paste", - "rustc_version 0.4.0", + "rustc_version 0.4.1", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" +dependencies = [ + "ark-ff-asm 0.5.0", + "ark-ff-macros 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "arrayvec 0.7.6", + "digest 0.10.7", + "educe", + "itertools 0.13.0", + "num-bigint 0.4.6", + "num-traits", + "paste", "zeroize", ] @@ -1114,6 +1064,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-asm" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" +dependencies = [ + "quote", + "syn 2.0.93", +] + [[package]] name = "ark-ff-macros" version = "0.3.0" @@ -1139,13 +1099,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-ff-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" +dependencies = [ + "num-bigint 0.4.6", + "num-traits", + "proc-macro2", + "quote", + "syn 2.0.93", +] + [[package]] name = "ark-models-ext" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", @@ -1165,13 +1138,28 @@ dependencies = [ "hashbrown 0.13.2", ] +[[package]] +name = "ark-poly" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" +dependencies = [ + "ahash 0.8.11", + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "educe", + "fnv", + "hashbrown 0.15.2", +] + [[package]] name = "ark-scale" version = "0.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", @@ -1184,11 +1172,11 @@ name = "ark-secret-scalar" version = "0.0.2" source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", "ark-std 0.4.0", - "ark-transcript", + "ark-transcript 0.0.2", "digest 0.10.7", "getrandom_or_panic", "zeroize", @@ -1210,12 +1198,25 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ - "ark-serialize-derive", + "ark-serialize-derive 0.4.2", "ark-std 0.4.0", "digest 0.10.7", "num-bigint 0.4.6", ] +[[package]] +name = "ark-serialize" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" +dependencies = [ + "ark-serialize-derive 0.5.0", + "ark-std 0.5.0", + "arrayvec 0.7.6", + "digest 0.10.7", + "num-bigint 0.4.6", +] + [[package]] name = "ark-serialize-derive" version = "0.4.2" @@ -1227,6 +1228,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "ark-serialize-derive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.93", +] + [[package]] name = "ark-std" version = "0.3.0" @@ -1248,6 +1260,16 @@ dependencies = [ "rayon", ] +[[package]] +name = "ark-std" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + [[package]] name = "ark-transcript" version = "0.0.2" @@ -1261,6 +1283,19 @@ dependencies = [ "sha3", ] +[[package]] +name = "ark-transcript" +version = "0.0.3" +source = "git+https://github.com/w3f/ark-transcript#37a169f587f45d67e5afad143bc2a7c9c864884b" +dependencies = [ + "ark-ff 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "digest 0.10.7", + "rand_core 0.6.4", + "sha3", +] + [[package]] name = "array-bytes" version = "6.2.3" @@ -1278,9 +1313,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -1299,9 +1334,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" dependencies = [ "serde", ] @@ -1320,9 +1355,9 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" +checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" dependencies = [ "async-task", "concurrent-queue", @@ -1344,9 +1379,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" dependencies = [ "async-lock", "cfg-if", @@ -1355,10 +1390,10 @@ dependencies = [ "futures-lite", "parking", "polling", - "rustix 0.38.34", + "rustix 0.38.42", "slab", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1385,9 +1420,9 @@ dependencies = [ [[package]] name = "async-process" -version = "2.2.3" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7eda79bbd84e29c2b308d1dc099d7de8dcc7035e48f4bf5dc4a531a44ff5e2a" +checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" dependencies = [ "async-channel", "async-io", @@ -1398,16 +1433,15 @@ dependencies = [ "cfg-if", "event-listener 5.3.1", "futures-lite", - "rustix 0.38.34", + "rustix 0.38.42", "tracing", - "windows-sys 0.52.0", ] [[package]] name = "async-signal" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" +checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" dependencies = [ "async-io", "async-lock", @@ -1415,17 +1449,17 @@ dependencies = [ "cfg-if", "futures-core", "futures-io", - "rustix 0.38.34", + "rustix 0.38.42", "signal-hook-registry", "slab", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -1434,13 +1468,13 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -1451,13 +1485,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -1468,7 +1502,7 @@ checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" dependencies = [ "futures", "pharos", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] @@ -1502,14 +1536,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "avail-base" @@ -1592,9 +1626,9 @@ dependencies = [ [[package]] name = "aws-config" -version = "1.5.4" +version = "1.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf6cfe2881cb1fcbba9ae946fb9a6480d3b7a714ca84c74925014a89ef3387a" +checksum = "649316840239f4e58df0b7f620c428f5fababbbca2d504488c641534050bd141" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1612,7 +1646,6 @@ dependencies = [ "fastrand", "hex", "http 0.2.12", - "hyper 0.14.30", "ring 0.17.8", "time", "tokio", @@ -1623,9 +1656,9 @@ dependencies = [ [[package]] name = "aws-credential-types" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16838e6c9e12125face1c1eff1343c75e3ff540de98ff7ebd61874a89bcfeb9" +checksum = "60e8f6b615cb5fc60a98132268508ad104310f0cfb25a1c22eee76efdf9154da" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -1635,14 +1668,15 @@ dependencies = [ [[package]] name = "aws-runtime" -version = "1.3.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87c5f920ffd1e0526ec9e70e50bf444db50b204395a0fa7016bbf9e31ea1698f" +checksum = "44f6f1124d6e19ab6daf7f2e615644305dc6cb2d706892a8a8c0b98db35de020" dependencies = [ "aws-credential-types", "aws-sigv4", "aws-smithy-async", "aws-smithy-http", + "aws-smithy-runtime", "aws-smithy-runtime-api", "aws-smithy-types", "aws-types", @@ -1650,17 +1684,18 @@ dependencies = [ "fastrand", "http 0.2.12", "http-body 0.4.6", + "once_cell", "percent-encoding", "pin-project-lite", "tracing", - "uuid 1.10.0", + "uuid", ] [[package]] name = "aws-sdk-dynamodb" -version = "1.39.1" +version = "1.57.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2fdd26fcd839ffa0df7a589a34f5e1a2d4c4c6d8127fe18100bf8b4d57f5d4c" +checksum = "94eddb79659f74c5cf0ba98ab93b7bda3e0120c827539e4944438f179da7c7d3" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1681,9 +1716,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.36.0" +version = "1.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6acca681c53374bf1d9af0e317a41d12a44902ca0f2d1e10e5cb5bb98ed74f35" +checksum = "cb25f7129c74d36afe33405af4517524df8f74b635af8c2c8e91c1552b8397b2" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1703,9 +1738,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.37.0" +version = "1.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b79c6bdfe612503a526059c05c9ccccbf6bd9530b003673cb863e547fd7c0c9a" +checksum = "d03a3d5ef14851625eafd89660a751776f938bf32f309308b20dcca41c44b568" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1725,9 +1760,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.36.0" +version = "1.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e6ecdb2bd756f3b2383e6f0588dc10a4e65f5d551e70a56e0bfe0c884673ce" +checksum = "cf3a9f073ae3a53b54421503063dfb87ff1ea83b876f567d92e8b8d9942ba91b" dependencies = [ "aws-credential-types", "aws-runtime", @@ -1748,9 +1783,9 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.2.3" +version = "1.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5df1b0fa6be58efe9d4ccc257df0a53b89cd8909e86591a13ca54817c87517be" +checksum = "7d3820e0c08d0737872ff3c7c1f21ebbb6693d832312d6152bf18ef50a5471c2" dependencies = [ "aws-credential-types", "aws-smithy-http", @@ -1761,7 +1796,7 @@ dependencies = [ "hex", "hmac 0.12.1", "http 0.2.12", - "http 1.1.0", + "http 1.2.0", "once_cell", "percent-encoding", "sha2 0.10.8", @@ -1771,9 +1806,9 @@ dependencies = [ [[package]] name = "aws-smithy-async" -version = "1.2.1" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c" +checksum = "427cb637d15d63d6f9aae26358e1c9a9c09d5aa490d64b09354c8217cfef0f28" dependencies = [ "futures-util", "pin-project-lite", @@ -1782,9 +1817,9 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.60.9" +version = "0.60.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9cd0ae3d97daa0a2bf377a4d8e8e1362cae590c4a1aad0d40058ebca18eb91e" +checksum = "5c8bc3e8fdc6b8d07d976e301c02fe553f72a39b7a9fea820e023268467d7ab6" dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", @@ -1802,9 +1837,9 @@ dependencies = [ [[package]] name = "aws-smithy-json" -version = "0.60.7" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" +checksum = "ee4e69cc50921eb913c6b662f8d909131bb3e6ad6cb6090d3a39b66fc5c52095" dependencies = [ "aws-smithy-types", ] @@ -1821,9 +1856,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.6.2" +version = "1.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce87155eba55e11768b8c1afa607f3e864ae82f03caf63258b37455b0ad02537" +checksum = "a05dd41a70fc74051758ee75b5c4db2c0ca070ed9229c3df50e9475cda1cb985" dependencies = [ "aws-smithy-async", "aws-smithy-http", @@ -1836,7 +1871,7 @@ dependencies = [ "http-body 0.4.6", "http-body 1.0.1", "httparse", - "hyper 0.14.30", + "hyper 0.14.32", "hyper-rustls 0.24.2", "once_cell", "pin-project-lite", @@ -1848,15 +1883,15 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.7.1" +version = "1.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30819352ed0a04ecf6a2f3477e344d2d1ba33d43e0f09ad9047c12e0d923616f" +checksum = "92165296a47a812b267b4f41032ff8069ab7ff783696d217f0994a0d7ab585cd" dependencies = [ "aws-smithy-async", "aws-smithy-types", "bytes", "http 0.2.12", - "http 1.1.0", + "http 1.2.0", "pin-project-lite", "tokio", "tracing", @@ -1865,16 +1900,16 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.2.0" +version = "1.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe321a6b21f5d8eabd0ade9c55d3d0335f3c3157fc2b3e87f05f34b539e4df5" +checksum = "38ddc9bd6c28aeb303477170ddd183760a956a03e083b3902a990238a7e3792d" dependencies = [ "base64-simd", "bytes", "bytes-utils", "futures-core", "http 0.2.12", - "http 1.1.0", + "http 1.2.0", "http-body 0.4.6", "http-body 1.0.1", "http-body-util", @@ -1891,9 +1926,9 @@ dependencies = [ [[package]] name = "aws-smithy-xml" -version = "0.60.8" +version = "0.60.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d123fbc2a4adc3c301652ba8e149bf4bc1d1725affb9784eb20c953ace06bf55" +checksum = "ab0b0166827aa700d3dc519f72f8b3a91c35d0b8d042dc5d643a91e6f80648fc" dependencies = [ "xmlparser", ] @@ -1908,24 +1943,24 @@ dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", "aws-smithy-types", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "tracing", ] [[package]] name = "axum" -version = "0.7.4" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", "axum-core", "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.2", "hyper-util", "itoa", "matchit", @@ -1938,9 +1973,9 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper 0.1.2", + "sync_wrapper 1.0.2", "tokio", - "tower 0.4.13", + "tower 0.5.2", "tower-layer", "tower-service", "tracing", @@ -1948,39 +1983,53 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" dependencies = [ "async-trait", "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", "mime", "pin-project-lite", "rustversion", - "sync_wrapper 0.1.2", + "sync_wrapper 1.0.2", "tower-layer", "tower-service", "tracing", ] +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "futures-core", + "getrandom 0.2.15", + "instant", + "pin-project-lite", + "rand 0.8.5", + "tokio", +] + [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ - "addr2line 0.22.0", - "cc", + "addr2line 0.24.2", "cfg-if", "libc", "miniz_oxide", - "object 0.36.2", + "object 0.36.7", "rustc-demangle", "serde", + "windows-targets 0.52.6", ] [[package]] @@ -1989,7 +2038,7 @@ version = "0.0.4" source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" dependencies = [ "ark-bls12-381", - "ark-ec", + "ark-ec 0.4.2", "ark-ed-on-bls12-381-bandersnatch", "ark-ff 0.4.2", "ark-serialize 0.4.2", @@ -2052,12 +2101,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - [[package]] name = "beef" version = "0.5.2" @@ -2108,14 +2151,14 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "bip39" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f2635620bf0b9d4576eb7bb9a38a55df78bd1205d26fa994b25911a69f212f" +checksum = "33415e24172c1b7d6066f6d999545375ab8e1d95421d6784bdfff9496f292387" dependencies = [ "bitcoin_hashes", "rand 0.8.5", @@ -2139,11 +2182,21 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bitcoin-internals" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9425c3bf7089c983facbae04de54513cce73b41c7f9ff8c845b54e7bc64ebbfb" + [[package]] name = "bitcoin_hashes" -version = "0.11.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4" +checksum = "1930a4dabfebb8d7d9992db18ebe3ae2876f0a305fab206fd168df931ede293b" +dependencies = [ + "bitcoin-internals", + "hex-conservative", +] [[package]] name = "bitflags" @@ -2195,21 +2248,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780" dependencies = [ "arrayref", - "arrayvec 0.7.4", - "constant_time_eq 0.3.0", -] - -[[package]] -name = "blake3" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" -dependencies = [ - "arrayref", - "arrayvec 0.7.4", - "cc", - "cfg-if", - "constant_time_eq 0.3.0", + "arrayvec 0.7.6", + "constant_time_eq 0.3.1", ] [[package]] @@ -2291,9 +2331,9 @@ dependencies = [ [[package]] name = "bounded-collections" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32385ecb91a31bddaf908e8dcf4a15aef1bcd3913cc03ebfad02ff6d568abc1" +checksum = "3d077619e9c237a5d1875166f5e8033e8f6bff0c96f8caf81e1c2d7738c431bf" dependencies = [ "log", "parity-scale-codec", @@ -2307,7 +2347,6 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" dependencies = [ - "sha2 0.10.8", "tinyvec", ] @@ -2331,9 +2370,9 @@ checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" [[package]] name = "bytemuck" -version = "1.16.3" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" +checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3" [[package]] name = "byteorder" @@ -2343,9 +2382,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" dependencies = [ "serde", ] @@ -2362,32 +2401,33 @@ dependencies = [ [[package]] name = "c-kzg" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf100c4cea8f207e883ff91ca886d621d8a166cb04971dfaa9bb8fd99ed95df" +checksum = "f0307f72feab3300336fb803a57134159f6e20139af1357f36c54cb90d8e8928" dependencies = [ "blst", "cc", "glob", "hex", "libc", + "once_cell", "serde", ] [[package]] name = "camino" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" dependencies = [ "serde", ] [[package]] name = "cargo-platform" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" dependencies = [ "serde", ] @@ -2400,20 +2440,40 @@ checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" dependencies = [ "camino", "cargo-platform", - "semver 1.0.23", + "semver 1.0.24", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", +] + +[[package]] +name = "cbindgen" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb" +dependencies = [ + "clap 4.5.23", + "heck 0.4.1", + "indexmap 2.7.0", + "log", + "proc-macro2", + "quote", + "serde", + "serde_json", + "syn 2.0.93", + "tempfile", + "toml", ] [[package]] name = "cc" -version = "1.1.7" +version = "1.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" +checksum = "8d6dbb628b8f8555f86d0323c2eb39e3ec81901f4b83e091db8a6a76d316a333" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -2440,6 +2500,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chacha20" version = "0.9.1" @@ -2497,15 +2563,15 @@ dependencies = [ "bitflags 1.3.2", "strsim 0.8.0", "textwrap", - "unicode-width", + "unicode-width 0.1.14", "vec_map", ] [[package]] name = "clap" -version = "4.5.13" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" +checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" dependencies = [ "clap_builder", "clap_derive", @@ -2513,9 +2579,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.13" +version = "4.5.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" +checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" dependencies = [ "anstream", "anstyle", @@ -2525,94 +2591,41 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.13" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" - -[[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 0.12.1", - "k256", - "serde", - "sha2 0.10.8", - "thiserror 1.0.65", -] - -[[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 0.12.1", - "once_cell", - "pbkdf2 0.12.2", - "rand 0.8.5", - "sha2 0.10.8", - "thiserror 1.0.65", -] - -[[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 0.14.7", - "hex", - "ripemd", - "serde", - "serde_derive", - "sha2 0.10.8", - "sha3", - "thiserror 1.0.65", -] +checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "common" version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#665f5f51af5734c7b6d90b985dd6861d4c5b4752" +source = "git+https://github.com/w3f/ring-proof#1eedf08d97effe1921f4aa2e926575088b068e2b" dependencies = [ - "ark-ec", - "ark-ff 0.4.2", - "ark-poly", - "ark-serialize 0.4.2", - "ark-std 0.4.0", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", "fflonk", "getrandom_or_panic", - "merlin 3.0.0", - "rand_chacha 0.3.1", + "rand_core 0.6.4", ] [[package]] @@ -2632,15 +2645,15 @@ dependencies = [ [[package]] name = "console" -version = "0.15.8" +version = "0.15.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b" dependencies = [ "encode_unicode", - "lazy_static", "libc", - "unicode-width", - "windows-sys 0.52.0", + "once_cell", + "unicode-width 0.2.0", + "windows-sys 0.59.0", ] [[package]] @@ -2690,9 +2703,9 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "constcat" @@ -2716,11 +2729,21 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpp_demangle" @@ -2733,9 +2756,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -2758,11 +2781,20 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "crossbeam-channel" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" dependencies = [ "crossbeam-epoch", "crossbeam-utils", @@ -2779,18 +2811,18 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.11" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" dependencies = [ "crossbeam-utils", ] [[package]] name = "crossbeam-utils" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" [[package]] name = "crunchy" @@ -2863,12 +2895,13 @@ dependencies = [ ] [[package]] -name = "ctr" -version = "0.9.2" +name = "ctrlc" +version = "3.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3" dependencies = [ - "cipher", + "nix", + "windows-sys 0.59.0", ] [[package]] @@ -2908,7 +2941,7 @@ dependencies = [ "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "subtle", "zeroize", ] @@ -2921,20 +2954,19 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "curve25519-dalek-ng" version = "4.1.1" -source = "git+https://github.com/sp1-patches/curve25519-dalek-ng.git?branch=patch-v4.1.1#8dd77b20f3e78965a0cc57070a04465b9d52c49e" +source = "git+https://github.com/sp1-patches/curve25519-dalek-ng?tag=patch-4.1.1-sp1-4.0.0-rc.3#62d61907c9d2fd1d2e470c5c0cca4bebbf4e99a0" dependencies = [ - "anyhow", "byteorder", "cfg-if", "digest 0.9.0", "rand_core 0.6.4", - "sp1-lib 1.2.0", + "sp1-lib", "subtle-ng", "zeroize", ] @@ -2984,7 +3016,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -3006,7 +3038,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -3114,6 +3146,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", + "pem-rfc7468", "zeroize", ] @@ -3156,7 +3189,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -3168,8 +3201,8 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "rustc_version 0.4.0", - "syn 2.0.90", + "rustc_version 0.4.1", + "syn 2.0.93", ] [[package]] @@ -3189,7 +3222,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", "unicode-xid", ] @@ -3244,36 +3277,47 @@ dependencies = [ "windows-sys 0.48.0", ] +[[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.93", +] + [[package]] name = "dleq_vrf" version = "0.0.2" source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" dependencies = [ - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-scale", "ark-secret-scalar", "ark-serialize 0.4.2", "ark-std 0.4.0", - "ark-transcript", - "arrayvec 0.7.4", + "ark-transcript 0.0.2", + "arrayvec 0.7.6", "zeroize", ] [[package]] name = "docify" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2f138ad521dc4a2ced1a4576148a6a610b4c5923933b062a263130a6802ce" +checksum = "a772b62b1837c8f060432ddcc10b17aae1453ef17617a99bc07789252d2a5896" dependencies = [ "docify_macros", ] [[package]] name = "docify_macros" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a081e51fb188742f5a7a1164ad752121abcb22874b21e2c3b0dd040c515fdad" +checksum = "60e6be249b0a462a14784a99b19bf35a667bb5e09de611738bb7362fa4c95ff7" dependencies = [ "common-path", "derive-syn-parse 0.2.0", @@ -3281,7 +3325,7 @@ dependencies = [ "proc-macro2", "quote", "regex", - "syn 2.0.90", + "syn 2.0.93", "termcolor", "toml", "walkdir", @@ -3305,6 +3349,20 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "downloader" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ac1e888d6830712d565b2f3a974be3200be9296bc1b03db8251a4cbf18a4a34" +dependencies = [ + "digest 0.10.7", + "futures", + "rand 0.8.5", + "reqwest 0.12.11", + "thiserror 1.0.69", + "tokio", +] + [[package]] name = "dunce" version = "1.0.5" @@ -3365,7 +3423,8 @@ dependencies = [ [[package]] name = "ed25519-consensus" version = "2.1.0" -source = "git+https://github.com/sp1-patches/ed25519-consensus?branch=patch-v2.1.0#2b2c4b43344bc4daf5b1326f367f2d9d661eeabb" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" dependencies = [ "curve25519-dalek-ng", "hex", @@ -3417,6 +3476,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.93", +] + [[package]] name = "either" version = "1.13.0" @@ -3441,6 +3512,7 @@ dependencies = [ "ff 0.13.0", "generic-array 0.14.7", "group 0.13.0", + "pem-rfc7468", "pkcs8", "rand_core 0.6.4", "sec1", @@ -3450,37 +3522,19 @@ dependencies = [ [[package]] name = "encode_unicode" -version = "0.3.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +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 = "enum-map" version = "2.7.3" @@ -3499,7 +3553,27 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", +] + +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.93", ] [[package]] @@ -3529,285 +3603,44 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.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 0.12.1", - "pbkdf2 0.11.0", - "rand 0.8.5", - "scrypt", - "serde", - "serde_json", - "sha2 0.10.8", - "sha3", - "thiserror 1.0.65", - "uuid 0.8.2", -] - -[[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.65", - "uint", + "windows-sys 0.59.0", ] [[package]] name = "ethabi-decode" -version = "1.0.0" -source = "git+https://github.com/Snowfork/ethabi-decode.git?branch=master#5c01c8a0f2d0e4eccf600507cd573b27555b1d9d" +version = "2.0.0" +source = "git+https://github.com/Snowfork/ethabi-decode.git?branch=master#d39408b57e93c983a31851cf94cbccdb0fad9ea3" dependencies = [ "ethereum-types", "tiny-keccak", ] - -[[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-middleware", - "ethers-providers", - "ethers-signers", -] - -[[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.65", -] - -[[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", - "eyre", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "serde", - "serde_json", - "syn 2.0.90", - "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.90", -] - -[[package]] -name = "ethers-core" -version = "2.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d80cc6ad30b14a48ab786523af33b37f28a8623fc06afd55324816ef18fb1f" -dependencies = [ - "arrayvec 0.7.4", - "bytes", - "cargo_metadata", - "chrono", - "const-hex", - "elliptic-curve", - "ethabi", - "generic-array 0.14.7", - "k256", - "num_enum 0.7.3", - "once_cell", - "open-fastrlp", - "rand 0.8.5", - "rlp", - "serde", - "serde_json", - "strum", - "syn 2.0.90", - "tempfile", - "thiserror 1.0.65", - "tiny-keccak", - "unicode-xid", -] - -[[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-providers", - "ethers-signers", - "futures-channel", - "futures-locks", - "futures-util", - "instant", - "reqwest 0.11.27", - "serde", - "serde_json", - "thiserror 1.0.65", - "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.65", - "tokio", - "tracing", - "tracing-futures", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "ws_stream_wasm", + +[[package]] +name = "ethbloom" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c321610643004cf908ec0f5f2aa0d8f1f8e14b540562a2887a1111ff1ecbf7b" +dependencies = [ + "crunchy", + "fixed-hash", + "tiny-keccak", ] [[package]] -name = "ethers-signers" -version = "2.0.14" +name = "ethereum-types" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "228875491c782ad851773b652dd8ecac62cda8571d3bc32a5853644dd26766c2" +checksum = "1ab15ed80916029f878e0267c3a9f92b67df55e79af370bf66199059ae2b4ee3" dependencies = [ - "async-trait", - "coins-bip32", - "coins-bip39", - "const-hex", - "elliptic-curve", - "eth-keystore", - "ethers-core", - "rand 0.8.5", - "sha2 0.10.8", - "thiserror 1.0.65", - "tracing", + "ethbloom", + "fixed-hash", + "primitive-types 0.13.1", + "uint 0.10.0", ] [[package]] @@ -3833,9 +3666,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ "event-listener 5.3.1", "pin-project-lite", @@ -3853,7 +3686,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -3880,9 +3713,9 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fastrand" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "fastrlp" @@ -3890,7 +3723,18 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "139834ddba373bbdd213dffe02c8d110508dcf1726c2be27e8d1f7d7e1856418" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", + "auto_impl", + "bytes", +] + +[[package]] +name = "fastrlp" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce8dba4714ef14b8274c371879b175aa55b16b30f269663f19d576f380018dc4" +dependencies = [ + "arrayvec 0.7.6", "auto_impl", "bytes", ] @@ -3937,14 +3781,14 @@ dependencies = [ [[package]] name = "fflonk" -version = "0.1.0" -source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35" +version = "0.1.1" +source = "git+https://github.com/w3f/fflonk#eda051ea3b80042e844a3ebd17c2f60536e6ee3f" dependencies = [ - "ark-ec", - "ark-ff 0.4.2", - "ark-poly", - "ark-serialize 0.4.2", - "ark-std 0.4.0", + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", "merlin 3.0.0", ] @@ -3984,9 +3828,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "foldhash" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" +checksum = "a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f" [[package]] name = "foreign-types" @@ -4092,7 +3936,7 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -4101,10 +3945,10 @@ version = "10.0.0" source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" dependencies = [ "frame-support-procedural-tools-derive", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -4114,7 +3958,7 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7. dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -4134,9 +3978,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -4149,9 +3993,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -4159,15 +4003,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -4177,15 +4021,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ "fastrand", "futures-core", @@ -4194,38 +4038,28 @@ dependencies = [ "pin-project-lite", ] -[[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.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -4239,9 +4073,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -4261,15 +4095,6 @@ 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 = "gcd" version = "2.3.0" @@ -4298,9 +4123,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96512db27971c2c3eece70a1e106fbe6c87760234e31e8f7e5634912fe52794a" +checksum = "2cb8bc4c28d15ade99c7e90b219f30da4be5c88e586277e8cbe886beeb868ab2" dependencies = [ "serde", "typenum", @@ -4324,8 +4149,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -4351,9 +4178,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "git2" @@ -4370,9 +4197,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "gloo-net" @@ -4389,7 +4216,7 @@ dependencies = [ "pin-project", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -4464,16 +4291,16 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.1.0", + "http 1.2.0", "indexmap 2.7.0", "slab", "tokio", @@ -4554,19 +4381,12 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" 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.3.3" @@ -4618,6 +4438,12 @@ dependencies = [ "serde", ] +[[package]] +name = "hex-conservative" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20" + [[package]] name = "hex-literal" version = "0.4.1" @@ -4677,9 +4503,9 @@ dependencies = [ [[package]] name = "http" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +checksum = "f16ca2af56261c99fba8bac40a10251ce8188205a4c448fbb745a2e4daa76fea" dependencies = [ "bytes", "fnv", @@ -4704,7 +4530,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.1.0", + "http 1.2.0", ] [[package]] @@ -4715,16 +4541,16 @@ checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -4740,9 +4566,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.30" +version = "0.14.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" dependencies = [ "bytes", "futures-channel", @@ -4764,15 +4590,15 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", - "http 1.1.0", + "h2 0.4.7", + "http 1.2.0", "http-body 1.0.1", "httparse", "httpdate", @@ -4791,7 +4617,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper 0.14.30", + "hyper 0.14.32", "log", "rustls 0.21.12", "rustls-native-certs 0.6.3", @@ -4801,22 +4627,35 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" dependencies = [ "futures-util", - "http 1.1.0", - "hyper 1.4.1", + "http 1.2.0", + "hyper 1.5.2", "hyper-util", - "rustls 0.23.12", + "rustls 0.23.20", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls 0.26.1", "tower-service", "webpki-roots", ] +[[package]] +name = "hyper-timeout" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" +dependencies = [ + "hyper 1.5.2", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + [[package]] name = "hyper-tls" version = "0.5.0" @@ -4824,7 +4663,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.30", + "hyper 0.14.32", "native-tls", "tokio", "tokio-native-tls", @@ -4838,7 +4677,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.2", "hyper-util", "native-tls", "tokio", @@ -4848,29 +4687,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", "futures-util", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", - "hyper 1.4.1", + "hyper 1.5.2", "pin-project-lite", "socket2", "tokio", - "tower 0.4.13", "tower-service", "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -4889,6 +4727,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec 1.13.2", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.93", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -4897,12 +4853,23 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "idna_adapter", + "smallvec 1.13.2", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +dependencies = [ + "icu_normalizer", + "icu_properties", ] [[package]] @@ -4915,12 +4882,23 @@ dependencies = [ ] [[package]] -name = "impl-rlp" -version = "0.3.0" +name = "impl-codec" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28220f89297a075ddc7245cd538076ee98b01f2a9c23a53a4f1105d5a322808" +checksum = "b67aa010c1e3da95bf151bd8b4c059b2ed7e75387cdb969b4f8f2723a43f9941" dependencies = [ - "rlp", + "parity-scale-codec", +] + +[[package]] +name = "impl-num-traits" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "803d15461ab0dcc56706adf266158acbc44ccf719bf7d0af30705f58b90a4b8c" +dependencies = [ + "integer-sqrt", + "num-traits", + "uint 0.10.0", ] [[package]] @@ -4932,15 +4910,24 @@ dependencies = [ "serde", ] +[[package]] +name = "impl-serde" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a143eada6a1ec4aefa5049037a26a6d597bfd64f8c026d07b77133e02b7dd0b" +dependencies = [ + "serde", +] + [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.93", ] [[package]] @@ -4998,15 +4985,15 @@ checksum = "8e04e2fd2b8188ea827b32ef11de88377086d690286ab35747ef7f9bf3ccb590" [[package]] name = "indicatif" -version = "0.17.8" +version = "0.17.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +checksum = "cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281" dependencies = [ "console", - "instant", "number_prefix", "portable-atomic", - "unicode-width", + "unicode-width 0.2.0", + "web-time", ] [[package]] @@ -5038,9 +5025,9 @@ dependencies = [ [[package]] name = "interprocess" -version = "2.2.1" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f4e4a06d42fab3e85ab1b419ad32b09eab58b901d40c57935ff92db3287a13" +checksum = "894148491d817cb36b6f778017b8ac46b17408d522dd90f539d677ea938362eb" dependencies = [ "doctest-file", "futures-core", @@ -5064,9 +5051,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "is_terminal_polyfill" @@ -5103,9 +5090,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jobserver" @@ -5118,10 +5105,11 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -5153,10 +5141,10 @@ dependencies = [ "http 0.2.12", "jsonrpsee-core", "pin-project", - "rustls-native-certs 0.7.1", + "rustls-native-certs 0.7.3", "rustls-pki-types", "soketto", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tokio-rustls 0.25.0", "tokio-util", @@ -5177,13 +5165,13 @@ dependencies = [ "beef", "futures-timer", "futures-util", - "hyper 0.14.30", + "hyper 0.14.32", "jsonrpsee-types", "pin-project", "rustc-hash 1.1.0", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -5197,13 +5185,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b7de9f3219d95985eb77fd03194d7c1b56c19bce1abfcc9d07462574b15572" dependencies = [ "async-trait", - "hyper 0.14.30", + "hyper 0.14.32", "hyper-rustls 0.24.2", "jsonrpsee-core", "jsonrpsee-types", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tower 0.4.13", "tracing", @@ -5233,7 +5221,7 @@ dependencies = [ "beef", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -5260,20 +5248,6 @@ dependencies = [ "url", ] -[[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 = "jubjub" version = "0.9.0" @@ -5290,9 +5264,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", @@ -5313,9 +5287,9 @@ dependencies = [ [[package]] name = "keccak-asm" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47a3633291834c4fbebf8673acbc1b04ec9d151418ff9b8e26dcd79129928758" +checksum = "505d1856a39b200489082f90d897c3f07c455563880bc5952e38eabf731c83b6" dependencies = [ "digest 0.10.7", "sha3-asm", @@ -5327,14 +5301,14 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.9.8", + "spin", ] [[package]] name = "libc" -version = "0.2.155" +version = "0.2.169" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "libgit2-sys" @@ -5350,9 +5324,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", "windows-targets 0.52.6", @@ -5360,9 +5334,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libredox" @@ -5424,9 +5398,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.18" +version = "1.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" dependencies = [ "cc", "libc", @@ -5446,6 +5420,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "litemap" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" + [[package]] name = "lock_api" version = "0.4.12" @@ -5467,11 +5447,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.2", ] [[package]] @@ -5492,7 +5472,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -5506,7 +5486,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -5517,7 +5497,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -5528,7 +5508,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -5573,7 +5553,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2cffa4ad52c6f791f4f8b15f0c05f9824b2ced1160e88cc393d64fff9a8ac64" dependencies = [ - "rustix 0.38.34", + "rustix 0.38.42", ] [[package]] @@ -5596,9 +5576,9 @@ dependencies = [ [[package]] name = "memuse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" +checksum = "3d97bbf43eb4f088f8ca469930cde17fa036207c9a5e02ccc5107c4e8b17c964" [[package]] name = "merlin" @@ -5638,20 +5618,19 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" dependencies = [ - "adler", + "adler2", ] [[package]] name = "mio" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi 0.3.9", "libc", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", @@ -5669,11 +5648,23 @@ dependencies = [ "openssl-probe", "openssl-sys", "schannel", - "security-framework", + "security-framework 2.11.1", "security-framework-sys", "tempfile", ] +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "cfg_aliases", + "libc", +] + [[package]] name = "no-std-net" version = "0.6.0" @@ -5777,7 +5768,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "itoa", ] @@ -5883,10 +5874,9 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -5906,9 +5896,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "nybbles" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95f06be0417d97f81fe4e5c86d7d01b392655a9cac9c19a848aa033e18937b23" +checksum = "55a62e678a89501192cc5ebf47dcbc656b608ae5e1c61c9251fe35230f119fe3" dependencies = [ "alloy-rlp", "const-hex", @@ -5931,18 +5921,18 @@ dependencies = [ [[package]] name = "object" -version = "0.36.2" +version = "0.36.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" +checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -5956,36 +5946,11 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "open-fastrlp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" -dependencies = [ - "arrayvec 0.7.4", - "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.66" +version = "0.10.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -6004,7 +5969,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -6015,9 +5980,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.103" +version = "0.9.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ "cc", "libc", @@ -6043,11 +6008,23 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2 0.10.8", +] + [[package]] name = "p3-air" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "066f571b2e645505ed5972dd0e1e252ba03352150830c9566769ca711c0f1e9b" +checksum = "02634a874a2286b73f3e0a121e79d6774e92ccbec648c5568f4a7479a4830858" dependencies = [ "p3-field", "p3-matrix", @@ -6055,9 +6032,9 @@ dependencies = [ [[package]] name = "p3-baby-bear" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff00f571044d299310d9659c6e51c98422de3bf94b8577f7f30cf59cf2043e40" +checksum = "080896e9d09e9761982febafe3b3da5cbf320e32f0c89b6e2e01e875129f4c2d" dependencies = [ "num-bigint 0.4.6", "p3-field", @@ -6068,21 +6045,11 @@ dependencies = [ "serde", ] -[[package]] -name = "p3-blake3" -version = "0.1.4-succinct" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc4cb69ae54a279bbbd477566d1bdb71aa879b528fd658d0fcfc36f54b00217c" -dependencies = [ - "blake3", - "p3-symmetric", -] - [[package]] name = "p3-bn254-fr" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf19917f986d45e9abb6d177e875824ced6eed096480d574fce16f2c45c721ea" +checksum = "f8c53da73873e24d751ec3bd9d8da034bb5f99c71f24f4903ff37190182bff10" dependencies = [ "ff 0.13.0", "num-bigint 0.4.6", @@ -6095,9 +6062,9 @@ dependencies = [ [[package]] name = "p3-challenger" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be7e4fbce4566a93091107eadfafa0b5374bd1ffd3e0f6b850da3ff72eb183f" +checksum = "0f5c497659a7d9a87882e30ee9a8d0e20c8dcd32cd10d432410e7d6f146ef103" dependencies = [ "p3-field", "p3-maybe-rayon", @@ -6109,13 +6076,12 @@ dependencies = [ [[package]] name = "p3-commit" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a03eb0f99d68a712c41e658e9a7782a0705d4ffcfb6232a43bd3f1ef9591002" +checksum = "54ec340c5cb17739a7b9ee189378bdac8f0e684b9b5ce539476c26e77cd6a27d" dependencies = [ "itertools 0.12.1", "p3-challenger", - "p3-dft", "p3-field", "p3-matrix", "p3-util", @@ -6124,9 +6090,9 @@ dependencies = [ [[package]] name = "p3-dft" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1556de968523fbe5d804ab50600ea306fcceea3500cfd7601e40882480524664" +checksum = "292e97d02d4c38d8b306c2b8c0428bf15f4d32a11a40bcf80018f675bf33267e" dependencies = [ "p3-field", "p3-matrix", @@ -6137,9 +6103,9 @@ dependencies = [ [[package]] name = "p3-field" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec2af6e1ac47a2035af5165e668d64612c4b9ccabd06df37fc1fd381fdf8a71" +checksum = "f91d8e5f9ede1171adafdb0b6a0df1827fbd4eb6a6217bfa36374e5d86248757" dependencies = [ "itertools 0.12.1", "num-bigint 0.4.6", @@ -6151,9 +6117,9 @@ dependencies = [ [[package]] name = "p3-fri" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f351ee9f9d4256455164565cd91e3e6d2487cc2a5355515fa2b6d479269188dd" +checksum = "4ef838ff24d9b3de3d88d0ac984937d2aa2923bf25cb108ba9b2dc357e472197" dependencies = [ "itertools 0.12.1", "p3-challenger", @@ -6170,9 +6136,9 @@ dependencies = [ [[package]] name = "p3-interpolation" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24d0f2907a374ebe4545fcff3120d6376d9630cf0bef30feedcfc5908ea2c37" +checksum = "c806c3afb8d6acf1d3a78f4be1e9e8b026f13c01b0cdd5ae2e068b70a3ba6d80" dependencies = [ "p3-field", "p3-matrix", @@ -6181,9 +6147,9 @@ dependencies = [ [[package]] name = "p3-keccak-air" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e66badd47cedf6570e91a0cabc389b80dfd53ba1a6e9a45a3923fd54b86122ff" +checksum = "b46cef7ee8ae1f7cb560e7b7c137e272f6ba75be98179b3aa18695705231e0fb" dependencies = [ "p3-air", "p3-field", @@ -6195,9 +6161,9 @@ dependencies = [ [[package]] name = "p3-matrix" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa272f3ae77ed8d73478aa7c89e712efb15bda3ff4aff10fadfe11a012cd5389" +checksum = "98bf2c7680b8e906a5e147fe4ceb05a11cc9fa35678aa724333bcb35c72483c1" dependencies = [ "itertools 0.12.1", "p3-field", @@ -6210,18 +6176,18 @@ dependencies = [ [[package]] name = "p3-maybe-rayon" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eecad6292021858f282d643d9d1284ab112a200494d589863a9c4080e578ef0" +checksum = "fd9ac6f1d11ad4d3c13cc496911109d6282315e64f851a666ed80ad4d77c0983" dependencies = [ "rayon", ] [[package]] name = "p3-mds" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "716c4dbe68a02f1541eb09149d07b8663a3a5951b1864a31cd67ff3bb0826e57" +checksum = "706cea48976f54702dc68dffa512684c1304d1a3606cadea423cfe0b1ee25134" dependencies = [ "itertools 0.12.1", "p3-dft", @@ -6234,9 +6200,9 @@ dependencies = [ [[package]] name = "p3-merkle-tree" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad7ebab52a03c26025988663a135aed62f5084a2e2ea262176dc8748efb593e5" +checksum = "1f4ced385da80dd6b3fd830eaa452c9fa899f2dc3f6463aceba00620d5f071ec" dependencies = [ "itertools 0.12.1", "p3-commit", @@ -6251,9 +6217,9 @@ dependencies = [ [[package]] name = "p3-poseidon2" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39c042efa15beab7a8c4d0ca9b9e4cbda7582be0c08e121e830fec45f082935b" +checksum = "a2ce5f5ec7f1ba3a233a671621029def7bd416e7c51218c9d1167d21602cf312" dependencies = [ "gcd", "p3-field", @@ -6265,9 +6231,9 @@ dependencies = [ [[package]] name = "p3-symmetric" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9896a831f5b688adc13f6fbe1dcf66ecfaa4622a500f81aa745610e777acb72" +checksum = "2f29dc5bb6c99d3de75869d5c086874b64890280eeb7d3e068955f939e219253" dependencies = [ "itertools 0.12.1", "p3-field", @@ -6276,9 +6242,9 @@ dependencies = [ [[package]] name = "p3-uni-stark" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8437ebcd060c8a5479898030b114a93da8a86eb4c2e5f313d9eeaaf40c6e6f61" +checksum = "83ceaeef06b0bc97e5af2d220cd340b0b3a72bdf37e4584b73b3bc357cfc9ed3" dependencies = [ "itertools 0.12.1", "p3-air", @@ -6295,9 +6261,9 @@ dependencies = [ [[package]] name = "p3-util" -version = "0.1.4-succinct" +version = "0.2.0-succinct" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dedb9d27ba47ac314c6fac4ca54e55c3e486c864d51ec5ba55dbe47b75121157" +checksum = "e1b84d324cd4ac09194a9d0e8ab1834e67a0e47dec477c28fcf9d68b2824c1fe" dependencies = [ "serde", ] @@ -6317,7 +6283,7 @@ version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "bitvec", "byte-slice-cast", "bytes", @@ -6332,7 +6298,7 @@ version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 1.0.109", @@ -6346,9 +6312,9 @@ checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -6410,21 +6376,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] -name = "pbkdf2" -version = "0.8.0" +name = "pathdiff" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" -dependencies = [ - "crypto-mac 0.11.0", -] +checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" [[package]] name = "pbkdf2" -version = "0.11.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +checksum = "d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa" dependencies = [ - "digest 0.10.7", + "crypto-mac 0.11.0", ] [[package]] @@ -6434,16 +6397,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" dependencies = [ "digest 0.10.7", - "hmac 0.12.1", ] [[package]] -name = "pem" -version = "1.1.1" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ - "base64 0.13.1", + "base64ct", ] [[package]] @@ -6454,12 +6416,12 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc" dependencies = [ "memchr", - "thiserror 1.0.65", + "thiserror 2.0.9", "ucd-trie", ] @@ -6470,34 +6432,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" dependencies = [ "futures", - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -6507,9 +6469,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", "fastrand", @@ -6528,60 +6490,60 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "polkavm-common" -version = "0.9.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d9428a5cfcc85c5d7b9fc4b6a18c4b802d0173d768182a51cc7751640f08b92" +checksum = "31ff33982a807d8567645d4784b9b5d7ab87bcb494f534a57cadd9012688e102" [[package]] name = "polkavm-derive" -version = "0.9.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8c4bea6f3e11cd89bb18bcdddac10bd9a24015399bd1c485ad68a985a19606" +checksum = "c2eb703f3b6404c13228402e98a5eae063fd16b8f58afe334073ec105ee4117e" dependencies = [ "polkavm-derive-impl-macro", ] [[package]] name = "polkavm-derive-impl" -version = "0.9.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fdfc49717fb9a196e74a5d28e0bc764eb394a2c803eb11133a31ac996c60c" +checksum = "12d2840cc62a0550156b1676fed8392271ddf2fab4a00661db56231424674624" dependencies = [ "polkavm-common", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "polkavm-derive-impl-macro" -version = "0.9.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ba81f7b5faac81e528eb6158a6f3c9e0bb1008e0ffa19653bc8dea925ecb429" +checksum = "48c16669ddc7433e34c1007d31080b80901e3e8e523cb9d4b441c3910cf9294b" dependencies = [ "polkavm-derive-impl", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "polling" -version = "3.7.2" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.34", + "rustix 0.38.42", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -6597,9 +6559,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.7.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" [[package]] name = "powerfmt" @@ -6618,12 +6580,21 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.90", + "syn 2.0.93", +] + +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", ] [[package]] @@ -6633,11 +6604,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b34d9fd68ae0b74a41b21c03c2f62847aa0ffea044eee893b4c140b37e244e2" dependencies = [ "fixed-hash", - "impl-codec", - "impl-rlp", - "impl-serde", + "impl-codec 0.6.0", + "impl-serde 0.4.0", "scale-info", - "uint", + "uint 0.9.5", +] + +[[package]] +name = "primitive-types" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5" +dependencies = [ + "fixed-hash", + "impl-codec 0.7.0", + "impl-num-traits", + "uint 0.10.0", ] [[package]] @@ -6661,11 +6643,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.21.1", + "toml_edit 0.22.22", ] [[package]] @@ -6711,7 +6693,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -6722,7 +6704,7 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -6745,7 +6727,7 @@ dependencies = [ "lazy_static", "memchr", "parking_lot", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -6762,7 +6744,7 @@ dependencies = [ "rand 0.8.5", "rand_chacha 0.3.1", "rand_xorshift", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", "rusty-fork", "tempfile", "unarray", @@ -6770,9 +6752,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" +checksum = "2c0fef6c4230e4ccf618a35c59d7ede15dea37de8427500f50aff708806e42ec" dependencies = [ "bytes", "prost-derive", @@ -6780,22 +6762,22 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" +checksum = "157c5a9d7ea5c2ed2d9fb8f495b64759f7816c7eaea54ba3978f0d63000162e3" dependencies = [ "anyhow", "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "psm" -version = "0.1.21" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +checksum = "200b9ff220857e53e184257720a14553b2f4aa02577d2ed9842d45d4b9654810" dependencies = [ "cc", ] @@ -6808,57 +6790,61 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quinn" -version = "0.11.3" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ "bytes", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 2.0.0", - "rustls 0.23.12", + "rustc-hash 2.1.0", + "rustls 0.23.20", "socket2", - "thiserror 1.0.65", + "thiserror 2.0.9", "tokio", "tracing", ] [[package]] name = "quinn-proto" -version = "0.11.6" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba92fb39ec7ad06ca2582c0ca834dfeadcaf06ddfc8e635c80aa7e1c05315fdd" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", + "getrandom 0.2.15", "rand 0.8.5", "ring 0.17.8", - "rustc-hash 2.0.0", - "rustls 0.23.12", + "rustc-hash 2.1.0", + "rustls 0.23.20", + "rustls-pki-types", "slab", - "thiserror 1.0.65", + "thiserror 2.0.9", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.4" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" +checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904" dependencies = [ + "cfg_aliases", "libc", "once_cell", "socket2", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" dependencies = [ "proc-macro2", ] @@ -6987,22 +6973,22 @@ checksum = "d3edd4d5d42c92f0a659926464d4cce56b562761267ecf0f469d85b7de384175" [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom 0.2.15", "libredox", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -7022,19 +7008,19 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "regex" -version = "1.10.6" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.9", + "regex-syntax 0.8.5", ] [[package]] @@ -7048,13 +7034,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -7071,9 +7057,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" @@ -7089,7 +7075,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.30", + "hyper 0.14.32", "hyper-tls 0.5.0", "ipnet", "js-sys", @@ -7112,26 +7098,24 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "7fe060fe50f524be480214aba758c71f99f90ee8c83c5a36b5e9e1d568eb4eb3" dependencies = [ "base64 0.22.1", "bytes", - "encoding_rs", "futures-core", "futures-util", - "h2 0.4.5", - "http 1.1.0", + "http 1.2.0", "http-body 1.0.1", "http-body-util", - "hyper 1.4.1", - "hyper-rustls 0.27.2", + "hyper 1.5.2", + "hyper-rustls 0.27.5", "hyper-tls 0.6.0", "hyper-util", "ipnet", @@ -7143,18 +7127,18 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.12", - "rustls-pemfile 2.1.3", + "rustls 0.23.20", + "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", - "system-configuration", + "sync_wrapper 1.0.2", "tokio", "tokio-native-tls", - "tokio-rustls 0.26.0", + "tokio-rustls 0.26.1", "tokio-util", + "tower 0.5.2", "tower-service", "url", "wasm-bindgen", @@ -7162,21 +7146,21 @@ dependencies = [ "wasm-streams", "web-sys", "webpki-roots", - "winreg 0.52.0", + "windows-registry", ] [[package]] name = "reqwest-middleware" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39346a33ddfe6be00cbc17a34ce996818b97b230b87229f10114693becca1268" +checksum = "562ceb5a604d3f7c885a792d42c199fd8af239d0a51b2fa6a78aafa092452b04" dependencies = [ "anyhow", "async-trait", - "http 1.1.0", - "reqwest 0.12.5", + "http 1.2.0", + "reqwest 0.12.11", "serde", - "thiserror 1.0.65", + "thiserror 1.0.69", "tower-service", ] @@ -7193,33 +7177,17 @@ dependencies = [ [[package]] name = "ring" version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#665f5f51af5734c7b6d90b985dd6861d4c5b4752" -dependencies = [ - "ark-ec", - "ark-ff 0.4.2", - "ark-poly", - "ark-serialize 0.4.2", - "ark-std 0.4.0", - "arrayvec 0.7.4", +source = "git+https://github.com/w3f/ring-proof#1eedf08d97effe1921f4aa2e926575088b068e2b" +dependencies = [ + "ark-ec 0.5.0", + "ark-ff 0.5.0", + "ark-poly 0.5.0", + "ark-serialize 0.5.0", + "ark-std 0.5.0", + "ark-transcript 0.0.3", "blake2", "common", "fflonk", - "merlin 3.0.0", -] - -[[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 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", ] [[package]] @@ -7232,20 +7200,11 @@ dependencies = [ "cfg-if", "getrandom 0.2.15", "libc", - "spin 0.9.8", - "untrusted 0.9.0", + "spin", + "untrusted", "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" @@ -7253,21 +7212,9 @@ 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 = "rrs-succinct" version = "0.1.0" @@ -7281,19 +7228,21 @@ dependencies = [ [[package]] name = "ruint" -version = "1.12.3" +version = "1.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3cc4c2511671f327125da14133d0c5c5d137f006a1017a16f557bc85b16286" +checksum = "f5ef8fb1dd8de3870cb8400d51b4c2023854bbafd5431a3ac7e7317243e22d2f" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", "ark-ff 0.4.2", "bytes", - "fastrlp", + "fastrlp 0.3.1", + "fastrlp 0.4.0", "num-bigint 0.4.6", + "num-integer", "num-traits", "parity-scale-codec", - "primitive-types", + "primitive-types 0.12.2", "proptest", "rand 0.8.5", "rlp", @@ -7323,9 +7272,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc-hash" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" [[package]] name = "rustc-hex" @@ -7344,11 +7293,11 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ - "semver 1.0.23", + "semver 1.0.24", ] [[package]] @@ -7367,15 +7316,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" dependencies = [ "bitflags 2.6.0", "errno", "libc", "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7399,21 +7348,22 @@ dependencies = [ "log", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.6", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" dependencies = [ + "log", "once_cell", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.6", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] @@ -7427,20 +7377,32 @@ dependencies = [ "openssl-probe", "rustls-pemfile 1.0.4", "schannel", - "security-framework", + "security-framework 2.11.1", ] [[package]] name = "rustls-native-certs" -version = "0.7.1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.2.0", + "rustls-pki-types", + "schannel", + "security-framework 2.11.1", +] + +[[package]] +name = "rustls-native-certs" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ "openssl-probe", - "rustls-pemfile 2.1.3", "rustls-pki-types", "schannel", - "security-framework", + "security-framework 3.1.0", ] [[package]] @@ -7454,19 +7416,21 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" @@ -7475,25 +7439,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ "ring 0.17.8", - "untrusted 0.9.0", + "untrusted", ] [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring 0.17.8", "rustls-pki-types", - "untrusted 0.9.0", + "untrusted", ] [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4" [[package]] name = "rusty-fork" @@ -7524,15 +7488,6 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -[[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" @@ -7561,7 +7516,7 @@ checksum = "7caaf753f8ed1ab4752c6afb20174f03598c664724e0e32628e161c21000ff76" dependencies = [ "derive_more 0.99.18", "parity-scale-codec", - "primitive-types", + "primitive-types 0.12.2", "scale-bits", "scale-decode-derive", "scale-info", @@ -7589,7 +7544,7 @@ checksum = "6d70cb4b29360105483fac1ed567ff95d65224a14dd275b6303ed0a654c78de5" dependencies = [ "derive_more 0.99.18", "parity-scale-codec", - "primitive-types", + "primitive-types 0.12.2", "scale-bits", "scale-encode-derive", "scale-info", @@ -7611,13 +7566,13 @@ dependencies = [ [[package]] name = "scale-info" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca070c12893629e2cc820a9761bedf6ce1dcddc9852984d1dc734b8bd9bd024" +checksum = "346a3b32eba2640d17a9cb5927056b08f3de90f65b72fe09402c2ad07d684d0b" dependencies = [ "bitvec", "cfg-if", - "derive_more 0.99.18", + "derive_more 1.0.0", "parity-scale-codec", "scale-info-derive", "serde", @@ -7625,14 +7580,14 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.11.3" +version = "2.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d35494501194174bda522a32605929eefc9ecf7e0a326c26db1fdd85881eb62" +checksum = "c6630024bf739e2179b91fb424b28898baf819414262c5d376677dbff1fe7ebf" dependencies = [ - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.93", ] [[package]] @@ -7644,8 +7599,8 @@ dependencies = [ "proc-macro2", "quote", "scale-info", - "syn 2.0.90", - "thiserror 1.0.65", + "syn 2.0.93", + "thiserror 1.0.69", ] [[package]] @@ -7670,20 +7625,20 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.7" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a870e34715d5d59c8536040d4d4e7a41af44d527dc50237036ba4090db7996fc" +checksum = "28e1c91382686d21b5ac7959341fcb9780fa7c03773646995a87c950fa7be640" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -7723,7 +7678,7 @@ checksum = "8de18f6d8ba0aad7045f5feae07ec29899c1112584a38509a84ad7b04451eaa0" dependencies = [ "aead", "arrayref", - "arrayvec 0.7.4", + "arrayvec 0.7.6", "curve25519-dalek 4.1.3", "getrandom_or_panic", "merlin 3.0.0", @@ -7740,18 +7695,6 @@ 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 0.12.1", - "pbkdf2 0.11.0", - "salsa20", - "sha2 0.10.8", -] - [[package]] name = "sct" version = "0.7.1" @@ -7759,14 +7702,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ "ring 0.17.8", - "untrusted 0.9.0", + "untrusted", ] [[package]] name = "sdd" -version = "2.1.0" +version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177258b64c0faaa9ffd3c65cd3262c2bc7e2588dbbd9c1641d0346145c1bbda8" +checksum = "478f121bb72bbf63c52c93011ea1791dca40140dfe13f8336c4c5ac952c33aa9" [[package]] name = "sec1" @@ -7816,7 +7759,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", - "core-foundation", + "core-foundation 0.9.4", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81d3f8c9bfcc3cbb6b0179eb57042d75b1582bdc65c3cb95f3fa999509c03cbc" +dependencies = [ + "bitflags 2.6.0", + "core-foundation 0.10.0", "core-foundation-sys", "libc", "security-framework-sys", @@ -7824,9 +7780,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +checksum = "1863fd3768cd83c56a7f60faa4dc0d403f1b6df0a38c3c25f44b7894e45370d5" dependencies = [ "core-foundation-sys", "libc", @@ -7843,18 +7799,18 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" dependencies = [ "serde", ] [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] @@ -7873,9 +7829,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.209" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" +checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" dependencies = [ "serde_derive", ] @@ -7902,20 +7858,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.209" +version = "1.0.217" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" +checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "serde_json" -version = "1.0.122" +version = "1.0.134" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da" +checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" dependencies = [ "itoa", "memchr", @@ -7935,9 +7891,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -7956,9 +7912,9 @@ dependencies = [ [[package]] name = "serial_test" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" +checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" dependencies = [ "futures", "log", @@ -7970,20 +7926,20 @@ dependencies = [ [[package]] name = "serial_test_derive" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" +checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "services" version = "0.1.0" dependencies = [ - "alloy-primitives 0.8.15", + "alloy-primitives", "anyhow", "avail-subxt", "aws-config", @@ -8043,7 +7999,8 @@ dependencies = [ [[package]] name = "sha2" version = "0.9.9" -source = "git+https://github.com/sp1-patches/RustCrypto-hashes-fork?branch=patch-sha2-v0.9.9#db82a4848f8d033eab544255e1efa036cc06f054" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer 0.9.0", "cfg-if", @@ -8055,7 +8012,7 @@ dependencies = [ [[package]] name = "sha2" version = "0.10.8" -source = "git+https://github.com/sp1-patches/RustCrypto-hashes?branch=patch-v0.10.8#1f224388fdede7cef649bce0d63876d1a9e3f515" +source = "git+https://github.com/sp1-patches/RustCrypto-hashes?tag=patch-0.10.8-sp1-4.0.0-rc.3#4e66c8d2b974fc7f4979d60b8885625c60cef3d6" dependencies = [ "cfg-if", "cpufeatures", @@ -8074,9 +8031,9 @@ dependencies = [ [[package]] name = "sha3-asm" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b57fd861253bff08bb1919e995f90ba8f4889de2726091c8876f3a4e823b40" +checksum = "c28efc5e327c837aa837c59eae585fc250715ef939ac32881bcc11677cd02d46" dependencies = [ "cc", "cfg-if", @@ -8121,18 +8078,6 @@ name = "simple-mermaid" version = "0.1.0" source = "git+https://github.com/kianenigma/simple-mermaid.git?rev=e48b187bcfd5cc75111acd9d241f1bd36604344b#e48b187bcfd5cc75111acd9d241f1bd36604344b" -[[package]] -name = "simple_asn1" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "thiserror 1.0.65", - "time", -] - [[package]] name = "siphasher" version = "1.0.1" @@ -8174,9 +8119,9 @@ dependencies = [ [[package]] name = "smol" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e635339259e51ef85ac7aa29a1cd991b957047507288697a690e80ab97d07cad" +checksum = "a33bd3e260892199c3ccfc487c88b2da2265080acb316cd920da72fdfd7c599f" dependencies = [ "async-channel", "async-executor", @@ -8195,7 +8140,7 @@ version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6d1eaa97d77be4d026a1e7ffad1bb3b78448763b357ea6f8188d3e6f736a9b9" dependencies = [ - "arrayvec 0.7.4", + "arrayvec 0.7.6", "async-lock", "atomic-take", "base64 0.21.7", @@ -8292,9 +8237,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -8333,7 +8278,7 @@ dependencies = [ "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", "sp-trie", "sp-version", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -8344,10 +8289,10 @@ dependencies = [ "Inflector", "blake2", "expander", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -8412,7 +8357,7 @@ dependencies = [ "futures", "hash-db", "hash256-std-hasher", - "impl-serde", + "impl-serde 0.4.0", "itertools 0.10.5", "libsecp256k1", "log", @@ -8420,7 +8365,7 @@ dependencies = [ "parity-scale-codec", "parking_lot", "paste", - "primitive-types", + "primitive-types 0.12.2", "rand 0.8.5", "scale-info", "schnorrkel 0.11.4", @@ -8435,7 +8380,7 @@ dependencies = [ "sp-storage 19.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", "ss58-registry", "substrate-bip39", - "thiserror 1.0.65", + "thiserror 1.0.69", "tracing", "w3f-bls", "zeroize", @@ -8458,7 +8403,7 @@ dependencies = [ [[package]] name = "sp-crypto-ec-utils" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ce6938ae92b77b54aa367e6d367a4d490dede7c4" +source = "git+https://github.com/paritytech/polkadot-sdk#cdf3a2dc1385debf50096d54d4abf838c6cad4f7" dependencies = [ "ark-bls12-377", "ark-bls12-377-ext", @@ -8466,7 +8411,7 @@ dependencies = [ "ark-bls12-381-ext", "ark-bw6-761", "ark-bw6-761-ext", - "ark-ec", + "ark-ec 0.4.2", "ark-ed-on-bls12-377", "ark-ed-on-bls12-377-ext", "ark-ed-on-bls12-381-bandersnatch", @@ -8495,7 +8440,7 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7. dependencies = [ "quote", "sp-crypto-hashing", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -8505,17 +8450,17 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7. dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ce6938ae92b77b54aa367e6d367a4d490dede7c4" +source = "git+https://github.com/paritytech/polkadot-sdk#cdf3a2dc1385debf50096d54d4abf838c6cad4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -8532,7 +8477,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ce6938ae92b77b54aa367e6d367a4d490dede7c4" +source = "git+https://github.com/paritytech/polkadot-sdk#cdf3a2dc1385debf50096d54d4abf838c6cad4f7" dependencies = [ "environmental", "parity-scale-codec", @@ -8561,7 +8506,7 @@ dependencies = [ "scale-info", "sp-runtime", "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -8598,7 +8543,7 @@ dependencies = [ "parking_lot", "sp-core", "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -8654,7 +8599,7 @@ dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", - "primitive-types", + "primitive-types 0.12.2", "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", @@ -8667,13 +8612,13 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ce6938ae92b77b54aa367e6d367a4d490dede7c4" +source = "git+https://github.com/paritytech/polkadot-sdk#cdf3a2dc1385debf50096d54d4abf838c6cad4f7" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive", - "primitive-types", + "primitive-types 0.13.1", "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)", "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)", "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", @@ -8690,23 +8635,23 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7. dependencies = [ "Inflector", "expander", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "sp-runtime-interface-proc-macro" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ce6938ae92b77b54aa367e6d367a4d490dede7c4" +source = "git+https://github.com/paritytech/polkadot-sdk#cdf3a2dc1385debf50096d54d4abf838c6cad4f7" dependencies = [ "Inflector", "expander", - "proc-macro-crate 3.1.0", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -8739,7 +8684,7 @@ dependencies = [ "sp-panic-handler", "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", "sp-trie", - "thiserror 1.0.65", + "thiserror 1.0.69", "tracing", "trie-db", ] @@ -8752,14 +8697,14 @@ source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7. [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ce6938ae92b77b54aa367e6d367a4d490dede7c4" +source = "git+https://github.com/paritytech/polkadot-sdk#cdf3a2dc1385debf50096d54d4abf838c6cad4f7" [[package]] name = "sp-storage" version = "19.0.0" source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" dependencies = [ - "impl-serde", + "impl-serde 0.4.0", "parity-scale-codec", "ref-cast", "serde", @@ -8770,9 +8715,9 @@ dependencies = [ [[package]] name = "sp-storage" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ce6938ae92b77b54aa367e6d367a4d490dede7c4" +source = "git+https://github.com/paritytech/polkadot-sdk#cdf3a2dc1385debf50096d54d4abf838c6cad4f7" dependencies = [ - "impl-serde", + "impl-serde 0.5.0", "parity-scale-codec", "ref-cast", "serde", @@ -8794,12 +8739,12 @@ dependencies = [ [[package]] name = "sp-tracing" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ce6938ae92b77b54aa367e6d367a4d490dede7c4" +source = "git+https://github.com/paritytech/polkadot-sdk#cdf3a2dc1385debf50096d54d4abf838c6cad4f7" dependencies = [ "parity-scale-codec", "tracing", "tracing-core", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", ] [[package]] @@ -8820,7 +8765,7 @@ dependencies = [ "sp-core", "sp-externalities 0.25.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", - "thiserror 1.0.65", + "thiserror 1.0.69", "tracing", "trie-db", "trie-root", @@ -8831,7 +8776,7 @@ name = "sp-version" version = "29.0.0" source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" dependencies = [ - "impl-serde", + "impl-serde 0.4.0", "parity-scale-codec", "parity-wasm", "scale-info", @@ -8840,7 +8785,7 @@ dependencies = [ "sp-runtime", "sp-std 14.0.0 (git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5)", "sp-version-proc-macro", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -8851,7 +8796,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -8870,8 +8815,9 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#ce6938ae92b77b54aa367e6d367a4d490dede7c4" +source = "git+https://github.com/paritytech/polkadot-sdk#cdf3a2dc1385debf50096d54d4abf838c6cad4f7" dependencies = [ + "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", @@ -8894,25 +8840,26 @@ dependencies = [ [[package]] name = "sp1-build" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8929a4197b02537dbcd16a078e9424d40985438091df64a9373ebd10e5557083" +checksum = "02eb66f62fad6f77d117ab98cc598779bc1b2317f7e9f87ded613dbbadad3672" dependencies = [ "anyhow", "cargo_metadata", "chrono", - "clap 4.5.13", + "clap 4.5.23", "dirs", ] [[package]] name = "sp1-core-executor" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff9718f87f207404aee3f447c4438e2a35791092dc24ce65ff95db699ed49c1" +checksum = "b1dfa47135712338e72c79485e4074279a5ac2d8784feb026e726121403a3f6e" dependencies = [ "bincode", "bytemuck", + "clap 4.5.23", "elf", "enum-map", "eyre", @@ -8922,17 +8869,21 @@ dependencies = [ "log", "nohash-hasher", "num", + "p3-baby-bear", "p3-field", "p3-maybe-rayon", + "p3-util", "rand 0.8.5", "rrs-succinct", "serde", + "serde_json", "sp1-curves", "sp1-primitives", "sp1-stark", "strum", "strum_macros", - "thiserror 1.0.65", + "subenum", + "thiserror 1.0.69", "tiny-keccak", "tracing", "typenum", @@ -8941,14 +8892,17 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ac8b5f2cecb7b2174495fc7a3e004bdb78e1c7ea44577ac0acc0d1e90b817ea" +checksum = "58d30a44739a1488d0747963dceaf80edda3ea0c5a64566ec1ed5a9c7474906b" dependencies = [ "bincode", + "cbindgen", + "cc", "cfg-if", "elliptic-curve", - "generic-array 1.1.0", + "generic-array 1.1.1", + "glob", "hashbrown 0.14.5", "hex", "itertools 0.13.0", @@ -8956,18 +8910,24 @@ dependencies = [ "log", "num", "num_cpus", + "p256", "p3-air", "p3-baby-bear", - "p3-blake3", "p3-challenger", "p3-field", "p3-keccak-air", "p3-matrix", "p3-maybe-rayon", + "p3-poseidon2", + "p3-symmetric", "p3-uni-stark", "p3-util", + "pathdiff", "rand 0.8.5", + "rayon", + "rayon-scan", "serde", + "serde_json", "size", "snowbridge-amcl", "sp1-core-executor", @@ -8979,28 +8939,45 @@ dependencies = [ "strum", "strum_macros", "tempfile", - "thiserror 1.0.65", + "thiserror 1.0.69", "tracing", "tracing-forest", - "tracing-subscriber 0.3.18", + "tracing-subscriber 0.3.19", "typenum", "web-time", ] +[[package]] +name = "sp1-cuda" +version = "4.0.0-rc.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60c88410077030eaefa95eb89b29ab7291d933c36b8ed22b6f762930e40892c8" +dependencies = [ + "bincode", + "ctrlc", + "prost", + "serde", + "sp1-core-machine", + "sp1-prover", + "tokio", + "tracing", + "twirp-rs", +] + [[package]] name = "sp1-curves" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1af9ff15e524ebe58286d7ee9bc345657b45b13091b5dc58fdce61542b65a47" +checksum = "867fc2549585d2c2d9cd405147feee0abd972e94f73f8c051d772b663ae2a656" dependencies = [ "cfg-if", - "curve25519-dalek 4.1.3", "dashu", "elliptic-curve", - "generic-array 1.1.0", + "generic-array 1.1.1", "itertools 0.13.0", "k256", "num", + "p256", "p3-field", "serde", "snowbridge-amcl", @@ -9011,9 +8988,9 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f1490c07bd283f59169eae6e67df355b5de8ba10cc75bf6dbfc05a28fdccfc6" +checksum = "1447e99b10de5b7907b310594fd290e68aa7016c39251cc3aede71c04987fd70" dependencies = [ "quote", "syn 1.0.109", @@ -9021,33 +8998,20 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bea7811abd2d3a991007fcb284f41152840b8388c171288d0c52c6793956609c" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "hex", - "serde", - "snowbridge-amcl", -] - -[[package]] -name = "sp1-lib" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c372b16988e765af85ccf958b18b26d89c05886f2592d313a285415dcc769cb" +checksum = "f59a68a06f7297083f430d6e3e3b34ac64cada0323f46554a46ec0b48d15e93e" dependencies = [ "bincode", "serde", + "sp1-primitives", ] [[package]] name = "sp1-primitives" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025f06b633588e246308ad5f67b32f0f7d1cbeab38f7a842314699270bc706f5" +checksum = "264fd5572de63c62e9dab20762693e9ec87bcfbfba47938224abfd0467e67195" dependencies = [ "bincode", "hex", @@ -9063,17 +9027,18 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bd16530cb12f1cecb1b6902142d8d0d87507f88de84bc714f10c29a7fd3769c" +checksum = "9550b9ddd73eee793a8f3d4f41d0cf17f8a42b2ec6f84282b63851c679027b1a" dependencies = [ "anyhow", "bincode", - "clap 4.5.13", + "clap 4.5.23", "dirs", + "downloader", "eyre", + "hex", "itertools 0.13.0", - "lazy_static", "lru", "num-bigint 0.4.6", "p3-baby-bear", @@ -9083,11 +9048,12 @@ dependencies = [ "p3-field", "p3-matrix", "p3-symmetric", + "p3-util", "rayon", - "reqwest 0.11.27", "serde", "serde_json", "serial_test", + "sha2 0.10.8", "sp1-core-executor", "sp1-core-machine", "sp1-primitives", @@ -9096,18 +9062,17 @@ dependencies = [ "sp1-recursion-core", "sp1-recursion-gnark-ffi", "sp1-stark", - "subtle-encoding", - "tempfile", - "thiserror 1.0.65", + "thiserror 1.0.69", "tracing", - "tracing-subscriber 0.3.18", + "tracing-appender", + "tracing-subscriber 0.3.19", ] [[package]] name = "sp1-recursion-circuit" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98d0a8ceee12600bd14d2e2d31b54db00b7985e30acedbfe8e1c1a9e41d7992f" +checksum = "1a2e8c7b12d0742cefebe7a072bb4d0af37a6547bbeb0c65bc06412e671de78b" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", @@ -9139,9 +9104,9 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "591d60768948dcef34a1fc16c3c6cf457e32fdee83d55ec14dbb94cd4447c030" +checksum = "32c61b89fda18ceb9e665dc650213333db4bafb81a7d17f01ca16174c2d695da" dependencies = [ "backtrace", "itertools 0.13.0", @@ -9161,14 +9126,19 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c15a51b675accb41608f7bf7ef5f95c23b47ceac38a9a87833a2b12c3bc190" +checksum = "41e13b2832da86fc06719153698a8ed9eb372625062aa9e0c4457f01a74c174d" dependencies = [ "backtrace", + "cbindgen", + "cc", + "cfg-if", "ff 0.13.0", + "glob", "hashbrown 0.14.5", "itertools 0.13.0", + "num_cpus", "p3-air", "p3-baby-bear", "p3-bn254-fr", @@ -9183,13 +9153,15 @@ dependencies = [ "p3-poseidon2", "p3-symmetric", "p3-util", + "pathdiff", + "rand 0.8.5", "serde", "sp1-core-machine", "sp1-derive", "sp1-primitives", "sp1-stark", "static_assertions", - "thiserror 1.0.65", + "thiserror 1.0.69", "tracing", "vec_map", "zkhash", @@ -9197,9 +9169,9 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b2aaa03093afb2b0f58379bb4f0d7898344ef1bb8dd326ec02db7125c1a590" +checksum = "6f5755f140fee3eec82c82cd433c0900db244edb0d303db67e3b28fb92463cac" dependencies = [ "quote", "syn 1.0.109", @@ -9207,9 +9179,9 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a12889c662cf64870e72bb3ba8096f3465bf442f5f179c07b50c86f5c47ce80" +checksum = "005c5b981febb6a0d1b12c9ecee5fae9e10296376168a0753236079148b5fdd1" dependencies = [ "anyhow", "bincode", @@ -9233,17 +9205,20 @@ dependencies = [ [[package]] name = "sp1-sdk" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39bab15e962d1218e8ad021b2e9904597d5506d12847ef8be182385d5f3d3a6c" +checksum = "806fa98a7d364c3778439d6546d4ca26abc9d790d0ee18689f2e1308d08707ad" dependencies = [ - "alloy-sol-types 0.7.7", + "alloy-primitives", + "alloy-signer", + "alloy-signer-local", + "alloy-sol-types", "anyhow", "async-trait", + "backoff", "bincode", "cfg-if", "dirs", - "ethers", "futures", "hashbrown 0.14.5", "hex", @@ -9254,19 +9229,23 @@ dependencies = [ "p3-field", "p3-fri", "prost", - "reqwest 0.12.5", + "reqwest 0.12.11", "reqwest-middleware", "serde", + "serde_json", + "sp1-build", "sp1-core-executor", "sp1-core-machine", + "sp1-cuda", "sp1-primitives", "sp1-prover", "sp1-stark", "strum", "strum_macros", "tempfile", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", + "tonic", "tracing", "twirp-rs", "vergen", @@ -9274,14 +9253,14 @@ dependencies = [ [[package]] name = "sp1-stark" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec27b60e797a52eed7af54e032498edcaf8f1ab0649077cbaa6f146a740380dd" +checksum = "ab2c21b89ea4e45c57a20102754024c7b628957394e62e5bcb263e05b8e01b5b" dependencies = [ "arrayref", - "getrandom 0.2.15", "hashbrown 0.14.5", "itertools 0.13.0", + "num-bigint 0.4.6", "num-traits", "p3-air", "p3-baby-bear", @@ -9304,7 +9283,6 @@ dependencies = [ "strum", "strum_macros", "sysinfo", - "thiserror 1.0.65", "tracing", ] @@ -9312,14 +9290,14 @@ dependencies = [ name = "sp1-vector-primitives" version = "0.1.0" dependencies = [ - "alloy-primitives 0.8.15", - "alloy-sol-types 0.8.15", + "alloy-primitives", + "alloy-sol-types", "avail-subxt", "blake2", "ed25519-consensus", "itertools 0.10.5", "parity-scale-codec", - "primitive-types", + "primitive-types 0.12.2", "serde", "sha2 0.10.8", ] @@ -9328,7 +9306,7 @@ dependencies = [ name = "sp1-vectorx-program" version = "0.1.0" dependencies = [ - "alloy-sol-types 0.8.15", + "alloy-sol-types", "sp1-vector-primitives", "sp1-zkvm", ] @@ -9341,13 +9319,14 @@ dependencies = [ "anyhow", "avail-subxt", "chrono", - "clap 4.5.13", + "clap 4.5.23", "csv", "dotenv", "env_logger", "futures", "hex", "log", + "rand 0.8.5", "reqwest 0.11.27", "serde", "serde_json", @@ -9360,9 +9339,9 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "3.0.0" +version = "4.0.0-rc.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce08dc324dade0709260b01c76c8eeb665f2ef7c652c2002e2edf5a492ded7f1" +checksum = "d90ee3a403db0133126419a3b9789ed80db90d3f49e7e2fb48e693c86e07093f" dependencies = [ "cfg-if", "getrandom 0.2.15", @@ -9370,15 +9349,10 @@ dependencies = [ "libm", "rand 0.8.5", "sha2 0.10.8", - "sp1-lib 3.0.0", + "sp1-lib", + "sp1-primitives", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spin" version = "0.9.8" @@ -9397,9 +9371,9 @@ dependencies = [ [[package]] name = "ss58-registry" -version = "1.47.0" +version = "1.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4743ce898933fbff7bbf414f497c459a782d496269644b3d650a398ae6a487ba" +checksum = "19409f13998e55816d1c728395af0b52ec066206341d939e22e7766df9b494b8" dependencies = [ "Inflector", "num-format", @@ -9483,7 +9457,19 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.90", + "syn 2.0.93", +] + +[[package]] +name = "subenum" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f5d5dfb8556dd04017db5e318bbeac8ab2b0c67b76bf197bfb79e9b29f18ecf" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 1.0.109", ] [[package]] @@ -9504,10 +9490,10 @@ name = "substrate-prometheus-endpoint" version = "0.17.0" source = "git+https://github.com/availproject/polkadot-sdk.git?tag=polkadot-1.7.1-patch-5#b8f49aa59c9c49ec7e67272f9c3d1065b3e2ec3a" dependencies = [ - "hyper 0.14.30", + "hyper 0.14.32", "log", "prometheus", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", ] @@ -9517,15 +9503,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "subtle-encoding" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dcb1ed7b8330c5eed5441052651dd7a12c75e2ed88f2ec024ae1fa3a5e59945" -dependencies = [ - "zeroize", -] - [[package]] name = "subtle-ng" version = "2.5.0" @@ -9546,11 +9523,11 @@ dependencies = [ "frame-metadata 16.0.0", "futures", "hex", - "impl-serde", + "impl-serde 0.4.0", "instant", "jsonrpsee", "parity-scale-codec", - "primitive-types", + "primitive-types 0.12.2", "scale-bits", "scale-decode", "scale-encode", @@ -9562,7 +9539,7 @@ dependencies = [ "subxt-lightclient", "subxt-macro", "subxt-metadata", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio-util", "tracing", "url", @@ -9584,8 +9561,8 @@ dependencies = [ "scale-info", "scale-typegen", "subxt-metadata", - "syn 2.0.90", - "thiserror 1.0.65", + "syn 2.0.93", + "thiserror 1.0.69", "tokio", ] @@ -9600,7 +9577,7 @@ dependencies = [ "serde", "serde_json", "smoldot-light", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", "tokio-stream", "tracing", @@ -9618,7 +9595,7 @@ dependencies = [ "quote", "scale-typegen", "subxt-codegen", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -9631,7 +9608,7 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-core-hashing", - "thiserror 1.0.65", + "thiserror 1.0.69", ] [[package]] @@ -9647,27 +9624,15 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "9c786062daee0d6db1132800e623df74274a0a87322d8e183338e01b3d98d058" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "syn-solidity" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c837dc8852cb7074e46b444afb81783140dab12c58867b49fb3898fbafedf7ea" -dependencies = [ - "paste", - "proc-macro2", - "quote", - "syn 2.0.90", -] - [[package]] name = "syn-solidity" version = "0.8.15" @@ -9677,7 +9642,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -9688,9 +9653,23 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.93", +] [[package]] name = "sysinfo" @@ -9714,7 +9693,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys", ] @@ -9742,15 +9721,15 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tempfile" -version = "3.11.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", "fastrand", "once_cell", - "rustix 0.38.34", - "windows-sys 0.52.0", + "rustix 0.38.42", + "windows-sys 0.59.0", ] [[package]] @@ -9780,7 +9759,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -9791,7 +9770,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", "test-case-core", ] @@ -9801,47 +9780,47 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" dependencies = [ - "unicode-width", + "unicode-width 0.1.14", ] [[package]] name = "thiserror" -version = "1.0.65" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl 1.0.65", + "thiserror-impl 1.0.69", ] [[package]] name = "thiserror" -version = "2.0.7" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767" +checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" dependencies = [ - "thiserror-impl 2.0.7", + "thiserror-impl 2.0.9", ] [[package]] name = "thiserror-impl" -version = "1.0.65" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "thiserror-impl" -version = "2.0.7" +version = "2.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36" +checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -9885,9 +9864,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.36" +version = "0.3.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" dependencies = [ "deranged", "itoa", @@ -9908,9 +9887,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" dependencies = [ "num-conv", "time-core", @@ -9925,11 +9904,21 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8" dependencies = [ "tinyvec_macros", ] @@ -9942,9 +9931,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", @@ -9966,7 +9955,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] @@ -10002,20 +9991,19 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +checksum = "5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37" dependencies = [ - "rustls 0.23.12", - "rustls-pki-types", + "rustls 0.23.20", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -10031,19 +10019,19 @@ checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" dependencies = [ "futures-util", "log", - "rustls 0.23.12", + "rustls 0.23.20", "rustls-pki-types", "tokio", - "tokio-rustls 0.26.0", + "tokio-rustls 0.26.1", "tungstenite", "webpki-roots", ] [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" dependencies = [ "bytes", "futures-core", @@ -10062,7 +10050,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.20", + "toml_edit 0.22.22", ] [[package]] @@ -10098,26 +10086,48 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.21.1" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap 2.7.0", + "serde", + "serde_spanned", "toml_datetime", - "winnow 0.5.40", + "winnow 0.6.20", ] [[package]] -name = "toml_edit" -version = "0.22.20" +name = "tonic" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" dependencies = [ - "indexmap 2.7.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.18", + "async-stream", + "async-trait", + "axum", + "base64 0.22.1", + "bytes", + "h2 0.4.7", + "http 1.2.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.5.2", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost", + "rustls-native-certs 0.8.1", + "rustls-pemfile 2.2.0", + "socket2", + "tokio", + "tokio-rustls 0.26.1", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", ] [[package]] @@ -10128,9 +10138,13 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", + "indexmap 1.9.3", "pin-project", "pin-project-lite", + "rand 0.8.5", + "slab", "tokio", + "tokio-util", "tower-layer", "tower-service", "tracing", @@ -10138,16 +10152,18 @@ dependencies = [ [[package]] name = "tower" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", "pin-project-lite", - "sync_wrapper 0.1.2", + "sync_wrapper 1.0.2", + "tokio", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -10164,9 +10180,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite", @@ -10174,22 +10190,34 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror 1.0.69", + "time", + "tracing-subscriber 0.3.19", +] + [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -10203,19 +10231,9 @@ checksum = "ee40835db14ddd1e3ba414292272eddde9dad04d3d4b65509656414d1c42592f" dependencies = [ "ansi_term", "smallvec 1.13.2", - "thiserror 1.0.65", - "tracing", - "tracing-subscriber 0.3.18", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", + "thiserror 1.0.69", "tracing", + "tracing-subscriber 0.3.19", ] [[package]] @@ -10274,9 +10292,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers 0.1.0", "nu-ansi-term", @@ -10334,14 +10352,14 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.1.0", + "http 1.2.0", "httparse", "log", "rand 0.8.5", - "rustls 0.23.12", + "rustls 0.23.20", "rustls-pki-types", "sha1", - "thiserror 1.0.65", + "thiserror 1.0.69", "utf-8", ] @@ -10354,16 +10372,16 @@ dependencies = [ "async-trait", "axum", "futures", - "http 1.1.0", + "http 1.2.0", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.2", "prost", - "reqwest 0.12.5", + "reqwest 0.12.11", "serde", "serde_json", - "thiserror 1.0.65", + "thiserror 1.0.69", "tokio", - "tower 0.5.1", + "tower 0.5.2", "url", ] @@ -10387,9 +10405,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "uint" @@ -10404,22 +10422,28 @@ dependencies = [ ] [[package]] -name = "unarray" -version = "0.1.4" +name = "uint" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" +checksum = "909988d098b2f738727b161a106cfc7cab00c539c2687a8836f8e565976fb53e" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] [[package]] -name = "unicode-bidi" -version = "0.3.15" +name = "unarray" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-normalization" @@ -10432,21 +10456,27 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "unicode-width" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -10458,12 +10488,6 @@ dependencies = [ "subtle", ] -[[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" @@ -10472,9 +10496,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -10494,26 +10518,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] -name = "utf8parse" -version = "0.2.2" +name = "utf16_iter" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" [[package]] -name = "uuid" -version = "0.8.2" +name = "utf8_iter" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" -dependencies = [ - "getrandom 0.2.15", - "serde", -] +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 = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" [[package]] name = "valuable" @@ -10563,16 +10589,16 @@ checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" [[package]] name = "w3f-bls" -version = "0.1.4" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c5da5fa2c6afa2c9158eaa7cd9aee249765eb32b5fb0c63ad8b9e79336a47ec" +checksum = "70a3028804c8bbae2a97a15b71ffc0e308c4b01a520994aafa77d56e94e19024" dependencies = [ "ark-bls12-377", "ark-bls12-381", - "ark-ec", + "ark-ec 0.4.2", "ark-ff 0.4.2", "ark-serialize 0.4.2", - "ark-serialize-derive", + "ark-serialize-derive 0.4.2", "arrayref", "constcat", "digest 0.10.7", @@ -10581,7 +10607,7 @@ dependencies = [ "rand_core 0.6.4", "sha2 0.10.8", "sha3", - "thiserror 1.0.65", + "thiserror 1.0.69", "zeroize", ] @@ -10627,46 +10653,47 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -10674,28 +10701,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" [[package]] name = "wasm-streams" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -10711,7 +10738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a8281d1d660cdf54c76a3efa9ddd0c270cada1383a995db3ccb43d166456c7" dependencies = [ "smallvec 1.13.2", - "spin 0.9.8", + "spin", "wasmi_arena", "wasmi_core", "wasmparser-nostd", @@ -10802,7 +10829,7 @@ dependencies = [ "object 0.30.4", "serde", "target-lexicon", - "thiserror 1.0.65", + "thiserror 1.0.69", "wasmparser", "wasmtime-types", ] @@ -10882,7 +10909,7 @@ checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" dependencies = [ "cranelift-entity", "serde", - "thiserror 1.0.65", + "thiserror 1.0.69", "wasmparser", ] @@ -10902,9 +10929,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" dependencies = [ "js-sys", "wasm-bindgen", @@ -10922,9 +10949,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.3" +version = "0.26.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" dependencies = [ "rustls-pki-types", ] @@ -10985,6 +11012,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -11210,9 +11267,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -11228,14 +11285,16 @@ dependencies = [ ] [[package]] -name = "winreg" -version = "0.52.0" +name = "write16" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" [[package]] name = "ws_stream_wasm" @@ -11248,9 +11307,9 @@ dependencies = [ "js-sys", "log", "pharos", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "send_wrapper 0.6.0", - "thiserror 1.0.65", + "thiserror 1.0.69", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", @@ -11289,6 +11348,30 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff4524214bc4629eba08d78ceb1d6507070cc0bcbbed23af74e19e6e924a24cf" +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.93", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -11307,7 +11390,28 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.93", + "synstructure", ] [[package]] @@ -11327,7 +11431,29 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.93", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.93", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index b12dd06..8801983 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,9 +25,8 @@ itertools = "0.10.5" alloy = { version = "0.8.0", features = ["full"] } chrono = "0.4.39" - -sp1-sdk = "3.0.0" -sp1-build = "3.0.0" +sp1-sdk = "4.0.0-rc.8" +sp1-build = "4.0.0-rc.8" reqwest = { version = "0.11.20", features = ["json"] } futures = "0.3.30" @@ -56,6 +55,6 @@ sp-core = { git = "https://github.com/availproject/polkadot-sdk.git", tag = "pol sp-io = { git = "https://github.com/availproject/polkadot-sdk.git", tag = "polkadot-1.7.1-patch-5" } sp-runtime = { git = "https://github.com/availproject/polkadot-sdk.git", tag = "polkadot-1.7.1-patch-5" } sp-std = { git = "https://github.com/availproject/polkadot-sdk.git", tag = "polkadot-1.7.1-patch-5" } -ed25519-consensus = { git = "https://github.com/sp1-patches/ed25519-consensus", branch = "patch-v2.1.0" } -sha2-v0-9-9 = { git = "https://github.com/sp1-patches/RustCrypto-hashes-fork", package = "sha2", branch = "patch-sha2-v0.9.9" } -sha2-v0-10-8 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", package = "sha2", branch = "patch-v0.10.8" } + +sha2 = { git = "https://github.com/sp1-patches/RustCrypto-hashes", tag = "patch-0.10.8-sp1-4.0.0-rc.3" } +curve25519-dalek-ng = { git = "https://github.com/sp1-patches/curve25519-dalek-ng", tag = "patch-4.1.1-sp1-4.0.0-rc.3" } diff --git a/book/deployment.md b/book/deployment.md index c0e234e..edc11ee 100644 --- a/book/deployment.md +++ b/book/deployment.md @@ -58,10 +58,12 @@ Here's how to deploy an SP1 Vector contract for an Avail chain. export PRIVATE_KEY= # Optional - # If you're using the Succinct network, set SP1_PROVER to "network". Otherwise, set it to "local" or "mock". - export SP1_PROVER={network|local|mock} - # Only required if SP1_PROVER is set "network". - export SP1_PRIVATE_KEY= + # If you're generating proofs on the Succinct Network, set NETWORK_PRIVATE_KEY to the private key of the account you want to use. + export NETWORK_PRIVATE_KEY= + # If you're using a custom endpoint, set NETWORK_RPC_URL to the URL of the endpoint you want to use. + export NETWORK_RPC_URL= + # If you're generating proofs in mock mode, set SP1_PROVER to "mock". + export SP1_PROVER={mock} ``` 5. Run the SP1 Vector operator to update the LC continuously. diff --git a/book/reproducible-builds.md b/book/reproducible-builds.md index ebd2fda..a93182c 100644 --- a/book/reproducible-builds.md +++ b/book/reproducible-builds.md @@ -33,8 +33,8 @@ Then build the binaries: ```bash cd program -# Builds the SP1 Vector binary using the corresponding Docker tag, output directory and ELF name. -cargo prove build --docker --tag v3.0.0 --output-directory ../script --elf-name sp1-vector-docker +# Builds the SP1 Vector binary using the corresponding Docker tag and ELF name. +cargo prove build --docker --tag v3.0.0 --elf-name vector-elf ``` Now, verify the binaries by confirming the output of `vkey` matches the vkeys on the contract. The `vkey` program outputs the verification key diff --git a/contracts/script/UpdateVkey.s.sol b/contracts/script/UpdateVkey.s.sol new file mode 100644 index 0000000..b6de6c0 --- /dev/null +++ b/contracts/script/UpdateVkey.s.sol @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.26; + +import {stdJson} from "forge-std/StdJson.sol"; +import {SP1Vector} from "../src/SP1Vector.sol"; +import {BaseScript} from "./Base.s.sol"; + +// Required environment variables: +// - CHAINS (comma separated list of chain names) +// - CONTRACT_ADDRESS_{CHAIN_ID} + +contract UpdateVkeyScript is BaseScript { + using stdJson for string; + + function setUp() public {} + + string internal constant KEY = "UpdateVkey"; + + /// Reads CONTRACT_ADDRESS_ from the environment variables and updates the SP1 Verifier and program vkey. + function run() external multichain(KEY) broadcaster { + string memory contractAddressKey = string.concat("CONTRACT_ADDRESS_", vm.toString(block.chainid)); + address existingProxyAddress = vm.envAddress(contractAddressKey); + + SP1Vector sp1Vector = SP1Vector(address(existingProxyAddress)); + + // v4 program vkey + sp1Vector.updateVectorXProgramVkey(0x0085e1f9e1bcc361ba6edc00209f453addcbcaf71c1e63d174472f8df5e56875); + } +} diff --git a/contracts/script/Upgrade.s.sol b/contracts/script/Upgrade.s.sol index 6c2685b..c335618 100644 --- a/contracts/script/Upgrade.s.sol +++ b/contracts/script/Upgrade.s.sol @@ -17,7 +17,6 @@ import {BaseScript} from "./Base.s.sol"; // - CHAINS (comma separated list of chain names) // - CONTRACT_ADDRESS_{CHAIN_ID} // - SP1_VECTOR_PROGRAM_VKEY -// - SP1_VERIFIER_ADDRESS contract UpgradeScript is BaseScript { using stdJson for string; diff --git a/elf/sp1-vector-docker b/elf/sp1-vector-docker deleted file mode 100755 index 8844a4226cb2bf49c9609a21759f905a8dd9b915..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 322540 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�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

kh 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 diff --git a/elf/vector-elf b/elf/vector-elf new file mode 100755 index 0000000000000000000000000000000000000000..27cfc520844ef19153ff3053c0bc48ee2e1c25df GIT binary patch literal 331168 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

ftvG3AD)Te>5#;4nSA4vt5f?0&` z+C%K~oUZuN%TitD1jaut`7U`)(C@}GNX$+) zqrPtDdm>{m;rkeT_at7oy+8v)b(gcM89ism=W6+{Ulb9)45k zM*;S0NO&t-FZ~#PzsNR^WIOz3qUQ#O-;dFAw!?2GdTzLd-`}I>87=tzg`?-3bX(7r zDb0E=^eH{}*9Mqn-!=2wO3yE}=C|yX@71$a^eX(;+x!kFgx@RZQ}nC({*``ZPaCh) z?UmNCZ%RUFw53&VH3aTH&gWM@1K*> zir<#{-S|EH{vY(~*l~JGKHc$!>8y>SZ)49L&tcC=e3S7FY`HgeFrP5)rvDxxr&ZDm zUxXc(oN(#&oa0;cdY&oc8OAzI{kP;9uD_^!yk7sZ%Pf0Z>C4EC;~Dskr=NA0ty%Bv zXDmct3n9+=r(%y^|rh*Y!Y#bF??jFcq4Tb&PNjd$keJeC;UMk~Z zj{Eq{QhaDT1I)$v5<0D-zMK!_`lIkcZZiwsR>}A8Dx(=2gTvk+Cs0McqaXhAq%HUH z7r?&o{Ae^|8qO#1o2QboC7y}mnI^gOyXXa6Cr_a6Z-9RA9`|jzv!6M_Wvl1mY8d7 zfo7FY1c#YJsWkz|nBcJEyV>h%7g!h^Rv&BAR1Xd-JEdr{cEQK+z2tQk63a^9X&=4< z999pG!Y3NT``Gn7qj>(t0rqv^I4T(%n5`Mt!36U-;G+IOKO*_U1JpOs$R{5JbfN$K27dHiCiImaa(4@f6BD?f!gI)K7ufbP zJY46vi@vZAe=v`+>(?Cj@f`c3SnX(U8~!1zk$uD4!3S{=jBA9=C65z^Y}ht5&oCvrYQ4cIy8N6u0McCat_l4qtYQgXJcJk;RLW9}0< ztNZlD)?<*jJXa<14%Mv1Jy}osqGm4Z2v)rV+&3PKHr-`C^AN|MgHgaKR%h;s zoFAoDY(B>+Jjef`M;N!g&F{w|-%#))-*9}M^DS@lKeUfU-rYumd*6j_kvDx-=+PVP z`G}JzIf}f`kq^_Wu0mklx>#ztl^&sWu`>ejqTg+6P@NA$4* z<{~)mI>}h5+@6=1&v7)*2DsPhEVXOk*`*%FZKMz%=P~Oe=bKJD>eNi zaLD=P99O%{jf|N-TM6DQg2&11`S&8%(c$Ai<@lV8U$~bixtA=X6SY~1m6=xiJTN|Z z8jMe_BF!jT?y}Ok)@d@&RSuHp)Hu>p%RCt41MH3XoMLtXk0jj(-`J+&I}^Uaor-Vp zNJ*N*H+bY|{VjZhN5};VUpC+15%_lZuguaX3*XwkO?>y&;G5i7ugcbZ|1`+=vVXxh zzC`%`X*1tOryb0XUTNajKcI53(dnkgGm&TrpAc*_@$rTqGxmmzXO~2m7JUCQ*u(b@f%vpxaGqvYilumQh5H5yzfzb#{VC?_L2{^ zb)1v!=r|>)V|QFmmYyd(R}O5&b5O@W{TDp{)ZzIy9lzshvgtUDT13Tj)@?lBAv%7+ zWvH4a@YR^JPE8ZID<(ntKWZr$^D$nMad<7ybU#Z@hCUMP!xdmK#;*2#Fj)7ws&A^C zjo5TtCABu_KKs|~2_gLsztm|4{qQSl-j*_sy~2F5AB;5>tTKZ&<2mU@O;1&Sp>j5E z{FQqqJ``H5VxCd;Hg{Wo#ur-;(r*uvuie95st=M2JLnQDrq}KVgZUZDp4QBx{TR#U zG2amH(l_AKm~SwKjG^BZ!x#Q){RYREtYORo4mtlg_r~#zpIm%p8a~Kp><%!N#V)?) zi2tx2*hjpgodq13kFbil*M1C`>v8bqG~&^GlRU;($of1uHU@u)-WG}PzeIlgjFShu<}z1zWGuvd+uR<4OUWs9=U<#P9obv|o z!Bf!Rkc8g`tBGGm&Q^6bxbj)9gAdgGjnF?w(Qj1~gLkP~vMeL)B3PGPZ(?DF5&i-A zmi*FaH#Q8dqdTDkjy~ir&yAW$4f$UM2lM}48=s*c%Od`U$^5wn-N^Y}9ldp>2EPg# zMme<#B5Sai(4u6W+(OnDm8>N^ z0kUbs`O>-IUU_aB$jL*`+v=YPex{@?GlTvg=3j*73!(hsGO8{z+P>DYUno!c9K z6rNJB`_AwP20K`%cr%8LV=NKL{?PwP?vi-Sef9r%d>HFX`~$R1^GFPN<-&nx=bPxS zGxlAXVg7`GadIy3b$uFrSLcQcfn8t9MG zcaROdWLrzAlk?_eS^j6p^`Xd7*V5JG_4k@0kwo;IM-q-@^Ov;T`PN#QQI7-s3A%%_HQz22}PB z@(!&T=HDa9p=jx*{#^^+@%_qP1Mp6sq!sV4Ae#b*Z{n51x3%;d^)&ZuE%+U5^IMs6 z8^5c6<+9$HOkR48%6ICA$RQ{lljmG_%;EDed=7T_^ugz`Tljn(KA&j8=X9{#r-PK9 z`xnA1m~(*E#H%||^C>;|&+)b970l`AS&xF(8RuH)8D7z|tz-IU6R$^z8H{s+x{b?8 zQ9AEkcpI-$o9bl^osl+{Tz9D-jCG6d$!H{ z%LC!Pp*8R8UWIpZe?c7|0cVJPlZz4^({Iwvm#-@OHeddd7!m1Geg7c%pd#S(?P5*; zI6%J!PX_JU1TTEAZr`OwAKm@{|0A{x=CS#$%(U8Y&Ej6rmeH;8C(-RNYL2L-8%K;5 z-5&acoO}Xn0jpX6#raPXpl>|;vG!uU6&URVmAk+EyNX4lb~cJ7G&roJCANc4fs zdTTwbHk@yPZsr{56Zh(e@SWX;+PYvqK_9alS|4@kk}DV!OAYi)bP|W3#3$edG@E=i%>P+1Ne&XlQ$um07K&Q2bHj%se@^hL#<`wiH_g{gJ=M*0@_X2igTzHSq z3cHTY_mQzCdLN6wei{0!HDe||X2>q;v58&2%itMwu#>vFe?G$TCtw=#3B`w@e;4;@ zk2ycLx3Ig+qslkf4aVQ*xV@|=9AVEzb{&r1tC@>@2>Q=pzX`Vej_HH_p0#DZcaEaV z{0Z32T&L{A)YocyyD;zsahpCZc_(Wx@7`IUshq}Tj`(P6NRhqnZ4t*^JXbtUVL)pe zv_qTqJaXB_b8;Sb5DYvWjQ+UHopd)kOe5~{*Wn5B1pPE!@YiW{PffpR_OW%ZbAB8w zrZ6ziRPYQK*cft9(PZiin6q9BjR)1dyIwIzVPu)h7JG0@-D21taKT<|M$53=_#pon zYRth3Hx5%15^k>z+XmKHa+274H<$sOze^{E%;9f3v>(T2XpeL7SNGu9LTpCiFY|uz z*Ga|}V1wg38CyV0G+39~a)o;(HzRdylA9SqY*)3SU;}E)Z9HGfIOG}p$7Jq-orJeh z?=k0J2L|9MxVL60^T5Q+uQ`&tuxmwW%b1~PG-OPk#sAchTFd?5Md5P+`)yT5Su18! zGk{!HEFfRUc!9MkcHZy;_%;z6SjbW2oCtP2jyy%q=bP3{*y{*I&g;Rsa(@G~GZ!g( zfEU5J#!_%>)-`Y+STH;qnqNo0N0INF$oB~AX2Zc+{Ed3wSu3%f|FL($HA^ls20E2j=`IFPd4}hVSIFs|KUf*T6)BKY-C0RKWT{Uw+6UL$Lx4D$Lf4b<0?CrS9iCwURu#s;FR z2AkjGwb)g*&2Pm(#^KmcOMc5=rOyzHgZxrIB>eiD>c4WRCA;G2^g3h72%F#9Wz4M> zkyBd9ahYa*ROB+A+$gx&=9e+0{t+=j?tety>%c07sns_rLk3X$N$gR47G~IdR+5Kk z&8GpMMh1MY^ppE$ZnZZ#FLGRpM|5kJ*Eu>p1dl0>PE+BLKHQSW=-1$pcopPv(ll~O zmFc!#3#s{1dQJV8dhIECUFkBJQ#B`}*GuF-M}xo7tEuXs;BUqiY(ez83SYs!Rpie* zRWRPar1%8W4765l7fhF8tmay_JaYrgi9Xw*&;J6q@vRSU@-Nf9iG`VZ*N?E@Ag>wN zWsuj8u)83y8LWR4UTKRspnP2P@37x|>MT4h_Z{^j1 zSHpKs)u?-uK24YP3Xx1_(4zccRGOikDC`A)?lWR35u`5KIJR&>XB`Ezve2U`aVv%-J2tPN(o)J@S|jD1iaZt8K!6TAw(&?h%icgtT{^XtW(hKvToSa4%~PvPj_X@$8Q04DGp$b8*y!|7-%-%M2z?KOUSuxx zNKTPDFS}+Zo}A)E>O(freubh<duPCeUgUj( zyd1eURrA%G{(6d>)=6?doYTKl&DRE=fo4_nMV*?iYQA2!d8#$x=^2}+y=!fqEGL)w zPP(QuH|CD7r0%Pj{KPD3T-s94^D;DtP}i{DW&H`6hvbnT?Mkk647t(nJjXSBt+nI| zIZ@i{v|8$-yIDnGx@}zRbdz;_e}%@;?ALJxT7JZQNsXF6FxP)ZPIiFG$?C_F_)gL# z&A9LcIz~o&9|BW73#}D)4f%$Rnt5yy_2Ub;H=SpMjxEsfQ}VPN$>EJ(hX=^&C%9|IRr%WPKvf^f=`bdX-MeDVyDAa-BBSebZ(3n5Fn(T){KQsck#H zADuuvEF5ehb89*B+Ye4z0F4j!fYwKuqw4?`YmfbZnr?k?(q+vTIiHuD5x=L;gdQVb zFioBNV+*@lMQg~D*Qz;4eS8fxNS>=b$I*7JzR=R+l4ed!QnE8A4shvrf2LVaJV(3p z!BdYyGkt(sec{FIQK9LNP|I}Tw~_->`ESPT>Bj!wVZS0(pz+Kr7?<@4NY@Q3b17xMqaX{w(wE*zv! z>?&i;L1vGy9sa(8zwU}Z{gEXu^X}!E@%isH^X?_AXISpCK4<)}AB_9pZ#DhywVL_J ze3!ca2xEx{-&ed6^RkT&zm;53mhl2~3}$@TVFCTMFw^L;AIx6pvpR6?&&Z_%_d}3H z;C+{oS-|*;d_`$JnBg9HWo}V;txbc6dYji{_3)Zz^SU98?_|`&EAI{Ry5TqQ%G_d* z*JF>_yvFAY)+dth=u??uZurXK^-InCn7+#I%}0t|=8H?%WABfed1o=T6!eF4y)SUn*0^dj)Nevs%wc}&geY6at-8sg8TBflAc@JK|^?C4E z#y39RcUkxTLbDb}fFVC*Z?{9}F~#8#eMZ%(8ZEv45d5Z4pTRg~Ln_}Z0e48h7T;J! zOeq6nP0UwuL7q|9>P4s2Rwd@7=o7$LafK;*58|4%fo{!-k&bjg297Yb&n1tTdi$mnOO#DA)Yda#`)T_P#vxnBvn~ z@*Z>hKIYZmaj{MZKK}-vyhG{oUikdj;q!0Q)@0i2H_Gm%KYmO-1#M94WApjHppSgP zxxNmMd@C#Qu2kXEA77ZI>hh@HGNZn<>(t7=L@r&L>hjDU#kQU|6f6BIJK2ZMMm~mI z(dR_;c!55BjAIj@=yJtxn)zhRV6^*A^GS1~>B>wUF!UoV70H_#1qS+^?c-`1SU}-!UIz zymwYGWwz8|f&J2Dk8NXQ9yPqQJ#qr|BD`-<6!;^O`s0}{Yi_hXcfkLKr0~1`vJMd2l%GP8|2^~p#JOw@>vP!>^wCui4J{<#G>;yeNwMQ zy_wE9%Pd=O>w)@5^Vod&L)O&2sCu=L71S0bQcuKjWE%GNEn`r8*#eHD6HlCGEgQuA zRTQ`iT366t#MXqLrM0Z>rk<@2`7p-+%p-P@dU`{6c>!EiN{*`5k$Ek-t1?ICWuH?E z>BzjEXExj-^D_ECy(9DbSK#RunI~*Yv)VjDecZ30gE~C-JY)^Fx-PO_hOB#&=bT{A z#S8(vTz(D=G==}k2R#oi5c(|m;(x!lu#1eNtt}SV=51B;Vs?HIJK?-@F7;;n$xHP{ z&W+eXKS$1S*ue!`&O3i#_kjrojCnUWaxS&!5GO8BvR1aT6Pz>hJhJA!^EisE_bulf zTl$70vbF-;TSj|t3+-bW>%!N2jFE+(=P#36Ay-rUtjtS5GZ-;!9{6e(`9fkk_{x}u z-vnQoB|LxW3iy?{U(dO!Q{IVGeFfuo8T*{Pqgn7_sgD9^c%zCd8Wc8-z@OP ze~}>=#Cm6&VE$~eOS@LFZ3~RGR$(S9>@sVf|C_w%6qQS~mP`k~;M0qDgIU&a&JOxs ztxGUxC>T+foFRDDI9&st9ZpOUJj=V;BS@!SPSG}@542rWv^CMr9zjwsXZPW?*b8%h z^x-DjJs$9DF5fc)+s)%hUo}Qfq;@VDnR7(`M(7%BWdLKK>x|v-Rd*1R2KEQnf@wSW z$r(PO=KdK!L<$x+0ykaO;_2j&8H+VsAcuUJ<0oK4e7%f)OBlP!I+3X*9LbxP5rd|d zDGV<2_Ie39aakv#?!O5A#18IDU8Rh1{7E?(#?p@9zIFKV9EE4CP%y}Du-26oVDboX zEOtI9gm@gP8Pyhhkh#D+@2daFbyAZ6J{;r+ABJk~gu+Opt(#okqY5wTW2zX#{2Mvr z8OR#j&iij??0{|O^>@Y&arnf~6_!<^g| zJFCnxOM<+9ML!Gj3a%^*^16ie(6{m`{Vd4qoF-na)qkKL6{+={!Xq*rEZ5*M^)?;@ z!XrK;RCsKV+IiOFfk{N4ld|FQu)|{mJo+3Sv*GdZEj<1K9`P?tJkDT#d-= zN&ajHacZKom&s)4yarB*VJ@O8*yd?4RyP}CN$s}mWl`J!#==MPzdKor4DLY%c46*n zmzpoMP9FhZ4I!7c8+>&Qnor_4VjY^i_{LKKTEL1u-BP?@6%#`fHQVJOUavamCquc=J8A!I7{LUK2i48 zGpQvuRX$7ZuSMQ-?Rb<+|HL;^UrC+ASn@q@BX8*QFQOlylbgs{@>Q$<306Vw&yQg~ zt{d}LbHG`;gR^!LFaN+i#nm9rim==T%+dau^{2m5dj*;=4+GEsih0Z7?8C4Job^xo z#2ILcx8=Ir) z=&N8AY-k=wi9xK_vWmbxZ|A8sTgGa1md$g*&+`Xa_xB8A{`UlDK{GkB7vMX%PttL6 zRE<^08=O@ErV}|=a84de*{xc;D0wVf&T8L1_P#W0dEX`EEO{(&mcj*9K{>yaX{~q` zeQy9mYxt8J#DW-PJsv)wsb(^={)Y7;$b89K_z8m_FoWc`lsR?7r+C;PVIqbbc(Wo7E>>0>d>@XN>+LzSzU4(9abLJ+vg>x{L?IV(#F_z>6 zhkXg3jMuUgTtEMw@M!q#M(DgNPo~-gz z*6x$!o52se$(KnEE9@Hhy9RtkUtkYd@Re?~1&5_piw?lDRlNT}2g~Ln=lwRF5sk>X zpA&oHkn@EmIm_Ba*@sbQ>>xHFc*2{wX`ne_K`T7#jlC<&+I=_lAkXU@#g0cdAZuj7 zI-Kvtv!U&fHCP^52XUj|LAN&tSra>#--PZk)*2j_yhMgBb1jcP>e3Hp!AG5q6B~}V zz*SkzxC+cFd*7NBZ#Lm7^?$=tV8+YTj2C8_)QtPtJJ2k_o|S+6ju;&6$l(QI@G2(; zzd#ILbxRD!-oW(c;&3MpKi3q4!53)~i`;#4SjQFH9E;;}d`^r?YZasXGZ;&SfGyFb z#|^(9ksm1Z>0>e+ely?~Y;|%5e&{3k&A@)}=U^;-f`hG^`28LH+StnG_esUCKS|3l z8;HY6T4ocD1Yn-R~s)k>l7P>&!Q$>f|K!sf|GM@T>;DFy1J$@i@f9O{{zo&P%o}?7zJcO3sW4sPNaoSZ z5`3$&;cv0aNNji@`dZ1JKmpdzrL!jxI;{`TXTdiT&lv~kQRuY3pb1B|)@f}EUJFxf zUcomZEye_*)0OD-PaBy77=qmr!^hx@R39a_$KV4*m(-?!QEXqs8hS8_9eutBiZqAL=AT4Spb3tiT=t}U?D zbjE0%$ZuU!*vb$5v)XpU7Te-S@h^uzU|(Qjz0|6h4}h)6qffbvj>uiHe%_`l5xVSH zFJnsCYuRj=ujZ=kzPO&gm_cR&zQVDFm@@PNabIFRNAZzi`1}ys zvlth

qlNDw~+uiLoc&M6^Y6S=Qy=CHO=xB=CF+b#ldSot#>zan2wAUX z-gy?dpaNOXQGQzC*qzX`>rdp-77_0`?t-_W(~vWIn8#7rN^LAy zd=^~Z1^VySz*NY1F3+~XHoAei6R3kcZPy91M}cV)uTG3%j`l1*iSv_QXyKW%)2bg? zHhOwGB zoVEygqt|^m;6?I>*TH(|RxoW_@BsDicAik{9IWTFmUf2b-P9oD@_nDl)FcfhPE;|c zIRHFz3cnDiVz@W*vz zdYz+SsF8bFitEV9MMPMjugS?e@shZ9J z_{Lw2U3#g>q+hF=O!{K<0QQ5JL=6__6L_zzo2}=WD8?0%CseYorv7OrIsikc``Ay^ zq873S=NGM{7Qcl0tH0WNvLBe{G8WcQ6ZI79QFoKiBDTvs=FlVLv5^1JTJX~nu04c| zqZva~^Z!HCR~O!8JwIOh1^;)YR=Q|W1)eIi z@szBORr^;6o+=|3J9Qa$4xUN?Pu1IaO69yqtzsVQi)>@}71nd$v#)a;N-jV7trTP5 z=ll<*y3SE#zjUd~XqU`9Ah>mDHTky*@QQ9Yw^r|@pW+*rKP2_RTo<;ZY?88T~lL^Qyi+SQcJj>i3dm$)2 z$p13m0)Nxg<_LlZcHtL|RGT<;^yBY~?PCU1ED-^edB ze=>3caq1PGK^Es9;P@OoPEhy2e`-F(otTqlEFZ}p59#)NQk*u(o@Xf>WVPekpJ=BY zf8qPU>hzVg6!3c%IYDq9^*Yo=`&7Ro}QAnf*x9d%nP&=W=Sz{tMkLgU^vlulh&xkqP%@-QCD#w$9r{ zu~xFIiBGr8P1*BiskicJEx9iFxD4yReCW5F@qZ=Xtb8lOTw8}7!@uxL{z{KJX7gJQ zwu%~T^IMhzzsFkhTL!k8@C0>O9h!M&UlXNQ=E`(%lsisKH>0jP{_raH3bsOK`q2RU zcLZ#HHwKs|q@T9rcYP^*7TElL#IcEA(JMCHWWSYJHost;TkO|bj9&kIuV&q`of;KD z%W-_8;*r=>CjOAVO3uWr=lroWY>Q{s^UPz|R(FFvCF|wg$(46n?Db%I;GbGmy=$^sV`xl2%#r`2h`CSI zV_RUW3H)B<$$YF%?TV78)QS!lzX-OHJs#A3uobl{N*}ECw+EYO3a8FJS9=v^(-TV>}T4r;cdS$lX2j03I;fQteiWc(Xs%`=?46EtMawG{Ni`aQGm02phSv+vd@?3;0e z!dMrfE8d|i8M;o}bV;2txhY-p2JB&C+jlwkJ=>+ro?G}8nTxeC78q6L0dn z$lfJia}?W_xmX8d8LOdnC9-~xd_gBLQ-`^XZ91rWC%?C{liC}?{Rif4kZ&Xy@W=&Q z*5fbXN05og8cb!@b1t%+z%%Qa8x%hhlr@;jtl!|+bp`gbpp~qR;(ws)F67esGY=ny zY^N)nLd}HoD@N)*a#Q4?s&}(y7WuM9RMwryx0Zr3mUHa6Q4{}~MsJXsCok_OVU15tCnIzm*s9v)O}Hz? zYQvbU%Q2T=Cw+XTCf~i(#}8&a@iBE|ZNZMmka;H9F^c10?EGUTd$C(te`I$1t-@4t zU;RJ+2{kqYU$J);ahUI7>eQ{+zXxBj7m=+y;_&)nB@4YfarkJly$A3}YzEnwQLiA2 z*-E!M_{yptq53j$jx~jENL@~PaBnT)(LbQlC+qIWWesZDlV~aZk8z&iL8qz6#{{1U#~+3#hhN!a3OuRqA8qCrUYquq zQhdheq+3gm$l3vXa$n*zea_+2a>3`HspIJMhRiu+>CE%$j#H zQ_yK$Yn`s!j85}ivVOan&wN|2fC(`oA=TR>N9ko;JtJsm6#NYPRT)g6TisR z*EG2F6)x7C1ofKTLaz-i^qT!Wdi}#KdYxhGwO3(^c?8@nb?&lnuhJ{H8O$YiVb(9k zjsuQf!Oh^UR{WN|h#kYH@C$AZ+OgQMCD_^F7d)9J*RbELTlH$(A@+;Ex}%yJ6~?~f zPm#|TyFEcJCDzHMoWQR$o;r)qp;pBtcO`zi*>0afr{u2G{g?6Uvy{(~IuDgg>Gff{ z+S_2zLCIm;^Mf)rtHHmj+!c6Day`}zdoAG*u-fIHlRqMdvGh@uPm!FyMNZ$&r)Zt5 zw)oAh)yz@zEu%OsMb=^KIzIAIH~Tr{lE3<^lfP<&wj}ab`1ATWX#32j4Gd-HObdv$ z8>tPsjt)z)HO3*xUhzi$%Bnd??&>NrpJUAcRU>HZ`w_7-37^SvB+s_JX5%Trh;57S)pp~!c~G{Lt{je7+-A#lnS zekV1b!TR3f2J(pHC>Gs-$4mA+XEE}nCdeAJhPo8lo2oE8D06B)m`ACG#v#r;$_R38 z;9$vJMx2FSuQPv;fV@vCx|(Z(<|1#?nMYZNyl2|-cIug|-PrT2b;Kl&k{cXJ`~nkN z^EisEL)SFVRY^UN2U!n{v*%Bij3B?+6|5C4dufFW-PTfgTXl#%sgdDiu+!-;$yp-j z2$Ag-^3KQ^d}Y^H@l2E>XLK!jHM3+P{2;GWV6S@Q9A(Sd+QT@3T&BBUD$j&uJ2E!AkmaS9% z&}@&-mH00hOv(0LXh}e}9FeUx($9Gcai62aedx264TQHcXroUCt|M#ib8fAuV2=wvo>Y~uGWLNH6u#n!jM-;6+uHZI$`u-4b41QoF?6*X$T|t3AFL86 zll%p1*^#yIRa6AtrVc^&%jlhRhqZb#bK>ZNIVMxqh*0Bh<_%_jdnw0M;_oq)>((b= z_rbA$RBF@MU)e}*9M4Iv1572pT>hUhP4ziHbyiYuw*V;^Y_}J#P{$qH}RJ@pAEB#?=Hn8<3Udw(D zui&X5ul2vMdF`)}y8>JFFU&B(9CBawveX~G+u`*Eczwa)^#ypv23zs^ik+jATpie| znb$IM9Lt(>9PAn3)O@$fT`4{n3!mT$__X(CrS7{H-76l^XIY)YBl;wVW7CK}kJjD7 zBl?uwO%spgt`a{?m%i=?$Jjc}N&Ww;)A!)>H%)w^&s1BV8nx}M^=Z5SpDE}rfIj&? zwzAt=_zv1_+25M&7M!g36uUjjd|*pmirs>foA|_Tr5|{yw^F>yUTC7zR`ufUnNKMI%CeA!Q+*SP^d;URkSM~7@UF5FTpSI~D-=_SC)IvPziKM=%H?1!_IpUE z?5Mu?+ZJAnrnAR7v3kr!@`TfwZ$5>*d49@c$omxX=3L2>XS(x@$W!)Jm7JT(rO>9j zUxK_B+A&q~gy2Q$I|dm`*he<4E3$>Q@OtPcuFs>*k@N7?B&!lt7K;*`ZRoHO?57}O8*pVZG(gI^!C^MpEhYSMmaKFHcliSzwfKbpl+;`{|$ z){5rC)_kN=Z6&p1!|ilQ0JdVqPsg-4JzNAg_OzH!8OV#U`Sk@5eg?abq= zD6hspbLTGENPtNIg$i<$5JHH{7=ntBD+JJ1(PF@*74foZEx53WRTGArghi+hn?R*B zg8JIp;*dmNTi^--w5=2&fMTT@Hfswm1W+mYea|yDfVRB9<@5Rdk<8qgGtZoJp65B| zJm;L}jH=g_@DED9iN)gA?GHby_CViT)cl4vd=}VKX_Av?#jv50wz5{pBW8^MaNHsM zZAaiaaEA|bJi<7^XLA^S;)^9G+?%KP1?79$4z)?ej`Hp=Wt=>r#)(=h3^|Dp>T%tz zU#*+OX3#(V+z>tp$?G0A->Y>$Yyma~wocIo^g})QLg@CB*w~Uc6l><%LDmG@@oO?B zIX8Of;C+ZS&Q|UxAj;E@+nnGXILFzK}pe_UV#!n*#e3)1!HdORUj+~3XYLeJ{z_i*^ zn^=1cfhOu*h&|=qUvk!-^6J($;fH(=_RQ(G_ataPN5i5q*)HimU zY%ew_zQHlfLB(tMg3j{l?N$Ldg*l7-7&DtAvB3gjgX9&+y!3Fl#m91$wVAwn6&vI@ zNMv4=xd=ZW}q_7B91P3ptj-6DO>XFv03eD*Z*v~5D}%tM}*t2u6BTS@G!bK zS|7P3{yb~YAVn+d%l`7+9-CbDR^OF;pGVey-uHa;t6SIp@+}|LuW5H^?v<=#pBe?N zZN%m*cG~|HTPRKr`gIAqi=Z1DYtnJ{i#I~|b&4kO@wEEu&e6=g6&vd;&0`hK;6QCN z@$2Z0gIzjbHm+ zT3roVU&VhFqko^lj^w*%(x<9#_g@E%A0+Ap{1qDec{E~2I^>qgxI0VZ!rwsS1LtVm z^;7t^_ByX`^*++K$gN`YBJ5@vztXpNbUD|z*v-mcBYn$0g@5Z?>}GZUyuOwGYxU=N zeHt(F`jqiEn|Xtu?rfj7kv_$rGjkMkA{j=VQwXflrX)1M2mv!p+F(Vt>x zDLm;<@~*y3EBz^UR%?GsJ$UNWDO$V5uQqqJ#h(-DZ%S-XwecCWW+iCFcXe?rK`Xwi zJ7eFW72g%>C6Cqz&yHiSPiHINRbu?or_a-;tQ)>Vt1IL8RmQK-nh&k*v9s7)<;_>@ ztcA>dp)-^7_rl;P@&=e^o0LvE+ox*X=|HF4mv!eOo;;G=3g)buTVj7)^$P2=r^wS} zO}TkrBEJ_M@5g3XzZn~azs=~#$;e9C2b7M^NbEV)#By@m=DX zBA;#IgN(x>chHZ(b1`~|<7S?{VI1e^Ao78gj7$gj*0r*HR{nVEO9MrN+`r>&Xq>PB`&ish#bzH=fq56v=sDVN+x9OV`2cVJ`P_BM7C zyi`7`{PTQPfA{)d;(g%d@ZBhreVNK;7aJ=z3Ar%C<2UPO_Z`8l5**QwUvY%bW>OIT zZiUzR@S3COqrf8c5q#?Z9{4w651<<)_jeZ0r;ouloR7bg`d8ryyvF~DkHekS9zSz7 zxlHg;drT;QnM~YkBwSkA$ryK18WI?r3eu?|vM= z>&p@+9AFu&i34BacYOl?>qL&&H#Yu(tKokv$BWN?C1dCl_1le=VGEk%22H@WD#JIS zgZJ%TZcufW?vyd6<@*L>T}@)(DmEAmGbRo&UUNM;K@8lH*x)A#JG>!>aX*>yo>)H+ z19$F}^}`)rTyP-sSlLyqp|Go*)KtY=_lCc#*q}Ru<6FRj@42`)dg!S;&=agZ4W6It zWAEu**yBF}=XkQp*$Y5N>=gEC4t`jCSBE>|mpzCbfUR|eK6vJ!W)A24<9k_C0CN%c zSkry@+@XEzNOZ~+)*Se*)cr-o4c1=eT!jBhV78724!+pP_E#O<$YZVJ<2QL>)~0uK z>k)W7a1*(XQLo-kJ#sD_nG3+2}jk#N=k$Z@(welC9Jt=kIRUX#k z*o*_XkIZ2Vgu6XN9r($KI`AB+;SQPs!jCGe#N96l_M=LS3{-sDJbRRd*-47GB4<8qiZ84+lqd^2*D- z`jB1G$)cwOKdGlEd66bMc|UP8Y-06$IOACI3-K*E!?8OG;(g7orxP?bd-|B?W&ghT zv1IHy=qg9~v1UNaC}_0k<3)@;`b_SNuG%zQ(P>LOg}o-W+Sfk7%kjhhB@WS7u44!H zwH7c(t_DZjqW^{?WA~HCD)Z)D&1{4G=&%Mp|@Xx-oDU_ z4e~8|UxZ%lNul>`=pVrt-108AWyLklyVxJZ{Lj|jbWXE&!I#z4#541lSNO8%f7wIm zsPD8qs%RBnnta#XVb7?#FZu1VZ<@Xq*=a4XRnDS}MfloJuCY$(qt*Z$1ctt-e3v}C z;m8AIBmHbv2guKDq%W`bXnePbdWi3NH12F<&2_a$3iR%(OC`N%pGX7{sfJ? zu|2wDdq5}e@8kS1OX5Doj?>JXWQ>^2(3h1M=k)8dF^|rR=+}KQ`tUqD8RshJTljDX z{d$(pXZUtk%~?9_aHNlyR~n}_Ab6Zdr}Y&4==V6|c`<$g*-y6{J;+)?^<^LWlC^>w zySw4*HHp6LLtnB^_*P%80q^_0zI;pi5}#czek`v)`>Xye(5V~C_?7lle|9<7pPli; z9{ZI2`Sj;4^Qf`WnQ{7vnj5M=?_!N0_vIT>Z$5lpf4ayT#*gaHNNa!g|1O>GJWF?f z$Ft=f=*v8EQxD_U9|5gL;5l}L!ihEiD9+Uw1E%v~_0F^N)0s|RE=l0LlziK13TOF# zfy~oz_e=Ty;#=??y=F{DPJYQe+efWEWXG`mtjUg&+sRs#++d?;1^Y*zr4IHsWe3SM znO|;@`Q_3c^w?oN*|pIbbvwllQ2Pc=@`1c>G!7)DvK2qpQN|zs{rx?>nqt%obe6LY zKlTmnVzYspDfZqK9lzBU>claY2CzOzhpssTp?e1QmEK2ku9;IwLW7llH+Ghf z{RG&nKm0p!&D)io<(SwLis#r|qc~SQ2c|PH^t13>@}wN+N$_8m;Q2~;j$GsZ+1k>D zw^IA;eR8MohUf6gcEEo;JjeDKhTXT|D0a$zc)pW53CZ}5uo=$q8=FY3DVdg(0q#c< zJg-QSzLPrIVkernzk{vy19Ae=RsAuOc&u0F{V4Wd0XzpM>W?{{|3N$my@?GaxS6A# zz#dxxuGk3FA9EPL?t#hRy%ZSuHOz(I;5M1#u$94(l(98Zo^$mlG`^n?y=fis!`z(m8pjLp{^@fCODFx5BkSz<8f5o}2r)Oi| zmc#d>&^u%B0|~!2*~-7-WIlVgR)FMUn0Gx2pT{5{WE_Z1js1sj#huJ?&_d$Ir#WZd zJ;qUL>Dcyp-#cXd+qzv@6N{S-c;j{Gt2Sx>mH&1bJ}M~QWZ z-0Dl9f$@Xy*0~!#uN;`D+X$a`VXL+Bc~|%xpO?dj^Kr(Hfik{d z!te7_bzf{ob3Zznd5E05&K!jfmO7*I9ctBw&GgYl34X+=uLl0`!|WWR2KH=fD7_4Q zV;JAeeZJvf?qkf!{kx{X3uF$o+mef#A$!Vn_OLG`W;;ubDP%3*U!hh*b{wDOEY?lj z%UH=DGO2a#6qNb`^C!i+?D=(Ue)+^x-8J$fBafE ze}T<$3*+&p*j<~S7rJz31@!*-NzHxW7r;WV?04S0ka77u`^T;##=b)N6%46QB!0YX zoo_lK*M2WB{2612xx>44;1z@>XE${9Ptb?GvGBtLeY<&Ae{fpCw{H4C--ik(!9ntA z9KPS^d@xbnSHJmwBXtk@2=9#?>U+tzWO_!5ofTgpmuaI5H2(D>P0>YuxAXJa)HM4g zb-w7+ee~(4_fQ+}0cd$%ce+61U+Gh!@yFOzLi_iLO~|(?)6hL{05@w4dXx1J*Nk5A zYpl6k>nAYaN55LePw2bR*H~6m(Ht%qeT`|7&!7L$b>^;XJ$i|8I}7)D^imhsTz;+B zpPlRh3BB>Y-dKxV>+E8EaGBoU?A+pw)#Z%gA9ZD{ zE{9Ky;qTF>LeF`9D)rl>@4nlo=jf$R)4(-BFLQ-&7vjU}73u#U>CGP9|2%s8nb=k4 zE^H_nySE*t&w3gsqHm`%g1c1LCw8>kLG?c3OoH>^ko@;F??{F@l~KJ z_|2L>==$!)*Z3yBBy`fc%dA`HUfsE}xd-^jIIelku53f7J$lrf@cnuol`40IW zx_L2c{xQoqI*g^qRo}GY?QZUbu1A-D%@O`vZ_^($Zi3ewh41O$lfw0@<{-1sO+m)T zy1^o+z_&a2VpI7>iH#MM+OAd-^TAh!&#*hX1l=^2d9~|f=4N4n&)8UZ7AE)%OlM$P z`7Hi7`Bvwh*mR1|&p^);9zCU{9-j;1*SfLaBSRN?^)F{(r&MkR_ivzs=Qbb5kG3dL ztF4aj9Us%I6K_(B;E;+5%D0=X*z?$7zz`!ea`m7UY`|~0M&;Z%_zlH3>yBNA9WoR< z1wB1xA^0<{-_K3(IgkE7be7MmHiP&Lmn}~4c`0Lms%Fj$Dqgz{9`5cS)AJk7;3&Ml z@yCpDc=;GdcrCRVTtC;*g9^_%o0)&;esC7M-KyIJtsCKWJRrPwD_7Ge4deu6>rP`6 zyso8Q+5vbNriS1;a6X`X;a(0_He(u?`xxW+-MsG_PsV4+{64@vau3Yqj}Q}JK9uGF zvk2Z)sGI|L-Bzg^fR17;R2{%Rd?MiwpNwol2Gt+O204lE3tMX%{3kxEeh2D3UKb0m zB|cjbki92X(F-208@I533mI~-9$(yG#xyeIFtSYf!}C47$UQJSBSQpl; zqb2ts+-*l6^Df5gefKHaTxw5*yXn`ugC<~SEygd)5kGA>zoOW>;n&0s^Wiy1>Kl6X zFlbkDCx|IaoHkq-ze@RPr9aw?Bv$)RWlLgn!S^g^UX9IpkTH(ERhh=V2y74GeIvHk zk`EX=^~A}swVv%q9QPCALRTZpu{{#_dEf2C)_U&&bzlA7gRRv7kL3H&BRkN?6@AT% zus!5?>Nc8pp{ICWz8@{Nhsac?OQo_s+<$bzFZwL;((%lv#ptvrH7Asz^o8>y#?6o= zidI`{m{D8D=%x3!Qtunj6<$BNf)v{;Ay@q?Ck-97Wm-G_-mB$)!HS~Un zy-?9#==A9A554at==~6SuTIe0A9~;W4!y5H?|tXdi(LY}c5X#Ka}V`K^W%L?*=MKt z1-<(&_UPri(awrF9=$7|_b+p>PtK!vIrNGS5q^Adj#ldN@a@{K@Mn88GM2BAYeqq& zua!0z+R>HJE;PEKUu#x<6=UHbDTF+^^bWRp;L6A>@}qRtu^ls{Ez+c zfnSTQUQz7Meo5@DVk;FI`^_b<6We@tPjXg1)!crJ`FYRMZ;kk;ilMI<|5y>SVGr@S zYvFsNZmuZy=vz^wIe*y$eO>UgC+J(gni~4!)qS^w@wR8IW^JX8tJEJS9>`egZ!SMU zEReRSt7?AG0ob|l1bb5UX~;J?yTn*qRI<+a2kV1RRW6}(@ggNN-TUuij8EZx_i=9& zc)!Ir^D1`acM6e5eUwk*^}AVT51=oP;kUX(vwn}iIIRl$@>u&YZ^!T9 zcm%(9??i3+Bhby-Q+&dbv$Bk}Cq7?qU)W*RK-0PY3viSB_^+0+?&Q9=Crs8tdOtTf z1$@>(GxI3pAn(VX+`b9F(7!lt#|DA^y8X&eWevNHT$Uq33;x4H$n4$J$pY8@C)K%K zs0Y;EvHGKOAGxuay<71jQ|i`?$0lJfyEE#K;M+odh6DI8dtq}4ZrS*=;ho?%4Ej}l zhROJR85hUC!sojXKlWqLc89`U{8e@@y$?7O(|sAA)p7EKIBp*xW3$-3;ca3n*Xr&J zj>J@u-;5{P-S7$Y9R}z3$a81BK&$oCEBK54%36$?_Tji+YF}HDW0AUSi#VgE zF=iMCTd)g;-i}>|ZhUw+ea}(+bi=-{e4Or+9HB>IBdy=kRkb6NHV`v8;$5HLpt(is zMHgJ-2I?e+;#V|Rt>Kwk^!;VT+r+j)=agZ?vai5BSjUm`A9Akz(!j8JSrm| z3#}cV#J`A*r0%bTCiFP>k8Y$`if_q##(Tg$cBYV_h(_C5?nPt=i1HUu2Ev6l!Q zK69AwEaZVBKDnJezz6!9p2Sw0s&IDRord3eX~GA(guI;T`0Tz!$4^n;S8}h%cKKo? zbgbzPqo^v zPTAi*{x)K}iXZl%i{FrQ<%j(eUoy69=HFFrh13-DzDxKpIAX7Xqq85|HFJi_Nsu~e z>if`7{SJQ~egflX#PP5J2fhNnGw{>Z;8SBfZ*cMFoT6UZeq;%@)OL>YJI45q;m_o| zgl;TLd{&04{agEDg1^{N5_?rR4hF|9@DUtVG6z*Xmj&41xhnR0_M5EW?Ci&m;@bmW zt<=RT_Nu;3~F+;L;C%VoOXq&id>F{K41~ zYF*ZkS`5gZ1H5bdN-wYAw)?OVvEQ)ERi1&=)&w`Z^_#%t6*vq3bV3>MnBxvkM;6j68?-2R8EeUYXF_( zK3n%8d%;C$l{!e~MZbo2+I@@Pqo8xxaq_$M0V=O7tV8FQ2|7=Mvk9HIahykd!$#NM zrD8?q2lUUU*a6}*hbCv)3gR1&Ks)z|68$J%O{M_(ex%BJqXx4zqu zaU5SeI9~oNI=3tIH9{A#`hnX4IdKT-GH zhL!kzsBJ*KC%5#tPQ9#t;yZFyHp^aja>}}(8)O`3v939tpgG3#^Aa@Ew_WDZ{*TVJ zzmWcvm@e;k{{;W!JA5}CXI}gTe6RNK6@MY)PK`DEh0euSd-yK99DEsf=i`gN(76*k zUD^|Tsp;iNEL!j_RQO(F;wNOhkkfB^zEQz<8S_ARz?gIP(HFESaY|<;eIzla?eJ6j zW!EFXEK*}#`Ea^pYwrT*&EU>nG3WhH;K3-4hw0y*iT*tdPq6I{%+(zHMUDeZ(<8_~ zF3eW%S z@qFPC_}DvvQ=al!h~1}f6950M>5P|OK+_!fu~hji)IN-N?gmEYc||{KGdkyZHQ(*v z2=Ck*gV-*tqaWk=_Whn8ea{y3<1HWA zor3IJHwSp=nR6ra;Z8M9B-hX#R!l#kgRzs{4A!UX=&zYG;lY>aLHHs0X#7@jT>9x; zeO2A(8jLHcuZqvl`QcmGW5bj^<`Bm-Rn1SvQsyW4yDo$GgE;ntu48Jiii@w*%O!pk zzuijuZVtz1nK#%+_k-V?*Q>c;4eCrhiGH2IanKl}U$ka>Vj z;gfm5vqEd-Ch)}`vZsm-B=Z&<=(os$DcC$YjFCg0Ei>vMc;+U?3g>s`f{)+}%*BV) z-Wi22W5>*#!u7=odKN*?RF9rb0~Nj^)5Sk$WJkzho~K#Y%)*~CNcye6iWBf{#=G4coi!U@F!$N_qQ03lc@Z*n z4Ego^t~yCSP9}eVu}Th;9j;*fBDXdmqq*m-9E|*V(;J8Q{+xx^Cv*e$6MJFY1J82A zu6n;aYpWaJIqwl&O$}U!y)dc{;d|Is%brpBurh8$mb-)QQ@NS$qZ~K$%nkcle_csm zab$0Xkza9zH3ykMog6zqa)mql8u)URij&B=a~XF=e&lNWFW4N!&ax{kcdp?5jc0Gn zp-->8Q~dN-x<1yNvqq3d%$TiX&3swhvb*b7sGOZNY%KhEeCtPI%vagnlI6_ z1ya>IYk-@MZ=^Pz^=14@E5KSH{S|CqlOpl1}n+N6^G%Z(fz zpWYPe^2M-0OR)uF#BqwSD;KdpfPA~c9PXDH;qJ{wIQyUx&K+xn^BRqCeuEJ%nBof; zj`i8y;@2D571v{%U2pW%ueW=~Bk(u^ZzK4>B6hEMiBV8dVi!b8jNW>Q-8(+O)b)Ym z%Qekd6Vr{=rL1kYX!W&WaEw)&!QW}@m5^!UKR5Ih}!P?PsG9c?(}_{+7{cQthh zoSO96sISd{rY-r~zgiBLm#>hvn0tES_ww)35$<-W5v>jcql1G%d-Y&V&W#r;wWvQ7 ztUnmmjOSx*q8@2Qiy#A40WzK26S_GKnJdEbYfkhz*<>Noq$&^Jlbg3jJ7+RFO>^N!u{ysEOrA*bA#$^5AD zkz1LhIeV+|m&{bSLo0MuX-(}zXV|Bxo5e|Oo%)WNb@DLd`c^F(47D{wKga*LrzG5s zd6C`79H|xA<;jh}<$CmQ4QWmieG^2ENFP-Xk>^tEH)VXEY>{zoI(;>#x|8O7c`Czv z!ZzIJ-qg+X^fTsV>6)3*(&9dW?t124a;48il&|a1n~b6LTGKy_Z=5B?^jo=)I{GEf z$x6da`mDvQ3Y~FB?A4+rA)h-E9*;a3ai{LlqKg}SZrxU`>F2?}Aq#xY){`w}(%)L# zj`YRh6KCO?<~N>p>*}`WaqQ46SP5Yep?*&Yp_IN$-Wd;`QpnYF)&J!l*(6dVT;fF7NGoYd4R{723xZe!6O)^vX3nZ(t;>mLDrRb4C zA@juXkXh6L`88STqi81M)~_Yu_bV|ko`UX7*4)`Q=uw~2XMXg)-}v7T~Ty{xNmUZ;J!hh zcOXZ)LpVF$f!bajz$?Q+H9&*k!?*l7qqJRyU8-jogD=gn2Vaq4X2n={AqP4HsgY8t zi=MH@!vDNgX-4U-z(#-_4eUb~hRqk)r-7{ib``K|FAQ5CuseW_1N#xMpI;cZP+;4& z1>d&d+ZKG=UJ&1ItJ1+2*a)zrfqm%0u-ygrX<#dWT?Opg3&Um$><(b#z} zUB$T4+rV#ZxwGT33j3pzft;|jBb~56I$?Kq#O~~f-PsX2a*^0=99x_!k+VT$Gjb?* zZNl~ltn_409J?ZrutCcI_&>m}_z&>gfIrGUz_#IninihWr`v|}E^Qaiy`o(>JJK%P z{nmEjZll}rP3H{mXK+7*{?7o13_B+f3U^!UD?Sj`?9y2oc6Mn%uDW3_VZ|^yBPoIp>#7DK4xE<0iDQ(3S>hB*`Tu?TIEOfKt~)| zzQgY%w@blZ^I5T3B42$XlN0Uz$Yf8gv|;-Ftu**O8cK>34ZeU6o~1Xne+l_3vXo~Z zR5ZTK7*C({+5WGiY00L!(`EvqJ3gbH!n_~GL*smqT?8@0g*O@ise`!%)uYj3( z7i&}Ss7yrHuRP3ghYd>b6S4Q?`*HmdfYaQJ4N8B9B4^4+bb6@k;NX}&QRU5sol zBffc&7X9p{8|`lKcFebS;L?uy){gnsmcDDtd~0j;(%ag-kUflZyC9Nb^wu-%-tlzi zM|+uv#j)~o##9pg659Qa@VTwh`G0rNL8f0%Dh^;<2C|q(qMuvP&&|h}v%ccmpM}ii ztl`Bm`m#-IL^$th=-G&`XAN>(hu5o-^)dA2XL|Hh!}a0rJA6idDKI)?DMefIS&OVM zW~e@fW_3;Vu{O}ij|9LyVCOS_dsPI?kRCJxsR~B;=2Y^$8fV&G`rXgEp^upc&y!iZ z=Ief=SA?|)`BAL*!i912;p%*jKjpMFd8}>)<}kOjG-Gf;vj^vBMrqNxwFUM$GM9Kv zqvqa^Zfw9$UE18jJYn27Ku_G~HaBSQ>D8-xFq@7DWGzQ7qfJI?)Onw=cbqHiZNwo}B%~|LY`(y@16Bw2QedyRFl?T{ z?g)Z!5PXB+8@wRCxe8xkD}Y@E?Ai;%W-EMwjQ~3u*oQ6*+g;%ctPbp@z+Q1-*lw#l znHRv$V(uwfpytHJb_V0zrQggG7tt3DCCov;8Qa`qO&N>L75CftFT>@H-1{#r>}y1B zbU?Sn{pO-Ea*gp9IPIX97=wP+aE#|)M$D|S3Z8ps)I9vwJIhn-Y#m!J;*+&d(=&_T zWIQc5vGJ9xV7!_^=3)>TR>iT3IjLla_JY_0z-~>fJ^m0Dxx<54xYzEf`=j$yA2u6b)}tK) zlfR|^3Sw={#dopZOY?MKTHtak_9y%!i+-BWf%wj99}xQ^T=0CF$o+G=s{C`IH(L4f zy_0o{|UTVcO}*~vgT=B|Hzu>{54YRI!a`D>sm|JRITeVSyQ#H z*<=mYx~`Kon5+TP0-qHJh!LigVP`#Uh^}+y`oa5YL-3ELrHp8$-N>2M2K}QW)2O}9 z->%NYzVXq_5eQz*#zR_v|e?*2?YT>}k$l9P@s^JPv;td9juElTIO?)~;)qPZ7BV|iA1tQ=U-Bw{boyhZQg6t~x(i=*7k$!}#IQz4-aU-N4H~ zi1A&jHFa3`FKN@6nId>;k7(E~G6qw}GRNf|6@JH;s;-BVM7~s{^8QwO*4y9L+uH^4 zHqhG!I@5{o=(Lj*)@o_*Gb1{Waj@kZY}qW;egfZ@&9ce(23O$kTTSlJLTVFTi+}DA zF`i8PWawCYV(ua00Mn{;@$orJ-tc}OI7H4S@%j_<$V(QQ>J+`=bM)*B-rF$OaDUPO zeGfAKYumT-%t=H4D4v{ z*;+Z+TG$Rlnp@8LamCi^Sf#t;@Gruj|6PBdk2`ko`f$NRtl=tD|Nr|~D_QV=#kc>> zSo`+7SJo+Ai47~fv%AH6GOl{s=nhrrt8;y_ai){X`UHJrHT2SDjnZ`QOUszo zhRn&P#V@lai5rQyiL6ENZ(&E~$MMHMpRgss6FuUM>5`}ZU-6aoLcRDHD;qXBu~ga< zU9H8HJ`Og#sqFK!*ULAY)zi6*8IcQljFm#2bM$mR=LLF)b9y@7!E0~hn~C<~rr51Y zb|{%aHm-M8XTVvk7N$qW*E(Sj*X7RTvz*xDtUGYh>vqb}$)uGXE}EOPH| zLoWqb$0JveW8s1wqQhDHfZutsD36~dA^5CCy97j@5{vsE;!pu>^2Ga^?yn;j#kgKdqKWpehk|>#=FIIvTp&%09zm`)UW@HLx5Y}rCtB7CJ=cyg@w68GVzn{8r5zLL6Wu@#1OqYJW-im*|zs!CKQLfz#n`vMy(w&AEX%>&yMj zn9OtW4Kp`4${Jq#M|4GMKWqZc&e5TDb%~AtmA)x*${O{i=K^<|Sw&iX*)!Qrtn3-L zNPIiBC1zQc!p|(rQFu7=8=tAeZ|_)|IHJSV^?=$7VX{sZ*kXxM1xJ+0I$7GQFCtbI z|T1U_qV8&{+2HNP1+*wQqn_BQxM zF3(u#l;_{ln(ogTPF%FysodStG`aDI5*IZ#=C+rky`~a>Q&5w0Vpo?tCy6b+))BvB z2{{udOU$HGEh^qsi4G#Sxar8An~RgMqmw#mO<#nD6(0^GBTl9@RR(V{XEnEqYs zpYgDo{w$(DV=Y$I>XLBYM?R@Z3ceZQqhF%tmewOW$KS;epLZ|j6+R&&2RkZo1M+XJ zuO8ovGcS-Nd~;_k(#{IL;6egvOJs+x~Z?CTcy>oRIZa)fTPY?1B+ zx3st?ut&>R)5j4*^1Q?4Yv9Y=h{Jl%>@ZGvR3d9Xbe2DXSMO+gO8e+DDfrcrd9IXq zlxk*!hlexw`KY(B<3sm@z_ft@}euT0g0)K9XNHd9$gqD-a`Mx z8Z@^#Mhx$DFK)b*`0=(}FD8qvCGk|VQ?7-3&56W(H4N!M~JPC${kZ zx`gj!^I6}C%F#GM+wjqj1+=C&1An)3h|@GL(yid{N|cW$R%Es+)i^B|8xkFxgiVlyO^}35kc3ST!X^k|6NIn{Lf8aBY=R&* zK@giDh)obcmL-dh<=c6>(a=+~8?NTP^v@Rbf5ppMO$BR{@;_=d<@=bI=wcZ^bBQCx zl242OyngH>4>FHO8j>4b`kGceb&jkW+HRsgq;`hxm)&X#nUE@ zAB_rUJhdRVI;|L6lw)yS#rVM7;w?yH|RcA`_&G1vORDR{V*`B6t+47P4k9dox> zHy6`iV>#d52Rn}WGj5OM5E$;3AUP_Z`>eN{f%_Vr+krSg_Fe8;pObYlHJ5hy%-tuH zjqea|Djqj>vKh=BjPKc3JZ|!%X0T70wPhRM7iC-&{|Wu^klA{?zkqPII?M~I~FCvBuZw%&z(WAm=4LQVqp+lP8!<#Sion~Ya zvG)*u9NlM42*OV}kMrzSU=Qk@d`%+i8>B!=XDh=N+HV9=r&=W12Ax`7x|EfjjZ$ zt{LQkEnqL=F}0qthm-+R3d~r|E}6o-ts*Xc7#QGwUe3Od&vbWui)OvEh5gqP*^4j| zygz2FOeZgp9KrSPlK;7ly|DxNR!~Q3O&p;H++M!BVNsi57xi9f$Jt4Zm#fHyY+_#k zxtQC1tn&?W219(8BZI)60S%mwZ=&s^nzbp3yoDot1ECZAxP-sym0jpV)W zl7sst`ITL%#j>CFO?(67Yf1Z?rt>bBdn47J7SkNA_+v$z=*ukK9v0B;5*FEmi`2Rf zSp%I~LROK(GOQ6kAfImD3qHuPmE;m0>dN(lTyIwOsoWdSaNXmNdl>#4rY{E{roQe7 z__LM##e2!Cn5tR!`{ara*ZIx_{6UUU`^;KTU&1fNANf9VfD*jmMPq1I}67o^sr7qXqnq`dRZzps24Ew80)?oWJ z=ebL$yZa^l0e0YY&H37ORYF^KiMOs zXk9i3etylpGVYb??#8{0{ZWcP?6cvyvD}+Nu5y#+4&mL2ab_{jtnu{Oo4XZXtbtqM z6SJ-il8S*`jzL?ZfY_;4<_Sd%;GC4a@hv;PFiG zs$={G857cnRfqY`+DY}j8>bWfIGnM4gn2m}S}yqzS|)n5Y->-xG~--o5#DzQ^1fDD zyj^q|?OCBi;0-<&eG!@l?%@0!_rcHE+gJ64JHe#p&h5}3v|R{)=?f2c zp~1D_C+)d2NAfPlL2$Q{5suRd{JvE9J9|%QCiHmi(~p~){s;Vdek-^Kp<(9jwAr41 zp33++46ool@Y)8!Furq7G}THP;A5` zY{a$^>%_MIXd_xd@SnC=wQU50__^C?(Lq6d|={@L6!d5w@Nh~I;b*qW@r^Psgbjt%$_cH&xJ7+(&#K;&)3@qg?1!uc!UuTaOwqmkQ%FC4$I z6Nsoa#*$lPom{d}uE8T>O~k*|HEn~Dqsy8~Y$^Oj6;fLtdn=-2Ut@={-ofTF!g1XW z>xQ$mTID6WZ!&+kF^^;Q*oH4?mUR$&ajcSgmdo6zME3;8A>)dX7xWP_j`5=GXIal! zLta2Hy3B9JKDx__BCl>wQo74J!tbHmsGG8rHW+s{vZIfj@8(@E@}5_buVtJ!;;Zh+ z^Cy{qTd-?RGXI#HhY!;}&kRN$jeJe%Fn2sU7@JUZnC$trhSJW~diE4%sr{Pf;1hgH z5*n%-vHf48?OMjwR(u$|-Abi=P+H=K@con%EdjWox!Jm`l zk%F`0Pe)HK3V*iL!Jjw3g}>k~veIjx=h1x%cW7{5-K*NOg4>`4xf|oX@aug3pT8Ef z8rJZR_S69gQR5eU#`A8G-Dmj^{zGU(^(nabr4Om!W8U73{DyYE;b>-MDSRa#!WmJ| zb#OzbD;>$&qIJw#4dAn-fpNn)DWxAv>tzk>H$*n*dO+5-94n9)ParRzz;E_MxZ9;q z;;VZ+To8F2U)|&Q>K?~e_c-?-=l_Kq+ywBp9*E@q&yzr@jK^I|hlBym-LanWpi)?>*tq@AKiIiJ#jclmi& zJK&$AeLwHQ@6)gp7_N)2s=0-Cfsf?IabCcAj>Eb==P9oHi)HQZ50G1Bw}+6~kwe zqh~GorIPLW(M#k||#KZ^a>h)%B6CzWjM4}M9}1AmbB_77)&o)j*4fxKGuZ~1S4`yTqK zVv^9ZMCokp3$tvt9-jFde4@#EO@$n1;}iOguco}WadR{S-<)Xe$=ev+6T zp7m#r0lmiNScZSf<~d@K;YvAjJ@y+Pu}Li)`-9I|y@ls1{WaA*UzvD*PU895iRWi0 zo(D!fUzK>i3iwn%G2e;U9a*?p5)SkrRK2aU(gt4>M*mX=@a*N%V2#VUGtJKSD?6d)MNVy=&!vv%`^T zMq$M?yD&b@xJ;jJUly6pd#5wD;D3BN!yF^+oIv2HRT+!G zzjn^-4lQowvk@z_I^tIKj95vf5qIVt5v$Fj5^K(*5%hhgo07#blId1o6fy5uqq{-& zOuwG1zHRM3wirA2MfMhspw{@FcZ)4zcbThu;2;=SP@5M7OT_ z3b<*=;>Ak0yR6}?*ABBsat1o=S!#0u6S@<)A;|m*?5%$RnVzETbLLEzdGY<|vlq}y zL$TXg7hHKey82=EHZJAboy7Vtr(W-`@GH&WJ9XFd{iyqC<5%8Z#%qY0Y`P#LlTO-K5$Q%f65Eh>7h`LcUEhW8btYUoUYQYt;T& zsq^7}<52(Nw_bhVYuLBlvXV8)bHv`K;3st1pV_FpwHzP4L^JPR#{PX^Cf?2StjGI) zs9Qg~nB0M}_yTH(wbS1GgTSvxUrk_*{0eKOuIxF+Ug_IawQ25r4xc3LEocUA18~!^ z$yTa0l{M!@%__PWINIC$TiU~3h%s*p*S42@DW~kebnD=1bUpfxnrUX%6t2++axJjh za8swS=MUewz>)(b*WKhI-6-u$-eD?sd@t50*K$AR#ZQ)^XH6S?Oa+T9>134N1?=~M z{Ryy-T^P2zz%B=NF0d~H`^JS~vjuh^uzv*hQ((WjFl?^CcGkgH2VWh0B`@+n8Ul%v#6Th+yyLX59F$FG*F z@#&tvM6>?2QgdfKr&&Mi%6{Wz)CXoBCu9{et4l&&FL4sG3Ypb4A-@)d3ogABd*{+{ zw}-;u7Y47e!CV2a?tHr@j6XY!EffwHjt(28>`g7*jQ{a~ZVx_wmgaxkw@|n$+bCTK z>?~lP2X@_sVG9KIHed$3BN@Tqw6a|-nEiP!`=1C$j`~FDIX3O@RzOsOyKDA zY^Ad`SzBvExHigB&zHCHo-Lo^UDG?AgDW58J*)Ix0#3sollR_YII%YDiB;`g53c#& zY41U!SG>^9uP8L~BZZ9VVxy;CNDg#Tw0#k|OrkG|!Ta^gR9?4gr=(0`N7zcbT#t?^ z(kEU1^Xte@#`Y-E9b#A5K7Gu=%^``6pW{Wzozgxw<|$&FTJ#^Qv1=3U$5=C~w#$bR zzW}CfQgqB3ZPMkp^pV_xb8ToNoMgY>EJIci|FWh`VZY>D6+3pPJchiDQ3qo#a_|kl zS+g41Nj-w*DeU!}gA7L2o|qy2Aaa@K;7fYjtEDtzj`GDgBe*t>^~=;5Dv!*(m}kbl zuXL+3g1zu3rt0R%*=k*9O?y=N^v#QAvwr!+i(BRH=!4Io59^9P%>6$9PTR%^{)9e8 z4?W+`iR9beEAs6g@qD{b?`4D|y^QRNUdCndUPhr_U|$v~z+Nb@!|?(;SMP1)MS2@K z6}^qzcyIGPWay*3|NR(sZf>CVCG=f9Cz1D73Y|IB+N<(l?yT})W=vBsk}GA6N2g0Y zzV{L^?^+OPhe&y-ZeAvu7|yM$sWp&ujj8j@3Ir`vJ>xm#CsR|$chf+ zFHAecZxqh+6YV_Vwe#G3e9t%YS4ca=KLqB^1&MZ^^xEml?@7b>y9}6F37A<47~~JM zo0MZmX^_N5Gp!i@47Fb1S^--B(@XG?oItB>^Azu4fB;2jH6%@cKil{ak@Rhz`hA z@`d)j>v;lSNA7VM*H!!8^?ZSk0Z;#ot!4cf_pTQR{0QJ{6})P@VAb_zV~)`BaDtZW zrM`ig)uELZ?|QdYgUk_Iz^$~E7VmoZRfC+yMZiyOrNz6RE%4)jU)@T}BMDl7F9Lpd zYx~~yJb@1aA2^3wzO>y4-`9#>xe0x7wUHYMd3%91d4zzQqy%Ae2`~g0GwX6Dg#}A~BRed>iPai~E*Qk4i-@O;%Uc|fC zZO6^uey)Oh72dt>-@O;-UfjEv{oQ+dDet>hy)XB>_afYjc=z(Yd#{3f72du4Z{JJw z^UY@9^C$6pgoGCf9v&>tqCP=j6+9@dYCSh{VpWpMY<9$#-GTeTIOAhWl{;Y%Yq46r zo@;J!2l+_BYNunaW;GpVEk|E3#mC(d_|QlAmxoll(NpZZU#zp0ot%KrHT#9CYN!1W z;`cu47H%b;*HJ6(1bmW?A9`E0d-QI;?=nrVZx6ihR?YsEZ?@BQ0^deCM(vsxspEWQ zqMlq#tI;a*!rIzA$#W0uYx8RKc0C>TDTRGpE2|}!cWoZ~mUMD^^JH%=cL#FdcjSdb@t$Vc5UnP}y|S(3zH=Noggp3< z^1{hGdYX;Xw3=k#_najE{qww+fpj?jMpnFXzaR^mv{T{Jcjv1ANmxx@t1k=7qE4nbF&V*dH5_Ycke9)14F< zQfL-NneiFTEMPz}o7Ho87VaaTn9p5#Z4$cImA*yGQo& zp2*Gi^`mc=wv2%f-7LB8&SD?B7}<)>wM(DA*^TZ5uHt56;3^O9=Cuk=;#ls{v6`pn zCi2c5yfY5mM>iY8K3A~rF=@vj=1uO#xF%xpb-=Y7W)Ief83QjJX54VaFnPE2_XHd^ zkUK7n-BG8JL)X=v+DJ@dH$LcM^2-`okG`PU_($Byz~e(ON4|ipIfB09cjI*863<|( z;bVVHeh*}PzQgZVH1}uxF1v)BfEIrLR&yWZ_r>|d-;WW4dmI1AZq1w%6klAx>Qh6` zSln;b@AC1@VCv)4_^hg3)Q*})jOU>wtG1-Qr z(n~(cSF!4$862$oeLS<3x<4G}RZ9*MZFeDO4E)&VZuf`;tv+9Z-#SCVhrR?q&d;_z z`@FVif2Zx2y|$}3w!**q0nZZysKn=A%{jQRhskWkC)_QbV$~h@S;en=@2fiQbA6mw zeN2pCq~=toqH7<@u-4C|ZTg0IhdXmFFe9Pm;{;8=PP~_6;yJ7TS3YvVsFx+(N+-*2YU9ovSYyNifd5+>!;d}wt`tPR(6MmTW-|*b;@quvu)G41i55NC& zf6-m-k`meLYF+gMgL+&g3Xdy0QdfUOiJRWB#O$ya-&rtX^?%Xlmbb@;b_+RP*m?fV z#8noQSjDWjgNI7saf(&>dqezX#*oM`t>Au(6Vj%PKN! zQa>7I47zm~^H*~oYsqkyr(zRUBU`ZnGk58h|3JjO_DP>pZjeXzGVeX0S=UvG4@ft^ z_XFK(^A!HW7kJM<`A)!gscCGu10FE&k>R)64!u9dCvj`K`|7VazguFOneLSn3`=50 z?Xf>+`XbU##75FpUlE53=dDV&YR8g$h<~ZWV8&e?yxdGX@%C1qO5WWdzKix&`cn1H zcFX?&^J%BgE!v4+eJ%ASo&Z<$ckhaz+h-m5qH9XrO4^A%QDP-APLt3Ld3vf<^dfL; z#AlLX=jiRM;5uTd@V;oB)L%+=`z+>NjU`4wMKb$bBW|Dd-~_zvwE~-cZlBFQ zBM)C6&U*4!N{k+QrW~!}^*%Sahvx$kH&pGt6)bjlnpOV=bKrN( zF<^n=J0sx9n5_T3VdTY4cZ1-0GU5(kUJ6VGa}xYoYhqhhO@#hk;H9UW!)u}kJK!X> z_uc}R_CF5i`sHk_rbf2xi|m@nzrQKlO}1{SVOvx?Wr{SxL>idBD)YQyb2iMnL%GOT*~ z3)yCOkEAGBBXHezq`P&W@xBLqQiI>Ed;ppE8My9ct|G_z#*>jBPj+8pEv0p216)PG zDjrLn5ItGR;?P*18<Q+5Z=;hp)@Zm3mazO)-q#=)9ky>jWq6TUFo`sQ-`eFtX#|6Z6@5I^zr-loazB zy%_g%C*Ygztls0k_JOAZsz0D^ac9QQ1nIBy-v1hHXPte&H4VAZcRacRxt}!N=f?0s zzb5xPu%E0^cRC4u;6WwV zGthUH=kOe^qHxS{oiTlFRHnWhT_ze2%Jb3eNY#o(@OaJ#jf{xxojE{agv4&^I zQFC@XcyLVO{s8V{|42WXU7>5j5y{0)u@=-zUQn8~;A3o2p{*j*o%uzCW12gY-`(Qr z?tre?U|&S24~{ML1@v_-aTjpjilcm|al=wV_WEx@HT{PidYyY2m+>7E`c3*cnd9usc*j>1fN^J~Gv7k+U;uD3t{79!s67e1Bk6Wwyba%)5Ioyj zHhRIH$oDgLQd?M0cjxbCt-pns=NbItgV7P2G|L)Cei$(8nKQ;tYCkh)($RHw@1P^) zKI2M`2FFBO?Vxjny;vd4Cl!u}u_5<$Be4@}Y`}_cnU@#5=c%JR_D&?ycAq^E$xtAG@Lt_EF_dZ_SGxE4lJ+-8P@-w23ga1SUqjz?r88P(y&L?HTx$4;zLPz6=3e+W79DWvSL7<{lSIE`H%V=bp7-O(rG5BbkTM1xwd{hBDS~c8+$EXPc5$*Jm%jJfL zR;5S4wlf_N0&1--Jwj~9X%iuVwli9b0o%^BS_E`zEmnD`2*2;z=j4UZ&dh)2&*u~N zJ?E^w_u6Z(z4qE`uf4X+sdlV;p3GV7J&^Jq9}~BAJvyH}KaM^wDR5Qzo>Z^HZ^zqL zTGOWdES|$Acbie(eOtf%3BBm{e!Ek;B60i4_9kOo>h^v+Q+izY?I+upms=}UB<=d00uqU18+mot%ds3BePpZP6#P3;RPpb0mNmbaBs(gDAsj??k`SzqL z>`CYO_9XHtds3BePpZP6be?Zds`BkgRoIh&SN0^}l|6~HQtU~Tt?WtXIoOY|BUKsY zsfP8rg7@ciJCAf4wy`|mrm^uRFeZ66 zDa%}0>zFJ5W=%}(Ke~2KihU<N{9%CWMDbt-;L1rN)9WYh|-yG>%O zIA(W?pZ|OE-U*JW^7h==lT+o^Jx!UHsBi4WdG9o0CZ=X!4;$tC>im#r{B5)XwI|@^ z`(e(EV=eM$X6&bpZz@k~!RTgAtD zH+2gUZQhTvOaMV`%IJP+9RPBEo$0r`hO^(RYtmWVr%>utF!Do81@$;k) zPqUx8nphFiADqdZEbTsg!nzo|+IkdD7JH?8AE`efdxeZa!=q*0hJKqd^km;SK|D0o zzpE%q?C~??z4xx|k=l?h=W*FfRp0(b;#x>~^i7reO>8pZv1Hzrh5-*cfqM!hj&gq; zl&A6-^_X5R)FGE?O3}vwo zT=0uJY>UJ#UQJnj^89K0sejFpm}p-7jW*Vto3FNO)?F>*&Wh?_Z+EFl3+TpDDEc?s% z)0TfG&897q-cMUNW2yZ;=L5Yu_m=+XXxyBekiK>&tfk)%orv%6fd0~7jQ6$5kN#TZ z@81xU;;<#L&Km25k1kJFb^ncm%K)chvDSSf8GMp&*L{X~o@)QxkI{<1h{y!JioU;U z%~~bbe?wk>52h`!ra*Y8?QY=<@qq(wviGiTo}yV<;!4@mvCQtNY78rQjd?+z3=d8= zDpHfv72T7KarzYI?I}iOYD&7YdrEq2>I!t8E7G<;)u>5Kbsv08>=`57JeRfpOC!@Y z?B$G4OhSL1WR!JJa+kaS-B*rqgTG^~zp}`^AA4@jd+6?ZeHy!a++2k`m{!NUQJ+4) zJK|=xurJh9=SH*SE{wu>Xd}AC?nL~4Ift^9vx@uizf0A}!<%G1oIua1cb9geFD$K# zFJXTyf}R?wOvIPJz}){Ve>c^+>GkNTyXxY3KjvzXLlyYaRT$<*bzCb8dB%J`@kX4crdk?gj2q1!tYz%y-&@z9jxf>1zD_INzbp zXFeNH_$gcZZy#g-m~vTv%02Q@hV@&@<(-v>?_Ff4A%5`jiRchwd#9ZW{_twr`wHji zSJ4;i@Rxjv{X^!@vUQ}6*osKkh^=tGUG>iV_#xn`d3WehbPh?CkJQ5WAz;U@H5>Rk%l=`0vu2bfE@fSKsT<{fRqjuAvqx~Z-TUy~OJ8;Kexr2~Z_L#SHGA#B z6uR(b1J93Lmr7S92A?;~OS$*|WDtI1TPps*lY`HX|00#HNe#k3IWLtyuY2(MDS>}` z5dLX-&ejL&Ticd4h*L{UKKT2dy13!OL)#MW;>To7mGF3XS)IES{#-gPA-wOVXC>SW zefr>`1hxy-F4Gd;IM|bjN1mns?@d_Ku(^bqRE%DykG$yBaTmS%2z=eQ8r_oTeI3|p zrf~)Vxzy+AmbHLA9P*gxz40b|I%mRHjFFkQvWLL9`@v1@5hXo-O2X%?>*Dbi&-W7^ zR&YyMoBv=2a0`HAod%p&4meN_XN@%XU3fLTm$k%f*0b|fna&OHJ$kvEWsAq*S@JtK zFfK$_H{fYwfw%5pZ6P=~H!$A#Cg=9u&@NSOt;PPP(SZEfwzz*U)h^q;n6voA9!Bdu|&p;#4a0n_n5qUbP#4k z#}aRD?F*uF5vxO=?~RMLHsmzAl$u}hDND8Z`^4-U%e<>6fL-Lv`7aO7xVyU?E( zzEs=4r(Dysr2n@u-pus>PLHo2_-)i=27af<^&KS=Df?iumOtU5RJ6FI|lQ+&zvIxCdRI_P^MJ8z2L4zR6v&r!GBC|GeVq2i~Z2Bk=Ioj@G3s6Q6gk!={yK)7?UMfgB72^cgBWw^S2bN z`@t7=x#PyJzTT31ZlrwY*H5bZb2>*ML!#H~=_h~IZk(6;d>a4k__5LKJyCB}swlpM z{mNh?whZ>1D_2^oJ>b#Ldq!DkDP#Zh&c8p!e(6)(h5iipi#`DSDr9j#d@FaggDc@UfC2VLtC}wkx}H-000hw_Nmxn{DM7+{`kgJar4WjIho`AB;6fJ+~m= zqt+St<5rK!hOY|U%;R-pk5+Y9 z>KKGKD#Oc+@rhfkJ@C(+do<^4>=o^QM5bdy$lp!*FH-(J+7O?Q8F2sQ)YR(y!#7|oKx7pQO*Pc z|1ZD;yHsdNTcD*iZ4Eq#PeVl_Tl^*+IR`-e7dN+$d5EzIpE|qY(|zQ*=SFx`VD;Rz z@Jf5JZj_~R=rj0a1m`66Y_|>i2ck;c8#Rin&cfmZ+z$X4ER=lv+pGD%j9^}%> zmHgH{*lP8@NWHI7?~5pRCb0RGNt(*1JkkU)!6ns+53auFQI34i12_4e2X6A5Oa4Zl zbIIT69{IB1(`Z+$Ym6WI680NOZvzL?R-UWZH5%pJQN}gzzbNB>R=kz{-?5V3D>9H2 zoGaGNV%*MRtj%KYY!+i;wjFzIE^u@0vN3a!^K%)WbFd4|L0=Q!;M=S$eYV^!B`wO0q~9;mm@ zP<0NYiALK`uBS^obv+t!52Zar+t~Ii-pTsEg*Gl4#I+5(k$xR^rulyR(8mY*?*sbp za|)N??R#I9W9rie`%*jV^@Hf`_;qTsUerVfk@jG{B`GKkNu^cz{94(KcI@DAOEvLz0;;wA0i5L(Qzg78W3#;|9j?Aigm_`=^z z|J~-jYwLv<8^orO#&$7aTbrk1kAGL$)_mK?-m|~q+1AuI?J0@HJ6M-~-5_3F!bj8t z&xBH+^YCih@54d^-v;907Vzz-#2r>V9Rxqd55Kd174*KgXVe)HnQcdd=L*6ZGHZLQb_#V)wFc*})G2WN50do=Ft z(OSB$eUCW*+yh^)Sq~7a`D-TQ(mZa*HW%?;H!85XS7eZ>J;deL1M!{?dXJVf<@Kkog@V$GEqno3l`qUGrLzGwq1-OGVDf`8r~z z;|Ef)u1NekBqng&k29Spd4+;3dp8 z8CACU<%vIae19*`8=)DxhqS*URpj>c(0=x9wtmPwl)}e^d8)maIm%RLpXDsNx-*Ki z&*BrH&L{W&Mrdcre!syS5?}fU_97RtHiw24i4kHaFl0Y}S%^JbXcA#wt4LVH?cuv_ z5ub**R@2x=*h$6?2~CK7PIjU7Pz_?mx5yI&xtODnNBEENYz;(Mw4 zvm@+p#My&YF+JWuuQCQmnyD`oMCsLpHBQ4>=nDPWqjLI zF;yhihS>4dS-1L5>S13v&AP4=9R>dyY%|mc9XgBI=KwB@Zt=>WX%F~duW-Izq)Ut# zRsLsKH|}~CzprWDy7AGQD0>Tg?$6Sn^sudQ*~nttI| z(BY?E9EGMI6X)hZX!SPl-{k%K@Yg2pIVQ-AJr=kySN@C9u`rI@T`wjb}Q)%DxLZ2}7q5tK(oT1;%@BMpJ z`~-Ij^f91|_$C^xb;G1-(YdI9Suy&|!fd-$Z z4;LufIRErJ@Q0pL$+Hc+*y-rgi$9gnXEC-eW41@5rT7}Q@4&a}uuq?x@Np}}UMD>B zJp1TJsZV&x&@G9@^V_Z1FxU?y7LOWN`wv5#U(v>&3Lnt^_fJV16?+5zi}$dGs)wet zk1Jm2%+t!;oxAmT?+$1)OKg<%7yUfJRckCaeJ?zYu0H`BGcNIhUcqK^A?HN4f!jp* z`tJk+bl* zoTc*W`T_V#8=l1;G!j0iO|-?mu#Y|2!^oQ%UO(c!`fwh;SAVn@VxLW8M%r%je> z(@bRY(6*4Dwzx}=g7@Q;2|VSwCb%!9ox+EiX~f5vh)wGiFTRNM#iOs#7nDDhI*IRb zdiF}>7-;O^+6X;(G{b#{*@R8d~KH;NGCwAdOlmY)RZ%YgpYZ}k{ zHVvm^J$TduThAOcZI$jGds6(Wi{i`icg_4GKIJ3T{?%W)>m=T|h5Ti@ch^Z`r1+7F zy)FJhhs5y@#?87!y!A<$clox3cmi8wk7T5*_XpyEnyd8qm#1ORxeJ;qz`iK@kL>`>pJ&H1~l!X~Qi#`zh}+HwTRR zJ+xs5=THxD4)qA-pIRqiJymSfuK{)`u$zGGJUwi+z|H`63b3<*U37X_VpSXUCBTM( z9S3af>0ya+4Zi5K=n0b#;KzUDv^tDUTx{?Kb}6v<*-!2~J#3l67uYGl&IWeT>0!qz ze1Q!EI}X^|)5CIyno*X}ER%g~Qte5O?7AwuQue*-WdEYduF$Il#=C=5uUezY`mjy+@@2NLc5YVr*nhCg z^m!_u#NHUI&-3z`&$0$+@$zZM2kQH)`RWS>^R<0YD{)prnTZzhThu;Zf!dRMSk;}g zuGuTMeod#~+HU?(QfsOCBk%4->W?Y-YlhT+tB?1s;C;J~_wC?)yTJH&uHNRi_s?EF z$_Edpy?&ge*3t}Tx8!a|=;D<>Rq%8|nXj^ri^%@FCHJH#TdxdtrM`XS-Hf7M?i7{6}J3H#}^V-4MDx}TU40RWsO?)rAY$g0SM%Gw{ zF|G&Scrowca_gmn-1(>A_Z;e;vk z?+#yXh51Izt@PAVV%kMGD^$r@qlt2sXfURoI)gd~-@{Vfd834w)H^Sw+)q2?6`Y&^ zX_EV5h?)~mPt(#@Sd?RcQyP6biQagj=A`qE$F1M$$zJG?XQ*@G)~#m~8}|5#IDTow z15L!=O;QK@l;H3Deyo;!yGVD6kSXsjHk^oYJlPuw#vh$6ehj9&jCyuPm@_Zb+(&QH zoW+6T*7|^E8SkEmFR;*i@q0X4gq@Q)A01?9IeUK_`5<0Oo?RuHbp`Odq~1B2yJiOd z;`PK@GYw)NCfp4Kmif?!i`-~ZUlb>f_>Ro)~-o}1=j^`)(;M>Ia{1oTsc4_gJ*P%n4e#E{j z{kZK0VqUfoS0v1L^bq-uJ}5DJCB~M-rgeAXxA-9IyNAAtzaV-xzIpL9ZQ+J(H-L_V zZ>B@sRqMv%n)|1RXfwRw#}-xbL9aQ1-LMDSek*%qovamZ@?u{SbIW-JeMah;LODB= z@aRa^;rm!~?_;gsNBz)d3bctGf}hbHLc0feZ12JSzxHSXZEB!Xjo1_Fg;x0UL61u4 z@lYS@taCJDd%l+5K3+3^`f1{{J_H@W^N}DiZI-j=@(o27V>>>r+ph%%zt9)IDrdRb z<9S50&d8#DtX=;!Ufm-ff8j;lz27NC3}JJID8duU=k3?Ou#NK3!NND8GqKK3Q~ol8 zv{{S0yYzUFHKf6w(#uC_1G@I>ODG@ROT__|@=ICsE!C_Wf6Vt=)pzUcTk&_qXF&V` zu4yLTE_h$@uI{wA!vlNuy>IP*3;6);>8HwR*hT1vG86j?bdR+{`zB4s^WHBWeqP3- zjA98=V&k}5xjMm+r-ed*m?s>txQF?8e3uQhKs6C9JK_ zC(gFEkG$o??#6~TYRfU=abfG4q^CFbP|g_YivG%~jN{zh zaz(iz-t;nE&v-Domnm(DeR}X8cV)XWU&2FPFGQ`-Qvk~|s_$@_3 z&b^13*TdT0qpuuumPQQX%X5bQv}F><{;!nz0J8TKWm@Ke6OP2?_|g{q^AFWo;cn=@ ziF=r3&NQFk8|{lh`v~#7l&{g{{cRN<5M2UW#YZWtuB&i6f_UAak8cL*`>D4fphUJk||=DSP%Elrvm^2_5{1JK!S&`U~;n zoDt|S@2v_sau>&8(w_HD$oYKnn=`og1=}U#a~<|?^v@x8z9?I|(p|bX8KS$CnnBSs z{^Gqaj034>@7t@m^QDdTxL4QS(Q@C*ZTQ|XHk8iN_Q-IZrOg?jNtxGv?zwt(2rd56 zr^Q;27MWN3>FUvCcccx{2{xsj(&alk6r}@@ZVrAXO zw=w$1@zhwWrSNAp14em*bujcPXWm3Ed9<0JXd`qHUKHP4#*gfUiZ2DUWZ|Ui0biaD z<6%2C#;|KX!M-4HL+GCt`k!0>m;0cCK8Vl<5uJ5UG^~6LSB*)+XkNl$-$#(53)uKb^Iow9W9__Wu)4X&;@Qr|LdD zJx{g0Z)FKjovM$!j{Gn7@yF=!zdx?J-a0)Ev_G7l26bO`chIUf{9@v2gmpAAw{ zi$6PeA*(!g_12vJF(WdXxiA|W2r2Uta?P&R`OREO%vHNe_vc7ur|6##4>Iodvfnq_ zE=!F@9*;(roP{ho6IpU5=f=(SMn-LN4{r@ z_@hqhmAey_PFMG2dQu8KNawt5A`myff$rAIT4y!u**%)|=qhyRi!@i(p!gDX1}JB7 z;GlbG8n)(Tdi+gOcMsjf{u|{!ieJ>+XR$FCWA~d*EQzJWlH7-#5gRGrRlKDCL`M}{ zM(Chn2e$;04{YaN#`g@%T;=UyE1cR^x^JGVTRlq*hr1KwZ+=!M9@z+Fw%qwxU_}$z zgF0!~gOfDC+$LqIcQY$op7e3!=n#dGul-gkN6^fm!SU_x1+CNf1R}(9pPu( zEAv_CQO{oOH;<{iP6N}h6M5w?(7Zb+oj{ZSPFMF&O8vm#YwzE!=+Uv=>RZk|q3fbn zUzTpGbUAW+UDS?zB3t6S5<4X-@m+0|@-4)-&=@I8wQI0VZ7IvVp8JnSV&5yrzQ;T< z<!qt*KHf8+O{OA~iT#eO^7 zAw0x>ZbJBpJumhs_Vr*>Uy5HTaMR&8`qjN>lY&c+OG%$AA2Hdxadu;~IlNJ`_V5lI z<3~0ro-iuA1%EHb>MVGE#xmMR88hH-Y2Tv9Rr}KHw@X|wiES>i)}1}eXgg)R!n*@u zJ%03YVyF-wW^96WEqPhD39R)B>%My_Y$t@3feG8`&FTjdxR8 z1^L^;^JiZ(L_qD2S z;b*Ttd6xQzK2!g&XQ_Yacj_PZEcFllPW{84rT+f!ti{pK)cEye;fYR3+v|}roV8Fo zYZulT{g24jB4le3vbBh@U?E!zk*$TuR$@*!6xtQsL0Xn7v}7F+h1^IO z`&@kaH^c@o8h@Z*a#>c6yQD0k@rx$m3NMfN4yim{*BIq10_pOfvCbK(Sr?DQ zF3^LG^T~i+@gv^B`*PkZE2Ze-<d${PC?~zL6`i4j zW15zXTTfo56s_XHGTk~9JZ8O*jQ>re<_0%#FJg9%w9U!N6d4`M1L=;R2ITI%c&Lf< zog3M2>)@`np9buWPjJ`$MaY5+(7C4-ILnuNav>`6*l!mTRh2WqeFfrsn;c1=Uyq&)$A=mz*G%J(d<&+k8zyEbxydmp*u zeZMb94*1l0{V_q_+d1WDur4Sv;3;(IB6R2?bm&5K=)!bWqR==`FJ%9uz^G0YScntR z5B&L>`B<%iW$pcY)@`F%w~c1qHkx(YS$4%I&a%rAXAz&|EIZbK4sbU*KnfjT<(cRY zXWA8;&s2KLcmevv<{kZZyn@g2W z!s)0ae9rl$TUY~`-g(69ZnUsz)lQgspOs&}tF|e2hZU@!QJb09-~^_%^Bi~b_Dy!e zX|YKYE4=|b(`&4CQs8hsy3I@2%ie*v+YBpI!u~_K+V@OvWDQ!bo3eK<{A-u3FOd7% ztZ+#7qNrQWl|6j5QJyZ?+i0R^zJ^`Ou#D;}taQaTD_x$poMj_4YfC9UzfWQFD#Lem z4d)V`!tQxRVS2n#XpGxdXvbd5Nmr!{)8`vS>DU$YMYzapzA9Hvv7z$_IpN)+f*h=Ctm3MOoc6TXz&tgL=h}U-zJJu`DO>TiF zQu#(@BH!h_HN2i@ls{xizmv$cL=%E>v-p#;(hY z_rN>-^~?dLx-iSIQxZQOS=}VK;G3ss536e?byauMzHVSL;3F`p;V{k8u9tw(M>siI ztP#rb1Kv#hd-mSdKE97vqr!Uxc+2^3zU#xk&!wEIFQXRO zn^`a6E0}p!cun~y4lAQlzNh&91F4hmO~dn7$oFo({}`T>@0pWvDCPS|*L;RKCnzu@ z+@4j#Vaik;#jg278H4b2B1ilr`|*e$puIK7zVhy3qasx*J~xy@d;11p+&6%!D3o~p zCDxK`jO%Q;8$z{Bv&%0jp2xj~r!q?{P%M`8)^)}wCQ_jxX) zF5)uw)Ao91-2ER-H#Wsg%OEey0 zj8}KlwnS8Xz??nMkM(6-+Ed0k1!R+B9)<3D% zEDEQ$`vli)aLO~P^ssCGs9!#LII*@7IQLE9sy>lTKQcdchuqB1rA~MQUEYU@6Z;X_ zCGx0L>3S7vEM=><^_Rn%2--!A3LQC+3dKYJ2Hmoe2jx@>jo>429e`t<2t8$NBZt(u6?x;&A*+xxt)85bdl5uFnd>QMU2(j=6*=U8 zXCAW0HZYH+3ghihNqgmYiTF=D(^spzKHNFj6>18@)DLfUn_?SceCEY_R}I2615^D{ z7@P~^AUwUK(NR*EbdDZXgXhk7~&%Md)ux=ZQ5BE=^$sk1v* zeAfobAeJa&N6Mfr&(U@nm)((}Fmb7;A|+#YB=pY`-)nd-2j6wp+CJTG-w!XO3gV%k zN*N>46*}M1+5PWgv$11>i(Vk{KN(Z_txqTByO%%S%=fbHu)!H0iOqxTqrEBc*ui?* zhnYQ{Hohi!Up#Mklhn0c7F?D|leGe2%v{14vAiTAR`zd1zzhIF@O z7T@2=g>UoKxTxu7K1=1qufneIg>2nAGaG;4@33dQt~h-jbL0JAL6+TZ8RgyC?$0^1 z_#fH2iZl5~f!UlzIl?EUN~Tr8+gE{y4-@~xcXXqw8(jw;i`FA|;fJYFV#{MIz@Iz* z##GAIr3`4#nY3K=xf|Jicg`CHmODyqAG_qWjDdgh4~x)AdSx{$krb;GY^ zZHEnJ-xS)qF38y7J3Ngp;O;1=4gUAH_&zozb6$~}pUXs7U>@0VXt0bofr+7Wk&QMm zcQS_2Thin7VQ}v20=H81-<){nd(d@V0rlp1x=p>OyUZf5*N39tmZ-HY_n7fJJPfW0 zIPNGjm?Ptv??PXJNezejyDjLrdP&?Q9!It4L-0-gmH|D<75x?2LmB8%k5ex^D7-TS zCN3~ly6B~O5@S?koGZF^|2+NXA@Xd{z(2sM>v?-)ub|df5?IhkY z->GMV&=*`sGQarW`sW6b*BPZZ7NC_;uQYPJ}FS zCu8T^REx1}v zPL#DPZLUx-Swmss0#lLT4kqSpCEsLj@$30J`6lw5Z&lp|(1N_X2k>zDo|bsf?Z1Kt zUqY`;WxKt-(4t+==VI@hvki9lcnsD&Qf%@_TNeQBk+|T$nUDUy9?ZQ;yjg+Uv%@{{R6nUe^PZ* z{x76%zNdzLkH4wvAL)j6VSAEw!b`<&Z~I_=ghmc#Sqv2Hz`QVttXwSKo6v!^u5gaz0nt&ud=F zVSdPiUf|Ow?JaP7R}Y7&c&QX#L{8`htmQ;zYK+k5-C>Wv z{rbS$dB6~!DY2`s&sMq`=f4c*h2UENS<^vfZ+hpnO;IN{|XaNHLN zFEcKc9#ueJe;lS}osuCoXNY}yRYW=Ps$b45>Z=yJfu67ArjkXzOzekg2Bzw6SsM?? zGj(pF|9g{^u@0NpJHRBs2RXyNglX0e@p_S+{WxzC`e8>Ia|ZPxZy4vuH10_qgpsv) ztgwW3A@4o;8n0&!GqeoO+^5e=Ba%Nk>g?%_uJLJQW8sobq_H|x7`w!qp%%v>8O(W(KsU1nmJNChV6JH7Btjivx zDlgkFkCb@;oy;h-qkg%hZe}%h=a2`R>%)>7=Uq`~=lF1>Y33M-9iYn0_u)v>0@#IWWRLF8j9Yb1g&e zjI~Ma9P-_?j5`@5Kjq~6<&fHWemSJ@R?rQdr7IZSFjZZowzey%@F7iCCxXbVT(=!P zR?0GbI8r;{!;yj$a&58)WBM?pcF>0*6@Pc+26NSJHGe^`pu_nYo74_%3tH2m0jY6* zq9~sGN6u({4O+?jTxhi|Xh+tYyn{~Lf@ySK;?lDoTnwFn*&TpRz(jB0_hRh+QEh#6 zTQJ^E>{-Ot??+PiLNo{RgNa0LM zImp>A5619eNbP_RLrU9OXKwRgOdp2S4*D>phRpM z`F?q%(8?~3?zirCt=h)*Z69RR~TB`}5$LkgWd7*fg^5f7ou35@B( zkU}R9h7>vhGr&h)U14BCJ`5>!0khvLC(AE~6gqk3kU|4s+WYC`m6Huj)Q2IBx8u98 zG|Pj@^~)iJkGyh7!6#=3A9>~E1C!^&kb=)hv3aO=>ARvneWK7O>eEN;A~{3&$b&I< zMWK%eLkiB6vyC(7hF6y9mqiMVJUCM7D;~m2URhyaLOu*BWfc$MB@ZSGn1~NU3Qi?M zc*%pw1}5smkkWo5t!zuZ=tC)Db0^TtI3MTnQnt@a*>(=Ndb~tA^l!e8J1MmCa3=+K z*3iXX-|4$@d|Kr|s~n$J5(6i92rqds#;zP_<-w2wQ!<2?JQx$0pbtX|?$kBFOCC&k zS56vTUE)teFRwgFcY|}5q{uB&XhYt1=0$MyWH|YO$@Xz3g-%|6QqgPN6>GJ$*x8qV zT2B+F*){%NbhToM^@HyNV^842$ntGDcFx`${B9U~q`TA5i*LIP;-2y?Z-Klc7OK3% zA4T7mXYIxxh1BM>Fz?s_ly@r_Ym!E}D~NA_8~C<@`-8Tj3oO#9yTo0xowF3gjvAN9 zcEiVztKeZu9`GQwgYV`!d%%O#+Wio7oqWqjcJnRtF6BKWvYU5Hgg&G}p--M2aq^s( zmmsqp-Z4jJ%QtirQgnknHRqBtj~2U`Rp6o{|B5-&(=GBSN92()PG=pRV!gLd)=E)l zhR_InW(bYm&4WgHK8^A$)-~(%dEP_+klJ~>@>IV_D*dAGD)4!!0A4Ead8t6*X7DVy zk)jV2`1*kC83fbgy48MY%d0Pb-_{KA6+O!+OP!Tw57#(XKP!E1_h_RkH9B3D7;T)V zk4~T0eWt;FF7xM^#`*f0>GQisu@8K<@*fj_vFJMXXcK3w(d4XUo7wVeK0fa{`-H>Z zUxMCu26aBx*<-VJZ63C(WY14v>O}7?wPQMWr|P35uQO1db~SZ>aCtYu<^Mc7XbFA;%Hp-5zV=ot6@d39hb$(N4 z**brJJ9D1oH#XGgr#G1Fu?p<%f)nRmm#`MnHSx=@eI1zcpqwSeo?vRp=gm^1tcNoT z87;XQ-~O07Yx*CupN-!|jZu-QaqFMK_6a{W;eYXU6TKl*W0YqoA3yQYX0Wygyv>o1 z2u-YZ^BazNd%*L7@7izSTabLPBgbn)<}G|MiX6$`i;XhajUNT=Y46aIMWNAxzrA5q zjlD5bBfs&btFbq9uqN0HoQ}S|E?@;|b1)T<^6-bKw#<~A=Od1&+S@-fU7reY78ZEU zfi3G8g-)vcZ7uwntm#XzL9^aM|CakZlXpHtTflEw2RelwNLMiL5IdJxd0O((5On4* z#$Sl_-aYT-J0Z#}*c}zxIOMbQw&cKfCVXeYcP4!t5`JP1M-Q#X2i(;5E-^n4pX38= z?E4@5-TP|_6n&ee4}|`Ee`&t4pg`;L>GKBt<*+J_qrKdBZ3HSY|oUN!nU_AP%Gy^%=#L;LhAD9TH7Rj z*mEKLu4qdipX=cgll%%72U=4OxUBPW$#CwpAD6nD2gXFr=78iGio3K$_=LVctkO`= zVXyDVuXwJ_^77Ze$+{drBKRUkUE~{Rzsle9=3t%LjnMpU#uaPkQ~~3vK=_8UJ2h%t zeU@>x+RPK4cTC!$JyRnzw`1`A17-o^gf`>j-5<2CUu@V=P}_vBfZ21c{W!mS_FQ3^69V>={GM<*@q(sZYCpyAzP56HUuHke??ab< zWSLuX?X??67^Bamx12ors)){@{36%JlM@@2fOy9;Gj#RkwFONR?GLN%&sH zea=AdoRIJ5Z!RZBl2)?*BRT&w#XA=x=OV82-x-soPP?K|WC?vBeH7!&k&K%<<>$8M z7ZNkLYf{PH6O>_m(+SjRANNJ;IY;@TdF`t0FH^>@U11`Fph?*lXqzeO+?VxtPNsDh z&syh}+5b$O=Qr#MejjSS+{u*J+LiMA+72hvaf4mO?`e70a}H^oUCr-S^IJ})XPI5Y z?|tcWoXnPQ+OaKx&c0V~b~3A8vd41P-^?JR9u7L9u|*(9g2r*9!yNvdd69Mx_>fbkfm~uv z=d5A{a-rgx<96Bhk8^ebod=m!L7$DwV0Y(R&Gut<^~=ZX%GZzERU3|5=8})R zv8ugGxyKlH0mdD^E-R7Cde8}ymp&&xd0Vn*OT_5d4&Mcj39Y@@OD49MXDBmBnbcb$ z_4e>BL%sDXuU$sHWBC?)nff;z^Z2aiV*Cw1vO?QG^5lHmb4K}+kJ9CnJ~AqTA9212 zcpu*l8#Mbd_LJ9c=iJ8Xw}Z5G!!gP}M%l;gwTy4+|Hpvc5Y&VxjJon7m6m66 znJ3jd%QP>r?wO!D7Z<~ab?l+`)XDr1KirFLSo)+#OU~IC^kQ>QKarf@r{;D0sh*r< zNY1`(KW0=cq24XDZxVHL)s(3b{dnA4nkaBvLc$4=W7jxpL+5rihR zuPms}<2$DKutN*Q+g|6zVK+FpXoj%0R8y-40qxu40 z%7m50dF`1!LC!JJ<_XA3{3AVi_*{JXxw^ffj4{di?UT;xpnqxTU&4RhnVk$YU%`0B z-%pjHWPTUA0(S#Ev4pwtoDWWio8X0vjtFkaV?6-_c%vhT?(u}gNymoOueWHAN%O?#Y?u zW zsYlM4x-pKnR8e-Nk9WVk8E3*Pz;tBbf4(CJ1$SZ#9$)jY(y#96=j(o&N*n|wt0?0X zaS#T^mf#>XM(+J(`LYQ4Qj6avaz4Ivf1R8yjvqMy53na5&LI0Y1ve2$>_=Nh-^6-SCO6YVz!M8QL;qjWMvRJB6JukOK7h*PyWQ> zET(_Q#m{K7nuq&kiPv_oO+(vGy@PX-H|M;^+<<>%D$3k|kK~waWDNe8iEMl9_2AQx z4SjMt4lylV6V>9K<3FstCj@V_q8_;+8t!Pr8V7xN!Pn9PK9>5)vv%KaV z%o~25p39KQlz9RA&m?LYHoJT%Tdahajd+Pa+x$Aw8 zr@F37*Dv`nshPp#>Qyij+QT>pGw?HlO8m61Hlur&MWnFUUOxvp(S5pgCWme~7|mudLk zSq80RrTG#MQhe>L?66v=h~K=7Stm;Q#o21T!+0u`SdPiJpNz;nnVwui^-d~ZlS?@`ZtwZ(TlL!N6?{)*qMutKv!D*yftUnj4>#9_Wp7KB)HZhtRb zvE;ql+25UPh4;iHURdqyr@O51fy-sjQqI&QN7FBvN$4MKYEBkkIaycM{((Ly%f=5G z{;zuGaPm>k3M)Ek%jLbyBM$3xd+jq?@ko}{Z`yyN+q^ZjoMiKFMp=?~#r{#kyUCwTHRyk3j$&DYP z19@@^n%LTn?+?-dS`Emkwh;F<9Zlw$MSI((bsAHGN7EIPj!L_Swc~>W5s^Ep@3WrAs2kv?0mg^QG}2^}Z-Z5iVO<9FlG zI%U2$Hih!!JgmKTf1aBE+d@T2Y*PN3SlMFWmHJc7A@JUJkby`0BJG_Fb;l%Omf2hWFR7&eb~0f3w2LG=)Sj z8Kx7oabD~sUBZ(oy;nMFjZgdAL&NfvIAR|#etU90!F|A{5C{c4{_<=JL+kYNUy&GU zUpU2gq6wX(Pxy8R^T+mM{d|yw?)`i~+dgK)6uE$H z>P=*kw+>}JD(fdD%VkYE7X4A=yeWFgl8@GW-?P7-OizzTyZ$Ki58qV081zZvjp$kZ zabv8*thde%1ssVP^G%a=GxJQ}p#;9N=z1ILh|#Iyk63>E7(?<)44G}phV-zs1Nj$0 z{+zHvYta=LYu8XIMdjg!|_UY{~fhz(gFNXG^|Q*iKZQeS@}>lgd!}`s-F@ z)Ty(>B3B)A(h0Ez(~jZ%c#1hlY)W2R;ftYd-7Rem1+3jonl&rLe)0C>4)w9$7g?|1 z{I;?;NjwPPdIXOB)9uHt)%EN%ZNyF%0(LN;oh`KV+qxP%5%;D8lkerBtwZt*EyK

G@$9r6A>^j)bsanbpMH!6=snC|tO59TDtdT(M%oJ}^FVE{==-5>o_20d zE4kZvaz5F!RC7?Xzy4d%^RYfKWIf2Au^yXs0GlolkxN0`;(L3d+lxi)?aDwG;}VpK@GEs48>^pVV)B1?z1%P(hGJUcr!#>A)H zpnaz3X3WLJ-RsR^3~>gb9@`tb&^~0dFZl3Y zU8X5|nUh4nI_A-}XOZYuzHYMV8go;+64qAOrG9YVVSyP;1n zi77a2e05IyLz1;5F&9{0H2r)xYmMD%&Mv?Ihumx1sn#9!8)skx<(&8_d3Bg=8(vkh z!r)aSxy%eDCx=4mj>-4{m?2|RJF$GjA!Xm#;PI&ZCf3pg4*MYDmzA8gI%;KMe=)Ut zmH)$6Hb&B{FNMGD>Yg0oO)C`c=TG*>+3#r2Vs30>A6v$kTEDA(BBQIEy+_vXC)MR< zsOR^q{Cy?j9UbfQ?Y>)c9Auk4b`|RfksqqP0r+oNJTYi!NFV>t`mO6$@_&qGLNE5e zut#rI`!Gt5oiS2N-cu14+f?#sdDy8ZE?S=-Cvf8=@Z63r#2hbr4SJER6P(Z_c$7UP zP5IgEH`oJUuLZfd{UclUDnZAPHBtS%7`rzv7}9hY0Lk(O?AKeZ?y@T=e4PvxN3i?O>Ikt zx2cT?t;5HP!@5S|J0RnjH=gm=XPMuj@3AhLbVBAgfB*Ee1BR?WwQ|nv$eMDA_%kS5BYdvQH@mG&PtJS-TO(`H zJjJI2d!5M1f&ES|KXSDLec(Y8`P=U+bB?O}zqJNca;NJ;+BTpY(>CZaMwdNK+7~cb z(-S*}F;`Da!CvLlz})hm$W=A39MG~f))dUQYMcg=j9uZYLAz+*AFNQDDdSvViBowD zepTy(G<&GDO_#k-aPam$PwFF|@8$adjtVbiqwKk7j z8^OH;IXbRK?O7pDiKo9qH@MG2_Vc~|%KVwJc6`mN%1%C;a@o7vaGZUlHU;0?qZ>Q= z$p4-XU;o|^_>bvzoju4v_LykrfV@7HK4CC7iryf8<$n$KuYDJqp9+Q;U)-1Qj?k|^ zw(hX`VrZTc13gf?VhpguVBFA_y5xJkQ5PM|3TwK%6uCBQf01?cV($LX64sI46Ujg% z;4Y>=7XSH#u`NKH@53k7KQ!yOJUi`%ws+Q|OZ;N|XX~6ry(g@r6Ts^T{x^|m@}`41&Z84FOYrz}&q;WFMpJm*VCeC0gBy6+ zvDwgP3N-kPhtutQjx!Fhv&cR{ThL*gBu9j>0e593Ki3tIbI{DyC(@52(*n|_k`wZ5 zEe&XU_fJ3Wv`$p>Y&_IeCwFCX&xhLYGWQ4xG$7TQ1VgB5^e;;+#1(UZP^x9cT zJ7Xof;A2ImYJ2DGp`C~D%exr)B6D-EX6!Jb#eQ@v{53M%E&oRE@uB=6Jj)tF;vEm; z2NlbRyvaxRbGBzB^Eda@Gau|75n|3d1t0QG%8F<9*PUGc$z@ASKc^2JFnsW<$+mp~ zcS5I+}ZmG_k66vZZT~n`Y`!&wh()#<749?KB4Pl@2G#6ToGHB zgRR(Vr%&iNHO|%Ct07Oev;JBlG#X~#!2TUgjt)nm)!E4}?LOP#%!}K(Q?qumPfdBr z*LRXeh{ZOQIND1!_u1z)XJ;wzN$G3n(TVDQ8RwT%PVueMi?{#Fai{oJ${E-a?#SAq zIXg%X93@8LQBC$VtO&6#0+HkHqpW#<85k9pSW{Dup0IWmYwnD9fja_EYG)*)`?-e< z9w1(La)s=}bQQSVBri0@;ARduh5Z^0-?Elz0 zU)Be9Y$WsHA#_kv^vPl4O!zr|6ZylmH+;A*`DlbQN~U+deLr@>8S-sUARangr|xrF z#W#F{#Q%9{-A-|s_y}QQ4u)wN`lxI*EXA*sy z#P8N&|0RG#)w`rWRbR$k7w-5mQ(43chkD9$^k(J-ykpN;5A#anG5cVd@(55;G1RJ<-R9+Q!9Fn(mKmb{vM(k0-# zsgH87H7p6sK82B7+!u5=VKDo4B9GnL zjS7D6itsULa2zqGJ#cAEd-bxIHkH4J`P2BTyga5|$KSL3zL&K0!VvX{naul!<+79*`A)qXifdw{=2o?j+?hIij59ZmW$ ze{=YKlzhkd{W9sl11JBIEv%6Gr4sZ9-yP4m4HCp9c=IGHTkMBvAL48Eax z_Amr49zb9Y@Rft`SInKCY@NICv#kpj&Yd+k*|2bKOS4zU#DOf@qvSb{Ji(zfI|DxF z`Ss!$U%Y=p+kfC)Lu}IA1@rD~xGy&Mu6bVnc?HjJTG%?jxv4SM&>U-;Kfh&uthKr6 z-g!;Qg-wlj-Zy?u%Uw<5TW7X5FKiv(kQ7uFoIk&{xw&cn_}dn>%)ev&e9-j%yL0Z$ z`3>{$8{cr}oh`}n3+D5;aQ@up*){Vq;GVbC)~0|<2p^t2(z(s|G~7A2F~1 zWBql;G;Im6`M@}>8ofg)L{pfZF#@`hI20m0oGn7S5Vj-<)h|q*njcXIfhBJn7XH za~kHK^ys{BhG&jZgH~DkdTos|uWE{xf)yTER0kphso7FJ)&Zb6a^|-Bl5}0fGi}APfYI|S| zEm;uLVhdy1GmMjD!@P#%+=chWS`Y-Y?rd2E?0d^>t&sHN9XG#W(QWrMCF!|><+e5& zm^1i86+UhGd{X~}->#?u7#A>NO>}rzRG<|!Uujg#TG!^*rh62fb>|fFg6Q; zGq*X`5NlQ6DlZVZr9D9YT=IQ`bS!DxbGDKn{q-eV<~J$cqq_0XlqxUy|M>5eMc>uZ zsQ7yP3R^o9JidlBt03)vUd{6;p5@ z5yK*TJ>i4&)wGB&(;lIYB2|*d55g0V>SMG|O2_k$o)U4ru%#t-XT$v2O$`fRVI?(g zzq4u9!q~a7MRSnoBK#Q`vD=vqni=0BR_4Q23;jO0Veaha282PA)Fpqon5h(5FPtN? zewNG(54aqqTGw*Dg>yPDGuw-+?T}|^v)Ww>b8~w&y*EIjGxeFFh-=wDI zxlN7DEle#f^BVwK09Q7}=FgoyXW{KJkEbt4kz~fRr>AZ#H^7IrF}S{rxHZ zBlK&CL9+SYWQ(l4EGA6806Hz0+t?JN4EeXfmoLy@ve5g+xpy@+Ufa4*#+LkxRZ7Xi zA>O}9Oh|~_I~x6T;T*cAF*fd8nb&XEv^n4@a&!Ty@MssQ%#m-9hDiJI6-|D%W z|1;Bun(wp_25&tWFvHJQsK|@KWIAoW88xfjxm=>#v%x1r7w?2)rFT7(5#I!1z$l8F$&IuDSN1Z-4ur z{{DVv^FZumEpb5by`s_n^8S+Fcv8M!F? znk!PZS;f&v>1Fko7|BT11;yqV<4jYpn;5*x93PB^v%+<;alxFdi;YXoQQ=@t__`}= z-PULYJA*(DfnREHKQr z`)8g#H4<&xc}V+0x-=BMxH?$U_QT5?Z^)UN6`fpv=G4dyxmSjxZHFgE&oZW5 zS!?7)qM=K|(bUCfgfBBjPuKG=%uRo5R%>?K_7ztrbC+CDQ2fx7i>Ivn;o?ieRl!?A z717DjO4C~W{hOPv3SJT}tP_@4b2PGKcU9J72U78T{j5-4Fp_#;dGHQ1*T@PNeEs$* zSqm?3I~-jQnKyFs7f0lb$eEFKM%&WV6eIJQ{EpRc<)EIr<`NpVVAXRrx z;iaaY`bE{^{cT6iy*d~T2GWI-uKr}(^OuM8;575hivp><>R@Be^l01D6VJ-64rYY| zd7-v%re6sb8o9=z;BBFtpq`%-oJiv;BV(^g-I#M0xLh2`12ik#_Ve=S66}A5X|nSi z4n@LQh0)R3XXK2^Ey&Bs4;C0jMOId^UJ@+T&oD-X&qTLAr#NPuXPlp1qhApGMBqYw zQ{aiflfmyqJ_vkheiS%voXGm_z4zV!wZ|@)ant<|JUse8^75~``om*2<3D}N7jFCg zlCM3u^6O7*{?R}8^#1f`zkPk*2`#7?y7tn`K6&M5zp&&%K0foKfA0O+3opLDPa9zO z%Y@%=ZERYy@>~D-(-&UMEj;(q%j&P3aq}&=-qzUkwUtkhrRS%=dwt)*+`{@R8=Kme z{NTAC|DC-`*UK2++ccxOnM)T!2rVH* zA%rBWYzQr(rM0mkyICQG*sPYU?1pOopU*kZcYe>DN_PLJ*XcL!^Z7p4^PJ~A=Q-bV zPEBq2IN*xaO10Yl^daXSO}!>J^=5Ki;N)`>T6r z9Gzum4$cf@w#zWvwQYAqhp}CbY!U`t8I_$v6&+>2BCjCqHUM#A(?%TDRoz8UUJOr4Q;MjmC>v1HTyCqwd>x#XM47| zOWJm5+pF!Qb|!~!$AOu>+IGyCy#mr;@92!#OS6V%bjcXnE|PU(n`@en z=$SS6h(Q^-U2?n3o|k#e!lOHOo4cUR;5H|rsr76>`=tSm*|Y!F>*|~~vp?zhulqB? z?XRBPb@rO9*?(@+q31~%9oj~+PRq(}+t{&R#s!&^+RwhWXP*w;+m~d{zOn7&OS5}q zdLPWZ`h#QJWw&WFds)uaKeRL5C$xonbLQ-qGJ0op>6F009@hzFW9m3`7&4@(W_o?B zuHg7GHwF?hcNvGTW%hvH9sx8o#&FGP4`}4XVk_mi%&@OTafXs%y%E2|9_KXTmt(s! zbuJdRL)h_IaW}YQjc#k?gcGs_#u|j>IqEI^a-0}zY)n+yQMKCj;!@CLmhZ`d30MtvTi*XQ&3eF0z4 z7xIOD5nt5r@q7I~zuzD52mK*`*dOsn1D=34;0yQzfj}@23WNiZKs4wHdV{{8KNtuG zgP~wJ7zsv0o{%@>3;9EVP%snQ}H2}dKIh&SSk_#=Tx zFcOM{BauiniY!Kvd=ybf5iE*L93SvJiOT|GM+U}kxCmWxy=fE;?_$ipYms4m`a>Jz zjeAbQ(A(&WbpzH-?J%A=+rU$E8OH26{S0G}*EC-Fx}&imh)aY&)cy?{)FXkzC7Pi0plZ<_lZe0d%Z_L~I z!`pw&+M2okgH>;?J^CvDvW#QJfH{W0~gg0<)V=TBQ_Z~bS@ z?zg_(TKb>yZ4MlZ;5uP&c~zq?nX;}~F;g&Q=HMg-sI@iLsN}9ZV=(gf2do@78j63y zpKN2oCUyYFEW($9^EI9ZK40T&9rh`(9^YAD9tVdUJE<{LX%e##$mlBMi}MI$vGP}V zGXCZ<0rw8$+Dx}`TbnZDqNA1=NA_^{&vuvf|90S#6HoBC2i7jzHqf=aY*4?S%L2H}RD3;)bf z9X;K0%oMs#m&?q|GyC7{)NK&50R9vrgz~y2A*NnT0O0T?bcRa|nZH zX2GO`tC#6=MKK=CbfHT&`?)gAj%2*)Ak*yX!b@gpjkvSSb{QR9{mhdPHX9)e5Ithe zXoJqWovWi2E3`#Wt6g?h+;p|?*zOEhZ^UPs;m#&f zY}3)qZ*P{vGaQ+69qr1@$jR)4KiisJOw@fwUspf;D{`6bvP@UU_9jjgW|M1xIV~g8 z)!uBI@gXV!xoyW7U0H2AxJ*xfZ>9&_#w=)`?Q)}#W<~@e0%i=!a=8{|n4QdaOfbXs zT9IMCnrmd-Y?ir=wv{d;)9m1Ojdfv6fxI8>YGW>R^*XYXd2H6v9Sbu&D4WZ5oH+tD z?{a0MT!T$NVs*jK+%!*cWtrcw+Du$r=j7xVh~+c$PPk8?l$iw?ndT#i-*Ao1IIW{M z^KvuP1)sNbb;$4{&UWU>8ToC@tW(TvSD-xxN@i&Ws}hxB-e+cHb+c;LG`pLf+hw$Q zHH(Gm!CJ+>qMhmb8hLAr-`=isv$*9F)(6y726k#2qrK_+0ec=T!kmxvGEH}fg0|M4 zYKvFIp~8)Js1S2pcVq>zT-Fu|pw7|Sn3QQ??*{PY1N>#S?PB2UX_%*Go`da1p{s|1 zI>>C3mE~&JFLMFhp)!40W@oc|8?y^yJ;I8yP10O~FehiC2HI7(GsjHRq+yRCNA{2HI>8+4(5LDvCnUtF?Ydhqe`s29`(#9k5x6Ku5e!g!1Bq+ zUMFX~-RsLg{Jhbc*M8%*d;Zj8f8FC-f8K2In5}DH+WX}6=70aZ)#B{GO&#{_ZRfpo z#NO=|58Zp!{FVJT-8^vbPK&R-=Ui{W45 z4_N$<%lBqlb5zyiXB6Fb#>OY^+M8|h`ENaY(aa-*S`+0O|LC!0G-rL9G zF^fh;YX5Q9{4e+BTl}XX*BtZb>l)uP_6@Xn_rjMKzWMg`OM34MSp3C`6M8J_5coE@ zZ>Yt$JQY0Q=P8k=#_lV&_@q-``^zVrH_Vy3uf*c#-~4N@HHH_PbXzNz&C7QQe{B^G*Zck=?vG&U5ofdDL zJGQp{#A)xxWrfd@#`5Y zGptbq<{aBE*fS$~>ecDKP`%imhKE@GeUjJnDHxcn{OmA8(!uKY3oF#D^= zmqz~bZnY7xVjDT&o*u^@H|Bx4#!!oo`+5Cl??Z`yK4cVIynN+`d6Cq|t6nrpEdDU{ zc&}Ts{&ejYV}ix^^u2WWk9{v%|1X1QHp7_s_uk6}R*t^ClbN*mA2-+aN`7O0aGY6X z@tM=Vz31+Ss~;L}Hd=h$)GJnBKBN7=CY!S?p5F7LnGbHCuzI>V$KqH1c<+U`Uw`5C zx0~}UKKY`%HvDmXaKj37fyGZRS@_fB)hFEfCv&mIpO-GV`^5)N`}k9Hsl~_4i+&h* z<=#j3nky`x{J^4z>+gB(-`!oSEq?2zuO^ItdFyjt*IJ7|8#dryJ-**Nx5TyH;zwpo z{_DMOxi^-(Hd_42_}t6Czo7e~t6iHd9^&c0aO*QmKD*bo)#AIJ{(SQIcivzAtZTc) zLyI3>`u?nYf8ONUX>m^R(nm{5roHgBYq!O{78gDH?JbYr)HY+U#RKP@zbxn5{+rzB z*SX<%?`>awu{7u2lQOa`zAt<6gFoM!^Y?Qzy4w2glj85Y3s%%+^s)H5w;#Ri;>j`47K>N-k-0& z{lla0{~@E;;`gV2@_fz9cYWO@v&7;9#y23fArY7_;j3Rbbuzb1;V0E#bcfpQ-Ui#Ruj# zl}uGN#@wfz?DibA;K|CFrPhq7H8g!}NuH65cuTM{ePO0eK4=s&*0tyA4$MMsys5mf zvZ0h$PBROR--$GM6~NZYIyf)@>@W0Ogc^ouB<8d95iep zE&&UUXOXL8GkCWI*JdhB-Y4Lg7}akrcRiJd6SZLs!7AIdGIi(V}5Qn-02PsM|Ch+Uo&I*o4wAP$(CVm$`mrJx3 zrkAre*O*X0^R)Wf>hZiGYmFF`{!2d$`%B9|e;j>8MnkOEy!NxYO!3a_UX$9_AGe*f zwTppUwbN3*V9*;Kl#ErSrVgr^GANP^U@G04ha4JpnPUnY~>xCeuK!i|OQ2^E~%#)Ubq(Wex)gntxa zxlbj&SMhgPWA=h)V10PTq>MTBe>GmL>6X#C!zIS?>r7+Oj+y2QLziSMy7Vox`Pt80 zPj?z+o{#$o71q7(3fzrDYM2~oY-(_qqk^q_DiyW0Q?>Z>P>~}v9sxc`d8Yl^^03#^ z%X2!I#+i};Fw&guf5!kV;HFpjwUjOY@9VwDRz}k@?xVCb#9@(=Pli=}w0}9Qvg1o^rMSVwri_ zM<=-YcHL}@o1I~J-ud2`KC>vp`}tzCx%!Xhl-~1=(<)O{$&vO=W6XO5d2Q)=#J+bZ z_ur1Zue4*2-d+2heAUg}&JUm3_3HQPkDm4Q;LMZ%^i7|BqkHzNhVON+caO=)n|PCX z!lZv2gC5H?`#!zYoV@jK=Kh|Sy1H(;%J|}ML(LDDUS~`!FL&L2_ub~kjT;TjteE_} zyu6%$XK)+-wsaKZS1k{J^ql$CiigY>R$lD7@%aqn%2%#6uK4_M!*}{|=0__w8qdwx zXUyt*zd0(_P~o=jMYs>RUD^}(bowB*RyV{86S&=0JGdUVg>dU*rggkn(^G{B?C?}W zVP);0P`Njp^!eiPm^X-drt-lRNF|Pof|@~|LT{ijXobQJSGjXy7(`GbZD#8{F>PE z))emXTh=`vweJ~;X5Y$p8v$&`l#zj{hems@&z=sn|E@_*Z=6|&!_o2_sgBhtGs~|+ zMCE4D*aSZW1hX_dfKZ{wy61b?s*Lll*C3pH%2V~I&1j+BWugDK&W+2FR~{F0u(D2s zZ^GZa4<7l-})`1{xPpP75*QAfYI?ZT4SOx#Xu-Mh2Rj=gJu zaoDmo)OiP?AcF!pdwK@dCki8W^QyIq)^gwfM8wCw=CJYAp`sgS4uaE8Rca9Lyd?(t z3qyropA{_}d~he0H|QHGD$CguHK0~;zZmy^-Ep4rtb4SaMnywQV#XKFKKzTfWjUSN zaFY8{`Xlsx%=Smv48H{S;TNO894E=-@wik&Q&ppL@)#`_)ubkmjYiy0buMiCT>D&> zYe~YZj&ir+6-V1)MGy3B&6B&f=DEFWmg8$dpVs>P-mN*%EzcMotHJ~}?#Yf%CEz}D zR%&L;ma$E7oYApG?y2+qUSj!&;6^8WN8l#aVAXg9Dlb)EYR!kE+Nb^29+R+ieX;7y zF_-WF{H=4)!2`i;^I}hC+ZX28SLaD!#v%G-{C%3nW%xV5ZI-_Y_dm|}l{hDjOj@G| zcx))IfkGqjxIIpEl=Kqak%_Ih40inyC(lvL3l|<2T#YVyEjs72&%!zyJ{>p*qJQ%Z z_H(4sk|u^0ka()Ja#fkiU4^(=W=SKCzgb_xEGyk69C?J(!c^-Pbmj`%KZW~&=?n9I zbiT%%zabwuLTs#0rAjTA6^v(bnBh=MmfCx}!5-*JoU-qJAr6kh>o9>-Us_vU+Bm(| z8dyqrAJS*p9A&AueBDsdn^ajiwz2#l6myQc8&=WTUf3>#IX2MkM>%vJ*G!lDOAo_s z!csOKhq8_NI7oh_yEbO8%(L>vy2qtj%ffW%!#=ReQ|>xAZCPE8?rk|A;Ufs&YE1Ggo%9+SlU6s>Fta8xxE6V3dqI5M*Y{&(+xq{- zi*Al_Tb`hUYidhvuM}QL6#OpFn27khVwK~c?S$)uGx839F5|iJvZ>RmohQeJnLNE! zHDHWY#d8_rTY|LMUU|G8iIwA_`kGjk?dv!Mo;+YQ9?hKz4JnzDaJ=4O9uIqdJ#3yT ztuuE3Z!kX{@v;A78ylUfuC2$Zl;;NcKqgYS{D*ImXGS<;yR97$|00B8zyJTwL$#F} zYi14NWZx?1ga3crsC-1+^+~%8aje`O>-odRoqfjHrw?(T+rXg$jtqJW!{sYhlf=~- zF3IB}cutFZIRfvOq#s5D~P3RhMEY`;=ally(Vmaa-hqzgvR@=*TA3mL` z*kvv2AgrF}f-;qUFGdB)zdJYy*Qa^ZfL zJmoldT@3D3Q_+%egM3H_RO&YLRUG4dia0yt_gnnB@cSKp*}tNnfg3J7du>nSvT^5* zpHMn{*oduYQ1`E8HW;j?AmR=53%agiTOOhsKMQb@1s(|OkX zm+p_cqa@FmGaBdjNqMdONOQo$YiA5i&a836=k}BsCSR;t!L>3|unNPHAfHPRFYnnq z^RE}UgK~gt**3ibo{6aJ+C&O&h^TH$DRfIhXmy(rZ?+ciHn1P8qDsV?8c>@xwKap_ z_JD?Y@L1sMwmQ!`He#W{YU@$G(|N(-=6{HcP7u>EC`VKsj3mPG9`m8< z%RX}5mT$FvcEC6Yz6|sOv>Q_gV>RO7dHr?#avzUrs786=W@%l5jKDAq4#&*Nh!zLX zaj9|^Oy2;9&{1&kJU8v%d3FjTkNTjM!CE5?%p33LK8&uB>h-LerDBRL;A4g=>g zxcoQ``xJc++&j{LmDJYOjYq{x(o{yFr>TPHz2%l|JprKprtkjwsQ=UjxPBRLJEWf0 zR8@t9#-~zK>64g_`J5(*rD8>)~Z4Y5a$7*JlRMt#wP??}1587e%Q<`{am7rP}buB&EacZh>szddjThkz3 z=;yY0=Z~x{hg0a7a{ClAhI5bS*5Gl0)RfwKcvB~>K(DN z-{p8*eyP)r_H0Y+%ejrV>_-@ue{=1Dl^R#tQ)d`5(`BC~woHS6bG*gBm!n^*!#sqE zcS;u{{&v6f<80=)vi4Op+hdLz~aSRcf?66;G?H(~u4>u#*Zvw6lU#M=?S zU9tAZdIHvASVv=>gmn}2sra3V^*XEzus(|QDXcGIeFN*eSUxDTpvdORRO99oAQz*)T*o-RU- z$m0a48VpUPo~%Kivk2C3u*Ig7k=Wn}Q-CtCVDeiD}HP*8*G4yKaO<7L# zm_js(iJ!VennZ_(89sD)?mF~%s1&--i%USt>iKGsNxL7PZp~aKS6x)HlGbkns?dDmksP}x+iX;tVSX}}X06X8{cJ@hO{6;3I1 zH_WWYn1*Ml+PdR0;K5l_3dLA(J;T1VQu+H=@^LDhOY6~pp{tV3^hV-Y53@u~jXc4n z>=`2Tsq_?V!Vu8zUGazqJoVE#zm$D!%OKcFu;rNs)Vk7f{c9B)-cGC|3&!}R#i~jp#C}@ZIoj!E=_oTh5ez-qo?!H(3IeCrM#(1 z`f&EG{F^KLR5FiW_O(3kOaIKjxw7x2MqAEz@>-E&C+V-*hqJ$DeB4Hj_KcIq5&LnD zKe>%IJO?md=9hodj(;+4v*#d_Qe2#@uAtO=}DSZ5=?Y52Vv>oTmXvHk(;7WCuq;&&I;v9Q^X->#_B z3@h6Nwbf&A&OQtK;B4$CY#*hbTY_YCLwgvAU%A#V!aV0V ztT{KK9q^Y%Sj@}D8Rjh0?49khwsHPF^NGF9OrH&q*OQEA&&s{cY{y1%=bTYjn{!>o z*_H|Q60A80L%W0NRoL7Idf*WHJZ$$sA9@IV1-6$!A7$%qJ$*N}ZN%CLeY355#xj4u z$+$gJ<&ieKu;%}6Z*vhlfa1=c31Wkn8L}iS2fZwcR_$#rz~9btxUq>|6r-RYDjmi# z5jJ~ZQ)Q=9RAQ&olEw^dFMjIab(xRwi=a=2z8HTa5AKQSd@g9Km1iC7Ho;D%<93#3 zAcAj)&E8}7HPc4|agD9etQ#P4IBF>d0^aDoXp2s*lr%YuXzc6 zVOvyppzWd#%!eu)!|Y-{eEXVrp-vd)aCv8au$+7S`wrQzi=k%)_BBt2E#ho-TrkZf z^kV2s?fM#fxHR1evk11U!~2@I+4XS1er27mg-zYiea)NjH|y$PZG`#X4!fQw?`zIx znX6jok9sE3$UJ3VbBSFi^G)r*vdRzLbLzf>9=9xCG4x{SOYQw|*zz&&GZ1F=uzk&| z@i+2*(Du!=m%y%Q_`%yE+x9x>6QNJA(=Pj^w$1jn3-+^$_cimlLAqsS&Nidk3T^w~ zA}Qyzea#yVW6OMwg6)daag5<_#9O3Qq1C5UK;HwM^RC=iP93ioGCZU9N#AyWj@SGc z6QO(Tywo|vZ-8EL#=hnvJN{N}konsIeJ*tN>q!3qJ*%x@%!WSMZledpUjTh=$-ZW{ zo&EvgM^PWW@1T7q)31QO9(tLbzQ>vWxzIDuK6L#phdvfM+uOnNzX5s~^yPN`4v2pT z^c`ak9e)YI2R+# zj&TTckT|KYh2C>K`pSdoOmi#r0QAKE%)=z=hFMM)(oJAL+4)>zPDmdhJT#bY z05)4v2R|mMPk_D)`egi#bX)BU91^S_m<;~DHL3bl9U+Na>65H^LwE{NRSP4t9ZSn-4kuVP3bxX4ahM=Joj77~9$79E)Y*BFcSTbMt&# zKcK$zq0fiDi8}J)?7NDg7hT_c(D70Mf+V3&guVjDBf_sU4{_3AUgyJh%gxP)+_$Ts zZ-PD+wur0MzGe7L(2ZLTo)_x7p!bAchQALMJ|`P_g+BBUx(9kAbdHe`zRX#dW1&~v z+T6^v4iR>z3~$%*0oQP}*#euTi<%F4jYgZj zu$gf8p>0^7ZcO52-gEHw#yEffZUrL)KY_`Bg)#(9ad8RWLHbwUy`nX>X zJpz3(Y?00Z?REq7)zI1B9IV~%fW8*`z(eR+Ik@))-F*nXKMiRwd;el%jM8>?r(0MeTeioK(B*dZ0iTq&kpDdps(lnHe0r+xSq z7B}2ZJ%yn`C!UBWnth%S)*zl@_MTYoizGarP%IdU1_ybs#4DM+SBi-@?Du(th2CJ; z;47aJ>BtHrUU(>C=G7SHMlSFeMq-*_atxE1)24o!-&g6Y^Ojco>O9!wTzCk{l4*Qr zw-2>}OkW!#%dNJU#;N#=^Nse>Ry{Ff6Ya<0&pn#``QWa$jQ`tOPYh*ta;q(-QGvg7 zt_Ejo`b;wJk!RwUj|e`7UpMp#$T%K~G`1+l4;It-2>%cG)V`-~BGi8HmTeL~(-@6# z%dfNN#26oau~$^Pt$8=bcRP3$d^0d)1i6eC!I|(`K=ZM92Y6R@uH`>N`=imG`R+8f zA##~wAQsa|fggq+EH1yS@V9~I!+s;$A?@E+Y?*^U2JgWAWBge5{b4r?zEV>D7&v($ z@{fEl{CnW#c%Kokf5}~8I7hQT4?KUe?e9bV&)~(Fi{(CH`8p$G|3G>invlnWcffuq znD&1FFT6+U6Azu@I_f*vOLXSk#1{_j`{zGVwhtwjc>v9 zVdeRmdKhEj`A4}8H&pUfifK*zIpD~D+y>`vsJ{WG&ufkfe z3*<6B2A6{IV{!XzwEu2ygL6NOuL69DW`75G19YZO{UgN^|K}>a@K<2I-%i?lFN`PB z@4GW`Y~niidfSJS`8f+*_jk9!xktud4>o$Zt@cb#;2cc07t^Q&^PPHZ@6?}FEc#k7 z-_15b>Br){MizY_nC~aVZnnZ-s95wEnC~l;_-|J%`XVsjZ5UADUso*p+hF=aO8Ez% z;>e;GfcXx6u^&j&AuK2OE} zs$$V!2Qxn5x53-%@P0;YV0;<4X|)&nTE(X;7W>g)=1+J$cy?d6)z32gLdBxr2cFn3 z9p9&lMgKdvYkxOhJ7A~Z7bg$0=y~9|cxPsvI=-#|FS#LoJS+z{o{aZ$s`5s%f>a5e^9|X>HyNyP)OU75OSmLV!Pw=9@ zR_*r@@Vut<`R8+RRo^^go{E2bcg!^mavNJ!dFFxF<9J|uWPY9l7lm;=Dt#At+cdYa zUWI?42lm%L-3I5snV+}7n^7JKzX!Y<@r6}f^KLLM%@MtEM-k}%zTTMR-yhqbd0rOq7 z68>~>5#q;gu)^1aw`uz2;J;|$mx1|CTM54k+!x{TV}<_^fAD>`qJIGnYyE9bZ`8l0 z_X6wn;|8<6OZa2K+b%`_soMWV;JGz!%TJi?V-?taYTEu;aL$7RjIL-f)I0P+f4FFX zHOEgL4=!6gz!em-d*|59fpK>GRncV2^e@G=NuY^?yHjDOke4&hQ%V2Ipwu`@xZS zzQ$*O%QS8T&(->a`@vlw*W#zWmcMLNWu~UHspo4P2XEHu>t^sAj0dX>yFNC6w`=%fxVFnCm_+?Mv21eZV$AiuP~6+BzBe;&L;<1fHf zXdkAs&&fysq_vlm$Y@U5T`MX!@1l z0*xO7M>O6H&g_=XPlsbsf7<>j0x#0+kuB?bg1@YhsnB_SVK1g}DR>md?>MZi-p97kxJL&XMcVuJ`47`ehzpj>PPnX?c7SJT%yjrZV0$r*qtH;u zdVACLOO!75bzr{7cri9e{gOrhi_(Sp%Xc2z3$D+hljZ!y?Ycg6P-~{n@s+)p#&GC5 zj{+xq<+ilP$H8m0`gs@3@sx!B5WI9c#&5ND{*NlOS#P`Vw!J|20!CwwJzo#%if|HSwf22#IdvFESOe^&Oo&hg@*_#N0gb@#v0 z_U}O_FL9;Q*YzHQZC&E;3tqR|ZP0&0@=F$-zdDyHd(l(iZ?V6Muz~HD%c_67tzT}r z6*_q!wn+TC{+`n902pt8x59q1W=|IVSdXm>4+PIg|CxymOuq(vJFdUmD5f2+_wB{r ze>$&%z0S`v{-4~&Hblt$cJN}nbz{0e3xJI-m~X%j^(o*IO=mg`Z!dOwI^PC+ofm@l zYUAk#!99OYhyN{@-$0P~o(Au^3%-8X!1Ct%a6Z!XLNLF3AodY3zqcSf9L(=A2$z8Q z?F8ZTz_S+S8Si0NGXAyTd*;Iz5C-J^;D3PKC>puQ51+@|F}_fI4S4O%_WTs}SHWFx z$+ND9$Zc?<+5&z>*`E$>JTljckM(&ccn8Xtqte?#dySdTwasq+U@?u}!PfPc3#Psa zsz7)F7De!#g^kb6pkj4H%r3*g_-k{ajU%s1ACq4f>&tiJq2E@F~c)`doisaowveX=g+|5JM3?#aQ}5W z1??N*%MeoPi)=5ZQKWR?)4+W0Tdp6to%7|Q{|36ww}KZTJ*h9+aXwJ&pNFn9w{!kp z^mR;6SLdu#TXSddaz}nRKO*6y&~-i)yj8Qm1ROzsUyJ}! zUt|gYoYI9~1ZN??QeQj3vtU0;3r`mNvx;n8n7=%~2%l5bnz_9z#^d&48s`_;JQf=y zf4cs>(#4*?9M2z$*A=zaUjr|JJ$>3FezJsbKg`yJbHH0r{sL^^{u%==xHDZJw}U-k zX&>)`i@<%9eb3<-&wEP>B3)tXCS<^mmD;- zO?ZYt>SsLIQ51=df_X($g^$~OdD1n#f&B)Ck|nGWaE?FE^_ zqVp}V*ZEHHYAyWB;GGChUqmSn*2G!f()Pollj*Z4@#*?p zrAvIbf}4<^3>6xJ1*}f@dN8F-reCcqv%+$B}0m#>aSPq#Tb!!2`AMQ^2RAetN6$kAY`v z3C`B? ze=^vk#a{vLqv>~m_oDn#A1{LEL6`Q>4Bn{O4;zj94_bUx;3AEg{|Qsl`CkZ~T!!tE ze_h|BbcW*|=dxN0-wd5R4-&(VKfASl0l26V-^4=!s6VgRiU|A%u)I@>@oxYJF3&Z# zsrUwtv03c>;I3EX8Z*#<8Q%iMqTdUiHyg)82U{OB)@IQI;2BR~zP_!k-vgd?E575W z@;Ch)jyG}rl4+5tdb+JDid^^Vb zCN{8sZv)?<@n$gJ4Zp{DOYQIEM4LsQ3XW*| z_b%`#uPB7nJD*hm&C)q6VO#sh9{T+b~EYFqTo-g8Cm0;G_Yl_AGO>i9c za(?^|H~{-4>UfxRfz4uH2HyN;>+vI5^kqsHUdiyw((UOz@Di}JU-Lp7|8J$|#~6+* z;ZISz@JMg~x*Ho<9xh~iF^!2z7cK=)fKFdgu_ufEpwfl;OMe96<9gn8RXZe$HJZO3$csleh2*CX}3C!<|O85l00=k^P zZvhu+`XX>XbgAE0!Td(4gntvv@0SX{2fjedkLw~FZ|#FyCF;N9nbSMV|)dcUwh&Rk7%AfcHY5W!mvKD;B+N9R1aM z=nr2~>4SS}_orjvERAnc_7eVfFyGH9>Hnx$bR&WNhwvS-f%SC)xC-_gz%1_^#bSRG zIIwU)OM84tvFLvU(?3FZBY4fq^!e*Q;N@UBo(3dwzSDR#crwm+(!QpHlVGub5KMmy ziGMkm{s6+i1Mkx8KLFGJLiA6;>oh$(h4RCn!CvsaZZQ2l#J(4J&o()qWg4@<#;20M zOygs4mc~Wp=#RDdF99!oZGbTc*9EN4ec*!5c+MZukk6lj_@5eJ%t8l6UJ7n}1^yzL zHg5%Qg};Qze9&=u+WyA?c8qE>%zfoE&=^&@z$HXg{IivC^G$AFh; zd>ObA=}CKB3SOjze;d39{f+29f_G?~S7q;iWY5as31Ge>bSQqf|K};D${M)?JnQ9j zd|B0YeTv=%%y+;p#|EoCDHi==F#RorQ((_;)A7v*^Bu55RsXX^vDkkCrvHfWm*7=e z`_8FB{b+g*aE=!LaIjnBYVc(3cwYpjzmvrO0GR$D!pp#!Po(cJz60K*rN0+!Xz?Fc zi~SFKssC|c`u|9Llfa|2_~wAOY4QCIT%v{l0L*vp&QSF;pw4EA?|3lZ(YqBJSpSzQ z7JUYo@8p&7Ie^xZjas*WW|nHK*qpWvV_tqmK5UrP9yCg-Xve(#Ojr zFvHu6X_SGN;Q0cvzX`ks&pY7q6zRE)XTiIWA6w5f+Bc!SB0uPEp=TPGg15)h{!pvH zJ3f=~L>uD^@G#8Z9joFyZW{I%Sn8(|yaDY;(!T?|4(ZEywEAb#4qXh!;W39@fqL>)E|%yjK2LeCMU;_0Y*xTKRPSZ%P;Y zkHFg;@$o%7qUTJ@#T6D`8Kbj|~!^uAgvKYkP)U zuZ1V`Jwf(j8eZ6wH(`Usr|ZutUF=^1_tcIzZs)s)ME?ppS=zr-Pt0y@e+jq*_I&nP z(kI)CX)IH^@Jet`t$+JB*bQb&VSiV4HQFosyLn*7_giq+)#>*4E_kih9*t{oK0tra z(+cl0Mu7Wh@vj7LL;ouM=?CDhT6zW7qJKgB(!Y!c??V5xRi%Fob)=WA;$I2QLH~-= z8FJ?`z6EbVf74!ZuQ`U1tHpl_csF#n((eRstW1}$+jZ#Qwe!(5a1!ZBejWtxnV3F) zSAZvL`9-vr&R^z;3+?R%&yT6_!XJbAKG?C?Ap46fdj9pcE_@=G?~~Qr16lORN*7Lm z7i;_LW-#9cRt5t}k1Y1@DqWbreBSI(ycPDk{y8{s0p?dxbcvrV;rriU>%zx^w;+Fd z|3!aY(fO--FOj~3s5z{c;>@kMWhj`((Bv+Pf@y_oO?vUOqp^8L)h4baIw zwf3Ov%aktm{N=lyg;zo+>+N0FKUTWfe*s>C{7e7S?Spr(`ApWBPwKk57x!t1;Xyy3xgeKH)!zY@OJ&8?Z+IsO#g$+@uC^#bsORJuIZ zgXgSGr}rdy6e=G0)V|{<2bct^#cnkBV zwO_L6ky~wDn72YX$g2VU_~`u@jr;1|IY5s>{87mj!BMYT7LKZCule+90Cu8%*-5`Or6 zTNge9T!8UYA8cTHjo@O9X~%as+KXvC0G(Wb4RZYGy8E`)_Q!$w{>OouJz3&=T&1B zAUFa(4jUN%`HDrq7|iF(gj3)OF!vwr=PMR{A(+pn3EvN11U^yOzphyHO<+DRD*PUp z&r=J34CeEm!e4;-JgD$a@QF9r-?(6YdMvP6^nPGIA1Ztdcn-J=Hqd^oV$shB-vPa& z(yvi0`ftE|URQWNc$F643yMX51UPW$W{Q&u0i91*ZSFa4#_Z zyM=SX^cNQ{0MlPwcrcj$;ld#>{kert2GieLxERd$UkINCrvHKPI57PWgeQR)fRDrm z*2lGqMZXbDe{JF0!1P}hUIeE9wD1GqZ5l5FZ@MYZdjB-ze@C&{Zvp=udV6f3p0UVg z(K~?Yk1c!zIBQ` z#iHK?ra!mv?ch=1-q^tWyr@|8^<(0P}ep z;UmC&-bT15n9th?_XqQN9^qrbe4a;m5SY*N2nWFQ?-o7@90yDLEmtghHMkMF^bd;^ zi~azZ{@cRK!1SLMUI|_U?v4$tzb%SI{{;LNbm^Zu+-tMwM}X;HE!-2l6MQr_FuoCr zML!cve`?`#!1MnTEfL(KF=k57MRbk36BHwc{AZjVERuBmx1a3EIb9A089J3U9sqQ zgX!-qyadem@d!T(=KFhup8)fDLE&e>d_R)#S}@;7B>XCv{<6YvfaRO!Y+t(-i~cj1 z{;tBV`!L_2aeFZRM@7#8(_d7$2Y8^y{lN6c75x}+iN*uLlQs5(t27=0o~7|H@H~x2 zf#sX$EYFRKCB56g8#Vhy;H?@z0Nx2^4jKMa#S(r8nEu+r--79{E&OjV{k4Vnf$6U; zoOwUmuf`q0^amIHNHG1Mg^vc)|5?}#roXiCabWsG3m1av|12B?)1O&*D471t!Xv=+ z2NymQydKOeQI@|^vFMkBIo~0C4R{;4pR!-CSoA-G`8Q#7JeU0e{$h%VERuB z{~a9H_!}_&F-89YOn(C5yHjBuGMN5>!o^_vR|%g5roW%?I56LTBRmPr>uKRKFyDtGJOwP@ z!e)MNQ!M%-aNoz$*W<4!7X5WF{riMBf$85T{2rM8?!q5~=}#y81(^Ov!aKqA=M(-O zO#dL^pTP9*5jG#j^@YY+VEPY<-UUqmCE@O1`Y#Fh1=D{@I3HXDmhsRS#iE}F=J#Pl zzgn^AbHV&>jOb4*7X5j!e9M~k{e@!DcY^tTBH{1Bd_R%!Phh^ENZ7PA-MNfk1pC>#OEZ?@K{auPh zzYk3RJ>jKb`s)cl4yM1J@Ka#0c@QBUrvy&G_;k zv03yJ!StsT_JQedDI5jUA5*vp%=bMBpAP2xo`lZ^^Zil6=YrR1JQ*zCqh@|?P%QSh zfcd^C;XA>6|C8`yFyHqi{4kjBdlLRFnD28EeiF?0ISH=;kJ9*MFy99y`fFhN`w71Z z=KHFIH-q`UD&Y^o@?C0{r|mMEMehXW`=Nxpg6U5z+#5`PW8nc{`WFiy59a&Sggs#T z7Yc{L^dA&H1Ycd}W&n-q(FJDC1p!gqt^ zyV$gURk7%AfH!FN?||jI*R=mxvDmvFMR|Ugj=w!vzF$pyzhbc;0;a!~@Gvm_xr9f7 z<=fH>-=J9Z%fR$66uufv|3cxpVEPvd-wKv*N;AIa6^s4{F#QdMH-P1P(zO3xvFJa6 z`Tk*Hb2-`v_$+Lo{XoT{`@wuavG5S^mTkhB#xSsa6Pn?x6pMWWnErdhmx1N`&$NF; zvFIzn^j8#q8Z6&*rv1l?MgIa!|2E;B;DS$u+Zf-2`F>~7e*(*QoEhISkJ&8xKrsFH zg#BRpXWB~}V+dHjN6GNB6pQ_}VERXj{f%Jx?lbM5Q7rar!F(Tx@T*|@FABc_rvIYw zJK!}MZvoSvQuI&2^am3D5-i_@X8K3`)@IRrg5_Jw)JG^5{Y)_5_aS@^nEph<6T$K= zXokO5vFJB~=}#nl8<_rl!i&K4=M#PaOn)cgWnlRxG~<6qvFKaC^v4qZ1T5crrhSLU zZ5I6quzdTO`cTE9j{wu(OZZH%eDj(1O^QXI1*Sig@U>w1)-&y&P%Qd0VETIruLaXz zN%&RpYH&AfVEAtoi~a*xzW+?!y~1YEj|0=cNVpKp_k9Zo!F(UL@K7+{w=FyZ%=cpp zp9$Wp@i}1gne_dmS&GH}S}?!!EBE`JP%Qd0;9O1Lrdag9gZX`68UG!*(q_?*2J_p& za{sDWvFK-k`CZ{`Y+(INQ!M%wV19GBz0#K}7X5c%ev7!H(mzlv`ln!ir?`XCv!Ae8 z^rOK1hH)pQpQ2dwkzjt`Si;vS7JWLH-#(V`4=EP?G4O-XrF@$ei~b>)-%OVJY5O~y zMehXW_mri6BZ@^o70hofcg6i1&BqNl+8F16I}e8r+K1kcpce?_tAuY>tL>n_;9 z{O?vQ`p;l~>-s3AAN!Qeq7MS|JJ?b`6BUbI3g$PmMZZz8=(mCS{cLHUYZZ(BDwyBa zmhj&w7X1e>zq{QA8<>Ch(>9BK9GKtamiWgh7JU+!{))n7VEQWxPXWvKyBYs-#iIWX zOn*Y*XTkDqZrcAxvFQ83^fwf4vl`cv;J(;E`_mPRel}RX!%cm@V$m0Z>3=AEKbZc9 z!jFLI-z&TVJnFi%|L!+n`Q|F)_dH{>*oVP<9z*yPuzY`;_Olg>egl}#YY5*0raz(Z zonZRo2`>h3()eNUHt-QJVEk_?7W>U$elz$;rSDfPdYfnQxs>PA?RBtX(L>#ZBd(LLj3&H%} zv9$L|ibXF2^IOOg|4oWTza7l)B#Zu{V$s)w?}jeN`?rck|2LT5SC;bSuCZD40`RlY zkHQ9)Z@gmBF97qq%*QJII>n;T1M{2B5v4z;SoD{`{GPMi&-_ZU=)1uD)^iUPzW48K z7JUGi-+`9;9j#dO31EIBTFwVoDHi>DFuxxy=hG(@i@pZT?@CMhpDPyqA7FlS`e-_sR~em0ojs+RUQQ?cl?!TgSOR~7%`iba14%s~p_u;8_lys~p_u;8_lyc5u?cRSs@+@GJ+T9o*HyeH@(c;DHVfICv;H zy?obP44&6=zRoa8G@ai^oDSw#%3g5()^uEnHDB!rf4!zN{F9FG&uTiuzu*YJPSY9w zYe)E9n$GY)IKuy==?s6&E3NZ?0yw>V*E|@kmp`EC3}5O9pVV}wU+D;6qv;IKwAM_O z@sMfU4PEE^!Fv5Ztc7R%%fWj7I{(=YpO1K5EWDbgnwPr8U8It_`hm8!|!*5&-i1y^bDT`*2~{X(-}Sj z*7wKBn$GaU9pO*cbcU~YgrBbI3_r^e{%TEU_!W-uPii{DKkEqpf~GV4myYmXYdXX4 za)kdu(;43VTI=#315PjBHJu<28Gdyke_I&|#olC)b{U){W%wHu~kH0P2JHzKA zUiKF?nmyCI+Y#UWn$GwhcEq<_(;5D+j__MFo#8)ng#S#_8NSn>T9@ZYaC-T!xd&J; zPajQZ_|qNXOEjJ7pW_IBo~ASW)sFDjYdXW<guemoKGki^E5vYh$RB`>EVr>o>7Ro6{q^ijTi*fB?Bs@u`&O|3*0MKS*u?%bKDYOO z4)6LEHl}7Y8in<>$yj5|C`?t9menr0; zjVb62Gpif%j?cn|iiXB|`!D;~XuwD4r==2&we>Sf>*{N#AlAaLKjcq%QYnu=R-P;m z1O_FhG!=S`>ZXRO(&|)oL#nYbVdT%iru<}~w`F^xZl=B6$L)Tju%s?gpQK z`YLOKsrvfb`rt_Z@2^Qshj};}PR66bKsZ$%_6L*UkxVaWl$O>vH8hsi)RxAos%jIZ z4HcEurIih(O*IXugQ`@kOhg)HHY8xz5JC}a>t}ky*q{Q&sw$_{q>_Q4pY zkt9CurE+Fx%PLQ4MXV-Sm8zFWf{|3x8xIF#kys>L9*)M#%OjC+FcK+GA<|Hy(ASdQ z;Z2d?1!o5mwe_iJU96@uF}1R0iv3q`5 zmN2T?=R;J1XuywjqgDe58`kbfB;qN5D3Xf%gON};6!mz@1Cc;57VyUX$%r>n7%8l( znpRyHig^8D82G~xPt+R)MqpDHg;g~Hy1FBlDZM*g}~Bk`uns${CZ!RxiEZG2;WQ=&0gUYV*&V%L|W zxrPHVe>rxZ-|xY$|8=$I_5EV;m z1q0qtEEe>JL&-$)7s_m9+v7{dV+yOM-blpbjRr#=^kn7XNO?RFEcAx#Y$&msxv?=kU&R`t^^%jAd(Dv0+I444&6XBnu?@C zp~AqguJ!1l%lhk%Q{Q1ar~iJx;j9--B!hnR;K86jin^a@z9a zgcZgyRodkDal8=s#UkZ_Pzs}yXgm~DO#ppX*cb4yrhMpNJwEg=cK1>q3x-3U@=$pw z1vTuAMg4(5B9;uN;vui6+*hd1Cf)!}!G2#b6bVGVILSprUX0_^;Dwoqo>p65jiGI- z-s`K2B}*%78dDgwRv}ZVIL1sVPbithfre3xI-(Dow6wloN;=q3Rf$s(PF$%OzK{i_ z7(~`LA_Le|T9v9PEss?)8zC=7G+s~AA1L=EW4`$Rx@(eQe|bEL-YM?G_|}gTGk1+w zMpK6!Wd=9`xB7^~n+96du{BPyoA<99r!+NGUY62EDi}b;60uM)>hVS}9FL6r^*OQk zcHr&U8WtcQ}UudPEH zDn(%uDGs-}scCzmQCl-DRgaydR^f;;>^)SJtt&BJS(B*c)r($# z)_7Ev3`K~<f-3UPz;}Sx&A+lYpvtV zY8W2-U`tfQ>XH3m3IkjWzj2A2@Zb{KPQ|)P4O%TBTpydxX$fz1Tx|MzsRSG3g!~ct z!x&j)N`3A0(%Kr=c_NWS3Zv6t%#QiLAKSOof$DE?Kr!}UIZmJvG?#K*heT8jSlyH(_ulf#n#zWX zQWhEk;|W~%)}CrnA$-BYd2X(nIpK*o>wTf+B?Drf*xNeWg|Jc8BB$ zbGSDWu57vCvvGZTXl=P>< zQ699hcs%O!+VcQD>u?HMQy0Eu%APs$`YUUuVO}R$ivOFeLopul#go3MFX-_mBQRrm z{MIoQQp2{uXT?zohoQk=7@4R_*XK|$U}dMlu_LmS zjCc}}V0k&FI>P0lg#W+T3Dyaxr4>cTr!F0qNTeDXygsyr#?n+(inFgs!xN8(F?EVL zh*;d0NZF0hZ})CeXTJ~}lVX04FO@>?=f{;gY7JeQ?EDbU)8&=_*WJ1F$dzRGz2p{b z!yC)qX(buzg*TJ9?+3gPNH)8h8V*U5Yz^9*#C@_#ELN85G2I*(1_W*O5%e9r@m|te zTS1tm{SCbF-oJBB+_9%%{km#q`Tpf*hY8RgWEIjPB(3Hx>|jspY|@( zY3GvmO6hLhwJ0M^%*ngCHSQT^*0oB5y1r@4s(_G%ZVS^0LRJF4P!)MwWoaFwa2Tbnx zD5|nR?Ju!E870(Wvp5UMK5x2{tB>mq+SYigB3+R|u8Vf4`W6wW&t_vviK(T?@){#) zUM5&-boXZ}k|gosxx;aH^5Nv_EABaMCDFsw`R=SH0!giqqy2 zK6|y$k{Bx$(o2h~5Hn;%yD%+bThr*0risRQY+2pWIs18wS+>I;E1L5(1aE80XuYp4Y|H!VVsu`d)N!T$>UF!h zKI<>n-SN=9=MW_wZo3ZKeuJg4Xd$)1eOFV4mtdqLcAqS3TYT?r)I{M8lnc}KjksK_ zLt7)>AzrAod4;V(JeaY&q}XtjGC@yAQ81ibcXN{Wy%-kYa})yEw-S;VSjM ziA6QE{Um%YlDVs+Z`xEQvJ>ombsm+5zwS4hnBK169c(#IT2FJE{n!A ziNG54TNkcKFsZjNWI4))5pmWVV=cnk|&Kcg*7glXSaeR((kNB zF06|rs#?fdTZ1CP$d*JkXe<%W5;KNx`7>_11OBP|RCa8O+inXrtjGOu* ztfTMi__iVlu7s&=M%3~MrzDOcx(M%<|Ibqv<#9I**-#@#3Jk4bRAACN9KKMk3cQ2i zBB~A`DN26ZvREKF@HVwWlXn%K=or)2DxJ{@x!|@+$Xw8 z_PmHQ0c_zZX(~JuO@XPf=(D&QVv%7?W;p;ziB*vaF2)+58Y;1&0TAY;|0V#nn~lMZ zgH{WlNDpXQghRwbBXEU7$9e}b;cHliPkl{-z>QfrQk6oahBKzQ$L__5ms0wM}0EduFMkMXC1oZc*BaN4SU` z7EI-`$vPJ2AfM_1F}cO_DQC)^U2o-j?vRz$WdMX)nh_)CQ1_V=_P~yLyQ78Xr%C#dyfZHjPIZZvmw?NuaLr?1SKx{~)QrA0lJH{u)C)31ZRio(-(Rg?{Xo@&f=(!6DYIp?gZ>bPk?%Ph~p_4Ps_XI89pi1RFuJl-HG}=sz5V91F0iNh-Xm z7*7*}I&QfDglA4z3xoU?U0YoCeN+fU z26|sABQ8v8+!8aUu$I;8RntG}n{zP1cdXBT3>F6PC~iQy<+w7if?8{;Cw`vRZb^}_ z|ADxuxm=(B<=yr%XB$L?G0qOFC;|jap68hzgxgRIV6v()#eYBc1oy0xNpbRpyi9V)Jz*N&ZYg*eGrdw1 z@7wWxGZ9$D1cTq#>xsz9KAB@%DvRkFu5u)DiCR1+R0@F-pK4C@Y~B?Ep?z>>NJq)pscOPNBwRoW z#77!!*$(f3GlS;9ZK&Tb()gBXvA*G=oqgzWj2!}ZG8h=*mnu7w)odvBcV!-?_f=HI zNhv{Plp0;dgq|N z1i^*Q$^zu`&b6X3bZp*Nm#78*tIIfxjTu09P(%cO)Yxj8h>ewk15!J8=@`1klWxv0 zSF4NW>>Z%+*YY98;%EJjqB`8cPHuyy!33by5vb7&jabMRdEd9>7{q14X6Khz7M*QA z-Zxd1sOI;ve0FV=N0`z%#eF>FaZCsoHuE0Z+GHz3$?7JbXVWmQ3yuQqq6CUj5`5G* zD6z^ht2)$_HA!2d^8k<>Pm8GrL?&Z_65?Juy`n-!aL8?52wRRX9FeGYUD59|KqSL^oU`q#t7 zhLajc^$0Ns(TuGyZq3$F&-BaNdb((2+rr%gfwVV+kz4ExfP(Q#XI0sZW^<^Ob<~T3 z{wdAfFo#L7c8Pn3Yy@QmgV3E1-khwIbz zIe;rnG{>;IrX*ZL4z4gUtuBtXY*F{rl)rlUORWWZQjP-AB6hAM7IJZ-iTr$LN3{6c zmvKQyQsRw>N{{-iON+Q-X=g4UP=&_gRq+rPL~j#40*fADI}fQsW&5H8!G-m_L(T#< zZ&cE3a`*Hij;4_$h$|q0!OpiiuHL={b&HWNq#tu77#pYrPi_gsJWg}?5;EWvm5aes zf;rQ;z(5X$i#=a8$T=M;3)&)E0b$S}{uE9~;1T2^Du}j4Pf;r)%Qf*ef(+ugz-EXx zN+bo^5Fv|o8{sR;iKvK4TtUB!?I@aVI0XUycmo6d;TP9ePiK7n9&6gI!~{j3&^@ej zq#uChS-3_V&3;U8Z?7HSlc`vVcn4Bv4ylWwo52V5*n zCY;P%@jju@O@p_!@P5r=qPNajw(-8H)SPoWtr}SjzMt`J|Nm-L0l#nPtv#*yS728mg=Zkd9P_0oSpgQ29TZblZJv9kyMP zDT~1;R58g@pHPLH*S(u|p4fdX$kCDH$)hLVKK+WEJjRg+T&Oja76=H~s}#p~;B-u) z>Ataq5)m+L_x9NdBGubpzMT47SLk|CLd=h>Lb1C=$hY;A)H2=oB6Rs9KOr%C!Lh7eNIl5$h=idN$vJJon`!j6G+cVHH6Z2 zE5VYB^(MQ_YUNVPTvzJtfnq~K(v-}f1KD+OkM^WWar3GSxyY3v?Wy9S!Q#b`iqW_& ziWZDW?Bpg;rFXK1iCo8)o8S__KjFSbQ1*hoEX`F&f*_;%uQp(IbRxF%XIzpr;`F2? zV^Xg&qP(uZJQ~SNGt7miBnA=aw}iklvfPQs!kiWH65r)Lm!w6t{VTz>#&czPM zinvvVSYi~VOO`xGgT7mg)MqJKo#OawPR~hua!M4uq%hfyhX?RNj1hp`Djo&u>?)gi z02Xx;c9!I3!qiKq-i$n|k3vqH0U;VtA6N=Ww%iYmX&N6=ebr6X%oj*tDeq?z!S-zudlZ(;OU)BISP>|df@ zd^L1p1~yu`qlQ=r&kpL3^Z>Z#+Y&@v-9#nF+>u3ZuUzsAnTjP^*IP>EPd5YMOO3s4 zo;R`GxC%_@d$>^3k|KRffJ~xz)&v@c4_YN{YaOXEbgBp~n)Pp593}T_ z_^c7gD5>+Eoa_mlRf%fJ47vw8pZ<|1HU?}uK3;^^@g zf;%G?B5s_F1(HMv=0AR4Zvi(EW=O=J4hcT~tSua;2d*+pn&SJ>k={ruI#g+dWkQ(|@Y=;~wsfycJv4_;f`=d0UB@&v>&Q=voIPBlJf&YJSuj{1rD_NZMt$DOB*k z)xfO~M;uzLf@JF;S8X&&)}U>4SItb%t0DtLcjVFgDggMKDnENmPtKLV){VFvpWqep!Ez%!FU-@4sly6^!}ilP|xX_0k)d8><7L7sw0l znV@{bO*X65GxwX6$|OA_OV9(K=U)zq!jB+HXCXDWPTaoOU;mM=B<DybSrGR9ak zt(#g!!q)lWtz0@IBbto`aW>_iy%=PpNjFpSW+#20LAJWCf!PRkmMPP%7{`z0I*)I8 zdAO)FpO$69C6_B69MbVatn+SM>^J^HHp?ykS7&kF|Eh-Kk|-kh&~9aM@}-kd1w$E& zzaL5;$+W#^xo;8Jn1~~+7X#rfB>k1-ph^prSrA=oPbyD21hFQClr>NUF_b}WrWqUZ z8QS`6vvu3__Okmcn={u~QkI?Ys6rf04YBLs?M=pjR_N+0Z&qaJW%jM{WKtaD30sBy zq8WiXSpOXL^;$xfJdNI05y*mTU2taJYL|3b-d7)xmPfPqh3yGIfuZBlEQevWF1CLE zrkoj*e+I(4Iv+K!v^5iM@0$v-<~jq}hb}7083GlmJe*x#LwPZf2-$szSXL3Ff=4MD z$lsDz&TR#SX1JF>oLqIsD~%sq{p9Vg2&C7eZMhE)FrAZzJ1wz2VG-nNrp|1+iIYJV zoP>8*a59C~KU{0hk?AoJkS8bYi90rnS%ME)=+^?N@OD5Ecu4%ymh%?SNZ_#3@qlg+ zDXtxN-I))ow>#y00=%zo<>B)&n+L35X;Z!!AiVup0<*lYF18%+t3+=dwv*7s(Gm&6 z#Dz;JmVs`G9XYVNocaPZwuCBp^OcA5ZG#APWIs;a<%3*5z!RD} zcxpP-6X`q@U1gah63c@#*I~xw=+$?RpFexDM$h=}>6`VpkKTOy^tA{SjEamPcm}y< zq2J1p=)Ep*+3)^WXARo_s))78^Z8eJ8Cme}6`#kdO}^*4gQUVO7FuPH=?#HYh3q8%Ti zQIG+a-{N>JR{)tOBYXbnzkE;I9VuuC3*q)h^4$|)tkS#aVA9*{l3Q7_%^8s2h)XH2 zjs@{>nZ4u-?m{{hoD&zEkin~MJFbi*fjia#&hZ1v6Nv-<6=2^$&@h+`2Y@BJh}^w| z8H!5?NJNAQp@dTr{Lse{PORzrCE)y=SK_?MhQdXPb!CiS)sOqU_jsYWM~$t9{0iRP zEM0)ACPw02>m^mBH~7GOq%tRk&0rio`R?`Wr!U^FpM4dij1ydfqew0}Aukj6^K2>O zuFBHY7*t)+6RQchpE>VP1D9MH8D6QV#F@oS8>HSWOWTO1bLwV@i$@nXFE^>xUwvtr zp=)G)lIAo;OB!@8ESz_PT!YF4oNNmIkMLDJd%^XoFP=PQ3y}>2<7zcvCn69gfk-NY z9#YAejGWMxtUE$NL3S5jO}YY9U_Ou`&A}X_oqmVbFyYeo)ZpZ8??#w)QSUz3%Kfa7 zF?O&@IZaOplrcS<(^?T04bJRD=qk775JeD^{ko4z+;~$g{U>yImgK!dTOgp`R}E}1 zT?)773e8mWyByWu^9!p~g@jWJYX<=*H8vagzt#1{3t$6w1xDinePrGJF+R-#mZ$_|fzAt4A-;ho8Ls?!{YbBa_rv_GR5=9jR`jZO_}%mzx!p z&tE>dSx=B2&;ixqIxKGd1bL1I^%Ni)T|OuiR*w@1D%~c4;YfTyo!@-}8_zf88+Ef!fPM6arx7fGbPNzD3F2A`gV{t6NV=)cwQ&fa|l@Z{8Xel6?k3l{6y>XkpSM05N{Z zT-26ROKD{A3Ajfn7&qly1)R>KiF0z7 zm96BA>?JAI#CSS#br4NRPLV!uGxOtMy_sg706j8GaLpGNQGo?+^Bh2!L~fHZbtD&; zWSr1O6@5akUwabjvE$O(;>9PMn+`O+j(A5-u-$try$FU6vVRrCf02ep^jS0E6cw2{ zijs_x+>a9z=c_>ZfAl`AxSCGqM|DB6qS%veEul5e_*T7D!|1bKAU37)akXg66=>K- zfea=j^BU)S(sqqE3;EwyWj*|O%&pC2fEL!lt{H*%k;VkXbu$yO-AV(=@073o;0h)? z!JZ0q@?5$tuRSlBk}K?~D3Fs(fjWC?5W(gqHMpgjklBJn{sa=H1lAG>V#jjJo~!}u z${}x+BqIV2RZ{X~ahgTB`B6BRDoovM^9I}!Qz@5UKxq-%ySg)H6UxMNe6g}~M+_=u zC%F&F$Pb&3lb)MPF^ZGYY&)Nbm>8;^&>>|NsY^hL!NDOG_Xij` zO9S_dlW;Mr$Zv+TXf!Izcx8;!ZLO2B;@-yIN`Fv&Qek&MI0H2P$A<~@bv0A|A_||5xz!{IPuz~e8TDIcAXKN#j)+p z4q+4=oVOe~%V_N`fp)74Xjd&ZW|p~Q0d_OtlRJ-eUnPM%xbDkFWL{$q5D&S#J}b@9mo3R? z{GFc#Lhq}D9E#LJaKglH|*gR!)4y|rK27$jP18!^(mT5mpKf5p&u$h;$%NA zI=NR{77{sbX1uVdvfR(2bWI;@Dl=OlKW=Od;@lQZr173$*V0x^U`ZB zqRt8~w-^fUFVRGT+H2c|gbD$%CS~ok)4kUctg1o9F=E?BhqUGAP zt}SBsDy_TT(u{jIFFCFi#Hz9Cm`nVHUWL6K|0Rs!dm9S-g+ zD-@(MV0?r8g3t#P({sf=(Y<3bTjyXprBW%bmIUHblW@d_YHPW;v%HtBxQ^R|;q#FR zla#{pVSU8juTQpj$hfOdwm=ehBX8QYONdI(Enr#;`E#a?>`h|r%4vIGZmbq<5B0J0c8h1hOu!7<9XzV3N)|D2Q7*uapQ5&>`%_A#68CZQ6 z;@H^S!pnte(ysf`CQMxJ@}=!fF(>jQm;?E+_7+&YH~X})lUxIZ^{9JGxXBP}k+f)i zTj2fv@-{UZ8y?uAYsyBv0QtR5nKXh8PP^(BQ>1P>?p6o^K%ZNy^46f-MklpdgT_=z?rvXNgK)~Qb`~_)p4)Y#6=Sv#S*_lfEqToB z$vR@pmcZ9(Z~8M3+js;eB28GIjW6fMmx-9vzj0xWykdMgUx44{qv=x72jE%D!x!+BxlU5$Vj4FJb0jzd_-!qz8RmxOQK&cmI!aA6=fnMaJO=^u;?vki)J)bvWwG~ z(k2~%$TSGQ(4ftiwm#eltJSbRj%WJIYrk%t&I+c1K|#fUa4YteWq?hpOa zcqx3|o@_-Wl!;k14q2j(>eEa&yghYW&zLEG$lwmUU21%{G`?FJ-{tn>;A-49H5Lu- zQu{BFehg|+61~H4JDNyXDQKLuG)~GDlJ=#|n{m?8IB5wd4P7C(QB9#Njp>%gbh+c7mUbM2! zh-ov`LXo}YY$!&MtHt>4EoZZ244eCJwAavMx7Oa`ZYGU%6KiATZF(0C$zP34y76{G z;=3oRuQIk) z8C&B<7X2G+&FxMCACf|d&IqdV-Tq*lgPaaB#_{oo|q4)9es zEB+F;)r(CPJu*2AcOV}KtO$V1SqQAhmz2h*^zFKa4^Ovw=xdCA;IIY6+~VMF5y-%e9evBuzP~rFwR6Cm+%t0g7pIP^UjqqF;bj|x1nc;DA4c{ zN?7WxtD<}-%2cp=xj)H24qfwlaToYY=n4{F9X<{{gQSKFE@7M&KgeixD8vu#kJv`U1R3BwZhxbGYG^pyo9abV(Iet%2p5oKXl|Kc+`u1 z#@mLe-eijoZ$qhQy=WNzHtY;8Rv&)}Tfs#e@t07#%k9O&+-ehDYlI6G7QKkgDF9&) z+)}Hv#YXoCt8R)}y{kG~S6E(Pb)NdrX#y*{Crn(%X*4w*hZkpbRxXqK-=DnX5}ql6Z-)8q3yp#1@pFG zv<3~#Q4Vhb+mh&Np#{ubK?=0+62>eR4ba;uGlJBMRnlL=)&gZQcpSDE@TK4qMrzIX1pLHN_YulFL1KpHf+ro zZQDN%Tk}QR_Ls0VUor*wOV|o7R&0L>TfxPO?Jr>~xLC2hB}~mCBTDe>n!&8biXFNh zj(sc{Z2i5m^;ql;{t|Ygur~zv%GP5sP59fe^;k?3{t~txi%;BJ!ttENis3I|R1_;l z=*XSYv=}`6ZPa~Mr){WY{ z2DQ26YjXwE<_f6I6;PWifJ7@=+*|>*xdLi)suNddf3x*8`#$$ps8vSpuaLj;sf345 zt%*!9O&#W_RWsZ_pUx8 zwuF4R{+WfIXV*Uyb$NFEGfNuJu0FGr^X%%gqfgQ)SDy)cJiGc#+~e8RXKo~(U414j z@$Blet;@C0u0GplJiGeLZp^c*&&}XP!IKO1b*XcgM4<&kT}0 zyZX$|$g``@P7}|rK08lwWCw~*w_of?@$B}C+532Q`^C-#&u;(OsUXpb+kbX0cy{&K z$>7=5XJ>aL-mB6Yid^J_hKXtv)KYXLmm2hDzD* zdWEEZy87JtkP8^?@2);~KIB3@``*>(&WBu4CQ0*8PDx?ilA-zPo_0PDFR6n+sH6_#kdk&F4=HJ+%ngxAD}u)yjzdr7werZ4~g3ej80ZsHC2z zLrNMwJ*1>@)hNu@i7lr)NdP)RLxP{~i*!Nz0`YWU!3GKO_Xo5tb} zDyfAIDyjSSpppl30%Oq!wRz~OIQD-)n@&JDq@;-k2b6R|`~f6I#f`&Ber!_w0bS-& zp98t9+;n&te~wM|-|p>)=H!fP^hl?Badkw#7mG^O-{k5Q{Y8WAZ#xmsVJ z>7@u<|8X|xOZq2!@x$K22;c`hJv4{!Xv-lk9!vjtG%bU0h$DbJ1IKdh+X`UsJ>SV&Kl0 z>mr*U%Hx8}YLa@FNVGT^I|Ba+=-gK!eJWkQh|455MV^wZmn8Gth$y-H?k-lym_M9T zirB5PZ@GJlbY=w^Zk`@J;NS1?uKfHTp{fFs+PkBfF{V_i>hUwpb=X e?;d^6chkSAzW>Y@+wc8f-upj)H@&sA`~Lt!6saQs literal 0 HcmV?d00001 diff --git a/program/Cargo.toml b/program/Cargo.toml index 5b5b709..58f161d 100644 --- a/program/Cargo.toml +++ b/program/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" [dependencies] sp1-vector-primitives.workspace = true alloy-sol-types.workspace = true -sp1-zkvm = "3.0.0" +sp1-zkvm = "4.0.0-rc.8" diff --git a/render.yaml b/render.yaml index e98b8eb..d6b0c9d 100644 --- a/render.yaml +++ b/render.yaml @@ -161,7 +161,7 @@ services: rootDir: script buildCommand: rm -rf build.rs && cargo build --bin operator --release startCommand: cargo run --bin operator --release - autoDeploy: true + autoDeploy: false envVars: - key: CHAIN_ID value: 1 diff --git a/script/.env.example b/script/.env.example index 0aab619..8555cc3 100644 --- a/script/.env.example +++ b/script/.env.example @@ -5,8 +5,13 @@ AVAIL_CHAIN_ID={hex, turing, mainnet} VECTORX_QUERY_URL=https://vectorx-query.succinct.xyz # SP1 Config +NETWORK_PRIVATE_KEY= + +# Optional +NETWORK_RPC_URL= + +# If in mock mode, set SP1_PROVER to "mock". SP1_PROVER= -SP1_PRIVATE_KEY= ## If set to true, fill out the KMS config. Else, fill out the local relayer config. USE_KMS_RELAYER= diff --git a/script/Cargo.toml b/script/Cargo.toml index 733cfd1..ba08151 100644 --- a/script/Cargo.toml +++ b/script/Cargo.toml @@ -35,15 +35,17 @@ tokio = { workspace = true } dotenv = { workspace = true } avail-subxt = { workspace = true } anyhow = { workspace = true } -clap = { workspace = true } +clap = { workspace = true, features = ["derive", "env"] } +reqwest = { workspace = true } +futures = { workspace = true } alloy = { workspace = true } serde_json = { workspace = true } serde = { workspace = true } -reqwest = { workspace = true } -futures = { workspace = true } chrono = { workspace = true } csv = "1.3.1" +rand = "0.8.5" +sp1-build = { workspace = true } [build-dependencies] -sp1-build = { workspace = true } +sp1-build = { workspace = true } \ No newline at end of file diff --git a/script/bin/genesis.rs b/script/bin/genesis.rs index a3613c1..604773f 100644 --- a/script/bin/genesis.rs +++ b/script/bin/genesis.rs @@ -5,7 +5,7 @@ use avail_subxt::config::Header; use clap::Parser; use services::input::RpcDataFetcher; -use sp1_sdk::{HashableKey, ProverClient}; +use sp1_sdk::{HashableKey, Prover, ProverClient}; use sp1_vectorx_script::SP1_VECTOR_ELF; #[derive(Parser, Debug, Clone)] @@ -20,7 +20,7 @@ const HEADER_RANGE_COMMITMENT_TREE_SIZE: u32 = 1024; #[tokio::main] async fn main() -> anyhow::Result<()> { let fetcher = RpcDataFetcher::new().await; - let client = ProverClient::new(); + let client = ProverClient::builder().mock().build(); let (_pk, vk) = client.setup(SP1_VECTOR_ELF); let args = GenesisArgs::parse(); diff --git a/script/bin/operator.rs b/script/bin/operator.rs index a2df2e3..cb49655 100644 --- a/script/bin/operator.rs +++ b/script/bin/operator.rs @@ -1,24 +1,22 @@ +use std::cmp::min; use std::env; use std::time::Duration; -use std::{cmp::min, sync::Arc}; use alloy::{ - network::{Ethereum, EthereumWallet}, + network::EthereumWallet, primitives::{Address, B256}, - providers::{ - fillers::{ChainIdFiller, FillProvider, GasFiller, JoinFill, WalletFiller}, - Identity, Provider, ProviderBuilder, RootProvider, - }, + providers::ProviderBuilder, signers::local::PrivateKeySigner, sol, - transports::http::{Client, Http}, }; +use reqwest::Url; use anyhow::Result; use log::{error, info}; use services::input::{HeaderRangeRequestData, RpcDataFetcher}; use sp1_sdk::{ - HashableKey, ProverClient, SP1ProofWithPublicValues, SP1ProvingKey, SP1Stdin, SP1VerifyingKey, + network::FulfillmentStrategy, HashableKey, Prover, ProverClient, SP1ProofWithPublicValues, + SP1ProvingKey, SP1Stdin, SP1VerifyingKey, }; use sp1_vector_primitives::types::ProofType; use sp1_vectorx_script::relay::{self}; @@ -27,6 +25,10 @@ use sp1_vectorx_script::SP1_VECTOR_ELF; // If the SP1 proof takes too long to respond, time out. const PROOF_TIMEOUT_SECS: u64 = 60 * 30; +// Wait for 3 required confirmations with a timeout of 60 seconds. +const NUM_CONFIRMATIONS: u64 = 3; +const RELAY_TIMEOUT_SECONDS: u64 = 60; + sol! { #[allow(missing_docs)] #[sol(rpc)] @@ -43,24 +45,11 @@ sol! { function commitHeaderRange(bytes calldata proof, bytes calldata publicValues) external; } } - -/// Alias the fill provider for the Ethereum network. Retrieved from the instantiation -/// of the ProviderBuilder. Recommended method for passing around a ProviderBuilder. -type EthereumFillProvider = FillProvider< - JoinFill, ChainIdFiller>, WalletFiller>, - RootProvider>, - Http, - Ethereum, ->; - struct VectorXOperator { - wallet_filler: Arc, - provider: Arc>>, - client: ProverClient, pk: SP1ProvingKey, vk: SP1VerifyingKey, contract_address: Address, - relayer_address: Address, + rpc_url: Url, chain_id: u64, use_kms_relayer: bool, } @@ -85,7 +74,7 @@ impl VectorXOperator { async fn new() -> Self { dotenv::dotenv().ok(); - let client = ProverClient::new(); + let client = ProverClient::builder().mock().build(); let (pk, vk) = client.setup(SP1_VECTOR_ELF); let use_kms_relayer: bool = env::var("USE_KMS_RELAYER") .unwrap_or("false".to_string()) @@ -100,29 +89,17 @@ impl VectorXOperator { .parse() .unwrap(); - let private_key = env::var("PRIVATE_KEY").expect("PRIVATE_KEY not set"); let contract_address = env::var("CONTRACT_ADDRESS") .expect("CONTRACT_ADDRESS not set") .parse() .unwrap(); - let signer: PrivateKeySigner = private_key.parse().expect("Failed to parse private key"); - let relayer_address = signer.address(); - let wallet = EthereumWallet::from(signer); - let wallet_filler = ProviderBuilder::new() - .filler(GasFiller) - .filler(ChainIdFiller::default()) - .wallet(wallet) - .on_http(rpc_url); Self { - client, pk, vk, - provider: Arc::new(wallet_filler.root().clone()), - wallet_filler: Arc::new(wallet_filler), + rpc_url, chain_id, contract_address, - relayer_address, use_kms_relayer, } } @@ -136,8 +113,9 @@ impl VectorXOperator { let fetcher = RpcDataFetcher::new().await; let proof_type = ProofType::HeaderRangeProof; + let provider = ProviderBuilder::new().on_http(self.rpc_url.clone()); // Fetch the header range commitment tree size from the contract. - let contract = SP1Vector::new(self.contract_address, self.provider.clone()); + let contract = SP1Vector::new(self.contract_address, provider.clone()); let output = contract .headerRangeCommitmentTreeSize() .call() @@ -158,8 +136,20 @@ impl VectorXOperator { header_range_request.trusted_block, header_range_request.target_block ); - self.client - .prove(&self.pk, stdin) + // If the SP1_PROVER environment variable is set to "mock", use the mock prover. + if let Ok(prover_type) = env::var("SP1_PROVER") { + if prover_type == "mock" { + let prover_client = ProverClient::builder().mock().build(); + let proof = prover_client.prove(&self.pk, &stdin).plonk().run()?; + return Ok(proof); + } + } + + let prover_client = ProverClient::builder().network().build(); + prover_client + .prove(&self.pk, &stdin) + .strategy(FulfillmentStrategy::Reserved) + .skip_simulation(true) .plonk() .timeout(Duration::from_secs(PROOF_TIMEOUT_SECS)) .run() @@ -184,8 +174,20 @@ impl VectorXOperator { current_authority_set_id + 1 ); - self.client - .prove(&self.pk, stdin) + // If the SP1_PROVER environment variable is set to "mock", use the mock prover. + if let Ok(prover_type) = env::var("SP1_PROVER") { + if prover_type == "mock" { + let prover_client = ProverClient::builder().mock().build(); + let proof = prover_client.prove(&self.pk, &stdin).plonk().run()?; + return Ok(proof); + } + } + + let prover_client = ProverClient::builder().network().build(); + prover_client + .prove(&self.pk, &stdin) + .strategy(FulfillmentStrategy::Reserved) + .skip_simulation(true) .plonk() .timeout(Duration::from_secs(PROOF_TIMEOUT_SECS)) .run() @@ -227,15 +229,14 @@ impl VectorXOperator { .get_authority_set_id(header_range_contract_data.vectorx_latest_block - 1) .await; - println!("current_authority_set_id: {}", current_authority_set_id); + info!("current_authority_set_id: {}", current_authority_set_id); // Get the last justified block by the current authority set id. let last_justified_block = fetcher.last_justified_block(current_authority_set_id).await; - println!("last_justified_block: {}", last_justified_block); // If this is the last justified block, check for header range with next authority set. let mut request_authority_set_id = current_authority_set_id; - println!("last_justified_block: {}", last_justified_block); - println!( + info!("last_justified_block: {}", last_justified_block); + info!( "vectorx_latest_block: {}", header_range_contract_data.vectorx_latest_block ); @@ -261,7 +262,7 @@ impl VectorXOperator { ) .await; - println!("block_to_step_to: {:?}", block_to_step_to); + info!("block_to_step_to: {:?}", block_to_step_to); if let Some(block_to_step_to) = block_to_step_to { return Ok(Some(HeaderRangeRequestData { @@ -277,7 +278,8 @@ impl VectorXOperator { async fn get_contract_data_for_header_range(&self) -> Result { let fetcher = RpcDataFetcher::new().await; - let contract = SP1Vector::new(self.contract_address, self.provider.clone()); + let provider = ProviderBuilder::new().on_http(self.rpc_url.clone()); + let contract = SP1Vector::new(self.contract_address, provider); let vectorx_latest_block = contract.latestBlock().call().await?.latestBlock; let header_range_commitment_tree_size = contract @@ -308,7 +310,8 @@ impl VectorXOperator { // Current block and whether next authority set hash exists. async fn get_contract_data_for_rotate(&self) -> Result { - let contract = SP1Vector::new(self.contract_address, self.provider.clone()); + let provider = ProviderBuilder::new().on_http(self.rpc_url.clone()); + let contract = SP1Vector::new(self.contract_address, provider); // Fetch the current block from the contract let vectorx_latest_block = contract.latestBlock().call().await?.latestBlock; @@ -368,9 +371,9 @@ impl VectorXOperator { avail_current_block, ); - println!("max_valid_block_to_step_to: {}", max_valid_block_to_step_to); - println!("avail_current_block: {}", avail_current_block); - println!("block interval: {}", ideal_block_interval); + info!("max_valid_block_to_step_to: {}", max_valid_block_to_step_to); + info!("avail_current_block: {}", avail_current_block); + info!("block interval: {}", ideal_block_interval); // Find the closest block to the maximum valid block to step to that is a multiple of // ideal_block_interval. @@ -410,16 +413,10 @@ impl VectorXOperator { /// Relay a header range proof to the SP1 SP1Vector contract. async fn relay_header_range(&self, proof: SP1ProofWithPublicValues) -> Result { - // TODO: sp1_sdk should return empty bytes in mock mode. - let proof_as_bytes = if env::var("SP1_PROVER").unwrap().to_lowercase() == "mock" { - vec![] - } else { - proof.bytes() - }; - if self.use_kms_relayer { - let contract = SP1Vector::new(self.contract_address, self.wallet_filler.root().clone()); - let proof_bytes = proof_as_bytes.clone().into(); + let provider = ProviderBuilder::new().on_http(self.rpc_url.clone()); + let contract = SP1Vector::new(self.contract_address, provider); + let proof_bytes = proof.bytes().clone().into(); let public_values = proof.public_values.to_vec().into(); let commit_header_range = contract.commitHeaderRange(proof_bytes, public_values); relay::relay_with_kms( @@ -433,30 +430,22 @@ impl VectorXOperator { ) .await } else { - let contract = SP1Vector::new(self.contract_address, self.wallet_filler.clone()); - - let gas_limit = relay::get_gas_limit(self.chain_id); - let max_fee_per_gas = - relay::get_fee_cap(self.chain_id, self.wallet_filler.root()).await; - - // Wait for 3 required confirmations with a timeout of 60 seconds. - const NUM_CONFIRMATIONS: u64 = 3; - const TIMEOUT_SECONDS: u64 = 60; - - let current_nonce = self - .wallet_filler - .get_transaction_count(self.relayer_address) - .await?; + let private_key = env::var("PRIVATE_KEY").expect("PRIVATE_KEY not set"); + let signer: PrivateKeySigner = + private_key.parse().expect("Failed to parse private key"); + let wallet = EthereumWallet::from(signer); + let provider = ProviderBuilder::new() + .with_recommended_fillers() + .wallet(wallet) + .on_http(self.rpc_url.clone()); + let contract = SP1Vector::new(self.contract_address, provider); let receipt = contract - .commitHeaderRange(proof_as_bytes.into(), proof.public_values.to_vec().into()) - .gas_price(max_fee_per_gas) - .gas(gas_limit) - .nonce(current_nonce) + .commitHeaderRange(proof.bytes().into(), proof.public_values.to_vec().into()) .send() .await? .with_required_confirmations(NUM_CONFIRMATIONS) - .with_timeout(Some(Duration::from_secs(TIMEOUT_SECONDS))) + .with_timeout(Some(Duration::from_secs(RELAY_TIMEOUT_SECONDS))) .get_receipt() .await?; @@ -473,16 +462,10 @@ impl VectorXOperator { /// Relay a rotate proof to the SP1 SP1Vector contract. async fn relay_rotate(&self, proof: SP1ProofWithPublicValues) -> Result { - // TODO: sp1_sdk should return empty bytes in mock mode. - let proof_as_bytes = if env::var("SP1_PROVER").unwrap().to_lowercase() == "mock" { - vec![] - } else { - proof.bytes() - }; - if self.use_kms_relayer { - let contract = SP1Vector::new(self.contract_address, self.wallet_filler.root().clone()); - let proof_bytes = proof_as_bytes.clone().into(); + let provider = ProviderBuilder::new().on_http(self.rpc_url.clone()); + let contract = SP1Vector::new(self.contract_address, provider); + let proof_bytes = proof.bytes().clone().into(); let public_values = proof.public_values.to_vec().into(); let rotate = contract.rotate(proof_bytes, public_values); relay::relay_with_kms( @@ -496,30 +479,21 @@ impl VectorXOperator { ) .await } else { - let contract = SP1Vector::new(self.contract_address, self.wallet_filler.clone()); - - let gas_limit = relay::get_gas_limit(self.chain_id); - let max_fee_per_gas = - relay::get_fee_cap(self.chain_id, self.wallet_filler.root()).await; - - // Wait for 3 required confirmations with a timeout of 60 seconds. - const NUM_CONFIRMATIONS: u64 = 3; - const TIMEOUT_SECONDS: u64 = 60; - - let current_nonce = self - .wallet_filler - .get_transaction_count(self.relayer_address) - .await?; - + let private_key = env::var("PRIVATE_KEY").expect("PRIVATE_KEY not set"); + let signer: PrivateKeySigner = + private_key.parse().expect("Failed to parse private key"); + let wallet = EthereumWallet::from(signer); + let provider = ProviderBuilder::new() + .with_recommended_fillers() + .wallet(wallet) + .on_http(self.rpc_url.clone()); + let contract = SP1Vector::new(self.contract_address, provider); let receipt = contract - .rotate(proof_as_bytes.into(), proof.public_values.to_vec().into()) - .gas_price(max_fee_per_gas) - .gas(gas_limit) - .nonce(current_nonce) + .rotate(proof.bytes().into(), proof.public_values.to_vec().into()) .send() .await? .with_required_confirmations(NUM_CONFIRMATIONS) - .with_timeout(Some(Duration::from_secs(TIMEOUT_SECONDS))) + .with_timeout(Some(Duration::from_secs(RELAY_TIMEOUT_SECONDS))) .get_receipt() .await?; @@ -535,7 +509,8 @@ impl VectorXOperator { /// Check the verifying key in the contract matches the verifying key in the prover. async fn check_vkey(&self) -> Result<()> { // Check that the verifying key in the contract matches the verifying key in the prover. - let contract = SP1Vector::new(self.contract_address, self.provider.clone()); + let provider = ProviderBuilder::new().on_http(self.rpc_url.clone()); + let contract = SP1Vector::new(self.contract_address, provider); let verifying_key = contract .vectorXProgramVkey() .call() diff --git a/script/bin/test.rs b/script/bin/test.rs index 67761c4..a47d801 100644 --- a/script/bin/test.rs +++ b/script/bin/test.rs @@ -1,9 +1,9 @@ //! A simple script to test the generation of proofs. -use alloy::sol_types::SolType; +use clap::Parser; use services::input::{HeaderRangeRequestData, RpcDataFetcher}; use sp1_sdk::{utils::setup_logger, ProverClient, SP1Stdin}; -use sp1_vector_primitives::types::{ProofOutput, ProofType}; +use sp1_vector_primitives::types::ProofType; use sp1_vectorx_script::SP1_VECTOR_ELF; // Requires the following environment variables to be set: @@ -11,15 +11,28 @@ use sp1_vectorx_script::SP1_VECTOR_ELF; // - AVAIL_CHAIN_ID: The chain id of the Avail network. // - VECTORX_QUERY_URL: The URL of the VectorX query service. +#[derive(Parser, Debug)] +#[clap(author, version, about, long_about = None)] +struct ScriptArgs { + /// Trusted block. + #[clap(long)] + trusted_block: u32, + + /// Target block. + #[clap(long, env)] + target_block: u32, +} + #[tokio::main] async fn main() -> anyhow::Result<()> { setup_logger(); - // Supply an initial authority set id, trusted block, and target block. - let authority_set_id = 282u64; - let trusted_block = 305130; - let target_block = 305160; + let args = ScriptArgs::parse(); + let trusted_block = args.trusted_block; + let target_block = args.target_block; + + let authority_set_id = 282u64; let proof_type = ProofType::RotateProof; let fetcher = RpcDataFetcher::new().await; @@ -50,14 +63,17 @@ async fn main() -> anyhow::Result<()> { } } - let client = ProverClient::new(); + let client = ProverClient::from_env(); + + let (pk, vk) = client.setup(SP1_VECTOR_ELF); + let proof = client.prove(&pk, &stdin).groth16().run()?; - let (pv, report) = client.execute(SP1_VECTOR_ELF, stdin).run()?; + client.verify(&proof, &vk)?; - let _ = ProofOutput::abi_decode(pv.as_slice(), true)?; + // let _ = ProofOutput::abi_decode(pv.as_slice(), true)?; - println!("Exeuction Report: {:?}", report); - println!("Total instructions: {}", report.total_instruction_count()); + // println!("Exeuction Report: {:?}", report); + // println!("Total instructions: {}", report.total_instruction_count()); Ok(()) } diff --git a/script/bin/vkey.rs b/script/bin/vkey.rs index 7ae1f6b..fb1a4db 100644 --- a/script/bin/vkey.rs +++ b/script/bin/vkey.rs @@ -1,12 +1,12 @@ -use sp1_sdk::{HashableKey, ProverClient}; +use sp1_sdk::{HashableKey, Prover, ProverClient}; use sp1_vectorx_script::SP1_VECTOR_ELF; #[tokio::main] async fn main() -> anyhow::Result<()> { - let client = ProverClient::new(); + let client = ProverClient::builder().mock().build(); let (_pk, vk) = client.setup(SP1_VECTOR_ELF); - println!("VK={}", vk.bytes32()); + println!("VK: {}", vk.bytes32()); Ok(()) } diff --git a/script/build.rs b/script/build.rs index 78087ae..763fbe6 100644 --- a/script/build.rs +++ b/script/build.rs @@ -6,7 +6,7 @@ fn main() { // "../program", // BuildArgs { // docker: true, - // elf_name: "sp1-vector-docker".to_string(), + // elf_name: "vector-elf".to_string(), // ..Default::default() // }, // ); diff --git a/script/src/lib.rs b/script/src/lib.rs index 846de96..9e60d73 100644 --- a/script/src/lib.rs +++ b/script/src/lib.rs @@ -1,7 +1,6 @@ pub mod relay; -pub const SP1_VECTOR_DOCKER_ELF: &[u8] = include_bytes!("../../elf/sp1-vector-docker"); -pub const SP1_VECTOR_ELF: &[u8] = include_bytes!("../../program/elf/riscv32im-succinct-zkvm-elf"); +pub const SP1_VECTOR_ELF: &[u8] = include_bytes!("../../elf/vector-elf"); #[cfg(test)] mod tests {