From c2096764d8c58f7fef0ae26a09999c83ff503c3d Mon Sep 17 00:00:00 2001 From: Ivan Cavlek <97914489+ICavlek@users.noreply.github.com> Date: Wed, 4 Sep 2024 15:52:21 +0200 Subject: [PATCH] test: account declaration test with katana (#734) --- Cargo.lock | 1354 +++++++++++++++++++++- Cargo.toml | 11 + tests/account_declaration.rs | 72 ++ tests/clob/compiled_account_contract.txt | 1 + tests/clob/declare_account.txt | 1 + tests/common/constants.rs | 5 + tests/common/context.rs | 71 ++ tests/common/error.rs | 15 + tests/common/katana.rs | 103 ++ tests/common/mod.rs | 90 +- tests/exe.rs | 2 +- tests/rpc.rs | 2 +- 12 files changed, 1599 insertions(+), 128 deletions(-) create mode 100644 tests/account_declaration.rs create mode 100644 tests/clob/compiled_account_contract.txt create mode 100644 tests/clob/declare_account.txt create mode 100644 tests/common/constants.rs create mode 100644 tests/common/context.rs create mode 100644 tests/common/error.rs create mode 100644 tests/common/katana.rs diff --git a/Cargo.lock b/Cargo.lock index a30261a4..655e520a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -65,6 +65,21 @@ dependencies = [ "memchr", ] +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + [[package]] name = "allocator-api2" version = "0.2.18" @@ -89,6 +104,23 @@ dependencies = [ "tiny-keccak 2.0.2", ] +[[package]] +name = "alloy-primitives" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccb3ead547f4532bc8af961649942f0b9c16ee9226e26caa3f38420651cc0bf4" +dependencies = [ + "bytes", + "cfg-if", + "const-hex", + "derive_more", + "hex-literal", + "itoa", + "ruint", + "serde", + "tiny-keccak 2.0.2", +] + [[package]] name = "alloy-rlp" version = "0.3.8" @@ -346,6 +378,22 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" +[[package]] +name = "async-compression" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" +dependencies = [ + "brotli", + "flate2", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "zstd 0.13.2", + "zstd-safe 7.2.1", +] + [[package]] name = "async-lock" version = "2.8.0" @@ -409,6 +457,33 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +[[package]] +name = "aws-lc-rs" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae74d9bd0a7530e8afd1770739ad34b36838829d6ad61818f9230f683f5ad77" +dependencies = [ + "aws-lc-sys", + "mirai-annotations", + "paste", + "zeroize", +] + +[[package]] +name = "aws-lc-sys" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f0e249228c6ad2d240c2dc94b714d711629d52bad946075d8e9b2f5391f0703" +dependencies = [ + "bindgen 0.69.4", + "cc", + "cmake", + "dunce", + "fs_extra", + "libc", + "paste", +] + [[package]] name = "axum" version = "0.7.5" @@ -528,11 +603,13 @@ dependencies = [ name = "beerus" version = "0.5.1" dependencies = [ + "alloy-primitives 0.7.7", + "anyhow", "async-trait", "axum", "base64 0.22.1", "bitvec 1.0.1", - "blockifier", + "blockifier 0.8.0-rc.2", "cairo-lang-starknet-classes", "cairo-vm", "clap", @@ -542,6 +619,12 @@ dependencies = [ "helios", "hex", "iamgroot", + "katana-core", + "katana-executor", + "katana-node", + "katana-primitives", + "katana-rpc", + "katana-rpc-api", "once_cell", "regex", "reqwest 0.12.7", @@ -593,6 +676,49 @@ dependencies = [ "which", ] +[[package]] +name = "bindgen" +version = "0.68.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.76", +] + +[[package]] +name = "bindgen" +version = "0.69.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools 0.12.1", + "lazy_static", + "lazycell", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash 1.1.0", + "shlex", + "syn 2.0.76", + "which", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -664,6 +790,46 @@ dependencies = [ "generic-array", ] +[[package]] +name = "blockifier" +version = "0.8.0-dev.2" +source = "git+https://github.com/dojoengine/blockifier?branch=cairo-2.7-newer#08ac6f38519f1ca87684665d084a7a62448009cc" +dependencies = [ + "anyhow", + "ark-ec", + "ark-ff", + "ark-secp256k1", + "ark-secp256r1", + "cached", + "cairo-lang-casm", + "cairo-lang-runner", + "cairo-lang-starknet-classes", + "cairo-lang-utils", + "cairo-vm", + "derive_more", + "indexmap 2.4.0", + "itertools 0.10.5", + "keccak", + "log", + "num-bigint", + "num-integer", + "num-rational", + "num-traits 0.2.19", + "once_cell", + "phf", + "rand 0.8.5", + "rstest", + "serde", + "serde_json", + "sha2 0.10.8", + "sha3", + "starknet-types-core", + "starknet_api", + "strum 0.24.1", + "strum_macros 0.24.3", + "thiserror", +] + [[package]] name = "blockifier" version = "0.8.0-rc.2" @@ -716,6 +882,27 @@ dependencies = [ "zeroize", ] +[[package]] +name = "brotli" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + [[package]] name = "bs58" version = "0.5.1" @@ -802,7 +989,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac926d808fb72fe09ebf471a091d6d72918876ccf0b4989766093d2d0d24a0ef" dependencies = [ - "bindgen", + "bindgen 0.66.1", "blst", "cc", "glob", @@ -1437,6 +1624,7 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits 0.2.19", + "serde", "wasm-bindgen", "windows-targets 0.52.6", ] @@ -1516,7 +1704,7 @@ dependencies = [ "futures", "gloo-timers", "hex", - "jsonrpsee", + "jsonrpsee 0.15.1", "parking_lot 0.11.2", "serde", "ssz_rs", @@ -1527,6 +1715,21 @@ dependencies = [ "zduny-wasm-timer", ] +[[package]] +name = "cmake" +version = "0.1.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a" +dependencies = [ + "cc", +] + +[[package]] +name = "cobs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" + [[package]] name = "coins-bip32" version = "0.8.7" @@ -1969,6 +2172,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", + "serde", ] [[package]] @@ -2093,6 +2297,25 @@ dependencies = [ "winapi", ] +[[package]] +name = "dojo-metrics" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "anyhow", + "hyper 0.14.30", + "jemalloc-ctl", + "jemallocator", + "metrics", + "metrics-exporter-prometheus", + "metrics-process", + "metrics-util", + "reth-metrics-derive", + "thiserror", + "tokio", + "tracing", +] + [[package]] name = "dunce" version = "1.0.5" @@ -2144,6 +2367,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "ena" version = "0.14.3" @@ -2162,6 +2397,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "endian-type" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" + [[package]] name = "enr" version = "0.9.1" @@ -2226,7 +2467,7 @@ dependencies = [ "sha2 0.10.8", "sha3", "thiserror", - "uuid", + "uuid 0.8.2", ] [[package]] @@ -2694,6 +2935,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + [[package]] name = "funty" version = "2.0.0" @@ -3045,6 +3292,16 @@ dependencies = [ "fxhash", ] +[[package]] +name = "hdrhistogram" +version = "7.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" +dependencies = [ + "byteorder", + "num-traits 0.2.19", +] + [[package]] name = "heck" version = "0.4.1" @@ -3164,6 +3421,12 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-range-header" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" + [[package]] name = "httparse" version = "1.9.4" @@ -3231,7 +3494,7 @@ dependencies = [ "hyper 0.14.30", "log", "rustls 0.20.9", - "rustls-native-certs", + "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.23.4", "webpki-roots 0.22.6", @@ -3261,7 +3524,9 @@ dependencies = [ "http 1.1.0", "hyper 1.4.1", "hyper-util", + "log", "rustls 0.23.12", + "rustls-native-certs 0.7.3", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", @@ -3327,7 +3592,7 @@ dependencies = [ "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows-core", + "windows-core 0.52.0", ] [[package]] @@ -3524,6 +3789,16 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +[[package]] +name = "iri-string" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f5f6c2df22c009ac44f6f1499308e7a3ac7ba42cd2378475cc691510e1eef1b" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -3563,6 +3838,37 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jemalloc-ctl" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cffc705424a344c054e135d12ee591402f4539245e8bbd64e6c9eaa9458b63c" +dependencies = [ + "jemalloc-sys", + "libc", + "paste", +] + +[[package]] +name = "jemalloc-sys" +version = "0.5.4+5.3.0-patched" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "jemallocator" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc" +dependencies = [ + "jemalloc-sys", + "libc", +] + [[package]] name = "jobserver" version = "0.1.32" @@ -3588,17 +3894,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" dependencies = [ "jsonrpsee-client-transport", - "jsonrpsee-core", + "jsonrpsee-core 0.15.1", "jsonrpsee-http-client", "jsonrpsee-http-server", - "jsonrpsee-proc-macros", - "jsonrpsee-types", + "jsonrpsee-proc-macros 0.15.1", + "jsonrpsee-types 0.15.1", "jsonrpsee-wasm-client", "jsonrpsee-ws-client", "jsonrpsee-ws-server", "tracing", ] +[[package]] +name = "jsonrpsee" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "367a292944c07385839818bb71c8d76611138e2dedb0677d035b8da21d29c78b" +dependencies = [ + "jsonrpsee-core 0.16.3", + "jsonrpsee-proc-macros 0.16.3", + "jsonrpsee-server", + "jsonrpsee-types 0.16.3", + "tracing", +] + [[package]] name = "jsonrpsee-client-transport" version = "0.15.1" @@ -3611,10 +3930,10 @@ dependencies = [ "futures-util", "gloo-net", "http 0.2.12", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.15.1", + "jsonrpsee-types 0.15.1", "pin-project", - "rustls-native-certs", + "rustls-native-certs 0.6.3", "soketto", "thiserror", "tokio", @@ -3641,7 +3960,7 @@ dependencies = [ "globset", "http 0.2.12", "hyper 0.14.30", - "jsonrpsee-types", + "jsonrpsee-types 0.15.1", "lazy_static", "parking_lot 0.12.3", "rand 0.8.5", @@ -3657,6 +3976,32 @@ dependencies = [ "wasm-bindgen-futures", ] +[[package]] +name = "jsonrpsee-core" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b5dde66c53d6dcdc8caea1874a45632ec0fcf5b437789f1e45766a1512ce803" +dependencies = [ + "anyhow", + "arrayvec 0.7.6", + "async-trait", + "beef", + "futures-channel", + "futures-util", + "globset", + "hyper 0.14.30", + "jsonrpsee-types 0.16.3", + "parking_lot 0.12.3", + "rand 0.8.5", + "rustc-hash 1.1.0", + "serde", + "serde_json", + "soketto", + "thiserror", + "tokio", + "tracing", +] + [[package]] name = "jsonrpsee-http-client" version = "0.15.1" @@ -3666,8 +4011,8 @@ dependencies = [ "async-trait", "hyper 0.14.30", "hyper-rustls 0.23.2", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.15.1", + "jsonrpsee-types 0.15.1", "rustc-hash 1.1.0", "serde", "serde_json", @@ -3686,8 +4031,8 @@ dependencies = [ "futures-channel", "futures-util", "hyper 0.14.30", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.15.1", + "jsonrpsee-types 0.15.1", "serde", "serde_json", "tokio", @@ -3708,14 +4053,63 @@ dependencies = [ ] [[package]] -name = "jsonrpsee-types" -version = "0.15.1" +name = "jsonrpsee-proc-macros" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "44e8ab85614a08792b9bff6c8feee23be78c98d0182d4c622c05256ab553892a" dependencies = [ - "anyhow", - "beef", - "serde", + "heck 0.4.1", + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "jsonrpsee-server" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4d945a6008c9b03db3354fb3c83ee02d2faa9f2e755ec1dfb69c3551b8f4ba" +dependencies = [ + "futures-channel", + "futures-util", + "http 0.2.12", + "hyper 0.14.30", + "jsonrpsee-core 0.16.3", + "jsonrpsee-types 0.16.3", + "serde", + "serde_json", + "soketto", + "tokio", + "tokio-stream", + "tokio-util", + "tower", + "tracing", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +dependencies = [ + "anyhow", + "beef", + "serde", + "serde_json", + "thiserror", + "tracing", +] + +[[package]] +name = "jsonrpsee-types" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245ba8e5aa633dd1c1e4fae72bce06e71f42d34c14a2767c6b4d173b57bee5e5" +dependencies = [ + "anyhow", + "beef", + "serde", "serde_json", "thiserror", "tracing", @@ -3728,8 +4122,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597b4eb94730e7695d0a2a429bc37a12e6e84d12680fdafb9b8f5f53652aab57" dependencies = [ "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.15.1", + "jsonrpsee-types 0.15.1", ] [[package]] @@ -3740,8 +4134,8 @@ checksum = "6ee5feddd5188e62ac08fcf0e56478138e581509d4730f3f7be9b57dd402a4ff" dependencies = [ "http 0.2.12", "jsonrpsee-client-transport", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.15.1", + "jsonrpsee-types 0.15.1", ] [[package]] @@ -3753,8 +4147,8 @@ dependencies = [ "futures-channel", "futures-util", "http 0.2.12", - "jsonrpsee-core", - "jsonrpsee-types", + "jsonrpsee-core 0.15.1", + "jsonrpsee-types 0.15.1", "serde_json", "soketto", "tokio", @@ -3792,6 +4186,250 @@ dependencies = [ "signature", ] +[[package]] +name = "katana-cairo" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "cairo-lang-casm", + "cairo-lang-runner", + "cairo-lang-sierra", + "cairo-lang-sierra-to-casm", + "cairo-lang-starknet", + "cairo-lang-starknet-classes", + "cairo-lang-utils", + "cairo-vm", + "starknet_api", +] + +[[package]] +name = "katana-core" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "alloy-primitives 0.7.7", + "anyhow", + "derive_more", + "dojo-metrics", + "futures", + "katana-db", + "katana-executor", + "katana-pool", + "katana-primitives", + "katana-provider", + "katana-tasks", + "lazy_static", + "metrics", + "num-traits 0.2.19", + "parking_lot 0.12.3", + "starknet", + "thiserror", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "katana-db" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "anyhow", + "dojo-metrics", + "katana-primitives", + "metrics", + "page_size", + "parking_lot 0.12.3", + "postcard", + "reth-libmdbx", + "roaring", + "serde", + "serde_json", + "tempfile", + "thiserror", + "tracing", +] + +[[package]] +name = "katana-executor" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "blockifier 0.8.0-dev.2", + "katana-cairo", + "katana-primitives", + "katana-provider", + "parking_lot 0.12.3", + "starknet", + "thiserror", + "tracing", +] + +[[package]] +name = "katana-node" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "anyhow", + "dojo-metrics", + "hyper 0.14.30", + "jsonrpsee 0.16.3", + "katana-core", + "katana-db", + "katana-executor", + "katana-pool", + "katana-primitives", + "katana-provider", + "katana-rpc", + "katana-rpc-api", + "num-traits 0.2.19", + "serde_json", + "starknet", + "tokio", + "tower", + "tower-http", + "tracing", +] + +[[package]] +name = "katana-pool" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "futures", + "katana-executor", + "katana-primitives", + "katana-provider", + "parking_lot 0.12.3", + "thiserror", + "tracing", +] + +[[package]] +name = "katana-primitives" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "alloy-primitives 0.7.7", + "anyhow", + "base64 0.21.7", + "derive_more", + "flate2", + "katana-cairo", + "lazy_static", + "rand 0.8.5", + "serde", + "serde_json", + "serde_with", + "starknet", + "starknet-crypto 0.7.1", + "strum_macros 0.25.3", + "thiserror", +] + +[[package]] +name = "katana-provider" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "anyhow", + "auto_impl", + "futures", + "katana-db", + "katana-primitives", + "parking_lot 0.12.3", + "starknet", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "katana-rpc" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "anyhow", + "dojo-metrics", + "futures", + "jsonrpsee 0.16.3", + "katana-core", + "katana-executor", + "katana-pool", + "katana-primitives", + "katana-provider", + "katana-rpc-api", + "katana-rpc-types", + "katana-rpc-types-builder", + "katana-tasks", + "metrics", + "starknet", + "tracing", +] + +[[package]] +name = "katana-rpc-api" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "jsonrpsee 0.16.3", + "katana-core", + "katana-primitives", + "katana-rpc-types", + "starknet", +] + +[[package]] +name = "katana-rpc-types" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "alloy-primitives 0.7.7", + "anyhow", + "derive_more", + "futures", + "jsonrpsee 0.16.3", + "katana-cairo", + "katana-core", + "katana-executor", + "katana-pool", + "katana-primitives", + "katana-provider", + "num-traits 0.2.19", + "serde", + "serde_json", + "serde_with", + "starknet", + "thiserror", +] + +[[package]] +name = "katana-rpc-types-builder" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "anyhow", + "katana-executor", + "katana-primitives", + "katana-provider", + "katana-rpc-types", + "starknet", +] + +[[package]] +name = "katana-tasks" +version = "1.0.0-alpha.9" +source = "git+https://github.com/dojoengine/dojo?tag=v1.0.0-alpha.9#e42ce0c220a59d75c5b08e87a81de12cfdc27a55" +dependencies = [ + "futures", + "rayon", + "thiserror", + "tokio", + "tokio-metrics", + "tokio-util", + "tracing", +] + [[package]] name = "keccak" version = "0.1.5" @@ -3902,6 +4540,17 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +[[package]] +name = "libproc" +version = "0.14.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae9ea4b75e1a81675429dafe43441df1caea70081e82246a8cccf514884a88bb" +dependencies = [ + "bindgen 0.69.4", + "errno", + "libc", +] + [[package]] name = "libredox" version = "0.1.3" @@ -3943,6 +4592,15 @@ dependencies = [ "hashbrown 0.14.5", ] +[[package]] +name = "mach2" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +dependencies = [ + "libc", +] + [[package]] name = "matchit" version = "0.7.3" @@ -3974,12 +4632,87 @@ version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +[[package]] +name = "metrics" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261" +dependencies = [ + "ahash", + "portable-atomic", +] + +[[package]] +name = "metrics-exporter-prometheus" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4f0c8427b39666bf970460908b213ec09b3b350f20c0c2eabcbba51704a08e6" +dependencies = [ + "base64 0.22.1", + "http-body-util", + "hyper 1.4.1", + "hyper-rustls 0.27.2", + "hyper-util", + "indexmap 2.4.0", + "ipnet", + "metrics", + "metrics-util", + "quanta", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "metrics-process" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb524e5438255eaa8aa74214d5a62713b77b2c3c6e3c0bbeee65cfd9a58948ba" +dependencies = [ + "libproc", + "mach2", + "metrics", + "once_cell", + "procfs", + "rlimit", + "windows", +] + +[[package]] +name = "metrics-util" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828" +dependencies = [ + "aho-corasick", + "crossbeam-epoch", + "crossbeam-utils", + "hashbrown 0.14.5", + "indexmap 2.4.0", + "metrics", + "num_cpus", + "ordered-float", + "quanta", + "radix_trie", + "sketches-ddsketch", +] + [[package]] name = "mime" version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "minilp" version = "0.2.2" @@ -4026,6 +4759,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "mirai-annotations" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" + [[package]] name = "native-tls" version = "0.2.12" @@ -4062,6 +4801,15 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" +[[package]] +name = "nibble_vec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43" +dependencies = [ + "smallvec", +] + [[package]] name = "nom" version = "7.1.3" @@ -4354,12 +5102,31 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "ordered-float" +version = "4.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a91171844676f8c7990ce64959210cd2eaef32c2612c50f9fae9f8aaa6065a6" +dependencies = [ + "num-traits 0.2.19", +] + [[package]] name = "overload" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "parity-scale-codec" version = "1.3.7" @@ -4675,6 +5442,24 @@ dependencies = [ "crunchy", ] +[[package]] +name = "portable-atomic" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" + +[[package]] +name = "postcard" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7f0a8d620d71c457dd1d47df76bb18960378da56af4527aaa10f515eee732e" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "serde", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -4808,6 +5593,29 @@ dependencies = [ "yansi 1.0.1", ] +[[package]] +name = "procfs" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" +dependencies = [ + "bitflags 2.6.0", + "hex", + "lazy_static", + "procfs-core", + "rustix", +] + +[[package]] +name = "procfs-core" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" +dependencies = [ + "bitflags 2.6.0", + "hex", +] + [[package]] name = "proptest" version = "1.5.0" @@ -4824,6 +5632,21 @@ dependencies = [ "unarray", ] +[[package]] +name = "quanta" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi 0.11.0+wasi-snapshot-preview1", + "web-sys", + "winapi", +] + [[package]] name = "quinn" version = "0.11.3" @@ -4893,6 +5716,16 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +[[package]] +name = "radix_trie" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" +dependencies = [ + "endian-type", + "nibble_vec", +] + [[package]] name = "rand" version = "0.7.3" @@ -4973,6 +5806,15 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "raw-cpuid" +version = "11.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb9ee317cfe3fbd54b36a511efc1edd42e216903c9cd575e686dd68a2ba90d8d" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "rawpointer" version = "0.2.1" @@ -5150,6 +5992,43 @@ dependencies = [ "windows-registry", ] +[[package]] +name = "reth-libmdbx" +version = "0.1.0-alpha.13" +source = "git+https://github.com/paradigmxyz/reth.git?rev=b34b0d3#b34b0d3c8de2598b2976f7ee2fc1a166c50b1b94" +dependencies = [ + "bitflags 2.6.0", + "byteorder", + "derive_more", + "indexmap 2.4.0", + "libc", + "parking_lot 0.12.3", + "reth-mdbx-sys", + "thiserror", +] + +[[package]] +name = "reth-mdbx-sys" +version = "0.1.0-alpha.13" +source = "git+https://github.com/paradigmxyz/reth.git?rev=b34b0d3#b34b0d3c8de2598b2976f7ee2fc1a166c50b1b94" +dependencies = [ + "bindgen 0.68.1", + "cc", + "libc", +] + +[[package]] +name = "reth-metrics-derive" +version = "1.0.3" +source = "git+https://github.com/paradigmxyz/reth.git?tag=v1.0.3#390f30aadebcdd509e72cc04327c3b854de076a6" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "regex", + "syn 2.0.76", +] + [[package]] name = "retri" version = "0.1.0" @@ -5201,7 +6080,7 @@ name = "revm-primitives" version = "1.3.0" source = "git+https://github.com/bluealloy/revm?rev=23cbac479f616eba5ab11ddfe6d5814b9c492202#23cbac479f616eba5ab11ddfe6d5814b9c492202" dependencies = [ - "alloy-primitives", + "alloy-primitives 0.4.2", "alloy-rlp", "auto_impl", "bitflags 2.6.0", @@ -5262,6 +6141,15 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "rlimit" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a" +dependencies = [ + "libc", +] + [[package]] name = "rlp" version = "0.4.6" @@ -5293,6 +6181,43 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "roaring" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4b84ba6e838ceb47b41de5194a60244fac43d9fe03b71dbe8c5a201081d6d1" +dependencies = [ + "bytemuck", + "byteorder", + "serde", +] + +[[package]] +name = "rstest" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de1bb486a691878cd320c2f0d319ba91eeaa2e894066d8b5f8f117c000e9d962" +dependencies = [ + "futures", + "futures-timer", + "rstest_macros", + "rustc_version", +] + +[[package]] +name = "rstest_macros" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290ca1a1c8ca7edb7c3283bd44dc35dd54fdec6253a3912e201ba1072018fca8" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "rustc_version", + "syn 1.0.109", + "unicode-ident", +] + [[package]] name = "ruint" version = "1.12.3" @@ -5429,6 +6354,7 @@ version = "0.23.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" dependencies = [ + "aws-lc-rs", "log", "once_cell", "ring 0.17.8", @@ -5440,12 +6366,25 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.6.3" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +dependencies = [ + "openssl-probe", + "rustls-pemfile 1.0.4", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-native-certs" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.4", + "rustls-pemfile 2.1.3", + "rustls-pki-types", "schannel", "security-framework", ] @@ -5491,6 +6430,7 @@ version = "0.102.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56" dependencies = [ + "aws-lc-rs", "ring 0.17.8", "rustls-pki-types", "untrusted 0.9.0", @@ -5733,6 +6673,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_json_pythonic" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62212da9872ca2a0cad0093191ee33753eddff9266cbbc1b4a602d13a3a768db" +dependencies = [ + "itoa", + "ryu", + "serde", +] + [[package]] name = "serde_path_to_error" version = "0.1.16" @@ -5764,6 +6715,34 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +dependencies = [ + "base64 0.13.1", + "chrono", + "hex", + "indexmap 1.9.3", + "serde", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +dependencies = [ + "darling 0.20.10", + "proc-macro2", + "quote", + "syn 2.0.76", +] + [[package]] name = "serde_yaml" version = "0.9.34+deprecated" @@ -5850,6 +6829,15 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + [[package]] name = "signature" version = "2.2.0" @@ -5878,6 +6866,12 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" +[[package]] +name = "sketches-ddsketch" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" + [[package]] name = "slab" version = "0.4.9" @@ -5945,6 +6939,7 @@ dependencies = [ "base64 0.13.1", "bytes", "futures", + "http 0.2.12", "httparse", "log", "rand 0.8.5", @@ -6029,6 +7024,69 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "starknet" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e633a772f59214c296d5037c95c36b72792c9360323818da2b625c7b4ec4b49" +dependencies = [ + "starknet-accounts", + "starknet-contract", + "starknet-core", + "starknet-crypto 0.7.1", + "starknet-macros", + "starknet-providers", + "starknet-signers", +] + +[[package]] +name = "starknet-accounts" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eee8a6b588a22c7e79f5d8d4e33413387db63a8beb98be8610138541794cc0a5" +dependencies = [ + "async-trait", + "auto_impl", + "starknet-core", + "starknet-crypto 0.7.1", + "starknet-providers", + "starknet-signers", + "thiserror", +] + +[[package]] +name = "starknet-contract" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5f91344f1e0b81873b6dc235c50ae4d084c6ea4dd4a1e3e27ad895803adb610" +dependencies = [ + "serde", + "serde_json", + "serde_with", + "starknet-accounts", + "starknet-core", + "starknet-providers", + "thiserror", +] + +[[package]] +name = "starknet-core" +version = "0.11.1" +source = "git+https://github.com/kariy/starknet-rs?branch=dojo-patch#a8ed922690258ca218c80154007aa446ad03929c" +dependencies = [ + "base64 0.21.7", + "crypto-bigint", + "flate2", + "hex", + "serde", + "serde_json", + "serde_json_pythonic", + "serde_with", + "sha3", + "starknet-crypto 0.7.0", + "starknet-types-core", +] + [[package]] name = "starknet-crypto" version = "0.5.2" @@ -6069,6 +7127,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "starknet-crypto" +version = "0.7.0" +source = "git+https://github.com/kariy/starknet-rs?branch=dojo-patch#a8ed922690258ca218c80154007aa446ad03929c" +dependencies = [ + "crypto-bigint", + "hex", + "hmac", + "num-bigint", + "num-integer", + "num-traits 0.2.19", + "rfc6979", + "sha2 0.10.8", + "starknet-crypto-codegen 0.4.0 (git+https://github.com/kariy/starknet-rs?branch=dojo-patch)", + "starknet-curve 0.5.0 (git+https://github.com/kariy/starknet-rs?branch=dojo-patch)", + "starknet-types-core", + "zeroize", +] + [[package]] name = "starknet-crypto" version = "0.7.1" @@ -6083,8 +7160,8 @@ dependencies = [ "num-traits 0.2.19", "rfc6979", "sha2 0.10.8", - "starknet-crypto-codegen 0.4.0", - "starknet-curve 0.5.0", + "starknet-crypto-codegen 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-curve 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "starknet-types-core", "zeroize", ] @@ -6106,7 +7183,17 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e179dedc3fa6da064e56811d3e05d446aa2f7459e4eb0e3e49378a337235437" dependencies = [ - "starknet-curve 0.5.0", + "starknet-curve 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "starknet-types-core", + "syn 2.0.76", +] + +[[package]] +name = "starknet-crypto-codegen" +version = "0.4.0" +source = "git+https://github.com/kariy/starknet-rs?branch=dojo-patch#a8ed922690258ca218c80154007aa446ad03929c" +dependencies = [ + "starknet-curve 0.5.0 (git+https://github.com/kariy/starknet-rs?branch=dojo-patch)", "starknet-types-core", "syn 2.0.76", ] @@ -6138,6 +7225,14 @@ dependencies = [ "starknet-types-core", ] +[[package]] +name = "starknet-curve" +version = "0.5.0" +source = "git+https://github.com/kariy/starknet-rs?branch=dojo-patch#a8ed922690258ca218c80154007aa446ad03929c" +dependencies = [ + "starknet-types-core", +] + [[package]] name = "starknet-ff" version = "0.3.7" @@ -6150,6 +7245,54 @@ dependencies = [ "hex", ] +[[package]] +name = "starknet-macros" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fe4f8d615329410578cbedcdbaa4a36c7f28f68c3f3ac56006cfbdaeaa2b41" +dependencies = [ + "starknet-core", + "syn 2.0.76", +] + +[[package]] +name = "starknet-providers" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59c85e0a0f4563ae95dfeae14ea0f0c70610efc0ec2462505c64eff5765e7b97" +dependencies = [ + "async-trait", + "auto_impl", + "ethereum-types 0.14.1", + "flate2", + "getrandom 0.2.15", + "log", + "reqwest 0.11.27", + "serde", + "serde_json", + "serde_with", + "starknet-core", + "thiserror", + "url", +] + +[[package]] +name = "starknet-signers" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17da2139119dbe3aacf1d5d4338798a5c489d17f424916ceb9d2efd83554f87" +dependencies = [ + "async-trait", + "auto_impl", + "crypto-bigint", + "eth-keystore", + "getrandom 0.2.15", + "rand 0.8.5", + "starknet-core", + "starknet-crypto 0.7.1", + "thiserror", +] + [[package]] name = "starknet-types-core" version = "0.1.5" @@ -6559,6 +7702,7 @@ dependencies = [ "mio", "parking_lot 0.12.3", "pin-project-lite", + "signal-hook-registry", "socket2", "tokio-macros", "windows-sys 0.52.0", @@ -6575,6 +7719,18 @@ dependencies = [ "syn 2.0.76", ] +[[package]] +name = "tokio-metrics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eace09241d62c98b7eeb1107d4c5c64ca3bd7da92e8c218c153ab3a78f9be112" +dependencies = [ + "futures-util", + "pin-project-lite", + "tokio", + "tokio-stream", +] + [[package]] name = "tokio-native-tls" version = "0.3.1" @@ -6653,6 +7809,8 @@ dependencies = [ "futures-core", "futures-io", "futures-sink", + "futures-util", + "hashbrown 0.14.5", "pin-project-lite", "tokio", ] @@ -6710,12 +7868,47 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", + "hdrhistogram", + "indexmap 1.9.3", "pin-project", "pin-project-lite", + "rand 0.8.5", + "slab", + "tokio", + "tokio-util", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" +dependencies = [ + "async-compression", + "base64 0.21.7", + "bitflags 2.6.0", + "bytes", + "futures-core", + "futures-util", + "http 0.2.12", + "http-body 0.4.6", + "http-range-header", + "httpdate", + "iri-string", + "mime", + "mime_guess", + "percent-encoding", + "pin-project-lite", "tokio", + "tokio-util", + "tower", "tower-layer", "tower-service", "tracing", + "uuid 1.10.0", ] [[package]] @@ -6995,6 +8188,7 @@ dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -7019,6 +8213,15 @@ dependencies = [ "serde", ] +[[package]] +name = "uuid" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +dependencies = [ + "getrandom 0.2.15", +] + [[package]] name = "validator" version = "0.18.1" @@ -7252,6 +8455,16 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +dependencies = [ + "windows-core 0.57.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -7261,17 +8474,60 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-result 0.1.2", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.76", +] + +[[package]] +name = "windows-interface" +version = "0.57.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.76", +] + [[package]] name = "windows-registry" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-strings", "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -7287,7 +8543,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" dependencies = [ - "windows-result", + "windows-result 0.2.0", "windows-targets 0.52.6", ] @@ -7619,7 +8875,7 @@ dependencies = [ "pbkdf2 0.11.0", "sha1", "time", - "zstd", + "zstd 0.11.2+zstd.1.5.2", ] [[package]] @@ -7628,7 +8884,16 @@ version = "0.11.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" dependencies = [ - "zstd-safe", + "zstd-safe 5.0.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" +dependencies = [ + "zstd-safe 7.2.1", ] [[package]] @@ -7641,6 +8906,15 @@ dependencies = [ "zstd-sys", ] +[[package]] +name = "zstd-safe" +version = "7.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" +dependencies = [ + "zstd-sys", +] + [[package]] name = "zstd-sys" version = "2.0.13+zstd.1.5.6" diff --git a/Cargo.toml b/Cargo.toml index d0e7b171..cc663dc6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -61,4 +61,15 @@ toml = "0.8.19" clap = { version = "4.5.13", features = ["derive"] } [dev-dependencies] +anyhow = "1.0.86" +alloy-primitives = { version = "0.7.6", default-features = false } +katana-core = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } +katana-executor = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } +katana-node = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } +katana-primitives = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } +katana-rpc = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } +katana-rpc-api = { git = "https://github.com/dojoengine/dojo", tag = "v1.0.0-alpha.9" } wiremock = "0.6.1" + +[patch.crates-io] +starknet-core = { git = "https://github.com/kariy/starknet-rs", branch = "dojo-patch" } diff --git a/tests/account_declaration.rs b/tests/account_declaration.rs new file mode 100644 index 00000000..29e87043 --- /dev/null +++ b/tests/account_declaration.rs @@ -0,0 +1,72 @@ +use std::{thread, time}; + +use beerus::gen::BroadcastedDeclareTxn; +use beerus::gen::{ + client::Client, Address, BlockId, BlockTag, BroadcastedTxn, Felt, Rpc, + SimulationFlagForEstimateFee, +}; +use common::constants::{COMPILED_ACCOUNT_CONTRACT, DECLARE_ACCOUNT}; +use common::katana::Katana; + +mod common; + +#[tokio::test] +async fn declare_account() { + let url = "http://127.0.0.1:5050"; + let katana = Katana::init(url).await.unwrap(); + let client = Client::new(url); + + let res_chain_id = client.chainId().await; + assert!(res_chain_id.is_ok()); + assert_eq!(res_chain_id.unwrap().as_ref(), "0x4b4154414e41"); + + let block_id = BlockId::BlockTag(BlockTag::Pending); + let class_hash = Felt::try_new( + "0x6b46f84b1bbb779e588a9c5f577907c3dfb66e6b13cf4c4f480d4fb1677c2ba", + ) + .unwrap(); + let res_class = client.getClass(block_id.clone(), class_hash).await; + assert!(res_class.is_err()); + assert!(res_class.unwrap_err().message.contains("Class hash not found")); + + let contract_address = Address( + Felt::try_new( + "0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03", + ) + .unwrap(), + ); + let res_nonce = client.getNonce(block_id, contract_address).await; + assert!(res_nonce.is_ok()); + assert_eq!(res_nonce.unwrap().as_ref(), "0x0"); + + let res_spec_version = client.specVersion().await; + assert!(res_spec_version.is_ok()); + assert_eq!(res_spec_version.unwrap().as_str(), "0.7.1"); + + let contract: Vec = + serde_json::from_str(COMPILED_ACCOUNT_CONTRACT).unwrap(); + let simulation_flags: Vec = vec![]; + let block_id = BlockId::BlockTag(BlockTag::Pending); + let res_estimate_fee = + client.estimateFee(contract, simulation_flags, block_id).await; + assert!(res_estimate_fee.is_ok()); + + let declare_account: BroadcastedDeclareTxn = + serde_json::from_str(DECLARE_ACCOUNT).unwrap(); + let res_declare_account = + client.addDeclareTransaction(declare_account).await; + assert!(res_declare_account.is_ok()); + + let block_mining_time = time::Duration::from_millis(1000); + thread::sleep(block_mining_time); + + let block_id = BlockId::BlockTag(BlockTag::Pending); + let class_hash = Felt::try_new( + "0x6b46f84b1bbb779e588a9c5f577907c3dfb66e6b13cf4c4f480d4fb1677c2ba", + ) + .unwrap(); + let res_class = client.getClass(block_id.clone(), class_hash).await; + assert!(res_class.is_ok()); + + katana.stop().unwrap(); +} diff --git a/tests/clob/compiled_account_contract.txt b/tests/clob/compiled_account_contract.txt new file mode 100644 index 00000000..7f4dc362 --- /dev/null +++ b/tests/clob/compiled_account_contract.txt @@ -0,0 +1 @@ +[{"account_deployment_data":[],"compiled_class_hash":"0x4874daca4bc2952be788e3932750d0386c5820b0ecc3d67463c67d27920943b","contract_class":{"abi":"[{\"type\": \"impl\", \"name\": \"AccountImpl\", \"interface_name\": \"standard_account::IAccount\"}, {\"type\": \"enum\", \"name\": \"core::bool\", \"variants\": [{\"name\": \"False\", \"type\": \"()\"}, {\"name\": \"True\", \"type\": \"()\"}]}, {\"type\": \"interface\", \"name\": \"standard_account::IAccount\", \"items\": [{\"type\": \"function\", \"name\": \"is_valid_signature\", \"inputs\": [{\"name\": \"hash\", \"type\": \"core::felt252\"}, {\"name\": \"signature\", \"type\": \"core::array::Array::\"}], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}, {\"type\": \"function\", \"name\": \"supports_interface\", \"inputs\": [{\"name\": \"interface_id\", \"type\": \"core::felt252\"}], \"outputs\": [{\"type\": \"core::bool\"}], \"state_mutability\": \"view\"}, {\"type\": \"function\", \"name\": \"public_key\", \"inputs\": [], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}]}, {\"type\": \"struct\", \"name\": \"core::array::Span::\", \"members\": [{\"name\": \"snapshot\", \"type\": \"@core::array::Array::\"}]}, {\"type\": \"struct\", \"name\": \"core::starknet::account::Call\", \"members\": [{\"name\": \"to\", \"type\": \"core::starknet::contract_address::ContractAddress\"}, {\"name\": \"selector\", \"type\": \"core::felt252\"}, {\"name\": \"calldata\", \"type\": \"core::array::Span::\"}]}, {\"type\": \"function\", \"name\": \"__execute__\", \"inputs\": [{\"name\": \"calls\", \"type\": \"core::array::Array::\"}], \"outputs\": [{\"type\": \"core::array::Array::>\"}], \"state_mutability\": \"external\"}, {\"type\": \"function\", \"name\": \"__validate__\", \"inputs\": [{\"name\": \"calls\", \"type\": \"core::array::Array::\"}], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}, {\"type\": \"function\", \"name\": \"__validate_declare__\", \"inputs\": [{\"name\": \"class_hash\", \"type\": \"core::felt252\"}], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}, {\"type\": \"function\", \"name\": \"__validate_deploy__\", \"inputs\": [{\"name\": \"class_hash\", \"type\": \"core::felt252\"}, {\"name\": \"salt\", \"type\": \"core::felt252\"}, {\"name\": \"public_key\", \"type\": \"core::felt252\"}], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}, {\"type\": \"constructor\", \"name\": \"constructor\", \"inputs\": [{\"name\": \"public_key\", \"type\": \"core::felt252\"}]}, {\"type\": \"event\", \"name\": \"standard_account::Account::Event\", \"kind\": \"enum\", \"variants\": []}]","contract_class_version":"0.1.0","entry_points_by_type":{"CONSTRUCTOR":[{"function_idx":7,"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194"}],"EXTERNAL":[{"function_idx":1,"selector":"0xfe80f537b66d12a00b6d3c072b44afbb716e78dde5c3f0ef116ee93d3e3283"},{"function_idx":3,"selector":"0x15d40a3d6ca2ac30f4031e42be28da9b056fef9bb7357ac5e85627ee876e5ad"},{"function_idx":4,"selector":"0x162da33a4585851fe8d3af3c2a9c60b557814e221e0d4f30ff0b2189d9c7775"},{"function_idx":0,"selector":"0x28420862938116cb3bbdbedee07451ccc54d4e9412dbef71142ad1980a30941"},{"function_idx":5,"selector":"0x289da278a8dc833409cabfdad1581e8e7d40e42dcaed693fa4008dcdb4963b3"},{"function_idx":6,"selector":"0x36fcbf06cd96843058359e1a75928beacfac10727dab22a3972f0af8aa92895"},{"function_idx":2,"selector":"0x3b28019ccfdbd30ffc65951d94bb85c9e2b8434111a000b5afd533ce65f57a4"}],"L1_HANDLER":[]},"sierra_program":["0x1","0x4","0x0","0x2","0x5","0x4","0x2db","0x125","0x62","0x66656c74323532","0x800000000000000700000000000000000000000000000000","0x556e696e697469616c697a6564","0x800000000000000200000000000000000000000000000001","0x1","0x0","0x753332","0x456e756d","0x800000000000000700000000000000000000000000000003","0x39a088813bcc109470bd475058810a7465bd632650a449e0ab3aee56f2e4e69","0x2","0x4172726179","0x800000000000000300000000000000000000000000000001","0x536e617073686f74","0x800000000000000700000000000000000000000000000001","0x4","0x537472756374","0x800000000000000700000000000000000000000000000002","0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62","0x5","0x800000000000000300000000000000000000000000000003","0x161ee0e6962e56453b5d68e09d1cabe5633858c1ba3a7e73fee8c70867eced0","0x6","0x426f78","0x15","0xfeece2ea7edbbbebeeb5f270b77f64c680a68a089b794478dd9eca75e0196a","0x8","0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3","0x800000000000000f00000000000000000000000000000001","0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672","0xb","0x3ab802bcce3a9ca953b0e1f31a5b29eb27a9b727c891e24300e1b5cc57387ba","0xa","0xc","0x19b9ae4ba181a54f9e7af894a81b44a60aea4c9803939708d6cc212759ee94c","0xe","0x45635374617465","0x33","0x17","0x2e","0x436f6e747261637441646472657373","0x800000000000000700000000000000000000000000000006","0x7d4d99e9ed8d285b5c61b493cedb63976bc3d9da867933d829f49ce838b5e7","0x12","0x13","0x14","0x753634","0x800000000000000700000000000000000000000000000004","0x3808c701a5d13e100ab11b6c02f91f752ecae7e420d21b56c90ec0a475cc7e5","0x16","0x2ca39cde64b91db1514d78c135ee79d71b3b57fffee52f1a3ef96618a34d8c8","0x18","0x1d49f7a4b277bf7b55a2664ce8cef5d6922b5ffb806b89644b9e0cdbbcac378","0x1a","0x13fdd7105045794a99550ae1c4ac13faa62610dfab62c16422bfcf5803baa6e","0x1b","0x3d37ad6eafb32512d2dd95a2917f6bf14858de22c27a1114392429f2e5c15d7","0x4563506f696e74","0x4e6f6e5a65726f","0x1e","0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99","0x1f5d91ca543c7f9a0585a1c8beffc7a207d4af73ee640223a154b1da196a40d","0x21","0x23","0x24","0x800000000000000300000000000000000000000000000004","0x26","0x32cb17bdb0d0d053909169ec443a25462b7e27237007511f772a7d957ce924c","0x27","0x2d","0x29","0x1597b831feeb60c71f259624b79cf66995ea4f7e383403583674ab9c33b9cec","0x2a","0x75313238","0x3342418ef16b3e2799b906b1e4e89dbb9b111332dd44f72458ce44f9895b508","0x2c","0x80000000000000070000000000000000000000000000000e","0x348a62b7a38c0673e61e888d83a3ac1bf334ee7361a8514593d3d9532ed8b39","0x2b","0xa36a0a15af8cf1727a3a4fd9137671f23256b1f42299af56605a6910c522ce","0x2f","0x3e1934b18d91949ab9afdbdd1866a30ccca06c2b1e6581582c6b27f8b4f6555","0x31","0x3693aea200ee3080885d21614d01b9532a8670f69e658a94addaadd72e9aca","0x18508a22cd4cf1437b721f596cd2277fc0a5e4dcd247b107ef2ef5fd2752cf7","0x34","0x8416421239ce8805ed9d27e6ddae62a97ab5d01883bb8f5246b4742a44b429","0x35","0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc","0x53746f7261676541646472657373","0x53746f726167654261736541646472657373","0x3a","0x3ae40d407f8074730e48241717c3dd78b7128d346cf81094e31806a3a5bdf","0x3b","0x13cce21049247953c2cc76b731b7beb463e4c682d14903dc69c579ee48cb251","0x800000000000000f00000000000000000000000000000003","0x3d","0x1edf47c56ea83552f4df1e36abbfc378016e5e14c4c78f66951a482e7a0dcb2","0x3e","0x28f8d296e28032baef1f420f78ea9d933102ba47a50b1c5f80fc8a3a1041da","0x800000000000000300000000000000000000000000000002","0x25abf8fd76a01c7e2544d26b0a2e29212b05a36781e0330b46d878e43b307d1","0x41","0x800000000000000f00000000000000000000000000000002","0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5","0x43","0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972","0x46","0xa853c166304d20fb0711becf2cbdf482dee3cac4e9717d040b7a7ab1df7eec","0x47","0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7","0x9588b2eac8c49c33ae6b9cda62b86add5f8a9ea83d81ba4b230999cc65032","0x4a","0x3f44fe8c7081578da0ccedc43257629a76e8032285bf6ccb43a6bc1db644a23","0x4b","0x74584e9f10ffb1a40aa5a3582e203f6758defc4a497d1a2d5a89f274a320e9","0x4d","0x7801f098de923de9defb21218ea599613d17d7d776a89735edec042eaeec6f","0x4f","0x28f184fd9e4406cc4475e4faaa80e83b54a57026386ee7d5fc4fa8f347e327d","0x51","0xc1f0cb41289e2f6a79051e9af1ead07112b46ff17a492a90b3944dc53a51c8","0x52","0x53797374656d","0x800000000000000100000000000000000000000000000000","0x54","0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259","0x57","0x4275696c74696e436f737473","0x45634f70","0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6","0x56","0x17b6ecc31946835b0d9d92c2dd7a9c14f29af0371571ae74a1b228828b2242","0x5c","0x34f9bd7c6cb2dd4263175964ad75f1ff1461ddc332fbfb274e0fb2a5d7ab968","0x5d","0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511","0x4761734275696c74696e","0x52616e6765436865636b","0x178","0x616c6c6f635f6c6f63616c","0x66696e616c697a655f6c6f63616c73","0x7265766f6b655f61705f747261636b696e67","0x77697468647261775f676173","0x6272616e63685f616c69676e","0x73746f72655f74656d70","0x66756e6374696f6e5f63616c6c","0x3","0x61","0x656e756d5f6d61746368","0x5f","0x60","0x73746f72655f6c6f63616c","0x9","0x5e","0x7374727563745f6465636f6e737472756374","0x61727261795f736e617073686f745f706f705f66726f6e74","0x64726f70","0x61727261795f6e6577","0x66656c743235325f636f6e7374","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x61727261795f617070656e64","0x7374727563745f636f6e737472756374","0x656e756d5f696e6974","0x5b","0x5a","0x6765745f6275696c74696e5f636f737473","0x59","0x77697468647261775f6761735f616c6c","0x736e617073686f745f74616b65","0x58","0x4f7574206f6620676173","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0xd","0xf","0x53","0x55","0x10","0x50","0x11","0x4e","0x4661696c656420746f20646573657269616c697a6520706172616d202333","0x4c","0x49","0x6a756d70","0x756e626f78","0x72656e616d65","0x64697361626c655f61705f747261636b696e67","0x48","0x56414c4944","0x2ceccef7f994940b3962a6c67e0ba4fcd37df7d131417c604f91e03caecc1cd","0x66656c743235325f737562","0x66656c743235325f69735f7a65726f","0x45","0x19","0x44","0x1c","0x42","0x647570","0x61727261795f6c656e","0x7533325f746f5f66656c74323532","0x40","0x1d","0x1f","0x3f","0x7533325f636f6e7374","0x7533325f6571","0x20","0x3c","0x73746f726167655f626173655f616464726573735f636f6e7374","0x3b28019ccfdbd30ffc65951d94bb85c9e2b8434111a000b5afd533ce65f57a4","0x73746f726167655f616464726573735f66726f6d5f62617365","0x38","0x73746f726167655f726561645f73797363616c6c","0x37","0x22","0x36","0x32","0x636f6e74726163745f616464726573735f746f5f66656c74323532","0x4163636f756e743a20696e76616c69642063616c6c6572","0x25","0x30","0x100000000000000000000000000000000","0x66656c743235325f616464","0x4163636f756e743a20556e737570706f727465642074782076657273696f6e","0x28","0x656e61626c655f61705f747261636b696e67","0x4163636f756e743a20496e636f7272656374207478207369676e6174757265","0x73746f726167655f77726974655f73797363616c6c","0x61727261795f676574","0x496e646578206f7574206f6620626f756e6473","0x800000000000010ffffffffffffffffb781126dcae7b2321e66a241adc64d2f","0x65635f706f696e745f66726f6d5f785f6e7a","0x756e777261705f6e6f6e5f7a65726f","0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca","0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f","0x65635f706f696e745f7472795f6e65775f6e7a","0x65635f706f696e745f69735f7a65726f","0x65635f706f696e745f756e77726170","0x61727261795f706f705f66726f6e74","0x65635f73746174655f696e6974","0x65635f73746174655f6164645f6d756c","0x65635f73746174655f7472795f66696e616c697a655f6e7a","0x65635f706f696e745f7a65726f","0x65635f73746174655f616464","0x65635f6e6567","0x21adb5788e32c84f69a1863d85ef9394b7bf761a0ce1190f826984e5075c371","0x61727261795f736c696365","0x6765745f657865637574696f6e5f696e666f5f76325f73797363616c6c","0x63616c6c5f636f6e74726163745f73797363616c6c","0x7","0x7533325f7472795f66726f6d5f66656c74323532","0x7533325f6f766572666c6f77696e675f737562","0x7533325f737562204f766572666c6f77","0x526573756c743a3a756e77726170206661696c65642e","0xace","0xffffffffffffffff","0x91","0x80","0x77","0x66","0x39","0xf5","0xe6","0xbb","0xd8","0x14e","0x118","0x141","0x13a","0x1da","0x1d2","0x1c2","0x17d","0x1b3","0x1ac","0x1a5","0x25c","0x254","0x244","0x208","0x235","0x22d","0x2d2","0x2c2","0x286","0x2b3","0x2ab","0x379","0x369","0x358","0x346","0x306","0x335","0x32d","0x3e1","0x3d2","0x3a2","0x3c4","0x3bd","0x3f6","0x3fb","0x405","0x414","0x419","0x427","0x63","0x64","0x65","0x67","0x68","0x450","0x69","0x6a","0x444","0x6b","0x448","0x6c","0x6d","0x6e","0x6f","0x70","0x71","0x72","0x73","0x467","0x74","0x75","0x76","0x474","0x478","0x78","0x79","0x7a","0x48c","0x491","0x49f","0x7b","0x7c","0x7d","0x7e","0x7f","0x81","0x82","0x4db","0x83","0x84","0x4d2","0x85","0x86","0x4ca","0x87","0x88","0x89","0x8a","0x8b","0x8c","0x8d","0x8e","0x8f","0x90","0x92","0x511","0x508","0x93","0x53a","0x94","0x531","0x565","0x55c","0x95","0x96","0x57f","0x97","0x98","0x99","0x9a","0x9b","0x5b0","0x9c","0x596","0x9d","0x5a6","0x9e","0x9f","0xa0","0xa1","0xa2","0xa3","0x5d3","0xa4","0xa5","0xa6","0x618","0xa7","0xa8","0xa9","0x60d","0xaa","0xab","0x602","0xac","0xad","0xae","0xaf","0xb0","0xb1","0xb2","0xb3","0x62f","0xb4","0xb5","0x634","0xb6","0xb7","0x670","0x64a","0xb8","0xb9","0xba","0x668","0xbc","0x65e","0xbd","0xbe","0xbf","0xc0","0x69d","0xc1","0xc2","0x690","0xc3","0xc4","0xc5","0xc6","0xc7","0xc8","0xc9","0x6e0","0xca","0xcb","0xcc","0xcd","0xce","0xcf","0xd0","0x6c2","0x6cc","0xd1","0xd2","0x6d3","0xd3","0xd4","0xd5","0xd6","0xd7","0x6fb","0xd9","0xda","0xdb","0xdc","0xdd","0x73e","0xde","0xdf","0xe0","0x712","0xe1","0xe2","0x717","0xe3","0xe4","0xe5","0x733","0xe7","0x72c","0xe8","0xe9","0xea","0xeb","0xec","0xed","0xee","0x78d","0x785","0x77a","0xef","0xf0","0x7a3","0xf1","0xf2","0x7a8","0xf3","0xf4","0x7b2","0xf6","0xf7","0xf8","0xf9","0xfa","0x7c0","0xfb","0xfc","0xfd","0xfe","0xff","0x7d8","0x100","0x7ea","0x7fc","0x101","0x879","0x102","0x103","0x86e","0x104","0x105","0x106","0x862","0x107","0x108","0x109","0x820","0x10a","0x10b","0x10c","0x10d","0x833","0x846","0x844","0x10e","0x84d","0x85c","0x85a","0x10f","0x889","0x110","0x111","0x8bf","0x8b7","0x112","0x113","0x8b0","0x114","0x115","0x8a7","0x116","0x117","0x119","0x11a","0x11b","0x11c","0x11d","0x11e","0x8d8","0x11f","0x120","0x121","0x122","0x123","0x124","0x125","0x126","0x127","0x8f0","0x128","0x129","0x12a","0x12b","0x933","0x12c","0x904","0x12d","0x12e","0x909","0x927","0x12f","0x130","0x131","0x91c","0x132","0x133","0x134","0x135","0x136","0x137","0x138","0x139","0x958","0x965","0x13b","0x13c","0x13d","0x13e","0x971","0x13f","0x97c","0x982","0x140","0x98e","0x998","0x142","0x9b1","0x143","0x9aa","0x144","0x145","0x146","0x9be","0x9c3","0x147","0xa14","0x148","0x149","0xa0c","0x14a","0x14b","0x9ff","0x14c","0x14d","0x9f7","0x9eb","0x14f","0x150","0x151","0x152","0x153","0x154","0x155","0xa25","0x156","0x157","0xa2a","0x158","0x159","0x15a","0x15b","0x15c","0x15d","0xa3a","0x15e","0x15f","0xa3f","0x160","0x161","0xa71","0xa52","0xa57","0xa66","0x162","0xa85","0x163","0x164","0x165","0x166","0xa91","0x167","0x168","0xa95","0x169","0x16a","0x16b","0x16c","0x16d","0xaa1","0x16e","0x16f","0x170","0x171","0x172","0x173","0xab5","0x174","0x175","0x176","0x177","0xac5","0x1e9","0x26b","0x2e1","0x388","0x3ef","0x40c","0x431","0x458","0x45d","0x46d","0x47f","0x484","0x4a9","0x4e4","0x4f1","0x51a","0x543","0x56e","0x585","0x5bf","0x622","0x639","0x67f","0x6a3","0x6e7","0x702","0x74d","0x796","0x7b9","0x7cb","0x883","0x88f","0x8c6","0x8de","0x8f6","0x943","0x952","0x95e","0x976","0x992","0x99f","0x9b7","0xa1e","0xa2f","0xa44","0xa7f","0xa8b","0xa9b","0xaa7","0xaa9","0xaae","0xabe","0x5fa9","0x100140f038060140d0300b0140b0140a018090200201c060140400c0200400","0x506c0506806054080640503c180400505c0505806054080500504c0604811","0x210142001815020100141f0141c018150441e0181d0440b0141c0181204410","0x1809c0503c180980503c18008250900502c0508c0602408070060741108805","0x3101830044020bc060142e0142e0142d0142c0142b0182a044020a4280140f","0x50d40602408088050d0050cc060540806c0507006048110b8050c8050c805","0x2e01439018090202201438014370181502036014170141c018090442401417","0x50f8060240805c0503c1804005090050f406054080f00503c3b0083a09005","0x430141c01842044260140d030410140400c400140f038170140d030240143f","0x5120060481111c0503c0e118050340c088051140511006054080900510005","0x170144c0142e014060144e0184d0444c01432014060144b018300440212849","0x80b405070060481105c0502c0502c0505c051300513c05018050180501805","0x5401830044220145301452018150202e0141c0181204422014510145001815","0x6054081580505c0507006024110900509805154060240805c05018050b805","0x1c01812044060140f0600216c0216810014060145901815020220145801457","0x6054080900518405070061801117c06074110880517805174060540817005","0x22014670146601815020400141c01865044410146401812044220146301462","0x5090051ac06024080180503c3b088051a8051a4060540809005070061a011","0x68044240145c0146f01809020220146e0146d018150206c0141c0181204424","0x50700605411088051cc051c80605408090051c4050700618011184051c006","0x77014760181502040014710141c01815044220147501474018150202401410","0x51ec051e806054081e40505c0507006054110900510c051e0060540808805","0x800147f01815020060141c01812044170141c018120447e0140400c7d1f022","0x60541109005040052140605408088052100520c06054081f4820088108805","0x7d22c7d228240140601489018090202201488014870181502086014170141c","0x95014052481b2500524c170140524806244062400623c0623806014052348c","0x96220050149c26c050149626894014930180501499260050149225c0501496","0x527810014052785c014052781401405278060140527417014052708601405","0x5014a307c05014a301805014a201805014922840b014a0018050149f01805","0xa8014052480629ca5014052487e01405248a6014052480502ca50140b29022","0x940149304005014921c4050149e1c405014aa1c405014a318405014a3018a9","0x10014052a824014052781f2500524c06014052a88001405270ab0140525821","0xb014a005c050149e2b00b014a00180b2940502ca421005014a305c05014a3","0x6c014052486c014052786c014052a8222500524cae02c052800501405278ad","0x961ec050149c2c405014962c094014931f8050148d09094014932bc9401493","0x52587e01405264b32500524c43014052484301405278b2014052787901405","0x5014962d494014931040501492100050149e10005014aa1dc050149c2d005","0x192500524cb702c052802e2500524c2d2500524c2c2500524c7501405270b6","0xa3018ba2e4050149205005014920180b2e40502ca41cc050149e2e00501496","0x970140b29006014052f006014052ecb9014052580502cb90140b2902401405","0xa30140b2180502ca40c89401493018bd0140b25c0502ca425c05014920180b","0x6e01405270be01405258272500524c9b014052480602c9b0140b2908801405","0x5014920180b2ac0502ca420005014a32fc0b014a00180b014a01b00501496","0xc3014052780502c6c0140b2900630806304c002c052800502cab0140b290ab","0x50149f0d094014931c4050149c0140b014a01b005014bc0180b1b00502ca4","0xb1014052480602cb10140b2907b0140528c0502c790140b290c42500524c26","0x9c31c050149631894014930e094014931a8050149e31405014960d89401493","0x53200502cb40140b290b4014052480602cb40140b290770140528c6701405","0x931c405014c8330940149332c050149232c05014a3018ca05c05014c910405","0xb290730140528c6301405270ce01405258cd2500524c0b02c052803c25005","0xa40180b2180502ca401805014c80140b2e00502ca42e005014920180b2e005","0x528c063400b014052480b02c0533c060140532417014053200502c9b0140b","0x9c348050149634494014930180b014cf2f805014920180b2f80502ca41b805","0x61014052780502cbe0140b29080014052783f2500524c0502c0533c5e01405","0x502ca436005014920180b3600502ca4018d73580501492018d53500b014d3","0x5801405270da01405258402500524c0602c790140b290d92500524c0502cd8","0x50149c36c050149610494014930140b2c40502ca409805014a21580501496","0xc50140b290dd02c05280c5014052480602cc50140b2906a0140528c0637053","0x50149e0a0050149c0a005014bb144050149c37c050149637894014930140b","0x527ce202c0528006384e002c052800b014052784f014052784c014052782e","0x502ca419c05014a3114050149c38c050149610c9401493100050149205c05","0x527406390cb0140527041014052340502cc70140b290c7014052480602cc7","0x50149610405014990140b3640502ca436405014920180b3640502ca405c05","0x528cb6014052480502cb60140b2904101405278452500524c17014052ecd9","0x502ca4018e63940b014a032c050149e378050149e0180b2d80502ca41d405","0x630140528c6a01405270e32500524c0502cd10140b290d1014052480602cd1","0xa417805014a301805014e70140b3380502ca433805014920180b3380502ca4","0x63a8e902c052800502cd20140b290e802c05280d2014052480602cd20140b","0x94014930f00501492018ee3b40b014a03b00b014a00f005014eb3340501492","0xd8014052584f2500524c492500524c3c01405320063c03c01405278063bc47","0xa30d805014960e0050149c3180501496118940149333005014961309401493","0xb290da014052480602cda0140b290580140528c0602c560140b2902601405","0x5014bb0d0050149c31005014960a094014930140b3680502ca40140b15805","0x52480602cdb0140b290530140528c2d014052782c01405278190140527019","0x502ca437c05014920180b37c0502ca414405014a30140b36c0502ca436c05","0x5258512500524c2601405248560140524826014052ec26014053c40502cdf","0xa411405014a338c05014920140b38c0502ca405c05014a2210050149c29405","0xb301405248063cc063c8d101405258df2500524c17014052f00602ce30140b","0xa433005014920180b3300502ca4018f8018f7018f6334050149e018f5018f4","0x6014053e40b01405320b001405258532500524c14014053200502ccc0140b","0x502ca40e005014a30180b0d80502ca4084050149c2bc050149636c9401493","0x9a0140b290063e80502c360140b2900502cc60140b290c6014052480602cc6","0x93098050149c310050149209894014930140b2680502ca426805014920180b","0x582500524c0502cfc0140b290fc014052480602cfc0140b290063ec5625005","0xb2500502ca4018fe0140b2c00502ca42c005014920180b2c00502ca4018fd","0x5258af01405248da2500524cff02c052800502c940140b290940140524806","0x94014934000b014a00140b3100502ca40180b3100502ca40d005014a326805","0xfc014052580502caf0140b2900602caf0140b290210140528c9401405258d8","0xb0180b25006019020140602c0601902014060140605c05408050180601901","0x1701810015020141001414018064080501810018212680b40c1b3f00b4080b","0x5410140150202c220141b018fc01502014fc014fc0182207c0b4080504005","0x140181b015020141b0149a018fc01502014fc014fc018064080501810018af","0x24251020141f06cfc2501f01814015020141405c0b0840607c054080507c05","0x102014b5014af0180640805018100182c015052d4054080b2cc05088062ccb0","0x50b4052c0060190201406040060c805418190150202c2e014240182e0b40b","0x34014b501806408050181001836014e33103402d0202c27014b30182701502","0x601902014140142e0180640805064050b40601902014c40142c0180640805","0x3802c34018c601502014c601427018c601502014060c8060e0054080501819","0xcd01438018cd01502014cc0f00b0d8060f00540805018c4018cc01502014c6","0x52c00526806014054080501405318060900540805090053f0063440540805","0x942c00509014014d101502014d10143c018940150201494014cc018b001502","0x3f014d10183f0150201406334060190201436014b5018064080501810018d1","0x64080501810018de1040b210403640b4080b0fcb0090940fc060fc0540805","0x611ce302d0201445014410184501502014430144001843015020140636406","0x526806014054080501405318063640540805364053f00601902014e3014de","0x190144301814015020141401427018940150201494014cc018400150201440","0x538c060a0461304f12414408050641411c9410005364fc114060640540805","0x51014470185301502014060640601902014060400637c052d8510150202c28","0x51580509c0601902014260142e018560980b4080536c051240636c0540805","0xda0144c018da1600b4080514c5602c4f018530150201453014430185601502","0x102014d6014280180640805360050b406358d802d0201458014460180640805","0x540805124053f00617805408051700537c06170054080541c051440641c05","0x460150201446014cc0184c015020144c0149a0184f015020144f014c601849","0xdf014380180640805018100185e1184c13c49050051780540805178050f006","0x5130052680613c054080513c05318061240540805124053f0063480540805","0x461304f12414014d201502014d20143c018460150201446014cc0184c01502","0x5018190180640805050050b80601902014190142d018064080501810018d2","0x102014631840b0d00618c054080518c0509c0618c0540805018530186101502","0x54080519c050e00619c0540805338cb02c36018cb01502014063100633805","0xde01502014de0149a018050150201405014c6018410150201441014fc018c7","0x10018c7250de014410500531c054080531c050f00625005408052500533006","0x640805050050b806019020142d014db01806408050c805130060190201406","0xb0d00631405408053140509c063140540805018260186a015020140606406","0x50e0061b8054080530c6c02c360186c01502014063100630c05408053146a","0xb00149a018050150201405014c6018240150201424014fc018be015020146e","0xb001424050052f805408052f8050f006250054080525005330062c00540805","0xfc018b9015020142c014380180640805050050b8060190201406040062f894","0x5330062c005408052c0052680601405408050140531806090054080509005","0x10201406040062e4942c00509014014b901502014b90143c018940150201494","0x606406019020141701456018064080507c0536c0601902014af0144c01806","0x51cc7102c3401873015020147301427018730150201406160061c40540805","0x102014b601438018b601502014b81d40b0d8061d40540805018c4018b801502","0x54080506c0526806014054080501405318063f005408053f0053f0061dc05","0x61dc9406c053f0140147701502014770143c018940150201494014cc0181b","0x54080501819018064080505c05158060190201410014db018064080501810","0x7b01502014792d00b0d0061e405408051e40509c061e4054080501853018b4","0x62c805408051f8050e0061f805408051ecb102c36018b1015020140631006","0xcc0182101502014210149a018050150201405014c60189a015020149a014fc","0x50180b018b2250210149a050052c805408052c8050f006250054080525005","0x5050060190201406040063f01702d080501002d0202c050180b2500601902","0x506c060400540805040053f0062681b02d020149401417018940150201494","0x52cc06088054080506c052c00601902014060400607c05424210150202c9a","0x50b00601902014af014b5018064080501810018b00150a090af02d0202c22","0xb501502014060c8062cc0540805018190180640805084050b8060190201424","0x60b40540805018c40182c01502014b52cc0b0d0062d405408052d40509c06","0x60400540805040053f00606405408050b8050e0060b805408050b02d02c36","0x100141901502014190143c0180b015020140b014cc0181401502014140149a","0x60c80540805018cd01806408052c0052d4060190201406040060640b05010","0x6040060d8c402d0b0d02702d0202c32050102503f018320150201432014d1","0xb40805318051040631805408050e005100060e00540805018d90180640805","0x5408050843c02cda01821015020142101427018064080533005378060f0cc","0x6019020143f014d6018d90fc0b408053340536006344054080501819018cd","0x411000b40805344d902c5c018d101502014d101443018d901502014d901507","0x280180640805378050b40610cde02d02014400144601806408051040513006","0x53f00611c054080538c0537c0638c05408051140514406114054080510c05","0x470143c0180b015020140b014cc0183401502014340149a018270150201427","0x190180640805084050b80601902014060400611c0b0d0270400511c0540805","0x4f1240b0d00613c054080513c0509c0613c054080501853018490150201406","0x50a0050e0060a005408051304602c36018460150201406310061300540805","0x1020140b014cc0183601502014360149a018c401502014c4014fc0185101502","0x5130060190201406040061440b0d8c4040051440540805144050f00602c05","0x5301502014061600637c054080501819018064080506c0536c06019020141f","0x60980540805018c4018db015020145337c0b0d00614c054080514c0509c06","0x60400540805040053f0061600540805158050e006158054080536c2602c36","0x100145801502014580143c0180b015020140b014cc0181401502014140149a","0x636805408050181901806408052500536c060190201406040061600b05010","0xc4018d601502014d83680b0d00636005408053600509c06360054080501853","0x53f0061780540805170050e00617005408053590702c36019070150201406","0x5e0143c0180b015020140b014cc018fc01502014fc0149a018170150201417","0x1002d0202c050180b25006019020140602c061780b3f017040051780540805","0x10201410014fc0181b0150201494014b0018064080501810018fc05c0b43014","0x5268052d40601902014060400607c05434212680b4080b06c052cc0604005","0x27018af01502014060c8060880540805018190180640805084050b00601902","0xb0d8062c00540805018c40182401502014af0880b0d0062bc05408052bc05","0x5268060400540805040053f0062d405408052cc050e0062cc0540805090b0","0x1404010014b501502014b50143c0180b015020140b014cc018140150201414","0x5344060b00540805018cd018064080507c052d4060190201406040062d40b","0x10201406040060c81902d0e0b82d02d0202c2c050102503f0182c015020142c","0x363100b408050d005104060d0054080509c051000609c0540805018d901806","0x5e0180b015020140b014cc0182e015020142e0149a01806408053100537806","0x54080b3300538c060b405408050b4053f006330c60e094408050d80b0b894","0x3f015020143c01447018d10150201406064060190201406040063340543c3c","0x610005408051000509c0601902014d90142e018403640b408050fc0512406","0x601902014de0144c018de1040b408053444002c4f018d101502014d101443","0x51018e3015020144501428018064080510c050b4061144302d020144101446","0x5268060b405408050b4053f006124054080511c0537c0611c054080538c05","0x380b4100144901502014490143c018c601502014c6014cc018380150201438","0x60b405408050b4053f00613c0540805334050e006019020140604006124c6","0x100144f015020144f0143c018c601502014c6014cc0183801502014380149a","0x61180540805018530184c01502014060640601902014060400613cc60e02d","0x36018510150201406310060a005408051184c02c3401846015020144601427","0x9a018190150201419014fc0185301502014df01438018df01502014281440b","0x190400514c054080514c050f00602c054080502c05330060c805408050c805","0x53018db0150201406064060190201494014db0180640805018100185302c32","0x6310061580540805098db02c3401826015020142601427018260150201406","0x17014fc018d801502014da01438018da01502014561600b0d8061600540805","0x5360050f00602c054080502c05330063f005408053f0052680605c0540805","0x602c060190201406014060500540805018d2018d802cfc05c10014d801502","0xfc0180640805018100189a06c0b440fc05c0b4080b0140602c940180640805","0x9418406250054080525005050063f005408053f0052680605c054080505c05","0x102014060400609005444af0150202c22014630182207c2125102014943f017","0x5018100182c015122d4054080b2cc0532c062ccb002d02014af014ce01806","0x6040060c80544c190b80b4080b0b4052cc060b405408052c0052c00601902","0x60190201414014670180640805064050b006019020142e014b50180640805","0x50d00509c060d00540805018320182701502014060640601902014b5014c7","0x53103602c360183601502014063100631005408050d02702c340183401502","0x1020141f0149a018210150201421014fc018c60150201438014380183801502","0x63180b07c21040053180540805318050f00602c054080502c053300607c05","0x102014cc014d1018cc0150201406334060190201432014b5018064080501810","0xd90180640805018100183f3440b450cd0f00b4080b3301f084940fc0633005","0xcd0149a0183c015020143c014fc0184001502014d901440018d90150201406","0xcd0f014314062d405408052d4051a80602c054080502c05330063340540805","0x10202c430146c0181001502014100500b30c0610c103784104102014b51000b","0xb40805114051b80611c054080501819018064080501810018e30151511405","0x640805130052e4061184c02d020144f014be0180640805124053780613c49","0x61180540805118051c406378054080537805268061040540805104053f006","0xb37c052e00637c510a0944080511c46378410407301847015020144701443","0x560144c018560980b4080514c051d40601902014060400636c054585301502","0x102014da014280180640805160050b4063685802d0201426014460180640805","0x5408050a0053f00641c05408053580537c063580540805360051440636005","0x10701502015070143c018100150201410014cc0185101502014510149a01828","0x50a0053f006170054080536c050e00601902014060400641c101442804005","0x1020145c0143c018100150201410014cc0185101502014510149a0182801502","0x53f006178054080538c050e00601902014060400617010144280400517005","0x5e0143c018100150201410014cc018de01502014de0149a018410150201441","0xc701806408050500519c060190201406040061781037841040051780540805","0x102014610142701861015020140614c0634805408050181901806408052d405","0x102014633380b0d8063380540805018c40186301502014613480b0d00618405","0x5408050fc05268063440540805344053f00619c054080532c050e00632c05","0x100186702c3f344100146701502014670143c0180b015020140b014cc0183f","0x6408052c00536c0601902014140146701806408050b005130060190201406","0xb0d0061a805408051a80509c061a8054080501858018c7015020140606406","0x50e0061b00540805314c302c36018c301502014063100631405408051a8c7","0xb014cc0181f015020141f0149a018210150201421014fc0186e015020146c","0x60190201406040061b80b07c21040051b805408051b8050f00602c0540805","0x5268060840540805084053f0062f80540805090050e006019020141401467","0x1f08410014be01502014be0143c0180b015020140b014cc0181f015020141f","0x6064060190201494014db01806408050500519c060190201406040062f80b","0x51c4b902c340187101502014710142701871015020140614c062e40540805","0x10201475014380187501502014732e00b0d8062e00540805018c40187301502","0x54080502c05330062680540805268052680606c054080506c053f0062d805","0x602c9401806408050180b018b602c9a06c10014b601502014b60143c0180b","0x60500540805050053f00601902014060400606cfc02d1705c1402d0202c0b","0x9a251020141005c1425061018100150201410014140181701502014170149a","0x10201422014ce018064080501810018af01518088054080b07c0518c0607c21","0x5090052c0060190201406040062d405464b30150202cb0014cb018b00900b","0x2d014b5018064080501810018190151a0b82d02d0202c2c014b30182c01502","0x60c805408050181901806408052cc0531c06019020142e0142c0180640805","0xc40183401502014270c80b0d00609c054080509c0509c0609c054080501832","0x53f0060e005408050d8050e0060d805408050d0c402c36018c40150201406","0x94014cc0182101502014210149a018050150201405014c60189a015020149a","0x6408050181001838250210149a050050e005408050e0050f0062500540805","0x940fc06318054080531805344063180540805018cd0180640805064052d406","0x3f015020140636406019020140604006344cd02d1b0f0cc02d0202cc60849a","0x60190201440014de018411000b40805364051040636405408050fc0510006","0xcc0183c015020143c0149a018050150201405014c6018cc01502014cc014fc","0x102014b3104940f005330172d8062cc05408052cc051a806250054080525005","0x190180640805018100184f0151c124054080b11c0538c0611ce31144337814","0x50b8061442802d020144601449018460150201449014470184c0150201406","0x4c1440b13c0613005408051300510c0614405408051440509c060190201428","0xdb0142d0182636c0b4080537c051180601902014530144c0185337c0b40805","0x10201458014df01858015020145601451018560150201426014280180640805","0x540805114052680610c054080510c05318063780540805378053f00636805","0x6368e31144337814014da01502014da0143c018e301502014e3014cc01845","0x43014c6018de01502014de014fc018d8015020144f01438018064080501810","0x5360050f00638c054080538c05330061140540805114052680610c0540805","0x1901806408052cc0531c06019020140604006360e31144337814014d801502","0x1073580b0d00641c054080541c0509c0641c054080501853018d60150201406","0x5348050e00634805408051705e02c360185e0150201406310061700540805","0x102014d10149a018050150201405014c6018cd01502014cd014fc0186101502","0x61250d1014cd050051840540805184050f0062500540805250053300634405","0x10201406064060190201424014db01806408052d40513006019020140604006","0x5408053386302c34018ce01502014ce01427018ce01502014061600618c05","0x6a01502014c701438018c701502014cb19c0b0d80619c0540805018c4018cb","0x608405408050840526806014054080501405318062680540805268053f006","0x6040061a89408405268140146a015020146a0143c018940150201494014cc","0x10201405014c60189a015020149a014fc018c501502014af014380180640805","0x540805314050f006250054080525005330060840540805084052680601405","0x50181901806408050400536c06019020140604006314940840526814014c5","0x1020146c30c0b0d0061b005408051b00509c061b0054080501853018c301502","0x5408052e4050e0062e405408051b8be02c36018be0150201406310061b805","0x1b015020141b0149a018050150201405014c6018fc01502014fc014fc01871","0xb018712501b014fc050051c405408051c4050f00625005408052500533006","0x601902014060400606cfc02d1d05c1402d0202c0b0180b250060190201406","0x60500540805050053f0060849a02d02014100141701810015020141001414","0x62bc0540805268052c006019020140604006088054781f0150202c210141b","0x60190201424014b5018064080501810018b30151f2c02402d0202caf014b3","0x102014060c8062d4054080501819018064080507c050b80601902014b00142c","0x540805018c40182d015020142c2d40b0d0060b005408050b00509c060b005","0x540805050053f0060c80540805064050e00606405408050b42e02c360182e","0x940150201494014cc0181701502014170149a018050150201405014c601814","0xb3014b5018064080501810018322501701414050050c805408050c8050f006","0xb09c17050940fc0609c054080509c053440609c0540805018cd0180640805","0xc601440018c60150201406364060190201406040060e03602d203103402d02","0x50d0053f006019020143c014de018cd0f00b4080533005104063300540805","0x10201494014cc018c401502014c40149a018050150201405014c60183401502","0xd90fcd1051020141f33494310050d0171dc0607c054080507c0509c0625005","0x540805018190180640805018100184301521378054080b1040538c0610440","0x64080511c050b8061244702d02014e301449018e301502014de0144701845","0x4f02d02014451240b13c0611405408051140510c0612405408051240509c06","0x601902014460142d018281180b4080513c0511806019020144c0144c0184c","0xfc0185301502014df014df018df01502014510145101851015020142801428","0x533006364054080536405268060fc05408050fc0531806344054080534405","0x102014060400614c403643f344140145301502014530143c018400150201440","0x3f015020143f014c6018d101502014d1014fc018db01502014430143801806","0x536c054080536c050f0061000540805100053300636405408053640526806","0x54080501819018064080507c050b80601902014060400636c403643f34414","0x5801502014560980b0d00615805408051580509c0615805408050185301826","0x63580540805360050e0063600540805160da02c36018da015020140631006","0xcc0183801502014380149a018050150201405014c6018360150201436014fc","0x501810018d62503801436050053580540805358050f006250054080525005","0x5801907015020140606406019020149a014db0180640805088051300601902","0x63100617805408051710702c340185c015020145c014270185c0150201406","0x14014fc0186301502014610143801861015020145e3480b0d8063480540805","0x5250053300605c054080505c0526806014054080501405318060500540805","0x601902014060400618c9405c05050140146301502014630143c0189401502","0x532c0509c0632c054080501853018ce0150201406064060190201410014db","0x519cc702c36018c701502014063100619c054080532cce02c34018cb01502","0x10201405014c6018fc01502014fc014fc018c5015020146a014380186a01502","0x540805314050f0062500540805250053300606c054080506c052680601405","0x12205c1402d0202c0b0180b25006019020140602c063149406c053f014014c5","0x9a02d020141001417018100150201410014140180640805018100181b3f00b","0x10201406040060880548c1f0150202c210141b018140150201414014fc01821","0x54080b0900506c06090af02d020149a014170189a015020149a0141401806","0xb408052bc0505c062bc05408052bc05050060190201406040062cc05490b0","0x102014b5014b00180640805018100182e015250b4054080b0b00506c060b0b5","0x50c8052d4060190201406040060d005498270c80b4080b064052cc0606405","0x2e01806408052c0050b806019020142d0142e018064080509c050b00601902","0x10201436014270183601502014060c806310054080501819018064080507c05","0x102014383180b0d8063180540805018c40183801502014363100b0d0060d805","0x54080501405318060500540805050053f0060f00540805330050e00633005","0x3c015020143c0143c018940150201494014cc0181701502014170149a01805","0x10201406334060190201434014b50180640805018100183c250170141405005","0x403640b49c3f3440b4080b33417050940fc063340540805334053440633405","0xde01441018de01502014410144001841015020140636406019020140604006","0x501405318063440540805344053f0060190201443014de0184510c0b40805","0x1020141f01427018940150201494014cc0183f015020143f0149a0180501502","0x940fc053441b2d0060b405408050b40509c062c005408052c00509c0607c05","0x100182801528118054080b1300538c061304f1244738c14408050b4b007c45","0x102014df01449018df015020144601447018510150201406064060190201406","0x5408051440510c0636c054080536c0509c0601902014530142e018db14c0b","0xb40805098051180601902014560144c018560980b40805144db02c4f01851","0xd601502014d801451018d801502014da014280180640805160050b40636858","0x611c054080511c053180638c054080538c053f00641c05408053580537c06","0x140150701502015070143c0184f015020144f014cc0184901502014490149a","0x102014e3014fc0185c0150201428014380180640805018100190713c4911ce3","0x54080513c05330061240540805124052680611c054080511c053180638c05","0x50b8060190201406040061704f1244738c140145c015020145c0143c0184f","0x5e015020140606406019020141f0142e01806408052c0050b806019020142d","0x618405408053485e02c34018d201502014d201427018d2015020140614c06","0xfc018cb01502014ce01438018ce015020146118c0b0d80618c0540805018c4","0x5330061000540805100052680601405408050140531806364054080536405","0x102014060400632c941000536414014cb01502014cb0143c018940150201494","0x50b80601902014b00142e01806408052d40536c06019020142e0144c01806","0x54080531c0509c0631c05408050187901867015020140606406019020141f","0x5408051a8c502c36018c50150201406310061a8054080531c6702c34018c7","0x50150201405014c6018140150201414014fc0186c01502014c301438018c3","0x51b005408051b0050f0062500540805250053300605c054080505c0526806","0x1020141f0142e01806408052cc05130060190201406040061b09405c0505014","0x509c062f80540805018260186e01502014060640601902014af014db01806","0x7102c36018710150201406310062e405408052f86e02c34018be01502014be","0x5014c6018140150201414014fc018b80150201473014380187301502014b9","0x52e0050f0062500540805250053300605c054080505c05268060140540805","0xdb018064080508805130060190201406040062e09405c0505014014b801502","0x102014b601427018b60150201406160061d4054080501819018064080526805","0x102014772d00b0d8062d00540805018c40187701502014b61d40b0d0062d805","0x54080501405318060500540805050053f0061ec05408051e4050e0061e405","0x7b015020147b0143c018940150201494014cc0181701502014170149a01805","0x10201406064060190201410014db0180640805018100187b250170141405005","0x5408051f8b102c340187e015020147e014270187e015020140614c062c405","0xab0150201480014380188001502014b22100b0d8062100540805018c4018b2","0x606c054080506c0526806014054080501405318063f005408053f0053f006","0x602c062ac9406c053f014014ab01502014ab0143c018940150201494014cc","0x14018064080501810018fc05c0b4a4140400b4080b0140602c940180640805","0x1b018100150201410014fc0189a06c0b408052500505c06250054080525005","0xb301822015020141b014b00180640805018100181f0152a084054080b26805","0x2c01806408052bc052d4060190201406040062c0054ac242bc0b4080b08805","0x54080501832018b301502014060640601902014210142e018064080509005","0x2d0150201406310060b005408052d4b302c34018b501502014b501427018b5","0x100150201410014fc01819015020142e014380182e015020142c0b40b0d806","0x50640540805064050f00602c054080502c053300605005408050500526806","0x3201502014063340601902014b0014b50180640805018100181902c1404010","0x10018363100b4b03409c0b4080b0c814040940fc060c805408050c80534406","0x102014340149a018c6015020143801440018380150201406364060190201406","0x213180b0d0101ec0608405408050840509c0602c054080502c05330060d005","0x3f0152d344054080b334052c40609c054080509c053f0063343c3309440805","0x536405118063640540805018190180640805344051f806019020140604006","0x102014de01451018de0150201441014280180640805100050b4061044002d02","0x540805330052680609c054080509c053f006114054080510c0537c0610c05","0x10018450f0cc09c100144501502014450143c0183c015020143c014cc018cc","0x5330052680609c054080509c053f00638c05408050fc050e0060190201406","0xe30f0cc09c10014e301502014e30143c0183c015020143c014cc018cc01502","0x1020140614c0611c0540805018190180640805084050b806019020140604006","0x540805018c40184f015020144911c0b0d00612405408051240509c0612405","0x540805310053f0060a00540805118050e006118054080513c4c02c360184c","0x2801502014280143c0180b015020140b014cc0183601502014360149a018c4","0x1020141b014db018064080507c05130060190201406040060a00b0d8c404005","0x34018df01502014df01427018df01502014061600614405408050181901806","0x3801826015020145336c0b0d80636c0540805018c40185301502014df1440b","0x533006050054080505005268060400540805040053f006158054080509805","0x640805018100185602c14040100145601502014560143c0180b015020140b","0xda01427018da015020140614c0616005408050181901806408052500536c06","0xd83580b0d8063580540805018c4018d801502014da1600b0d0063680540805","0x53f0052680605c054080505c053f006170054080541c050e00641c0540805","0x5c02cfc05c100145c015020145c0143c0180b015020140b014cc018fc01502","0x1020140604006040054b89402c0b4080b014052cc060140540805018052c006","0xfc01502014140148001817015020140b01484018140150201494014b201806","0x1020141b014a60181b01502014062a0060190201406040060192f014062ac06","0x54080505c050a0063f00540805268052000605c0540805040052100626805","0x1020140604006088054c01f0150202cfc014a50182101502014210141401821","0xb001502014240149b0182401502014af01488018af015020141f0148601806","0x10201406040062c02102c052c005408052c00525c0608405408050840505006","0x14018b501502014b301498018b301502014062a00601902014220144c01806","0x60190201406254062d42102c052d405408052d40525c06084054080508405","0x6408050181001817015310501002d0202c94014b301894015020140b014b0","0x626805408053f0052000606c054080504005210063f00540805050052c806","0x54080508405298060840540805018a8018064080501810018064c805018ab","0x22015020141b014280189a015020141f014800181b0150201417014840181f","0x6408050181001824015332bc054080b268052940608805408050880505006","0xfc018b501502014b001488018b30150201406064062c005408052bc0521806","0x510c060880540805088050500601405408050140526806018054080501805","0x2c25102014b52cc220140605000018b501502014b501427018b301502014b3","0x102014062a00601902014240144c0180640805018100182e0b42c250050b82d","0x10201427015360182701502014320880b4d4060c80540805064054d00606405","0x5408050d00541806014054080501405268060180540805018053f0060d005","0x50a00601902014fc0142d0181b3f00b4080505c05118060d0050189401434","0xb0149a018050150201405014c6018060150201406014fc0189a015020141b","0x5268050500605005408050500509c062500540805250053300602c0540805","0x2401538018242bc2207c21051020149a050102500b014063f1370189a01502","0xb50153b018b501502014b00153a018064080501810018b3015392c0054080b","0x102014064f406019020142c0144c0180640805018100182d0153c0b0054080b","0x5130060190201406040060193e014062ac0606405408050b80509c060b805","0x1020141901540018190150201432014270183201502014064fc06019020142d","0x54080507c05318060840540805084053f0060d0054080509c055040609c05","0x34015020143401542018af01502014af014cc0182201502014220149a0181f","0x21014fc018c401502014b301543018064080501810018342bc2207c2105005","0x52bc05330060880540805088052680607c054080507c05318060840540805","0x5408050180522006310af0881f08414014c401502014c401542018af01502","0x940150201494014430181001502014062a006250054080502c0502c340180b","0x1020140b0140b5140602c054080501944018064080501805378060409402c05","0x10201406040060400551c064080b250055180625005408052500509c0625005","0x505c054080505c0541c0605c054080505005520060500540805018a801806","0x5528063f00540805018a80180640805040055240601902014060400605c05","0x602c0540805018054140606c050141b015020141b015070181b01502014fc","0x13d018064080525005130060190201406040060400552c940150202c0b0153b","0x640805018100180653005018ab01817015020141401427018140150201406","0x51240605c05408053f00509c063f005408050194d01806408050400513006","0x9a02c4f01805015020140501443018064080506c050b8062681b02d0201417","0x60882102c050880540805018a8018064080507c051300607c2102d0201405","0x14f018050150201405014cc0180601502014060149a01894015020140b0154e","0xb014b001806408050189501817050102500505c1404094408052500501894","0x52c80601902014060400605c05540140400b4080b250052cc062500540805","0x5018ab0189a01502014fc014800181b015020141001484018fc0150201414","0x840181f0150201421014a60182101502014062a00601902014060400601951","0x505006088054080506c050a006268054080507c052000606c054080505c05","0x52180601902014060400609005548af0150202c9a014a5018220150201422","0x5018053f0062d405408052c005220062cc054080501953018b001502014af","0x102014b30146a018220150201422014140180501502014050149a0180601502","0x50b82d0b094408052d4b30880501814550062d405408052d40509c062cc05","0x60640540805018a8018064080509005130060190201406040060b82d0b094","0x60d0054080509c0555c0609c05408050c82202d5601832015020141901555","0x94014340150201434015040180501502014050149a018060150201406014fc","0x540805014052680605c1402d0201494014410180640805018950183401406","0x9a015590189a06cfc251020141702c05251580180b015020140b014cc01805","0x5050051040601902014210155b0180640805018100181f0155a084054080b","0x1020141b014cc018fc01502014fc0149a018240150201406534062bc2202d02","0x159018b52ccb025102014242bc1b3f0105700609005408050900509c0606c05","0x510406019020142c0155b0180640805018100182d0155d0b0054080b2d405","0x5330062c005408052c005268060180540805018053f0060642e02d0201422","0x320410201410064b32c0060515e0181001502014100146a018b301502014b3","0x50d805584060190201406040060e005580360150202cc40155f018c40d027","0x50c8053f0060f005408053300558c0633005408053182e02d62018c601502","0x1020143c01564018340150201434014cc0182701502014270149a0183201502","0x380156501806408050b805378060190201406040060f03409c32040050f005","0x50d0053300609c054080509c05268060c805408050c8053f0063340540805","0xc7018064080501810018cd0d0270c810014cd01502014cd015640183401502","0x5018053f00634405408050b405594060190201422014de018064080504005","0x102014d101564018b301502014b3014cc018b001502014b00149a0180601502","0x14014de01806408050400531c06019020140604006344b32c0060400534405","0x102014fc0149a018060150201406014fc0183f015020141f015650180640805","0x60fc1b3f006040050fc05408050fc055900606c054080506c05330063f005","0x55a00605005408050400559c060400b02d020140b01566018064080501895","0x55a4063f0054080505c9402c3401817015020141701427018170150201414","0x1b0156a0180501502014050149a018060150201406014fc0181b015020140b","0x1f0849a25102014fc06c050181040c063f005408053f00510c0606c0540805","0x5250053300602c054080502c05268060190201414014c70181f0849a25005","0x62681b3f0944080505c9402c945600605c1002d02014100156b0189401502","0x14d01806408050840556c0601902014060400607c055b0210150202c9a01559","0x100156b0181b015020141b014cc018fc01502014fc0149a018220150201406","0xb00909440805088af06cfc0415c01822015020142201427018af0400b40805","0x6408052d40556c060190201406040060b0055b4b50150202cb301559018b3","0x609005408050900526806014054080501405318060180540805018053f006","0x14014270c8190b82d05102014102c024014060516e018b001502014b0014cc","0x5408050b00550c060190201410014de018064080501810018270c8190b82d","0x2401502014240149a018050150201405014c6018060150201406014fc01834","0x10018342c02401406050050d005408050d005508062c005408052c00533006","0x10201406014fc018c4015020141f01543018064080504005378060190201406","0x54080506c05330063f005408053f005268060140540805014053180601805","0x9a0180640805050050b8063101b3f00501814014c401502014c4015420181b","0x158018170400b40805040055ac062500540805250053300602c054080502c05","0x5018100181f0156f084054080b26805564062681b3f0944080505c9402c94","0x63f005408053f0052680608805408050197001806408050840556c0601902","0x608805408050880509c062bc1002d02014100156b0181b015020141b014cc","0x100182c015712d4054080b2cc05564062ccb00909440805088af06cfc0415c","0x10201405014c6018060150201406014fc01806408052d40556c060190201406","0xb009005018145b8062c005408052c005330060900540805090052680601405","0x53780601902014060400609c320642e0b414014270c8190b82d0510201410","0x501405318060180540805018053f0060d005408050b00550c060190201410","0x1020143401542018b001502014b0014cc0182401502014240149a0180501502","0x550c060190201410014de018064080501810018342c02401406050050d005","0xfc0149a018050150201405014c6018060150201406014fc018c4015020141f","0xfc01406050053100540805310055080606c054080506c05330063f00540805","0x9a01806408053f0050b80601902014170142e0180640805050050b8063101b","0x1580181b0400b40805040055ac062500540805250053300602c054080502c05","0x501810018af01572088054080b07c055640607c21268944080506c9402c94","0x62680540805268052680609005408050194d01806408050880556c0601902","0x609005408050900509c062c01002d02014100156b018210150201421014cc","0x100182e015730b4054080b0b005564060b0b52cc9440805090b00849a0415c","0x10201405014c6018060150201406014fc01806408050b40556c060190201406","0xb52cc05018145b8062d405408052d405330062cc05408052cc052680601405","0x5378060190201406040063103409c3206414014c40d0270c8190510201410","0x501405318060180540805018053f0060d805408050b80550c060190201410","0x1020143601542018b501502014b5014cc018b301502014b30149a0180501502","0x550c060190201410014de018064080501810018362d4b301406050050d805","0x9a0149a018050150201405014c6018060150201406014fc0183801502014af","0x9a01406050050e005408050e00550806084054080508405330062680540805","0x540805014053300601805408050180526806040054080502c05538060e021","0x55d4063f01705094408052501001406041740189401502014940142701805","0x4c0181f0840b4080506c055dc06019020140604006268055d81b0150202cfc","0x222bc0b5e0062bc054080508405100060880540805018a8018064080507c05","0x505c0533006050054080505005268062c00540805090055e4060900540805","0x55ec060190201406040062c01705094014b001502014b00157a0181701502","0xb30157a018170150201417014cc0181401502014140149a018b3015020149a","0x5344060500540805018cd018064080501895018b305c14250052cc0540805","0x10201406040062681b02d7c3f01702d0202c14014062503f018140150201414","0x64080b084055180605c054080505c053f0060841002d02014100157d01806","0x60880540805250055fc0601902014100142e0180640805018100181f0157e","0x605c054080505c053f00609005408052bc054d8062bc05408050880b02d35","0x1020140604006090fc05c9401424015020142401506018fc01502014fc0149a","0xb32c00b4080502c0505c0602c054080502c0505006019020141f0154901806","0x5408052d49402c340180640805018100182c015802d4054080b2cc0506c06","0x170150201417014fc01819015020142e0400b514060b805408050194d0182d","0x60b405408050b40510c062c005408052c005050063f005408053f00526806","0x270c8940143409c3225102014190b4b03f0170500001819015020141901427","0x2c015340180640805250050b40601902014100142e01806408050181001834","0x17014fc018380150201436015360183601502014c42c00b4d4063100540805","0x383f017250050e005408050e005418063f005408053f0052680605c0540805","0x502c0536c0601902014940142d0180640805040050b806019020140604006","0x633005408053300509c06330054080501853018c601502014060640601902","0x634405408050f0cd02c36018cd0150201406310060f00540805330c602c34","0x1060189a015020149a0149a0181b015020141b014fc0183f01502014d101581","0x53f0052c0063f01702d0201417015820183f2681b250050fc05408050fc05","0x54080526805614060840540805019840189a015020141b015830181b01502","0x60190201417014db0180640805018100180661c064080b0849a02d860189a","0x507c055280607c0540805018a80180640805040053780601902014140142e","0x10201406014fc0182401502014af01589018af0150201422015880182201502","0x540805250053300602c054080502c05268060140540805014053180601805","0x5538060190201406040060909402c05018140142401502014240158a01894","0xb2514f018940150201494014cc0180b015020140b0149a018b00150201410","0x640805018100182e0158b0b4054080b0b00538c060b0b52cc94408052c094","0x609c05408050c8052c0060c81702d02014170158201819015020140663006","0x18d0181901502014190158501827015020142701484018060150201406014fc","0x10201406040060e00563c360150202cc40158e018c40d00b408050642701894","0x60f0054080501991018cc01502014c601486018c601502014360159001806","0x185018cd01502014cd01484018340150201434014fc018cd0150201417014b0","0xcc01502014cc014270183f3440b408050f0cd0d094634060f005408050f005","0x4101502014d9015900180640805018100184001592364054080b0fc0563806","0x61140540805330052200610c05408050b40511c0637805408051040521806","0x27018050150201405014c6018d101502014d1014fc018e301502014de01488","0x509c0611405408051140509c0610c054080510c0509c06050054080505005","0x513c056200613c4911c944080538c4510c14014d105d93018e301502014e3","0x10201449014c6018470150201447014fc01846015020144c015890184c01502","0x54080511805628062d405408052d405330062cc05408052cc052680612405","0xcc0142e01806408050b40565006019020140604006118b52cc4911c1401446","0x540805344053f0060a00540805100056540601902014140142e0180640805","0xb501502014b5014cc018b301502014b30149a018050150201405014c6018d1","0x2d01594018064080501810018282d4b3014d1050050a005408050a00562806","0x51015020143801595018064080505c0536c0601902014140142e0180640805","0x62cc05408052cc0526806014054080501405318060d005408050d0053f006","0x604006144b52cc050d0140145101502014510158a018b501502014b5014cc","0xdf015020142e015950180640805050050b8060190201417014db0180640805","0x62cc05408052cc0526806014054080501405318060180540805018053f006","0x56580637cb52cc0501814014df01502014df0158a018b501502014b5014cc","0x5408050198c0181001502014940159801894015020140665c06019020140b","0xb04014014060419a018100150201410015990181401502014140158501814","0x6088054080506c056700601902014060400607c212689466c1b3f01725102","0xab018b001502014220159d0182401502014fc014cc018af01502014170149a","0x54080526805268062cc054080507c0567c060190201406040060199e01406","0xb501502014b0015a0018b001502014b30159d018240150201421014cc018af","0x52d405408052d40550806090054080509005330062bc05408052bc0526806","0x140150201414014d1018140150201406334060190201406254062d4242bc94","0x100157d0180640805018100189a06c0b684fc05c0b4080b05005018940fc06","0x100181f015a20190202c2101546018170150201417014fc018210400b40805","0x50880b02d56018220150201494015a30180640805040050b8060190201406","0x102014fc0149a018170150201417014fc0182401502014af01557018af01502","0x1f01549018064080501810018243f01725005090054080509005410063f005","0x502c1702da40180b015020140b01414018170150201417014fc0180640805","0xb50150a0180640805018100182c015a62d4054080b2cc05694062ccb002d02","0xb6a4060190201406040060c8056a0190150202c2e015a70182e0b40b40805","0x53f00631005408050d01002d450183401502014065340609c054080506494","0x270146a0182d015020142d01414018fc01502014fc0149a018b001502014b0","0x380d89440805310270b4fc2c0145500631005408053100509c0609c0540805","0x10201494014c70180640805040050b806019020140604006318380d894014c6","0x5408050f00555c060f005408053302d02d56018cc01502014320155501806","0xcd01502014cd01504018fc01502014fc0149a018b001502014b0014fc018cd","0x6408052500531c0601902014100142e018064080501810018cd3f0b025005","0x63f005408053f005268062c005408052c0053f00634405408050b0056a806","0x640805040050b806019020140604006344fc2c094014d101502014d101504","0x5018530183f015020140606406019020140b014db01806408052500531c06","0x102014063100610005408053643f02c34018d901502014d901427018d901502","0x1020141b014fc0184301502014de015aa018de01502014401040b0d80610405","0xde018432681b2500510c054080510c05410062680540805268052680606c05","0x602dab018050150201405014cc0180601502014060149a018064080502c05","0x60190201406040063f0056b4170150202c14015ac01814040942510201405","0x21015b00190202c9a015460189a015020141b015af0181b0150201417015ae","0x22015b201822015020141f015b10181f01502014062a006019020140604006","0x52bc056cc0604005408050400533006250054080525005268062bc0540805","0x501819018064080508405524060190201406040062bc1025094014af01502","0x102014b00900b0d0062c005408052c00509c062c00540805019b40182401502","0x5408050b0056d4060b005408052ccb502c36018b50150201406310062cc05","0x2d015020142d015b3018100150201410014cc0189401502014940149a0182d","0x102014940149a0182e01502014fc015b50180640805018100182d0409425005","0xde0182e04094250050b805408050b8056cc060400540805040053300625005","0x602db6018050150201405014cc0180601502014060149a018064080502c05","0x601902014060400606c056e0fc0150202c17015b701817050102510201405","0xaf0881f2bd0201421015bb01821015020149a015ba0189a01502014fc015b9","0x601902014af015bd0180640805088056f00609c320642e0b42c2d4b32c024","0x52d4050b80601902014b30142e01806408052c0050b8060190201424014db","0x1bf01806408050b80536c06019020142d015bd01806408050b0056f80601902","0x1020141f01427018064080509c0536c060190201432015bf018064080506405","0xc40d00b514063109402d02014940157d0183407c0b4080507c055f40607c05","0x6040060e005700064080b0d805518060d805408050d80509c060d80540805","0x100180670405018ab0180640805250050b806019020141f0142e0180640805","0x5408053180509c063180540805019c201806408050e005524060190201406","0x102014cc07c0b5140633005408053300509c063300540805250c602dc3018c6","0x102014060400633405710064080b0f005518060f005408050f00509c060f005","0x636405408050fc056c8060fc0540805344056c4063440540805018a801806","0x94014d901502014d9015b3018140150201414014cc0181001502014100149a","0x1c50184001502014060640601902014cd01549018064080501810018d905010","0x63100637805408051044002c3401841015020144101427018410150201406","0x100149a018e30150201445015b50184501502014de10c0b0d80610c0540805","0xe3050102500538c054080538c056cc06050054080505005330060400540805","0x100149a01847015020141b015b50180640805250050b806019020140604006","0x47050102500511c054080511c056cc06050054080505005330060400540805","0x50149a018060150201406014fc01814015020140671806019020140625406","0x50500571c060400540805040051a80602c054080502c05330060140540805","0x10202c9a015c90189a06cfc05c1040805050940400b0140605dc80181401502","0x22014c7018242bc2225102014210150b0180640805018100181f015ca08405","0x5408052c005730062c005408052bc0572c0601902014240144c0180640805","0x1b015020141b014cc018fc01502014fc0149a018170150201417014fc018b3","0x507c05738060190201406040062cc1b3f017040052cc05408052cc0573406","0x1020141b014cc018fc01502014fc0149a018170150201417014fc018b501502","0x501814015020140673c062d41b3f017040052d405408052d4057340606c05","0x170150201417014d1018170150201406334060190201406254060190201406","0xb015d1018064080501810018212680b7401b3f00b4080b05c05018940fc06","0xb4080b07c0574c063f005408053f0053f00601902014067480607c0540805","0x1020142201471018b001502014af015d501806408050181001824015d42bc22","0x62a006019020140604006019d7014062ac062cc05408052c0057580604005","0x50b005758060400540805090051c4060b005408052d405760062d40540805","0x100182e015db0b4054080b2cc057680604005408050401402dd9018b301502","0x5408053f0053f00606405408050b405424060190201406254060190201406","0x94015020149401443018190150201419014140181b015020141b0149a018fc","0x60d805774c40150202c34014b80183409c3225102014940641b3f01077006","0x513006330c602d02014c40147501838015020141001569018064080501810","0x50e0055a80609c054080509c05268060c805408050c8053f00601902014cc","0x5344cd0f094408053183809c3204103018c601502014c6014430183801502","0x3f0150201436015df01806408050400577806019020140604006344cd0f094","0x50fc05408050fc057800609c054080509c05268060c805408050c8053f006","0x1de01806408050b805130060190201406254060190201406040060fc270c894","0x40015e20184001502014d92500b784063640540805018a8018064080504005","0x5104057800606c054080506c05268063f005408053f0053f0061040540805","0x940142d01806408050500578c060190201406040061041b3f0940144101502","0x610c054080501853018de015020140606406019020140b015e40180640805","0x36018e3015020140631006114054080510cde02c3401843015020144301427","0x9a0189a015020149a014fc018490150201447015df01847015020144538c0b","0x1020140b0149a018490849a2500512405408051240578006084054080508405","0xfc015b7018fc05c14251020149402c0b6d8062500540805250053300602c05","0x21015ba01821015020141b015b90180640805018100189a015e506c054080b","0x60d0270c8190b82d0b0b52ccb0090af088af4080507c056ec0607c0540805","0x52d4050b8060190201424015bd01806408052bc056f00601902014220142e","0xdb01806408050b8056f406019020142d015be01806408050b0050b80601902","0x10201434014db018064080509c056fc060190201432015bf018064080506405","0x1401502014140149a018050150201405014c6018060150201406014fc01806","0x62c005408052c005050062cc05408052cc0509c0605c054080505c0533006","0x3c0150202ccc01538018cc318380d8c405102014b02cc1005c14014063f137","0x3f0150202cd10153b018d1015020143c0153a018064080501810018cd015e6","0x1e801840015020140606406019020143f0144c018064080501810018d9015e7","0x63100637805408051044002c3401841015020144101427018410150201406","0xc4014fc018e30150201445015430184501502014de10c0b0d80610c0540805","0x531805330060e005408050e005268060d805408050d805318063100540805","0x601902014060400638cc60e03631014014e301502014e301542018c601502","0x4901541018490150201447015400184701502014064fc0601902014d90144c","0x50e005268060d805408050d805318063100540805310053f00613c0540805","0xc60e036310140144f015020144f01542018c601502014c6014cc0183801502","0xc6018c401502014c4014fc0184c01502014cd015430180640805018100184f","0x550806318054080531805330060e005408050e005268060d805408050d805","0x6408050400537806019020140604006130c60e036310140144c015020144c","0x6014054080501405318060180540805018053f00611805408052680550c06","0x1401446015020144601542018170150201417014cc0181401502014140149a","0x1020140663006050054080504005660060400540805019970184605c1401406","0x1405c05018147a4060500540805050056640605c054080505c056140605c05","0x60880540805018a80180640805018100181f0849a251ea06cfc02d0202c94","0x1ec018b0015020141b014cc0182401502014fc0149a018af0150201422015eb","0x54080507c057b806019020140604006019ed014062ac062cc05408052bc05","0xb301502014b5015ec018b00150201421014cc01824015020149a0149a018b5","0x640805018100182e015f00b4054080b0b005564060b005408052cc057bc06","0x270150201432015f201832015020141902c0b7c40606405408050b40542006","0x509c054080509c057cc062c005408052c0053300609005408050900526806","0x34015020142e015f4018064080502c056580601902014060400609cb009094","0x50d005408050d0057cc062c005408052c0053300609005408050900526806","0x6019020140604006050057d8102500b4080b02c05018947d4060d0b009094","0x1f9018940150201494014fc018fc0150201417015f8018170150201410015f7","0x1fa0181b0150201406064060190201406040063f09402c053f005408053f005","0x63100608405408052681b02c340189a015020149a014270189a0150201406","0x14014fc018af0150201422015fb01822015020142107c0b0d80607c0540805","0x170500b40805050055f4062bc1402c052bc05408052bc057e4060500540805","0x2e0180640805050050b8060190201406040063f0057f0064080b05c0551806","0x540805018a80180640805250050b80601902014100142e018064080502c05","0x50150201405014c6018060150201406014fc0189a015020141b0154a0181b","0x102014fc015490180640805018100189a014062500526805408052680541c06","0x5408050841f02d450181f0500b40805050055f4060840540805019fd01806","0x64080501810018af015fe0190202c22015460182201502014220142701822","0x940142e0180640805040050b806019020140b0142e0180640805050050b806","0x540805018053f0062c0054080509005528060900540805018a80180640805","0x6040062c00501894014b001502014b001507018050150201405014c601806","0x1002d02014100157d018b301502014067f40601902014af015490180640805","0x64080b0b005518060b005408050b00509c060b005408052ccb502d45018b5","0x2e018064080502c050b80601902014140142e0180640805018100182d015ff","0x1020142e0154a0182e01502014062a00601902014940142e018064080504005","0x5408050640541c06014054080501405318060180540805018053f00606405","0xb2500602e0001806408050b40552406019020140604006064050189401419","0x270160301827015020142701602018064080501810018340160109c3202d02","0x5810c60e00b4080b0d83202e00018360400b40805040055f4063100540805","0x2050183c01502014c601603018c601502014c601602018064080501810018cc","0x53440509c0633405408053340509c06344054080501a06018cd0150201406","0x60400601a080fc054080b344cd02e07018380150201438014fc018d101502","0x10201405014c6018d9015020143f016030183f015020143f016020180640805","0x50503c014948280605005408050500509c060f005408050f0058240601405","0x5310058340601902014060400637805830064080b1040582c061044002d02","0xa801806408053640583406019020140b0142e0180640805040050b80601902","0x40014c6018380150201438014fc0184501502014430154a018430150201406","0x20e01806408050181001845100382500511405408051140541c061000540805","0x5824061000540805100053180601902014470142e0184738c0b4080537805","0x613c4902d020140b364402520a0180b015020140b01427018d901502014d9","0x20a01810015020141001427018c401502014c401609018490150201449014c6","0x5408050a005824060a04f02d020144f0160f018461300b40805040c412494","0x102014510a00b84006144054080514405824061444602d02014460160f01828","0x601a12014062ac0601902014060400614c05844064080b37c0582c0637c05","0xe30157d0180640805098050b806098db02d02014530160e018064080501810","0x55180616005408051600509c061600540805158db02d450185638c0b40805","0x5118058340601902014e30142e018064080501810018da016130190202c58","0x6358054080536005520063600540805018a8018064080513c058340601902","0x94014d601502014d6015070184c015020144c014c6018380150201438014fc","0x613c054080513c058240601902014da01549018064080501810018d613038","0x5854064080b41c0582c0641c05408051184f02e1401846015020144601609","0x102014060400601a16014062ac0601902014e30142e0180640805018100185c","0x54080538c5e02d450180640805348050b8063485e02d020145c0160e01806","0x6408050181001863016170190202c61015460186101502014610142701861","0xc6018380150201438014fc018cb01502014ce01548018ce01502014062a006","0x64080501810018cb130382500532c054080532c0541c06130054080513005","0x53f00631c054080519c055280619c0540805018a8018064080518c0552406","0x4c0e094014c701502014c7015070184c015020144c014c6018380150201438","0xb0142e0180640805040050b80601902014c40160d018064080501810018c7","0x61a80540805018a801806408050f0058340601902014140142e0180640805","0x107018050150201405014c6018380150201438014fc018c5015020146a0154a","0x601902014140142e018064080501810018c50143825005314054080531405","0x102014062a006019020140b0142e0180640805040050b80601902014c40160d","0x54080501405318063300540805330053f0061b0054080530c055280630c05","0x5050050b8060190201406040061b005330940146c015020146c0150701805","0x14a0186e01502014062a00601902014100142e018064080502c050b80601902","0x541c06014054080501405318060d005408050d0053f0062f805408051b805","0x5018100180b01619014054080b01805860062f8050d094014be01502014be","0x5408050400550806040054080525005504062500540805014055000601902","0x54080502c1402c36018140150201406310060190201406040060400501410","0x5018053f0063f005014fc01502014fc01542018fc01502014170154301817","0x586c060409402c94408050140602e1a018050150201405014140180601502","0x505c062500540805250050500601902014060400605c05870140150202c10","0xfc018064080501810018210161d268054080b06c0506c0606cfc02d0201494","0x60881f02d02014fc02c0b878063f005408053f0050500602c054080502c05","0xb32c00b408052bc058840601902014060400609005880af0150202c220161f","0x102014b526814252240180640805018100182c016232d4054080b2cc0588806","0x102014190162601819015020142e2c00b434060b805408050b405894060b405","0x6040060c81f02c050c805408050c80589c0607c054080507c053f0060c805","0x27015020142c016280180640805268050b8060190201414015bc0180640805","0x1f015020141f014fc018c40150201434016260183401502014272c00b43406","0x640805268050b8060190201406040063101f02c0531005408053100589c06","0x2270181f015020141f014fc018360150201424016290180640805050056f006","0x2280180640805050056f0060190201406040060d81f02c050d805408050d805","0xfc018cc01502014c601626018c601502014383f00b434060e0054080508405","0x60190201406040063300b02c0533005408053300589c0602c054080502c05","0x63440540805334058980633405408050f09402d0d0183c015020141701628","0x102014060149a018d102c0b014d101502014d1016270180b015020140b014fc","0x100162b018102500b25102014050180b8a8060140540805014053300601805","0xfc0162e018fc01502014140162d018064080501810018170162c050054080b","0x2310180640805268058c0062bc2207c21268144080506c058bc0606c0540805","0x1020141f0163201806408052bc050b8060190201422015bc018064080508405","0x540805250053300602c054080502c05268062c00540805090058cc0609005","0x505c058d4060190201406040062c09402c94014b001502014b00163401894","0x102014b301634018940150201494014cc0180b015020140b0149a018b301502","0x22a018050150201405014cc0180601502014060149a018b32500b250052cc05","0x102014060400605c058d8140150202c100162b018102500b25102014050180b","0x9a051020141b0162f0181b01502014fc0162e018fc01502014140162d01806","0x640805088056f006019020141f015bc0180640805268058c0062bc2207c21","0x9a018b00150201424016380182401502014210163701806408052bc050b806","0xb250052c005408052c0058e4062500540805250053300602c054080502c05","0x602c054080502c05268062cc054080505c058e8060190201406040062c094","0x10201406254062cc9402c94014b301502014b301639018940150201494014cc","0xb4080b05c05018940fc0605c054080505c053440605c0540805018cd01806","0x5408053f0053f0060190201406748060190201406040060849a02e3b06cfc","0x102014220163e018064080501810018af0163d0881f02d0202c940163c018fc","0x5408052c0058fc062cc054080507c051a8062c00540805090058940609005","0x50b0058a0060b00540805018a80180640805018100180690005018ab018b5","0x10202cb5015a7018b5015020142d0163f018b301502014af0146a0182d01502","0x1020140b014cc0181b015020141b0149a01806408050181001819016410b805","0x3202c1b042430182e015020142e01642018320400b40805040055ac0602c05","0x60190201406040060e005914360150202cc401644018c40d027251020142e","0x53f00633005408053181402e47018c6015020143601646018064080501895","0xb30146a018340150201434014cc0182701502014270149a018fc01502014fc","0x3c04102014cc040b30d0273f0177200633005408053300571c062cc0540805","0x10014de0180640805018950180640805018100183f344cd0f0100143f344cd","0xd90150201438016480180640805050052e40601902014b3014c70180640805","0x60d005408050d0053300609c054080509c05268063f005408053f0053f006","0x64080501895018064080501810018d90d0273f010014d901502014d901649","0xb32524a0184001502014062a0060190201410014de01806408050640513006","0x5268063f005408053f0053f00637805408051040592c06104054080510014","0x1b3f010014de01502014de016490180b015020140b014cc0181b015020141b","0x52e4060190201410014de01806408052500531c060190201406040063780b","0x5408051140509c06114054080501853018430150201406064060190201414","0x54080538c4702c360184701502014063100638c05408051144302c3401845","0x2101502014210149a0189a015020149a014fc0184f01502014490164801849","0x62540613c0b0849a0400513c054080513c059240602c054080502c0533006","0x5050052c006050054080504005930060400b02d020140b015820180640805","0x1020141b014270181b01502014fc01568018fc0150201417015830181701502","0x10201406014fc01821015020140b0164c0189a015020141b2500b0d00606c05","0x5408052680510c06084054080508405050060140540805014052680601805","0x10202c060150f018af0881f250052bc2207c944080526821014060424d0189a","0x10201494015b2018940150201405015b10180640805018100180b0164e01405","0x540805018c401806408050181001810014050400540805040056cc0604005","0x5408053f0056cc063f0054080505c056d40605c054080502c1402c3601814","0x10018100164f0190202c940160b018940140b408050140583c063f005014fc","0x1020140501609018060150201406014c6018064080502c050b8060190201406","0x54080501a50018064080501405834060190201406040060140602c0501405","0x17014c6018fc01502014fc01652018fc05c0b408050400b050060425101814","0x506c0580c0601902014060400601a5406c054080b3f00594c0605c0540805","0x100189a05c0b0149a015020149a01609018170150201417014c60189a01502","0x1020142101609018170150201417014c6018210150201406954060190201406","0x94016560190202c0b0160b0180b0180b408050180583c060841702c0508405","0x6014050140501502014050160901806408050180583406019020140604006","0x940165801806408050181001810016570190202c050160b018064080501810","0x5018058340601902014060400601805014060150201406016090180640805","0x54080505c059480605c05408052501402d0e0181401502014069400601902","0x54080b3f00594c063f005408053f005948063f005408050401702d0e01817","0x9a015020149a016090189a015020141b01603018064080501810018069641b","0x508405408050840582406084054080501a550180640805018100189a01405","0x501810018940165a0190202c0b0160b0180b0140b408050140583c0608405","0x102014060400601805014060150201406016090180640805014058340601902","0x60180540805018058240604005408050140596c0601902014940165801806","0x1020140501414018140140505005408050400602e1001810015020141001609","0x60400605005970100150202c940141b0189402c0b408050140505c0601405","0x597c0601902014060400606c05978fc05c0b4080b0400602e5d0180640805","0x9a016600180b015020140b01414018170150201417014fc0189a01502014fc","0x5984060840540805018a80180640805018100189a02c17250052680540805","0x1f016600180b015020140b014140181b015020141b014fc0181f0150201421","0xfc018220150201414016610180640805018100181f02c1b2500507c0540805","0x6250050880540805088059800602c054080502c0505006018054080501805","0x60400605005988102500b4080b02c052cc0602c0540805014052c0060880b","0x1020141701480018fc015020149401484018170150201410014b20180640805","0x9a014a60189a01502014062a00601902014060400601a63014062ac0606c05","0x53f0059900606c054080508405200063f0054080505005210060840540805","0xb06c052940608805408050880505006088054080507c050a00607cfc02d02","0x52c005220062c005408052bc052180601902014060400609005994af01502","0x52cc0602e66018b301502014b301427018060150201406014fc018b301502","0x22014db0180640805018100182e016680b4054080b0b00599c060b0b502d02","0x1020142d01669018323f00b408053f0059900606405408050198c0180640805","0x59acc40d00b4080b09c190c8b50426a01819015020141901585018270b40b","0x631805408050e00560c060e0fc02d02014fc0166401806408050181001836","0x63302d02d020142d01669018c601502014c601585018340150201434014fc","0x54080531005210063343c02d02014cc318342526c018cc01502014cc01585","0x54080534405430060190201406040060fc059b8d10150202ccd0166d018c4","0x50a006019020140604006378059bc411000b4080b3642d3f03c0426a018d9","0x4502e71018e3015020144301670018450150201441014280184301502014c4","0x4901673018400150201440014fc018490150201447016720184701502014e3","0x5018190180640805310052d4060190201406040061244002c051240540805","0x1020144c13c0b0d00613005408051300509c061300540805019fa0184f01502","0x540805144059d00614405408051182802c360182801502014063100611805","0x501810018df3780b014df01502014df01673018de01502014de014fc018df","0x27401806408053f0052d406019020142d015bf0180640805310052d40601902","0x3c02c0514c054080514c059cc060f005408050f0053f00614c05408050fc05","0x50181901806408053f0052d406019020142d015bf01806408050181001853","0x1020142636c0b0d00609805408050980509c060980540805019fa018db01502","0x540805368059d00636805408051585802c360185801502014063100615805","0x501810018d80d80b014d801502014d801673018360150201436014fc018d8","0x5408053582202e71018d6015020142e0167501806408053f0052d40601902","0x5c015020145c01673018b501502014b5014fc0185c01502015070167201907","0x601902014fc014b501806408050900513006019020140604006170b502c05","0x2720186101502014d20880b9c4063480540805178059d4061780540805018a8","0x602c0518c054080518c059cc060180540805018053f00618c054080518405","0x278018064080501810018fc05c14252770409402c944080b0140602e7601863","0x59e40608405408052500533006268054080502c052680606c054080504005","0x2201502014fc0167b018064080501810018069e805018ab0181f015020141b","0x607c0540805088059e406084054080505c053300626805408050500526806","0x27d018210150201421014cc0189a015020149a0149a018af015020141f0167c","0x9440805250059f806019020140b014de018af0849a250052bc05408052bc05","0x100140605280018fc01502014170167f018170150201417014140181705010","0x1020142101682018064080501810018af0881f252810849a06c944080b3f014","0x54080509005a0c062cc054080526805330062c0054080506c052680609005","0x1f0149a0182c01502014af0168501806408050181001806a1005018ab018b5","0x52d405a18062d405408050b005a0c062cc054080508805330062c00540805","0x1020142d0143c018b301502014b3014cc018b001502014b00149a0182d01502","0x504005344060400540805018cd0180640805018950182d2ccb0250050b405","0x601902014060400606cfc02e8705c1402d0202c10014062503f0181001502","0x9a014b3018140150201414014fc0180640805019d20189a015020140b014b0","0x5210062bc054080507c052c80601902014060400608805a201f0840b4080b","0x6408050181001806a2405018ab018b001502014af01480018240150201421","0x8001824015020142201484018b501502014b3014a6018b301502014062a006","0x950180640805018100182d0168a0b0054080b2c005294062c005408052d405","0x52500510c060b805408050b80509c060b805408050b005218060190201406","0x5090050a00601902014320144c018320640b408052502e02c4f0189401502","0x10201427014140181701502014170149a018140150201414014fc0182701502","0x940143631034251020141909c17050109340606405408050640510c0609c05","0x52d406019020142d0144c0180640805018950180640805018100183631034","0x5318057880631805408050e09402de10183801502014062a0060190201424","0x102014cc015e00181701502014170149a018140150201414014fc018cc01502","0x502c0536c0601902014940142d018064080501810018cc05c142500533005","0x633405408053340509c063340540805018530183c01502014060640601902","0x636405408053443f02c360183f01502014063100634405408053343c02c34","0x1e00181b015020141b0149a018fc01502014fc014fc0184001502014d9015df","0x604005a309402c0b4080b0140602e8b0184006cfc25005100054080510005","0x140168e0180b015020140b014fc0181401502014940168d018064080501810","0x170168f0181701502014062a0060190201406040060500b02c050500540805","0x63f01002c053f005408053f005a38060400540805040053f0063f00540805","0x504005a480601902014060400605c1402e910409402d0202c0b0140625290","0x6a5005018ab0189a01502014fc016930181b0150201494014fc018fc01502","0x5a4c0606c0540805050053f006084054080505c05a5406019020140604006","0x1f2680ba5c0607c054080507c0509c0607c054080501a960189a0150201421","0x60881b02c05088054080508805a600606c054080506c053f0060880540805","0x6250054080501405a6c0601902014060400602c05a68050150202c0601699","0x6019020140604006040050141001502014100167d0181001502014940169c","0x27d018fc01502014170169d01817015020140b0500b0d8060500540805018c4","0x10201406a78060180501406015020140601414018fc014053f005408053f005","0x102014050180ba7c0601405408050140509c06018054080501805a0c0601405","0x50b80601902014060400625005a840b0150202c06016a00180b0140502c05","0x505005a6006050054080504005a8c06040054080502c05a88060190201405","0x540805018190180640805250056fc06019020140604006050050141401502","0x5408053f01b02c360181b0150201406310063f005408050141702c3401817","0xb01805a9406084050142101502014210169801821015020149a016a40189a","0x1020140b014510180640805014050b80601902014060400625005a980b01502","0x50181001814014050500540805050050f00605005408050400537c0604005","0xfc015020140505c0b0d00605c0540805018190180640805250050b40601902","0x60840540805268050e00626805408053f01b02c360181b015020140631006","0x5018a51f89829895050171f89829895050d6084050142101502014210143c","0x1005c7e26095041842500b014062947e26095040171f89825410018102500b","0x149fc9402c05018a51f8982541005c7e26095042032500b014062947e26095","0x95050171f89829895052a70409402c05018a51f89829895050171f89829895","0xb014062947e260a62541405c7e260a625414aa0102500b014062947e260a6","0x2ab0189705c0b05c05aa89402c05018a51f8982541005c7e26095042a904094","0x7e260a625414040061c47e260a6254fcab00b0140626c982549405c9825494","0x50186c014061c40bab805018240400b0400602ead05c140409402c05018ab","0x9825494ac40b014062ac7e260941c47e26094ac005018240400b0406c02eaf","0x102500b014062d07e26095040431c47e26095052b202c05018b12609525017","0xa62541410c711f8982989505eb42500b014062d898254940404126095042b3","0x5018ab1f89829895050061c47e260a625417ad4140409402c05018ab1f898","0x102500b014062ac7e260a62541401806018711f8982989506eb6050102500b","0x940181005c9825414ae09402c05018b81f898250061c47e26010adcfc05c14","0x5018be1f8982989505017018711f898298953f2b90409402c050189b26095","0x940184305c9825414aec0b014062ac7e260941847e26094ae817050102500b","0x711f898042bd02c05018c51f898250711f898252bc0409402c05018b126095","0x9402c05018c71f8982541010c711f89825414af89402c05018c51f89825006","0xa6254141c47e260a625414b009402c05018b6260952501032c9825410afc10","0x95252c22500b014063387e26094018611f898042c10409402c05018ab1f898","0x102500b014061b0a62549401806018062989505ec302c05018d22540b02c14","0x636c7e260941f89802ec6014063689502c172540bb14062ac0536005b1014","0x638c7e26095040401c4431f89825417b2005018df1f8982507e2600bb1c05","0x63140534405b289402c05018b6260952501005c9825410b24140409402c05","0x3c0143c0f00bb34050183c0143c0f00bb300b014060f0a602c060f0a6252cb","0x7e2600bb4005018c62540b05c9502ecf01406330172549405c9502ece01406","0x1726095042d22500b014062947e26094098711f898042d1014063107e26094","0x9502c0b02c95252d4014062c09502c062540bb4c9402c05018b62609525010","0x9402ed8018a5014fc016d70181701417016d6018c40149a016d502c05018af","0xb6805018a5014063f00bb6405018af01406"]},"fee_data_availability_mode":"L1","nonce":"0x0","nonce_data_availability_mode":"L1","paymaster_data":[],"type":"DECLARE","resource_bounds":{"l1_gas":{"max_amount":"0x0","max_price_per_unit":"0x0"},"l2_gas":{"max_amount":"0x0","max_price_per_unit":"0x0"}},"sender_address":"0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03","signature":["0x1b789b6620efff5d6a70d2e041c7b280a2d9d182ba9ff408a2d4e92e0b36650","0x5b9c32644641b3aaf60d6d5a64abfc890a57aee72c8ebd37be9195f0feab84d"],"tip":"0x0","version":"0x100000000000000000000000000000003"}] \ No newline at end of file diff --git a/tests/clob/declare_account.txt b/tests/clob/declare_account.txt new file mode 100644 index 00000000..a76d1c18 --- /dev/null +++ b/tests/clob/declare_account.txt @@ -0,0 +1 @@ +{"account_deployment_data":[],"compiled_class_hash":"0x4874daca4bc2952be788e3932750d0386c5820b0ecc3d67463c67d27920943b","contract_class":{"abi":"[{\"type\": \"impl\", \"name\": \"AccountImpl\", \"interface_name\": \"standard_account::IAccount\"}, {\"type\": \"enum\", \"name\": \"core::bool\", \"variants\": [{\"name\": \"False\", \"type\": \"()\"}, {\"name\": \"True\", \"type\": \"()\"}]}, {\"type\": \"interface\", \"name\": \"standard_account::IAccount\", \"items\": [{\"type\": \"function\", \"name\": \"is_valid_signature\", \"inputs\": [{\"name\": \"hash\", \"type\": \"core::felt252\"}, {\"name\": \"signature\", \"type\": \"core::array::Array::\"}], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}, {\"type\": \"function\", \"name\": \"supports_interface\", \"inputs\": [{\"name\": \"interface_id\", \"type\": \"core::felt252\"}], \"outputs\": [{\"type\": \"core::bool\"}], \"state_mutability\": \"view\"}, {\"type\": \"function\", \"name\": \"public_key\", \"inputs\": [], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}]}, {\"type\": \"struct\", \"name\": \"core::array::Span::\", \"members\": [{\"name\": \"snapshot\", \"type\": \"@core::array::Array::\"}]}, {\"type\": \"struct\", \"name\": \"core::starknet::account::Call\", \"members\": [{\"name\": \"to\", \"type\": \"core::starknet::contract_address::ContractAddress\"}, {\"name\": \"selector\", \"type\": \"core::felt252\"}, {\"name\": \"calldata\", \"type\": \"core::array::Span::\"}]}, {\"type\": \"function\", \"name\": \"__execute__\", \"inputs\": [{\"name\": \"calls\", \"type\": \"core::array::Array::\"}], \"outputs\": [{\"type\": \"core::array::Array::>\"}], \"state_mutability\": \"external\"}, {\"type\": \"function\", \"name\": \"__validate__\", \"inputs\": [{\"name\": \"calls\", \"type\": \"core::array::Array::\"}], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}, {\"type\": \"function\", \"name\": \"__validate_declare__\", \"inputs\": [{\"name\": \"class_hash\", \"type\": \"core::felt252\"}], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}, {\"type\": \"function\", \"name\": \"__validate_deploy__\", \"inputs\": [{\"name\": \"class_hash\", \"type\": \"core::felt252\"}, {\"name\": \"salt\", \"type\": \"core::felt252\"}, {\"name\": \"public_key\", \"type\": \"core::felt252\"}], \"outputs\": [{\"type\": \"core::felt252\"}], \"state_mutability\": \"view\"}, {\"type\": \"constructor\", \"name\": \"constructor\", \"inputs\": [{\"name\": \"public_key\", \"type\": \"core::felt252\"}]}, {\"type\": \"event\", \"name\": \"standard_account::Account::Event\", \"kind\": \"enum\", \"variants\": []}]","contract_class_version":"0.1.0","entry_points_by_type":{"CONSTRUCTOR":[{"function_idx":7,"selector":"0x28ffe4ff0f226a9107253e17a904099aa4f63a02a5621de0576e5aa71bc5194"}],"EXTERNAL":[{"function_idx":1,"selector":"0xfe80f537b66d12a00b6d3c072b44afbb716e78dde5c3f0ef116ee93d3e3283"},{"function_idx":3,"selector":"0x15d40a3d6ca2ac30f4031e42be28da9b056fef9bb7357ac5e85627ee876e5ad"},{"function_idx":4,"selector":"0x162da33a4585851fe8d3af3c2a9c60b557814e221e0d4f30ff0b2189d9c7775"},{"function_idx":0,"selector":"0x28420862938116cb3bbdbedee07451ccc54d4e9412dbef71142ad1980a30941"},{"function_idx":5,"selector":"0x289da278a8dc833409cabfdad1581e8e7d40e42dcaed693fa4008dcdb4963b3"},{"function_idx":6,"selector":"0x36fcbf06cd96843058359e1a75928beacfac10727dab22a3972f0af8aa92895"},{"function_idx":2,"selector":"0x3b28019ccfdbd30ffc65951d94bb85c9e2b8434111a000b5afd533ce65f57a4"}],"L1_HANDLER":[]},"sierra_program":["0x1","0x4","0x0","0x2","0x5","0x4","0x2db","0x125","0x62","0x66656c74323532","0x800000000000000700000000000000000000000000000000","0x556e696e697469616c697a6564","0x800000000000000200000000000000000000000000000001","0x1","0x0","0x753332","0x456e756d","0x800000000000000700000000000000000000000000000003","0x39a088813bcc109470bd475058810a7465bd632650a449e0ab3aee56f2e4e69","0x2","0x4172726179","0x800000000000000300000000000000000000000000000001","0x536e617073686f74","0x800000000000000700000000000000000000000000000001","0x4","0x537472756374","0x800000000000000700000000000000000000000000000002","0x1baeba72e79e9db2587cf44fedb2f3700b2075a5e8e39a562584862c4b71f62","0x5","0x800000000000000300000000000000000000000000000003","0x161ee0e6962e56453b5d68e09d1cabe5633858c1ba3a7e73fee8c70867eced0","0x6","0x426f78","0x15","0xfeece2ea7edbbbebeeb5f270b77f64c680a68a089b794478dd9eca75e0196a","0x8","0x2ee1e2b1b89f8c495f200e4956278a4d47395fe262f27b52e5865c9524c08c3","0x800000000000000f00000000000000000000000000000001","0x16a4c8d7c05909052238a862d8cc3e7975bf05a07b3a69c6b28951083a6d672","0xb","0x3ab802bcce3a9ca953b0e1f31a5b29eb27a9b727c891e24300e1b5cc57387ba","0xa","0xc","0x19b9ae4ba181a54f9e7af894a81b44a60aea4c9803939708d6cc212759ee94c","0xe","0x45635374617465","0x33","0x17","0x2e","0x436f6e747261637441646472657373","0x800000000000000700000000000000000000000000000006","0x7d4d99e9ed8d285b5c61b493cedb63976bc3d9da867933d829f49ce838b5e7","0x12","0x13","0x14","0x753634","0x800000000000000700000000000000000000000000000004","0x3808c701a5d13e100ab11b6c02f91f752ecae7e420d21b56c90ec0a475cc7e5","0x16","0x2ca39cde64b91db1514d78c135ee79d71b3b57fffee52f1a3ef96618a34d8c8","0x18","0x1d49f7a4b277bf7b55a2664ce8cef5d6922b5ffb806b89644b9e0cdbbcac378","0x1a","0x13fdd7105045794a99550ae1c4ac13faa62610dfab62c16422bfcf5803baa6e","0x1b","0x3d37ad6eafb32512d2dd95a2917f6bf14858de22c27a1114392429f2e5c15d7","0x4563506f696e74","0x4e6f6e5a65726f","0x1e","0x101dc0399934cc08fa0d6f6f2daead4e4a38cabeea1c743e1fc28d2d6e58e99","0x1f5d91ca543c7f9a0585a1c8beffc7a207d4af73ee640223a154b1da196a40d","0x21","0x23","0x24","0x800000000000000300000000000000000000000000000004","0x26","0x32cb17bdb0d0d053909169ec443a25462b7e27237007511f772a7d957ce924c","0x27","0x2d","0x29","0x1597b831feeb60c71f259624b79cf66995ea4f7e383403583674ab9c33b9cec","0x2a","0x75313238","0x3342418ef16b3e2799b906b1e4e89dbb9b111332dd44f72458ce44f9895b508","0x2c","0x80000000000000070000000000000000000000000000000e","0x348a62b7a38c0673e61e888d83a3ac1bf334ee7361a8514593d3d9532ed8b39","0x2b","0xa36a0a15af8cf1727a3a4fd9137671f23256b1f42299af56605a6910c522ce","0x2f","0x3e1934b18d91949ab9afdbdd1866a30ccca06c2b1e6581582c6b27f8b4f6555","0x31","0x3693aea200ee3080885d21614d01b9532a8670f69e658a94addaadd72e9aca","0x18508a22cd4cf1437b721f596cd2277fc0a5e4dcd247b107ef2ef5fd2752cf7","0x34","0x8416421239ce8805ed9d27e6ddae62a97ab5d01883bb8f5246b4742a44b429","0x35","0x90d0203c41ad646d024845257a6eceb2f8b59b29ce7420dd518053d2edeedc","0x53746f7261676541646472657373","0x53746f726167654261736541646472657373","0x3a","0x3ae40d407f8074730e48241717c3dd78b7128d346cf81094e31806a3a5bdf","0x3b","0x13cce21049247953c2cc76b731b7beb463e4c682d14903dc69c579ee48cb251","0x800000000000000f00000000000000000000000000000003","0x3d","0x1edf47c56ea83552f4df1e36abbfc378016e5e14c4c78f66951a482e7a0dcb2","0x3e","0x28f8d296e28032baef1f420f78ea9d933102ba47a50b1c5f80fc8a3a1041da","0x800000000000000300000000000000000000000000000002","0x25abf8fd76a01c7e2544d26b0a2e29212b05a36781e0330b46d878e43b307d1","0x41","0x800000000000000f00000000000000000000000000000002","0xcc5e86243f861d2d64b08c35db21013e773ac5cf10097946fe0011304886d5","0x43","0x3288d594b9a45d15bb2fcb7903f06cdb06b27f0ba88186ec4cfaa98307cb972","0x46","0xa853c166304d20fb0711becf2cbdf482dee3cac4e9717d040b7a7ab1df7eec","0x47","0x29d7d57c04a880978e7b3689f6218e507f3be17588744b58dc17762447ad0e7","0x9588b2eac8c49c33ae6b9cda62b86add5f8a9ea83d81ba4b230999cc65032","0x4a","0x3f44fe8c7081578da0ccedc43257629a76e8032285bf6ccb43a6bc1db644a23","0x4b","0x74584e9f10ffb1a40aa5a3582e203f6758defc4a497d1a2d5a89f274a320e9","0x4d","0x7801f098de923de9defb21218ea599613d17d7d776a89735edec042eaeec6f","0x4f","0x28f184fd9e4406cc4475e4faaa80e83b54a57026386ee7d5fc4fa8f347e327d","0x51","0xc1f0cb41289e2f6a79051e9af1ead07112b46ff17a492a90b3944dc53a51c8","0x52","0x53797374656d","0x800000000000000100000000000000000000000000000000","0x54","0x10203be321c62a7bd4c060d69539c1fbe065baa9e253c74d2cc48be163e259","0x57","0x4275696c74696e436f737473","0x45634f70","0x9931c641b913035ae674b400b61a51476d506bbe8bba2ff8a6272790aba9e6","0x56","0x17b6ecc31946835b0d9d92c2dd7a9c14f29af0371571ae74a1b228828b2242","0x5c","0x34f9bd7c6cb2dd4263175964ad75f1ff1461ddc332fbfb274e0fb2a5d7ab968","0x5d","0x11c6d8087e00642489f92d2821ad6ebd6532ad1a3b6d12833da6d6810391511","0x4761734275696c74696e","0x52616e6765436865636b","0x178","0x616c6c6f635f6c6f63616c","0x66696e616c697a655f6c6f63616c73","0x7265766f6b655f61705f747261636b696e67","0x77697468647261775f676173","0x6272616e63685f616c69676e","0x73746f72655f74656d70","0x66756e6374696f6e5f63616c6c","0x3","0x61","0x656e756d5f6d61746368","0x5f","0x60","0x73746f72655f6c6f63616c","0x9","0x5e","0x7374727563745f6465636f6e737472756374","0x61727261795f736e617073686f745f706f705f66726f6e74","0x64726f70","0x61727261795f6e6577","0x66656c743235325f636f6e7374","0x496e70757420746f6f206c6f6e6720666f7220617267756d656e7473","0x61727261795f617070656e64","0x7374727563745f636f6e737472756374","0x656e756d5f696e6974","0x5b","0x5a","0x6765745f6275696c74696e5f636f737473","0x59","0x77697468647261775f6761735f616c6c","0x736e617073686f745f74616b65","0x58","0x4f7574206f6620676173","0x4661696c656420746f20646573657269616c697a6520706172616d202332","0x4661696c656420746f20646573657269616c697a6520706172616d202331","0xd","0xf","0x53","0x55","0x10","0x50","0x11","0x4e","0x4661696c656420746f20646573657269616c697a6520706172616d202333","0x4c","0x49","0x6a756d70","0x756e626f78","0x72656e616d65","0x64697361626c655f61705f747261636b696e67","0x48","0x56414c4944","0x2ceccef7f994940b3962a6c67e0ba4fcd37df7d131417c604f91e03caecc1cd","0x66656c743235325f737562","0x66656c743235325f69735f7a65726f","0x45","0x19","0x44","0x1c","0x42","0x647570","0x61727261795f6c656e","0x7533325f746f5f66656c74323532","0x40","0x1d","0x1f","0x3f","0x7533325f636f6e7374","0x7533325f6571","0x20","0x3c","0x73746f726167655f626173655f616464726573735f636f6e7374","0x3b28019ccfdbd30ffc65951d94bb85c9e2b8434111a000b5afd533ce65f57a4","0x73746f726167655f616464726573735f66726f6d5f62617365","0x38","0x73746f726167655f726561645f73797363616c6c","0x37","0x22","0x36","0x32","0x636f6e74726163745f616464726573735f746f5f66656c74323532","0x4163636f756e743a20696e76616c69642063616c6c6572","0x25","0x30","0x100000000000000000000000000000000","0x66656c743235325f616464","0x4163636f756e743a20556e737570706f727465642074782076657273696f6e","0x28","0x656e61626c655f61705f747261636b696e67","0x4163636f756e743a20496e636f7272656374207478207369676e6174757265","0x73746f726167655f77726974655f73797363616c6c","0x61727261795f676574","0x496e646578206f7574206f6620626f756e6473","0x800000000000010ffffffffffffffffb781126dcae7b2321e66a241adc64d2f","0x65635f706f696e745f66726f6d5f785f6e7a","0x756e777261705f6e6f6e5f7a65726f","0x1ef15c18599971b7beced415a40f0c7deacfd9b0d1819e03d723d8bc943cfca","0x5668060aa49730b7be4801df46ec62de53ecd11abe43a32873000c36e8dc1f","0x65635f706f696e745f7472795f6e65775f6e7a","0x65635f706f696e745f69735f7a65726f","0x65635f706f696e745f756e77726170","0x61727261795f706f705f66726f6e74","0x65635f73746174655f696e6974","0x65635f73746174655f6164645f6d756c","0x65635f73746174655f7472795f66696e616c697a655f6e7a","0x65635f706f696e745f7a65726f","0x65635f73746174655f616464","0x65635f6e6567","0x21adb5788e32c84f69a1863d85ef9394b7bf761a0ce1190f826984e5075c371","0x61727261795f736c696365","0x6765745f657865637574696f6e5f696e666f5f76325f73797363616c6c","0x63616c6c5f636f6e74726163745f73797363616c6c","0x7","0x7533325f7472795f66726f6d5f66656c74323532","0x7533325f6f766572666c6f77696e675f737562","0x7533325f737562204f766572666c6f77","0x526573756c743a3a756e77726170206661696c65642e","0xace","0xffffffffffffffff","0x91","0x80","0x77","0x66","0x39","0xf5","0xe6","0xbb","0xd8","0x14e","0x118","0x141","0x13a","0x1da","0x1d2","0x1c2","0x17d","0x1b3","0x1ac","0x1a5","0x25c","0x254","0x244","0x208","0x235","0x22d","0x2d2","0x2c2","0x286","0x2b3","0x2ab","0x379","0x369","0x358","0x346","0x306","0x335","0x32d","0x3e1","0x3d2","0x3a2","0x3c4","0x3bd","0x3f6","0x3fb","0x405","0x414","0x419","0x427","0x63","0x64","0x65","0x67","0x68","0x450","0x69","0x6a","0x444","0x6b","0x448","0x6c","0x6d","0x6e","0x6f","0x70","0x71","0x72","0x73","0x467","0x74","0x75","0x76","0x474","0x478","0x78","0x79","0x7a","0x48c","0x491","0x49f","0x7b","0x7c","0x7d","0x7e","0x7f","0x81","0x82","0x4db","0x83","0x84","0x4d2","0x85","0x86","0x4ca","0x87","0x88","0x89","0x8a","0x8b","0x8c","0x8d","0x8e","0x8f","0x90","0x92","0x511","0x508","0x93","0x53a","0x94","0x531","0x565","0x55c","0x95","0x96","0x57f","0x97","0x98","0x99","0x9a","0x9b","0x5b0","0x9c","0x596","0x9d","0x5a6","0x9e","0x9f","0xa0","0xa1","0xa2","0xa3","0x5d3","0xa4","0xa5","0xa6","0x618","0xa7","0xa8","0xa9","0x60d","0xaa","0xab","0x602","0xac","0xad","0xae","0xaf","0xb0","0xb1","0xb2","0xb3","0x62f","0xb4","0xb5","0x634","0xb6","0xb7","0x670","0x64a","0xb8","0xb9","0xba","0x668","0xbc","0x65e","0xbd","0xbe","0xbf","0xc0","0x69d","0xc1","0xc2","0x690","0xc3","0xc4","0xc5","0xc6","0xc7","0xc8","0xc9","0x6e0","0xca","0xcb","0xcc","0xcd","0xce","0xcf","0xd0","0x6c2","0x6cc","0xd1","0xd2","0x6d3","0xd3","0xd4","0xd5","0xd6","0xd7","0x6fb","0xd9","0xda","0xdb","0xdc","0xdd","0x73e","0xde","0xdf","0xe0","0x712","0xe1","0xe2","0x717","0xe3","0xe4","0xe5","0x733","0xe7","0x72c","0xe8","0xe9","0xea","0xeb","0xec","0xed","0xee","0x78d","0x785","0x77a","0xef","0xf0","0x7a3","0xf1","0xf2","0x7a8","0xf3","0xf4","0x7b2","0xf6","0xf7","0xf8","0xf9","0xfa","0x7c0","0xfb","0xfc","0xfd","0xfe","0xff","0x7d8","0x100","0x7ea","0x7fc","0x101","0x879","0x102","0x103","0x86e","0x104","0x105","0x106","0x862","0x107","0x108","0x109","0x820","0x10a","0x10b","0x10c","0x10d","0x833","0x846","0x844","0x10e","0x84d","0x85c","0x85a","0x10f","0x889","0x110","0x111","0x8bf","0x8b7","0x112","0x113","0x8b0","0x114","0x115","0x8a7","0x116","0x117","0x119","0x11a","0x11b","0x11c","0x11d","0x11e","0x8d8","0x11f","0x120","0x121","0x122","0x123","0x124","0x125","0x126","0x127","0x8f0","0x128","0x129","0x12a","0x12b","0x933","0x12c","0x904","0x12d","0x12e","0x909","0x927","0x12f","0x130","0x131","0x91c","0x132","0x133","0x134","0x135","0x136","0x137","0x138","0x139","0x958","0x965","0x13b","0x13c","0x13d","0x13e","0x971","0x13f","0x97c","0x982","0x140","0x98e","0x998","0x142","0x9b1","0x143","0x9aa","0x144","0x145","0x146","0x9be","0x9c3","0x147","0xa14","0x148","0x149","0xa0c","0x14a","0x14b","0x9ff","0x14c","0x14d","0x9f7","0x9eb","0x14f","0x150","0x151","0x152","0x153","0x154","0x155","0xa25","0x156","0x157","0xa2a","0x158","0x159","0x15a","0x15b","0x15c","0x15d","0xa3a","0x15e","0x15f","0xa3f","0x160","0x161","0xa71","0xa52","0xa57","0xa66","0x162","0xa85","0x163","0x164","0x165","0x166","0xa91","0x167","0x168","0xa95","0x169","0x16a","0x16b","0x16c","0x16d","0xaa1","0x16e","0x16f","0x170","0x171","0x172","0x173","0xab5","0x174","0x175","0x176","0x177","0xac5","0x1e9","0x26b","0x2e1","0x388","0x3ef","0x40c","0x431","0x458","0x45d","0x46d","0x47f","0x484","0x4a9","0x4e4","0x4f1","0x51a","0x543","0x56e","0x585","0x5bf","0x622","0x639","0x67f","0x6a3","0x6e7","0x702","0x74d","0x796","0x7b9","0x7cb","0x883","0x88f","0x8c6","0x8de","0x8f6","0x943","0x952","0x95e","0x976","0x992","0x99f","0x9b7","0xa1e","0xa2f","0xa44","0xa7f","0xa8b","0xa9b","0xaa7","0xaa9","0xaae","0xabe","0x5fa9","0x100140f038060140d0300b0140b0140a018090200201c060140400c0200400","0x506c0506806054080640503c180400505c0505806054080500504c0604811","0x210142001815020100141f0141c018150441e0181d0440b0141c0181204410","0x1809c0503c180980503c18008250900502c0508c0602408070060741108805","0x3101830044020bc060142e0142e0142d0142c0142b0182a044020a4280140f","0x50d40602408088050d0050cc060540806c0507006048110b8050c8050c805","0x2e01439018090202201438014370181502036014170141c018090442401417","0x50f8060240805c0503c1804005090050f406054080f00503c3b0083a09005","0x430141c01842044260140d030410140400c400140f038170140d030240143f","0x5120060481111c0503c0e118050340c088051140511006054080900510005","0x170144c0142e014060144e0184d0444c01432014060144b018300440212849","0x80b405070060481105c0502c0502c0505c051300513c05018050180501805","0x5401830044220145301452018150202e0141c0181204422014510145001815","0x6054081580505c0507006024110900509805154060240805c05018050b805","0x1c01812044060140f0600216c0216810014060145901815020220145801457","0x6054080900518405070061801117c06074110880517805174060540817005","0x22014670146601815020400141c01865044410146401812044220146301462","0x5090051ac06024080180503c3b088051a8051a4060540809005070061a011","0x68044240145c0146f01809020220146e0146d018150206c0141c0181204424","0x50700605411088051cc051c80605408090051c4050700618011184051c006","0x77014760181502040014710141c01815044220147501474018150202401410","0x51ec051e806054081e40505c0507006054110900510c051e0060540808805","0x800147f01815020060141c01812044170141c018120447e0140400c7d1f022","0x60541109005040052140605408088052100520c06054081f4820088108805","0x7d22c7d228240140601489018090202201488014870181502086014170141c","0x95014052481b2500524c170140524806244062400623c0623806014052348c","0x96220050149c26c050149626894014930180501499260050149225c0501496","0x527810014052785c014052781401405278060140527417014052708601405","0x5014a307c05014a301805014a201805014922840b014a0018050149f01805","0xa8014052480629ca5014052487e01405248a6014052480502ca50140b29022","0x940149304005014921c4050149e1c405014aa1c405014a318405014a3018a9","0x10014052a824014052781f2500524c06014052a88001405270ab0140525821","0xb014a005c050149e2b00b014a00180b2940502ca421005014a305c05014a3","0x6c014052486c014052786c014052a8222500524cae02c052800501405278ad","0x961ec050149c2c405014962c094014931f8050148d09094014932bc9401493","0x52587e01405264b32500524c43014052484301405278b2014052787901405","0x5014962d494014931040501492100050149e10005014aa1dc050149c2d005","0x192500524cb702c052802e2500524c2d2500524c2c2500524c7501405270b6","0xa3018ba2e4050149205005014920180b2e40502ca41cc050149e2e00501496","0x970140b29006014052f006014052ecb9014052580502cb90140b2902401405","0xa30140b2180502ca40c89401493018bd0140b25c0502ca425c05014920180b","0x6e01405270be01405258272500524c9b014052480602c9b0140b2908801405","0x5014920180b2ac0502ca420005014a32fc0b014a00180b014a01b00501496","0xc3014052780502c6c0140b2900630806304c002c052800502cab0140b290ab","0x50149f0d094014931c4050149c0140b014a01b005014bc0180b1b00502ca4","0xb1014052480602cb10140b2907b0140528c0502c790140b290c42500524c26","0x9c31c050149631894014930e094014931a8050149e31405014960d89401493","0x53200502cb40140b290b4014052480602cb40140b290770140528c6701405","0x931c405014c8330940149332c050149232c05014a3018ca05c05014c910405","0xb290730140528c6301405270ce01405258cd2500524c0b02c052803c25005","0xa40180b2180502ca401805014c80140b2e00502ca42e005014920180b2e005","0x528c063400b014052480b02c0533c060140532417014053200502c9b0140b","0x9c348050149634494014930180b014cf2f805014920180b2f80502ca41b805","0x61014052780502cbe0140b29080014052783f2500524c0502c0533c5e01405","0x502ca436005014920180b3600502ca4018d73580501492018d53500b014d3","0x5801405270da01405258402500524c0602c790140b290d92500524c0502cd8","0x50149c36c050149610494014930140b2c40502ca409805014a21580501496","0xc50140b290dd02c05280c5014052480602cc50140b2906a0140528c0637053","0x50149e0a0050149c0a005014bb144050149c37c050149637894014930140b","0x527ce202c0528006384e002c052800b014052784f014052784c014052782e","0x502ca419c05014a3114050149c38c050149610c9401493100050149205c05","0x527406390cb0140527041014052340502cc70140b290c7014052480602cc7","0x50149610405014990140b3640502ca436405014920180b3640502ca405c05","0x528cb6014052480502cb60140b2904101405278452500524c17014052ecd9","0x502ca4018e63940b014a032c050149e378050149e0180b2d80502ca41d405","0x630140528c6a01405270e32500524c0502cd10140b290d1014052480602cd1","0xa417805014a301805014e70140b3380502ca433805014920180b3380502ca4","0x63a8e902c052800502cd20140b290e802c05280d2014052480602cd20140b","0x94014930f00501492018ee3b40b014a03b00b014a00f005014eb3340501492","0xd8014052584f2500524c492500524c3c01405320063c03c01405278063bc47","0xa30d805014960e0050149c3180501496118940149333005014961309401493","0xb290da014052480602cda0140b290580140528c0602c560140b2902601405","0x5014bb0d0050149c31005014960a094014930140b3680502ca40140b15805","0x52480602cdb0140b290530140528c2d014052782c01405278190140527019","0x502ca437c05014920180b37c0502ca414405014a30140b36c0502ca436c05","0x5258512500524c2601405248560140524826014052ec26014053c40502cdf","0xa411405014a338c05014920140b38c0502ca405c05014a2210050149c29405","0xb301405248063cc063c8d101405258df2500524c17014052f00602ce30140b","0xa433005014920180b3300502ca4018f8018f7018f6334050149e018f5018f4","0x6014053e40b01405320b001405258532500524c14014053200502ccc0140b","0x502ca40e005014a30180b0d80502ca4084050149c2bc050149636c9401493","0x9a0140b290063e80502c360140b2900502cc60140b290c6014052480602cc6","0x93098050149c310050149209894014930140b2680502ca426805014920180b","0x582500524c0502cfc0140b290fc014052480602cfc0140b290063ec5625005","0xb2500502ca4018fe0140b2c00502ca42c005014920180b2c00502ca4018fd","0x5258af01405248da2500524cff02c052800502c940140b290940140524806","0x94014934000b014a00140b3100502ca40180b3100502ca40d005014a326805","0xfc014052580502caf0140b2900602caf0140b290210140528c9401405258d8","0xb0180b25006019020140602c0601902014060140605c05408050180601901","0x1701810015020141001414018064080501810018212680b40c1b3f00b4080b","0x5410140150202c220141b018fc01502014fc014fc0182207c0b4080504005","0x140181b015020141b0149a018fc01502014fc014fc018064080501810018af","0x24251020141f06cfc2501f01814015020141405c0b0840607c054080507c05","0x102014b5014af0180640805018100182c015052d4054080b2cc05088062ccb0","0x50b4052c0060190201406040060c805418190150202c2e014240182e0b40b","0x34014b501806408050181001836014e33103402d0202c27014b30182701502","0x601902014140142e0180640805064050b40601902014c40142c0180640805","0x3802c34018c601502014c601427018c601502014060c8060e0054080501819","0xcd01438018cd01502014cc0f00b0d8060f00540805018c4018cc01502014c6","0x52c00526806014054080501405318060900540805090053f0063440540805","0x942c00509014014d101502014d10143c018940150201494014cc018b001502","0x3f014d10183f0150201406334060190201436014b5018064080501810018d1","0x64080501810018de1040b210403640b4080b0fcb0090940fc060fc0540805","0x611ce302d0201445014410184501502014430144001843015020140636406","0x526806014054080501405318063640540805364053f00601902014e3014de","0x190144301814015020141401427018940150201494014cc018400150201440","0x538c060a0461304f12414408050641411c9410005364fc114060640540805","0x51014470185301502014060640601902014060400637c052d8510150202c28","0x51580509c0601902014260142e018560980b4080536c051240636c0540805","0xda0144c018da1600b4080514c5602c4f018530150201453014430185601502","0x102014d6014280180640805360050b406358d802d0201458014460180640805","0x540805124053f00617805408051700537c06170054080541c051440641c05","0x460150201446014cc0184c015020144c0149a0184f015020144f014c601849","0xdf014380180640805018100185e1184c13c49050051780540805178050f006","0x5130052680613c054080513c05318061240540805124053f0063480540805","0x461304f12414014d201502014d20143c018460150201446014cc0184c01502","0x5018190180640805050050b80601902014190142d018064080501810018d2","0x102014631840b0d00618c054080518c0509c0618c0540805018530186101502","0x54080519c050e00619c0540805338cb02c36018cb01502014063100633805","0xde01502014de0149a018050150201405014c6018410150201441014fc018c7","0x10018c7250de014410500531c054080531c050f00625005408052500533006","0x640805050050b806019020142d014db01806408050c805130060190201406","0xb0d00631405408053140509c063140540805018260186a015020140606406","0x50e0061b8054080530c6c02c360186c01502014063100630c05408053146a","0xb00149a018050150201405014c6018240150201424014fc018be015020146e","0xb001424050052f805408052f8050f006250054080525005330062c00540805","0xfc018b9015020142c014380180640805050050b8060190201406040062f894","0x5330062c005408052c0052680601405408050140531806090054080509005","0x10201406040062e4942c00509014014b901502014b90143c018940150201494","0x606406019020141701456018064080507c0536c0601902014af0144c01806","0x51cc7102c3401873015020147301427018730150201406160061c40540805","0x102014b601438018b601502014b81d40b0d8061d40540805018c4018b801502","0x54080506c0526806014054080501405318063f005408053f0053f0061dc05","0x61dc9406c053f0140147701502014770143c018940150201494014cc0181b","0x54080501819018064080505c05158060190201410014db018064080501810","0x7b01502014792d00b0d0061e405408051e40509c061e4054080501853018b4","0x62c805408051f8050e0061f805408051ecb102c36018b1015020140631006","0xcc0182101502014210149a018050150201405014c60189a015020149a014fc","0x50180b018b2250210149a050052c805408052c8050f006250054080525005","0x5050060190201406040063f01702d080501002d0202c050180b2500601902","0x506c060400540805040053f0062681b02d020149401417018940150201494","0x52cc06088054080506c052c00601902014060400607c05424210150202c9a","0x50b00601902014af014b5018064080501810018b00150a090af02d0202c22","0xb501502014060c8062cc0540805018190180640805084050b8060190201424","0x60b40540805018c40182c01502014b52cc0b0d0062d405408052d40509c06","0x60400540805040053f00606405408050b8050e0060b805408050b02d02c36","0x100141901502014190143c0180b015020140b014cc0181401502014140149a","0x60c80540805018cd01806408052c0052d4060190201406040060640b05010","0x6040060d8c402d0b0d02702d0202c32050102503f018320150201432014d1","0xb40805318051040631805408050e005100060e00540805018d90180640805","0x5408050843c02cda01821015020142101427018064080533005378060f0cc","0x6019020143f014d6018d90fc0b408053340536006344054080501819018cd","0x411000b40805344d902c5c018d101502014d101443018d901502014d901507","0x280180640805378050b40610cde02d02014400144601806408051040513006","0x53f00611c054080538c0537c0638c05408051140514406114054080510c05","0x470143c0180b015020140b014cc0183401502014340149a018270150201427","0x190180640805084050b80601902014060400611c0b0d0270400511c0540805","0x4f1240b0d00613c054080513c0509c0613c054080501853018490150201406","0x50a0050e0060a005408051304602c36018460150201406310061300540805","0x1020140b014cc0183601502014360149a018c401502014c4014fc0185101502","0x5130060190201406040061440b0d8c4040051440540805144050f00602c05","0x5301502014061600637c054080501819018064080506c0536c06019020141f","0x60980540805018c4018db015020145337c0b0d00614c054080514c0509c06","0x60400540805040053f0061600540805158050e006158054080536c2602c36","0x100145801502014580143c0180b015020140b014cc0181401502014140149a","0x636805408050181901806408052500536c060190201406040061600b05010","0xc4018d601502014d83680b0d00636005408053600509c06360054080501853","0x53f0061780540805170050e00617005408053590702c36019070150201406","0x5e0143c0180b015020140b014cc018fc01502014fc0149a018170150201417","0x1002d0202c050180b25006019020140602c061780b3f017040051780540805","0x10201410014fc0181b0150201494014b0018064080501810018fc05c0b43014","0x5268052d40601902014060400607c05434212680b4080b06c052cc0604005","0x27018af01502014060c8060880540805018190180640805084050b00601902","0xb0d8062c00540805018c40182401502014af0880b0d0062bc05408052bc05","0x5268060400540805040053f0062d405408052cc050e0062cc0540805090b0","0x1404010014b501502014b50143c0180b015020140b014cc018140150201414","0x5344060b00540805018cd018064080507c052d4060190201406040062d40b","0x10201406040060c81902d0e0b82d02d0202c2c050102503f0182c015020142c","0x363100b408050d005104060d0054080509c051000609c0540805018d901806","0x5e0180b015020140b014cc0182e015020142e0149a01806408053100537806","0x54080b3300538c060b405408050b4053f006330c60e094408050d80b0b894","0x3f015020143c01447018d10150201406064060190201406040063340543c3c","0x610005408051000509c0601902014d90142e018403640b408050fc0512406","0x601902014de0144c018de1040b408053444002c4f018d101502014d101443","0x51018e3015020144501428018064080510c050b4061144302d020144101446","0x5268060b405408050b4053f006124054080511c0537c0611c054080538c05","0x380b4100144901502014490143c018c601502014c6014cc018380150201438","0x60b405408050b4053f00613c0540805334050e006019020140604006124c6","0x100144f015020144f0143c018c601502014c6014cc0183801502014380149a","0x61180540805018530184c01502014060640601902014060400613cc60e02d","0x36018510150201406310060a005408051184c02c3401846015020144601427","0x9a018190150201419014fc0185301502014df01438018df01502014281440b","0x190400514c054080514c050f00602c054080502c05330060c805408050c805","0x53018db0150201406064060190201494014db0180640805018100185302c32","0x6310061580540805098db02c3401826015020142601427018260150201406","0x17014fc018d801502014da01438018da01502014561600b0d8061600540805","0x5360050f00602c054080502c05330063f005408053f0052680605c0540805","0x602c060190201406014060500540805018d2018d802cfc05c10014d801502","0xfc0180640805018100189a06c0b440fc05c0b4080b0140602c940180640805","0x9418406250054080525005050063f005408053f0052680605c054080505c05","0x102014060400609005444af0150202c22014630182207c2125102014943f017","0x5018100182c015122d4054080b2cc0532c062ccb002d02014af014ce01806","0x6040060c80544c190b80b4080b0b4052cc060b405408052c0052c00601902","0x60190201414014670180640805064050b006019020142e014b50180640805","0x50d00509c060d00540805018320182701502014060640601902014b5014c7","0x53103602c360183601502014063100631005408050d02702c340183401502","0x1020141f0149a018210150201421014fc018c60150201438014380183801502","0x63180b07c21040053180540805318050f00602c054080502c053300607c05","0x102014cc014d1018cc0150201406334060190201432014b5018064080501810","0xd90180640805018100183f3440b450cd0f00b4080b3301f084940fc0633005","0xcd0149a0183c015020143c014fc0184001502014d901440018d90150201406","0xcd0f014314062d405408052d4051a80602c054080502c05330063340540805","0x10202c430146c0181001502014100500b30c0610c103784104102014b51000b","0xb40805114051b80611c054080501819018064080501810018e30151511405","0x640805130052e4061184c02d020144f014be0180640805124053780613c49","0x61180540805118051c406378054080537805268061040540805104053f006","0xb37c052e00637c510a0944080511c46378410407301847015020144701443","0x560144c018560980b4080514c051d40601902014060400636c054585301502","0x102014da014280180640805160050b4063685802d0201426014460180640805","0x5408050a0053f00641c05408053580537c063580540805360051440636005","0x10701502015070143c018100150201410014cc0185101502014510149a01828","0x50a0053f006170054080536c050e00601902014060400641c101442804005","0x1020145c0143c018100150201410014cc0185101502014510149a0182801502","0x53f006178054080538c050e00601902014060400617010144280400517005","0x5e0143c018100150201410014cc018de01502014de0149a018410150201441","0xc701806408050500519c060190201406040061781037841040051780540805","0x102014610142701861015020140614c0634805408050181901806408052d405","0x102014633380b0d8063380540805018c40186301502014613480b0d00618405","0x5408050fc05268063440540805344053f00619c054080532c050e00632c05","0x100186702c3f344100146701502014670143c0180b015020140b014cc0183f","0x6408052c00536c0601902014140146701806408050b005130060190201406","0xb0d0061a805408051a80509c061a8054080501858018c7015020140606406","0x50e0061b00540805314c302c36018c301502014063100631405408051a8c7","0xb014cc0181f015020141f0149a018210150201421014fc0186e015020146c","0x60190201406040061b80b07c21040051b805408051b8050f00602c0540805","0x5268060840540805084053f0062f80540805090050e006019020141401467","0x1f08410014be01502014be0143c0180b015020140b014cc0181f015020141f","0x6064060190201494014db01806408050500519c060190201406040062f80b","0x51c4b902c340187101502014710142701871015020140614c062e40540805","0x10201475014380187501502014732e00b0d8062e00540805018c40187301502","0x54080502c05330062680540805268052680606c054080506c053f0062d805","0x602c9401806408050180b018b602c9a06c10014b601502014b60143c0180b","0x60500540805050053f00601902014060400606cfc02d1705c1402d0202c0b","0x9a251020141005c1425061018100150201410014140181701502014170149a","0x10201422014ce018064080501810018af01518088054080b07c0518c0607c21","0x5090052c0060190201406040062d405464b30150202cb0014cb018b00900b","0x2d014b5018064080501810018190151a0b82d02d0202c2c014b30182c01502","0x60c805408050181901806408052cc0531c06019020142e0142c0180640805","0xc40183401502014270c80b0d00609c054080509c0509c0609c054080501832","0x53f0060e005408050d8050e0060d805408050d0c402c36018c40150201406","0x94014cc0182101502014210149a018050150201405014c60189a015020149a","0x6408050181001838250210149a050050e005408050e0050f0062500540805","0x940fc06318054080531805344063180540805018cd0180640805064052d406","0x3f015020140636406019020140604006344cd02d1b0f0cc02d0202cc60849a","0x60190201440014de018411000b40805364051040636405408050fc0510006","0xcc0183c015020143c0149a018050150201405014c6018cc01502014cc014fc","0x102014b3104940f005330172d8062cc05408052cc051a806250054080525005","0x190180640805018100184f0151c124054080b11c0538c0611ce31144337814","0x50b8061442802d020144601449018460150201449014470184c0150201406","0x4c1440b13c0613005408051300510c0614405408051440509c060190201428","0xdb0142d0182636c0b4080537c051180601902014530144c0185337c0b40805","0x10201458014df01858015020145601451018560150201426014280180640805","0x540805114052680610c054080510c05318063780540805378053f00636805","0x6368e31144337814014da01502014da0143c018e301502014e3014cc01845","0x43014c6018de01502014de014fc018d8015020144f01438018064080501810","0x5360050f00638c054080538c05330061140540805114052680610c0540805","0x1901806408052cc0531c06019020140604006360e31144337814014d801502","0x1073580b0d00641c054080541c0509c0641c054080501853018d60150201406","0x5348050e00634805408051705e02c360185e0150201406310061700540805","0x102014d10149a018050150201405014c6018cd01502014cd014fc0186101502","0x61250d1014cd050051840540805184050f0062500540805250053300634405","0x10201406064060190201424014db01806408052d40513006019020140604006","0x5408053386302c34018ce01502014ce01427018ce01502014061600618c05","0x6a01502014c701438018c701502014cb19c0b0d80619c0540805018c4018cb","0x608405408050840526806014054080501405318062680540805268053f006","0x6040061a89408405268140146a015020146a0143c018940150201494014cc","0x10201405014c60189a015020149a014fc018c501502014af014380180640805","0x540805314050f006250054080525005330060840540805084052680601405","0x50181901806408050400536c06019020140604006314940840526814014c5","0x1020146c30c0b0d0061b005408051b00509c061b0054080501853018c301502","0x5408052e4050e0062e405408051b8be02c36018be0150201406310061b805","0x1b015020141b0149a018050150201405014c6018fc01502014fc014fc01871","0xb018712501b014fc050051c405408051c4050f00625005408052500533006","0x601902014060400606cfc02d1d05c1402d0202c0b0180b250060190201406","0x60500540805050053f0060849a02d02014100141701810015020141001414","0x62bc0540805268052c006019020140604006088054781f0150202c210141b","0x60190201424014b5018064080501810018b30151f2c02402d0202caf014b3","0x102014060c8062d4054080501819018064080507c050b80601902014b00142c","0x540805018c40182d015020142c2d40b0d0060b005408050b00509c060b005","0x540805050053f0060c80540805064050e00606405408050b42e02c360182e","0x940150201494014cc0181701502014170149a018050150201405014c601814","0xb3014b5018064080501810018322501701414050050c805408050c8050f006","0xb09c17050940fc0609c054080509c053440609c0540805018cd0180640805","0xc601440018c60150201406364060190201406040060e03602d203103402d02","0x50d0053f006019020143c014de018cd0f00b4080533005104063300540805","0x10201494014cc018c401502014c40149a018050150201405014c60183401502","0xd90fcd1051020141f33494310050d0171dc0607c054080507c0509c0625005","0x540805018190180640805018100184301521378054080b1040538c0610440","0x64080511c050b8061244702d02014e301449018e301502014de0144701845","0x4f02d02014451240b13c0611405408051140510c0612405408051240509c06","0x601902014460142d018281180b4080513c0511806019020144c0144c0184c","0xfc0185301502014df014df018df01502014510145101851015020142801428","0x533006364054080536405268060fc05408050fc0531806344054080534405","0x102014060400614c403643f344140145301502014530143c018400150201440","0x3f015020143f014c6018d101502014d1014fc018db01502014430143801806","0x536c054080536c050f0061000540805100053300636405408053640526806","0x54080501819018064080507c050b80601902014060400636c403643f34414","0x5801502014560980b0d00615805408051580509c0615805408050185301826","0x63580540805360050e0063600540805160da02c36018da015020140631006","0xcc0183801502014380149a018050150201405014c6018360150201436014fc","0x501810018d62503801436050053580540805358050f006250054080525005","0x5801907015020140606406019020149a014db0180640805088051300601902","0x63100617805408051710702c340185c015020145c014270185c0150201406","0x14014fc0186301502014610143801861015020145e3480b0d8063480540805","0x5250053300605c054080505c0526806014054080501405318060500540805","0x601902014060400618c9405c05050140146301502014630143c0189401502","0x532c0509c0632c054080501853018ce0150201406064060190201410014db","0x519cc702c36018c701502014063100619c054080532cce02c34018cb01502","0x10201405014c6018fc01502014fc014fc018c5015020146a014380186a01502","0x540805314050f0062500540805250053300606c054080506c052680601405","0x12205c1402d0202c0b0180b25006019020140602c063149406c053f014014c5","0x9a02d020141001417018100150201410014140180640805018100181b3f00b","0x10201406040060880548c1f0150202c210141b018140150201414014fc01821","0x54080b0900506c06090af02d020149a014170189a015020149a0141401806","0xb408052bc0505c062bc05408052bc05050060190201406040062cc05490b0","0x102014b5014b00180640805018100182e015250b4054080b0b00506c060b0b5","0x50c8052d4060190201406040060d005498270c80b4080b064052cc0606405","0x2e01806408052c0050b806019020142d0142e018064080509c050b00601902","0x10201436014270183601502014060c806310054080501819018064080507c05","0x102014383180b0d8063180540805018c40183801502014363100b0d0060d805","0x54080501405318060500540805050053f0060f00540805330050e00633005","0x3c015020143c0143c018940150201494014cc0181701502014170149a01805","0x10201406334060190201434014b50180640805018100183c250170141405005","0x403640b49c3f3440b4080b33417050940fc063340540805334053440633405","0xde01441018de01502014410144001841015020140636406019020140604006","0x501405318063440540805344053f0060190201443014de0184510c0b40805","0x1020141f01427018940150201494014cc0183f015020143f0149a0180501502","0x940fc053441b2d0060b405408050b40509c062c005408052c00509c0607c05","0x100182801528118054080b1300538c061304f1244738c14408050b4b007c45","0x102014df01449018df015020144601447018510150201406064060190201406","0x5408051440510c0636c054080536c0509c0601902014530142e018db14c0b","0xb40805098051180601902014560144c018560980b40805144db02c4f01851","0xd601502014d801451018d801502014da014280180640805160050b40636858","0x611c054080511c053180638c054080538c053f00641c05408053580537c06","0x140150701502015070143c0184f015020144f014cc0184901502014490149a","0x102014e3014fc0185c0150201428014380180640805018100190713c4911ce3","0x54080513c05330061240540805124052680611c054080511c053180638c05","0x50b8060190201406040061704f1244738c140145c015020145c0143c0184f","0x5e015020140606406019020141f0142e01806408052c0050b806019020142d","0x618405408053485e02c34018d201502014d201427018d2015020140614c06","0xfc018cb01502014ce01438018ce015020146118c0b0d80618c0540805018c4","0x5330061000540805100052680601405408050140531806364054080536405","0x102014060400632c941000536414014cb01502014cb0143c018940150201494","0x50b80601902014b00142e01806408052d40536c06019020142e0144c01806","0x54080531c0509c0631c05408050187901867015020140606406019020141f","0x5408051a8c502c36018c50150201406310061a8054080531c6702c34018c7","0x50150201405014c6018140150201414014fc0186c01502014c301438018c3","0x51b005408051b0050f0062500540805250053300605c054080505c0526806","0x1020141f0142e01806408052cc05130060190201406040061b09405c0505014","0x509c062f80540805018260186e01502014060640601902014af014db01806","0x7102c36018710150201406310062e405408052f86e02c34018be01502014be","0x5014c6018140150201414014fc018b80150201473014380187301502014b9","0x52e0050f0062500540805250053300605c054080505c05268060140540805","0xdb018064080508805130060190201406040062e09405c0505014014b801502","0x102014b601427018b60150201406160061d4054080501819018064080526805","0x102014772d00b0d8062d00540805018c40187701502014b61d40b0d0062d805","0x54080501405318060500540805050053f0061ec05408051e4050e0061e405","0x7b015020147b0143c018940150201494014cc0181701502014170149a01805","0x10201406064060190201410014db0180640805018100187b250170141405005","0x5408051f8b102c340187e015020147e014270187e015020140614c062c405","0xab0150201480014380188001502014b22100b0d8062100540805018c4018b2","0x606c054080506c0526806014054080501405318063f005408053f0053f006","0x602c062ac9406c053f014014ab01502014ab0143c018940150201494014cc","0x14018064080501810018fc05c0b4a4140400b4080b0140602c940180640805","0x1b018100150201410014fc0189a06c0b408052500505c06250054080525005","0xb301822015020141b014b00180640805018100181f0152a084054080b26805","0x2c01806408052bc052d4060190201406040062c0054ac242bc0b4080b08805","0x54080501832018b301502014060640601902014210142e018064080509005","0x2d0150201406310060b005408052d4b302c34018b501502014b501427018b5","0x100150201410014fc01819015020142e014380182e015020142c0b40b0d806","0x50640540805064050f00602c054080502c053300605005408050500526806","0x3201502014063340601902014b0014b50180640805018100181902c1404010","0x10018363100b4b03409c0b4080b0c814040940fc060c805408050c80534406","0x102014340149a018c6015020143801440018380150201406364060190201406","0x213180b0d0101ec0608405408050840509c0602c054080502c05330060d005","0x3f0152d344054080b334052c40609c054080509c053f0063343c3309440805","0x536405118063640540805018190180640805344051f806019020140604006","0x102014de01451018de0150201441014280180640805100050b4061044002d02","0x540805330052680609c054080509c053f006114054080510c0537c0610c05","0x10018450f0cc09c100144501502014450143c0183c015020143c014cc018cc","0x5330052680609c054080509c053f00638c05408050fc050e0060190201406","0xe30f0cc09c10014e301502014e30143c0183c015020143c014cc018cc01502","0x1020140614c0611c0540805018190180640805084050b806019020140604006","0x540805018c40184f015020144911c0b0d00612405408051240509c0612405","0x540805310053f0060a00540805118050e006118054080513c4c02c360184c","0x2801502014280143c0180b015020140b014cc0183601502014360149a018c4","0x1020141b014db018064080507c05130060190201406040060a00b0d8c404005","0x34018df01502014df01427018df01502014061600614405408050181901806","0x3801826015020145336c0b0d80636c0540805018c40185301502014df1440b","0x533006050054080505005268060400540805040053f006158054080509805","0x640805018100185602c14040100145601502014560143c0180b015020140b","0xda01427018da015020140614c0616005408050181901806408052500536c06","0xd83580b0d8063580540805018c4018d801502014da1600b0d0063680540805","0x53f0052680605c054080505c053f006170054080541c050e00641c0540805","0x5c02cfc05c100145c015020145c0143c0180b015020140b014cc018fc01502","0x1020140604006040054b89402c0b4080b014052cc060140540805018052c006","0xfc01502014140148001817015020140b01484018140150201494014b201806","0x1020141b014a60181b01502014062a0060190201406040060192f014062ac06","0x54080505c050a0063f00540805268052000605c0540805040052100626805","0x1020140604006088054c01f0150202cfc014a50182101502014210141401821","0xb001502014240149b0182401502014af01488018af015020141f0148601806","0x10201406040062c02102c052c005408052c00525c0608405408050840505006","0x14018b501502014b301498018b301502014062a00601902014220144c01806","0x60190201406254062d42102c052d405408052d40525c06084054080508405","0x6408050181001817015310501002d0202c94014b301894015020140b014b0","0x626805408053f0052000606c054080504005210063f00540805050052c806","0x54080508405298060840540805018a8018064080501810018064c805018ab","0x22015020141b014280189a015020141f014800181b0150201417014840181f","0x6408050181001824015332bc054080b268052940608805408050880505006","0xfc018b501502014b001488018b30150201406064062c005408052bc0521806","0x510c060880540805088050500601405408050140526806018054080501805","0x2c25102014b52cc220140605000018b501502014b501427018b301502014b3","0x102014062a00601902014240144c0180640805018100182e0b42c250050b82d","0x10201427015360182701502014320880b4d4060c80540805064054d00606405","0x5408050d00541806014054080501405268060180540805018053f0060d005","0x50a00601902014fc0142d0181b3f00b4080505c05118060d0050189401434","0xb0149a018050150201405014c6018060150201406014fc0189a015020141b","0x5268050500605005408050500509c062500540805250053300602c0540805","0x2401538018242bc2207c21051020149a050102500b014063f1370189a01502","0xb50153b018b501502014b00153a018064080501810018b3015392c0054080b","0x102014064f406019020142c0144c0180640805018100182d0153c0b0054080b","0x5130060190201406040060193e014062ac0606405408050b80509c060b805","0x1020141901540018190150201432014270183201502014064fc06019020142d","0x54080507c05318060840540805084053f0060d0054080509c055040609c05","0x34015020143401542018af01502014af014cc0182201502014220149a0181f","0x21014fc018c401502014b301543018064080501810018342bc2207c2105005","0x52bc05330060880540805088052680607c054080507c05318060840540805","0x5408050180522006310af0881f08414014c401502014c401542018af01502","0x940150201494014430181001502014062a006250054080502c0502c340180b","0x1020140b0140b5140602c054080501944018064080501805378060409402c05","0x10201406040060400551c064080b250055180625005408052500509c0625005","0x505c054080505c0541c0605c054080505005520060500540805018a801806","0x5528063f00540805018a80180640805040055240601902014060400605c05","0x602c0540805018054140606c050141b015020141b015070181b01502014fc","0x13d018064080525005130060190201406040060400552c940150202c0b0153b","0x640805018100180653005018ab01817015020141401427018140150201406","0x51240605c05408053f00509c063f005408050194d01806408050400513006","0x9a02c4f01805015020140501443018064080506c050b8062681b02d0201417","0x60882102c050880540805018a8018064080507c051300607c2102d0201405","0x14f018050150201405014cc0180601502014060149a01894015020140b0154e","0xb014b001806408050189501817050102500505c1404094408052500501894","0x52c80601902014060400605c05540140400b4080b250052cc062500540805","0x5018ab0189a01502014fc014800181b015020141001484018fc0150201414","0x840181f0150201421014a60182101502014062a00601902014060400601951","0x505006088054080506c050a006268054080507c052000606c054080505c05","0x52180601902014060400609005548af0150202c9a014a5018220150201422","0x5018053f0062d405408052c005220062cc054080501953018b001502014af","0x102014b30146a018220150201422014140180501502014050149a0180601502","0x50b82d0b094408052d4b30880501814550062d405408052d40509c062cc05","0x60640540805018a8018064080509005130060190201406040060b82d0b094","0x60d0054080509c0555c0609c05408050c82202d5601832015020141901555","0x94014340150201434015040180501502014050149a018060150201406014fc","0x540805014052680605c1402d0201494014410180640805018950183401406","0x9a015590189a06cfc251020141702c05251580180b015020140b014cc01805","0x5050051040601902014210155b0180640805018100181f0155a084054080b","0x1020141b014cc018fc01502014fc0149a018240150201406534062bc2202d02","0x159018b52ccb025102014242bc1b3f0105700609005408050900509c0606c05","0x510406019020142c0155b0180640805018100182d0155d0b0054080b2d405","0x5330062c005408052c005268060180540805018053f0060642e02d0201422","0x320410201410064b32c0060515e0181001502014100146a018b301502014b3","0x50d805584060190201406040060e005580360150202cc40155f018c40d027","0x50c8053f0060f005408053300558c0633005408053182e02d62018c601502","0x1020143c01564018340150201434014cc0182701502014270149a0183201502","0x380156501806408050b805378060190201406040060f03409c32040050f005","0x50d0053300609c054080509c05268060c805408050c8053f0063340540805","0xc7018064080501810018cd0d0270c810014cd01502014cd015640183401502","0x5018053f00634405408050b405594060190201422014de018064080504005","0x102014d101564018b301502014b3014cc018b001502014b00149a0180601502","0x14014de01806408050400531c06019020140604006344b32c0060400534405","0x102014fc0149a018060150201406014fc0183f015020141f015650180640805","0x60fc1b3f006040050fc05408050fc055900606c054080506c05330063f005","0x55a00605005408050400559c060400b02d020140b01566018064080501895","0x55a4063f0054080505c9402c3401817015020141701427018170150201414","0x1b0156a0180501502014050149a018060150201406014fc0181b015020140b","0x1f0849a25102014fc06c050181040c063f005408053f00510c0606c0540805","0x5250053300602c054080502c05268060190201414014c70181f0849a25005","0x62681b3f0944080505c9402c945600605c1002d02014100156b0189401502","0x14d01806408050840556c0601902014060400607c055b0210150202c9a01559","0x100156b0181b015020141b014cc018fc01502014fc0149a018220150201406","0xb00909440805088af06cfc0415c01822015020142201427018af0400b40805","0x6408052d40556c060190201406040060b0055b4b50150202cb301559018b3","0x609005408050900526806014054080501405318060180540805018053f006","0x14014270c8190b82d05102014102c024014060516e018b001502014b0014cc","0x5408050b00550c060190201410014de018064080501810018270c8190b82d","0x2401502014240149a018050150201405014c6018060150201406014fc01834","0x10018342c02401406050050d005408050d005508062c005408052c00533006","0x10201406014fc018c4015020141f01543018064080504005378060190201406","0x54080506c05330063f005408053f005268060140540805014053180601805","0x9a0180640805050050b8063101b3f00501814014c401502014c4015420181b","0x158018170400b40805040055ac062500540805250053300602c054080502c05","0x5018100181f0156f084054080b26805564062681b3f0944080505c9402c94","0x63f005408053f0052680608805408050197001806408050840556c0601902","0x608805408050880509c062bc1002d02014100156b0181b015020141b014cc","0x100182c015712d4054080b2cc05564062ccb00909440805088af06cfc0415c","0x10201405014c6018060150201406014fc01806408052d40556c060190201406","0xb009005018145b8062c005408052c005330060900540805090052680601405","0x53780601902014060400609c320642e0b414014270c8190b82d0510201410","0x501405318060180540805018053f0060d005408050b00550c060190201410","0x1020143401542018b001502014b0014cc0182401502014240149a0180501502","0x550c060190201410014de018064080501810018342c02401406050050d005","0xfc0149a018050150201405014c6018060150201406014fc018c4015020141f","0xfc01406050053100540805310055080606c054080506c05330063f00540805","0x9a01806408053f0050b80601902014170142e0180640805050050b8063101b","0x1580181b0400b40805040055ac062500540805250053300602c054080502c05","0x501810018af01572088054080b07c055640607c21268944080506c9402c94","0x62680540805268052680609005408050194d01806408050880556c0601902","0x609005408050900509c062c01002d02014100156b018210150201421014cc","0x100182e015730b4054080b0b005564060b0b52cc9440805090b00849a0415c","0x10201405014c6018060150201406014fc01806408050b40556c060190201406","0xb52cc05018145b8062d405408052d405330062cc05408052cc052680601405","0x5378060190201406040063103409c3206414014c40d0270c8190510201410","0x501405318060180540805018053f0060d805408050b80550c060190201410","0x1020143601542018b501502014b5014cc018b301502014b30149a0180501502","0x550c060190201410014de018064080501810018362d4b301406050050d805","0x9a0149a018050150201405014c6018060150201406014fc0183801502014af","0x9a01406050050e005408050e00550806084054080508405330062680540805","0x540805014053300601805408050180526806040054080502c05538060e021","0x55d4063f01705094408052501001406041740189401502014940142701805","0x4c0181f0840b4080506c055dc06019020140604006268055d81b0150202cfc","0x222bc0b5e0062bc054080508405100060880540805018a8018064080507c05","0x505c0533006050054080505005268062c00540805090055e4060900540805","0x55ec060190201406040062c01705094014b001502014b00157a0181701502","0xb30157a018170150201417014cc0181401502014140149a018b3015020149a","0x5344060500540805018cd018064080501895018b305c14250052cc0540805","0x10201406040062681b02d7c3f01702d0202c14014062503f018140150201414","0x64080b084055180605c054080505c053f0060841002d02014100157d01806","0x60880540805250055fc0601902014100142e0180640805018100181f0157e","0x605c054080505c053f00609005408052bc054d8062bc05408050880b02d35","0x1020140604006090fc05c9401424015020142401506018fc01502014fc0149a","0xb32c00b4080502c0505c0602c054080502c0505006019020141f0154901806","0x5408052d49402c340180640805018100182c015802d4054080b2cc0506c06","0x170150201417014fc01819015020142e0400b514060b805408050194d0182d","0x60b405408050b40510c062c005408052c005050063f005408053f00526806","0x270c8940143409c3225102014190b4b03f0170500001819015020141901427","0x2c015340180640805250050b40601902014100142e01806408050181001834","0x17014fc018380150201436015360183601502014c42c00b4d4063100540805","0x383f017250050e005408050e005418063f005408053f0052680605c0540805","0x502c0536c0601902014940142d0180640805040050b806019020140604006","0x633005408053300509c06330054080501853018c601502014060640601902","0x634405408050f0cd02c36018cd0150201406310060f00540805330c602c34","0x1060189a015020149a0149a0181b015020141b014fc0183f01502014d101581","0x53f0052c0063f01702d0201417015820183f2681b250050fc05408050fc05","0x54080526805614060840540805019840189a015020141b015830181b01502","0x60190201417014db0180640805018100180661c064080b0849a02d860189a","0x507c055280607c0540805018a80180640805040053780601902014140142e","0x10201406014fc0182401502014af01589018af0150201422015880182201502","0x540805250053300602c054080502c05268060140540805014053180601805","0x5538060190201406040060909402c05018140142401502014240158a01894","0xb2514f018940150201494014cc0180b015020140b0149a018b00150201410","0x640805018100182e0158b0b4054080b0b00538c060b0b52cc94408052c094","0x609c05408050c8052c0060c81702d02014170158201819015020140663006","0x18d0181901502014190158501827015020142701484018060150201406014fc","0x10201406040060e00563c360150202cc40158e018c40d00b408050642701894","0x60f0054080501991018cc01502014c601486018c601502014360159001806","0x185018cd01502014cd01484018340150201434014fc018cd0150201417014b0","0xcc01502014cc014270183f3440b408050f0cd0d094634060f005408050f005","0x4101502014d9015900180640805018100184001592364054080b0fc0563806","0x61140540805330052200610c05408050b40511c0637805408051040521806","0x27018050150201405014c6018d101502014d1014fc018e301502014de01488","0x509c0611405408051140509c0610c054080510c0509c06050054080505005","0x513c056200613c4911c944080538c4510c14014d105d93018e301502014e3","0x10201449014c6018470150201447014fc01846015020144c015890184c01502","0x54080511805628062d405408052d405330062cc05408052cc052680612405","0xcc0142e01806408050b40565006019020140604006118b52cc4911c1401446","0x540805344053f0060a00540805100056540601902014140142e0180640805","0xb501502014b5014cc018b301502014b30149a018050150201405014c6018d1","0x2d01594018064080501810018282d4b3014d1050050a005408050a00562806","0x51015020143801595018064080505c0536c0601902014140142e0180640805","0x62cc05408052cc0526806014054080501405318060d005408050d0053f006","0x604006144b52cc050d0140145101502014510158a018b501502014b5014cc","0xdf015020142e015950180640805050050b8060190201417014db0180640805","0x62cc05408052cc0526806014054080501405318060180540805018053f006","0x56580637cb52cc0501814014df01502014df0158a018b501502014b5014cc","0x5408050198c0181001502014940159801894015020140665c06019020140b","0xb04014014060419a018100150201410015990181401502014140158501814","0x6088054080506c056700601902014060400607c212689466c1b3f01725102","0xab018b001502014220159d0182401502014fc014cc018af01502014170149a","0x54080526805268062cc054080507c0567c060190201406040060199e01406","0xb501502014b0015a0018b001502014b30159d018240150201421014cc018af","0x52d405408052d40550806090054080509005330062bc05408052bc0526806","0x140150201414014d1018140150201406334060190201406254062d4242bc94","0x100157d0180640805018100189a06c0b684fc05c0b4080b05005018940fc06","0x100181f015a20190202c2101546018170150201417014fc018210400b40805","0x50880b02d56018220150201494015a30180640805040050b8060190201406","0x102014fc0149a018170150201417014fc0182401502014af01557018af01502","0x1f01549018064080501810018243f01725005090054080509005410063f005","0x502c1702da40180b015020140b01414018170150201417014fc0180640805","0xb50150a0180640805018100182c015a62d4054080b2cc05694062ccb002d02","0xb6a4060190201406040060c8056a0190150202c2e015a70182e0b40b40805","0x53f00631005408050d01002d450183401502014065340609c054080506494","0x270146a0182d015020142d01414018fc01502014fc0149a018b001502014b0","0x380d89440805310270b4fc2c0145500631005408053100509c0609c0540805","0x10201494014c70180640805040050b806019020140604006318380d894014c6","0x5408050f00555c060f005408053302d02d56018cc01502014320155501806","0xcd01502014cd01504018fc01502014fc0149a018b001502014b0014fc018cd","0x6408052500531c0601902014100142e018064080501810018cd3f0b025005","0x63f005408053f005268062c005408052c0053f00634405408050b0056a806","0x640805040050b806019020140604006344fc2c094014d101502014d101504","0x5018530183f015020140606406019020140b014db01806408052500531c06","0x102014063100610005408053643f02c34018d901502014d901427018d901502","0x1020141b014fc0184301502014de015aa018de01502014401040b0d80610405","0xde018432681b2500510c054080510c05410062680540805268052680606c05","0x602dab018050150201405014cc0180601502014060149a018064080502c05","0x60190201406040063f0056b4170150202c14015ac01814040942510201405","0x21015b00190202c9a015460189a015020141b015af0181b0150201417015ae","0x22015b201822015020141f015b10181f01502014062a006019020140604006","0x52bc056cc0604005408050400533006250054080525005268062bc0540805","0x501819018064080508405524060190201406040062bc1025094014af01502","0x102014b00900b0d0062c005408052c00509c062c00540805019b40182401502","0x5408050b0056d4060b005408052ccb502c36018b50150201406310062cc05","0x2d015020142d015b3018100150201410014cc0189401502014940149a0182d","0x102014940149a0182e01502014fc015b50180640805018100182d0409425005","0xde0182e04094250050b805408050b8056cc060400540805040053300625005","0x602db6018050150201405014cc0180601502014060149a018064080502c05","0x601902014060400606c056e0fc0150202c17015b701817050102510201405","0xaf0881f2bd0201421015bb01821015020149a015ba0189a01502014fc015b9","0x601902014af015bd0180640805088056f00609c320642e0b42c2d4b32c024","0x52d4050b80601902014b30142e01806408052c0050b8060190201424014db","0x1bf01806408050b80536c06019020142d015bd01806408050b0056f80601902","0x1020141f01427018064080509c0536c060190201432015bf018064080506405","0xc40d00b514063109402d02014940157d0183407c0b4080507c055f40607c05","0x6040060e005700064080b0d805518060d805408050d80509c060d80540805","0x100180670405018ab0180640805250050b806019020141f0142e0180640805","0x5408053180509c063180540805019c201806408050e005524060190201406","0x102014cc07c0b5140633005408053300509c063300540805250c602dc3018c6","0x102014060400633405710064080b0f005518060f005408050f00509c060f005","0x636405408050fc056c8060fc0540805344056c4063440540805018a801806","0x94014d901502014d9015b3018140150201414014cc0181001502014100149a","0x1c50184001502014060640601902014cd01549018064080501810018d905010","0x63100637805408051044002c3401841015020144101427018410150201406","0x100149a018e30150201445015b50184501502014de10c0b0d80610c0540805","0xe3050102500538c054080538c056cc06050054080505005330060400540805","0x100149a01847015020141b015b50180640805250050b806019020140604006","0x47050102500511c054080511c056cc06050054080505005330060400540805","0x50149a018060150201406014fc01814015020140671806019020140625406","0x50500571c060400540805040051a80602c054080502c05330060140540805","0x10202c9a015c90189a06cfc05c1040805050940400b0140605dc80181401502","0x22014c7018242bc2225102014210150b0180640805018100181f015ca08405","0x5408052c005730062c005408052bc0572c0601902014240144c0180640805","0x1b015020141b014cc018fc01502014fc0149a018170150201417014fc018b3","0x507c05738060190201406040062cc1b3f017040052cc05408052cc0573406","0x1020141b014cc018fc01502014fc0149a018170150201417014fc018b501502","0x501814015020140673c062d41b3f017040052d405408052d4057340606c05","0x170150201417014d1018170150201406334060190201406254060190201406","0xb015d1018064080501810018212680b7401b3f00b4080b05c05018940fc06","0xb4080b07c0574c063f005408053f0053f00601902014067480607c0540805","0x1020142201471018b001502014af015d501806408050181001824015d42bc22","0x62a006019020140604006019d7014062ac062cc05408052c0057580604005","0x50b005758060400540805090051c4060b005408052d405760062d40540805","0x100182e015db0b4054080b2cc057680604005408050401402dd9018b301502","0x5408053f0053f00606405408050b405424060190201406254060190201406","0x94015020149401443018190150201419014140181b015020141b0149a018fc","0x60d805774c40150202c34014b80183409c3225102014940641b3f01077006","0x513006330c602d02014c40147501838015020141001569018064080501810","0x50e0055a80609c054080509c05268060c805408050c8053f00601902014cc","0x5344cd0f094408053183809c3204103018c601502014c6014430183801502","0x3f0150201436015df01806408050400577806019020140604006344cd0f094","0x50fc05408050fc057800609c054080509c05268060c805408050c8053f006","0x1de01806408050b805130060190201406254060190201406040060fc270c894","0x40015e20184001502014d92500b784063640540805018a8018064080504005","0x5104057800606c054080506c05268063f005408053f0053f0061040540805","0x940142d01806408050500578c060190201406040061041b3f0940144101502","0x610c054080501853018de015020140606406019020140b015e40180640805","0x36018e3015020140631006114054080510cde02c3401843015020144301427","0x9a0189a015020149a014fc018490150201447015df01847015020144538c0b","0x1020140b0149a018490849a2500512405408051240578006084054080508405","0xfc015b7018fc05c14251020149402c0b6d8062500540805250053300602c05","0x21015ba01821015020141b015b90180640805018100189a015e506c054080b","0x60d0270c8190b82d0b0b52ccb0090af088af4080507c056ec0607c0540805","0x52d4050b8060190201424015bd01806408052bc056f00601902014220142e","0xdb01806408050b8056f406019020142d015be01806408050b0050b80601902","0x10201434014db018064080509c056fc060190201432015bf018064080506405","0x1401502014140149a018050150201405014c6018060150201406014fc01806","0x62c005408052c005050062cc05408052cc0509c0605c054080505c0533006","0x3c0150202ccc01538018cc318380d8c405102014b02cc1005c14014063f137","0x3f0150202cd10153b018d1015020143c0153a018064080501810018cd015e6","0x1e801840015020140606406019020143f0144c018064080501810018d9015e7","0x63100637805408051044002c3401841015020144101427018410150201406","0xc4014fc018e30150201445015430184501502014de10c0b0d80610c0540805","0x531805330060e005408050e005268060d805408050d805318063100540805","0x601902014060400638cc60e03631014014e301502014e301542018c601502","0x4901541018490150201447015400184701502014064fc0601902014d90144c","0x50e005268060d805408050d805318063100540805310053f00613c0540805","0xc60e036310140144f015020144f01542018c601502014c6014cc0183801502","0xc6018c401502014c4014fc0184c01502014cd015430180640805018100184f","0x550806318054080531805330060e005408050e005268060d805408050d805","0x6408050400537806019020140604006130c60e036310140144c015020144c","0x6014054080501405318060180540805018053f00611805408052680550c06","0x1401446015020144601542018170150201417014cc0181401502014140149a","0x1020140663006050054080504005660060400540805019970184605c1401406","0x1405c05018147a4060500540805050056640605c054080505c056140605c05","0x60880540805018a80180640805018100181f0849a251ea06cfc02d0202c94","0x1ec018b0015020141b014cc0182401502014fc0149a018af0150201422015eb","0x54080507c057b806019020140604006019ed014062ac062cc05408052bc05","0xb301502014b5015ec018b00150201421014cc01824015020149a0149a018b5","0x640805018100182e015f00b4054080b0b005564060b005408052cc057bc06","0x270150201432015f201832015020141902c0b7c40606405408050b40542006","0x509c054080509c057cc062c005408052c0053300609005408050900526806","0x34015020142e015f4018064080502c056580601902014060400609cb009094","0x50d005408050d0057cc062c005408052c0053300609005408050900526806","0x6019020140604006050057d8102500b4080b02c05018947d4060d0b009094","0x1f9018940150201494014fc018fc0150201417015f8018170150201410015f7","0x1fa0181b0150201406064060190201406040063f09402c053f005408053f005","0x63100608405408052681b02c340189a015020149a014270189a0150201406","0x14014fc018af0150201422015fb01822015020142107c0b0d80607c0540805","0x170500b40805050055f4062bc1402c052bc05408052bc057e4060500540805","0x2e0180640805050050b8060190201406040063f0057f0064080b05c0551806","0x540805018a80180640805250050b80601902014100142e018064080502c05","0x50150201405014c6018060150201406014fc0189a015020141b0154a0181b","0x102014fc015490180640805018100189a014062500526805408052680541c06","0x5408050841f02d450181f0500b40805050055f4060840540805019fd01806","0x64080501810018af015fe0190202c22015460182201502014220142701822","0x940142e0180640805040050b806019020140b0142e0180640805050050b806","0x540805018053f0062c0054080509005528060900540805018a80180640805","0x6040062c00501894014b001502014b001507018050150201405014c601806","0x1002d02014100157d018b301502014067f40601902014af015490180640805","0x64080b0b005518060b005408050b00509c060b005408052ccb502d45018b5","0x2e018064080502c050b80601902014140142e0180640805018100182d015ff","0x1020142e0154a0182e01502014062a00601902014940142e018064080504005","0x5408050640541c06014054080501405318060180540805018053f00606405","0xb2500602e0001806408050b40552406019020140604006064050189401419","0x270160301827015020142701602018064080501810018340160109c3202d02","0x5810c60e00b4080b0d83202e00018360400b40805040055f4063100540805","0x2050183c01502014c601603018c601502014c601602018064080501810018cc","0x53440509c0633405408053340509c06344054080501a06018cd0150201406","0x60400601a080fc054080b344cd02e07018380150201438014fc018d101502","0x10201405014c6018d9015020143f016030183f015020143f016020180640805","0x50503c014948280605005408050500509c060f005408050f0058240601405","0x5310058340601902014060400637805830064080b1040582c061044002d02","0xa801806408053640583406019020140b0142e0180640805040050b80601902","0x40014c6018380150201438014fc0184501502014430154a018430150201406","0x20e01806408050181001845100382500511405408051140541c061000540805","0x5824061000540805100053180601902014470142e0184738c0b4080537805","0x613c4902d020140b364402520a0180b015020140b01427018d901502014d9","0x20a01810015020141001427018c401502014c401609018490150201449014c6","0x5408050a005824060a04f02d020144f0160f018461300b40805040c412494","0x102014510a00b84006144054080514405824061444602d02014460160f01828","0x601a12014062ac0601902014060400614c05844064080b37c0582c0637c05","0xe30157d0180640805098050b806098db02d02014530160e018064080501810","0x55180616005408051600509c061600540805158db02d450185638c0b40805","0x5118058340601902014e30142e018064080501810018da016130190202c58","0x6358054080536005520063600540805018a8018064080513c058340601902","0x94014d601502014d6015070184c015020144c014c6018380150201438014fc","0x613c054080513c058240601902014da01549018064080501810018d613038","0x5854064080b41c0582c0641c05408051184f02e1401846015020144601609","0x102014060400601a16014062ac0601902014e30142e0180640805018100185c","0x54080538c5e02d450180640805348050b8063485e02d020145c0160e01806","0x6408050181001863016170190202c61015460186101502014610142701861","0xc6018380150201438014fc018cb01502014ce01548018ce01502014062a006","0x64080501810018cb130382500532c054080532c0541c06130054080513005","0x53f00631c054080519c055280619c0540805018a8018064080518c0552406","0x4c0e094014c701502014c7015070184c015020144c014c6018380150201438","0xb0142e0180640805040050b80601902014c40160d018064080501810018c7","0x61a80540805018a801806408050f0058340601902014140142e0180640805","0x107018050150201405014c6018380150201438014fc018c5015020146a0154a","0x601902014140142e018064080501810018c50143825005314054080531405","0x102014062a006019020140b0142e0180640805040050b80601902014c40160d","0x54080501405318063300540805330053f0061b0054080530c055280630c05","0x5050050b8060190201406040061b005330940146c015020146c0150701805","0x14a0186e01502014062a00601902014100142e018064080502c050b80601902","0x541c06014054080501405318060d005408050d0053f0062f805408051b805","0x5018100180b01619014054080b01805860062f8050d094014be01502014be","0x5408050400550806040054080525005504062500540805014055000601902","0x54080502c1402c36018140150201406310060190201406040060400501410","0x5018053f0063f005014fc01502014fc01542018fc01502014170154301817","0x586c060409402c94408050140602e1a018050150201405014140180601502","0x505c062500540805250050500601902014060400605c05870140150202c10","0xfc018064080501810018210161d268054080b06c0506c0606cfc02d0201494","0x60881f02d02014fc02c0b878063f005408053f0050500602c054080502c05","0xb32c00b408052bc058840601902014060400609005880af0150202c220161f","0x102014b526814252240180640805018100182c016232d4054080b2cc0588806","0x102014190162601819015020142e2c00b434060b805408050b405894060b405","0x6040060c81f02c050c805408050c80589c0607c054080507c053f0060c805","0x27015020142c016280180640805268050b8060190201414015bc0180640805","0x1f015020141f014fc018c40150201434016260183401502014272c00b43406","0x640805268050b8060190201406040063101f02c0531005408053100589c06","0x2270181f015020141f014fc018360150201424016290180640805050056f006","0x2280180640805050056f0060190201406040060d81f02c050d805408050d805","0xfc018cc01502014c601626018c601502014383f00b434060e0054080508405","0x60190201406040063300b02c0533005408053300589c0602c054080502c05","0x63440540805334058980633405408050f09402d0d0183c015020141701628","0x102014060149a018d102c0b014d101502014d1016270180b015020140b014fc","0x100162b018102500b25102014050180b8a8060140540805014053300601805","0xfc0162e018fc01502014140162d018064080501810018170162c050054080b","0x2310180640805268058c0062bc2207c21268144080506c058bc0606c0540805","0x1020141f0163201806408052bc050b8060190201422015bc018064080508405","0x540805250053300602c054080502c05268062c00540805090058cc0609005","0x505c058d4060190201406040062c09402c94014b001502014b00163401894","0x102014b301634018940150201494014cc0180b015020140b0149a018b301502","0x22a018050150201405014cc0180601502014060149a018b32500b250052cc05","0x102014060400605c058d8140150202c100162b018102500b25102014050180b","0x9a051020141b0162f0181b01502014fc0162e018fc01502014140162d01806","0x640805088056f006019020141f015bc0180640805268058c0062bc2207c21","0x9a018b00150201424016380182401502014210163701806408052bc050b806","0xb250052c005408052c0058e4062500540805250053300602c054080502c05","0x602c054080502c05268062cc054080505c058e8060190201406040062c094","0x10201406254062cc9402c94014b301502014b301639018940150201494014cc","0xb4080b05c05018940fc0605c054080505c053440605c0540805018cd01806","0x5408053f0053f0060190201406748060190201406040060849a02e3b06cfc","0x102014220163e018064080501810018af0163d0881f02d0202c940163c018fc","0x5408052c0058fc062cc054080507c051a8062c00540805090058940609005","0x50b0058a0060b00540805018a80180640805018100180690005018ab018b5","0x10202cb5015a7018b5015020142d0163f018b301502014af0146a0182d01502","0x1020140b014cc0181b015020141b0149a01806408050181001819016410b805","0x3202c1b042430182e015020142e01642018320400b40805040055ac0602c05","0x60190201406040060e005914360150202cc401644018c40d027251020142e","0x53f00633005408053181402e47018c6015020143601646018064080501895","0xb30146a018340150201434014cc0182701502014270149a018fc01502014fc","0x3c04102014cc040b30d0273f0177200633005408053300571c062cc0540805","0x10014de0180640805018950180640805018100183f344cd0f0100143f344cd","0xd90150201438016480180640805050052e40601902014b3014c70180640805","0x60d005408050d0053300609c054080509c05268063f005408053f0053f006","0x64080501895018064080501810018d90d0273f010014d901502014d901649","0xb32524a0184001502014062a0060190201410014de01806408050640513006","0x5268063f005408053f0053f00637805408051040592c06104054080510014","0x1b3f010014de01502014de016490180b015020140b014cc0181b015020141b","0x52e4060190201410014de01806408052500531c060190201406040063780b","0x5408051140509c06114054080501853018430150201406064060190201414","0x54080538c4702c360184701502014063100638c05408051144302c3401845","0x2101502014210149a0189a015020149a014fc0184f01502014490164801849","0x62540613c0b0849a0400513c054080513c059240602c054080502c0533006","0x5050052c006050054080504005930060400b02d020140b015820180640805","0x1020141b014270181b01502014fc01568018fc0150201417015830181701502","0x10201406014fc01821015020140b0164c0189a015020141b2500b0d00606c05","0x5408052680510c06084054080508405050060140540805014052680601805","0x10202c060150f018af0881f250052bc2207c944080526821014060424d0189a","0x10201494015b2018940150201405015b10180640805018100180b0164e01405","0x540805018c401806408050181001810014050400540805040056cc0604005","0x5408053f0056cc063f0054080505c056d40605c054080502c1402c3601814","0x10018100164f0190202c940160b018940140b408050140583c063f005014fc","0x1020140501609018060150201406014c6018064080502c050b8060190201406","0x54080501a50018064080501405834060190201406040060140602c0501405","0x17014c6018fc01502014fc01652018fc05c0b408050400b050060425101814","0x506c0580c0601902014060400601a5406c054080b3f00594c0605c0540805","0x100189a05c0b0149a015020149a01609018170150201417014c60189a01502","0x1020142101609018170150201417014c6018210150201406954060190201406","0x94016560190202c0b0160b0180b0180b408050180583c060841702c0508405","0x6014050140501502014050160901806408050180583406019020140604006","0x940165801806408050181001810016570190202c050160b018064080501810","0x5018058340601902014060400601805014060150201406016090180640805","0x54080505c059480605c05408052501402d0e0181401502014069400601902","0x54080b3f00594c063f005408053f005948063f005408050401702d0e01817","0x9a015020149a016090189a015020141b01603018064080501810018069641b","0x508405408050840582406084054080501a550180640805018100189a01405","0x501810018940165a0190202c0b0160b0180b0140b408050140583c0608405","0x102014060400601805014060150201406016090180640805014058340601902","0x60180540805018058240604005408050140596c0601902014940165801806","0x1020140501414018140140505005408050400602e1001810015020141001609","0x60400605005970100150202c940141b0189402c0b408050140505c0601405","0x597c0601902014060400606c05978fc05c0b4080b0400602e5d0180640805","0x9a016600180b015020140b01414018170150201417014fc0189a01502014fc","0x5984060840540805018a80180640805018100189a02c17250052680540805","0x1f016600180b015020140b014140181b015020141b014fc0181f0150201421","0xfc018220150201414016610180640805018100181f02c1b2500507c0540805","0x6250050880540805088059800602c054080502c0505006018054080501805","0x60400605005988102500b4080b02c052cc0602c0540805014052c0060880b","0x1020141701480018fc015020149401484018170150201410014b20180640805","0x9a014a60189a01502014062a00601902014060400601a63014062ac0606c05","0x53f0059900606c054080508405200063f0054080505005210060840540805","0xb06c052940608805408050880505006088054080507c050a00607cfc02d02","0x52c005220062c005408052bc052180601902014060400609005994af01502","0x52cc0602e66018b301502014b301427018060150201406014fc018b301502","0x22014db0180640805018100182e016680b4054080b0b00599c060b0b502d02","0x1020142d01669018323f00b408053f0059900606405408050198c0180640805","0x59acc40d00b4080b09c190c8b50426a01819015020141901585018270b40b","0x631805408050e00560c060e0fc02d02014fc0166401806408050181001836","0x63302d02d020142d01669018c601502014c601585018340150201434014fc","0x54080531005210063343c02d02014cc318342526c018cc01502014cc01585","0x54080534405430060190201406040060fc059b8d10150202ccd0166d018c4","0x50a006019020140604006378059bc411000b4080b3642d3f03c0426a018d9","0x4502e71018e3015020144301670018450150201441014280184301502014c4","0x4901673018400150201440014fc018490150201447016720184701502014e3","0x5018190180640805310052d4060190201406040061244002c051240540805","0x1020144c13c0b0d00613005408051300509c061300540805019fa0184f01502","0x540805144059d00614405408051182802c360182801502014063100611805","0x501810018df3780b014df01502014df01673018de01502014de014fc018df","0x27401806408053f0052d406019020142d015bf0180640805310052d40601902","0x3c02c0514c054080514c059cc060f005408050f0053f00614c05408050fc05","0x50181901806408053f0052d406019020142d015bf01806408050181001853","0x1020142636c0b0d00609805408050980509c060980540805019fa018db01502","0x540805368059d00636805408051585802c360185801502014063100615805","0x501810018d80d80b014d801502014d801673018360150201436014fc018d8","0x5408053582202e71018d6015020142e0167501806408053f0052d40601902","0x5c015020145c01673018b501502014b5014fc0185c01502015070167201907","0x601902014fc014b501806408050900513006019020140604006170b502c05","0x2720186101502014d20880b9c4063480540805178059d4061780540805018a8","0x602c0518c054080518c059cc060180540805018053f00618c054080518405","0x278018064080501810018fc05c14252770409402c944080b0140602e7601863","0x59e40608405408052500533006268054080502c052680606c054080504005","0x2201502014fc0167b018064080501810018069e805018ab0181f015020141b","0x607c0540805088059e406084054080505c053300626805408050500526806","0x27d018210150201421014cc0189a015020149a0149a018af015020141f0167c","0x9440805250059f806019020140b014de018af0849a250052bc05408052bc05","0x100140605280018fc01502014170167f018170150201417014140181705010","0x1020142101682018064080501810018af0881f252810849a06c944080b3f014","0x54080509005a0c062cc054080526805330062c0054080506c052680609005","0x1f0149a0182c01502014af0168501806408050181001806a1005018ab018b5","0x52d405a18062d405408050b005a0c062cc054080508805330062c00540805","0x1020142d0143c018b301502014b3014cc018b001502014b00149a0182d01502","0x504005344060400540805018cd0180640805018950182d2ccb0250050b405","0x601902014060400606cfc02e8705c1402d0202c10014062503f0181001502","0x9a014b3018140150201414014fc0180640805019d20189a015020140b014b0","0x5210062bc054080507c052c80601902014060400608805a201f0840b4080b","0x6408050181001806a2405018ab018b001502014af01480018240150201421","0x8001824015020142201484018b501502014b3014a6018b301502014062a006","0x950180640805018100182d0168a0b0054080b2c005294062c005408052d405","0x52500510c060b805408050b80509c060b805408050b005218060190201406","0x5090050a00601902014320144c018320640b408052502e02c4f0189401502","0x10201427014140181701502014170149a018140150201414014fc0182701502","0x940143631034251020141909c17050109340606405408050640510c0609c05","0x52d406019020142d0144c0180640805018950180640805018100183631034","0x5318057880631805408050e09402de10183801502014062a0060190201424","0x102014cc015e00181701502014170149a018140150201414014fc018cc01502","0x502c0536c0601902014940142d018064080501810018cc05c142500533005","0x633405408053340509c063340540805018530183c01502014060640601902","0x636405408053443f02c360183f01502014063100634405408053343c02c34","0x1e00181b015020141b0149a018fc01502014fc014fc0184001502014d9015df","0x604005a309402c0b4080b0140602e8b0184006cfc25005100054080510005","0x140168e0180b015020140b014fc0181401502014940168d018064080501810","0x170168f0181701502014062a0060190201406040060500b02c050500540805","0x63f01002c053f005408053f005a38060400540805040053f0063f00540805","0x504005a480601902014060400605c1402e910409402d0202c0b0140625290","0x6a5005018ab0189a01502014fc016930181b0150201494014fc018fc01502","0x5a4c0606c0540805050053f006084054080505c05a5406019020140604006","0x1f2680ba5c0607c054080507c0509c0607c054080501a960189a0150201421","0x60881b02c05088054080508805a600606c054080506c053f0060880540805","0x6250054080501405a6c0601902014060400602c05a68050150202c0601699","0x6019020140604006040050141001502014100167d0181001502014940169c","0x27d018fc01502014170169d01817015020140b0500b0d8060500540805018c4","0x10201406a78060180501406015020140601414018fc014053f005408053f005","0x102014050180ba7c0601405408050140509c06018054080501805a0c0601405","0x50b80601902014060400625005a840b0150202c06016a00180b0140502c05","0x505005a6006050054080504005a8c06040054080502c05a88060190201405","0x540805018190180640805250056fc06019020140604006050050141401502","0x5408053f01b02c360181b0150201406310063f005408050141702c3401817","0xb01805a9406084050142101502014210169801821015020149a016a40189a","0x1020140b014510180640805014050b80601902014060400625005a980b01502","0x50181001814014050500540805050050f00605005408050400537c0604005","0xfc015020140505c0b0d00605c0540805018190180640805250050b40601902","0x60840540805268050e00626805408053f01b02c360181b015020140631006","0x5018a51f89829895050171f89829895050d6084050142101502014210143c","0x1005c7e26095041842500b014062947e26095040171f89825410018102500b","0x149fc9402c05018a51f8982541005c7e26095042032500b014062947e26095","0x95050171f89829895052a70409402c05018a51f89829895050171f89829895","0xb014062947e260a62541405c7e260a625414aa0102500b014062947e260a6","0x2ab0189705c0b05c05aa89402c05018a51f8982541005c7e26095042a904094","0x7e260a625414040061c47e260a6254fcab00b0140626c982549405c9825494","0x50186c014061c40bab805018240400b0400602ead05c140409402c05018ab","0x9825494ac40b014062ac7e260941c47e26094ac005018240400b0406c02eaf","0x102500b014062d07e26095040431c47e26095052b202c05018b12609525017","0xa62541410c711f8982989505eb42500b014062d898254940404126095042b3","0x5018ab1f89829895050061c47e260a625417ad4140409402c05018ab1f898","0x102500b014062ac7e260a62541401806018711f8982989506eb6050102500b","0x940181005c9825414ae09402c05018b81f898250061c47e26010adcfc05c14","0x5018be1f8982989505017018711f898298953f2b90409402c050189b26095","0x940184305c9825414aec0b014062ac7e260941847e26094ae817050102500b","0x711f898042bd02c05018c51f898250711f898252bc0409402c05018b126095","0x9402c05018c71f8982541010c711f89825414af89402c05018c51f89825006","0xa6254141c47e260a625414b009402c05018b6260952501032c9825410afc10","0x95252c22500b014063387e26094018611f898042c10409402c05018ab1f898","0x102500b014061b0a62549401806018062989505ec302c05018d22540b02c14","0x636c7e260941f89802ec6014063689502c172540bb14062ac0536005b1014","0x638c7e26095040401c4431f89825417b2005018df1f8982507e2600bb1c05","0x63140534405b289402c05018b6260952501005c9825410b24140409402c05","0x3c0143c0f00bb34050183c0143c0f00bb300b014060f0a602c060f0a6252cb","0x7e2600bb4005018c62540b05c9502ecf01406330172549405c9502ece01406","0x1726095042d22500b014062947e26094098711f898042d1014063107e26094","0x9502c0b02c95252d4014062c09502c062540bb4c9402c05018b62609525010","0x9402ed8018a5014fc016d70181701417016d6018c40149a016d502c05018af","0xb6805018a5014063f00bb6405018af01406"]},"fee_data_availability_mode":"L1","nonce":"0x0","nonce_data_availability_mode":"L1","paymaster_data":[],"type":"DECLARE","resource_bounds":{"l1_gas":{"max_amount":"0x40618","max_price_per_unit":"0x22ecb25c00"},"l2_gas":{"max_amount":"0x0","max_price_per_unit":"0x0"}},"sender_address":"0x6162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03","signature":["0x3a1786eb8b3486f1993ce9e03f6b2c1287c442b74fc284d6f9d8b2831bf052d","0x6dd92fa2b00f27d109a3a241b99c3b03594c7dde9c15e15b8cf304a06a92dd6"],"tip":"0x0","version":"0x3"} \ No newline at end of file diff --git a/tests/common/constants.rs b/tests/common/constants.rs new file mode 100644 index 00000000..ee2bc2b0 --- /dev/null +++ b/tests/common/constants.rs @@ -0,0 +1,5 @@ +#[allow(dead_code)] +pub const COMPILED_ACCOUNT_CONTRACT: &str = + include_str!("../clob/compiled_account_contract.txt"); +#[allow(dead_code)] +pub const DECLARE_ACCOUNT: &str = include_str!("../clob/declare_account.txt"); diff --git a/tests/common/context.rs b/tests/common/context.rs new file mode 100644 index 00000000..e0a3e8a0 --- /dev/null +++ b/tests/common/context.rs @@ -0,0 +1,71 @@ +use std::sync::Arc; + +use beerus::client::State; +use beerus::gen::Felt; +use beerus::{ + gen::client::Client, + rpc::{serve, Server}, +}; +use tokio::sync::RwLock; + +#[allow(dead_code)] // used in macros +pub struct Context { + pub client: Client, + pub server: Server, +} + +#[allow(dead_code)] // used in macros +pub async fn ctx() -> Option { + let url = std::env::var("BEERUS_TEST_STARKNET_URL").ok()?; + + let root = + "0x2a5aa70350b7d047cd3dd2f5ad01f8925409a64fc42e509e8e79c3a2c17425"; + let state = State { + block_number: 652076, + block_hash: Felt::try_new("0x0").unwrap(), + root: Felt::try_new(root).unwrap(), + }; + let state = Arc::new(RwLock::new(state)); + let server = serve(&url, "127.0.0.1:0", state.clone()).await.ok()?; + tracing::info!(port = server.port(), "test server is up"); + + let url = format!("http://localhost:{}/rpc", server.port()); + let client = Client::new(&url); + Some(Context { server, client }) +} + +#[macro_export] +macro_rules! setup { + () => {{ + let run: bool = std::env::var("BEERUS_TEST_RUN") + .ok() + .map(|value| &value == "1") + .unwrap_or_default(); + if !run { + return Ok(()); + } + if let Some(ctx) = common::context::ctx().await { + ctx + } else { + panic!("Invalid test setup"); + } + }}; +} + +#[macro_export] +macro_rules! client { + () => {{ + let run: bool = std::env::var("BEERUS_TEST_RUN") + .ok() + .map(|value| &value == "1") + .unwrap_or_default(); + if !run { + return Ok(()); + } + if let Ok(url) = std::env::var("BEERUS_TEST_STARKNET_URL") { + Client::new(&url) + } else { + panic!("Invalid test setup"); + } + }}; +} diff --git a/tests/common/error.rs b/tests/common/error.rs new file mode 100644 index 00000000..43513641 --- /dev/null +++ b/tests/common/error.rs @@ -0,0 +1,15 @@ +use thiserror::Error; + +#[derive(Debug, Error)] +pub enum Error { + #[error("rpc call failed: {0:?}")] + Rpc(#[from] iamgroot::jsonrpc::Error), + #[error("missing env variable: {0:?}")] + Var(#[from] std::env::VarError), + #[error("execution failed: {0:?}")] + Exe(#[from] beerus::exe::err::Error), + #[error("serde failed: {0:?}")] + Json(#[from] serde_json::Error), + #[error("starknet api error: {0:?}")] + Api(#[from] starknet_api::StarknetApiError), +} diff --git a/tests/common/katana.rs b/tests/common/katana.rs new file mode 100644 index 00000000..968ecf34 --- /dev/null +++ b/tests/common/katana.rs @@ -0,0 +1,103 @@ +use std::str::FromStr; + +use alloy_primitives::U256; +use anyhow::Result; +use katana_core::backend::config::{Environment, StarknetConfig}; +use katana_core::constants::DEFAULT_SEQUENCER_ADDRESS; +#[allow(deprecated)] +use katana_core::sequencer::SequencerConfig; +use katana_node::{start, NodeHandle}; +use katana_primitives::block::GasPrices; +use katana_primitives::chain::ChainId; +use katana_primitives::genesis::{ + allocation::DevAllocationsGenerator, + constant::DEFAULT_PREFUNDED_ACCOUNT_BALANCE, Genesis, +}; +use katana_rpc::config::ServerConfig; +use katana_rpc_api::ApiKind; +use starknet_types_core::felt::Felt; +use url::Url; + +pub struct Katana { + rpc_handle: NodeHandle, +} + +impl Katana { + #[allow(dead_code)] + pub async fn init(url: &str) -> Result { + let sequencer_config = get_sequencer_config(); + let server_config = get_server_config(url)?; + let starknet_config = get_starknet_config(); + let (rpc_handle, _) = + start(server_config, sequencer_config, starknet_config).await?; + Ok(Katana { rpc_handle }) + } + + #[allow(dead_code)] + pub fn stop(&self) -> Result<()> { + self.rpc_handle.handle.stop()?; + Ok(()) + } +} + +#[allow(deprecated)] +#[allow(dead_code)] +fn get_sequencer_config() -> SequencerConfig { + SequencerConfig { block_time: None, no_mining: false } +} + +#[allow(dead_code)] +fn get_server_config(url: &str) -> Result { + let url = Url::parse(url)?; + Ok(ServerConfig { + apis: vec![ + ApiKind::Starknet, + ApiKind::Katana, + ApiKind::Torii, + ApiKind::Saya, + ], + port: url.port().unwrap(), + host: url.host().unwrap().to_string(), + max_connections: 100, + allowed_origins: None, + metrics: None, + }) +} + +#[allow(dead_code)] +fn get_starknet_config() -> StarknetConfig { + let gas_prices = GasPrices { eth: 100000000000, strk: 100000000000 }; + let accounts = DevAllocationsGenerator::new(10) + .with_seed(parse_seed("0")) + .with_balance(U256::from(DEFAULT_PREFUNDED_ACCOUNT_BALANCE)) + .generate(); + let mut genesis = Genesis { + gas_prices, + sequencer_address: *DEFAULT_SEQUENCER_ADDRESS, + ..Default::default() + }; + genesis + .extend_allocations(accounts.into_iter().map(|(k, v)| (k, v.into()))); + + StarknetConfig { + disable_fee: true, + disable_validate: false, + fork_rpc_url: None, + fork_block_number: None, + env: Environment { + chain_id: ChainId::Id(Felt::from_str("0x4b4154414e41").unwrap()), + invoke_max_steps: 1000000, + validate_max_steps: 1000000, + }, + db_dir: None, + genesis, + } +} + +#[allow(dead_code)] +fn parse_seed(seed: &str) -> [u8; 32] { + let seed = seed.as_bytes(); + let mut actual_seed = [0u8; 32]; + seed.iter().enumerate().for_each(|(i, b)| actual_seed[i] = *b); + actual_seed +} diff --git a/tests/common/mod.rs b/tests/common/mod.rs index 6be71a4b..6bebba0d 100644 --- a/tests/common/mod.rs +++ b/tests/common/mod.rs @@ -1,86 +1,4 @@ -use std::sync::Arc; - -use beerus::client::State; -use beerus::gen::Felt; -use beerus::{ - gen::client::Client, - rpc::{serve, Server}, -}; -use thiserror::Error; -use tokio::sync::RwLock; - -#[allow(dead_code)] // used in macros -pub struct Context { - pub client: Client, - pub server: Server, -} - -#[allow(dead_code)] // used in macros -pub async fn ctx() -> Option { - let url = std::env::var("BEERUS_TEST_STARKNET_URL").ok()?; - - let root = - "0x2a5aa70350b7d047cd3dd2f5ad01f8925409a64fc42e509e8e79c3a2c17425"; - let state = State { - block_number: 652076, - block_hash: Felt::try_new("0x0").unwrap(), - root: Felt::try_new(root).unwrap(), - }; - let state = Arc::new(RwLock::new(state)); - let server = serve(&url, "127.0.0.1:0", state.clone()).await.ok()?; - tracing::info!(port = server.port(), "test server is up"); - - let url = format!("http://localhost:{}/rpc", server.port()); - let client = Client::new(&url); - Some(Context { server, client }) -} - -#[macro_export] -macro_rules! setup { - () => {{ - let run: bool = std::env::var("BEERUS_TEST_RUN") - .ok() - .map(|value| &value == "1") - .unwrap_or_default(); - if !run { - return Ok(()); - } - if let Some(ctx) = common::ctx().await { - ctx - } else { - panic!("Invalid test setup"); - } - }}; -} - -#[macro_export] -macro_rules! client { - () => {{ - let run: bool = std::env::var("BEERUS_TEST_RUN") - .ok() - .map(|value| &value == "1") - .unwrap_or_default(); - if !run { - return Ok(()); - } - if let Ok(url) = std::env::var("BEERUS_TEST_STARKNET_URL") { - Client::new(&url) - } else { - panic!("Invalid test setup"); - } - }}; -} - -#[derive(Debug, Error)] -pub enum Error { - #[error("rpc call failed: {0:?}")] - Rpc(#[from] iamgroot::jsonrpc::Error), - #[error("missing env variable: {0:?}")] - Var(#[from] std::env::VarError), - #[error("execution failed: {0:?}")] - Exe(#[from] beerus::exe::err::Error), - #[error("serde failed: {0:?}")] - Json(#[from] serde_json::Error), - #[error("starknet api error: {0:?}")] - Api(#[from] starknet_api::StarknetApiError), -} +pub mod constants; +pub mod context; +pub mod error; +pub mod katana; diff --git a/tests/exe.rs b/tests/exe.rs index cdfa3ee2..c8114806 100644 --- a/tests/exe.rs +++ b/tests/exe.rs @@ -6,7 +6,7 @@ use beerus::{ mod common; -use common::Error; +use common::error::Error; #[test] fn test_call_deprecated_contract_class() -> Result<(), Error> { diff --git a/tests/rpc.rs b/tests/rpc.rs index 7ddda5d2..87b31564 100644 --- a/tests/rpc.rs +++ b/tests/rpc.rs @@ -10,7 +10,7 @@ use beerus::gen::{ mod common; -use common::Error; +use common::error::Error; #[tokio::test] #[allow(non_snake_case)]