From ee70bac274aa1d25cf5c8a5995d590f4290c1e4d Mon Sep 17 00:00:00 2001 From: 0xjei Date: Sun, 7 Jun 2026 18:41:18 +0200 Subject: [PATCH] delete job_dir --- .../crisp_verify_gas.json | 284 +++++-- .../integration_summary.json | 138 +-- .../results_secure_agg_medium/report.md | 151 ++-- .../crisp_verify_gas.json | 107 --- crates/keyshare/src/ext.rs | 1 + .../circuits/aggregation/c3_accumulator.rs | 1 - .../aggregation/nodes_fold_accumulator.rs | 1 - crates/zk-prover/src/prover.rs | 4 + pnpm-lock.yaml | 794 +----------------- 9 files changed, 427 insertions(+), 1054 deletions(-) delete mode 100644 circuits/benchmarks/results_secure_agg_small/crisp_verify_gas.json diff --git a/circuits/benchmarks/results_secure_agg_medium/crisp_verify_gas.json b/circuits/benchmarks/results_secure_agg_medium/crisp_verify_gas.json index 14815cfe35..69e6cca4e6 100644 --- a/circuits/benchmarks/results_secure_agg_medium/crisp_verify_gas.json +++ b/circuits/benchmarks/results_secure_agg_medium/crisp_verify_gas.json @@ -1,8 +1,8 @@ { "verify_gas": { - "dkg": 3154367, + "dkg": 3154404, "user": 2972929, - "dec": 3658402 + "dec": 3658524 }, "source": "folded_proof_export_plus_crisp_verify_test", "artifact_sizes_bytes": { @@ -17,14 +17,14 @@ }, "calldata_gas": { "dkg": { - "proof": 169956, - "public_inputs": 11964, - "total": 181920 + "proof": 170016, + "public_inputs": 11952, + "total": 181968 }, "dec": { - "proof": 169896, - "public_inputs": 20796, - "total": 190692 + "proof": 170028, + "public_inputs": 20784, + "total": 190812 } }, "integration_summary": { @@ -33,74 +33,252 @@ "mode": "secure", "bfv_preset_subdir": "secure-8192", "bfv_preset": "SecureThreshold8192", - "lambda": 55, + "lambda": 50, "proof_aggregation_enabled": true, "multithread_concurrent_jobs": 13, "committee_h": 8, "committee_n": 10, "committee_t": 4, - "nodes_spawned": 20, + "nodes_spawned": 18, "network_model": "in_process_bus", "testmode_harness": true }, "proof_aggregation_enabled": true, "dkg_fold_attestation_verifier": "0x7969c5eD335650692Bc04293B07F5BF2e7A673C0", - "multithread": { "rayon_threads": 13, "max_simultaneous_rayon_tasks": 13, "cores_available": 14 }, + "multithread": { + "rayon_threads": 13, + "max_simultaneous_rayon_tasks": 13, + "cores_available": 14 + }, "operation_timings": [ - { "name": "CalculateDecryptionKey", "avg_seconds": 0.04554002, "runs": 10, "total_seconds": 0.455400208 }, - { "name": "CalculateDecryptionShare", "avg_seconds": 0.157540825, "runs": 10, "total_seconds": 1.57540825 }, - { "name": "CalculateThresholdDecryption", "avg_seconds": 0.251360542, "runs": 1, "total_seconds": 0.251360542 }, - { "name": "GenEsiSss", "avg_seconds": 0.3645423, "runs": 10, "total_seconds": 3.645423002 }, - { "name": "GenPkShareAndSkSss", "avg_seconds": 0.259903608, "runs": 10, "total_seconds": 2.599036084 }, - { "name": "NodeDkgFold/c2ab_fold", "avg_seconds": 25.924684949, "runs": 10, "total_seconds": 259.246849499 }, - { "name": "NodeDkgFold/c3a_fold", "avg_seconds": 674.193626424, "runs": 10, "total_seconds": 6741.936264249 }, - { "name": "NodeDkgFold/c3ab_fold", "avg_seconds": 20.807950779, "runs": 10, "total_seconds": 208.079507792 }, - { "name": "NodeDkgFold/c3b_fold", "avg_seconds": 639.783175158, "runs": 10, "total_seconds": 6397.831751581 }, - { "name": "NodeDkgFold/c4ab_fold", "avg_seconds": 20.688361946, "runs": 10, "total_seconds": 206.88361946 }, - { "name": "NodeDkgFold/node_fold", "avg_seconds": 39.738284462, "runs": 10, "total_seconds": 397.382844625 }, - { "name": "ZkDecryptedSharesAggregation", "avg_seconds": 4.727387042, "runs": 1, "total_seconds": 4.727387042 }, - { "name": "ZkDecryptionAggregation", "avg_seconds": 87.502791875, "runs": 1, "total_seconds": 87.502791875 }, - { "name": "ZkDkgAggregation", "avg_seconds": 41.303470917, "runs": 1, "total_seconds": 41.303470917 }, - { "name": "ZkDkgShareDecryption", "avg_seconds": 90.864054989, "runs": 20, "total_seconds": 1817.281099792 }, - { "name": "ZkNodeDkgFold", "avg_seconds": 1421.140064237, "runs": 10, "total_seconds": 14211.400642375 }, - { "name": "ZkPkAggregation", "avg_seconds": 114.308983542, "runs": 1, "total_seconds": 114.308983542 }, - { "name": "ZkPkBfv", "avg_seconds": 10.211725195, "runs": 10, "total_seconds": 102.117251959 }, - { "name": "ZkPkGeneration", "avg_seconds": 121.556657529, "runs": 10, "total_seconds": 1215.566575292 }, - { "name": "ZkShareComputation", "avg_seconds": 96.207621004, "runs": 20, "total_seconds": 1924.152420085 }, - { "name": "ZkShareEncryption", "avg_seconds": 106.260245651, "runs": 540, "total_seconds": 57380.532651753 }, - { "name": "ZkThresholdShareDecryption", "avg_seconds": 192.969209712, "runs": 10, "total_seconds": 1929.692097125 }, - { "name": "ZkVerifyShareDecryptionProofs", "avg_seconds": 0.512933662, "runs": 10, "total_seconds": 5.129336625 }, - { "name": "ZkVerifyShareProofs", "avg_seconds": 2.056143055, "runs": 12, "total_seconds": 24.673716669 } + { + "name": "CalculateDecryptionKey", + "avg_seconds": 0.058301895, + "runs": 10, + "total_seconds": 0.583018959 + }, + { + "name": "CalculateDecryptionShare", + "avg_seconds": 0.172438308, + "runs": 10, + "total_seconds": 1.724383081 + }, + { + "name": "CalculateThresholdDecryption", + "avg_seconds": 0.263500458, + "runs": 1, + "total_seconds": 0.263500458 + }, + { + "name": "GenEsiSss", + "avg_seconds": 0.388770162, + "runs": 10, + "total_seconds": 3.887701624 + }, + { + "name": "GenPkShareAndSkSss", + "avg_seconds": 0.36501487, + "runs": 10, + "total_seconds": 3.650148709 + }, + { + "name": "NodeDkgFold/c2ab_fold", + "avg_seconds": 30.915972162, + "runs": 10, + "total_seconds": 309.159721626 + }, + { + "name": "NodeDkgFold/c3a_fold", + "avg_seconds": 752.928700204, + "runs": 10, + "total_seconds": 7529.287002043 + }, + { + "name": "NodeDkgFold/c3ab_fold", + "avg_seconds": 12.577649187, + "runs": 10, + "total_seconds": 125.776491877 + }, + { + "name": "NodeDkgFold/c3b_fold", + "avg_seconds": 719.519838583, + "runs": 10, + "total_seconds": 7195.198385836 + }, + { + "name": "NodeDkgFold/c4ab_fold", + "avg_seconds": 13.481036887, + "runs": 10, + "total_seconds": 134.810368874 + }, + { + "name": "NodeDkgFold/node_fold", + "avg_seconds": 24.454189454, + "runs": 10, + "total_seconds": 244.541894541 + }, + { + "name": "ZkDecryptedSharesAggregation", + "avg_seconds": 4.600508416, + "runs": 1, + "total_seconds": 4.600508416 + }, + { + "name": "ZkDecryptionAggregation", + "avg_seconds": 84.466702917, + "runs": 1, + "total_seconds": 84.466702917 + }, + { + "name": "ZkDkgAggregation", + "avg_seconds": 5.544726125, + "runs": 1, + "total_seconds": 5.544726125 + }, + { + "name": "ZkDkgShareDecryption", + "avg_seconds": 94.956498491, + "runs": 20, + "total_seconds": 1899.129969833 + }, + { + "name": "ZkNodeDkgFold", + "avg_seconds": 1129.401400491, + "runs": 10, + "total_seconds": 11294.014004916 + }, + { + "name": "ZkNodesFoldStep", + "avg_seconds": 6.054248291, + "runs": 8, + "total_seconds": 48.433986332 + }, + { + "name": "ZkPkAggregation", + "avg_seconds": 41.258271291, + "runs": 1, + "total_seconds": 41.258271291 + }, + { + "name": "ZkPkBfv", + "avg_seconds": 10.518164921, + "runs": 10, + "total_seconds": 105.18164921 + }, + { + "name": "ZkPkGeneration", + "avg_seconds": 79.903340745, + "runs": 10, + "total_seconds": 799.033407458 + }, + { + "name": "ZkShareComputation", + "avg_seconds": 102.507255127, + "runs": 20, + "total_seconds": 2050.145102543 + }, + { + "name": "ZkShareEncryption", + "avg_seconds": 108.423594124, + "runs": 540, + "total_seconds": 58548.740827494 + }, + { + "name": "ZkThresholdShareDecryption", + "avg_seconds": 205.96805897, + "runs": 10, + "total_seconds": 2059.680589709 + }, + { + "name": "ZkVerifyShareDecryptionProofs", + "avg_seconds": 0.782404795, + "runs": 10, + "total_seconds": 7.824047956 + }, + { + "name": "ZkVerifyShareProofs", + "avg_seconds": 2.349067586, + "runs": 12, + "total_seconds": 28.188811041 + } ], - "operation_timings_total_seconds": 93078.275890343, + "operation_timings_total_seconds": 92525.125222869, "operation_timings_metric": "tracked_job_wall", "phase_timings": [ - { "label": "Starting trbfv actor test", "seconds": 0e-9, "metric": "wall_clock" }, - { "label": "Setup completed", "seconds": 2.777169375, "metric": "wall_clock" }, - { "label": "Committee Setup Completed", "seconds": 20.092310666, "metric": "wall_clock" }, - { "label": "Committee Finalization Complete", "seconds": 0.00247125, "metric": "wall_clock" }, - { "label": "Aggregator P2: PkAggregation pending -> PublicKeyAggregated (wall)", "seconds": 1380.957852, "metric": "wall_clock" }, - { "label": "ThresholdShares -> PublicKeyAggregated", "seconds": 6558.880629416, "metric": "wall_clock" }, - { "label": "E3Request -> PublicKeyAggregated", "seconds": 6559.389356, "metric": "wall_clock" }, - { "label": "Application CT Gen", "seconds": 0.278431958, "metric": "wall_clock" }, - { "label": "Running FHE Application", "seconds": 0.001313667, "metric": "wall_clock" }, - { "label": "Aggregator P4: Aggregation pending -> PlaintextAggregated (wall)", "seconds": 92.605974, "metric": "wall_clock" }, - { "label": "Ciphertext published -> PlaintextAggregated", "seconds": 382.944918833, "metric": "wall_clock" }, - { "label": "Entire Test", "seconds": 6965.488017375, "metric": "wall_clock" } + { + "label": "Starting trbfv actor test", + "seconds": 0e-9, + "metric": "wall_clock" + }, + { + "label": "Setup completed", + "seconds": 2.79639475, + "metric": "wall_clock" + }, + { + "label": "Committee Setup Completed", + "seconds": 18.13277625, + "metric": "wall_clock" + }, + { + "label": "Committee Finalization Complete", + "seconds": 0.001702125, + "metric": "wall_clock" + }, + { + "label": "Aggregator P2: PkAggregation pending -> PublicKeyAggregated (wall)", + "seconds": 564.459505, + "metric": "wall_clock" + }, + { + "label": "ThresholdShares -> PublicKeyAggregated", + "seconds": 6689.151751625, + "metric": "wall_clock" + }, + { + "label": "E3Request -> PublicKeyAggregated", + "seconds": 6689.675853083, + "metric": "wall_clock" + }, + { + "label": "Application CT Gen", + "seconds": 0.292187375, + "metric": "wall_clock" + }, + { + "label": "Running FHE Application", + "seconds": 0.001385417, + "metric": "wall_clock" + }, + { + "label": "Aggregator P4: Aggregation pending -> PlaintextAggregated (wall)", + "seconds": 89.398544, + "metric": "wall_clock" + }, + { + "label": "Ciphertext published -> PlaintextAggregated", + "seconds": 366.088202, + "metric": "wall_clock" + }, + { + "label": "Entire Test", + "seconds": 7076.997835625, + "metric": "wall_clock" + } ], "folded_artifacts": { "dkg_aggregator": { - "proof_hex": "0x000000000000000000000000000000000000000000000009b886a2905459f14800000000000000000000000000000000000000000000000ffd2ba6937ca2ff8e00000000000000000000000000000000000000000000000d1295bbc20e56b975000000000000000000000000000000000000000000000000000230fbcb17a868000000000000000000000000000000000000000000000006d3d24b202c7c4b3800000000000000000000000000000000000000000000000fc4f7fe5afe076c4700000000000000000000000000000000000000000000000eac953a4a1448d7300000000000000000000000000000000000000000000000000002a91a7dae7c6e00000000000000000000000000000000000000000000000611132190f1f8e9c9000000000000000000000000000000000000000000000000f560bef8a784749c0000000000000000000000000000000000000000000000060df18c1e6cb8684d00000000000000000000000000000000000000000000000000003f843051c7d000000000000000000000000000000000000000000000000675bbb87256a3ecf900000000000000000000000000000000000000000000000b84214c7aa37211d500000000000000000000000000000000000000000000000ac184e0ee68c231e600000000000000000000000000000000000000000000000000027e8a630ead9b112e7a7efd2d63be8fc9513410fb19a520b2808171ad29acbdc19e9f336b9ceb2f69677f03e1a9bd6c7de10e54d270ad1ef1f89390e6eb2519ff0dd5f1e93548252120160e4b105e0ad8258500af015f806f9e64ddba9b202e1b3f40b8d2e93b1878fc6ca77aaad31a74cc0b2ed74ae31fc584160622ae40a31b95274bfa2ebc1b9505d7c8ca58efa5a23795664e13cd16a4e01daa88b86631c6ddd77176506a03150237c5b76ff66bae0430f1ea1ace69beabb798c86206392871f815d51d37300147291ba7cd164b09635faafe11d8eb81fb13300c4d61228910b8035ae0d123005396eb032e530c4d6a400c51c7f47df46529f66f464e2b7e817fcc1a2513241d33f440e68c9441c45a414e207fd0820ea7788a34722ee0cdc81518ccd9850ee93c4374ceace7319037d9c5811c3c0dc2c96d2eb2b316c0317cdc22b816ce2dce6b0e0c18a33719439bd50a3e6a741f5b1990de69b41bf066b18c31c2e4b107deac9a07b15e0ca90f064798c45831ed082476c71d7564292c99ce126e3bc411c940d86e113481056d909942f1aadfddb3479a9ab7c215bdc2c0d50ba835a50cb93bea1c6360a5927e4c0c1319f714ab8cd8bd00c29473f593ef2d8e95f77328bf328560cafb44e6c65b3a2326fd5423bc68d70fe573f2c07ebd42d1163ab2098e768959d4541bc65cdfe3ebf84d1bc3c26de97876456b15086e08fcf478162de5e1c9264de1a43afc961be3772d7252983851b4bbd941d278160522cba6f300b4759ba73be4a96b05ff7e0042729a86ad344501a81d2357ae56d7639b9abc2bcbf639007a37362a46ab81284e591f89550ae76e1c5fe9d26b13876ce2449c08f0e2f87a08e11b3aad60d39d08e7389e09de2b9913e8259a003c9dbb23954326985c9a9e881a06fc60af677c9d90c95c21165591075bf380c583c90583c3c216e1022eb83d59f623a76c3bec2bc94a600f0eb7ee04296ca4be44258644dc460e4a1e49a0d4d62bf7a3fa32013c8084b0137604c1475a1a0d6069ff667c098f2988dd98fcea3c854095c0376b78dff4eb2549929b609062dd3517560a1dc5c70a646f034384251af40502a878e3a73525709d488ca8dede5293b3e9164af127232bba8686b744b4ad3d713d531a3892e05e125866c9b65d03021e276c3ad657058050e17d065bc424e453c909292104415c6a00b6c50bdda7f587b96609355b1d2186906b8001ea81a7126c59eb3a45464603022b7f909f3dfa4d590d4a345922a6fedc85ea9d65436ede7971ab00314b2d1ca5367832f168e1b87f8fdbeeac2af5f3a1bdca9b12da36a76df2c37cb80ef48d58c2825bf77758467c9c01e3a105cf418e06f836b2b95af888c475e134f5b336b6df43abcdae188badd01d5b162a0cabe18dcabce73b6a7a989ed4c3d4c3585c71982ec3556ac53bfcd4f1259f2c8d91e577da7c1f064b62c69969f7cf57fbc11648d70f6598ebc4f0dc6954eb13ae6f42f4f35c829758b2907fbbda9967fc0cf58f99a9424c24fa4f077eb9c7058bcd946eb3cc330d6adb4db09c8c8c248c141b20cdb2a913bc0fce9cdcd81f236a000f2783d8dd163e533a021d78c2909b03c7ae9b1f734d6995dc0de2d1571997bae22d5281824f90fe4a4aa6d7e4b915d164e22b91075bdc7e1af6f04b561425c964d5efd25a5adcae874933d9e3a9de866c26e914909615729a726381c51513495fc31c35453f8526dd98809b3e0b933101845d4c8745e5f6c13bd6b3f708a6091fea5d397ec4136634dd055af911dcde3ab058ae219dc207d8fbd5c4a02e74d6479ab74af23aeed9bbdb37612c810c11dad2ac0cbb30b2be96d3deb0e9202d82bef3dd0dc2033d98ededb7c688982c6ebc542db743d1885eb4f571530d088b56bcfb84e8c2643a0c11ee62c40fddd253930d7f3ee0c12ab64c77bd4e5406062c4779191116cd8f35286b7cdfd1da90536020334a2dcca98ea4f61dfa5a12a94f4141676c5aae2831b6c387e6e65feb4894ee2a78928e54a17674cddec902cfe9cbfe49fe17449f9b2810d1eb5ecff59879b8e831e292b62d7538e8480e2f69dca657d392954f188d52af7ab04673f6f77e28647442c13a75a874548109040c48c95e23b9104b331b3da7800ffac8460048909ad60d9ae37a6b83d52e60166689d59950821ecbc34fcdbf1d4ac24f6b545282e93b7bbb3e64e46daa531e27733a7c845409975d9ec14db0b94739071feadb6a641eb4456f2138e2017a051dbc87d7f6929859abbb2d5afd06ed140e802727a659daa860e87576a4810ad00ccc5d0f5080698b0411bece9679d7909c387c763d6d698d0696134d5cc0839b0711a681210832ae2cda89de9310b49d5bbc4e5a27470c2ee53f9a48fb7c19172a3e3877cc56ae348c9a91b8841ba2b5226442f7f1ef0dd28ddc1a650c75c5a7010dea90d56c5a96b9d3e5f2ed43ff148d797097648ccfae0951ea1f5de751071819b1f8b8aae5d06532e40992aea6a8fc0dfaae0e16b98372c52db3a3e7890d19383d4eede2d0cccfe61dc2aa3e79fc8c4489b28b62f11f4e5a7b4019f0a5e226314d7b4737b8e06182f52041b2be5b339f7faeafeb4637120154406a74e49a07d61355758323a8593c2a3585787d12822e449eba1aae4dcf72aad97296f41e304f7c0c7fd6dc3398728cdff247c1678bad1f7d43550fa476a46f2b3e226afa02b0adc9c932be91018e1b050a35965189ed3404c82f19658573474220d7ee640025f1e39aab66d8e337bddfe08c11d828432988a0c7372f5417da7d4f8a00462bdc9d64377b2da940df23643b0d6af20f2dc3f2944f3a1ed63655b19382686519171114b00942eb1d28a350cfa0147dc789716bbcbfaadfc0b41936873c78b0100072be9a7a865267108e9a1632ce5eb04c2f3a4addeeeba9a7611669288abe2c988f7f4f4e038910a31095b027bbe06ea6551592e0098dfbaa92f99184d9332ddd26467d87e17c28d26e41fbb24fe042dbfcebb27baf1fb1e76a55bce6054b2dbe859b7e2fa233b48dc7509f11e74484199b94c5996755f095028093a9fff50ee275c0e270f12ba790cc645cb324378173df5a0627a6f965c039d5fbd341ca00fbd72d3b81945d572a79b17c5edd92553340c652591e6e94b6b95c8526a49d1e73068b3cf2377a3739eae1811563c4499ae00632c3bd1a223bea48efae986e12657dba72a0cc30ad1adf86da8115756f674ea420514b75d6736765264a776203fc54788105776a565b9b65693ecce2c247358158530f404d6538e9ec01900b2e983255f4665636c9b94990d536f6eb922cd9ff9abb40d556d47d6a595bd87306752636e9346e4892b217cf05ad0714dba115ba9b19928d05e5f707292c1b5a059f484b636497765a5d71b0ef47f56fe59e801ca71e6561a4e1d2eae6d300351249092662c65f152b2a6c4305c8fd172b073b0a859b1f76b89b69181a8dd9181d49d23f32f7165dc0b1e4abe2038ab4af9e00a58f830855b9741a6046dc3fae066daf614d85030fb18935f58189a5c9c2bc9fd317f1b0bd607a4a04b4ce495e175010db0cdea2559646d91af04a778493540378dc8bf6f016bdd2ea1c21cc05081d8a049aa112b1df097944f0df25f4ee66b13f03a8db2688d6838d2052af08144322414dfcd8e78546d88f6288171ccc845264e2108fb569138475ab3525df02778abc44e1d6bedbeb1c4be0b7d7745cb880ee781c88f481ad6e4ea303a45e0ba2d873e3b0c6833837287ce7f18d8fc03147942216a2b9f1da50da313c21213045752d2bfee040f6e01e157b34b343ef9613fb2c0cecc8b8531ea07d88b9e5146b988439ebcd6e929ab660c67d807e91b1d4d1908dc19f0646ec91ea305b8c17a3d6804f5cd8fb6039f2747e1172f0272d4c2676fed61c6638ce87ed70179c223e2d3e601279b76b0455a49a92de66103ada113037b1e885ccfc55b636e9c0078fe8ae4353ba675c4d1f242ac6ef459fe24441126492d2a917142be969acaa26174437822980449d35637574849d9c01757bbeb21d25458857a944c9a598ba1cb8dfdb0c66242ea42194c977e2327a8acff90783c8cd9986c581a35339a5c1226de4b5ce0f3f2ad3328f47c55ff2d97d972b2e8a8b40ea944dfd47f8df62c222269e0ba25c2a092fe2ec4088f507c996127ca4b3a66121605be6e3d83f41b30f9379ad8924ce9f35035aecd27562b99fb6f59fd65ed2e4f0bdf19a4472b9eb12eb0ea26002bd67f2e58398be7269cdf27e4d0cc42218e7d64279e82ebf46870607194c5c175b0abe83b9bbb4f3c02173f5cef55c6828e24f6cab4583655b2a0fdb99f02bba94587f63ebb314a145467923890031327708b826a584c0c62ebf1a189129b8d511fc45fcbf66495ca30bd00b27ce0372e1c191a42269bb960e4b201719f837158f55addb69631ef355614a2aaaaa229ae208bea6510b22a97cd921871b91835a1a958b2d74b8c8690ecdcbd52fbe5ab6ef5fb780ca9b63f2719119bc3e3fb2897104d79a6dbc15851d20f92646cfcabb7065afd11b0f7f6eccf3008b61a93bb0bc7e53b1e6d0c8aa0043fa1784a339956110353d244cb2c1f3f3028c68c1b9a56c04386998a56f75c41213d656a191c72b28059bcf0f53b711c92e722893a5e6f27766603f61415c56efb228205c30725fdca53342435a9d316f02f2b5e9f9d49926ded50cf51cd8b73759ef9a23c6f537c8445fc19eec6d8e6d051c7ef44272a83da0ddf29ae8774034676ee99be1dc82d59c6f605a661137411a7dc7d63155988147d91d0fcbeb0df9ece7b87a86b22ddcac5d8c50a86f21cf272a88564363d7cac7fedb4e1d2136f9b186edf0c78d5fe1bdb99f921d7641982a6da9d64dad004637b8cd154edf941a4aebf06d412e21e1fd6b3d2a8554b1310c052e7d3bfdba729acaf0b1d6ae28aa7fc456216c66f1b148975f5b1c333c962a1b358ab802e0dc3beb471e3adfe67b5e0e73b432cd36127a85d4761bbf6cb4299af12e1bc98a976e52d4f2bf8f2f0766be59f188ebc96679add1e337b86af21db20eea7999383f3ff001906eba09eff267c614db6c70fa8711237a2bea9a060bbb582a93772c1d3b26fc9b7862abe90aa1edf41ed36623fc8b25c03a04884e13d7b1f9add6f3f8ac05bc9122939cd8f775f655a71003eb90041f24d03756621f4cbab7d50d87f3933228449c2d1da93c1446723b40bedc752b42a589f20226234f4d057ae2db989b068b30f357131781cf1dbdb062e6fe050a832826f0305d18cf84f376abe9ab8ddd7b7ad135d0b022db5f5280c386f8b3e4723d760de5d011a3101daf3b4014567e767d9d4e8c13aac47ef9c3e9a06aed63050ba7bcbf5303197854811b51954b1cae44a323fb37ed29c95e964fe20c7ac4c6b11703cb812e567c348e3c0809e559edb1473456a58325b61f05a131f3e7915aabb2c601382ede22a11ba0210a367a8ef82e7717ff088a89d6575bf84ded6fda02700802bc1dc4b3147c7ebd220affb1d76ee4437dd9a0d4b0dcd0e3cb316eb932f70f53c10033a99467e7d2c32d80a46a715a40e004a5d15db7896252237d1a04ea7e200514fad30f26541d3526ed803c04108d74c12df70884fd2faf015f4795632c8e6d2a1016751aceeabb084899f771b037fcf71eb671cf2794c4804773493609ac8e1776d991e15e7b2974936c2927a16a63932048c9327b84877464e042cd2771ef1fec447c3d91f3040e3d6ce4f532a8968869ae8c30f20bc1774cd2a1447834c721bd864593620fde07b9d4fa04487af883a815856102b88d15091b8d6254534a2f5987723f9de3b77f25c11482f4f18e3965b8b749e62f3297189c15fda38a4218d31f01ce607984a4ff017b5472a53865444dd3ee02adb46a51523ad8950d7a00bc843817606761ad5f4cd2f045294d132187b947fec5c92cab0a6d253b2c852aecc16f02dc5debe0c2b055d258f6d06ce506aa698ced0ed9a12df899abf0810c49b926d8ddeec7b65f6ea2a31c89e522764d9beac79b1dd82240ce1dd3a46b2edc656f3859d493b74ddfdc1a646cc5012dff4fd2e0570140fb75d6f80c2fa11456d775741974799ab0d4dfaf75423ef4ed695fcb19f2e7c82de7e505812751297e7debb6b2b8fb3b01a80888ca9c350589a0baee430f47072cb0c50f38bdc3003f41342bac2d33e788d15c3c6722ea06e9488200a15033a6c2d06ea3aaebf905d079f22df55f6271baf11669cf4a6cb137cd51c4c8299330b2841b2ea3a21b07afe2dfaa6d45e86add65eae23fb6ef6cbfe3adc0b478db0390d4139897b6d30516f7e1cd2336d68e99858ccf38c9921a197538f5a2ff48e0339e875ee1771925e80a2735366e532b489ddeb18032da1b9ca11d6c9d7927b29d92b40d2630b62873fe7b8deae18bd96998d3d1ba47cbdf85a0cce22a02aa3341fef6f75720d92eb8f4aa7e1b549464cca65222370783b022ecb560b6c42e891ad1ff9eed45562f718e1708a64c4741ccb20bc554410a58f6d6d1e50b21b741c0f6396734e69117f795bcc04871727ea3e42af5668f29e01d146b0e96cd9109deb32027ec98e526963c72b8712fc249e4de6b99b1d84fdef00c3ca18d912674b9d0589bfb7da91cb5dd05e63546595b5acebd96b834a46d0a038d3e7580e3c550daf9af1ec9b60d402ce456dae46352d08ad7f765a709787c56226f4adf1585f78f4be15c276103fe5ca8f9145eb03010bef5d0d462c89205aed5ec8fce80d2c94f87ed58de4a08248ca722fa3e0a7cfcf8e8d88da80254f5beece2305b5b8206eb1314a06ed51481e34f0d3a963fa4511e0ff7753b1bad115cedc5b0bb817de2fc2ddc1d6b24193a5b0f9402a715a9acb0f12c1a257b3c23a9322bc8926f7741a799f5cad9f603bf99516b14c9e5afc4aca8701291e37838959f8db58c2af51cab8ceafd385a23a7804a2af314ce0e019007928b92b45ae3877c101f1b8d3bd1a23a9cac0f150713cfdae0ef45bbad0b87835dbdd1f54d7b739fa199d035cd9f0cea880110cb19c7c75ab92753f05f94439fd5a0d4233f7b8f48db11ccce215514b0dff87cff272c2e33d9751430a3df6e905366546d023b2dadc6e4c8cc00e62b2fcf0ea0901c94b4491f0f01e6aae604fdd305275c1e09e2564e81b3013d0691c06e0597850129dbf441eb9250e5caf3736a07dd1d5db09a9b8438a5ceeb146f85e1f2e3312ef616f54d1d5fdde8bc55f863200af9900ef926ab436821ad065a90a8bfce5a02cb5bb8b6a8c77682ddc524a7fdda67255a4ebfc553477a5b3aa18f0af8343a271e6cd0625e2678e3a0f131ced5638a88dd1b35098f7925edf4f3519155e1532f8a8913c4a16cdffbdc58799e845b977ab5add5452a91bce36b6cdc4fac774320e2e33fe8019253cc0f8c01ff1c5ea25fb7cc902aa813a4d179d4fc71c374e71efee51f6ba5bb47c73034c80d0d7d710e08d08d649b462cd4ed8da9ad7d9b4a225a8fbb7cc5673315ff63040c2111ba8f9600372a24491154d7392cab952f770ed2a8c2435b5ed91ddc3b4bdb9c4386b0d30ed2144dfd272e977e9053b7eb78029aacebe517f32a6a372250ed522866814f6d5c273dc8e5f03da7aba720efd60f2e2b7bf2427ef3dddbdfd1fe522c6804f88a763b10e7c0fa37bdb6d358723301551c8f88df5ee62bf87a35c8e486c19a8d52fce0d43ce125f052d7a4521dc6055e3dfa14ddca97656518e0850fe1da7151212b0d0836867114a4c38312043a0978addc2e7bf5bc60456cb0ba1cc3212f9649cbabe3eb144a7d56c53fea0f332c858509560e460226107ef55c9ccfc186f0c2959f72d6845c3b010ea4ce02711cbdee1465f6e119f46eac22b433f02c288709788912f032c4c612ec144db29f1507154f4005f237e97c9a1bb96889e6c920f0af644d50590ee7cfb17dbbc5662e0845dece89452a2fef69e74eee54b66482b61dd274cc1c7e88944fd428d6fe0355ee11f70de2b253052bbc12df36ed5fa51d078c9855f71f97caa1e56bb1f0195a225e34b0c794005fec5c4442f26cad08112f8c018841817f23a71e77897b206bb004ab1ad9bea305a6c9a60a629b99b2f4fa854b90627fa3675f6c32da95053b4cbe0a1b379d60fb5e838829518f8ac8e80cd8b8e24277b72fcf9299cc5404af597e79ae871e060999e8ad16f19b628899b6459efd8ec22722808c8f1da028f465d3bddd96cc6cc28a47f6fa942116ed717189d4abdd06732c2a4e9abe401142b8337021d38a3943737c2b4294bb17640b42da76f47f8a2e64f5eb21821f1093bc9f185788e4536c103848cf45e91f627a24f58e4b416681c28d3191c1a00202da719a49e9f541255a4636aebe9b024d412f21691b1f3e7512895b6c8cc6250bad07e30342f7445ec01b82733cd3cb770921853c58babb84f8aa8b662504244be101d56cb84ed9ef1e13c7a48a5e4da2f353d2a808ea2d823cf268d27f330cbb47a29817c0a68a322203d0f9e3ef397851364ff43afa69133d01a9a3d82c2bade81237712a03aeca2b2d48c061b94e936345982eb71c79ad67fb7db40ea91f9da8327a142a6ad61647beef929848d99024f4bce38fe637e64d050d871771223d4294c9bb15356378c0061e097015fbf0a4fabe2d1e02d5b6987417aa31a80c97a5fa1de43d403bb8af4b3575ebd7756ea7fd53680a0b021a53072363c77427b0a94f88e54f7a83c1b022843d5c4c568e25772c18d9e7cd0712eb749c4c342547434ba80026cc9887990d888adbbf3ebaa15480dc4049b622a906393f92650faca577ddba5e60cb7526237563bdc177885f4dd9029433d90aa57075aee05e24b93af4a6b25bbfb3ba9f9984f57d3c7c1fe5658eb85ebb5409f528b937d2f629c973ee62dd51a2f3732b0f76848ecbe126042c419539214189425a4a0279ad16a31a6c2a741002931abdbcd1d7118d8e4fabd5bdbc793c83449ab5bde58733225b74296aa8e7c936ff0c37cf4333f03e79f0dafc27db97de2e4ce4b6de52af0790ef4de212339e28b1fa5b1640ffc87cf10ac3ceb5d5e7894338868c3cfb662d87307989f4b2582216aa5b726206c9e895a8c326f51065ee4fafb38429ca22116e4b90892e1fbb0ea2c3f42a048a4762fc39ecd0e887a114b9617232d389f40bcd33aa91d2224b2dadb6bf141711fd344c1523244ed870e5d652bef83789930c4b8e818feb47af02589d1608c7ecd59ee4880016f149c181d1cf917080e4c3020ad09d1709418f437e1fa90682feb5f65c38957fbba584bbc8df8089a142a702fc4fd96fd79ca7b9ed9ca6d2ccdaeacfcf01b64138233a1b99158c998cecbb2f7f3f274a9fa56f3c611d525596efbc7419e29bfd65b4dac968ff4e4ee9d5932ceb5c4d100eec7b39c52a0b201ee9347ffe853a05444d792985740a8d540c001ce6597de65739125055110f265796ce16aa14b8fd9f0b93d8c091cfd17ab0682f6bb9d0cbe615ab81be82f6b83b68a65cdb59932e36c7abf701f1dbbdefceb01d7d57a22c25e704edcbc03d9f98a98114bd6620378b5984e33b103982727e891038dbefbe2ed5b77672859fb735bf24236ef441f26f4c3aa06437cc964b5fbe0d1663303e10ccaaee322c55479210825d16ca224569a821bf93fcab2b45ea0c2814b09a4efd88dd7be820884408e3a887686278424958f9c3bfba8f990462031b5694c874ae9ccad02c1d85ef7446139eb7e2eebd2c36b9d818bcb7d96de0670d471029662ab8bfddedb661375753aaef44dde5660b2c9b40f8b1bee7929a610cbc68b9897f196081190b9a9f6ba1d570eb5018c205a5f42b0f435194cde1b603036edc79c9430c799422499a24b428d30b0f39161f158017e68499c1b3ec4a12297095ab59ce1ca512a41c8556dc6d5905968f17e022fc8c8639ccda3ccd6e00586fbb86b31249ff5b46deb74124ec4cac76b5c7e193d6008862a1d9fa3930069c66cf25c7f183e55041b0c41d3026030bcfa6ac95f8e1ea7ecc25618c8bd91432db635837fe9ba886d59b921a31b1b0b5a79cfcd4ca7db2ddbc8ba65f855e2be8111b51d15ff6f95d62314420ca22b392a173af52d9e5a2e3c9aa2e1f0bc6204b629a4fb76bd0974da220f286e1280c551ad012bd606366e118ddcaa7efb40b0c7003c26bda66b45dac0075ca9f051dd59f41aba956e933a9f2a32c806b2c27eca1b62cd483e3f927f0cd4269429b4c09b076adba08264ca670a0247ccd632eaa9d38c47e7d2c7873340eef32533091943e04cad4430d5096b3d67e39dc9611c7c74d99b710d57a952fcd2f7ed38a49b84954e70db6ce73bbe784c39c7bbb23379f72ffbf28060aa749b2e465fe7455e74bbebb132e8765422282779990322b3ecf7534e27dcbcbb9d3627dd8f23ff81e5c7700c40db7c1a5bed7987a04520a57540600f9e06727f9de40a235231ee44459b74374fe2dacd41535c0f8e60b2b0872bed4f2d3b8eb28113f0c1f807c5224acc0767ec9a52129e9bf8a5c1ecc13df1028e6d03e90154825e866977284d00554495c4753bb27ffed138a7d3aa4236599a0755e0a8baa849911a175ebc2d4b7385f69084a2e878d63e1c066ee8e17532bdab79e1a043c9a5a922eb01a6e1434c8bda29c54fded917a915dabdcd20b146659c933107d8c1f47113b9011632b2b8f25f97180212045cfab5608c5c22f029b646cff93027ddfb8fcf2de86f1fdec4fc076f0e6056bd34ba66ae9b2bf2503ce605eda65c071d9bd46eb154750ad3754ffd7b9a7dda3918be13c6eea502b18dd01f65538bd5d75707a197c03648b3b043a7b81a86ed4c8ecf75ec9f9332715fdc94002a619d20760b549025252a0940eb3e068341bc6111f6b17119c7e18158b174175dc2d33d9676652c2d1657850a1e19c21dcb8bf071ae22315031a1aa6b4ae4d49e72c9278be059301b8c82445ae21b52b4250c636f95d031426e314b38b5f29effc03c5dbd050bec76e46a27d71a5053f9455f69673829a3db91a1c375ad842be9f772684e6c6c1d00726d4531f2bad658f42fcec8d99207277b829c3e3c7918dde8defc35a47b03b2e978d0f3e4aea1c7523bce57d70431a8b5129a2df632a5573f2a5712e934d05c819922f03229b02cd6d51cf8028ce853e3101a8e14e4c44cf5f34b75d4c607d3fc320c84f84b6c4485a75234c2e11899a6a0f27c13f49d2a2a870a5b3c0805b19e0ec34f17e9cc3dc5c64cc03b92ea46a10123727fe943d22d683e8fc4133380513a58083a2800182e99e86bc557075e83d0fb698e1bb4924a5dd3b59e2c2122cc8b8bf12b0bd2532003fef43ed5f7ffe3814bfef180591cd844af90c84126eecf5a6e89d16fb73874e7facfe134cd3808b13b500c103273ebfd75f78db3797a651a646ace9f838a40acb4f8efb3fc0ed0406bd34389e016a228f503200b5fe09ac9dd94134d35705fbf1d204908f8af11d1fda0d920c09c67f457282731a264ca7514fd1fc99d60dc026bbcdab0382d18a1fccb09aaaa8f74163e9e2c994c2ec2dc3e2766e8b220d76cd06be72585143ab1a40e6ce36d643f63b578b77c127cea9202e06239bd497d54a06a91ed04f08db27500a47e920916a1a26ede082d27f65932b79458cf825c6a0367b8e575b6cad26f9ba311ee61dc27d76db868036582eb09e1aa6ec21bf67bc7e21580df54b6601f01bace64e4a72e55dd791bdb67fe883cc4af1f05b7522c161422fd3c5025930049c74d00088f077a5507af572106f8b38e6d37f2ce359e72e6ed7831dc5661c001994d2977b46b3baa53588a67c9dc984c3bc2ac673ccc474f54b0aa96b371eeb89314eba4c7991fb5ec6a95cd938483ce7843c72472c41e513a73089c22817fec189dddc733b7626aaeaf14bfa19c44f54835ce7ced90c783c45f531c098249fc8002cff2f9498c9e72f4b0406126e493c98379fad16ccf98d65d479d03d2c3bff1df9819c69debd103eeab4fa0034e5d9bc163d2ceacfb5d2ff3c966464140677c9b31a5c8225a345a74791109f24a367bec6010f0d969f8e7442b198e6086ca9f7ad1c69181b0446ea4b7f0b81195e2fe281b6ceaec2e7a0b995187b161c8775eede95230d8a95c4c36800c9d11da03ec3a3f0b31c38b1bb57e29471260da0ceba74cdb2ba968a7002abf451a57d847fc05ae62cc0a1361a10fcfb83fa09d02937f3747874800d016fb9722f6576b2bf7cf3c09417d52e157db96fb6a50b5fcbb410cc8b50e10f898ad585ad5c77781ea730d0c3a9be14e71966417cfa266c5182862cd2049bd789d584a1d4f673db093c2f7daf0594f35a6fa308dad92251ca02abebde026acb80ad0ecab6961fcbb889612340dc4514326bf59327aa1f8862b70cffefbf9fa7eac05036a41ab46dca33687fabb32c137a091502e2272319a66a5c9d5a477312bc1ccb43b78f0705f8b591941782b4d6b4126183a06318b10fbc58a34865ae1274a2466cfbfe328681609b116d930cbaf9e121461969238f53343e345448e40c4c208e563258d0c8a2d1d44a637fb7421cb3236cbfa10de7fd09928738eefc374349c5b7271118451992c059233cb6af551382d42203216513293a75d8b1e98b455c8348e1612909f9183c9ff0bb017b3b053a97598106705fe2e998fab21b879ee4f9724f4014d0c74277423efde5890b24d4819a06020624a634cc2d98c02837d4eee262d8a2566d59d6bd1942f2577bd7dff4bc3103f7dd115f30ffa0990829eb498558297da4c4e1d45f650c11945fe600179ebb1c4b173c3259448201b9839615eabca35a4870510654f99f3a88a9a47292fecc0b02875df227ce97f7537d006d88eeeb2e9669c70a65813ce69c23c4715c7ddb15daa51867030858b3b06077fce84b8ce8b91371e0f250474c6eca9aefbfa0d22b2ad9b06d0f32659895e79ad77e5f95c35d2a30ccc239ceb95e84537cf8c40b28373969cd1bd594e75c3751a60cec3a889585498ad32d9d514e3b571ca48a761627f21865eed0d474a7ba71f33946b124e751c45ffe2a10965b85fc3aebf6cc2c66f4644cd33a0062ac0ae90273095f6acf0c24ea308743f6a549f688866d1a16dbe12442d4dd8a03fc8add31a34c2754b0f3be3e42498baec274e5cae0820f0ab975019d036552e95378bbfe2bb8f245cdde2c9425a8d4ea91683ce6e1be951c493f4230a13337984e50afe383e9b28da254c41cc9acd5526f16afd6710ad1205dc8354e0a45fec322449735a93d017f0fa0a777fe7b58f038a0a00aa0d1af0938ae9a006cbac7cc5b1246c4215a9e4770e34288fde7e0e86c58192b594a340ff31cfaac5e9d4a3ab17d1c25405a29bc2da8ef77beeef145799961168a20b20b963602be09d581af033ec28a27721dea0b33fb51842de13a8d694171732cb722473cd63054d55f01e137dd206e8e18e177e4f79d5aee0fea4a502c04445604266555ef064f30670efae8b8a47f5fa757651e7c664e40a7a1abcb3ad5f678132e4c0dea99544e65fc9c71247a9204ea0f85ae555b16f71bf188096481d52c83215d855d445264aab6b56a32bbfa717a933de4996e17c29570aa67a5f480bc0a15c133becbee14105bdd2ea607f7063bcf01c08b174e93910d31a422f7cc1580170095e625f086f6462fd7c7fd1c7a36d24724f78758e9e84b6cbf88869493b208ba080c0fee8a1012181eb657811e1cff0b0691633934eb7f059780fe3d5a8c0291e3cba0cef7d8650dcebcc7cbea870f981417cddd485039233d116a6f8de201f6c0da75fd6b2246d02134fc04187e1b32c348b6591adb7b10e1229e920e973012e27010fbab14328cd6831a0300fc0da1ec73b5be0395628c30284addcc650b7cf09296f1603bc6ffadcbea7b75bdb852aa032fb4763b22e3362c6101bdea0c560c62523e3b337d911ab3232264dda307fd1ee701b68b4f837c37d1cabbc7201d956e93541fc81af6e7f6ace9af0bf18a2ff21ef4b20e4955e9c2f96c390715493f987262aa5094583aed2b52942f072dcd415847df42576d04db5240d66e1708c88954bf5d883eead2ac5fbcbc638909e675eb070205336a1d997b452e7f2177bd809e596c456beb68272db82a3b337e877101cfad5ec8cad5c954ad3ca804a82f9722f8ff82cf9e65e2b3eac3c2a95442b3e5177eb932eb057112ebdbbe23e5ed4c1b061d62aba8893c728c3f92ee30fe669b3d45c57cea96095c7f921f204cb10fc7d883cbaf92f4f5b6697931e1be30a980f34220f7d1c23b1fd5f8e1211a4a18c71fa00fc791010a14be1258769476450c7ecefc8bab08a5d67e122c15624f776f4018f741e87bd0a9b60c1bd87d06ed244261034d227830083f846b2d5040faf53491d7d58f59713366b3f02143a13e54171c91adb07bf0fafcb9bf0846aacb9b41e211d3e670b3e97a6ae2a2e0c5ddcb35f43416dc5b5c1a5e37a614e327fd2656fc1a55b03c1e32d17e186f14a50d6dfbcb00dba87226abd94e5c0c5b3950e9dd5963cd619303fe7a1cd0bae66d9f0539469ea965c585c475fd1f149289f7fa789f52801c3f8ded140a8a8353c8d4c03368b40bb1d52e9ef82a781a8b790791720952db213ff01d50c98c5cf8b3d580ff96c2572740600801a7d9045f9f8997fa181f43416bfeac1a5c0b54fd743d6e5f3c885422c558d32390c1153c208c2069a6c02c9bc8377ad9bd0e76fa11350bc8a9ffe78e162e417cea3b", - "public_inputs_hex": "0x1ff26541d4fc7e469a1ceb11c7113dac3c1557cc7cf7cc85ffef4506e593f0d6030abc3c73d3a200393d7770a1e7ffb1c9c97d1bd968fc32f517404d0be42f37000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000096caaab1519f9c493a2762bc243ecbc70000000000000000000000000000000049a5d43ee3b8c5043814aa5a7316c24217e6f155415ab217299df3a26f8bb591c7cecea4732cdd27f7c4c064d62b108c1cf0219567a1c9da0b0695f725c5ce8b4b4c1c815a78c3449b51d6ffea86e7b51e9a7ba13fdc7e35072dad9840c0ff740b975aced55b4393ebebde545e8fa2a119f17a86de67ccd256d53ca2b3513476f99aea46bfbd9d43cf7a45be260cc6572ef8774bf85e03194313357127b7068d7e930f94489bd04004ee319b440198ad0afd7f30ad29c11b45a254debc952919c82d5a3aa5c2809f13e620d328e5a5d10a8caf772bd54b8586ff0f957d4c9d1b7233860ecb614605829b8476e7f89aec09f41791570e9e426fc85504495c69bf99595f22a21b1064ae0922a9107aac3421670a161aac8871c495d374b6d2bed708ab05b9f00c6e5367e676e1bf622cac1d59a122a6c2fb5895facece10f2f8af9f7bf5fd214c25f8b960316608a024a30b8c0abb4be900f36a499c5d2427ba6c785fd101253ce5820d4c15c2fe44267323cb9b01f24368d7aa025bff7e953fe92a0f036ccccde21de6e4ee25a21053950dc12b53ceec02487e4f22e42d9a0f43044e6ca6bc8340983292388cca8311f00e3f15f3cbf662cdddbbefb12cbf48ea5f1e46340678e246be15ad69fcf5ad461f386c2dae99344cfded672129c6a199d2bf5617e836950fa1a6abca55806a1515596ac56c7f9f30681e202d9b7abe1072c8912d2298bfd2101cdad4e9f5b424058fc2698d30e9f642533ce8a9fb8c525a579ffb02514ffdb7569c9d06f39f590d1db50e644b928ffe9a997727a675267c0d9d25a199e2f0233cb1d8dce94232" + "proof_hex": "0x000000000000000000000000000000000000000000000004653df3b221859c4100000000000000000000000000000000000000000000000c0fcd7044d2c5cf04000000000000000000000000000000000000000000000001856c5332f0c062b0000000000000000000000000000000000000000000000000000069c026523e3600000000000000000000000000000000000000000000000d0bde709e5cb9545e000000000000000000000000000000000000000000000009f57a61be4c550709000000000000000000000000000000000000000000000007a08ee393c236f8b500000000000000000000000000000000000000000000000000006f2f1ab01d1200000000000000000000000000000000000000000000000c0763f8bac7e9f2c90000000000000000000000000000000000000000000000068e7f11faf1ace46500000000000000000000000000000000000000000000000ad3fe2da66b11224f00000000000000000000000000000000000000000000000000017697d4da441c0000000000000000000000000000000000000000000000084d42487cfc74aead00000000000000000000000000000000000000000000000cd4d8bdcd545d8bdd00000000000000000000000000000000000000000000000a108c806a1ac9e1800000000000000000000000000000000000000000000000000000aad279a7a812302bc07d8118827eb70c30de207f617f390aafc68d91de5de15485e1314a350e0b12681f0dfefb40c968703d65c160eb29fedd388871e34f4a1a326c0191638b1d479246ecf67012371052c1fbc513112194ec52cffae11607a2ffd9455770e71bad07b916d899b5d917c2d6944c230eaa8bcfecdce9021eb11ed5c5616d5db2007f6a0f1f7996a3976183faa9dfa59e4a6d6190512fe3f52e0a3bb7484f42ff20b86e966759497d917d5712a25c5827a9f2eb8fd28724ea12c76e0fc1ad4ff80c4b0d4882a563f9078ad8503119377052387bccfb2fe14f476f3ef195a98de112679e26dc61dba4c1fafeb71bb7252cd7e57d46a0993367f7fbe36f550e8af510061599c0718a83498c44629748caec4aa274fc583d50d93ca537c6ee74aae528b8413cd201121d5bfdd242064bc24461a866db5feb5bff0035619ac0256f1024495194f3c57754cbf77d6344b4d541a9bbaf60393796d93fac0690c970ebaf1d81213c28f73075d118c50a61b242cc178801e053764f1a5714af23eaa2a0731f75846c179a6ba11751a3681021c150668ae9801d541dd3bcb067aa558319ad063d370ac6ac75564ccc1d3332b07084d0b20830f728c73cbfe86999401032212f09e37be2706b882b1da15e37fb94eae1303c68583b9dc00c7e12a86326edea1cd5a96d35679fe5c271bd3e95566c19b0032217cd457e34672748de09e0e13d13fc4676a617fc22eccea5bbd1ea6bec3cadffef8dd22d0037a16a74eb183f990ad58f90c978f6df2fba38d79cb47933db7e8d622acb00d3edcd1d5cd34ff0ef06dd3de6234e5825abf15d9d244b7d0d807d9b3503d56afbe1778d716eb57ffd2e54d35328ee1f4dff58ec85800371672a731ed6200d79ef9da7e84d4a37c40c06163da80be4c9da582364d6bb9afe014900964e2317d20ebd185c3d659a3a742784481680d6076f6a28f1ac3e648d4730b94684a58ea922d2acf763484c348c1c90da005856790eef3f094293eeedacca33b58d412c1f5bb587267f4cf9bb862f354f6c5ab80a544e78b4e8a5bb2ca168e463e72adacb0ef4b71f3910514d651f22857a55219be3ffb2755703c2d6b883f2117e405de646a73016388b358bec0d080f8333fb8d56f21121d2828bb5be98fe9132a412b18c55af9fac0603e2620d2d17f244939d66666c57daf2249e7a68fd5688e264d93c28b37c82a52a5a1b037295d3d5b9a05bd30165fc6e2f0345300490208d038a1107869c69e07d37e10bc58e7a76c6f4f0eb5e2aaccb4fedfcd63ed33c9ac42176e509aeabc02a2ba20c6ac7fd83a32b45f43409b26f3a978007201fe0004ace87031f08586d653f4e00677fec664bfdf75755aaefbcf8d85580dec3e8cca1d65d6459eefaae01bf61190042ae4906e43bcf0211c490225f6ba7b794c04b303e24338291f2cf722ac720c9cbe4cbf1a75779d826d58879ab223d3e5bb11684732f89a17131dd55fd001c10d8c6f6f3814b075b711599cf94d147c0042d3f0f3ffe3c703a636a04ecee2b3ae048cda98530454e84c6e68132d942fce29e922ef9de872b97f50d0d07641984e1490c0cd71f572079e4a4baf70a47ef5abca54dd14ec0f5a935868fceb71f59d15d729d49dafccd6e48ab54282af76dd1302c5fea72808c24626fae613005f155a79c6273ec7857183029245ac7225ec151924cd61deab77e650ce32ad701abd40ff86adf882602df7cb9cfc309cc6cb7ea1c2d1ddc7073a33278d4fe0a2c5bbf9d5e85959dc2064323c423339e01e279b75083e37d27f813f539991b3325f8f22edd940f4ffaf65c1c78e9ae0a01babb236aec5ebba9cb168ba6ffe66b0693d40e9e6cfc1b4533f4910a0b7933fe3b4d3af2053c57df223e6492945d4a10c320c9bbce6e2b356ce40656eeec3032250ea39395ea2cb1809048000570a802b23947dc39eb6d325279870567933b77491bc1bb591977ba4ad20865279d612fbcec2587e75cd6705d2dd58adc80a571a60b63480aac8c8a45490bad8fbb932a1731c64270c1fb3a0850ab40be1b9831973475ef978b102461074b2d76899b1284af3c35b49828d9aa7cc0e1cfb8177b5849212739e59e0f6d59c2c8d92dee1795ea91b603bf0f23a29d788b1b9f30aff28cd78fb29d0160911aed46fad479093b948f7a97182dfebe1675c332091452547e6497a831aea739ba76929fb9441b708f37de795992adf52f8c70f7b5d50d5403bf4db1c40390a4de87727d348102a651b1901c93241c29303aa24aba89168bcfdb55a96766d2f2e7e542a679e72c865e544c2edaed29261d7db31d7ca25b766c8452b0eecfd1f118270d5bd2a0231ba1b8cddbd5aff496bbcf04cce11194496a67ff1bc3c9156a3dca249f1d28167aaed368f7a2588723407adbcf6652ea7bea7b2aa4053854a680e7dec20a7d2a08c83d4db19c2a5ccd2e36341efa1c67e44bbbcc3919b3c1c9b654e9ad400410ad1cc677c5bd079b08ebd318ca6e81c83547686d178d5792738ea20791e58f1c6b4e51fa4532d57346c72dcf01715cd9ce80a161c732ecbf831431fd1296e1233116f015884020e4cf23178648b8b4deefca9d14850ad47c2ae82e43eb5aff2983c67e451804d9498622dfc7646837de4caa170cecf5086d455239e30d9b652170d8cd6e918f318bf76d790092fd206b48b415d091f9b5a18b9275b580b63a14d8848beb0644a56a372e4ac8b1b3f5660a7720ababc97fbe763ecf7375ddab1101dbc56c23aa181d74826eb8cdced98a4c129d72822f4521249875fb48e5a81ec8d6654bfbbdd6218d856ac19f5efe42d04e71e7def53ea7a69511fdc26b490601837e2122488d4ee171f3d01d60947d01a4f92867bd0a9cfbe3375fcd147108fe9c8fe5c2a1c20a77cbd996f7264e83968aca12b7ced66e79d3908c19b1cb2d2f8d136690537bd63c2fcf87c7fa7cae9f38cd54bd74ba411ba5c55f55b6a91dd086dec5b393b09e526c0ba82dbea999870db16a2e24fab3dd60e7990f04720d32ab366079f3f084dec37712ae49065071c1c73a7726995cb061c59256b89021b0e42e88e4ec69087a5a78eea6b7045c01dffcaffebabb1ad80d8dbe45a6e02719425352963222e6d52e1cdad753d6c03a07218c652eec15d79d90ec74877b1765370c103c4796688c0d3a51dbb88a0921d032ae5f54a0a7986e3c09fc6bfa08ef9e3f3884f9c99e2fd76d1bdb84e473ed00ea1ec3b2e48d159d3342cf3a9911c4d9e3845b444fa226b4940fc5cf6e9d7eae1e51e81d3180d012890f6af848116a477d35f45010e6268c4edff7bfdbe9cdb7748fff80d0f1c7211ba346f365180a6cc1155b8e6fbc0db10ef8e53af1202afccaec97e38cbeb16f20302ce40423696d4d587488270e50600076e0847a2de937baf76e1ef4fd149afc6b0e6bdb0e704c35db4c592f2a59582a69e39fb3987be1caf665d1106ec8b8650d13fe8b0c49bf67f643f2068b484442a330da483480d865decf4e34b4e5c104b42c43e50a03e0f57b0adf46ea1856b128a2aea79b9c521d529adb4e4595f603da80ca7f18d76050ae1c69d5db867c70c9c8bb6e40e4cea2fc04b2fc7adbbb1a6f3eabfd0d2a16ce263adc110c15377da506d0399da7f4f9ff7da8b2794403450fdd97a713fc229b7ae74b5cf1cd951bd6a9ca10dd3c4584347eb712bf465b12c9336ad223d46c9aaa5bce34eb477072bfe87a4c8c3f9ae73285f463ade6df585485871413750492ad31b2e751aaf69e86211a317e0d7cd0633852cf352519cd8d67684810094bb0b77272706a624758b72fd7039f3feb73c11fbfe5b6d4c033b1d7afe62f00a93068d6d423652adb4cc7e74b0c70153fb31e0b4cfb96cb1af33c7f99af02f2f116549f5c73172916e948515841527eadaef4012f45297b44fc35e523272358d505ecbe0b04c3acc8a86fb9689d08a67efe90b8dcaa53ec875dd84925921c786b9f6901c78b34e0e24c9a9e54d1fdf8a4f8f82638fd2a8d73cc61fe8b672657eaa4292f9444fb38915c1b0c579e09b8ac7696c7a12313df6fafb9a3d79a0d517b9dfd22812ba98132c0cbcb55b8289368dde7ddca2aff5f553e8f056b1d13546f78c5e960fa08bce4bf65236b7a2fe6ff6bcb6fe7db27ae1464fd9771dd0cab8f94b84eb3aca6f9e5fe7c7143a3184fa623477a77a11d6eccfbfc6c90a21fbfd34b2ad9baeb43205cf2fce084f78d7f230f60933d3aed48497a3f1a59ca0dabfea04efb1ad61c286b232ef02931b9c1077e08d1ba70d96db8dc01a8770f2f9eb4d2b72ff43f8bab213210bd9955e06ffa68876cb72af2cc14711dc5d45b2dc6969ac42b0a320e9108843a59240aa323d29b292f4907ff7790c836a85e5300274a104b5042ad23b80e31026f36855ac7edce01c7ff11a2a4ac7de609a7760b9e3e6f9b025505eef151beab88cfbc728321bccd1b709ba4fe2f176a633a432a25985737e033b44670cc554b5c83e864e1409edb56fbb08d4f8b689525beca23b4aaadcca3c017ecdb9d04e44d5461e730290dd0e574de4c32a6eebc6c3324079e986a4d6b36ada36d6650947820c59c1ca88d6ad07dfa56314fba9c1b03ed08540069ea62b18d8e8c70b3809bb461667410a43e21b48f07453b3b912518480b68e3e815581a7440eb8db6f2ff47cad73ed38de22ffce84e799d4654d64cc30a4a06fa71aa025cf80e3b756c20eda9c255b6e487799516cdece96a24ad1c8f26fb570f66903ad4d2f55b119126c6b085f5bf7fb017688471224560834b1e4b142a36eb3a26c452063c4b22baf1557452e6352fd512d6e55d38f139ff9afda52f16bf115ae3e88b814c1dd2dbb4422481a33c24b64f774b6ffaeec311eda6d22e5c09495f21d3d4d79834e6b9129ad50f4391ec0457510821acb1473fd54ecb30280fb0b93e69df6a204abb36fe6ef3e43154eaca574abdb14a47cb29f2518f18bf8765426f7ef54ac017ea6b1700c81162058fc0ce6e157ad7eb6f6cbd3b5e239e2d6b979b98e280f33cae99712fbd05f810c3932e99578f8830bf81c945b219af404e65b50bce7f4b2e104663376c1f3ed0b8b0d196bae9e81a9fa3a3fc981ccfb618e858bf3da6a985b6bbc61b8431494ccf93cd747787458aa5619802690945acaa3aada98555872dccc25c7232849068055e2ab5d15975f712729af86122122b99d1f7d11aba9b1d805c508ba36ea50138b726795461d960b7362b667c162ede6e9249dcd4608b0bea6914f739d2099d9d5ad7efcc32d625f12eaa72572bc80a1e02c8234efedc0f02d4d5b2f6297860ab4c2bbaba352c693df76e889e020323bdab1fd49d79c02ebc22e89e9e9fb9bbf4a5277b749cafe9b5ec0565912ade497bb26e2d2cead90d0d4713b66bbee69668554574480669e32376ffc6d81e4ae3cb19516bbcc60fa13c5d6cfd47b15fb3f71d3f95aa98d618796d09f9b8131ce12b1832b05d1d68d329974062ef170c9dc92672064e6bc9e910b5d4fba100a6c8805fb285d155c0899db75bfc5e32ac54ecb86130ec581d302e52958c192e9f85ce61318047da29ee81a4f6d42ffabb393db49f7d8e771d85e42ba15b8d2e16bb3257afd015f0f2fced6b29a89c4cf4e9295aec6fc08c84a22f16f35dc222bc65dadfbf6e2fe3185250e48fd430a59fc1f9c9491c5dc4f2e23dc59b9830092b91c5736dbccb2c50c7c3186505ae538a264e56ce65f6b9096eb8102c4b1c19623f94a63535678dbf0a8d5727cef47e29909f166ccc8e2e011bb0b8dcc0372f02f3a12ab3e92291fb0f5500d129af25315650a341242b70cc65424bf993b106aeb096759e3e90dfd973a30780cf66b2055c7f3d126b88bbe5ebaa8dc36f0318ddbba0da496dadea3d773ed45b64950abf4e0643873e2401813b3c947eadda2474cc52b98abcde2e8efb7c290218c80942b1e18d616e31e3111446a27851182a5204b216a36efc07d372f4505e4eabf4d351c9877ca0bfd84011afecd6f4791b100dcac829b4c8fa8be2fd8a0f651dae9d6f82d2644c8761878cc3cbe096ad158239d5cac4a0d5304d5b0280c764db354189ca02eaba6ec867af7390c5b6da1dd55ca177af4d513995fc2458bb83bdd7b6f6915b427fb86a6c3c68c703bea611a729d47811b03aac98de7aeca71d48ae5b5feb70f83d512b657e4e14c98d103005c432714658026004bb69105700955595e7266285d43020435090f45860c913780755a981294fbf07b70b44c08bdabcc87e14a44615170cc1fbee652083882d3fb47ffa8ce5ecf04c41f5d94192d67c0cbb67a6aef40552300b5f5f3e6786029db729d4c01af0f667e056893554fb94ac3b3243e24efb225fa412cbfc2fd30337b450108e6391c162b8711159669edf79f7c2c3523afcbab1be3fd01ebdc12acb694036b3890ec4cb57342d67ef1450bb834f5c404ac0c8b93b19c80737bd19f10b11da04df801c1de33d096a7c215e4fde2bf69c70b357ae362d6aa6ba1728a98600e8226eefe00ac20d95a6d872b29aec539795b188cf69342298a1b75915c1936e93b6b4dea9cdade4e0777df9931845dbca2bc692ca803aecbeca353e2763886d2319590c5d65b36c894f843b974f871ce6f694f403fc3e0748ad95ea2ffcbc4cbf4b496ecda38e50a0770970ad6efd8503693a687f5a11835d73dd4e002f3d74395f9b9ebe2ae9a70ab945297d107040d180b47b32c6b01aae3be6cb2b73605028915d67f03f55d43693fa90f954ebe765f0c339fa08d148a463fcf7130d8758098a375183693dffaea1e6ef42fe0e99864a86db8b68e16c35383e25060d05b1193b86e209432888acdd9eacffe53b12d14410ca21766e08bca41cc50e9288bc44272e8a6a034cc23b33d7fea4f444cbefc01a23cdef23e45925621b1c04398ac59118219322e4fa65efb80c82a431ce6223fe81e43e3e50db73347f13d91431016d254ce576c718066ac45b8fbdf7426e6fdf57d9b728bf1fa353a41a16dd5785b7aec1a74973afb56bfe051ad6b68c2169516c3260d9d475a1e343038055abfc0002f9245fa136d080db136905a040826fb129aafda62c3992ea781326c4fe2766b62c142606fe5bb046047c142c0213a3cd040f9f3cf97dd122402e6dafd20990406bf8e37afb64fc89a55f1d6a103a4f0a2f95b14ea1d36ede3228ef23857f6747e2d5663469faad8d401fe26444f9f7d1dad4ded577e8921f16304556e2fc74773457b0fb9581663ec878ff5bfa92c354e267ae2f1bd87fdbb40201c0bd9cdb5eda2b4494336a22a924c45643ad1ce96ddef142e512b401a6d600e750e2502047e94eedb1162c45a5b049b13e9a55daead2a2d189c2449868830572b10836d88a623e3f03737c6d93beb462cda770c2f302799667daffb223290463ed98e0521f94ed8e7ebd343c989d6a38740c135bb9bb745a09af09277b1d1a077b6eba27c03312576e94128465f9ae88ceecc4346cc6e08fce824f4b33a413deb98016c2a05036a7bedbd9e63c27a38191b5d2833524ba8f6835b775e135084c8fe99c5cd874f9062202ba0f651e8192254d90dac99c5298fe3d84dc6a6319890061f77ef63f256776a3184ef83dc6c6c3d7927bf0bfddc1afce9e777db22eb78ddac16f062075067132666bb6689cf6d6e03d086e9ae77d81d9a3a2badf0b42e1e7b649e544d7aed2b012b5997d6ec916bd7b4e25fa497862c97f03f3681fc6bbe9437ed604800ef243053d6eb176134be44b35a830ac4325218a2088dd1b15b061a9ea2a24433f7d4bb31711c5a273708684e2da870a10312f487681c413c2dc1d05def5e73fb5ce14bf92a061535ec89764c4a3d045644d58b3c594bf071098a1c62767965138618d96639d2c7fb01495daf70770b943df5415d8a0ec24763a9a13ce8f377884b1fc56a4eb80f42fb6ce1aa9c5b89768ef78c191aa3a2b92ef80229faffdc35d40adba15a119acbb4fc6052d4042815017c84b745f982718cadae86755e26552f7b3c84ec2495147b15f021df2c92871173a23266740078fe1b9f4958116b8b12031995c7782772977bf28c9ea47d0205f109e3afce22c2490cf6a79b5c298c432192469deb433f9d19c206e862e9a2d3b7a22fcfcbf1f0ed005928f4705757bf9a310e7112f52f5fa3adec35e8e1f420f5805f0ca302d73818a8bfc2d8f8e3b38ea5eaf1f6e60715384e1a0a49e6c54b4f4e1b84e3c03ee8034acf3ace3980d6ea9281859468a9d6b0aff4d3d8551a6ef13f7bb5abd0e485ca6a59b35733b54d06b2d8182f5f5ec40a134649ac792367b2447fe645027e4a3d581d63adbe83f1fefb285b06acd5de4770db20be792f2f53a67c921261647cd1dbbbdb54d6f2ceb55f1423848d49edb5b5822fd945f89094b546bdb3d2eb6770ffa5367f0a1a36b7e52150ceb935c44f964628c365879133b3b6c28b20e7345a1d3446e7754689b3466890c610a054e6ae1838601dc17697b209822d818ef4591fede8a3b1a1bbd55196c9e0d252a5cfb18759744491a9b152e704b5910ad9a880cce44486305eed9819cc68aaa5a2a8f3c2757730eed577aa2083f9315e94fc9805ff71649aecce4c5bb50e01e9c0f0242e8b71310ecc1b9fa44d876250cc65fffe99df8d226564ac77eb96287c3afad0f02e0fe27bf58cdb1c977670a38714bee245490f1d555b8043005230dd43dc91f46afe92c019b810585b8b219ca4d44dc77b9e886f2363f0379bacc2664e6fe66cb753692480f5ddf178f3c03a0dede823c5df8e179180cf3c0becfc1d53514a02ed8821c83ec45d5021da52ba3fa4482367addcbd52915ac543e62c431b6bf8b8da5127bb9e51bd62603a80bb5287edc161d64b56685e7fe365125a3882ee4e5fc16611ec74f32da3000ca0e4b81613ba34375c00bb841602c69eced385fe9a353c336a625e81a1bc42bd208cff34aaa2ee920706966ee49cb24ab718eb42ce2023a3295709b8952105eab06c43ce35d9702cbc28841c17fd5fa26da862b399460f9e8cc073dda758778b0212fcb03128843805d626f82d1a6681b5821359d213f3ffb9e6b0e487fab992d05c67e4aa0da53750567e904d5f80a7c591e4307e0a1964ad632f8e4c3041af8239785c0b9d61f7aaf3e788559bfd0103d46409f038b60d6b4e46c242fd148f72434bb8f54e2a78c0a2ce5475c98a5bdc715976f151299ceae41233dcbef8157079a6f7849a9e21a5fb26570da8b75ccfaa8e28415b135753f519438ec97e3ec1b45b607b9350d6da623adf739162815af8d2ce6fa43316cc1467da65641cec900097dfbd60fd369eb74dbb35eb9e861d8e82d31cef16624a1140da1a9f5b7632a82223b14c6388ff0a61a37b105ed5d95bd62bbed8cb663f46e3cfb2876a3e02cefb7809c15620844ebbf1097cf820d55f6d22bb83b4a3b8fdad9e4434a1e48154c4ebe4571fff7ce7b124fc7b835fe1b5e2d7c559f1e4fe41cc0b815e7043908ca020d05ed0a08bdbc4fd26fde50180b996be94cd1e2819932a732a299c02623407eef452ae0922a72427a5b73b7aa3548eb9477c7141b8b50a4b053de81e02e8518b2d7bd1e9a20ebaa4f935b1727392adb29a2943997849c7dbd1b95156d133830baf786d5eb75d4a95b653e4b09796253584819f797529dcdc27ea4efc126a8f2f90b71c35bef497ffda000d205a0400f2a0120e32cb632d0fa5d29e7d327d1d278f48dc1d4943a7c04c2e04a728a62f175d5767873fc8189fb8405867e0a37e6b0836c9d72f9c2489d1df4ced8bc74ac7f2faf7a043b76a9476083b65118c585a4078540d4ed4a69cdbd1880b8e97c16f5b2404bebeb465c751bbfd4782da7337201a16e51d5d0c578cb77ac544db4c5ee965766c10ae5c67e6aa0d0451ffa697529b4fd735b623fcd42255efe79dc68608951f7670be66fd2bba6d87e0a7cd555c4bfbaa258c5157312f7c24f47ea04d7469267a63c0b741ec19ed9f22864df032649fd530d5ca991fd76ea6e0a193c80ba82be5ef03027d3682b9b0c05298e10ac9bfdc92b025c41e911d1c7b1ffb71c28aa1ff5734d1649c2ae8b481a913112883d9cc55a7221cc821cfd0c1a67aae479f5a60c310684b5bd893b100c955f661769d0bda6942625f1e37c0c20cfaebb56f2caa1775a5aea80fa5c0d2dd95246cc77f931c25b0cc44ae0ea190b93aa91935887ef098bf9ff3c8c1918273ac2cce9bb054189752f700cb2c7f2ead0dbfb59f57837e95d1474d9539c8e1b48191815031e8b25c356e43a26a0887149424853859ab2f986b34f1b24ae6f1d8ec6b7d982d0d570742de56f1d94c457eefcea02aaac553c4fd744f80464a5240275b450bfc742543988adfb3b372fdd10e2201addd52920282a2c862cde6b15f361c5248ccc1ade53e81bcac3e987b7f9cbf353d31a2cac737ce549f9f4711f88d1349d5cbcfa987f447832e7c1196785bb56c690f0a3da5c2a379b7abec9133c91163044fd6bdcf50797bd3e36766aba2d4252b3de1410ca5cad46676f251478ef9bf9a9533fc85ff82c2a638548a0324066bc3c77bfb80a9412dfec1c5309a3e6ba15a65fbc4736a6e03134803975cbf6e5f30b956cb7a86404ec16b70315ec46b65895bfc13f5884f72476e7cd00fcfaebae15975fb1011e53fd85f20605f380ae1a0ed009d614a8a70de8d20c3491a75a09defda85058458873010170036c7562e1e389d118a75b248e4a19eceaf5ac454473697c8f24473ca4f2cbe72fc6a0c028f9bbef123b9348682f688c1abe49663c69e293baad8454dfa954022a23a91670c11adfc942e6885275453e07d601a223acfc8b06b9b360a4ec21092a6c5e348553dee554362f8671bbf84bb112348f749f5187b9b1a5b7e2fdefae00c9474c4aaead7c51cf55e9ccf585bdd32aced11b5d204ae181ff28e49a20d911f28c4d841b4ceb7d40cbe94ed6f6c20dc96b402715bb4560ab81da660934ec1f72c38e0d4cf178617fca95ef52a99c69d01bddf8ad3fc32a32b64d0013f71020cdba9c4e4159af7815de908eaada9ccf631b1a8d41a24d8202146c3118ea1e09b5c337a8c844fd1162559a35fe044c941a5fcf2edc769bc762138effd9262526bd6580a45f672fcca4dbfddca153e60ef7473163f7251e1ff5f0c6d4cc136f1d6383c237d9e9126c7c24076842e82793103085badd6eec75843fad4bddeb2712b68a8d75023af09cfd8a59c2e682d688680104d899e5b893f82cf51c04323c00c03db3a1c9d8c1f4fe6ee025f0778e56bd6d572cea729088d3770ab8e225b519fe304e3172505945563f0a9056f7c00e067d4808c69a4e11506f77f62951ec1f732c217db2215964297e7c72a90706ffec03c34a7c09bc732fddc2b1ba381c0d2f96a66893dfbec2d308cb32c95e8446b3b130ae525e6c9117497357592d9718b0a51d19662e87fb2a6e90ef7e58cf65c5b52081531aa52f6a4f01332dd2dc0b6f215836aea6988ffbea3d8cc1ee7cbe074e229f04429adecad1acabf8b39d2c6b5ac13381bda480c460e076382c8021da287f3606596b77b8636d2facfc020aa4d638b7f867a3117005879990211aa7d7460582bc3519b54184e5f658557c0b7b163377bb25c6ddbbb51ee374dc408b6bc337e93b6bbe8e01bbc176b42b7209c5ed4ebb0afab4aeebfe4ed05a6c1de5244776cdb53447da996c125462762921cc095e512bc797203c6fa5972da0aecb521853c9fc94f80c339626234f75d7055fd7705c4df82307a537261137a64eabcc8f9859e913baf8430312d88cf0ae07607ecf10a9379a204a046b714a199d0c684715f4e3f23cc303a8dc4f9033292c5cd475e0bc3410651d3d57090eacaa438866f5b52d614d39a69d9302845c4717592d42897338592e157de2aafae6f4a968d13a869354eae2858e194bd2b5490aae9bc2d9aaddccb3b4ee544efd29448b2ae3eb6529a4c9219e14ae8eeed8f1140d5304abd3a6e185c6167d1e7b65b072a0775196b40718f0f99a1982af51b1297244b84f22ef82a9472cff57c9d52e93ab72d3dedce9c9bcd3fa7de152207b1b2182d6d7edddddaedc6f392aa7a4972f704d39b528a6737a7b6e59df74bf2f1544e9a7541e6dbe6b48f434b7bbc9285562b020c32d4259aa25badb4503efa91764cb057357f0985152fa370097e77170eaf6a7bd35ec914fd3bfb8d8d369dc1b5f85086bdab21e72c23e83f47276e9f9247386faa83524abe56283408d61a1026331a2a680ea2526faba457177165fc8d432d7b80b0d2469996837f71a1e8911f81e524998eeb5d81e8da998ff8db2788a1d4377058ff3605968758521071b2625f9ffab73bf24353996cbb9f136de26672859d772851bba8f5d53f934c94411f67c2fbbc4ae2ac72d916d23af4410f9fad7c0733dadf55443d850e11132b809f6b676b25d52640e2448649c884b7f5e4bf1f495659021c93fd7dea849050a1afc17561e7ac3fa54dff9cea13841185fa32a4ecaa8b84a38c5c5186894d5e1227cf600a6ff8a406947d1933e88eb92b9a4566fee6a188dfe39dcefacee0bea136d7fe9b85900a80768d8d90242401f0538d299e97dc12dbd53a3fadd7938b10c4132a95873c09fe509c485c01be3d706205cc481ae8f8359706ca22b4b3e44072cb15232f5e6b6394198d982f7f77efe5388aa610785bff699e37dc62f5bb00ce51ff0ef09113f4c00b83b2fbb0c496a49dda20a0ad90be05cee1c6f881088005280e30a5c435a3b5a5c7a462f6a81dbfaefa14a2392b4587ece63b637709c228073340ee3ea346c2f61b5404aa8b3a1bd3402cbc95c4818efef3f7173c8f20afb5d7e018e718e27f3c7a717a003447c5554f95781e50766e4b4513587b2a91333a7249585cd9bde9765f51a9f94f0f414d47b96ffe8669f84b424170dd4890fb8041ad99ff646b06eed5c5f44b1545eee18f0331ece210cef36ac9525e2b229445e8628e1e35eb7ee4ae460aee061ff8fe61d9ba95e712f2b2575a0fe7a24224882db279d8d908a093611cdac69d7585c125278ca31695b1be559725bf5ab2a65cd53bc0b439b8b025e642b9e0372bf8c5782d5d5e8097c8f65b1fe5f48b71fac760d524363a3259a7a0be94a1e2455156419dc9f9c0ea98ec699faa2ffbb1479d280b7ce78879ca958944b5aa55a46e79af3462a595268339d262add94e01ba0099bac904d3c2b9d8aedc842170907368691aa82ab8126e4b864d66a5367261274e39f851079ba984e72f96ceb685e32c979488479125cf035ff1449772529fb7bf132cf9fba9069de9e8d1902d9f66c8cd15055cc816293aff90070e7c319f4694c84ff6417936ce2b5278e432afb787fcbd3a3a72e2ed63affafff005824f726f17760c36640028db20bdc6b9cf320735bff608b902c13367d703df8a81d1c5ef6a26bccf65ea729ffd8ecf0046c5588d0979ebd90411ad09c4171aeab1631ab0515408f2a4eb12beede4e6725ca80a939cae5e744305ffd37f5f874962f93311e6bca0b54c01f1d304755d930223bbe044e54b6237c0980c9f28515c62da508baec92cc455019a3dcbcc411234faa31632970e2d411be46f7c062db2612a4653aca8e27144c072dfe8870c7bd4b770ae0d2c0c3c58c2407007b832f9e2cd79e2cc614617b91dd363cf61053aba918556e87bd09c5b817838e25c6d48526a64e406045010090d557668d509d24b025291678bdc1e9cb5836c0bd43e0bf2fc583fd4a9604092d122194a70f0953cc9052f4bac48eb6248f98a9865ea8ef2dbd15776afd23e1d76c1ade0f6b12e765e5bf7de5899e52b8b41e1bfdd421b60087af1e84ab37011a678caac4231f24ff056a09f4baa61002376c5b26a98dff0bdcd8406b5d98aac457261de6d6a0ee24c4a57cddc4a3e440cb6023845ab117022fc99350c393bfacb47c548a015b2a84a30b7c8446cf06cd074ccf2cc6125916728031ee6a10019db7a062b7c31e37014f0f98caac08a8caf15df4536443c112f0a1a0cc448bd1f917b435f17f50949ff1bf86ed6f74a0e752ba09c5e4453422daf5fa5e8b4ee626b44c7e7942127c51abc678b48b3f0098fddc9b6e9fb0640c3f182c5a2ca741154c586e5f08cec5ba0f08022b2e04ec9947e5c97f777c0b0e8fa6049c230c4370ed7cca87c6ada0a3956619fc4f5105544d92d31988db39095ce79790d933b5a11acef7a0ddabc8992a8e6e2422e5dd4cf13afd7d9935fe03da67dddb0451638d87974c19759471baa84524e308fa597520490ee69487162a727bff07da92b266d71d06cad8ccca254f247b8a6d8aab153d6a69cf84c518196fa3a6fa91652665851427312af1539f12af918ee144600d2781f207327c4a289f146da49578ee2e3ce77ed09e149f2012bd81a882a1869ce7d9d608c5f22a299389676e1c47dd3200b8d3a8f5f73531ecd5b71414de2edc983989f35a1af3207709a9326d50c531a947601e1da8f5dddc02c5ea8bec9c5cd48fd42823ab6e25b245717e428c6c348088f5fc11b64c17f3544c9e193d321eeb790476ea75d02ce3727c779fe2529d865d29979c4b945f23878a6bc517673a4a2a5626282f9d0380a2d361961c23dee7df95dd9895646424f538e7ba32e14c9a3dbece7d8933196550c5596fc06608571818212e8958528047f4892eb8b755f3f52b1a59df5b2a9a0f4b7237d1939cc7883137bde1a27d65abe7268136dcc8c2edf0af2d0aaf", + "public_inputs_hex": "0x1ff26541d4fc7e469a1ceb11c7113dac3c1557cc7cf7cc85ffef4506e593f0d602a2b2c567225f82a35c11095c5d2c2a051f7882499f1c81653cb18dbb918be60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000856f0d6baf4f2c757ad3f0d008b1ec680000000000000000000000000000000046e8726f2ce6b197acee5769294b365104f5f13bb809396de2cb27ef7553e00a023391838644ee9c99e9b368202bdaf80a444ca00c435f8689c8d371b731a6a43f7cb772493a1604d4de7ed5b45150651607130fd1d30137fe854028304c1b75bf5e8c647d31dd8055a1180c50dd2ba122e33ab1534df04c0d044893c1ae7bf8327d9ac0ff9befaebc6752cf9680cd44162b0fe7a1a77dba1ca280214cd7aa8b2bb123a9aec8dfdd5c7d40f66bbdc0c01ddb442ab4eba26f14ac0476cfceea19a0179747abbd986d977b40fc19184c301817e75bc5e9dced0aa7d735a19c93753686ee4f2a4b4b0056f2e98d0c8907b020fca1984ea1d8083bf214aec6710236d32d6867946778438502c7763b63d63219cda3ef547aec68ebdd783d090c0efb655a60502b94d79c516c24d25a0c63a01a674b02ffb142725466cfdf10d3e9947c2d1e87bb72ed777e9219ec9289bd7f18730ecccb724b9cd21d8f9ab56f62d5018abc9573a1c07e2510c4fb2b65830d05210579ed45bc91b1e944b88c72b1dae7f20fc6acc2328161be3177cf3bb3cc02564e8a2f8187fd7814d591cfa4417f0d4eec8f9d2302ecf54cd5bfb9a33cd419cf51d58a970d13fcd46e4c1113780a2c4af6fb398e10fc8400e72246a14307035e6074301852dce18e34c431d38d6104248469f88f8687bc1d636dd3f180a80a5c45d538f1b0e35a6d6f877ef9139f0f49133572f3cd0f73e4189b4887935d25577b5504e14083e73eb6bc1cc206d5c19f3687607c218c87e550652a7f612e0058e2761bcea9c5ebfe33b003284ff9f9b71d99fefe4b974f8be8e85c2fb320" }, "decryption_aggregator": { - "proof_hex": "0x00000000000000000000000000000000000000000000000f2a24f933d654715500000000000000000000000000000000000000000000000545e926528205b11b000000000000000000000000000000000000000000000000632e8e2c37b7ac3a000000000000000000000000000000000000000000000000000204562ec9a64700000000000000000000000000000000000000000000000350ecf0168810c4460000000000000000000000000000000000000000000000045924a6dcd841f33f000000000000000000000000000000000000000000000005cfb09d8d8b0c60370000000000000000000000000000000000000000000000000001538174b3c5090000000000000000000000000000000000000000000000019ea441e33e21ddc20000000000000000000000000000000000000000000000045203e055dd53cb9d000000000000000000000000000000000000000000000006a19bb693842839aa0000000000000000000000000000000000000000000000000000658b839b0b5100000000000000000000000000000000000000000000000c79ab1ea1e8c610da00000000000000000000000000000000000000000000000461b6afe17a08a0fd0000000000000000000000000000000000000000000000077c28e8ca8532dafd0000000000000000000000000000000000000000000000000000ab3870b0c76805285311757b6ff58d3ca88bf46e65029b008c3e0521fa336249420ceb2b168c0b1aa26312d2aca71c5e3d6aa0337d19372099d3f959fe701cccb235c71d092526be0ad518be020ccfd67ce134cba5d1131ceeb1549daa3eef8068bd92fd0ab810851d38598a68ec0237a774af5482f6fc7d6e2b033c191d81dde59d6043838622ab9d5519fe815e81fe80a8cb95034b52247ca1205a5e80476fddabde7de9ee26088ef5c51d6c15cb76358fc1d3ce38b97bf5f4641a3c50d8666385c7cf5bd0259bc9ad2b0cb3bf2bbfafe5732e568347089c52bef14d5692a38d15735a4a9c1f42a5da12d65505bce50a4f03c49dc7d87dcd8ab7957415cff78c77aa4556781c02fb1eb0880b3e77c3bb9e684c1585fae7478d9d463c181c0ffec962c0e3a40a1517964dc259b652a179f42568ce66ef1815c0c3a5dcf3f0f14971e0dcb6bc25a06aa729c20bb0ec185d712af8517919407d2d075f7ddfb6c984bf872bdc0613825df564d805a37709c1b4e3bf6522eb0492634d57c343ff7bd394faed76ae056730d70b9c7b7cde1ece4215427df572ebc58ee8345ab065edb03ff6ff86122dee990fea3d0f0174ce1df7fde6335215dbceadd312e61bea36a117f8820caa0450fa775452631738c4f7707c1e66d2ee062069271e051a3ba82b5ba12e82752e73c461a42bd6d65bda2154abda46a1c437a85a23b9b4d00228feb7b8d960420bb0460f481b76b4c01c6d0284744f26961c34c4e93b65f1a8ef11f00f53bb2e08ab44568d127efc48eb8ea1675bffa170bc39ce3cdc183704a82a41c6edd87825bdb0d9303632ac2c6decc4c88715f7533732413f72af49c0637928188891f40e576eb3f7f341a522cf73aaa225bf9cc6d5263ab9ea5b34b763d607eba9bd0023f3580c60d2985eee7b837b7f89855747fda96a899074998ee80224fe7751901b38f70d730b08a0058fe091db0a60fbab2cde360ee3e725ca0fe5bafafe760a2c9b783d0c8b996c55a1d784f857c026bd015c19b28a3d3f7833e6c6cb9d60672fadb7fcc751b366b42194f1f67f4d3ebdc00d7ed6c541e401f13f29d0e086f00857cbeedcc8076f8e1674be602503c515190edbc2aa757603e96e0e52643f4f1be54949bfb46f28539c30d2ec046e74ec260c42b8461d1bcd1fa62c316b26b1127247f77a8210b78a1a18b4cbfae007087b72912313595a3cd70376fcceaf5316720011d893fcae80b7eaee79020c1474ec84d7876362e7037745f6ec113dbf13f9abc3e0d1f8b38be41f59bd9dd6270f04e655d71e2766bbd548f04169f9ff3041d67da3bc43922335b5da7ed5783663c04f930ff2c817af7907e2b2dec2082498de067d5a614d27477649ee12ebc02158117d903ad63cfafca1f3257faf7c16aa7f759855a4ccb6fb019eb7c1fe55158c7df5cf1e8472b7d9564d458eeac703a0f6b3af2d03ae694a55249e4a2753976582435530a8f566a5b947f504892704fe13b40169c4ad57229ad5d14d35f57f1fccdecbfc2d454cb4926f3d4f2b3313dc292b2689c48f87d286659bb3dd5f1a1b8c58a0b4cc898c9717e3a6ef917018ff97ae7dbc8eaf4885f69d9f28f17b86120c75a3baec6d5f51c28e6d557ea01f031a9f3814a585cfabf1b5a348f7293a05b776d98907948852b4b2a02ab7e7064345ee971810dc217eed4b0074daaccd860b09444a9e79c2945e2f4a640eb71e26811140f5b24f04ba7faf9b3a7070c84e2adb25a306eb04753003812e3b2320ade65e36e7918121e13415e493a8d6ea87064bcc6b05faf05a6e0e539a3b5b2d4bfa1a8c4e6ad385dec19d63d2b87fb3dfeb5aecf05913b14b9303a0e9fd841eb715e77151a17b6d18a3a3e2203ae25ded070bb41f882766f262dff2329e6b0cabf043041abab4a872f614c97b95222ca39af3a56d6cc04fc943c17d7cb6ca18922701bcf6c8eeb6e3a6f3d57dc8a02124f88767ac98f4c39707291e3af4c61264c15b40c59fbdea51c04aea9389ae017c31f9d51c35e052e0b56a7f57c6561f55581a1988f538edbefed050122e9804cf9781a89316a487a848d27ecabc7a14827d1283680c5371fb31b4699cf6dd73cf2cc37bc4ae4a5fd09eef62eeb5fb0ab1dabcea80fbb11d88ff33adeea34ed287cb95c9b43b0186915992a183161c0c3731f42dcdd3df365d7d48e8db03709ee9edd387215f583b8582dd0d70cea72fac1289f2801f9a2b340410f502aa25fdbc96126becfed467b744f2c004e05c2965fd7cf542882389b4e359f7f9d3f6f626fa702a3dc981d8d454aeadd65908276067ee72df218b1dbb93b93bd5f629afe460593ab65724230a0f5b9b34f4901675479941a3d2ffd1cb6d23cbb3ddd14231a03ddae408e239455671a7863ba12d5ea3f5eecc0d8ea93f6580198d06f891240d45c49c09338bdf5a95255386652dcaddceda596407eb41cfbdc758aa380b8ad7d5f8d59905f5a7125d2b8106a22a0031739279bcc9fcffbb00e1feef6348d47e3e7ced11dff32b2e1b1751709a12ff9a7ac7cc81ac5a5e4aad523b3512e639fe1d3cd930922e420d15e928663f02f772643926ffb2181491279bd4a9d5b802386b5920bb575b47663597cbbd8903f0b0003bc71cdab242003c53540f042d14893a5aadd4a5485c875cb5d1b15d1a8d0a21c40dfb3c6258b09789a3db2e3674662d90d296c2db048622d7e421d91493f7634787af9fe13bf9b131c09292463cb7ebe27cdeb54bcc7d1362a576bf103c86cf60730eb1499f99485ad55675387d3c5ebdff0f05829d8660c6c406c31c4eb0fd7991afac6675347b7b48170cfb8f099a8d93b7fed16f7070bdc152371c8a4d6732f85f9013a4da5ae5387133c9757ed4b3a4f5e5d7f7fe324ff74616035eb03ec16ddfde8244d560cddf30a4f0a7f291618e371672312d31da0e83ac08d6e718aa46a01a21d65d5099e2435a25c056d0767dae937e1005398709c1000af3ff2a0b31fe86eb46a5cdd8b3f30417be99f39a215e57d37d2a1134c597073021bc8d529dc1417509cd85927222f6fd8c8794ef88436101da90496b7037af1dff2345f07c232ba5af9b86926e06855434acecc143ac0982b3567c5e1f880a24f85270a45a6f2b9fb9a0abeb44a613efd912210a78370a8559c19e43bd81ba1c24da0f539d532f31c15005e61fd91a02ca9468a9e7192fb0e8b59d2dc4dc961a3ebe8c0bd75cabe0c7fb75ef9803f31eb0987e69a6319ebe02dd44bcdfc23d1a955299e9eca8b10c6a8d78585482819cafbdb670158dc5404edabcad56935c04e10f56d27b19a2db7fcf1e40dc349ef2f35aa313cf5b005853de40e0ee05a82488d31174ad7181b503989df9fdfb62992a2d8c8deb36c219e8de5b25036cb400016328574f796e9d5179c9e25ffc4b55ac7ea92fa0a46d23dd5b5cb6c57f46206c97a95bcd78f336fb89445e66d048257bc3b6862194d7dcf3163188d2dbfb221ef4b5e4865e1bf6a4eb65019a5162d9b7149b0c2a3f8aa38dc8d2ff87ea0c0689e3fcc6fdc4e9b03d70daaf52a22d4ed2fa6327e42ef951dfa040b38d20d31ca0ca34fa31ab6afb6782b5c0ddc59872f37498329774fc8d91d333d552182915cf03e0613ce8966fe3f5b8d91a44380cd37952935bded19e0d0ee8f09f13250708d11b17f1e8ba9506d201990b7203c5be1d591860b96ecfb52379fdd832a322238f723cb5337fdc9ef446a4bc10386800aecd4ca46d41380b2de398effff8271546d9a2ac2881b9d730f0a62de46997aac4647d5ffe76d75fa3e99d1785591a516ff9e10cf55c04c55e54d08d78323288fbfe2ba7386cdd5c3c4df5f0b817267ce24336141c8ea8b3dab07b89609ae19f1c4b3a6917671d67dad968591aa00d8775dff79cdc5fd1980e10946f1c519e385bdba6f6e5c871d4b1d898b4099a2545ab8770606e280a601a01df2c4a86b9508da8865698d043bf957bc2c67616303d423571681f7623e2d19b1cc4e73f86a89063ffe9765ea823f1d9d147cd3012ba368f07a4d11a87061a0350fca5ca94cc517880fcbfd5413051542dd368cb149545f02fef6ec657f6f26b6e759419dc4f944d70bae939ea4eee3911db7e10086299697081cb6a8f3dbf0f9694177cd0bdf94d16f2be7e4e29c91096282b5d05efe2189674a1b75601e1880162b919caaab61745d198234087115686215a411f1fd84d917aab3b05a84a1ac730fee3ad4d867779e6b9316f78f1dd13572f712d4a807972d7842c789aa1b4cc2ac3d68dec1d46540439ac14fd3f0bb589cec210e0afc82c4065092f33c725114d71c5d9f26a83d8370e31e4e62b2ee50e58ec07c2f11a2d9a1548a98506c4a35bcb0e860a684580fe32dbc20ddbfb071669dc021d83f75025a48d1ea83c0c1e222b5f533615f1d73af1e3a231bf981cdb25b2032382adc0e452d892c1ad575fba206718eaa85e260ca1bfdb7adff8ea4925232a3feb5e0d97467e2abd3a2b3231a262216d7c138c7bf5dae7c21aa1e903e3ba28c2763bce13793ac900dfb123873880edd94527e555f9d19b8126de95ec989a0957223ca538f61d55807f7f3fe894634b2a4ff6bb6ad8f2b05e0b298f6ddb9d21fd00171e5afb9d2e02239f3fdd6b1340ec874f8621adc934876c5ddb54bd86188b78eadd3dc93b3e959347da73b088d3c8e69aaa9359898b8bfdcc117a646c10daf59082cd1db0f7984e4a132e0126a54a91cec5cfee62bf5f904e75e87aa325962afcc70fbb07de68fc8c746855e8e4c018d44428f8b96e0d565315195e562afc6e79847a4de96bcc6970c94fe48c31870da10d5a17f943ca084bdb1ee4ab1caf5c35aa2b9fca603f91c706097edf8e90f46141e7f9295d6cf495533dbc32174b2f9d42dcd79207b008a7a2f4e64f13dc21e9f832bf7b9fe6d77ab1386d331ff52fd2226489b0ca7fe201aa49e11844181dcc4a9e5a375181b6e0398587681cdbfd546f59482560cf0903a23205a883dd9e0945c95d0586f5711959e7e28c19b044be34890d007a7813bc4d1bb2a23f5867130d32095d3e8349ad83f206590b3edd51a86c52f605e988909e0b68feccea78bd7cfee443a728e67a1ee31a002e01c19cb8aebba59b527c7acd865b768f39c912008b65d7ff76187d18c9e1d71ab7d920ce2692f9a016e88533134620b570d05ff192ed81b5c67a8cf69d028d2281dfc38992bf515cd22535456ecd0a78ffe58e14a9ea45e15e6d3e4c1916512777bf1fb863caa09e25fc2f4a89858bf6cba34a78a63ce027e74ecd1121669a0e2a53cfa3fd0ec1254e0ef541e62a22f868892ec67b63107002ba8e030399881181e0447a3aca00f5ebc82e17b0a87a58e036202fe04670018d17bd86f26293138c3a57a39bc773408b39360759e490b2f17600f82727b208b2bec19506735c2910fdea96d8505b7d2d1cedd821bb063c5aecbb0e81129931fb3569a6cc39f521329fbfa84bd009d76fc5c0cc792647bf9fa45471f26d7669be29da6a596c83176ea90e6a5034be69a33c28dc782540bfcd5f1dce83d41833725669107530110357db498a31d149e34f3f52f75da129ac35ff3b6d2014244ee1b0cccf30f681218ab934766ae15d422051d8067eacc54a249982bdf0aad4944e63f54d27773a0df0754059a8ad8d35dba0c490977f786ee1295f0c553103655681f1aa2b8f7112723b6ad7eba2ce8b5814fe0cdd397e03867bf4b0278ce56c9b26c7e2f180de12760705ca94378e47f583824aa8019913f03a9656adf45e2bc0ae2fe3f4f14d1c5553700ddada9b5000e47fe8db1f996493f5568a499358085162a42fe3eca906247e16946104daa565219a693f36449a4fc4f925bc2244ecd583e3d573b4e216f3119d6dd87bb85b93cc1c0696a1f42e78d64d8c963392ab540f949c21ac211cd9a5001c0f4cc4c5dd04a03c703748f7da2d73f6b6b4dd473957b33132c07703df4cabe81b42f79575d28a9231fb8b04addd80d70c22b43fbde418d6da42091dcbbe8ad7ec901044bb1fba312d2ac6e3c23c2aea63a473dc5b6da722e5340626ba1f3bf5b126f988988f6b99e9e8a1b4ae24a846361e9648d453021b52692d2b9044cf10c9f801767907b2b9e519e7a9e96d085f7c47e30708c31c8cde3a89074477b023b8103f07961cb8eba616866d1f7f62556b65b08f20899b17f9c12a063cac1cfadd96cff6a1c76cc8d50055ba60ff086b1aeb3bb6e50939a1b867442a2f6fface260f8bad3e860f0804a4e361187a96d06f8c0a2c78a2af727cde1b244030435895ab4d42cb89bf9f970279084e9bfee9e58198f9be3881b9420f6d1c140c94afcdc4a5cd808dfeb626801589b192628782fc51c6e5c32e4e31adad28fc5ce6cd9df90e4677d200d522e31a8037c8aac2bb52a819be4fc2aefbc9432c6091c7415e9f5886207761438d6bcc59ff6cb808075fc101e259a232b7d39215636cb4168cad1ee0f59a0e67249b404a799aa897a16363dcdffd99e543adac0b833aa6b592846db80a6fd5f21dc4a5051012f88015e05420ed4adbab0535d70b6223ce42d8b711cbbf5c1959097bce503ee967e2cbe94eedd5de3243270ff61e71b27de1aa0d3444adbaf75ed69fe3361b7a8c2da4eda86c3a40490479327916f8f88a1afc1a0093c0612615cdaf35974bd896c2ffa1ca0009d2c42afac2a82882c3314e52f0a795d255fc11360849c9a6cc0b1fdb4b7541937ce071f39600276da3ef259a374ad384094cdc46989e34c9cdc6d7e04f762162990c223620ed1d1bbb4ae30a52323e803fb34e7185d78c3c3d3268349b1c7787ef430861a4190cdbd6b56dde8e635df0b1842f32c8fae49cd1faae669bdeb23f15db0d4b6354199802bc1bb063d6b183e67ee6a247130f77078525354403f61232ce4bd7585929ab652de358c8f66c4ad47063a46fd63202568b669653841d9396cef64e8a8d1ae8e4ee1bf14f66beaa23aab84ebda58d85f3d18e5421c8f275d8918c62e972130c6a929ff8c81907c65e18c15c6f4c0da4946efe9bb804a0d8da5c7217d01f02e38c7396ad8ddd34dcbeb135d00d8da1286a5b8366467100f2bc471775998529b585b60ce211d99765b1d06dd6f5d798981e46cba9cce47bee2352b0ca027c0e41875ae407790d3891cc60000041dbd20e4a1e2e508553b0efc399b6d1c2560663270b3bd3a1a39e40b589443e5f0e43ecc3c1bffbfa1550674109442f3ca91746bf39851aeb7106d92b025c2cdfe6d1a4a211ced2dffd4eaedbdef074691307d2c4dfe7b06c0822fcd0ca225eff219306d990287eb8247dbd71a8d92581c3240b6f9c0db5133a447e4c74522e3c120b2571930cf8097299cee67a6787160708b7d116713a1b249e94febe72bf9265acee09880bc651369f51e8a2533377bf0a20ae6a19c868ee4cd5378b28b0bbdcf649362fcf952453389804b3b61f5a1827ad3cacbf28ebd2afe81ea1f27ad3c98c8d789b6d9cf506efc2805e4df8e19800e0d1b62563608717712d6f00c005fd6ac8d0ce5d5e0163f4922189c37cd17e27a9034ad72472253987407d9094684b5def68dd5ed64137895744640dcd3c70105de3cf26f122b339dd5001184f5b0aab0bcd1ab30d75f971b0a10713f05a02123d8ebc4f5430c1cc6505ca038ad2d85fd547249347d4e45642ee906aae4c6b08ceeaf0ba16cc9e22f809c654bcaff5b0b7bcb99724954773c3204f457f6611236a70a1102062608d12f751763b115bcdf2808ef82ae845035392a499ddacbe10e9ab92fc9aa21112c1053260944cd8bba5641095ff9974815db91b7a02baf304f30383b8ec84e9c39ef35c5e03b5465b12a19570542a24dd5133b2c211a16d22f1496d32a3cf1c88dbbdbc26a7817c466e9aceb6b16408af6edd73aa6398c51dc65224c189b05594c2d7185f91b3d67e0a1222a2caaa44ef405db3eb3bac032c5530b4b8439d99e31f142df7188e54765f492782e48761593c996c5c3a57c821b815cf217009397dec3fbe9dd7af3af7f8a37939e163d0c4da89e66c3bd3bd27b9d04245be75a81ff2404f698a256b8e5f15353827118b98bd6e4f5d9c99fd1d74b8fcd04115cb156161bed98a5a984b644ac09459cb627332935f4ec5df710dcbfc1deb9756646b21bb614c7f748411ccbe1cdad1f520a082600a117de0c61d0ffb0e15eeab91b425b43d0324ae9d1a6049f995c9568e8dab100591d225c10fea5a7e9829f155cdc6885d20b685400492b9c0250da9dd3eb586a5ab27378e208319c78be6f7d8e707470f3e4d7ec8e5503995db48d1a0330b95a846ffddee03d82c79ff6601963be1964e584f50a3ac01b991e0100758293c29a4ab42c78914e4da70e34b6b1dfd145c950f680ea6be767f587c55a71c770e3552fe0d718b28692dd431032d3fafcbc1b357e48f0afc760670a0b1ff8f62c0d682f4ebdb490eeb8c50df3550bc7641820c9178f007c4aae003a740e41f0f1d49de3fa5bc5b269c4b297e7e9e4ac38b80fec9238504408cb6bcecae0537064285d10cfefb2507b090cd63edb31bf7e406eb8a59bff0dbe879d4c57b737343f9ea35db4e199f21286a6c17d727495ed8cfcc78b80dd98c0cda7a3b56f9cad8a1ef5d66de912c083714b8db6fbae3563f162c75eb8a2f402729bc04559ad782a08eafe914cd9101cb02f4b3ccf6f3330ac99c4b9ff4f8aee89235485db253e8b8439e7b4d293224abcce9c06764700cc7464389d7d4bb42a2338fd754ea64a9e90806b406a3d4210bd18d686b42dcdd9ea192d6c27de9ae1fa2c45575ee1d2606467e05acb2311110bbc882dc3c2c5680bdaa01e94dd7374ff52d20f9ee78a35f9cd88c3d729f278c5fba7538719e5acec6591c9e6c83f5ad518a31416c133b5df498acc9e84f20237e9801b36b943ca8dbc893a8186948c43606cd25b6b0323e932702b955811b91c51735bc71cffaf10a94eefc80b9735d3d5cfcde7db5cb3856023c005b260ce9bb64ec4feef0a57e28f7a24ed9b895b54343e8b5e10e620ea6ca280610c5045a6890282ae8c0e951c37b01448827a9ecbfd09fe438e372515db37b2ef42b1152dcde3816ccb69b9d5f8325765ba89b966692a4e36765cd7638e0b263ba0216d917ce94031bc8e40fe19779ca8edabf96dec61709342afabe6127920b478a10c3cc9b175493e0a254106e0ddd5e1d913d0a114901e8ec966f6b38ed25420218a6e8b5fbe5b3146c93ab7ef83c1eafd7bc50d516fcc4b4d0e7146dc34ae47415f3ac1cb5d8ceca239a4355fcdef9f392f4c3f478c37979e882af6deb6f5e671103ef974a2adb2888524e2e8d0d6b02961356c6370a6e02912bd8c518719e5f0c3c94602d995cbfb65246d46bd9ba777ad40cfcd37a197e2c9eb8df2ff34c5e035acb542893b7af45706e4cd0f653e4a39ff1cb54dbda4a79253b7b8f4d3037168a64ea9b001b55efc45503f47d1a5134a0db8b1ebdf17349b2a8a61057a7221025fb1b3e1579e39be5f3bfb31ab53e4e500980dc3910e255deb8d19805bf1705f562bc40872789dceebab65c0d8a2fba8ff344127d983efbacc3f55bcde4e92cab18204a1397b76ecabc4e602817fd4f936f3bea04def967bf23089060ae381d3716206ac6741270c22ca356189b3b9c37f74d3f501c78cec4ae813c411c370a6a9b4e7a364a8defee8b43bfc5fe2ac9d3027179b5e70a2f7523a587dc82d22630251a4b391b90f0072e11fa43da34449ccfb02bae471a5695e64baf5dd7d00696ea3a2c479f9a7fd12c4671de9c75722af50509b192570c2d1c453f6f6236151b32148570e4bda9a8384d07f9464d7b5bad9680564faeb4135152a0a744ba131fb1eb3ef2ee35f2c5390d821ba2308f2c7aabba876214f596520800a1a7ea1a5ce27d3c4c006cee23e3efba46e223385bd878d4a04f68f1b8c8214e86117d26ada77794905357f01a1675a4b8c286b69779e1fb83aa00bbedda5fd612d4a5243df7ce3602ce562eac6acb79f24daad8b077a36eea4ab0fcb75ff858f43fd71a5eed3e74add6e118990add309c1f3c680528618a188024c8ca5b9028fac72524cbfe9403f41c14b86416bc1bd5c54d3f00abe90d77de6b3432d98cd1292b7d281cc1ab22c81f014b5547a3b7fa74e37ca10e524197478f152d34d59289e4732186459ba39f8b6f30c71483387e10a24f8d3253cf7530760912c6e69e0a02f100fe03cd7c6faf24042b08d450bfb5540382a2d06ced0372efc4ef71fb83b14c150d55fd851fd59a40acc8e441606bba4c30fa91dfcfad0ad8d5c670ba4881b817a34b97edb9034dc1e34ef4d76052f0bded620e707322edb572a7681a00401c0c1e24fd1462366da65baf51d242a1682d812bc7ad72942c886e01653aa0fefd23e2863c76f5a1b0f3621be1e309af301bd4d8d5fa98e014c74abccea979797e270a59099ddafa448e3ba1113e95212a1f2d3cbc6fa428f91a839cbf0dbad0231644ee3064c1e8c164db53b6938773ee4f6d94d3f7c09d82f573e8c988ba7f7e304e52af7a1ed3e6e0c98fd49869383db9cc98b11c73dff01da1d50a53f8599a254fc89c5d12b3287241002f16f0f3410a29fdd8113118e3d35f02fcf6a352331d5e3aa4d705c855e8547b23bc2a9c958cd1b0fa38abef0d483adde2b778a1780d8d945bd10e6a06c48f2b7bf6d799eba65b49af05ef88ff5e4c8a5e4977a5cd2ef71d656fec5dbcf348b00f4c15ed6b2f45bfcbb59c4a65716d4fb5e8cd113e1f3eaae199c19353c863dcb9186e46ff9443616dad1f03a462535240c6ed489b2ddfbebfc657a890b650e6bfcff2782a602f5c1947037f7c1d79dcece6f63f62146f82481c8237e5d02cb5085f6974bf90e8cac9e8bdc47f205ab4d35fc568e92d8669042df31c322c7b405f1532b5ead05bc7aa65123c5ebbcce41cc8e1a4d91569e4bb0fa89217a44f19b31ab91ede0815bc58738dee37980643a2072e6cef1ac342b29cdc525e77bdf2118754d0cf467ddaf3847f22fc56d4a12688a487ac2a0bac9df3dd42cbd5f33d3538b52a264e1f3f85e94cd5451b7554cd2e72220a029fca2941963df68417ea15fc868846ce10258a495b773e710e574b7d8d108f13af6527dffb2d60ee0074ea8a3eabe53bfc76ba87be01f82d5c6098c57a0a21032bc5e8eff377a451639c70ae9a7095d2dc8730633b7a2fca27229e80117e77088fc018054c0ccf3550378abf528e562cb0ca36ee26f69716c82340744034e005273d597424791c6f99abf4837dbffccffc9d5abe0caf0890e1a77c310b77612087ac691ee608ed036afd4222874b069b68c3aad1c90531f3002c2a93fb4e3c1543ce21bd8f14a0096e10c87639c62f538bdf576f94022e330b3d60acfd6b191667099bb2e670d3ac4cef3a9f022fdeb7bdd706f4ced511a1f7e8b1120173201b3333456c8970381f8a4948025c2c2ea1da64e0e9fb37e7ea9d520593ff256b2330f95610893142ede1d1fbaca860f28a08f482051bc8b0b1f8c9dd8b65092300d14d93d91281f42f9938702dad9b6827d7cfc25f2271c017148785ce8e049611953163a4a493e0bf896008de0279468b16ee8ba3423b58347085b3186f8a33168b53c1ea0d23f2850780c587c15be5f75acacf26e1e1777f3da1b111c2b6d80650ef7cb16774f445b355c1055c1f87b69517c7ff663bc2ddf5e89b893d96c81f0ea44569c76a3d40262a9219a840fe6a12eb6b92cd95e7f962a92b3f82d7c12661ad5ea81580a922093a5727023fd5ebe5bdca8ebaa351be4eeb677a664bfa2e7adba35a1c5f665235e9fda63e0e25b71aae13bc25b3f075d9664c804519eb056bf627adcd48af6dd3bebcdfc744d5fb62a9441937ba4b9e50bf4570dcf844009acbe241c25a4c2f545143516cad79bcfb99eb5a186e607fb3f6ac0040f93b26ad78f8686b2461525053f4f08dff395044373f34dc25936f4434a14b70668107f2c03d35b0666a68cff69e29bec25538fe1d2c2e9e0d6888bf0af464fb30c7289220e088c5434a89f72271eaca6c7d037bef21a0f969c417869875738091e52d506d9a0f0b591150d1523e8e3bc820b0e9f957c9a022a5dbc7d2efca5b595502ca54b148e5a202f4db61e569034f1156ebb26d01a5132b53e74cbb4452c94d1b8190203ce9c31166165947f48e5c04abe9bb9e6019b8a5af39fa423e3879002cd59c2a7045074d26630413fffb8bbe6c18ef2b4c814885d8e2aac3371c6a702c5cbf62d0d9080b4753984902529b2bbf3a1ef1b57c3410683270661e62d00f22740c639693a932269f467dce88c31c8f200990a67f283590bbdf98a6ba002124da8bffb4f5290230a95f060fc53aa1be6334d18cac330157a848c8adab47ec2435a499dc0693e69455b09a446dba9f564d3cca1e6617314da129024ca930320f896f62c11f6dc70271142a646ad5a1a2907fed918e3788a20d6c743f9b6445297b94bd5d7128a27dbafdfea7f4ea7628c15292ea39cab4827c1fb9ad54b2a314b3fffd9a0d9ac209c026c9848266d90499a732d14e99ca1fe099c4031d028f2154a3638af64ff5187e7d819dd99f7a9a67ce51a27f55321f29c7926b9b711f0634792e9e9ca11cb29c917b6ad7834374d3d262fff6a10da6ce5ae1b342f07b1111dca4ca1894e29d8f7675916ef73bf8b3751f0ee4dae95d47b4776f4a5c9d15cdc376f815c8b8631ebe9f7d3edc603c6f754fe07ddb2f62e29f372c99918a24bb1f6210056822fae060a996c816cf2e482db017da5ace83da1fec710c587a25d6e7b4196ee8791e949fe6b82b1f7b4caa58cc2fa2e53651e20856f7038b43172b46253bcbd4ae033a7481487607a8460039ad6eaa617f93395c42c52bed75137e7a94c05c8b80484c0cf87f37acd1892369a21ce9eee6cad2df8092e947f2288c4a16a5f13933841a27feee0dca3011d2b1058f47cccdd59cb9ecf9786f8b1c38de51db31f020de7001b0202264572273393fc13585e7e4d36b8c1000418b19e463392270ccd26e64e682cae176ce684b78b974c0f34e922d68a2037bdf4e268689c76d77550d6ced6c984f6e5fec5662682ad2583ed84bac434dd6606ddd16046dd258b1ae7a8b1c898142852f6714063f5251d2a807ab6074859eae66e71e51be02cae51724d75035475b2994cbe91e8e411396f2755e6e9ee73cb8e2801aeabc35406870753476e9be267262c00f11228a751e4ab7be762c14a8e2f2640710f917a09456141e599fe955d1453eeb82c7595c43c67fdc23afea6f556a5d09f587ed4e3be4339ec548fea090b5bb7806ff59e2c8b4ead2389acee12a4ee92cb8e29d8e381ff03e61cf6ccee7d7e32b69794145485782581774522bce2a7a0b43ada8aa1e179e63cadf2b966dc1ee11f4d62ddeea5c730716c07789d4413e1133eb7beef1871c36691efbeb4af5b28168e6bdb419a0edb5f00003c110d45603c914c645bea01e04e9a923a99b2926e07ee583510b3797e6586377b0892b072f3f883104219c28472f233efc63b3502d169bb150df9a39b2450c19fa987b2b1517d60e2ef314aa0175cf77622b6323a2c14836294f2a4ba5040338819a59990820d4ef42b79770af6a571022c9a9dbe2992688da15d2b57aa7435196ca2d002b76c255e299dcd62dbdd9a0edcb7249d1ee123d713dc97ff09d8dad324b9c3d2305059b8ed2338fc4ce96d144e3d1ab8277ded7cf6c7f051bb3b722cbbc5b982d7197f18c3727891041504cc900a1e29f732db0377f1b85c777fb42fd32a194070d3a3b5f422e57d8e5e8e885dbf6c5470310f2f564accb6256dc1623b447f920c94fd802970aaddf87430b454bf874a6452ba69061287acfba88dfbb874aa12048f342b149e1389912031d77da50dd79e0e672fd744420392ca7049bcca5a3183ce397f2bc3e31b66ee539a26bf256a2eabbcd8563450efc084b01b18a7305165709c8e37a6ab74a3d7c25deb7b9536c9eab49bb058aebd16cafe335b0ed9602a46ffa235984aa73047dc817a90e6cc461fdd7ad756c25b26816e4190268ed168d0341088f6e225e9882a2afdc2bf970c018523a3294f76f8a85d4cb41d2d6151b056c817a3efa1375bf96bfb0a3f8cbd40ab41af2bbd44339f89ae92505f4048c25c1388680068e87474b8f656ce8b0b33469b65a38ce7e2bdfa7691dedb6271c3e4c7e4b94e9affe6a09f0e3da9cf22a212e1aee4d872ee90786fc119fb3081e61b303ee78c4ca4648bb8b51be540f0adb850dc0e8df522bf83f2025429b069ef0e2abb222077973440af33fe6934dd341f7d2239d0a9a159d03e7faaa4208735a3b976c4f19094e42267239b4f4cdca834725d906931141d6af76f200a1283c0f86e64109c35f4efb275d057075c9da30fd8102127685d8d959661244760ca351bceefab641612bfeb4f7e25db889bb1f4f6046683ae488e2d183abecb02708fe2d006bcd1e88bf2933ef4647aab6feaf6df5885522eec7f0a5bf1a78e1241f8d91b142c933a738b044c17ab681b07382b7e30936f929e7c87815a9d6d32694bfab287cdf8be19086670aec5879f0fc09fa0e27c1b242535d896d94548402baa59ea7d481459fa012a432fbbe857841a96fd78c5faecf4352eb36064dc62cd44e519821df71f931af847398c203d5a5718aff8687a8256ae9faf11fea7f1381774782846d9b9e7c490065376494ce47f6664692d18135df7e2a64b694ee", - "public_inputs_hex": "0x1486143d0564ca941cac449924e8ee74c1b4433cf73a6b4920737c223ba6b1e12cea8929fb754c481f79a05e68a1c34eb725f12e1ade9b48f276b0751ea5f7530000000000000000000000000000000096caaab1519f9c493a2762bc243ecbc70000000000000000000000000000000049a5d43ee3b8c5043814aa5a7316c242279a975cf4064ad9d6264b6d09d8e20b8723a329aec13da8a13f1a8c44c33a62000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000051cf0219567a1c9da0b0695f725c5ce8b4b4c1c815a78c3449b51d6ffea86e7b51e9a7ba13fdc7e35072dad9840c0ff740b975aced55b4393ebebde545e8fa2a119f17a86de67ccd256d53ca2b3513476f99aea46bfbd9d43cf7a45be260cc6572ef8774bf85e03194313357127b7068d7e930f94489bd04004ee319b440198ad0afd7f30ad29c11b45a254debc952919c82d5a3aa5c2809f13e620d328e5a5d11d59a122a6c2fb5895facece10f2f8af9f7bf5fd214c25f8b960316608a024a30b8c0abb4be900f36a499c5d2427ba6c785fd101253ce5820d4c15c2fe44267323cb9b01f24368d7aa025bff7e953fe92a0f036ccccde21de6e4ee25a21053950dc12b53ceec02487e4f22e42d9a0f43044e6ca6bc8340983292388cca8311f00e3f15f3cbf662cdddbbefb12cbf48ea5f1e46340678e246be15ad69fcf5ad460000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + "proof_hex": "0x000000000000000000000000000000000000000000000000dab1f2705322dc090000000000000000000000000000000000000000000000059937851e9eeaef9e00000000000000000000000000000000000000000000000ea97bc73d9fc6d25d0000000000000000000000000000000000000000000000000000a4aceed647bf00000000000000000000000000000000000000000000000dc2389379dd40a43f00000000000000000000000000000000000000000000000ff398c36ddb8a69870000000000000000000000000000000000000000000000040b24615fae3fe4390000000000000000000000000000000000000000000000000000a5df112ed8a300000000000000000000000000000000000000000000000a97b5b55122cce4b500000000000000000000000000000000000000000000000cf20f0eef621690c40000000000000000000000000000000000000000000000075c7f32f63703a3ff0000000000000000000000000000000000000000000000000000b97837289a9500000000000000000000000000000000000000000000000701fb39e45837ab5f00000000000000000000000000000000000000000000000336cecdddc5f780dc00000000000000000000000000000000000000000000000edc656fa15a38dacf0000000000000000000000000000000000000000000000000002ca8b8c0729710f0138c5eaa333c30e63e1f781c7352c75df0b5cef42a219119fd65b03261abd11d59c34f0bbb615b68d1626b9fad17236177caaf9e810e1760867aaa0addc812ae9a3357b13f4860fe7396f46777989e79e3979c02bd383f195c2f323f176cc0e480f41f688a82b6544df11d2ce856a15b9c255174ebffd4edcdfa9e3a75d7e0d617cab8225dc0a79662a5323afcad86cee5470b70f50020b22427cf3f55cc60af4488482bb45f56f05f2da5706b1787eab96f6893387d5204f5d4ef98421880fba4be41b74685758e9c1280efc5644cd9d10295dec497c891cadd4511f7a3e004bec88462b6b8f48ab605801787db2890d1b184861cd7629cdd68eaf369a1219b556306df4d1ebb3a4e5ce4de83e0ae75e546505fac3d582f24c5183e115c22254db240cf3d6abfe1c59f8fc540d816a1f9ec59d68c8a8f1c74c984a328022168640fcacdcb2df51d9b16dd0dd5069d8ef33ca33ede189f0c064db1a1e305317325e73abf69e775f1df3b2ffebcf2dcb702648580c50198f7b650d77e7021a1eab83fd76799f7f8f3b3bff81e7f06d69f800569323edb0ca133cb6bc6f80e72246ea530d446f11e1dd2770643be842c41080b9bfc76ca4d884a653dc47f308204da11aa5672b7d606c49be21d3625e3f649f3027f7c4487efde72276d3ee9d23108b3ef193fae97192c907276ca9581dbc19adb2d24e7e871ac71c1f73d050177280c2e46f9ddb87bc59f54e97c121e6543927251d61de7ec0f90c0e517a0715f8e09f30f1c4ff04ff381db14df604696fdc2e95218848eb21637f79fc5b1529be5d686dea8e4100cd748c33c464cd055d33e8b60007ca79a00ac7cc9457310aa304571552471801f4897cf2aeea9903da5adcfaca026894d20cacc8158f8d2bcc2939fe7fa7dee602fa540e728bc8dfec765e41f4924c7e06f76c93fac84f2274cfa56685fb94cadfde57261f92a38634efa6aeecc0f0ca741995dba359990b47ed19f5728658d1f17f41f1622b79de7c407e0822d94c6b94b4980652dfb328857a33e89c880cc8ea4491331f71fbceeef233f4508a4ed07e38be1cc43567142c24eb4f453ecf097cb85507941d18ec8a7dcd49db9e392060b0eb0e91de7e16e33da0aabbd844c3a23efdf0b41c8bc7000ae170e2395805f14ec7ee51ad861ac40687363d76ac501d539ec858453ab29c7f461f4cd802cd9e4fd82ec2680b1b7a2e38f8e9176613ef566adb2c6514e81d1f3beee2e3470ff6aa2bae184f7b2ad73d89f1f274cb8090d99636925b5d6c12aa7f1a9aebbfccd2705adb7b474806466b885a0fcb909d2cc915d6265c3bcd7894604afdaff848f606de31b5635816ab6b14acb6875e466d8fd31e1c3bd6d7687724ca4ca456ad12d0b28e90bdf128290cd4a2076317e6974b63f08837076fa73aa7434c5c3f0c1967a2dbd622ac1eab4693865633e3062e81aa476ee182db53656ad9e02720e573d2b44ebe20792ec42cf096fc0bb1016ecee7ac52a468023e1e5e6392f811dc27aad11343b33e02fc15437c812b907383c22a74d85b5868b05a3448c49cb483802507345e65890bf43683e148739d6198e3d1a50439ed735416b22c5eccda8d09fd2bdf9e619912756923ffc1f34090e10a94cf5cf4dd938ce0b11cbed374c37a5f2461f727b0106db840680c8629d25a66f5acce9f6ecab11d5f162dfe2a16288b259bf6fcb601561ea993f7a65c443bbb7f298abb32a8165d2f4b51b9adf0fa0b46877f3a8b13a4acd2e4d8de5d1fc7bac2cc303a83d518e10bb45d69cd5734d74903b1dfae182ba849ed5fa782d41028276ab263f1a4607d69dcfdb82fde6af27c75494d0e1031115faeba40690f1b9dbafcf085f1b05717c17b4b70647e9de6979f49ab6315269fbd120cbe99e98bc35859af0faec9a5691baa99a5e3ecebf1d22a11425217e0d7fe74bc0719fd2f6e7be3118bbc3eea8465aed40c0a66cb6bc7208a4ed12f34df7fd327bb8609589ad2133f3bb32eb7a3d75bcbc4b2d84ffd2f3ed1d2692c8a1de6988b8d5d856bcf6acedb7b7bb54fd9a4220a4e95ccbf8227879b1d4b27721ad1dc81e7236f759e694d18c1cbf83d258b7da38762b864647be849ec89069c7c9cfca4f3098ef5283b68c4bfa3f7e349863d09be8709ed3432c13750d40b98b1d350ed3f12c03d995de1bd0011de2a9dac1b609857df08a4835baea92e2152c1ae42891e5e3c523519afc60a251e55365862e3b6b253ba07d677d8fc9a0a446776f496c5ea82dcad460dfca2df6bec8b8857800171280dd634eaca57000be63a96a4eea03ca530ac99d7a48b932a80eee7a66c35a010ebdfff2c566e812cbecdae87e5648af6ce3177f04c8d5f8330beecc09e9e0082c33808b07fb2582ebcbb193e3d0992895f5caa98a7f7e23732ae3d2046240e472783d916e73e4211ff55b38e2a0cf64501095a18d106ff9450040cffc96a1fc4424d9f4c5fb55a00f0ac266e820b4fa9f56a686c1a9868cb165342d39d7ec80091df4992b443540cd1353c9ef9fce3f658ad03029e04542caf3840d31d7b294c6874529b15b8ec13459923135cc6d9fd9301875221012105c0b4e5838c281d3ac98a041ebf3db00f7005c160108c219827c99a656f6fd8865b87da78a59083cfae24c19a960b36129104f7db3cf11c0d789f8ae43761d577f82420591ebd8ddbd7f9521936dce1069183203eb985c91da47e82c21f20174178c65d17f8441fbafd89a3e4bcd5c4160ed3be79860eaba6a8fdf2f2957fc1e614cc61575ea5665e69e1ed410a5b061908811616e8661d3672159acfe84471594787011fdf01562d98cb3cc14d01c62d44fd4b366bc34585e988cf93653824432e8390215c1b6ed0dc2a1219e53e4f0515cac59df3db06463d492e8a2d3ec03185e85783f19d4f70f04a621cab240b0ddb8973871538fe1b7e53838b634bfef3f75a243c640c91f1ca3975f4220f131752547470649d395f1517f201a8318ee6169468a2770b7f89f82d3dfb18c8940921bcfa8bd5d91965042b2976da6295e5eda6f2f245f95811b5426114ff8ac50049afd102a60f03f27f308036e5bdd023e85dad19a4d7a2ae99e84348d0345821ca802fca5509c364ad2d5c461d6fe0b33e32cbc7154dc832c0e6a918466d3c2d405ba05b109fb52041107f9dadd1682d3128ccb582e0cb28465a4738059fd62dc618b00d13a36c096829fbff4cffb6f02b73a2957ce1a1e61e343d7f591dc205ad83d9cf0b7dfd49430d710a8632bd89767aad98a8bb0b730e8204f881a2e9248ff3d0e59969a052fd1a69d7694fdf9791d158f023b27910790666512fe8151018c0206637d48fdd8ad40fe1d0b1449ce7d5df961366d0ef151e3dd928b1890c481e6c216c7a14332bc000abf97ca50363b6289ceb0a179be19ac0e967c6200ce5514029bc078ca2130d32eb1815dd1cf0f7d0ebd19bbb0f50935baefb37b01aa97d749e95b11cc16dc71d7363e7db06e7a3cdde427d85945f921a37f4bf451e5335aa043822dc67e5aa30a0547f3594ae0b96e0934f5b76cd2c230c637e512525c902f5a7fffb0d1ba8d7fc99a2e54223c3127f71cb17d96b5c12b67808c20420deed7171f3f25e88af4ec9b16b0642013778fc665cf1ec5b096ae783965106e2cb40c641e570a47975954f26315c7c34877ef0b575624ab25676aba3ab7c2d4557f2dece6a3689009b37c6e796ea2c7853ec9a744ceb4397c3c93b8a9d692761cf9ae4b51bdd428315beeb21ca38bcc9bce4a2a5ed0b816b1a24fcf37c291dcc6cbb1524039be546b3ed1a138565b48642b1ab01c56538da9bfe847946f51d016c293f6f6db0c025c4d4faf526fd59a5e728a772f6cb7226623ee91d3fec0c50cc6297e8c35ef0e5c82e6c8ec293078872eb55315dfa9c264595b20c0204113880865ffbd3905d243ea98e6130c313e309422ab2f07b74bfd789788b93c6279825ce7eec3bbb62cee2310b369061ddb1b481bba48e5cd6007cfc37610745092edc4adb940c785c4fad0ea5f1e5f2c2729b88703dfa35545bf9ba0c89ba9d217452745cf1e1c00810425ae04206f353f5221d4c4555f6e113142b8e7b4b6108560b7a5db2f46b136e07455df9eeb90b909c47cda4f61db53680c2a8cb7ff52e2f91c325e9b854f8a8db2582757cb2b9a4c89edbc4b276d12bbe434b56d20423dac90861744f65b093154aaa2a9b74a50759a3f22a70c960c05f13473856650e18071ada01e02890f70b9520866c3f5c47112293a5e3190d641439afc5d43724dff1131628ed17a5764b0639c15a4c1b9a4d21da24a484937805b4c0f571db29b2f281e640f51605e087b3bffd568e0d253600b2fa5407063d5694a2ca58c826be82a1b60e0c2290073348789519ec9a90657be707918a6d70418ab0fd370a0f2e1d6772fdf5ed7a671cc7f201b2de678b672d11fd4678ef1b864d62de87bc13b8e3b63da7ae9bf36d3bd7665c812dd0264e4a9ea913f75a7bd85647be6429252b7f39f273f4b77d7b2f92398641807c8136bf80b64cf03cf4396d5dcfed990d0864b222859cbfababe158d534fbfd70ef2d14757a93d5fac8d4d1f48331ba2d36d7ad4fb9f466f6acc59bd6a4dbd84a2b45e505e2a8bb2fe4e4a6e88857f307d2672592e93d67422954f42f3d2ed0474edf177a7d4fb5a4b1998455e82f67115542f489a426e47ad1f93531dd829add6d12a194e746a8c9a1b3135f7ca5be1cee005d432ffb9c246b9da91fa5d3ed8c38cbb3b2208f1d3eb25b528072c8c52e519800e748463b49c2f5d7c0bcb14cb0578e0a5c0c40ce4a57a3fc82078fcf099270909da09efd8fdbdabcdf6f2b07c37a34d880c838d3911f962146d969c4116df2d28c43d4296f87768426475dd71e8888aee40b7b6fd7640b8aa2c4654b28478181265879a4aebc9cc48f56dadf5f871a5a08f23ccd31122f96f5c6ffad15420bf8c2beda3b14826bac8a29693147393aff0176531e37f7905bb0950dd71edbe0d6ef3592a7f6251e426e90cdc00b385482a93b4b69b517cb557ff9de6c2bf9c1aea319fdd82b172a4ce52965761ffa674c3fddbb2ee3804ee50ce448c0027feb205af871ec15c26ffec7cc2561176593c0f799bd7c5cc68eba87ee396f028996d28813f30ea4bf48924353afa1553bd8aea359be6d490e38bc457460b00604c6a71f91697f794c0be1c1ce7aabd49ac21deb3aeed2c6162cc08d91a08e16d8abb79756184a3f288d1de4713a0637bf315d34dcb10a70fce9c264fe71631c14e1a16e2537c704acb21f7813c5709b40ad424c3a073d63ace20149207da42dc763d729b1b1f0656bbbda327e590e5f6370d5260823d4d18c6f543b473947113db97dd2b4ef862cfa51ad7f93ca5439971c9be40986fde421ae3d3c39330603d014ba4167cc50d71a47ac867752a02a21d2fa9cd99d5fec4ab4277011db200951d431cc8abdc976ddc3552e2cc7b2f13b030118751937bbd044ebcbfcdcf82595d0f2d37cf1fd5f32cb6e31a0ce9302f0eff1541cc87f958d370d4196d21c05b0fc5960ad82ec64c7d294943a23d761cf2c4cc4e837e974c3a00b987234b425d812db5fc5e9b53cde979934299e1c315015186896bb9cd8ad92d369ebdfe724c067a88f1d349e93c4451c9b861ba633708e6bf9ff2a8b0d0fe4c2b4923aac060304b3ee3db03909f14ddd1f955349a7bc99b80a9b6db15726e919358c8199076ca34a2783e9d75a2e807a169a63c64248681a4e8f4a7c95fee73e4b87a9631f6ae8bfe8e001ab63b8056113a19450008417e11214a811b3870ca586bf846c1139295737ee3a02340e40b0d03a0f3a2f5318e77a5557da3f6c3e55f802a2ac2126a8e6973c191d86f6c5cc2a0eda9e3faccfbd899b6e6bc8841e0680ede1351e3077a8b5a64873ad4715bf7de557e35853aab2d88c4d2e1021f91108bef3f9064a2629016500ddf7755b004b84ab0fb56832297383977cddebf8742ff8d4172d5b3e1abc21c3a8d1522ae78eba32ac3f81e6748eb1fa6b88740fb52d671dad05f749579ec34040a0ade6f81f8182a964079d51f755ec3e5721c1509baacc070de9899ffe2f8784927ce9155e85725a9c430de4a4d2cee238c3b9a9e3d608892656c8e226cf87b47d712bef1a49de5fc514dfbeaba86af816be7860bdb8fa1f29c736aec6150b9a96bdb1fd100f5605a3bb7107665fea67c7fd398395155b162927c093c5afd4741941fd807c2446980d250070da985341d464db1dc479760b0dc6d9555de5b20698a7b7901526a4c9fc21afc4d73312c19398272b5d6b97bb2e690706091779e6497477ec6ea5dd43c879187c232943c6a8e404f3f1afa01407be20faf3a7f141cb15ded4f72e817aa57167b2f781b7ad4f2500bbab7a95b71a537f1987eac767a84635b413d3c6cd75f91b80e28504f4ac2a71b8041fc224031a9068e07cca9702e85dfa164a68f89cd5ef87ef17779da453260a7f337b9c1e436f5cde31957248baa358ab32b86d8df3730f7157db2ecb6667d7de3ca81105fa2c321ccf378c7bf7dc7d0872aa8901bc34f8b33be509c702421dfc528c6d1d8dff3a3a47b075be48f5ff20df1b978bd263f0886fe30e9ed32668c6a95e6b18614fcfc62dbf0ef4b89ae5c8539ea10cc00c864c05fcdf3812bdca541dce612ad5bfe678e944f34c256c66c7698dc5173d53bfee75324acbd2afdc5376563528afe1d009a208f732a8272001372a93a4303c123db6ca4c59a64963fca4e1490cb3761e4b8fc71b77957572ea487cd676758714151827b9dd0bed05e17f95190119930fa03f902c294195701266b0b15fdd10d6a30efb385c70fda64374328e0c1cae0be0233a7cf9507c90a779c923970120b9175ee28db1d38fcfd0c5dbee09b7c659f7440891eb574b7dbf51546c49c171072df4333a1be956b4c0a605690cfdb35560bc7fa8e9336329d60fb0dfcdae1f627cc3e3085ece162b969f2ff5042cec41aef7973913927c05274dc5e06ce1cc5574b096b35eac4add5099551f08dcb4c7296fb43804636605c710f875e74fa5aed17e6fae8c9916f86274f8ee1bacaa368f4fdb014d8d69e8d937ff6a9ace8d0590a1795d6f0c3d4c8cec34bb08c7225ecfe51b7d067cfc693ec5a4a98621a7c241352c15e35cdeea9f872c0709322149945eb4120dc4edaa785f969a14e5cebdc5c429c014e59e2cb107dbd5021309cd73c5480fe2fdf5818561a07af42ee409e8e17214fdebbb6f36c3d34301a9c0d9a15e958c5ae44e2657944d8e964aa5d228915c3e535e8d15fd7d31172ac8cae9dd98b0dbc4a3c2e1ecd138c3c394c48ac77b37d67b1a1a285b03f2e82fcdc71eb5e2158337f821f7bee5669e845e726202abee986cfe1bdca8aae7ca2b827b182d2f1898014ab2df7874e73f0069725efdea0cd84892d917e632fa2d1c2a5a618578a455c023d88922570e49bce35a00edc58390cb2815577add1ed516c6094585c76566829caa38862a35ed93ca1aa4be6d7ef7e50db5d3a5d9cef102a6df339a9e273f780a8e87c70667037f4845efd232d3ad08fdebe977afe29b24b27bd6f056d5d2dd2d3f7909944789b8207f1ab984ad2095f1ce546a387d23139a3b11a902e301b79d9e488e14a14f88cff531b8ec9a6baa605800dcff19332aa7ed914f0438cbadd458a16b8a0b7b6de608e7f960b40e1c45e83ad89879be117307ad03ccfbceec129dd36643c6f75c426f95303cf3346a1adde17ef60c7e129a8551f3bd58d81cbce651038909db7eb288d5c03317d1fedd26ff74447ccc298c603ebfc9f526e942faf2c5b61cfb91d29821c29148728585f8d5c5fe032803f814b89aed4ffc3d5136685bb2569b3d60c807591d84e065a396032dc0e50e2184a74d579ce172abbddae7aec83e825afedd19ceeaa5088812ef176568e56b16d49ba9cf230ee2f6bc2448fb1390351de2a93c1a4634ded8d377531c48a57c21fe56bd789ebfdc5e565ac29e587dfff90829fe6efb02eea06930cefacbe50119f5b4ebf024a08a85714e3cf12c48e204082dd77fbb6cb3355c87c4c66365610997241aa99f6eec2ec28bfc2725d852bd5f1fcccb339bad0efa16fa44f14b6721a467151ce0df7f908526524662221b72d79a32507a23a9fd34be17baf5c79502afee2e046d364a3c7d756faf0d595c3227fd3126046c3718966f9f3fc73e6c2d0e38f95903bf248875eba65098d4aad326c0b53ba09f2be82371a6451742342e7b85e037381972004790b79ef96948c8c8040d939c2c5bffc792ff041bb4aa2925ad9c20aeed9904bf27664d081cc3cc32b56a09eb5a2080010300b490054922d1ebf29813acddf2e9900cad077151312def57058381fa98c9bcfefb7f48ff2dbe389a37760b4d0e29120eafde2f5958dbb259a7a70674737a33ec4b9f178f0fce56d7da08422f4c2a75377610cf52918380bc4259bfd387c4d4614e99b87c12dc3a14712a9b54dd420a5265971ce59b698b3e48f55ffc0aa13b0fcb0a10e520ceabefcbdf7a0d1e88204c0eedb4d2dae6610d6556aba2d5d7101ecbeea0811408498841717d2ec138d5a7a73aff638f072b67b17c60b16172b4564902d3d91c56c06f47af4674419817f84a30d05dfc1850caf6ee4cee0a8c26ae3f3c98452d5aa70125e501643fb247078f57dc329ad58bec994f76caecec4850d012de451b323399aa8acb6b78b4171d6df7628428a90ec40eb97113d82ba8923c280be02afee1923b61eaf90d7d208a7d0448612ff3d68e509336ffafbd284ebf6de9c410ac1eeb50e783a5a2380c5968813c86021d17fc5497015d13dc3a46198f811f1608d4d5c98ec72a4a1055e4640f62014596fb2681b9c2e4f2c58fbad7b8b02f0aee9cef08f59cfa3054ffd726147d3653161783a18d32701d960257a274da621b8691d5de1bb690c5af4eaab937de38ba8228eb9eefe13f870cbdc1b99ce9842d62137ed7fd004c4a7f06b844695f5a0e352b107534880a8af6f45fdda940d422f14029e604def6033d0a9e5ddbdeda2dfe0c40a705e50c8e685aabc3f65ca20bfaf6364b8fce9ef1962cb0fe0e5522b125d9b47af6dd7ca657ab387ee1e9e019aca272cae8f6ab9f984caf02377bfcf95f4e1ab9cb0733a390ee3e30ace16e2a49b928d647d50b2a97270bb48eaff3874cf9cfb350db96d249a97e50e98e1e1509730172282e4c80a602aa1bd95eebd4e70216d9a227dcf8c0ae8fe2823f9a13c437f2efbc143345fae0718930d9274a91bbb62ed41009d1e5936e3b0ce96324510f897e50a1e11381290816ba51e71cea2a5260ea5212dbb058a4fc0b13d51a567d25cd5282097dd1427b36d58739b851985aee7804f8d81d8b5430830a2a0925e5c3cae1d7ac89ca229b9f3f053f09b144d4db9b967eee9809dc35b31a9721369eb1166ffa110076a10bc41b486ad79db404e9be806e6962d4b3aaa7c3fa29783f01b36ca1dba00bffc35474aca99202e8c3e2a2aa2037b26421bca5fee62a4d94c78a8e1d50aebd4e5207b011491cceee8b23bc28f54f22c6fe9c0455482aa11c9385e6acd5b16b2f47ffe244ef0bb5b3457d0f5a4c8ef207f62f2e331b0504c9b42fce5d96866960047219e709ff023005ac810490dc32e953faf54e970d19e75364cead29bab5d96a1790fd9ed078815bdb117bef0f210d838540c8ac0ec92c55f67b74544a9dd39b1baf7c6d115e7432297f8650e2e0ea6e4428fdc627a13dd2d69de9e8cdc5f2a57bc6bc8f87dd3cea47ac2219f44161d58ef5621f267fe73799872e035ae326eca634355a07dd98160eed3a90672239142ee6f54b0f9a4b166d30f6c188c3a27c56aeb1721f0795d163999e360e8a2fa6c6491c9a10909f3c53ec57142ea603ca7bf045aebe6876d2994c5c84e1175e53248e13631150d861886718ba2295c151a92e8e178db8c416b592b5f06108cecf6e0fb7641e088d179a6689bdcab2fe0cf3e859e9720aaedc1da8c98d59912943d6874f6b2ebdce0b539c6322171863eda7857939eed759e83fd2488c17555c80705f072b29a556e943ea8917a86c7f508dc1ba0cb54e9ac9c5267f724592aff1484f648d1943e654bd648d787e8da5456be30fefcbaef4afc37e38b863815ab5b69b1b9d062260fa0fb01a5d90e844cfbe296eba5765ffb35dbca9cd5aa6e13bd7b2a621060ad0c3a4f11b2560410eacf2ab2b9122770aecea2d7644f16289967d91bc37091414a00792709d50ab4b98ea390a7f6da492fe9fe712d27979d3376a6d58a30f052d0d35fa32e068aad82c83551f447cec361a1b06484a2ba1e637bd38f2fe189ac1224dc5a8c7112812b622d8b3170c2120fc5435ac9f88d972370df949e2244266007aa92a9198a215826e12c0450ec00bcbf301ed49c09c15a2e093780b22bc6467ae7d7da8cd48ce21902812aa43b405f10121c3d7039344ba4e7770f921554111895691369c34f91c7a4cc276fc55b5d6a9836df0d84512892ee09732225634910eda7e3ba34d8464dc346a6720c8a0fd054ebe806f40a1ead8b0746609f61516c5f3b48a300cb82869f328690d8a2c27b450a238bc721f0218f6021400f2fe9875990860b7340fa5a6bfd9458bfb5716d86f461f4941354d7def98b41b54c5be4698fe5947260c97372c637b9eeab8dc9a56ebee6de1b20696a33c8519f0be07752ecb659fb84f93dbe9d834444c695e37cef88a06fa41f3807836280fffd48dd963f8d9bb99c481d70faebc6d8656c02f11612b0995e71241c646382bc7d7d09b438b4a4626a7048901265b6776d43053a2cf670dda619aa5ef876602d75ae1dbcd3ce30592b396a9cd505aa049b2f865d29421d8c4fa6dfaf035252c8c050541531ec4b870ae65c49cb51bacf2c295f319affc1a146e20cf37343f0e5e3edea46d2fa44d80bafb74dd0b9c5cdfda4f37e74ccc0f3d56f016dd188430273b8345b50ce70f2dbbeaade3ce0620422c9e1e75b83aeffe910833f6472322c490246b27cdb65fbf3a698b979f62a0acb0406371999601470c5762aa18a82b610fa17a5eabc6b0e3e2b570e0ae7ce0299693b827cce0de5b3e709cc6e6b02aa89030dc91ba8973d0bfce3f7a1bb2fd46be1527291326228210fecc9de44b018faf23d7d4c2a61b5f4766fd1b07bf9ad525323e05743e4d1a54b69331f6ec2d9b3fbeef1c4298559e9d87a34cbeb679d490f54806bd8883c76517b48b5d2b0d80822828c307a715ea4a9224052d09d3b037ecf89eb4d8b48cbb2400413a4621be9b7482846c7ef6d992c9a15c5eadb784ca0f9e5f66eb987b7cbffe165d3401da351a59299b6063761b3a607eb9c1de9e51ed118857702b769e5db0e76cf72b66104be43aa59a1be20efdd37254a9ef9078879ff31d53e181dadecb0545e11d44ca7efe28d3c7cf3a8d89e451b11494475856058050c0996ea90f15d0707f1684d7fbf8633612e6bc505b8b0cd8181ba4ffa2a1f844c31fe032461aaf30fc0adffb216895c692d81569867262335a64884f988edbd703aaa8f7bd47e1eb170516ec84dbaf8c3cadbc9a4c9ca1f814b72e1689eadc313f886dac46f0b56b4711b04d482336a921c423455dd7121af12b91660384c20423a74094c9e540fa7501f19d1acd4ed4f6a79dfcfaecba0c28ee1d63940c364c22d7b889d6ec7c263c0223f36152a99c4f168bdb1e3f0368b1ad10c1b7e233bdb056e1d5c99b4e58cf0fe7a1e7f31cb965106715d5182076fc5cd482558d9cc361c252b31ea5c6e8fa19efcb902f650d2b4e018088c3f54f2ec7156dfa45febab821afb660d301ab0b2a4712b55abd79d11dc722d4a069aadf293ca16b36ae2fe8500e4221f7cf9b911b19b7b96acd3940419ba6e908f2adfae8a0dbaec9ae9f2482ac323d4e28fafe1496090e005dc98412efa20099d72c082c4cdfcc35843c138414f16c25a0c82f2e2531004d5926a144b7a0fdd3b82b9c0b3341504a61950bb78e0caef7c53e77292b4d000da12929e6d1f339f531f3640b2bc541455e7238f38cec8b2b30c99a2121c80d3a0414f78f13712a671d822ea06c2b97a5bcc092fba6b955de7e515f10fdf55afa70c3867d3639b2ff585a527b569d377326543bd7fac5eda29124a705202792d89a8f6a2415b75cc1fabde5fd8ef7a2ef115e96a33d346ed63ff18a071630a5f59761b464d3fbe19c67653a9d19a06b539a1c5dc9c04211176b8c8714c06e7a81d016e06ba3e0bab6edcdbe601335f66f7d1114a78e5e94d2ffb9470042c043378b1ae5cbed65f38208b30f7dff4f14c054d58aba73b7081436c2bf0b24c571a8e0c23ccf663a8d3b77035589a08da71919100418759c0491f8a9be21265a8aa4f95aa5f3ce79c639ae5b1173d8d166d548974212bc2946600f00630feb9019887606b6fbb47b6b0c32e5905ca6e4729e688c93e75d655d95f5e2811207fb84a3a4d3bdbb94f2e6b88bf6a687d4fb64a2e1354ae82f94c92d05298c1949c828531fc43ebcabfc03c680cc4f7789b1a65b6f2c3def9a2d6c2f1ff9f52f19c915d6696675ce10a7963444b55ac7f08ae25f2a4df9de73b7645db121c420193c4ee80a73bee8467487e907ebf160f44100d7c8badc6b5c0f872917613e00f7cb9a872e5372d5f21d88829315749ecd99152e63bf82cdca4af9193feb1601782e959e12fa70ab38019aa8a45aa6700b4c8cc0bd07adbb05d91de50646831e2a402c1f8738edeadc808c6e275d16f26dfdaf653217724e24b519db9200e52a082f0838b7f66c14d220a74387b99879cd884d2371f72ad57d9cb0f93b483c072f60b81afae13bcc68f25b1715d2124a04407a872569a729ad3b422341df492e10c8b1199b234e3255080d7d0f367aaefb1ab0c96cec091db588a3c78a33252eb1be630be69a3f12fb1068bd15e21cb67fd0865ffa684ce0a4d63c492b66911bc4838b4e3fb8b8acb93558b9093fc74a0808acc4a98c7c4140fecab79ec6c71e613916d110507f53a9bf94a3112a4eea6c04af0bbde869245807037a7f937b09b54967b24d0a31aff7226f21ba31807b2208ab1d9bdaaab278596c8d9ef4ca10b04315bdd056338193c891102aebe5c94fe6ccea338bc06879b034715f220628e6c8f6808df7ebff09ebda4ed9db706e760e43b5352d5e437c99056b91cb0c25ba634333059220831453d9d1d5c7059f39421409c63fd6cb062e4c7ee524f53015dceb828bad44598878c7dfd98d04319e11d28168af16c33b2a5f8baab66616e2516c0ae97e4eb2e926e0ecefb02b4b3c4b833ca7fcddb3e0c080d6ce7b3d2d1b544e7820321b5ee30f64dd50bd95f70b377682d2271af1ab6430e7adcb9104aee487188cad65577a965e9a9e58c7160e860c33c94c4a2529fc4afb9689010e805198e826789d18272f792888d0ec0e037a885d3378917b0ea7ec38c1e7fc1b7cff01f06635d1dd6c94a150103f21e91215e92fa2cf07235e68394cf91dc723a6a58e5775efeae3dcadcd1afc7555636c664868d3d86c042f48d060e3ab662e2826a1e5e9c0a0cd3ab368c8f5ad9e211c33c96b55befdf396c4ad64a267be2feb21edfcbcc00bc98c27aed6d904ee918c382dc59c83ffef5cbdcf9d7fbf7429357d8c14e34a4630e7cad2e7c58de6453cac44997ab77aaf25b463eff0bf520518b154c8de398e4a2e794c5f8b13e0c7bd9878b776dd1b5e8578c6a21275ed04e32fe0fb76a3308fecca3aeac218619ab57169091c0f371dd032569c537c5003bdbca22d41016ff771f73d7fcb07bb7fe83276f28375af16a24cd12690fdb528bcfe12a44fc15b73b0d5d162c2ceff049fbfabeb0862cf778b6fd83d834ecf08958f6db1d3388b3346883ca897252a5dbc7a73590840896fe1a4ffcd5a43321f1fdedc547dc2c0f7b434342d7caef835637912d9cf0211873be280de7786c12dd2706c1e49a352562dfded6d6d25a3232c7cf1e5ff54617debe35f83c6672d0d1cc3178dfc81a96863c8dbc7313ef10e14ebc8e5204346567bb2b91dc21aba2490468d6abc12a29a01cddb30b072509528c70ffdb3ff1031b208f8c6c94f8d13f3ce5a47d8eee912be21dc79e1955f53f6485bb396f5423ea29e0f2de6bc7303b4f2971337fd318a3454ced2b2dcf959dab31fc6cbcc261cbef86a147395fb2776ae22808c14ecaca51273271e4a16f73d6af50632b841c30ac218dffa916a104089d026df497a977308e745fb532d63df00d9c3c44106cf0493524a1e9c32283dbca30dee6f9ac71bb273aed52b5fc71d2d95eb482180ccc01c42bb54387c19503ab4cd34f895465940727cfa6ad8ea93163f958bc7de419fe76cc5d0e4690bb62d60dc8efb8c79a52190dbc53919491d405a2f183094a5eeb88dc0fdc543305fb13e883954d9529b8dadec42f32a1b521ea116ae6775ccc36b9811f8dcd42407ad78d254260d79a1ac315c37eca85633a6b4c81c962163238f0cf82104781b35a43028c819a27a1279a81a61972584056003fba420fef9cbc8d70bc6530621bddd283d91c2278cb8ec0cf29de9061a83d59b57908057f13c2393922cbe5a264df2c362287576e58afedbe2abbb53b75a738e414d3023126b79d5a904b2b7067583a58a1c4e825720ca26c809ae204b8dde16ee1ab257d5cdb3005341eefa2df6d933e7ce2b2b49fbef66c2f08f530f8e29796a9022c24c978ae84f391c3f", + "public_inputs_hex": "0x1486143d0564ca941cac449924e8ee74c1b4433cf73a6b4920737c223ba6b1e113d3a6e1ee0c2390b252eea2ac285eb7ab99ff1ac03a2a446a00a036dfa9537800000000000000000000000000000000856f0d6baf4f2c757ad3f0d008b1ec680000000000000000000000000000000046e8726f2ce6b197acee5769294b36511e9919742ce609e9e07b6a91eec28f3d0f8cc4fe94c8f02f425b601258f38940000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050a444ca00c435f8689c8d371b731a6a43f7cb772493a1604d4de7ed5b45150651607130fd1d30137fe854028304c1b75bf5e8c647d31dd8055a1180c50dd2ba122e33ab1534df04c0d044893c1ae7bf8327d9ac0ff9befaebc6752cf9680cd44162b0fe7a1a77dba1ca280214cd7aa8b2bb123a9aec8dfdd5c7d40f66bbdc0c01ddb442ab4eba26f14ac0476cfceea19a0179747abbd986d977b40fc19184c301a674b02ffb142725466cfdf10d3e9947c2d1e87bb72ed777e9219ec9289bd7f18730ecccb724b9cd21d8f9ab56f62d5018abc9573a1c07e2510c4fb2b65830d05210579ed45bc91b1e944b88c72b1dae7f20fc6acc2328161be3177cf3bb3cc02564e8a2f8187fd7814d591cfa4417f0d4eec8f9d2302ecf54cd5bfb9a33cd419cf51d58a970d13fcd46e4c1113780a2c4af6fb398e10fc8400e72246a14307000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } } }, "test_exit_code": { - "crisp": 0, + "crisp": 1, "folded_export": 0, "enclave_contracts": 0 } diff --git a/circuits/benchmarks/results_secure_agg_medium/integration_summary.json b/circuits/benchmarks/results_secure_agg_medium/integration_summary.json index 8942d97e9c..50abcceb15 100644 --- a/circuits/benchmarks/results_secure_agg_medium/integration_summary.json +++ b/circuits/benchmarks/results_secure_agg_medium/integration_summary.json @@ -4,13 +4,13 @@ "mode": "secure", "bfv_preset_subdir": "secure-8192", "bfv_preset": "SecureThreshold8192", - "lambda": 55, + "lambda": 50, "proof_aggregation_enabled": true, "multithread_concurrent_jobs": 13, "committee_h": 8, "committee_n": 10, "committee_t": 4, - "nodes_spawned": 20, + "nodes_spawned": 18, "network_model": "in_process_bus", "testmode_harness": true }, @@ -24,150 +24,156 @@ "operation_timings": [ { "name": "CalculateDecryptionKey", - "avg_seconds": 0.04554002, + "avg_seconds": 0.058301895, "runs": 10, - "total_seconds": 0.455400208 + "total_seconds": 0.583018959 }, { "name": "CalculateDecryptionShare", - "avg_seconds": 0.157540825, + "avg_seconds": 0.172438308, "runs": 10, - "total_seconds": 1.57540825 + "total_seconds": 1.724383081 }, { "name": "CalculateThresholdDecryption", - "avg_seconds": 0.251360542, + "avg_seconds": 0.263500458, "runs": 1, - "total_seconds": 0.251360542 + "total_seconds": 0.263500458 }, { "name": "GenEsiSss", - "avg_seconds": 0.3645423, + "avg_seconds": 0.388770162, "runs": 10, - "total_seconds": 3.645423002 + "total_seconds": 3.887701624 }, { "name": "GenPkShareAndSkSss", - "avg_seconds": 0.259903608, + "avg_seconds": 0.36501487, "runs": 10, - "total_seconds": 2.599036084 + "total_seconds": 3.650148709 }, { "name": "NodeDkgFold/c2ab_fold", - "avg_seconds": 25.924684949, + "avg_seconds": 30.915972162, "runs": 10, - "total_seconds": 259.246849499 + "total_seconds": 309.159721626 }, { "name": "NodeDkgFold/c3a_fold", - "avg_seconds": 674.193626424, + "avg_seconds": 752.928700204, "runs": 10, - "total_seconds": 6741.936264249 + "total_seconds": 7529.287002043 }, { "name": "NodeDkgFold/c3ab_fold", - "avg_seconds": 20.807950779, + "avg_seconds": 12.577649187, "runs": 10, - "total_seconds": 208.079507792 + "total_seconds": 125.776491877 }, { "name": "NodeDkgFold/c3b_fold", - "avg_seconds": 639.783175158, + "avg_seconds": 719.519838583, "runs": 10, - "total_seconds": 6397.831751581 + "total_seconds": 7195.198385836 }, { "name": "NodeDkgFold/c4ab_fold", - "avg_seconds": 20.688361946, + "avg_seconds": 13.481036887, "runs": 10, - "total_seconds": 206.88361946 + "total_seconds": 134.810368874 }, { "name": "NodeDkgFold/node_fold", - "avg_seconds": 39.738284462, + "avg_seconds": 24.454189454, "runs": 10, - "total_seconds": 397.382844625 + "total_seconds": 244.541894541 }, { "name": "ZkDecryptedSharesAggregation", - "avg_seconds": 4.727387042, + "avg_seconds": 4.600508416, "runs": 1, - "total_seconds": 4.727387042 + "total_seconds": 4.600508416 }, { "name": "ZkDecryptionAggregation", - "avg_seconds": 87.502791875, + "avg_seconds": 84.466702917, "runs": 1, - "total_seconds": 87.502791875 + "total_seconds": 84.466702917 }, { "name": "ZkDkgAggregation", - "avg_seconds": 41.303470917, + "avg_seconds": 5.544726125, "runs": 1, - "total_seconds": 41.303470917 + "total_seconds": 5.544726125 }, { "name": "ZkDkgShareDecryption", - "avg_seconds": 90.864054989, + "avg_seconds": 94.956498491, "runs": 20, - "total_seconds": 1817.281099792 + "total_seconds": 1899.129969833 }, { "name": "ZkNodeDkgFold", - "avg_seconds": 1421.140064237, + "avg_seconds": 1129.401400491, "runs": 10, - "total_seconds": 14211.400642375 + "total_seconds": 11294.014004916 + }, + { + "name": "ZkNodesFoldStep", + "avg_seconds": 6.054248291, + "runs": 8, + "total_seconds": 48.433986332 }, { "name": "ZkPkAggregation", - "avg_seconds": 114.308983542, + "avg_seconds": 41.258271291, "runs": 1, - "total_seconds": 114.308983542 + "total_seconds": 41.258271291 }, { "name": "ZkPkBfv", - "avg_seconds": 10.211725195, + "avg_seconds": 10.518164921, "runs": 10, - "total_seconds": 102.117251959 + "total_seconds": 105.18164921 }, { "name": "ZkPkGeneration", - "avg_seconds": 121.556657529, + "avg_seconds": 79.903340745, "runs": 10, - "total_seconds": 1215.566575292 + "total_seconds": 799.033407458 }, { "name": "ZkShareComputation", - "avg_seconds": 96.207621004, + "avg_seconds": 102.507255127, "runs": 20, - "total_seconds": 1924.152420085 + "total_seconds": 2050.145102543 }, { "name": "ZkShareEncryption", - "avg_seconds": 106.260245651, + "avg_seconds": 108.423594124, "runs": 540, - "total_seconds": 57380.532651753 + "total_seconds": 58548.740827494 }, { "name": "ZkThresholdShareDecryption", - "avg_seconds": 192.969209712, + "avg_seconds": 205.96805897, "runs": 10, - "total_seconds": 1929.692097125 + "total_seconds": 2059.680589709 }, { "name": "ZkVerifyShareDecryptionProofs", - "avg_seconds": 0.512933662, + "avg_seconds": 0.782404795, "runs": 10, - "total_seconds": 5.129336625 + "total_seconds": 7.824047956 }, { "name": "ZkVerifyShareProofs", - "avg_seconds": 2.056143055, + "avg_seconds": 2.349067586, "runs": 12, - "total_seconds": 24.673716669 + "total_seconds": 28.188811041 } ], - "operation_timings_total_seconds": 93078.275890343, + "operation_timings_total_seconds": 92525.125222869, "operation_timings_metric": "tracked_job_wall", "phase_timings": [ { @@ -177,68 +183,68 @@ }, { "label": "Setup completed", - "seconds": 2.777169375, + "seconds": 2.79639475, "metric": "wall_clock" }, { "label": "Committee Setup Completed", - "seconds": 20.092310666, + "seconds": 18.13277625, "metric": "wall_clock" }, { "label": "Committee Finalization Complete", - "seconds": 0.00247125, + "seconds": 0.001702125, "metric": "wall_clock" }, { "label": "Aggregator P2: PkAggregation pending -> PublicKeyAggregated (wall)", - "seconds": 1380.957852, + "seconds": 564.459505, "metric": "wall_clock" }, { "label": "ThresholdShares -> PublicKeyAggregated", - "seconds": 6558.880629416, + "seconds": 6689.151751625, "metric": "wall_clock" }, { "label": "E3Request -> PublicKeyAggregated", - "seconds": 6559.389356, + "seconds": 6689.675853083, "metric": "wall_clock" }, { "label": "Application CT Gen", - "seconds": 0.278431958, + "seconds": 0.292187375, "metric": "wall_clock" }, { "label": "Running FHE Application", - "seconds": 0.001313667, + "seconds": 0.001385417, "metric": "wall_clock" }, { "label": "Aggregator P4: Aggregation pending -> PlaintextAggregated (wall)", - "seconds": 92.605974, + "seconds": 89.398544, "metric": "wall_clock" }, { "label": "Ciphertext published -> PlaintextAggregated", - "seconds": 382.944918833, + "seconds": 366.088202, "metric": "wall_clock" }, { "label": "Entire Test", - "seconds": 6965.488017375, + "seconds": 7076.997835625, "metric": "wall_clock" } ], "folded_artifacts": { "dkg_aggregator": { - "proof_hex": "0x000000000000000000000000000000000000000000000009b886a2905459f14800000000000000000000000000000000000000000000000ffd2ba6937ca2ff8e00000000000000000000000000000000000000000000000d1295bbc20e56b975000000000000000000000000000000000000000000000000000230fbcb17a868000000000000000000000000000000000000000000000006d3d24b202c7c4b3800000000000000000000000000000000000000000000000fc4f7fe5afe076c4700000000000000000000000000000000000000000000000eac953a4a1448d7300000000000000000000000000000000000000000000000000002a91a7dae7c6e00000000000000000000000000000000000000000000000611132190f1f8e9c9000000000000000000000000000000000000000000000000f560bef8a784749c0000000000000000000000000000000000000000000000060df18c1e6cb8684d00000000000000000000000000000000000000000000000000003f843051c7d000000000000000000000000000000000000000000000000675bbb87256a3ecf900000000000000000000000000000000000000000000000b84214c7aa37211d500000000000000000000000000000000000000000000000ac184e0ee68c231e600000000000000000000000000000000000000000000000000027e8a630ead9b112e7a7efd2d63be8fc9513410fb19a520b2808171ad29acbdc19e9f336b9ceb2f69677f03e1a9bd6c7de10e54d270ad1ef1f89390e6eb2519ff0dd5f1e93548252120160e4b105e0ad8258500af015f806f9e64ddba9b202e1b3f40b8d2e93b1878fc6ca77aaad31a74cc0b2ed74ae31fc584160622ae40a31b95274bfa2ebc1b9505d7c8ca58efa5a23795664e13cd16a4e01daa88b86631c6ddd77176506a03150237c5b76ff66bae0430f1ea1ace69beabb798c86206392871f815d51d37300147291ba7cd164b09635faafe11d8eb81fb13300c4d61228910b8035ae0d123005396eb032e530c4d6a400c51c7f47df46529f66f464e2b7e817fcc1a2513241d33f440e68c9441c45a414e207fd0820ea7788a34722ee0cdc81518ccd9850ee93c4374ceace7319037d9c5811c3c0dc2c96d2eb2b316c0317cdc22b816ce2dce6b0e0c18a33719439bd50a3e6a741f5b1990de69b41bf066b18c31c2e4b107deac9a07b15e0ca90f064798c45831ed082476c71d7564292c99ce126e3bc411c940d86e113481056d909942f1aadfddb3479a9ab7c215bdc2c0d50ba835a50cb93bea1c6360a5927e4c0c1319f714ab8cd8bd00c29473f593ef2d8e95f77328bf328560cafb44e6c65b3a2326fd5423bc68d70fe573f2c07ebd42d1163ab2098e768959d4541bc65cdfe3ebf84d1bc3c26de97876456b15086e08fcf478162de5e1c9264de1a43afc961be3772d7252983851b4bbd941d278160522cba6f300b4759ba73be4a96b05ff7e0042729a86ad344501a81d2357ae56d7639b9abc2bcbf639007a37362a46ab81284e591f89550ae76e1c5fe9d26b13876ce2449c08f0e2f87a08e11b3aad60d39d08e7389e09de2b9913e8259a003c9dbb23954326985c9a9e881a06fc60af677c9d90c95c21165591075bf380c583c90583c3c216e1022eb83d59f623a76c3bec2bc94a600f0eb7ee04296ca4be44258644dc460e4a1e49a0d4d62bf7a3fa32013c8084b0137604c1475a1a0d6069ff667c098f2988dd98fcea3c854095c0376b78dff4eb2549929b609062dd3517560a1dc5c70a646f034384251af40502a878e3a73525709d488ca8dede5293b3e9164af127232bba8686b744b4ad3d713d531a3892e05e125866c9b65d03021e276c3ad657058050e17d065bc424e453c909292104415c6a00b6c50bdda7f587b96609355b1d2186906b8001ea81a7126c59eb3a45464603022b7f909f3dfa4d590d4a345922a6fedc85ea9d65436ede7971ab00314b2d1ca5367832f168e1b87f8fdbeeac2af5f3a1bdca9b12da36a76df2c37cb80ef48d58c2825bf77758467c9c01e3a105cf418e06f836b2b95af888c475e134f5b336b6df43abcdae188badd01d5b162a0cabe18dcabce73b6a7a989ed4c3d4c3585c71982ec3556ac53bfcd4f1259f2c8d91e577da7c1f064b62c69969f7cf57fbc11648d70f6598ebc4f0dc6954eb13ae6f42f4f35c829758b2907fbbda9967fc0cf58f99a9424c24fa4f077eb9c7058bcd946eb3cc330d6adb4db09c8c8c248c141b20cdb2a913bc0fce9cdcd81f236a000f2783d8dd163e533a021d78c2909b03c7ae9b1f734d6995dc0de2d1571997bae22d5281824f90fe4a4aa6d7e4b915d164e22b91075bdc7e1af6f04b561425c964d5efd25a5adcae874933d9e3a9de866c26e914909615729a726381c51513495fc31c35453f8526dd98809b3e0b933101845d4c8745e5f6c13bd6b3f708a6091fea5d397ec4136634dd055af911dcde3ab058ae219dc207d8fbd5c4a02e74d6479ab74af23aeed9bbdb37612c810c11dad2ac0cbb30b2be96d3deb0e9202d82bef3dd0dc2033d98ededb7c688982c6ebc542db743d1885eb4f571530d088b56bcfb84e8c2643a0c11ee62c40fddd253930d7f3ee0c12ab64c77bd4e5406062c4779191116cd8f35286b7cdfd1da90536020334a2dcca98ea4f61dfa5a12a94f4141676c5aae2831b6c387e6e65feb4894ee2a78928e54a17674cddec902cfe9cbfe49fe17449f9b2810d1eb5ecff59879b8e831e292b62d7538e8480e2f69dca657d392954f188d52af7ab04673f6f77e28647442c13a75a874548109040c48c95e23b9104b331b3da7800ffac8460048909ad60d9ae37a6b83d52e60166689d59950821ecbc34fcdbf1d4ac24f6b545282e93b7bbb3e64e46daa531e27733a7c845409975d9ec14db0b94739071feadb6a641eb4456f2138e2017a051dbc87d7f6929859abbb2d5afd06ed140e802727a659daa860e87576a4810ad00ccc5d0f5080698b0411bece9679d7909c387c763d6d698d0696134d5cc0839b0711a681210832ae2cda89de9310b49d5bbc4e5a27470c2ee53f9a48fb7c19172a3e3877cc56ae348c9a91b8841ba2b5226442f7f1ef0dd28ddc1a650c75c5a7010dea90d56c5a96b9d3e5f2ed43ff148d797097648ccfae0951ea1f5de751071819b1f8b8aae5d06532e40992aea6a8fc0dfaae0e16b98372c52db3a3e7890d19383d4eede2d0cccfe61dc2aa3e79fc8c4489b28b62f11f4e5a7b4019f0a5e226314d7b4737b8e06182f52041b2be5b339f7faeafeb4637120154406a74e49a07d61355758323a8593c2a3585787d12822e449eba1aae4dcf72aad97296f41e304f7c0c7fd6dc3398728cdff247c1678bad1f7d43550fa476a46f2b3e226afa02b0adc9c932be91018e1b050a35965189ed3404c82f19658573474220d7ee640025f1e39aab66d8e337bddfe08c11d828432988a0c7372f5417da7d4f8a00462bdc9d64377b2da940df23643b0d6af20f2dc3f2944f3a1ed63655b19382686519171114b00942eb1d28a350cfa0147dc789716bbcbfaadfc0b41936873c78b0100072be9a7a865267108e9a1632ce5eb04c2f3a4addeeeba9a7611669288abe2c988f7f4f4e038910a31095b027bbe06ea6551592e0098dfbaa92f99184d9332ddd26467d87e17c28d26e41fbb24fe042dbfcebb27baf1fb1e76a55bce6054b2dbe859b7e2fa233b48dc7509f11e74484199b94c5996755f095028093a9fff50ee275c0e270f12ba790cc645cb324378173df5a0627a6f965c039d5fbd341ca00fbd72d3b81945d572a79b17c5edd92553340c652591e6e94b6b95c8526a49d1e73068b3cf2377a3739eae1811563c4499ae00632c3bd1a223bea48efae986e12657dba72a0cc30ad1adf86da8115756f674ea420514b75d6736765264a776203fc54788105776a565b9b65693ecce2c247358158530f404d6538e9ec01900b2e983255f4665636c9b94990d536f6eb922cd9ff9abb40d556d47d6a595bd87306752636e9346e4892b217cf05ad0714dba115ba9b19928d05e5f707292c1b5a059f484b636497765a5d71b0ef47f56fe59e801ca71e6561a4e1d2eae6d300351249092662c65f152b2a6c4305c8fd172b073b0a859b1f76b89b69181a8dd9181d49d23f32f7165dc0b1e4abe2038ab4af9e00a58f830855b9741a6046dc3fae066daf614d85030fb18935f58189a5c9c2bc9fd317f1b0bd607a4a04b4ce495e175010db0cdea2559646d91af04a778493540378dc8bf6f016bdd2ea1c21cc05081d8a049aa112b1df097944f0df25f4ee66b13f03a8db2688d6838d2052af08144322414dfcd8e78546d88f6288171ccc845264e2108fb569138475ab3525df02778abc44e1d6bedbeb1c4be0b7d7745cb880ee781c88f481ad6e4ea303a45e0ba2d873e3b0c6833837287ce7f18d8fc03147942216a2b9f1da50da313c21213045752d2bfee040f6e01e157b34b343ef9613fb2c0cecc8b8531ea07d88b9e5146b988439ebcd6e929ab660c67d807e91b1d4d1908dc19f0646ec91ea305b8c17a3d6804f5cd8fb6039f2747e1172f0272d4c2676fed61c6638ce87ed70179c223e2d3e601279b76b0455a49a92de66103ada113037b1e885ccfc55b636e9c0078fe8ae4353ba675c4d1f242ac6ef459fe24441126492d2a917142be969acaa26174437822980449d35637574849d9c01757bbeb21d25458857a944c9a598ba1cb8dfdb0c66242ea42194c977e2327a8acff90783c8cd9986c581a35339a5c1226de4b5ce0f3f2ad3328f47c55ff2d97d972b2e8a8b40ea944dfd47f8df62c222269e0ba25c2a092fe2ec4088f507c996127ca4b3a66121605be6e3d83f41b30f9379ad8924ce9f35035aecd27562b99fb6f59fd65ed2e4f0bdf19a4472b9eb12eb0ea26002bd67f2e58398be7269cdf27e4d0cc42218e7d64279e82ebf46870607194c5c175b0abe83b9bbb4f3c02173f5cef55c6828e24f6cab4583655b2a0fdb99f02bba94587f63ebb314a145467923890031327708b826a584c0c62ebf1a189129b8d511fc45fcbf66495ca30bd00b27ce0372e1c191a42269bb960e4b201719f837158f55addb69631ef355614a2aaaaa229ae208bea6510b22a97cd921871b91835a1a958b2d74b8c8690ecdcbd52fbe5ab6ef5fb780ca9b63f2719119bc3e3fb2897104d79a6dbc15851d20f92646cfcabb7065afd11b0f7f6eccf3008b61a93bb0bc7e53b1e6d0c8aa0043fa1784a339956110353d244cb2c1f3f3028c68c1b9a56c04386998a56f75c41213d656a191c72b28059bcf0f53b711c92e722893a5e6f27766603f61415c56efb228205c30725fdca53342435a9d316f02f2b5e9f9d49926ded50cf51cd8b73759ef9a23c6f537c8445fc19eec6d8e6d051c7ef44272a83da0ddf29ae8774034676ee99be1dc82d59c6f605a661137411a7dc7d63155988147d91d0fcbeb0df9ece7b87a86b22ddcac5d8c50a86f21cf272a88564363d7cac7fedb4e1d2136f9b186edf0c78d5fe1bdb99f921d7641982a6da9d64dad004637b8cd154edf941a4aebf06d412e21e1fd6b3d2a8554b1310c052e7d3bfdba729acaf0b1d6ae28aa7fc456216c66f1b148975f5b1c333c962a1b358ab802e0dc3beb471e3adfe67b5e0e73b432cd36127a85d4761bbf6cb4299af12e1bc98a976e52d4f2bf8f2f0766be59f188ebc96679add1e337b86af21db20eea7999383f3ff001906eba09eff267c614db6c70fa8711237a2bea9a060bbb582a93772c1d3b26fc9b7862abe90aa1edf41ed36623fc8b25c03a04884e13d7b1f9add6f3f8ac05bc9122939cd8f775f655a71003eb90041f24d03756621f4cbab7d50d87f3933228449c2d1da93c1446723b40bedc752b42a589f20226234f4d057ae2db989b068b30f357131781cf1dbdb062e6fe050a832826f0305d18cf84f376abe9ab8ddd7b7ad135d0b022db5f5280c386f8b3e4723d760de5d011a3101daf3b4014567e767d9d4e8c13aac47ef9c3e9a06aed63050ba7bcbf5303197854811b51954b1cae44a323fb37ed29c95e964fe20c7ac4c6b11703cb812e567c348e3c0809e559edb1473456a58325b61f05a131f3e7915aabb2c601382ede22a11ba0210a367a8ef82e7717ff088a89d6575bf84ded6fda02700802bc1dc4b3147c7ebd220affb1d76ee4437dd9a0d4b0dcd0e3cb316eb932f70f53c10033a99467e7d2c32d80a46a715a40e004a5d15db7896252237d1a04ea7e200514fad30f26541d3526ed803c04108d74c12df70884fd2faf015f4795632c8e6d2a1016751aceeabb084899f771b037fcf71eb671cf2794c4804773493609ac8e1776d991e15e7b2974936c2927a16a63932048c9327b84877464e042cd2771ef1fec447c3d91f3040e3d6ce4f532a8968869ae8c30f20bc1774cd2a1447834c721bd864593620fde07b9d4fa04487af883a815856102b88d15091b8d6254534a2f5987723f9de3b77f25c11482f4f18e3965b8b749e62f3297189c15fda38a4218d31f01ce607984a4ff017b5472a53865444dd3ee02adb46a51523ad8950d7a00bc843817606761ad5f4cd2f045294d132187b947fec5c92cab0a6d253b2c852aecc16f02dc5debe0c2b055d258f6d06ce506aa698ced0ed9a12df899abf0810c49b926d8ddeec7b65f6ea2a31c89e522764d9beac79b1dd82240ce1dd3a46b2edc656f3859d493b74ddfdc1a646cc5012dff4fd2e0570140fb75d6f80c2fa11456d775741974799ab0d4dfaf75423ef4ed695fcb19f2e7c82de7e505812751297e7debb6b2b8fb3b01a80888ca9c350589a0baee430f47072cb0c50f38bdc3003f41342bac2d33e788d15c3c6722ea06e9488200a15033a6c2d06ea3aaebf905d079f22df55f6271baf11669cf4a6cb137cd51c4c8299330b2841b2ea3a21b07afe2dfaa6d45e86add65eae23fb6ef6cbfe3adc0b478db0390d4139897b6d30516f7e1cd2336d68e99858ccf38c9921a197538f5a2ff48e0339e875ee1771925e80a2735366e532b489ddeb18032da1b9ca11d6c9d7927b29d92b40d2630b62873fe7b8deae18bd96998d3d1ba47cbdf85a0cce22a02aa3341fef6f75720d92eb8f4aa7e1b549464cca65222370783b022ecb560b6c42e891ad1ff9eed45562f718e1708a64c4741ccb20bc554410a58f6d6d1e50b21b741c0f6396734e69117f795bcc04871727ea3e42af5668f29e01d146b0e96cd9109deb32027ec98e526963c72b8712fc249e4de6b99b1d84fdef00c3ca18d912674b9d0589bfb7da91cb5dd05e63546595b5acebd96b834a46d0a038d3e7580e3c550daf9af1ec9b60d402ce456dae46352d08ad7f765a709787c56226f4adf1585f78f4be15c276103fe5ca8f9145eb03010bef5d0d462c89205aed5ec8fce80d2c94f87ed58de4a08248ca722fa3e0a7cfcf8e8d88da80254f5beece2305b5b8206eb1314a06ed51481e34f0d3a963fa4511e0ff7753b1bad115cedc5b0bb817de2fc2ddc1d6b24193a5b0f9402a715a9acb0f12c1a257b3c23a9322bc8926f7741a799f5cad9f603bf99516b14c9e5afc4aca8701291e37838959f8db58c2af51cab8ceafd385a23a7804a2af314ce0e019007928b92b45ae3877c101f1b8d3bd1a23a9cac0f150713cfdae0ef45bbad0b87835dbdd1f54d7b739fa199d035cd9f0cea880110cb19c7c75ab92753f05f94439fd5a0d4233f7b8f48db11ccce215514b0dff87cff272c2e33d9751430a3df6e905366546d023b2dadc6e4c8cc00e62b2fcf0ea0901c94b4491f0f01e6aae604fdd305275c1e09e2564e81b3013d0691c06e0597850129dbf441eb9250e5caf3736a07dd1d5db09a9b8438a5ceeb146f85e1f2e3312ef616f54d1d5fdde8bc55f863200af9900ef926ab436821ad065a90a8bfce5a02cb5bb8b6a8c77682ddc524a7fdda67255a4ebfc553477a5b3aa18f0af8343a271e6cd0625e2678e3a0f131ced5638a88dd1b35098f7925edf4f3519155e1532f8a8913c4a16cdffbdc58799e845b977ab5add5452a91bce36b6cdc4fac774320e2e33fe8019253cc0f8c01ff1c5ea25fb7cc902aa813a4d179d4fc71c374e71efee51f6ba5bb47c73034c80d0d7d710e08d08d649b462cd4ed8da9ad7d9b4a225a8fbb7cc5673315ff63040c2111ba8f9600372a24491154d7392cab952f770ed2a8c2435b5ed91ddc3b4bdb9c4386b0d30ed2144dfd272e977e9053b7eb78029aacebe517f32a6a372250ed522866814f6d5c273dc8e5f03da7aba720efd60f2e2b7bf2427ef3dddbdfd1fe522c6804f88a763b10e7c0fa37bdb6d358723301551c8f88df5ee62bf87a35c8e486c19a8d52fce0d43ce125f052d7a4521dc6055e3dfa14ddca97656518e0850fe1da7151212b0d0836867114a4c38312043a0978addc2e7bf5bc60456cb0ba1cc3212f9649cbabe3eb144a7d56c53fea0f332c858509560e460226107ef55c9ccfc186f0c2959f72d6845c3b010ea4ce02711cbdee1465f6e119f46eac22b433f02c288709788912f032c4c612ec144db29f1507154f4005f237e97c9a1bb96889e6c920f0af644d50590ee7cfb17dbbc5662e0845dece89452a2fef69e74eee54b66482b61dd274cc1c7e88944fd428d6fe0355ee11f70de2b253052bbc12df36ed5fa51d078c9855f71f97caa1e56bb1f0195a225e34b0c794005fec5c4442f26cad08112f8c018841817f23a71e77897b206bb004ab1ad9bea305a6c9a60a629b99b2f4fa854b90627fa3675f6c32da95053b4cbe0a1b379d60fb5e838829518f8ac8e80cd8b8e24277b72fcf9299cc5404af597e79ae871e060999e8ad16f19b628899b6459efd8ec22722808c8f1da028f465d3bddd96cc6cc28a47f6fa942116ed717189d4abdd06732c2a4e9abe401142b8337021d38a3943737c2b4294bb17640b42da76f47f8a2e64f5eb21821f1093bc9f185788e4536c103848cf45e91f627a24f58e4b416681c28d3191c1a00202da719a49e9f541255a4636aebe9b024d412f21691b1f3e7512895b6c8cc6250bad07e30342f7445ec01b82733cd3cb770921853c58babb84f8aa8b662504244be101d56cb84ed9ef1e13c7a48a5e4da2f353d2a808ea2d823cf268d27f330cbb47a29817c0a68a322203d0f9e3ef397851364ff43afa69133d01a9a3d82c2bade81237712a03aeca2b2d48c061b94e936345982eb71c79ad67fb7db40ea91f9da8327a142a6ad61647beef929848d99024f4bce38fe637e64d050d871771223d4294c9bb15356378c0061e097015fbf0a4fabe2d1e02d5b6987417aa31a80c97a5fa1de43d403bb8af4b3575ebd7756ea7fd53680a0b021a53072363c77427b0a94f88e54f7a83c1b022843d5c4c568e25772c18d9e7cd0712eb749c4c342547434ba80026cc9887990d888adbbf3ebaa15480dc4049b622a906393f92650faca577ddba5e60cb7526237563bdc177885f4dd9029433d90aa57075aee05e24b93af4a6b25bbfb3ba9f9984f57d3c7c1fe5658eb85ebb5409f528b937d2f629c973ee62dd51a2f3732b0f76848ecbe126042c419539214189425a4a0279ad16a31a6c2a741002931abdbcd1d7118d8e4fabd5bdbc793c83449ab5bde58733225b74296aa8e7c936ff0c37cf4333f03e79f0dafc27db97de2e4ce4b6de52af0790ef4de212339e28b1fa5b1640ffc87cf10ac3ceb5d5e7894338868c3cfb662d87307989f4b2582216aa5b726206c9e895a8c326f51065ee4fafb38429ca22116e4b90892e1fbb0ea2c3f42a048a4762fc39ecd0e887a114b9617232d389f40bcd33aa91d2224b2dadb6bf141711fd344c1523244ed870e5d652bef83789930c4b8e818feb47af02589d1608c7ecd59ee4880016f149c181d1cf917080e4c3020ad09d1709418f437e1fa90682feb5f65c38957fbba584bbc8df8089a142a702fc4fd96fd79ca7b9ed9ca6d2ccdaeacfcf01b64138233a1b99158c998cecbb2f7f3f274a9fa56f3c611d525596efbc7419e29bfd65b4dac968ff4e4ee9d5932ceb5c4d100eec7b39c52a0b201ee9347ffe853a05444d792985740a8d540c001ce6597de65739125055110f265796ce16aa14b8fd9f0b93d8c091cfd17ab0682f6bb9d0cbe615ab81be82f6b83b68a65cdb59932e36c7abf701f1dbbdefceb01d7d57a22c25e704edcbc03d9f98a98114bd6620378b5984e33b103982727e891038dbefbe2ed5b77672859fb735bf24236ef441f26f4c3aa06437cc964b5fbe0d1663303e10ccaaee322c55479210825d16ca224569a821bf93fcab2b45ea0c2814b09a4efd88dd7be820884408e3a887686278424958f9c3bfba8f990462031b5694c874ae9ccad02c1d85ef7446139eb7e2eebd2c36b9d818bcb7d96de0670d471029662ab8bfddedb661375753aaef44dde5660b2c9b40f8b1bee7929a610cbc68b9897f196081190b9a9f6ba1d570eb5018c205a5f42b0f435194cde1b603036edc79c9430c799422499a24b428d30b0f39161f158017e68499c1b3ec4a12297095ab59ce1ca512a41c8556dc6d5905968f17e022fc8c8639ccda3ccd6e00586fbb86b31249ff5b46deb74124ec4cac76b5c7e193d6008862a1d9fa3930069c66cf25c7f183e55041b0c41d3026030bcfa6ac95f8e1ea7ecc25618c8bd91432db635837fe9ba886d59b921a31b1b0b5a79cfcd4ca7db2ddbc8ba65f855e2be8111b51d15ff6f95d62314420ca22b392a173af52d9e5a2e3c9aa2e1f0bc6204b629a4fb76bd0974da220f286e1280c551ad012bd606366e118ddcaa7efb40b0c7003c26bda66b45dac0075ca9f051dd59f41aba956e933a9f2a32c806b2c27eca1b62cd483e3f927f0cd4269429b4c09b076adba08264ca670a0247ccd632eaa9d38c47e7d2c7873340eef32533091943e04cad4430d5096b3d67e39dc9611c7c74d99b710d57a952fcd2f7ed38a49b84954e70db6ce73bbe784c39c7bbb23379f72ffbf28060aa749b2e465fe7455e74bbebb132e8765422282779990322b3ecf7534e27dcbcbb9d3627dd8f23ff81e5c7700c40db7c1a5bed7987a04520a57540600f9e06727f9de40a235231ee44459b74374fe2dacd41535c0f8e60b2b0872bed4f2d3b8eb28113f0c1f807c5224acc0767ec9a52129e9bf8a5c1ecc13df1028e6d03e90154825e866977284d00554495c4753bb27ffed138a7d3aa4236599a0755e0a8baa849911a175ebc2d4b7385f69084a2e878d63e1c066ee8e17532bdab79e1a043c9a5a922eb01a6e1434c8bda29c54fded917a915dabdcd20b146659c933107d8c1f47113b9011632b2b8f25f97180212045cfab5608c5c22f029b646cff93027ddfb8fcf2de86f1fdec4fc076f0e6056bd34ba66ae9b2bf2503ce605eda65c071d9bd46eb154750ad3754ffd7b9a7dda3918be13c6eea502b18dd01f65538bd5d75707a197c03648b3b043a7b81a86ed4c8ecf75ec9f9332715fdc94002a619d20760b549025252a0940eb3e068341bc6111f6b17119c7e18158b174175dc2d33d9676652c2d1657850a1e19c21dcb8bf071ae22315031a1aa6b4ae4d49e72c9278be059301b8c82445ae21b52b4250c636f95d031426e314b38b5f29effc03c5dbd050bec76e46a27d71a5053f9455f69673829a3db91a1c375ad842be9f772684e6c6c1d00726d4531f2bad658f42fcec8d99207277b829c3e3c7918dde8defc35a47b03b2e978d0f3e4aea1c7523bce57d70431a8b5129a2df632a5573f2a5712e934d05c819922f03229b02cd6d51cf8028ce853e3101a8e14e4c44cf5f34b75d4c607d3fc320c84f84b6c4485a75234c2e11899a6a0f27c13f49d2a2a870a5b3c0805b19e0ec34f17e9cc3dc5c64cc03b92ea46a10123727fe943d22d683e8fc4133380513a58083a2800182e99e86bc557075e83d0fb698e1bb4924a5dd3b59e2c2122cc8b8bf12b0bd2532003fef43ed5f7ffe3814bfef180591cd844af90c84126eecf5a6e89d16fb73874e7facfe134cd3808b13b500c103273ebfd75f78db3797a651a646ace9f838a40acb4f8efb3fc0ed0406bd34389e016a228f503200b5fe09ac9dd94134d35705fbf1d204908f8af11d1fda0d920c09c67f457282731a264ca7514fd1fc99d60dc026bbcdab0382d18a1fccb09aaaa8f74163e9e2c994c2ec2dc3e2766e8b220d76cd06be72585143ab1a40e6ce36d643f63b578b77c127cea9202e06239bd497d54a06a91ed04f08db27500a47e920916a1a26ede082d27f65932b79458cf825c6a0367b8e575b6cad26f9ba311ee61dc27d76db868036582eb09e1aa6ec21bf67bc7e21580df54b6601f01bace64e4a72e55dd791bdb67fe883cc4af1f05b7522c161422fd3c5025930049c74d00088f077a5507af572106f8b38e6d37f2ce359e72e6ed7831dc5661c001994d2977b46b3baa53588a67c9dc984c3bc2ac673ccc474f54b0aa96b371eeb89314eba4c7991fb5ec6a95cd938483ce7843c72472c41e513a73089c22817fec189dddc733b7626aaeaf14bfa19c44f54835ce7ced90c783c45f531c098249fc8002cff2f9498c9e72f4b0406126e493c98379fad16ccf98d65d479d03d2c3bff1df9819c69debd103eeab4fa0034e5d9bc163d2ceacfb5d2ff3c966464140677c9b31a5c8225a345a74791109f24a367bec6010f0d969f8e7442b198e6086ca9f7ad1c69181b0446ea4b7f0b81195e2fe281b6ceaec2e7a0b995187b161c8775eede95230d8a95c4c36800c9d11da03ec3a3f0b31c38b1bb57e29471260da0ceba74cdb2ba968a7002abf451a57d847fc05ae62cc0a1361a10fcfb83fa09d02937f3747874800d016fb9722f6576b2bf7cf3c09417d52e157db96fb6a50b5fcbb410cc8b50e10f898ad585ad5c77781ea730d0c3a9be14e71966417cfa266c5182862cd2049bd789d584a1d4f673db093c2f7daf0594f35a6fa308dad92251ca02abebde026acb80ad0ecab6961fcbb889612340dc4514326bf59327aa1f8862b70cffefbf9fa7eac05036a41ab46dca33687fabb32c137a091502e2272319a66a5c9d5a477312bc1ccb43b78f0705f8b591941782b4d6b4126183a06318b10fbc58a34865ae1274a2466cfbfe328681609b116d930cbaf9e121461969238f53343e345448e40c4c208e563258d0c8a2d1d44a637fb7421cb3236cbfa10de7fd09928738eefc374349c5b7271118451992c059233cb6af551382d42203216513293a75d8b1e98b455c8348e1612909f9183c9ff0bb017b3b053a97598106705fe2e998fab21b879ee4f9724f4014d0c74277423efde5890b24d4819a06020624a634cc2d98c02837d4eee262d8a2566d59d6bd1942f2577bd7dff4bc3103f7dd115f30ffa0990829eb498558297da4c4e1d45f650c11945fe600179ebb1c4b173c3259448201b9839615eabca35a4870510654f99f3a88a9a47292fecc0b02875df227ce97f7537d006d88eeeb2e9669c70a65813ce69c23c4715c7ddb15daa51867030858b3b06077fce84b8ce8b91371e0f250474c6eca9aefbfa0d22b2ad9b06d0f32659895e79ad77e5f95c35d2a30ccc239ceb95e84537cf8c40b28373969cd1bd594e75c3751a60cec3a889585498ad32d9d514e3b571ca48a761627f21865eed0d474a7ba71f33946b124e751c45ffe2a10965b85fc3aebf6cc2c66f4644cd33a0062ac0ae90273095f6acf0c24ea308743f6a549f688866d1a16dbe12442d4dd8a03fc8add31a34c2754b0f3be3e42498baec274e5cae0820f0ab975019d036552e95378bbfe2bb8f245cdde2c9425a8d4ea91683ce6e1be951c493f4230a13337984e50afe383e9b28da254c41cc9acd5526f16afd6710ad1205dc8354e0a45fec322449735a93d017f0fa0a777fe7b58f038a0a00aa0d1af0938ae9a006cbac7cc5b1246c4215a9e4770e34288fde7e0e86c58192b594a340ff31cfaac5e9d4a3ab17d1c25405a29bc2da8ef77beeef145799961168a20b20b963602be09d581af033ec28a27721dea0b33fb51842de13a8d694171732cb722473cd63054d55f01e137dd206e8e18e177e4f79d5aee0fea4a502c04445604266555ef064f30670efae8b8a47f5fa757651e7c664e40a7a1abcb3ad5f678132e4c0dea99544e65fc9c71247a9204ea0f85ae555b16f71bf188096481d52c83215d855d445264aab6b56a32bbfa717a933de4996e17c29570aa67a5f480bc0a15c133becbee14105bdd2ea607f7063bcf01c08b174e93910d31a422f7cc1580170095e625f086f6462fd7c7fd1c7a36d24724f78758e9e84b6cbf88869493b208ba080c0fee8a1012181eb657811e1cff0b0691633934eb7f059780fe3d5a8c0291e3cba0cef7d8650dcebcc7cbea870f981417cddd485039233d116a6f8de201f6c0da75fd6b2246d02134fc04187e1b32c348b6591adb7b10e1229e920e973012e27010fbab14328cd6831a0300fc0da1ec73b5be0395628c30284addcc650b7cf09296f1603bc6ffadcbea7b75bdb852aa032fb4763b22e3362c6101bdea0c560c62523e3b337d911ab3232264dda307fd1ee701b68b4f837c37d1cabbc7201d956e93541fc81af6e7f6ace9af0bf18a2ff21ef4b20e4955e9c2f96c390715493f987262aa5094583aed2b52942f072dcd415847df42576d04db5240d66e1708c88954bf5d883eead2ac5fbcbc638909e675eb070205336a1d997b452e7f2177bd809e596c456beb68272db82a3b337e877101cfad5ec8cad5c954ad3ca804a82f9722f8ff82cf9e65e2b3eac3c2a95442b3e5177eb932eb057112ebdbbe23e5ed4c1b061d62aba8893c728c3f92ee30fe669b3d45c57cea96095c7f921f204cb10fc7d883cbaf92f4f5b6697931e1be30a980f34220f7d1c23b1fd5f8e1211a4a18c71fa00fc791010a14be1258769476450c7ecefc8bab08a5d67e122c15624f776f4018f741e87bd0a9b60c1bd87d06ed244261034d227830083f846b2d5040faf53491d7d58f59713366b3f02143a13e54171c91adb07bf0fafcb9bf0846aacb9b41e211d3e670b3e97a6ae2a2e0c5ddcb35f43416dc5b5c1a5e37a614e327fd2656fc1a55b03c1e32d17e186f14a50d6dfbcb00dba87226abd94e5c0c5b3950e9dd5963cd619303fe7a1cd0bae66d9f0539469ea965c585c475fd1f149289f7fa789f52801c3f8ded140a8a8353c8d4c03368b40bb1d52e9ef82a781a8b790791720952db213ff01d50c98c5cf8b3d580ff96c2572740600801a7d9045f9f8997fa181f43416bfeac1a5c0b54fd743d6e5f3c885422c558d32390c1153c208c2069a6c02c9bc8377ad9bd0e76fa11350bc8a9ffe78e162e417cea3b", - "public_inputs_hex": "0x1ff26541d4fc7e469a1ceb11c7113dac3c1557cc7cf7cc85ffef4506e593f0d6030abc3c73d3a200393d7770a1e7ffb1c9c97d1bd968fc32f517404d0be42f37000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000096caaab1519f9c493a2762bc243ecbc70000000000000000000000000000000049a5d43ee3b8c5043814aa5a7316c24217e6f155415ab217299df3a26f8bb591c7cecea4732cdd27f7c4c064d62b108c1cf0219567a1c9da0b0695f725c5ce8b4b4c1c815a78c3449b51d6ffea86e7b51e9a7ba13fdc7e35072dad9840c0ff740b975aced55b4393ebebde545e8fa2a119f17a86de67ccd256d53ca2b3513476f99aea46bfbd9d43cf7a45be260cc6572ef8774bf85e03194313357127b7068d7e930f94489bd04004ee319b440198ad0afd7f30ad29c11b45a254debc952919c82d5a3aa5c2809f13e620d328e5a5d10a8caf772bd54b8586ff0f957d4c9d1b7233860ecb614605829b8476e7f89aec09f41791570e9e426fc85504495c69bf99595f22a21b1064ae0922a9107aac3421670a161aac8871c495d374b6d2bed708ab05b9f00c6e5367e676e1bf622cac1d59a122a6c2fb5895facece10f2f8af9f7bf5fd214c25f8b960316608a024a30b8c0abb4be900f36a499c5d2427ba6c785fd101253ce5820d4c15c2fe44267323cb9b01f24368d7aa025bff7e953fe92a0f036ccccde21de6e4ee25a21053950dc12b53ceec02487e4f22e42d9a0f43044e6ca6bc8340983292388cca8311f00e3f15f3cbf662cdddbbefb12cbf48ea5f1e46340678e246be15ad69fcf5ad461f386c2dae99344cfded672129c6a199d2bf5617e836950fa1a6abca55806a1515596ac56c7f9f30681e202d9b7abe1072c8912d2298bfd2101cdad4e9f5b424058fc2698d30e9f642533ce8a9fb8c525a579ffb02514ffdb7569c9d06f39f590d1db50e644b928ffe9a997727a675267c0d9d25a199e2f0233cb1d8dce94232" + "proof_hex": "0x000000000000000000000000000000000000000000000004653df3b221859c4100000000000000000000000000000000000000000000000c0fcd7044d2c5cf04000000000000000000000000000000000000000000000001856c5332f0c062b0000000000000000000000000000000000000000000000000000069c026523e3600000000000000000000000000000000000000000000000d0bde709e5cb9545e000000000000000000000000000000000000000000000009f57a61be4c550709000000000000000000000000000000000000000000000007a08ee393c236f8b500000000000000000000000000000000000000000000000000006f2f1ab01d1200000000000000000000000000000000000000000000000c0763f8bac7e9f2c90000000000000000000000000000000000000000000000068e7f11faf1ace46500000000000000000000000000000000000000000000000ad3fe2da66b11224f00000000000000000000000000000000000000000000000000017697d4da441c0000000000000000000000000000000000000000000000084d42487cfc74aead00000000000000000000000000000000000000000000000cd4d8bdcd545d8bdd00000000000000000000000000000000000000000000000a108c806a1ac9e1800000000000000000000000000000000000000000000000000000aad279a7a812302bc07d8118827eb70c30de207f617f390aafc68d91de5de15485e1314a350e0b12681f0dfefb40c968703d65c160eb29fedd388871e34f4a1a326c0191638b1d479246ecf67012371052c1fbc513112194ec52cffae11607a2ffd9455770e71bad07b916d899b5d917c2d6944c230eaa8bcfecdce9021eb11ed5c5616d5db2007f6a0f1f7996a3976183faa9dfa59e4a6d6190512fe3f52e0a3bb7484f42ff20b86e966759497d917d5712a25c5827a9f2eb8fd28724ea12c76e0fc1ad4ff80c4b0d4882a563f9078ad8503119377052387bccfb2fe14f476f3ef195a98de112679e26dc61dba4c1fafeb71bb7252cd7e57d46a0993367f7fbe36f550e8af510061599c0718a83498c44629748caec4aa274fc583d50d93ca537c6ee74aae528b8413cd201121d5bfdd242064bc24461a866db5feb5bff0035619ac0256f1024495194f3c57754cbf77d6344b4d541a9bbaf60393796d93fac0690c970ebaf1d81213c28f73075d118c50a61b242cc178801e053764f1a5714af23eaa2a0731f75846c179a6ba11751a3681021c150668ae9801d541dd3bcb067aa558319ad063d370ac6ac75564ccc1d3332b07084d0b20830f728c73cbfe86999401032212f09e37be2706b882b1da15e37fb94eae1303c68583b9dc00c7e12a86326edea1cd5a96d35679fe5c271bd3e95566c19b0032217cd457e34672748de09e0e13d13fc4676a617fc22eccea5bbd1ea6bec3cadffef8dd22d0037a16a74eb183f990ad58f90c978f6df2fba38d79cb47933db7e8d622acb00d3edcd1d5cd34ff0ef06dd3de6234e5825abf15d9d244b7d0d807d9b3503d56afbe1778d716eb57ffd2e54d35328ee1f4dff58ec85800371672a731ed6200d79ef9da7e84d4a37c40c06163da80be4c9da582364d6bb9afe014900964e2317d20ebd185c3d659a3a742784481680d6076f6a28f1ac3e648d4730b94684a58ea922d2acf763484c348c1c90da005856790eef3f094293eeedacca33b58d412c1f5bb587267f4cf9bb862f354f6c5ab80a544e78b4e8a5bb2ca168e463e72adacb0ef4b71f3910514d651f22857a55219be3ffb2755703c2d6b883f2117e405de646a73016388b358bec0d080f8333fb8d56f21121d2828bb5be98fe9132a412b18c55af9fac0603e2620d2d17f244939d66666c57daf2249e7a68fd5688e264d93c28b37c82a52a5a1b037295d3d5b9a05bd30165fc6e2f0345300490208d038a1107869c69e07d37e10bc58e7a76c6f4f0eb5e2aaccb4fedfcd63ed33c9ac42176e509aeabc02a2ba20c6ac7fd83a32b45f43409b26f3a978007201fe0004ace87031f08586d653f4e00677fec664bfdf75755aaefbcf8d85580dec3e8cca1d65d6459eefaae01bf61190042ae4906e43bcf0211c490225f6ba7b794c04b303e24338291f2cf722ac720c9cbe4cbf1a75779d826d58879ab223d3e5bb11684732f89a17131dd55fd001c10d8c6f6f3814b075b711599cf94d147c0042d3f0f3ffe3c703a636a04ecee2b3ae048cda98530454e84c6e68132d942fce29e922ef9de872b97f50d0d07641984e1490c0cd71f572079e4a4baf70a47ef5abca54dd14ec0f5a935868fceb71f59d15d729d49dafccd6e48ab54282af76dd1302c5fea72808c24626fae613005f155a79c6273ec7857183029245ac7225ec151924cd61deab77e650ce32ad701abd40ff86adf882602df7cb9cfc309cc6cb7ea1c2d1ddc7073a33278d4fe0a2c5bbf9d5e85959dc2064323c423339e01e279b75083e37d27f813f539991b3325f8f22edd940f4ffaf65c1c78e9ae0a01babb236aec5ebba9cb168ba6ffe66b0693d40e9e6cfc1b4533f4910a0b7933fe3b4d3af2053c57df223e6492945d4a10c320c9bbce6e2b356ce40656eeec3032250ea39395ea2cb1809048000570a802b23947dc39eb6d325279870567933b77491bc1bb591977ba4ad20865279d612fbcec2587e75cd6705d2dd58adc80a571a60b63480aac8c8a45490bad8fbb932a1731c64270c1fb3a0850ab40be1b9831973475ef978b102461074b2d76899b1284af3c35b49828d9aa7cc0e1cfb8177b5849212739e59e0f6d59c2c8d92dee1795ea91b603bf0f23a29d788b1b9f30aff28cd78fb29d0160911aed46fad479093b948f7a97182dfebe1675c332091452547e6497a831aea739ba76929fb9441b708f37de795992adf52f8c70f7b5d50d5403bf4db1c40390a4de87727d348102a651b1901c93241c29303aa24aba89168bcfdb55a96766d2f2e7e542a679e72c865e544c2edaed29261d7db31d7ca25b766c8452b0eecfd1f118270d5bd2a0231ba1b8cddbd5aff496bbcf04cce11194496a67ff1bc3c9156a3dca249f1d28167aaed368f7a2588723407adbcf6652ea7bea7b2aa4053854a680e7dec20a7d2a08c83d4db19c2a5ccd2e36341efa1c67e44bbbcc3919b3c1c9b654e9ad400410ad1cc677c5bd079b08ebd318ca6e81c83547686d178d5792738ea20791e58f1c6b4e51fa4532d57346c72dcf01715cd9ce80a161c732ecbf831431fd1296e1233116f015884020e4cf23178648b8b4deefca9d14850ad47c2ae82e43eb5aff2983c67e451804d9498622dfc7646837de4caa170cecf5086d455239e30d9b652170d8cd6e918f318bf76d790092fd206b48b415d091f9b5a18b9275b580b63a14d8848beb0644a56a372e4ac8b1b3f5660a7720ababc97fbe763ecf7375ddab1101dbc56c23aa181d74826eb8cdced98a4c129d72822f4521249875fb48e5a81ec8d6654bfbbdd6218d856ac19f5efe42d04e71e7def53ea7a69511fdc26b490601837e2122488d4ee171f3d01d60947d01a4f92867bd0a9cfbe3375fcd147108fe9c8fe5c2a1c20a77cbd996f7264e83968aca12b7ced66e79d3908c19b1cb2d2f8d136690537bd63c2fcf87c7fa7cae9f38cd54bd74ba411ba5c55f55b6a91dd086dec5b393b09e526c0ba82dbea999870db16a2e24fab3dd60e7990f04720d32ab366079f3f084dec37712ae49065071c1c73a7726995cb061c59256b89021b0e42e88e4ec69087a5a78eea6b7045c01dffcaffebabb1ad80d8dbe45a6e02719425352963222e6d52e1cdad753d6c03a07218c652eec15d79d90ec74877b1765370c103c4796688c0d3a51dbb88a0921d032ae5f54a0a7986e3c09fc6bfa08ef9e3f3884f9c99e2fd76d1bdb84e473ed00ea1ec3b2e48d159d3342cf3a9911c4d9e3845b444fa226b4940fc5cf6e9d7eae1e51e81d3180d012890f6af848116a477d35f45010e6268c4edff7bfdbe9cdb7748fff80d0f1c7211ba346f365180a6cc1155b8e6fbc0db10ef8e53af1202afccaec97e38cbeb16f20302ce40423696d4d587488270e50600076e0847a2de937baf76e1ef4fd149afc6b0e6bdb0e704c35db4c592f2a59582a69e39fb3987be1caf665d1106ec8b8650d13fe8b0c49bf67f643f2068b484442a330da483480d865decf4e34b4e5c104b42c43e50a03e0f57b0adf46ea1856b128a2aea79b9c521d529adb4e4595f603da80ca7f18d76050ae1c69d5db867c70c9c8bb6e40e4cea2fc04b2fc7adbbb1a6f3eabfd0d2a16ce263adc110c15377da506d0399da7f4f9ff7da8b2794403450fdd97a713fc229b7ae74b5cf1cd951bd6a9ca10dd3c4584347eb712bf465b12c9336ad223d46c9aaa5bce34eb477072bfe87a4c8c3f9ae73285f463ade6df585485871413750492ad31b2e751aaf69e86211a317e0d7cd0633852cf352519cd8d67684810094bb0b77272706a624758b72fd7039f3feb73c11fbfe5b6d4c033b1d7afe62f00a93068d6d423652adb4cc7e74b0c70153fb31e0b4cfb96cb1af33c7f99af02f2f116549f5c73172916e948515841527eadaef4012f45297b44fc35e523272358d505ecbe0b04c3acc8a86fb9689d08a67efe90b8dcaa53ec875dd84925921c786b9f6901c78b34e0e24c9a9e54d1fdf8a4f8f82638fd2a8d73cc61fe8b672657eaa4292f9444fb38915c1b0c579e09b8ac7696c7a12313df6fafb9a3d79a0d517b9dfd22812ba98132c0cbcb55b8289368dde7ddca2aff5f553e8f056b1d13546f78c5e960fa08bce4bf65236b7a2fe6ff6bcb6fe7db27ae1464fd9771dd0cab8f94b84eb3aca6f9e5fe7c7143a3184fa623477a77a11d6eccfbfc6c90a21fbfd34b2ad9baeb43205cf2fce084f78d7f230f60933d3aed48497a3f1a59ca0dabfea04efb1ad61c286b232ef02931b9c1077e08d1ba70d96db8dc01a8770f2f9eb4d2b72ff43f8bab213210bd9955e06ffa68876cb72af2cc14711dc5d45b2dc6969ac42b0a320e9108843a59240aa323d29b292f4907ff7790c836a85e5300274a104b5042ad23b80e31026f36855ac7edce01c7ff11a2a4ac7de609a7760b9e3e6f9b025505eef151beab88cfbc728321bccd1b709ba4fe2f176a633a432a25985737e033b44670cc554b5c83e864e1409edb56fbb08d4f8b689525beca23b4aaadcca3c017ecdb9d04e44d5461e730290dd0e574de4c32a6eebc6c3324079e986a4d6b36ada36d6650947820c59c1ca88d6ad07dfa56314fba9c1b03ed08540069ea62b18d8e8c70b3809bb461667410a43e21b48f07453b3b912518480b68e3e815581a7440eb8db6f2ff47cad73ed38de22ffce84e799d4654d64cc30a4a06fa71aa025cf80e3b756c20eda9c255b6e487799516cdece96a24ad1c8f26fb570f66903ad4d2f55b119126c6b085f5bf7fb017688471224560834b1e4b142a36eb3a26c452063c4b22baf1557452e6352fd512d6e55d38f139ff9afda52f16bf115ae3e88b814c1dd2dbb4422481a33c24b64f774b6ffaeec311eda6d22e5c09495f21d3d4d79834e6b9129ad50f4391ec0457510821acb1473fd54ecb30280fb0b93e69df6a204abb36fe6ef3e43154eaca574abdb14a47cb29f2518f18bf8765426f7ef54ac017ea6b1700c81162058fc0ce6e157ad7eb6f6cbd3b5e239e2d6b979b98e280f33cae99712fbd05f810c3932e99578f8830bf81c945b219af404e65b50bce7f4b2e104663376c1f3ed0b8b0d196bae9e81a9fa3a3fc981ccfb618e858bf3da6a985b6bbc61b8431494ccf93cd747787458aa5619802690945acaa3aada98555872dccc25c7232849068055e2ab5d15975f712729af86122122b99d1f7d11aba9b1d805c508ba36ea50138b726795461d960b7362b667c162ede6e9249dcd4608b0bea6914f739d2099d9d5ad7efcc32d625f12eaa72572bc80a1e02c8234efedc0f02d4d5b2f6297860ab4c2bbaba352c693df76e889e020323bdab1fd49d79c02ebc22e89e9e9fb9bbf4a5277b749cafe9b5ec0565912ade497bb26e2d2cead90d0d4713b66bbee69668554574480669e32376ffc6d81e4ae3cb19516bbcc60fa13c5d6cfd47b15fb3f71d3f95aa98d618796d09f9b8131ce12b1832b05d1d68d329974062ef170c9dc92672064e6bc9e910b5d4fba100a6c8805fb285d155c0899db75bfc5e32ac54ecb86130ec581d302e52958c192e9f85ce61318047da29ee81a4f6d42ffabb393db49f7d8e771d85e42ba15b8d2e16bb3257afd015f0f2fced6b29a89c4cf4e9295aec6fc08c84a22f16f35dc222bc65dadfbf6e2fe3185250e48fd430a59fc1f9c9491c5dc4f2e23dc59b9830092b91c5736dbccb2c50c7c3186505ae538a264e56ce65f6b9096eb8102c4b1c19623f94a63535678dbf0a8d5727cef47e29909f166ccc8e2e011bb0b8dcc0372f02f3a12ab3e92291fb0f5500d129af25315650a341242b70cc65424bf993b106aeb096759e3e90dfd973a30780cf66b2055c7f3d126b88bbe5ebaa8dc36f0318ddbba0da496dadea3d773ed45b64950abf4e0643873e2401813b3c947eadda2474cc52b98abcde2e8efb7c290218c80942b1e18d616e31e3111446a27851182a5204b216a36efc07d372f4505e4eabf4d351c9877ca0bfd84011afecd6f4791b100dcac829b4c8fa8be2fd8a0f651dae9d6f82d2644c8761878cc3cbe096ad158239d5cac4a0d5304d5b0280c764db354189ca02eaba6ec867af7390c5b6da1dd55ca177af4d513995fc2458bb83bdd7b6f6915b427fb86a6c3c68c703bea611a729d47811b03aac98de7aeca71d48ae5b5feb70f83d512b657e4e14c98d103005c432714658026004bb69105700955595e7266285d43020435090f45860c913780755a981294fbf07b70b44c08bdabcc87e14a44615170cc1fbee652083882d3fb47ffa8ce5ecf04c41f5d94192d67c0cbb67a6aef40552300b5f5f3e6786029db729d4c01af0f667e056893554fb94ac3b3243e24efb225fa412cbfc2fd30337b450108e6391c162b8711159669edf79f7c2c3523afcbab1be3fd01ebdc12acb694036b3890ec4cb57342d67ef1450bb834f5c404ac0c8b93b19c80737bd19f10b11da04df801c1de33d096a7c215e4fde2bf69c70b357ae362d6aa6ba1728a98600e8226eefe00ac20d95a6d872b29aec539795b188cf69342298a1b75915c1936e93b6b4dea9cdade4e0777df9931845dbca2bc692ca803aecbeca353e2763886d2319590c5d65b36c894f843b974f871ce6f694f403fc3e0748ad95ea2ffcbc4cbf4b496ecda38e50a0770970ad6efd8503693a687f5a11835d73dd4e002f3d74395f9b9ebe2ae9a70ab945297d107040d180b47b32c6b01aae3be6cb2b73605028915d67f03f55d43693fa90f954ebe765f0c339fa08d148a463fcf7130d8758098a375183693dffaea1e6ef42fe0e99864a86db8b68e16c35383e25060d05b1193b86e209432888acdd9eacffe53b12d14410ca21766e08bca41cc50e9288bc44272e8a6a034cc23b33d7fea4f444cbefc01a23cdef23e45925621b1c04398ac59118219322e4fa65efb80c82a431ce6223fe81e43e3e50db73347f13d91431016d254ce576c718066ac45b8fbdf7426e6fdf57d9b728bf1fa353a41a16dd5785b7aec1a74973afb56bfe051ad6b68c2169516c3260d9d475a1e343038055abfc0002f9245fa136d080db136905a040826fb129aafda62c3992ea781326c4fe2766b62c142606fe5bb046047c142c0213a3cd040f9f3cf97dd122402e6dafd20990406bf8e37afb64fc89a55f1d6a103a4f0a2f95b14ea1d36ede3228ef23857f6747e2d5663469faad8d401fe26444f9f7d1dad4ded577e8921f16304556e2fc74773457b0fb9581663ec878ff5bfa92c354e267ae2f1bd87fdbb40201c0bd9cdb5eda2b4494336a22a924c45643ad1ce96ddef142e512b401a6d600e750e2502047e94eedb1162c45a5b049b13e9a55daead2a2d189c2449868830572b10836d88a623e3f03737c6d93beb462cda770c2f302799667daffb223290463ed98e0521f94ed8e7ebd343c989d6a38740c135bb9bb745a09af09277b1d1a077b6eba27c03312576e94128465f9ae88ceecc4346cc6e08fce824f4b33a413deb98016c2a05036a7bedbd9e63c27a38191b5d2833524ba8f6835b775e135084c8fe99c5cd874f9062202ba0f651e8192254d90dac99c5298fe3d84dc6a6319890061f77ef63f256776a3184ef83dc6c6c3d7927bf0bfddc1afce9e777db22eb78ddac16f062075067132666bb6689cf6d6e03d086e9ae77d81d9a3a2badf0b42e1e7b649e544d7aed2b012b5997d6ec916bd7b4e25fa497862c97f03f3681fc6bbe9437ed604800ef243053d6eb176134be44b35a830ac4325218a2088dd1b15b061a9ea2a24433f7d4bb31711c5a273708684e2da870a10312f487681c413c2dc1d05def5e73fb5ce14bf92a061535ec89764c4a3d045644d58b3c594bf071098a1c62767965138618d96639d2c7fb01495daf70770b943df5415d8a0ec24763a9a13ce8f377884b1fc56a4eb80f42fb6ce1aa9c5b89768ef78c191aa3a2b92ef80229faffdc35d40adba15a119acbb4fc6052d4042815017c84b745f982718cadae86755e26552f7b3c84ec2495147b15f021df2c92871173a23266740078fe1b9f4958116b8b12031995c7782772977bf28c9ea47d0205f109e3afce22c2490cf6a79b5c298c432192469deb433f9d19c206e862e9a2d3b7a22fcfcbf1f0ed005928f4705757bf9a310e7112f52f5fa3adec35e8e1f420f5805f0ca302d73818a8bfc2d8f8e3b38ea5eaf1f6e60715384e1a0a49e6c54b4f4e1b84e3c03ee8034acf3ace3980d6ea9281859468a9d6b0aff4d3d8551a6ef13f7bb5abd0e485ca6a59b35733b54d06b2d8182f5f5ec40a134649ac792367b2447fe645027e4a3d581d63adbe83f1fefb285b06acd5de4770db20be792f2f53a67c921261647cd1dbbbdb54d6f2ceb55f1423848d49edb5b5822fd945f89094b546bdb3d2eb6770ffa5367f0a1a36b7e52150ceb935c44f964628c365879133b3b6c28b20e7345a1d3446e7754689b3466890c610a054e6ae1838601dc17697b209822d818ef4591fede8a3b1a1bbd55196c9e0d252a5cfb18759744491a9b152e704b5910ad9a880cce44486305eed9819cc68aaa5a2a8f3c2757730eed577aa2083f9315e94fc9805ff71649aecce4c5bb50e01e9c0f0242e8b71310ecc1b9fa44d876250cc65fffe99df8d226564ac77eb96287c3afad0f02e0fe27bf58cdb1c977670a38714bee245490f1d555b8043005230dd43dc91f46afe92c019b810585b8b219ca4d44dc77b9e886f2363f0379bacc2664e6fe66cb753692480f5ddf178f3c03a0dede823c5df8e179180cf3c0becfc1d53514a02ed8821c83ec45d5021da52ba3fa4482367addcbd52915ac543e62c431b6bf8b8da5127bb9e51bd62603a80bb5287edc161d64b56685e7fe365125a3882ee4e5fc16611ec74f32da3000ca0e4b81613ba34375c00bb841602c69eced385fe9a353c336a625e81a1bc42bd208cff34aaa2ee920706966ee49cb24ab718eb42ce2023a3295709b8952105eab06c43ce35d9702cbc28841c17fd5fa26da862b399460f9e8cc073dda758778b0212fcb03128843805d626f82d1a6681b5821359d213f3ffb9e6b0e487fab992d05c67e4aa0da53750567e904d5f80a7c591e4307e0a1964ad632f8e4c3041af8239785c0b9d61f7aaf3e788559bfd0103d46409f038b60d6b4e46c242fd148f72434bb8f54e2a78c0a2ce5475c98a5bdc715976f151299ceae41233dcbef8157079a6f7849a9e21a5fb26570da8b75ccfaa8e28415b135753f519438ec97e3ec1b45b607b9350d6da623adf739162815af8d2ce6fa43316cc1467da65641cec900097dfbd60fd369eb74dbb35eb9e861d8e82d31cef16624a1140da1a9f5b7632a82223b14c6388ff0a61a37b105ed5d95bd62bbed8cb663f46e3cfb2876a3e02cefb7809c15620844ebbf1097cf820d55f6d22bb83b4a3b8fdad9e4434a1e48154c4ebe4571fff7ce7b124fc7b835fe1b5e2d7c559f1e4fe41cc0b815e7043908ca020d05ed0a08bdbc4fd26fde50180b996be94cd1e2819932a732a299c02623407eef452ae0922a72427a5b73b7aa3548eb9477c7141b8b50a4b053de81e02e8518b2d7bd1e9a20ebaa4f935b1727392adb29a2943997849c7dbd1b95156d133830baf786d5eb75d4a95b653e4b09796253584819f797529dcdc27ea4efc126a8f2f90b71c35bef497ffda000d205a0400f2a0120e32cb632d0fa5d29e7d327d1d278f48dc1d4943a7c04c2e04a728a62f175d5767873fc8189fb8405867e0a37e6b0836c9d72f9c2489d1df4ced8bc74ac7f2faf7a043b76a9476083b65118c585a4078540d4ed4a69cdbd1880b8e97c16f5b2404bebeb465c751bbfd4782da7337201a16e51d5d0c578cb77ac544db4c5ee965766c10ae5c67e6aa0d0451ffa697529b4fd735b623fcd42255efe79dc68608951f7670be66fd2bba6d87e0a7cd555c4bfbaa258c5157312f7c24f47ea04d7469267a63c0b741ec19ed9f22864df032649fd530d5ca991fd76ea6e0a193c80ba82be5ef03027d3682b9b0c05298e10ac9bfdc92b025c41e911d1c7b1ffb71c28aa1ff5734d1649c2ae8b481a913112883d9cc55a7221cc821cfd0c1a67aae479f5a60c310684b5bd893b100c955f661769d0bda6942625f1e37c0c20cfaebb56f2caa1775a5aea80fa5c0d2dd95246cc77f931c25b0cc44ae0ea190b93aa91935887ef098bf9ff3c8c1918273ac2cce9bb054189752f700cb2c7f2ead0dbfb59f57837e95d1474d9539c8e1b48191815031e8b25c356e43a26a0887149424853859ab2f986b34f1b24ae6f1d8ec6b7d982d0d570742de56f1d94c457eefcea02aaac553c4fd744f80464a5240275b450bfc742543988adfb3b372fdd10e2201addd52920282a2c862cde6b15f361c5248ccc1ade53e81bcac3e987b7f9cbf353d31a2cac737ce549f9f4711f88d1349d5cbcfa987f447832e7c1196785bb56c690f0a3da5c2a379b7abec9133c91163044fd6bdcf50797bd3e36766aba2d4252b3de1410ca5cad46676f251478ef9bf9a9533fc85ff82c2a638548a0324066bc3c77bfb80a9412dfec1c5309a3e6ba15a65fbc4736a6e03134803975cbf6e5f30b956cb7a86404ec16b70315ec46b65895bfc13f5884f72476e7cd00fcfaebae15975fb1011e53fd85f20605f380ae1a0ed009d614a8a70de8d20c3491a75a09defda85058458873010170036c7562e1e389d118a75b248e4a19eceaf5ac454473697c8f24473ca4f2cbe72fc6a0c028f9bbef123b9348682f688c1abe49663c69e293baad8454dfa954022a23a91670c11adfc942e6885275453e07d601a223acfc8b06b9b360a4ec21092a6c5e348553dee554362f8671bbf84bb112348f749f5187b9b1a5b7e2fdefae00c9474c4aaead7c51cf55e9ccf585bdd32aced11b5d204ae181ff28e49a20d911f28c4d841b4ceb7d40cbe94ed6f6c20dc96b402715bb4560ab81da660934ec1f72c38e0d4cf178617fca95ef52a99c69d01bddf8ad3fc32a32b64d0013f71020cdba9c4e4159af7815de908eaada9ccf631b1a8d41a24d8202146c3118ea1e09b5c337a8c844fd1162559a35fe044c941a5fcf2edc769bc762138effd9262526bd6580a45f672fcca4dbfddca153e60ef7473163f7251e1ff5f0c6d4cc136f1d6383c237d9e9126c7c24076842e82793103085badd6eec75843fad4bddeb2712b68a8d75023af09cfd8a59c2e682d688680104d899e5b893f82cf51c04323c00c03db3a1c9d8c1f4fe6ee025f0778e56bd6d572cea729088d3770ab8e225b519fe304e3172505945563f0a9056f7c00e067d4808c69a4e11506f77f62951ec1f732c217db2215964297e7c72a90706ffec03c34a7c09bc732fddc2b1ba381c0d2f96a66893dfbec2d308cb32c95e8446b3b130ae525e6c9117497357592d9718b0a51d19662e87fb2a6e90ef7e58cf65c5b52081531aa52f6a4f01332dd2dc0b6f215836aea6988ffbea3d8cc1ee7cbe074e229f04429adecad1acabf8b39d2c6b5ac13381bda480c460e076382c8021da287f3606596b77b8636d2facfc020aa4d638b7f867a3117005879990211aa7d7460582bc3519b54184e5f658557c0b7b163377bb25c6ddbbb51ee374dc408b6bc337e93b6bbe8e01bbc176b42b7209c5ed4ebb0afab4aeebfe4ed05a6c1de5244776cdb53447da996c125462762921cc095e512bc797203c6fa5972da0aecb521853c9fc94f80c339626234f75d7055fd7705c4df82307a537261137a64eabcc8f9859e913baf8430312d88cf0ae07607ecf10a9379a204a046b714a199d0c684715f4e3f23cc303a8dc4f9033292c5cd475e0bc3410651d3d57090eacaa438866f5b52d614d39a69d9302845c4717592d42897338592e157de2aafae6f4a968d13a869354eae2858e194bd2b5490aae9bc2d9aaddccb3b4ee544efd29448b2ae3eb6529a4c9219e14ae8eeed8f1140d5304abd3a6e185c6167d1e7b65b072a0775196b40718f0f99a1982af51b1297244b84f22ef82a9472cff57c9d52e93ab72d3dedce9c9bcd3fa7de152207b1b2182d6d7edddddaedc6f392aa7a4972f704d39b528a6737a7b6e59df74bf2f1544e9a7541e6dbe6b48f434b7bbc9285562b020c32d4259aa25badb4503efa91764cb057357f0985152fa370097e77170eaf6a7bd35ec914fd3bfb8d8d369dc1b5f85086bdab21e72c23e83f47276e9f9247386faa83524abe56283408d61a1026331a2a680ea2526faba457177165fc8d432d7b80b0d2469996837f71a1e8911f81e524998eeb5d81e8da998ff8db2788a1d4377058ff3605968758521071b2625f9ffab73bf24353996cbb9f136de26672859d772851bba8f5d53f934c94411f67c2fbbc4ae2ac72d916d23af4410f9fad7c0733dadf55443d850e11132b809f6b676b25d52640e2448649c884b7f5e4bf1f495659021c93fd7dea849050a1afc17561e7ac3fa54dff9cea13841185fa32a4ecaa8b84a38c5c5186894d5e1227cf600a6ff8a406947d1933e88eb92b9a4566fee6a188dfe39dcefacee0bea136d7fe9b85900a80768d8d90242401f0538d299e97dc12dbd53a3fadd7938b10c4132a95873c09fe509c485c01be3d706205cc481ae8f8359706ca22b4b3e44072cb15232f5e6b6394198d982f7f77efe5388aa610785bff699e37dc62f5bb00ce51ff0ef09113f4c00b83b2fbb0c496a49dda20a0ad90be05cee1c6f881088005280e30a5c435a3b5a5c7a462f6a81dbfaefa14a2392b4587ece63b637709c228073340ee3ea346c2f61b5404aa8b3a1bd3402cbc95c4818efef3f7173c8f20afb5d7e018e718e27f3c7a717a003447c5554f95781e50766e4b4513587b2a91333a7249585cd9bde9765f51a9f94f0f414d47b96ffe8669f84b424170dd4890fb8041ad99ff646b06eed5c5f44b1545eee18f0331ece210cef36ac9525e2b229445e8628e1e35eb7ee4ae460aee061ff8fe61d9ba95e712f2b2575a0fe7a24224882db279d8d908a093611cdac69d7585c125278ca31695b1be559725bf5ab2a65cd53bc0b439b8b025e642b9e0372bf8c5782d5d5e8097c8f65b1fe5f48b71fac760d524363a3259a7a0be94a1e2455156419dc9f9c0ea98ec699faa2ffbb1479d280b7ce78879ca958944b5aa55a46e79af3462a595268339d262add94e01ba0099bac904d3c2b9d8aedc842170907368691aa82ab8126e4b864d66a5367261274e39f851079ba984e72f96ceb685e32c979488479125cf035ff1449772529fb7bf132cf9fba9069de9e8d1902d9f66c8cd15055cc816293aff90070e7c319f4694c84ff6417936ce2b5278e432afb787fcbd3a3a72e2ed63affafff005824f726f17760c36640028db20bdc6b9cf320735bff608b902c13367d703df8a81d1c5ef6a26bccf65ea729ffd8ecf0046c5588d0979ebd90411ad09c4171aeab1631ab0515408f2a4eb12beede4e6725ca80a939cae5e744305ffd37f5f874962f93311e6bca0b54c01f1d304755d930223bbe044e54b6237c0980c9f28515c62da508baec92cc455019a3dcbcc411234faa31632970e2d411be46f7c062db2612a4653aca8e27144c072dfe8870c7bd4b770ae0d2c0c3c58c2407007b832f9e2cd79e2cc614617b91dd363cf61053aba918556e87bd09c5b817838e25c6d48526a64e406045010090d557668d509d24b025291678bdc1e9cb5836c0bd43e0bf2fc583fd4a9604092d122194a70f0953cc9052f4bac48eb6248f98a9865ea8ef2dbd15776afd23e1d76c1ade0f6b12e765e5bf7de5899e52b8b41e1bfdd421b60087af1e84ab37011a678caac4231f24ff056a09f4baa61002376c5b26a98dff0bdcd8406b5d98aac457261de6d6a0ee24c4a57cddc4a3e440cb6023845ab117022fc99350c393bfacb47c548a015b2a84a30b7c8446cf06cd074ccf2cc6125916728031ee6a10019db7a062b7c31e37014f0f98caac08a8caf15df4536443c112f0a1a0cc448bd1f917b435f17f50949ff1bf86ed6f74a0e752ba09c5e4453422daf5fa5e8b4ee626b44c7e7942127c51abc678b48b3f0098fddc9b6e9fb0640c3f182c5a2ca741154c586e5f08cec5ba0f08022b2e04ec9947e5c97f777c0b0e8fa6049c230c4370ed7cca87c6ada0a3956619fc4f5105544d92d31988db39095ce79790d933b5a11acef7a0ddabc8992a8e6e2422e5dd4cf13afd7d9935fe03da67dddb0451638d87974c19759471baa84524e308fa597520490ee69487162a727bff07da92b266d71d06cad8ccca254f247b8a6d8aab153d6a69cf84c518196fa3a6fa91652665851427312af1539f12af918ee144600d2781f207327c4a289f146da49578ee2e3ce77ed09e149f2012bd81a882a1869ce7d9d608c5f22a299389676e1c47dd3200b8d3a8f5f73531ecd5b71414de2edc983989f35a1af3207709a9326d50c531a947601e1da8f5dddc02c5ea8bec9c5cd48fd42823ab6e25b245717e428c6c348088f5fc11b64c17f3544c9e193d321eeb790476ea75d02ce3727c779fe2529d865d29979c4b945f23878a6bc517673a4a2a5626282f9d0380a2d361961c23dee7df95dd9895646424f538e7ba32e14c9a3dbece7d8933196550c5596fc06608571818212e8958528047f4892eb8b755f3f52b1a59df5b2a9a0f4b7237d1939cc7883137bde1a27d65abe7268136dcc8c2edf0af2d0aaf", + "public_inputs_hex": "0x1ff26541d4fc7e469a1ceb11c7113dac3c1557cc7cf7cc85ffef4506e593f0d602a2b2c567225f82a35c11095c5d2c2a051f7882499f1c81653cb18dbb918be60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000856f0d6baf4f2c757ad3f0d008b1ec680000000000000000000000000000000046e8726f2ce6b197acee5769294b365104f5f13bb809396de2cb27ef7553e00a023391838644ee9c99e9b368202bdaf80a444ca00c435f8689c8d371b731a6a43f7cb772493a1604d4de7ed5b45150651607130fd1d30137fe854028304c1b75bf5e8c647d31dd8055a1180c50dd2ba122e33ab1534df04c0d044893c1ae7bf8327d9ac0ff9befaebc6752cf9680cd44162b0fe7a1a77dba1ca280214cd7aa8b2bb123a9aec8dfdd5c7d40f66bbdc0c01ddb442ab4eba26f14ac0476cfceea19a0179747abbd986d977b40fc19184c301817e75bc5e9dced0aa7d735a19c93753686ee4f2a4b4b0056f2e98d0c8907b020fca1984ea1d8083bf214aec6710236d32d6867946778438502c7763b63d63219cda3ef547aec68ebdd783d090c0efb655a60502b94d79c516c24d25a0c63a01a674b02ffb142725466cfdf10d3e9947c2d1e87bb72ed777e9219ec9289bd7f18730ecccb724b9cd21d8f9ab56f62d5018abc9573a1c07e2510c4fb2b65830d05210579ed45bc91b1e944b88c72b1dae7f20fc6acc2328161be3177cf3bb3cc02564e8a2f8187fd7814d591cfa4417f0d4eec8f9d2302ecf54cd5bfb9a33cd419cf51d58a970d13fcd46e4c1113780a2c4af6fb398e10fc8400e72246a14307035e6074301852dce18e34c431d38d6104248469f88f8687bc1d636dd3f180a80a5c45d538f1b0e35a6d6f877ef9139f0f49133572f3cd0f73e4189b4887935d25577b5504e14083e73eb6bc1cc206d5c19f3687607c218c87e550652a7f612e0058e2761bcea9c5ebfe33b003284ff9f9b71d99fefe4b974f8be8e85c2fb320" }, "decryption_aggregator": { - "proof_hex": "0x00000000000000000000000000000000000000000000000f2a24f933d654715500000000000000000000000000000000000000000000000545e926528205b11b000000000000000000000000000000000000000000000000632e8e2c37b7ac3a000000000000000000000000000000000000000000000000000204562ec9a64700000000000000000000000000000000000000000000000350ecf0168810c4460000000000000000000000000000000000000000000000045924a6dcd841f33f000000000000000000000000000000000000000000000005cfb09d8d8b0c60370000000000000000000000000000000000000000000000000001538174b3c5090000000000000000000000000000000000000000000000019ea441e33e21ddc20000000000000000000000000000000000000000000000045203e055dd53cb9d000000000000000000000000000000000000000000000006a19bb693842839aa0000000000000000000000000000000000000000000000000000658b839b0b5100000000000000000000000000000000000000000000000c79ab1ea1e8c610da00000000000000000000000000000000000000000000000461b6afe17a08a0fd0000000000000000000000000000000000000000000000077c28e8ca8532dafd0000000000000000000000000000000000000000000000000000ab3870b0c76805285311757b6ff58d3ca88bf46e65029b008c3e0521fa336249420ceb2b168c0b1aa26312d2aca71c5e3d6aa0337d19372099d3f959fe701cccb235c71d092526be0ad518be020ccfd67ce134cba5d1131ceeb1549daa3eef8068bd92fd0ab810851d38598a68ec0237a774af5482f6fc7d6e2b033c191d81dde59d6043838622ab9d5519fe815e81fe80a8cb95034b52247ca1205a5e80476fddabde7de9ee26088ef5c51d6c15cb76358fc1d3ce38b97bf5f4641a3c50d8666385c7cf5bd0259bc9ad2b0cb3bf2bbfafe5732e568347089c52bef14d5692a38d15735a4a9c1f42a5da12d65505bce50a4f03c49dc7d87dcd8ab7957415cff78c77aa4556781c02fb1eb0880b3e77c3bb9e684c1585fae7478d9d463c181c0ffec962c0e3a40a1517964dc259b652a179f42568ce66ef1815c0c3a5dcf3f0f14971e0dcb6bc25a06aa729c20bb0ec185d712af8517919407d2d075f7ddfb6c984bf872bdc0613825df564d805a37709c1b4e3bf6522eb0492634d57c343ff7bd394faed76ae056730d70b9c7b7cde1ece4215427df572ebc58ee8345ab065edb03ff6ff86122dee990fea3d0f0174ce1df7fde6335215dbceadd312e61bea36a117f8820caa0450fa775452631738c4f7707c1e66d2ee062069271e051a3ba82b5ba12e82752e73c461a42bd6d65bda2154abda46a1c437a85a23b9b4d00228feb7b8d960420bb0460f481b76b4c01c6d0284744f26961c34c4e93b65f1a8ef11f00f53bb2e08ab44568d127efc48eb8ea1675bffa170bc39ce3cdc183704a82a41c6edd87825bdb0d9303632ac2c6decc4c88715f7533732413f72af49c0637928188891f40e576eb3f7f341a522cf73aaa225bf9cc6d5263ab9ea5b34b763d607eba9bd0023f3580c60d2985eee7b837b7f89855747fda96a899074998ee80224fe7751901b38f70d730b08a0058fe091db0a60fbab2cde360ee3e725ca0fe5bafafe760a2c9b783d0c8b996c55a1d784f857c026bd015c19b28a3d3f7833e6c6cb9d60672fadb7fcc751b366b42194f1f67f4d3ebdc00d7ed6c541e401f13f29d0e086f00857cbeedcc8076f8e1674be602503c515190edbc2aa757603e96e0e52643f4f1be54949bfb46f28539c30d2ec046e74ec260c42b8461d1bcd1fa62c316b26b1127247f77a8210b78a1a18b4cbfae007087b72912313595a3cd70376fcceaf5316720011d893fcae80b7eaee79020c1474ec84d7876362e7037745f6ec113dbf13f9abc3e0d1f8b38be41f59bd9dd6270f04e655d71e2766bbd548f04169f9ff3041d67da3bc43922335b5da7ed5783663c04f930ff2c817af7907e2b2dec2082498de067d5a614d27477649ee12ebc02158117d903ad63cfafca1f3257faf7c16aa7f759855a4ccb6fb019eb7c1fe55158c7df5cf1e8472b7d9564d458eeac703a0f6b3af2d03ae694a55249e4a2753976582435530a8f566a5b947f504892704fe13b40169c4ad57229ad5d14d35f57f1fccdecbfc2d454cb4926f3d4f2b3313dc292b2689c48f87d286659bb3dd5f1a1b8c58a0b4cc898c9717e3a6ef917018ff97ae7dbc8eaf4885f69d9f28f17b86120c75a3baec6d5f51c28e6d557ea01f031a9f3814a585cfabf1b5a348f7293a05b776d98907948852b4b2a02ab7e7064345ee971810dc217eed4b0074daaccd860b09444a9e79c2945e2f4a640eb71e26811140f5b24f04ba7faf9b3a7070c84e2adb25a306eb04753003812e3b2320ade65e36e7918121e13415e493a8d6ea87064bcc6b05faf05a6e0e539a3b5b2d4bfa1a8c4e6ad385dec19d63d2b87fb3dfeb5aecf05913b14b9303a0e9fd841eb715e77151a17b6d18a3a3e2203ae25ded070bb41f882766f262dff2329e6b0cabf043041abab4a872f614c97b95222ca39af3a56d6cc04fc943c17d7cb6ca18922701bcf6c8eeb6e3a6f3d57dc8a02124f88767ac98f4c39707291e3af4c61264c15b40c59fbdea51c04aea9389ae017c31f9d51c35e052e0b56a7f57c6561f55581a1988f538edbefed050122e9804cf9781a89316a487a848d27ecabc7a14827d1283680c5371fb31b4699cf6dd73cf2cc37bc4ae4a5fd09eef62eeb5fb0ab1dabcea80fbb11d88ff33adeea34ed287cb95c9b43b0186915992a183161c0c3731f42dcdd3df365d7d48e8db03709ee9edd387215f583b8582dd0d70cea72fac1289f2801f9a2b340410f502aa25fdbc96126becfed467b744f2c004e05c2965fd7cf542882389b4e359f7f9d3f6f626fa702a3dc981d8d454aeadd65908276067ee72df218b1dbb93b93bd5f629afe460593ab65724230a0f5b9b34f4901675479941a3d2ffd1cb6d23cbb3ddd14231a03ddae408e239455671a7863ba12d5ea3f5eecc0d8ea93f6580198d06f891240d45c49c09338bdf5a95255386652dcaddceda596407eb41cfbdc758aa380b8ad7d5f8d59905f5a7125d2b8106a22a0031739279bcc9fcffbb00e1feef6348d47e3e7ced11dff32b2e1b1751709a12ff9a7ac7cc81ac5a5e4aad523b3512e639fe1d3cd930922e420d15e928663f02f772643926ffb2181491279bd4a9d5b802386b5920bb575b47663597cbbd8903f0b0003bc71cdab242003c53540f042d14893a5aadd4a5485c875cb5d1b15d1a8d0a21c40dfb3c6258b09789a3db2e3674662d90d296c2db048622d7e421d91493f7634787af9fe13bf9b131c09292463cb7ebe27cdeb54bcc7d1362a576bf103c86cf60730eb1499f99485ad55675387d3c5ebdff0f05829d8660c6c406c31c4eb0fd7991afac6675347b7b48170cfb8f099a8d93b7fed16f7070bdc152371c8a4d6732f85f9013a4da5ae5387133c9757ed4b3a4f5e5d7f7fe324ff74616035eb03ec16ddfde8244d560cddf30a4f0a7f291618e371672312d31da0e83ac08d6e718aa46a01a21d65d5099e2435a25c056d0767dae937e1005398709c1000af3ff2a0b31fe86eb46a5cdd8b3f30417be99f39a215e57d37d2a1134c597073021bc8d529dc1417509cd85927222f6fd8c8794ef88436101da90496b7037af1dff2345f07c232ba5af9b86926e06855434acecc143ac0982b3567c5e1f880a24f85270a45a6f2b9fb9a0abeb44a613efd912210a78370a8559c19e43bd81ba1c24da0f539d532f31c15005e61fd91a02ca9468a9e7192fb0e8b59d2dc4dc961a3ebe8c0bd75cabe0c7fb75ef9803f31eb0987e69a6319ebe02dd44bcdfc23d1a955299e9eca8b10c6a8d78585482819cafbdb670158dc5404edabcad56935c04e10f56d27b19a2db7fcf1e40dc349ef2f35aa313cf5b005853de40e0ee05a82488d31174ad7181b503989df9fdfb62992a2d8c8deb36c219e8de5b25036cb400016328574f796e9d5179c9e25ffc4b55ac7ea92fa0a46d23dd5b5cb6c57f46206c97a95bcd78f336fb89445e66d048257bc3b6862194d7dcf3163188d2dbfb221ef4b5e4865e1bf6a4eb65019a5162d9b7149b0c2a3f8aa38dc8d2ff87ea0c0689e3fcc6fdc4e9b03d70daaf52a22d4ed2fa6327e42ef951dfa040b38d20d31ca0ca34fa31ab6afb6782b5c0ddc59872f37498329774fc8d91d333d552182915cf03e0613ce8966fe3f5b8d91a44380cd37952935bded19e0d0ee8f09f13250708d11b17f1e8ba9506d201990b7203c5be1d591860b96ecfb52379fdd832a322238f723cb5337fdc9ef446a4bc10386800aecd4ca46d41380b2de398effff8271546d9a2ac2881b9d730f0a62de46997aac4647d5ffe76d75fa3e99d1785591a516ff9e10cf55c04c55e54d08d78323288fbfe2ba7386cdd5c3c4df5f0b817267ce24336141c8ea8b3dab07b89609ae19f1c4b3a6917671d67dad968591aa00d8775dff79cdc5fd1980e10946f1c519e385bdba6f6e5c871d4b1d898b4099a2545ab8770606e280a601a01df2c4a86b9508da8865698d043bf957bc2c67616303d423571681f7623e2d19b1cc4e73f86a89063ffe9765ea823f1d9d147cd3012ba368f07a4d11a87061a0350fca5ca94cc517880fcbfd5413051542dd368cb149545f02fef6ec657f6f26b6e759419dc4f944d70bae939ea4eee3911db7e10086299697081cb6a8f3dbf0f9694177cd0bdf94d16f2be7e4e29c91096282b5d05efe2189674a1b75601e1880162b919caaab61745d198234087115686215a411f1fd84d917aab3b05a84a1ac730fee3ad4d867779e6b9316f78f1dd13572f712d4a807972d7842c789aa1b4cc2ac3d68dec1d46540439ac14fd3f0bb589cec210e0afc82c4065092f33c725114d71c5d9f26a83d8370e31e4e62b2ee50e58ec07c2f11a2d9a1548a98506c4a35bcb0e860a684580fe32dbc20ddbfb071669dc021d83f75025a48d1ea83c0c1e222b5f533615f1d73af1e3a231bf981cdb25b2032382adc0e452d892c1ad575fba206718eaa85e260ca1bfdb7adff8ea4925232a3feb5e0d97467e2abd3a2b3231a262216d7c138c7bf5dae7c21aa1e903e3ba28c2763bce13793ac900dfb123873880edd94527e555f9d19b8126de95ec989a0957223ca538f61d55807f7f3fe894634b2a4ff6bb6ad8f2b05e0b298f6ddb9d21fd00171e5afb9d2e02239f3fdd6b1340ec874f8621adc934876c5ddb54bd86188b78eadd3dc93b3e959347da73b088d3c8e69aaa9359898b8bfdcc117a646c10daf59082cd1db0f7984e4a132e0126a54a91cec5cfee62bf5f904e75e87aa325962afcc70fbb07de68fc8c746855e8e4c018d44428f8b96e0d565315195e562afc6e79847a4de96bcc6970c94fe48c31870da10d5a17f943ca084bdb1ee4ab1caf5c35aa2b9fca603f91c706097edf8e90f46141e7f9295d6cf495533dbc32174b2f9d42dcd79207b008a7a2f4e64f13dc21e9f832bf7b9fe6d77ab1386d331ff52fd2226489b0ca7fe201aa49e11844181dcc4a9e5a375181b6e0398587681cdbfd546f59482560cf0903a23205a883dd9e0945c95d0586f5711959e7e28c19b044be34890d007a7813bc4d1bb2a23f5867130d32095d3e8349ad83f206590b3edd51a86c52f605e988909e0b68feccea78bd7cfee443a728e67a1ee31a002e01c19cb8aebba59b527c7acd865b768f39c912008b65d7ff76187d18c9e1d71ab7d920ce2692f9a016e88533134620b570d05ff192ed81b5c67a8cf69d028d2281dfc38992bf515cd22535456ecd0a78ffe58e14a9ea45e15e6d3e4c1916512777bf1fb863caa09e25fc2f4a89858bf6cba34a78a63ce027e74ecd1121669a0e2a53cfa3fd0ec1254e0ef541e62a22f868892ec67b63107002ba8e030399881181e0447a3aca00f5ebc82e17b0a87a58e036202fe04670018d17bd86f26293138c3a57a39bc773408b39360759e490b2f17600f82727b208b2bec19506735c2910fdea96d8505b7d2d1cedd821bb063c5aecbb0e81129931fb3569a6cc39f521329fbfa84bd009d76fc5c0cc792647bf9fa45471f26d7669be29da6a596c83176ea90e6a5034be69a33c28dc782540bfcd5f1dce83d41833725669107530110357db498a31d149e34f3f52f75da129ac35ff3b6d2014244ee1b0cccf30f681218ab934766ae15d422051d8067eacc54a249982bdf0aad4944e63f54d27773a0df0754059a8ad8d35dba0c490977f786ee1295f0c553103655681f1aa2b8f7112723b6ad7eba2ce8b5814fe0cdd397e03867bf4b0278ce56c9b26c7e2f180de12760705ca94378e47f583824aa8019913f03a9656adf45e2bc0ae2fe3f4f14d1c5553700ddada9b5000e47fe8db1f996493f5568a499358085162a42fe3eca906247e16946104daa565219a693f36449a4fc4f925bc2244ecd583e3d573b4e216f3119d6dd87bb85b93cc1c0696a1f42e78d64d8c963392ab540f949c21ac211cd9a5001c0f4cc4c5dd04a03c703748f7da2d73f6b6b4dd473957b33132c07703df4cabe81b42f79575d28a9231fb8b04addd80d70c22b43fbde418d6da42091dcbbe8ad7ec901044bb1fba312d2ac6e3c23c2aea63a473dc5b6da722e5340626ba1f3bf5b126f988988f6b99e9e8a1b4ae24a846361e9648d453021b52692d2b9044cf10c9f801767907b2b9e519e7a9e96d085f7c47e30708c31c8cde3a89074477b023b8103f07961cb8eba616866d1f7f62556b65b08f20899b17f9c12a063cac1cfadd96cff6a1c76cc8d50055ba60ff086b1aeb3bb6e50939a1b867442a2f6fface260f8bad3e860f0804a4e361187a96d06f8c0a2c78a2af727cde1b244030435895ab4d42cb89bf9f970279084e9bfee9e58198f9be3881b9420f6d1c140c94afcdc4a5cd808dfeb626801589b192628782fc51c6e5c32e4e31adad28fc5ce6cd9df90e4677d200d522e31a8037c8aac2bb52a819be4fc2aefbc9432c6091c7415e9f5886207761438d6bcc59ff6cb808075fc101e259a232b7d39215636cb4168cad1ee0f59a0e67249b404a799aa897a16363dcdffd99e543adac0b833aa6b592846db80a6fd5f21dc4a5051012f88015e05420ed4adbab0535d70b6223ce42d8b711cbbf5c1959097bce503ee967e2cbe94eedd5de3243270ff61e71b27de1aa0d3444adbaf75ed69fe3361b7a8c2da4eda86c3a40490479327916f8f88a1afc1a0093c0612615cdaf35974bd896c2ffa1ca0009d2c42afac2a82882c3314e52f0a795d255fc11360849c9a6cc0b1fdb4b7541937ce071f39600276da3ef259a374ad384094cdc46989e34c9cdc6d7e04f762162990c223620ed1d1bbb4ae30a52323e803fb34e7185d78c3c3d3268349b1c7787ef430861a4190cdbd6b56dde8e635df0b1842f32c8fae49cd1faae669bdeb23f15db0d4b6354199802bc1bb063d6b183e67ee6a247130f77078525354403f61232ce4bd7585929ab652de358c8f66c4ad47063a46fd63202568b669653841d9396cef64e8a8d1ae8e4ee1bf14f66beaa23aab84ebda58d85f3d18e5421c8f275d8918c62e972130c6a929ff8c81907c65e18c15c6f4c0da4946efe9bb804a0d8da5c7217d01f02e38c7396ad8ddd34dcbeb135d00d8da1286a5b8366467100f2bc471775998529b585b60ce211d99765b1d06dd6f5d798981e46cba9cce47bee2352b0ca027c0e41875ae407790d3891cc60000041dbd20e4a1e2e508553b0efc399b6d1c2560663270b3bd3a1a39e40b589443e5f0e43ecc3c1bffbfa1550674109442f3ca91746bf39851aeb7106d92b025c2cdfe6d1a4a211ced2dffd4eaedbdef074691307d2c4dfe7b06c0822fcd0ca225eff219306d990287eb8247dbd71a8d92581c3240b6f9c0db5133a447e4c74522e3c120b2571930cf8097299cee67a6787160708b7d116713a1b249e94febe72bf9265acee09880bc651369f51e8a2533377bf0a20ae6a19c868ee4cd5378b28b0bbdcf649362fcf952453389804b3b61f5a1827ad3cacbf28ebd2afe81ea1f27ad3c98c8d789b6d9cf506efc2805e4df8e19800e0d1b62563608717712d6f00c005fd6ac8d0ce5d5e0163f4922189c37cd17e27a9034ad72472253987407d9094684b5def68dd5ed64137895744640dcd3c70105de3cf26f122b339dd5001184f5b0aab0bcd1ab30d75f971b0a10713f05a02123d8ebc4f5430c1cc6505ca038ad2d85fd547249347d4e45642ee906aae4c6b08ceeaf0ba16cc9e22f809c654bcaff5b0b7bcb99724954773c3204f457f6611236a70a1102062608d12f751763b115bcdf2808ef82ae845035392a499ddacbe10e9ab92fc9aa21112c1053260944cd8bba5641095ff9974815db91b7a02baf304f30383b8ec84e9c39ef35c5e03b5465b12a19570542a24dd5133b2c211a16d22f1496d32a3cf1c88dbbdbc26a7817c466e9aceb6b16408af6edd73aa6398c51dc65224c189b05594c2d7185f91b3d67e0a1222a2caaa44ef405db3eb3bac032c5530b4b8439d99e31f142df7188e54765f492782e48761593c996c5c3a57c821b815cf217009397dec3fbe9dd7af3af7f8a37939e163d0c4da89e66c3bd3bd27b9d04245be75a81ff2404f698a256b8e5f15353827118b98bd6e4f5d9c99fd1d74b8fcd04115cb156161bed98a5a984b644ac09459cb627332935f4ec5df710dcbfc1deb9756646b21bb614c7f748411ccbe1cdad1f520a082600a117de0c61d0ffb0e15eeab91b425b43d0324ae9d1a6049f995c9568e8dab100591d225c10fea5a7e9829f155cdc6885d20b685400492b9c0250da9dd3eb586a5ab27378e208319c78be6f7d8e707470f3e4d7ec8e5503995db48d1a0330b95a846ffddee03d82c79ff6601963be1964e584f50a3ac01b991e0100758293c29a4ab42c78914e4da70e34b6b1dfd145c950f680ea6be767f587c55a71c770e3552fe0d718b28692dd431032d3fafcbc1b357e48f0afc760670a0b1ff8f62c0d682f4ebdb490eeb8c50df3550bc7641820c9178f007c4aae003a740e41f0f1d49de3fa5bc5b269c4b297e7e9e4ac38b80fec9238504408cb6bcecae0537064285d10cfefb2507b090cd63edb31bf7e406eb8a59bff0dbe879d4c57b737343f9ea35db4e199f21286a6c17d727495ed8cfcc78b80dd98c0cda7a3b56f9cad8a1ef5d66de912c083714b8db6fbae3563f162c75eb8a2f402729bc04559ad782a08eafe914cd9101cb02f4b3ccf6f3330ac99c4b9ff4f8aee89235485db253e8b8439e7b4d293224abcce9c06764700cc7464389d7d4bb42a2338fd754ea64a9e90806b406a3d4210bd18d686b42dcdd9ea192d6c27de9ae1fa2c45575ee1d2606467e05acb2311110bbc882dc3c2c5680bdaa01e94dd7374ff52d20f9ee78a35f9cd88c3d729f278c5fba7538719e5acec6591c9e6c83f5ad518a31416c133b5df498acc9e84f20237e9801b36b943ca8dbc893a8186948c43606cd25b6b0323e932702b955811b91c51735bc71cffaf10a94eefc80b9735d3d5cfcde7db5cb3856023c005b260ce9bb64ec4feef0a57e28f7a24ed9b895b54343e8b5e10e620ea6ca280610c5045a6890282ae8c0e951c37b01448827a9ecbfd09fe438e372515db37b2ef42b1152dcde3816ccb69b9d5f8325765ba89b966692a4e36765cd7638e0b263ba0216d917ce94031bc8e40fe19779ca8edabf96dec61709342afabe6127920b478a10c3cc9b175493e0a254106e0ddd5e1d913d0a114901e8ec966f6b38ed25420218a6e8b5fbe5b3146c93ab7ef83c1eafd7bc50d516fcc4b4d0e7146dc34ae47415f3ac1cb5d8ceca239a4355fcdef9f392f4c3f478c37979e882af6deb6f5e671103ef974a2adb2888524e2e8d0d6b02961356c6370a6e02912bd8c518719e5f0c3c94602d995cbfb65246d46bd9ba777ad40cfcd37a197e2c9eb8df2ff34c5e035acb542893b7af45706e4cd0f653e4a39ff1cb54dbda4a79253b7b8f4d3037168a64ea9b001b55efc45503f47d1a5134a0db8b1ebdf17349b2a8a61057a7221025fb1b3e1579e39be5f3bfb31ab53e4e500980dc3910e255deb8d19805bf1705f562bc40872789dceebab65c0d8a2fba8ff344127d983efbacc3f55bcde4e92cab18204a1397b76ecabc4e602817fd4f936f3bea04def967bf23089060ae381d3716206ac6741270c22ca356189b3b9c37f74d3f501c78cec4ae813c411c370a6a9b4e7a364a8defee8b43bfc5fe2ac9d3027179b5e70a2f7523a587dc82d22630251a4b391b90f0072e11fa43da34449ccfb02bae471a5695e64baf5dd7d00696ea3a2c479f9a7fd12c4671de9c75722af50509b192570c2d1c453f6f6236151b32148570e4bda9a8384d07f9464d7b5bad9680564faeb4135152a0a744ba131fb1eb3ef2ee35f2c5390d821ba2308f2c7aabba876214f596520800a1a7ea1a5ce27d3c4c006cee23e3efba46e223385bd878d4a04f68f1b8c8214e86117d26ada77794905357f01a1675a4b8c286b69779e1fb83aa00bbedda5fd612d4a5243df7ce3602ce562eac6acb79f24daad8b077a36eea4ab0fcb75ff858f43fd71a5eed3e74add6e118990add309c1f3c680528618a188024c8ca5b9028fac72524cbfe9403f41c14b86416bc1bd5c54d3f00abe90d77de6b3432d98cd1292b7d281cc1ab22c81f014b5547a3b7fa74e37ca10e524197478f152d34d59289e4732186459ba39f8b6f30c71483387e10a24f8d3253cf7530760912c6e69e0a02f100fe03cd7c6faf24042b08d450bfb5540382a2d06ced0372efc4ef71fb83b14c150d55fd851fd59a40acc8e441606bba4c30fa91dfcfad0ad8d5c670ba4881b817a34b97edb9034dc1e34ef4d76052f0bded620e707322edb572a7681a00401c0c1e24fd1462366da65baf51d242a1682d812bc7ad72942c886e01653aa0fefd23e2863c76f5a1b0f3621be1e309af301bd4d8d5fa98e014c74abccea979797e270a59099ddafa448e3ba1113e95212a1f2d3cbc6fa428f91a839cbf0dbad0231644ee3064c1e8c164db53b6938773ee4f6d94d3f7c09d82f573e8c988ba7f7e304e52af7a1ed3e6e0c98fd49869383db9cc98b11c73dff01da1d50a53f8599a254fc89c5d12b3287241002f16f0f3410a29fdd8113118e3d35f02fcf6a352331d5e3aa4d705c855e8547b23bc2a9c958cd1b0fa38abef0d483adde2b778a1780d8d945bd10e6a06c48f2b7bf6d799eba65b49af05ef88ff5e4c8a5e4977a5cd2ef71d656fec5dbcf348b00f4c15ed6b2f45bfcbb59c4a65716d4fb5e8cd113e1f3eaae199c19353c863dcb9186e46ff9443616dad1f03a462535240c6ed489b2ddfbebfc657a890b650e6bfcff2782a602f5c1947037f7c1d79dcece6f63f62146f82481c8237e5d02cb5085f6974bf90e8cac9e8bdc47f205ab4d35fc568e92d8669042df31c322c7b405f1532b5ead05bc7aa65123c5ebbcce41cc8e1a4d91569e4bb0fa89217a44f19b31ab91ede0815bc58738dee37980643a2072e6cef1ac342b29cdc525e77bdf2118754d0cf467ddaf3847f22fc56d4a12688a487ac2a0bac9df3dd42cbd5f33d3538b52a264e1f3f85e94cd5451b7554cd2e72220a029fca2941963df68417ea15fc868846ce10258a495b773e710e574b7d8d108f13af6527dffb2d60ee0074ea8a3eabe53bfc76ba87be01f82d5c6098c57a0a21032bc5e8eff377a451639c70ae9a7095d2dc8730633b7a2fca27229e80117e77088fc018054c0ccf3550378abf528e562cb0ca36ee26f69716c82340744034e005273d597424791c6f99abf4837dbffccffc9d5abe0caf0890e1a77c310b77612087ac691ee608ed036afd4222874b069b68c3aad1c90531f3002c2a93fb4e3c1543ce21bd8f14a0096e10c87639c62f538bdf576f94022e330b3d60acfd6b191667099bb2e670d3ac4cef3a9f022fdeb7bdd706f4ced511a1f7e8b1120173201b3333456c8970381f8a4948025c2c2ea1da64e0e9fb37e7ea9d520593ff256b2330f95610893142ede1d1fbaca860f28a08f482051bc8b0b1f8c9dd8b65092300d14d93d91281f42f9938702dad9b6827d7cfc25f2271c017148785ce8e049611953163a4a493e0bf896008de0279468b16ee8ba3423b58347085b3186f8a33168b53c1ea0d23f2850780c587c15be5f75acacf26e1e1777f3da1b111c2b6d80650ef7cb16774f445b355c1055c1f87b69517c7ff663bc2ddf5e89b893d96c81f0ea44569c76a3d40262a9219a840fe6a12eb6b92cd95e7f962a92b3f82d7c12661ad5ea81580a922093a5727023fd5ebe5bdca8ebaa351be4eeb677a664bfa2e7adba35a1c5f665235e9fda63e0e25b71aae13bc25b3f075d9664c804519eb056bf627adcd48af6dd3bebcdfc744d5fb62a9441937ba4b9e50bf4570dcf844009acbe241c25a4c2f545143516cad79bcfb99eb5a186e607fb3f6ac0040f93b26ad78f8686b2461525053f4f08dff395044373f34dc25936f4434a14b70668107f2c03d35b0666a68cff69e29bec25538fe1d2c2e9e0d6888bf0af464fb30c7289220e088c5434a89f72271eaca6c7d037bef21a0f969c417869875738091e52d506d9a0f0b591150d1523e8e3bc820b0e9f957c9a022a5dbc7d2efca5b595502ca54b148e5a202f4db61e569034f1156ebb26d01a5132b53e74cbb4452c94d1b8190203ce9c31166165947f48e5c04abe9bb9e6019b8a5af39fa423e3879002cd59c2a7045074d26630413fffb8bbe6c18ef2b4c814885d8e2aac3371c6a702c5cbf62d0d9080b4753984902529b2bbf3a1ef1b57c3410683270661e62d00f22740c639693a932269f467dce88c31c8f200990a67f283590bbdf98a6ba002124da8bffb4f5290230a95f060fc53aa1be6334d18cac330157a848c8adab47ec2435a499dc0693e69455b09a446dba9f564d3cca1e6617314da129024ca930320f896f62c11f6dc70271142a646ad5a1a2907fed918e3788a20d6c743f9b6445297b94bd5d7128a27dbafdfea7f4ea7628c15292ea39cab4827c1fb9ad54b2a314b3fffd9a0d9ac209c026c9848266d90499a732d14e99ca1fe099c4031d028f2154a3638af64ff5187e7d819dd99f7a9a67ce51a27f55321f29c7926b9b711f0634792e9e9ca11cb29c917b6ad7834374d3d262fff6a10da6ce5ae1b342f07b1111dca4ca1894e29d8f7675916ef73bf8b3751f0ee4dae95d47b4776f4a5c9d15cdc376f815c8b8631ebe9f7d3edc603c6f754fe07ddb2f62e29f372c99918a24bb1f6210056822fae060a996c816cf2e482db017da5ace83da1fec710c587a25d6e7b4196ee8791e949fe6b82b1f7b4caa58cc2fa2e53651e20856f7038b43172b46253bcbd4ae033a7481487607a8460039ad6eaa617f93395c42c52bed75137e7a94c05c8b80484c0cf87f37acd1892369a21ce9eee6cad2df8092e947f2288c4a16a5f13933841a27feee0dca3011d2b1058f47cccdd59cb9ecf9786f8b1c38de51db31f020de7001b0202264572273393fc13585e7e4d36b8c1000418b19e463392270ccd26e64e682cae176ce684b78b974c0f34e922d68a2037bdf4e268689c76d77550d6ced6c984f6e5fec5662682ad2583ed84bac434dd6606ddd16046dd258b1ae7a8b1c898142852f6714063f5251d2a807ab6074859eae66e71e51be02cae51724d75035475b2994cbe91e8e411396f2755e6e9ee73cb8e2801aeabc35406870753476e9be267262c00f11228a751e4ab7be762c14a8e2f2640710f917a09456141e599fe955d1453eeb82c7595c43c67fdc23afea6f556a5d09f587ed4e3be4339ec548fea090b5bb7806ff59e2c8b4ead2389acee12a4ee92cb8e29d8e381ff03e61cf6ccee7d7e32b69794145485782581774522bce2a7a0b43ada8aa1e179e63cadf2b966dc1ee11f4d62ddeea5c730716c07789d4413e1133eb7beef1871c36691efbeb4af5b28168e6bdb419a0edb5f00003c110d45603c914c645bea01e04e9a923a99b2926e07ee583510b3797e6586377b0892b072f3f883104219c28472f233efc63b3502d169bb150df9a39b2450c19fa987b2b1517d60e2ef314aa0175cf77622b6323a2c14836294f2a4ba5040338819a59990820d4ef42b79770af6a571022c9a9dbe2992688da15d2b57aa7435196ca2d002b76c255e299dcd62dbdd9a0edcb7249d1ee123d713dc97ff09d8dad324b9c3d2305059b8ed2338fc4ce96d144e3d1ab8277ded7cf6c7f051bb3b722cbbc5b982d7197f18c3727891041504cc900a1e29f732db0377f1b85c777fb42fd32a194070d3a3b5f422e57d8e5e8e885dbf6c5470310f2f564accb6256dc1623b447f920c94fd802970aaddf87430b454bf874a6452ba69061287acfba88dfbb874aa12048f342b149e1389912031d77da50dd79e0e672fd744420392ca7049bcca5a3183ce397f2bc3e31b66ee539a26bf256a2eabbcd8563450efc084b01b18a7305165709c8e37a6ab74a3d7c25deb7b9536c9eab49bb058aebd16cafe335b0ed9602a46ffa235984aa73047dc817a90e6cc461fdd7ad756c25b26816e4190268ed168d0341088f6e225e9882a2afdc2bf970c018523a3294f76f8a85d4cb41d2d6151b056c817a3efa1375bf96bfb0a3f8cbd40ab41af2bbd44339f89ae92505f4048c25c1388680068e87474b8f656ce8b0b33469b65a38ce7e2bdfa7691dedb6271c3e4c7e4b94e9affe6a09f0e3da9cf22a212e1aee4d872ee90786fc119fb3081e61b303ee78c4ca4648bb8b51be540f0adb850dc0e8df522bf83f2025429b069ef0e2abb222077973440af33fe6934dd341f7d2239d0a9a159d03e7faaa4208735a3b976c4f19094e42267239b4f4cdca834725d906931141d6af76f200a1283c0f86e64109c35f4efb275d057075c9da30fd8102127685d8d959661244760ca351bceefab641612bfeb4f7e25db889bb1f4f6046683ae488e2d183abecb02708fe2d006bcd1e88bf2933ef4647aab6feaf6df5885522eec7f0a5bf1a78e1241f8d91b142c933a738b044c17ab681b07382b7e30936f929e7c87815a9d6d32694bfab287cdf8be19086670aec5879f0fc09fa0e27c1b242535d896d94548402baa59ea7d481459fa012a432fbbe857841a96fd78c5faecf4352eb36064dc62cd44e519821df71f931af847398c203d5a5718aff8687a8256ae9faf11fea7f1381774782846d9b9e7c490065376494ce47f6664692d18135df7e2a64b694ee", - "public_inputs_hex": "0x1486143d0564ca941cac449924e8ee74c1b4433cf73a6b4920737c223ba6b1e12cea8929fb754c481f79a05e68a1c34eb725f12e1ade9b48f276b0751ea5f7530000000000000000000000000000000096caaab1519f9c493a2762bc243ecbc70000000000000000000000000000000049a5d43ee3b8c5043814aa5a7316c242279a975cf4064ad9d6264b6d09d8e20b8723a329aec13da8a13f1a8c44c33a62000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000051cf0219567a1c9da0b0695f725c5ce8b4b4c1c815a78c3449b51d6ffea86e7b51e9a7ba13fdc7e35072dad9840c0ff740b975aced55b4393ebebde545e8fa2a119f17a86de67ccd256d53ca2b3513476f99aea46bfbd9d43cf7a45be260cc6572ef8774bf85e03194313357127b7068d7e930f94489bd04004ee319b440198ad0afd7f30ad29c11b45a254debc952919c82d5a3aa5c2809f13e620d328e5a5d11d59a122a6c2fb5895facece10f2f8af9f7bf5fd214c25f8b960316608a024a30b8c0abb4be900f36a499c5d2427ba6c785fd101253ce5820d4c15c2fe44267323cb9b01f24368d7aa025bff7e953fe92a0f036ccccde21de6e4ee25a21053950dc12b53ceec02487e4f22e42d9a0f43044e6ca6bc8340983292388cca8311f00e3f15f3cbf662cdddbbefb12cbf48ea5f1e46340678e246be15ad69fcf5ad460000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + "proof_hex": "0x000000000000000000000000000000000000000000000000dab1f2705322dc090000000000000000000000000000000000000000000000059937851e9eeaef9e00000000000000000000000000000000000000000000000ea97bc73d9fc6d25d0000000000000000000000000000000000000000000000000000a4aceed647bf00000000000000000000000000000000000000000000000dc2389379dd40a43f00000000000000000000000000000000000000000000000ff398c36ddb8a69870000000000000000000000000000000000000000000000040b24615fae3fe4390000000000000000000000000000000000000000000000000000a5df112ed8a300000000000000000000000000000000000000000000000a97b5b55122cce4b500000000000000000000000000000000000000000000000cf20f0eef621690c40000000000000000000000000000000000000000000000075c7f32f63703a3ff0000000000000000000000000000000000000000000000000000b97837289a9500000000000000000000000000000000000000000000000701fb39e45837ab5f00000000000000000000000000000000000000000000000336cecdddc5f780dc00000000000000000000000000000000000000000000000edc656fa15a38dacf0000000000000000000000000000000000000000000000000002ca8b8c0729710f0138c5eaa333c30e63e1f781c7352c75df0b5cef42a219119fd65b03261abd11d59c34f0bbb615b68d1626b9fad17236177caaf9e810e1760867aaa0addc812ae9a3357b13f4860fe7396f46777989e79e3979c02bd383f195c2f323f176cc0e480f41f688a82b6544df11d2ce856a15b9c255174ebffd4edcdfa9e3a75d7e0d617cab8225dc0a79662a5323afcad86cee5470b70f50020b22427cf3f55cc60af4488482bb45f56f05f2da5706b1787eab96f6893387d5204f5d4ef98421880fba4be41b74685758e9c1280efc5644cd9d10295dec497c891cadd4511f7a3e004bec88462b6b8f48ab605801787db2890d1b184861cd7629cdd68eaf369a1219b556306df4d1ebb3a4e5ce4de83e0ae75e546505fac3d582f24c5183e115c22254db240cf3d6abfe1c59f8fc540d816a1f9ec59d68c8a8f1c74c984a328022168640fcacdcb2df51d9b16dd0dd5069d8ef33ca33ede189f0c064db1a1e305317325e73abf69e775f1df3b2ffebcf2dcb702648580c50198f7b650d77e7021a1eab83fd76799f7f8f3b3bff81e7f06d69f800569323edb0ca133cb6bc6f80e72246ea530d446f11e1dd2770643be842c41080b9bfc76ca4d884a653dc47f308204da11aa5672b7d606c49be21d3625e3f649f3027f7c4487efde72276d3ee9d23108b3ef193fae97192c907276ca9581dbc19adb2d24e7e871ac71c1f73d050177280c2e46f9ddb87bc59f54e97c121e6543927251d61de7ec0f90c0e517a0715f8e09f30f1c4ff04ff381db14df604696fdc2e95218848eb21637f79fc5b1529be5d686dea8e4100cd748c33c464cd055d33e8b60007ca79a00ac7cc9457310aa304571552471801f4897cf2aeea9903da5adcfaca026894d20cacc8158f8d2bcc2939fe7fa7dee602fa540e728bc8dfec765e41f4924c7e06f76c93fac84f2274cfa56685fb94cadfde57261f92a38634efa6aeecc0f0ca741995dba359990b47ed19f5728658d1f17f41f1622b79de7c407e0822d94c6b94b4980652dfb328857a33e89c880cc8ea4491331f71fbceeef233f4508a4ed07e38be1cc43567142c24eb4f453ecf097cb85507941d18ec8a7dcd49db9e392060b0eb0e91de7e16e33da0aabbd844c3a23efdf0b41c8bc7000ae170e2395805f14ec7ee51ad861ac40687363d76ac501d539ec858453ab29c7f461f4cd802cd9e4fd82ec2680b1b7a2e38f8e9176613ef566adb2c6514e81d1f3beee2e3470ff6aa2bae184f7b2ad73d89f1f274cb8090d99636925b5d6c12aa7f1a9aebbfccd2705adb7b474806466b885a0fcb909d2cc915d6265c3bcd7894604afdaff848f606de31b5635816ab6b14acb6875e466d8fd31e1c3bd6d7687724ca4ca456ad12d0b28e90bdf128290cd4a2076317e6974b63f08837076fa73aa7434c5c3f0c1967a2dbd622ac1eab4693865633e3062e81aa476ee182db53656ad9e02720e573d2b44ebe20792ec42cf096fc0bb1016ecee7ac52a468023e1e5e6392f811dc27aad11343b33e02fc15437c812b907383c22a74d85b5868b05a3448c49cb483802507345e65890bf43683e148739d6198e3d1a50439ed735416b22c5eccda8d09fd2bdf9e619912756923ffc1f34090e10a94cf5cf4dd938ce0b11cbed374c37a5f2461f727b0106db840680c8629d25a66f5acce9f6ecab11d5f162dfe2a16288b259bf6fcb601561ea993f7a65c443bbb7f298abb32a8165d2f4b51b9adf0fa0b46877f3a8b13a4acd2e4d8de5d1fc7bac2cc303a83d518e10bb45d69cd5734d74903b1dfae182ba849ed5fa782d41028276ab263f1a4607d69dcfdb82fde6af27c75494d0e1031115faeba40690f1b9dbafcf085f1b05717c17b4b70647e9de6979f49ab6315269fbd120cbe99e98bc35859af0faec9a5691baa99a5e3ecebf1d22a11425217e0d7fe74bc0719fd2f6e7be3118bbc3eea8465aed40c0a66cb6bc7208a4ed12f34df7fd327bb8609589ad2133f3bb32eb7a3d75bcbc4b2d84ffd2f3ed1d2692c8a1de6988b8d5d856bcf6acedb7b7bb54fd9a4220a4e95ccbf8227879b1d4b27721ad1dc81e7236f759e694d18c1cbf83d258b7da38762b864647be849ec89069c7c9cfca4f3098ef5283b68c4bfa3f7e349863d09be8709ed3432c13750d40b98b1d350ed3f12c03d995de1bd0011de2a9dac1b609857df08a4835baea92e2152c1ae42891e5e3c523519afc60a251e55365862e3b6b253ba07d677d8fc9a0a446776f496c5ea82dcad460dfca2df6bec8b8857800171280dd634eaca57000be63a96a4eea03ca530ac99d7a48b932a80eee7a66c35a010ebdfff2c566e812cbecdae87e5648af6ce3177f04c8d5f8330beecc09e9e0082c33808b07fb2582ebcbb193e3d0992895f5caa98a7f7e23732ae3d2046240e472783d916e73e4211ff55b38e2a0cf64501095a18d106ff9450040cffc96a1fc4424d9f4c5fb55a00f0ac266e820b4fa9f56a686c1a9868cb165342d39d7ec80091df4992b443540cd1353c9ef9fce3f658ad03029e04542caf3840d31d7b294c6874529b15b8ec13459923135cc6d9fd9301875221012105c0b4e5838c281d3ac98a041ebf3db00f7005c160108c219827c99a656f6fd8865b87da78a59083cfae24c19a960b36129104f7db3cf11c0d789f8ae43761d577f82420591ebd8ddbd7f9521936dce1069183203eb985c91da47e82c21f20174178c65d17f8441fbafd89a3e4bcd5c4160ed3be79860eaba6a8fdf2f2957fc1e614cc61575ea5665e69e1ed410a5b061908811616e8661d3672159acfe84471594787011fdf01562d98cb3cc14d01c62d44fd4b366bc34585e988cf93653824432e8390215c1b6ed0dc2a1219e53e4f0515cac59df3db06463d492e8a2d3ec03185e85783f19d4f70f04a621cab240b0ddb8973871538fe1b7e53838b634bfef3f75a243c640c91f1ca3975f4220f131752547470649d395f1517f201a8318ee6169468a2770b7f89f82d3dfb18c8940921bcfa8bd5d91965042b2976da6295e5eda6f2f245f95811b5426114ff8ac50049afd102a60f03f27f308036e5bdd023e85dad19a4d7a2ae99e84348d0345821ca802fca5509c364ad2d5c461d6fe0b33e32cbc7154dc832c0e6a918466d3c2d405ba05b109fb52041107f9dadd1682d3128ccb582e0cb28465a4738059fd62dc618b00d13a36c096829fbff4cffb6f02b73a2957ce1a1e61e343d7f591dc205ad83d9cf0b7dfd49430d710a8632bd89767aad98a8bb0b730e8204f881a2e9248ff3d0e59969a052fd1a69d7694fdf9791d158f023b27910790666512fe8151018c0206637d48fdd8ad40fe1d0b1449ce7d5df961366d0ef151e3dd928b1890c481e6c216c7a14332bc000abf97ca50363b6289ceb0a179be19ac0e967c6200ce5514029bc078ca2130d32eb1815dd1cf0f7d0ebd19bbb0f50935baefb37b01aa97d749e95b11cc16dc71d7363e7db06e7a3cdde427d85945f921a37f4bf451e5335aa043822dc67e5aa30a0547f3594ae0b96e0934f5b76cd2c230c637e512525c902f5a7fffb0d1ba8d7fc99a2e54223c3127f71cb17d96b5c12b67808c20420deed7171f3f25e88af4ec9b16b0642013778fc665cf1ec5b096ae783965106e2cb40c641e570a47975954f26315c7c34877ef0b575624ab25676aba3ab7c2d4557f2dece6a3689009b37c6e796ea2c7853ec9a744ceb4397c3c93b8a9d692761cf9ae4b51bdd428315beeb21ca38bcc9bce4a2a5ed0b816b1a24fcf37c291dcc6cbb1524039be546b3ed1a138565b48642b1ab01c56538da9bfe847946f51d016c293f6f6db0c025c4d4faf526fd59a5e728a772f6cb7226623ee91d3fec0c50cc6297e8c35ef0e5c82e6c8ec293078872eb55315dfa9c264595b20c0204113880865ffbd3905d243ea98e6130c313e309422ab2f07b74bfd789788b93c6279825ce7eec3bbb62cee2310b369061ddb1b481bba48e5cd6007cfc37610745092edc4adb940c785c4fad0ea5f1e5f2c2729b88703dfa35545bf9ba0c89ba9d217452745cf1e1c00810425ae04206f353f5221d4c4555f6e113142b8e7b4b6108560b7a5db2f46b136e07455df9eeb90b909c47cda4f61db53680c2a8cb7ff52e2f91c325e9b854f8a8db2582757cb2b9a4c89edbc4b276d12bbe434b56d20423dac90861744f65b093154aaa2a9b74a50759a3f22a70c960c05f13473856650e18071ada01e02890f70b9520866c3f5c47112293a5e3190d641439afc5d43724dff1131628ed17a5764b0639c15a4c1b9a4d21da24a484937805b4c0f571db29b2f281e640f51605e087b3bffd568e0d253600b2fa5407063d5694a2ca58c826be82a1b60e0c2290073348789519ec9a90657be707918a6d70418ab0fd370a0f2e1d6772fdf5ed7a671cc7f201b2de678b672d11fd4678ef1b864d62de87bc13b8e3b63da7ae9bf36d3bd7665c812dd0264e4a9ea913f75a7bd85647be6429252b7f39f273f4b77d7b2f92398641807c8136bf80b64cf03cf4396d5dcfed990d0864b222859cbfababe158d534fbfd70ef2d14757a93d5fac8d4d1f48331ba2d36d7ad4fb9f466f6acc59bd6a4dbd84a2b45e505e2a8bb2fe4e4a6e88857f307d2672592e93d67422954f42f3d2ed0474edf177a7d4fb5a4b1998455e82f67115542f489a426e47ad1f93531dd829add6d12a194e746a8c9a1b3135f7ca5be1cee005d432ffb9c246b9da91fa5d3ed8c38cbb3b2208f1d3eb25b528072c8c52e519800e748463b49c2f5d7c0bcb14cb0578e0a5c0c40ce4a57a3fc82078fcf099270909da09efd8fdbdabcdf6f2b07c37a34d880c838d3911f962146d969c4116df2d28c43d4296f87768426475dd71e8888aee40b7b6fd7640b8aa2c4654b28478181265879a4aebc9cc48f56dadf5f871a5a08f23ccd31122f96f5c6ffad15420bf8c2beda3b14826bac8a29693147393aff0176531e37f7905bb0950dd71edbe0d6ef3592a7f6251e426e90cdc00b385482a93b4b69b517cb557ff9de6c2bf9c1aea319fdd82b172a4ce52965761ffa674c3fddbb2ee3804ee50ce448c0027feb205af871ec15c26ffec7cc2561176593c0f799bd7c5cc68eba87ee396f028996d28813f30ea4bf48924353afa1553bd8aea359be6d490e38bc457460b00604c6a71f91697f794c0be1c1ce7aabd49ac21deb3aeed2c6162cc08d91a08e16d8abb79756184a3f288d1de4713a0637bf315d34dcb10a70fce9c264fe71631c14e1a16e2537c704acb21f7813c5709b40ad424c3a073d63ace20149207da42dc763d729b1b1f0656bbbda327e590e5f6370d5260823d4d18c6f543b473947113db97dd2b4ef862cfa51ad7f93ca5439971c9be40986fde421ae3d3c39330603d014ba4167cc50d71a47ac867752a02a21d2fa9cd99d5fec4ab4277011db200951d431cc8abdc976ddc3552e2cc7b2f13b030118751937bbd044ebcbfcdcf82595d0f2d37cf1fd5f32cb6e31a0ce9302f0eff1541cc87f958d370d4196d21c05b0fc5960ad82ec64c7d294943a23d761cf2c4cc4e837e974c3a00b987234b425d812db5fc5e9b53cde979934299e1c315015186896bb9cd8ad92d369ebdfe724c067a88f1d349e93c4451c9b861ba633708e6bf9ff2a8b0d0fe4c2b4923aac060304b3ee3db03909f14ddd1f955349a7bc99b80a9b6db15726e919358c8199076ca34a2783e9d75a2e807a169a63c64248681a4e8f4a7c95fee73e4b87a9631f6ae8bfe8e001ab63b8056113a19450008417e11214a811b3870ca586bf846c1139295737ee3a02340e40b0d03a0f3a2f5318e77a5557da3f6c3e55f802a2ac2126a8e6973c191d86f6c5cc2a0eda9e3faccfbd899b6e6bc8841e0680ede1351e3077a8b5a64873ad4715bf7de557e35853aab2d88c4d2e1021f91108bef3f9064a2629016500ddf7755b004b84ab0fb56832297383977cddebf8742ff8d4172d5b3e1abc21c3a8d1522ae78eba32ac3f81e6748eb1fa6b88740fb52d671dad05f749579ec34040a0ade6f81f8182a964079d51f755ec3e5721c1509baacc070de9899ffe2f8784927ce9155e85725a9c430de4a4d2cee238c3b9a9e3d608892656c8e226cf87b47d712bef1a49de5fc514dfbeaba86af816be7860bdb8fa1f29c736aec6150b9a96bdb1fd100f5605a3bb7107665fea67c7fd398395155b162927c093c5afd4741941fd807c2446980d250070da985341d464db1dc479760b0dc6d9555de5b20698a7b7901526a4c9fc21afc4d73312c19398272b5d6b97bb2e690706091779e6497477ec6ea5dd43c879187c232943c6a8e404f3f1afa01407be20faf3a7f141cb15ded4f72e817aa57167b2f781b7ad4f2500bbab7a95b71a537f1987eac767a84635b413d3c6cd75f91b80e28504f4ac2a71b8041fc224031a9068e07cca9702e85dfa164a68f89cd5ef87ef17779da453260a7f337b9c1e436f5cde31957248baa358ab32b86d8df3730f7157db2ecb6667d7de3ca81105fa2c321ccf378c7bf7dc7d0872aa8901bc34f8b33be509c702421dfc528c6d1d8dff3a3a47b075be48f5ff20df1b978bd263f0886fe30e9ed32668c6a95e6b18614fcfc62dbf0ef4b89ae5c8539ea10cc00c864c05fcdf3812bdca541dce612ad5bfe678e944f34c256c66c7698dc5173d53bfee75324acbd2afdc5376563528afe1d009a208f732a8272001372a93a4303c123db6ca4c59a64963fca4e1490cb3761e4b8fc71b77957572ea487cd676758714151827b9dd0bed05e17f95190119930fa03f902c294195701266b0b15fdd10d6a30efb385c70fda64374328e0c1cae0be0233a7cf9507c90a779c923970120b9175ee28db1d38fcfd0c5dbee09b7c659f7440891eb574b7dbf51546c49c171072df4333a1be956b4c0a605690cfdb35560bc7fa8e9336329d60fb0dfcdae1f627cc3e3085ece162b969f2ff5042cec41aef7973913927c05274dc5e06ce1cc5574b096b35eac4add5099551f08dcb4c7296fb43804636605c710f875e74fa5aed17e6fae8c9916f86274f8ee1bacaa368f4fdb014d8d69e8d937ff6a9ace8d0590a1795d6f0c3d4c8cec34bb08c7225ecfe51b7d067cfc693ec5a4a98621a7c241352c15e35cdeea9f872c0709322149945eb4120dc4edaa785f969a14e5cebdc5c429c014e59e2cb107dbd5021309cd73c5480fe2fdf5818561a07af42ee409e8e17214fdebbb6f36c3d34301a9c0d9a15e958c5ae44e2657944d8e964aa5d228915c3e535e8d15fd7d31172ac8cae9dd98b0dbc4a3c2e1ecd138c3c394c48ac77b37d67b1a1a285b03f2e82fcdc71eb5e2158337f821f7bee5669e845e726202abee986cfe1bdca8aae7ca2b827b182d2f1898014ab2df7874e73f0069725efdea0cd84892d917e632fa2d1c2a5a618578a455c023d88922570e49bce35a00edc58390cb2815577add1ed516c6094585c76566829caa38862a35ed93ca1aa4be6d7ef7e50db5d3a5d9cef102a6df339a9e273f780a8e87c70667037f4845efd232d3ad08fdebe977afe29b24b27bd6f056d5d2dd2d3f7909944789b8207f1ab984ad2095f1ce546a387d23139a3b11a902e301b79d9e488e14a14f88cff531b8ec9a6baa605800dcff19332aa7ed914f0438cbadd458a16b8a0b7b6de608e7f960b40e1c45e83ad89879be117307ad03ccfbceec129dd36643c6f75c426f95303cf3346a1adde17ef60c7e129a8551f3bd58d81cbce651038909db7eb288d5c03317d1fedd26ff74447ccc298c603ebfc9f526e942faf2c5b61cfb91d29821c29148728585f8d5c5fe032803f814b89aed4ffc3d5136685bb2569b3d60c807591d84e065a396032dc0e50e2184a74d579ce172abbddae7aec83e825afedd19ceeaa5088812ef176568e56b16d49ba9cf230ee2f6bc2448fb1390351de2a93c1a4634ded8d377531c48a57c21fe56bd789ebfdc5e565ac29e587dfff90829fe6efb02eea06930cefacbe50119f5b4ebf024a08a85714e3cf12c48e204082dd77fbb6cb3355c87c4c66365610997241aa99f6eec2ec28bfc2725d852bd5f1fcccb339bad0efa16fa44f14b6721a467151ce0df7f908526524662221b72d79a32507a23a9fd34be17baf5c79502afee2e046d364a3c7d756faf0d595c3227fd3126046c3718966f9f3fc73e6c2d0e38f95903bf248875eba65098d4aad326c0b53ba09f2be82371a6451742342e7b85e037381972004790b79ef96948c8c8040d939c2c5bffc792ff041bb4aa2925ad9c20aeed9904bf27664d081cc3cc32b56a09eb5a2080010300b490054922d1ebf29813acddf2e9900cad077151312def57058381fa98c9bcfefb7f48ff2dbe389a37760b4d0e29120eafde2f5958dbb259a7a70674737a33ec4b9f178f0fce56d7da08422f4c2a75377610cf52918380bc4259bfd387c4d4614e99b87c12dc3a14712a9b54dd420a5265971ce59b698b3e48f55ffc0aa13b0fcb0a10e520ceabefcbdf7a0d1e88204c0eedb4d2dae6610d6556aba2d5d7101ecbeea0811408498841717d2ec138d5a7a73aff638f072b67b17c60b16172b4564902d3d91c56c06f47af4674419817f84a30d05dfc1850caf6ee4cee0a8c26ae3f3c98452d5aa70125e501643fb247078f57dc329ad58bec994f76caecec4850d012de451b323399aa8acb6b78b4171d6df7628428a90ec40eb97113d82ba8923c280be02afee1923b61eaf90d7d208a7d0448612ff3d68e509336ffafbd284ebf6de9c410ac1eeb50e783a5a2380c5968813c86021d17fc5497015d13dc3a46198f811f1608d4d5c98ec72a4a1055e4640f62014596fb2681b9c2e4f2c58fbad7b8b02f0aee9cef08f59cfa3054ffd726147d3653161783a18d32701d960257a274da621b8691d5de1bb690c5af4eaab937de38ba8228eb9eefe13f870cbdc1b99ce9842d62137ed7fd004c4a7f06b844695f5a0e352b107534880a8af6f45fdda940d422f14029e604def6033d0a9e5ddbdeda2dfe0c40a705e50c8e685aabc3f65ca20bfaf6364b8fce9ef1962cb0fe0e5522b125d9b47af6dd7ca657ab387ee1e9e019aca272cae8f6ab9f984caf02377bfcf95f4e1ab9cb0733a390ee3e30ace16e2a49b928d647d50b2a97270bb48eaff3874cf9cfb350db96d249a97e50e98e1e1509730172282e4c80a602aa1bd95eebd4e70216d9a227dcf8c0ae8fe2823f9a13c437f2efbc143345fae0718930d9274a91bbb62ed41009d1e5936e3b0ce96324510f897e50a1e11381290816ba51e71cea2a5260ea5212dbb058a4fc0b13d51a567d25cd5282097dd1427b36d58739b851985aee7804f8d81d8b5430830a2a0925e5c3cae1d7ac89ca229b9f3f053f09b144d4db9b967eee9809dc35b31a9721369eb1166ffa110076a10bc41b486ad79db404e9be806e6962d4b3aaa7c3fa29783f01b36ca1dba00bffc35474aca99202e8c3e2a2aa2037b26421bca5fee62a4d94c78a8e1d50aebd4e5207b011491cceee8b23bc28f54f22c6fe9c0455482aa11c9385e6acd5b16b2f47ffe244ef0bb5b3457d0f5a4c8ef207f62f2e331b0504c9b42fce5d96866960047219e709ff023005ac810490dc32e953faf54e970d19e75364cead29bab5d96a1790fd9ed078815bdb117bef0f210d838540c8ac0ec92c55f67b74544a9dd39b1baf7c6d115e7432297f8650e2e0ea6e4428fdc627a13dd2d69de9e8cdc5f2a57bc6bc8f87dd3cea47ac2219f44161d58ef5621f267fe73799872e035ae326eca634355a07dd98160eed3a90672239142ee6f54b0f9a4b166d30f6c188c3a27c56aeb1721f0795d163999e360e8a2fa6c6491c9a10909f3c53ec57142ea603ca7bf045aebe6876d2994c5c84e1175e53248e13631150d861886718ba2295c151a92e8e178db8c416b592b5f06108cecf6e0fb7641e088d179a6689bdcab2fe0cf3e859e9720aaedc1da8c98d59912943d6874f6b2ebdce0b539c6322171863eda7857939eed759e83fd2488c17555c80705f072b29a556e943ea8917a86c7f508dc1ba0cb54e9ac9c5267f724592aff1484f648d1943e654bd648d787e8da5456be30fefcbaef4afc37e38b863815ab5b69b1b9d062260fa0fb01a5d90e844cfbe296eba5765ffb35dbca9cd5aa6e13bd7b2a621060ad0c3a4f11b2560410eacf2ab2b9122770aecea2d7644f16289967d91bc37091414a00792709d50ab4b98ea390a7f6da492fe9fe712d27979d3376a6d58a30f052d0d35fa32e068aad82c83551f447cec361a1b06484a2ba1e637bd38f2fe189ac1224dc5a8c7112812b622d8b3170c2120fc5435ac9f88d972370df949e2244266007aa92a9198a215826e12c0450ec00bcbf301ed49c09c15a2e093780b22bc6467ae7d7da8cd48ce21902812aa43b405f10121c3d7039344ba4e7770f921554111895691369c34f91c7a4cc276fc55b5d6a9836df0d84512892ee09732225634910eda7e3ba34d8464dc346a6720c8a0fd054ebe806f40a1ead8b0746609f61516c5f3b48a300cb82869f328690d8a2c27b450a238bc721f0218f6021400f2fe9875990860b7340fa5a6bfd9458bfb5716d86f461f4941354d7def98b41b54c5be4698fe5947260c97372c637b9eeab8dc9a56ebee6de1b20696a33c8519f0be07752ecb659fb84f93dbe9d834444c695e37cef88a06fa41f3807836280fffd48dd963f8d9bb99c481d70faebc6d8656c02f11612b0995e71241c646382bc7d7d09b438b4a4626a7048901265b6776d43053a2cf670dda619aa5ef876602d75ae1dbcd3ce30592b396a9cd505aa049b2f865d29421d8c4fa6dfaf035252c8c050541531ec4b870ae65c49cb51bacf2c295f319affc1a146e20cf37343f0e5e3edea46d2fa44d80bafb74dd0b9c5cdfda4f37e74ccc0f3d56f016dd188430273b8345b50ce70f2dbbeaade3ce0620422c9e1e75b83aeffe910833f6472322c490246b27cdb65fbf3a698b979f62a0acb0406371999601470c5762aa18a82b610fa17a5eabc6b0e3e2b570e0ae7ce0299693b827cce0de5b3e709cc6e6b02aa89030dc91ba8973d0bfce3f7a1bb2fd46be1527291326228210fecc9de44b018faf23d7d4c2a61b5f4766fd1b07bf9ad525323e05743e4d1a54b69331f6ec2d9b3fbeef1c4298559e9d87a34cbeb679d490f54806bd8883c76517b48b5d2b0d80822828c307a715ea4a9224052d09d3b037ecf89eb4d8b48cbb2400413a4621be9b7482846c7ef6d992c9a15c5eadb784ca0f9e5f66eb987b7cbffe165d3401da351a59299b6063761b3a607eb9c1de9e51ed118857702b769e5db0e76cf72b66104be43aa59a1be20efdd37254a9ef9078879ff31d53e181dadecb0545e11d44ca7efe28d3c7cf3a8d89e451b11494475856058050c0996ea90f15d0707f1684d7fbf8633612e6bc505b8b0cd8181ba4ffa2a1f844c31fe032461aaf30fc0adffb216895c692d81569867262335a64884f988edbd703aaa8f7bd47e1eb170516ec84dbaf8c3cadbc9a4c9ca1f814b72e1689eadc313f886dac46f0b56b4711b04d482336a921c423455dd7121af12b91660384c20423a74094c9e540fa7501f19d1acd4ed4f6a79dfcfaecba0c28ee1d63940c364c22d7b889d6ec7c263c0223f36152a99c4f168bdb1e3f0368b1ad10c1b7e233bdb056e1d5c99b4e58cf0fe7a1e7f31cb965106715d5182076fc5cd482558d9cc361c252b31ea5c6e8fa19efcb902f650d2b4e018088c3f54f2ec7156dfa45febab821afb660d301ab0b2a4712b55abd79d11dc722d4a069aadf293ca16b36ae2fe8500e4221f7cf9b911b19b7b96acd3940419ba6e908f2adfae8a0dbaec9ae9f2482ac323d4e28fafe1496090e005dc98412efa20099d72c082c4cdfcc35843c138414f16c25a0c82f2e2531004d5926a144b7a0fdd3b82b9c0b3341504a61950bb78e0caef7c53e77292b4d000da12929e6d1f339f531f3640b2bc541455e7238f38cec8b2b30c99a2121c80d3a0414f78f13712a671d822ea06c2b97a5bcc092fba6b955de7e515f10fdf55afa70c3867d3639b2ff585a527b569d377326543bd7fac5eda29124a705202792d89a8f6a2415b75cc1fabde5fd8ef7a2ef115e96a33d346ed63ff18a071630a5f59761b464d3fbe19c67653a9d19a06b539a1c5dc9c04211176b8c8714c06e7a81d016e06ba3e0bab6edcdbe601335f66f7d1114a78e5e94d2ffb9470042c043378b1ae5cbed65f38208b30f7dff4f14c054d58aba73b7081436c2bf0b24c571a8e0c23ccf663a8d3b77035589a08da71919100418759c0491f8a9be21265a8aa4f95aa5f3ce79c639ae5b1173d8d166d548974212bc2946600f00630feb9019887606b6fbb47b6b0c32e5905ca6e4729e688c93e75d655d95f5e2811207fb84a3a4d3bdbb94f2e6b88bf6a687d4fb64a2e1354ae82f94c92d05298c1949c828531fc43ebcabfc03c680cc4f7789b1a65b6f2c3def9a2d6c2f1ff9f52f19c915d6696675ce10a7963444b55ac7f08ae25f2a4df9de73b7645db121c420193c4ee80a73bee8467487e907ebf160f44100d7c8badc6b5c0f872917613e00f7cb9a872e5372d5f21d88829315749ecd99152e63bf82cdca4af9193feb1601782e959e12fa70ab38019aa8a45aa6700b4c8cc0bd07adbb05d91de50646831e2a402c1f8738edeadc808c6e275d16f26dfdaf653217724e24b519db9200e52a082f0838b7f66c14d220a74387b99879cd884d2371f72ad57d9cb0f93b483c072f60b81afae13bcc68f25b1715d2124a04407a872569a729ad3b422341df492e10c8b1199b234e3255080d7d0f367aaefb1ab0c96cec091db588a3c78a33252eb1be630be69a3f12fb1068bd15e21cb67fd0865ffa684ce0a4d63c492b66911bc4838b4e3fb8b8acb93558b9093fc74a0808acc4a98c7c4140fecab79ec6c71e613916d110507f53a9bf94a3112a4eea6c04af0bbde869245807037a7f937b09b54967b24d0a31aff7226f21ba31807b2208ab1d9bdaaab278596c8d9ef4ca10b04315bdd056338193c891102aebe5c94fe6ccea338bc06879b034715f220628e6c8f6808df7ebff09ebda4ed9db706e760e43b5352d5e437c99056b91cb0c25ba634333059220831453d9d1d5c7059f39421409c63fd6cb062e4c7ee524f53015dceb828bad44598878c7dfd98d04319e11d28168af16c33b2a5f8baab66616e2516c0ae97e4eb2e926e0ecefb02b4b3c4b833ca7fcddb3e0c080d6ce7b3d2d1b544e7820321b5ee30f64dd50bd95f70b377682d2271af1ab6430e7adcb9104aee487188cad65577a965e9a9e58c7160e860c33c94c4a2529fc4afb9689010e805198e826789d18272f792888d0ec0e037a885d3378917b0ea7ec38c1e7fc1b7cff01f06635d1dd6c94a150103f21e91215e92fa2cf07235e68394cf91dc723a6a58e5775efeae3dcadcd1afc7555636c664868d3d86c042f48d060e3ab662e2826a1e5e9c0a0cd3ab368c8f5ad9e211c33c96b55befdf396c4ad64a267be2feb21edfcbcc00bc98c27aed6d904ee918c382dc59c83ffef5cbdcf9d7fbf7429357d8c14e34a4630e7cad2e7c58de6453cac44997ab77aaf25b463eff0bf520518b154c8de398e4a2e794c5f8b13e0c7bd9878b776dd1b5e8578c6a21275ed04e32fe0fb76a3308fecca3aeac218619ab57169091c0f371dd032569c537c5003bdbca22d41016ff771f73d7fcb07bb7fe83276f28375af16a24cd12690fdb528bcfe12a44fc15b73b0d5d162c2ceff049fbfabeb0862cf778b6fd83d834ecf08958f6db1d3388b3346883ca897252a5dbc7a73590840896fe1a4ffcd5a43321f1fdedc547dc2c0f7b434342d7caef835637912d9cf0211873be280de7786c12dd2706c1e49a352562dfded6d6d25a3232c7cf1e5ff54617debe35f83c6672d0d1cc3178dfc81a96863c8dbc7313ef10e14ebc8e5204346567bb2b91dc21aba2490468d6abc12a29a01cddb30b072509528c70ffdb3ff1031b208f8c6c94f8d13f3ce5a47d8eee912be21dc79e1955f53f6485bb396f5423ea29e0f2de6bc7303b4f2971337fd318a3454ced2b2dcf959dab31fc6cbcc261cbef86a147395fb2776ae22808c14ecaca51273271e4a16f73d6af50632b841c30ac218dffa916a104089d026df497a977308e745fb532d63df00d9c3c44106cf0493524a1e9c32283dbca30dee6f9ac71bb273aed52b5fc71d2d95eb482180ccc01c42bb54387c19503ab4cd34f895465940727cfa6ad8ea93163f958bc7de419fe76cc5d0e4690bb62d60dc8efb8c79a52190dbc53919491d405a2f183094a5eeb88dc0fdc543305fb13e883954d9529b8dadec42f32a1b521ea116ae6775ccc36b9811f8dcd42407ad78d254260d79a1ac315c37eca85633a6b4c81c962163238f0cf82104781b35a43028c819a27a1279a81a61972584056003fba420fef9cbc8d70bc6530621bddd283d91c2278cb8ec0cf29de9061a83d59b57908057f13c2393922cbe5a264df2c362287576e58afedbe2abbb53b75a738e414d3023126b79d5a904b2b7067583a58a1c4e825720ca26c809ae204b8dde16ee1ab257d5cdb3005341eefa2df6d933e7ce2b2b49fbef66c2f08f530f8e29796a9022c24c978ae84f391c3f", + "public_inputs_hex": "0x1486143d0564ca941cac449924e8ee74c1b4433cf73a6b4920737c223ba6b1e113d3a6e1ee0c2390b252eea2ac285eb7ab99ff1ac03a2a446a00a036dfa9537800000000000000000000000000000000856f0d6baf4f2c757ad3f0d008b1ec680000000000000000000000000000000046e8726f2ce6b197acee5769294b36511e9919742ce609e9e07b6a91eec28f3d0f8cc4fe94c8f02f425b601258f38940000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000050a444ca00c435f8689c8d371b731a6a43f7cb772493a1604d4de7ed5b45150651607130fd1d30137fe854028304c1b75bf5e8c647d31dd8055a1180c50dd2ba122e33ab1534df04c0d044893c1ae7bf8327d9ac0ff9befaebc6752cf9680cd44162b0fe7a1a77dba1ca280214cd7aa8b2bb123a9aec8dfdd5c7d40f66bbdc0c01ddb442ab4eba26f14ac0476cfceea19a0179747abbd986d977b40fc19184c301a674b02ffb142725466cfdf10d3e9947c2d1e87bb72ed777e9219ec9289bd7f18730ecccb724b9cd21d8f9ab56f62d5018abc9573a1c07e2510c4fb2b65830d05210579ed45bc91b1e944b88c72b1dae7f20fc6acc2328161be3177cf3bb3cc02564e8a2f8187fd7814d591cfa4417f0d4eec8f9d2302ecf54cd5bfb9a33cd419cf51d58a970d13fcd46e4c1113780a2c4af6fb398e10fc8400e72246a14307000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } } } diff --git a/circuits/benchmarks/results_secure_agg_medium/report.md b/circuits/benchmarks/results_secure_agg_medium/report.md index c12e77a2ec..7b6143eaf9 100644 --- a/circuits/benchmarks/results_secure_agg_medium/report.md +++ b/circuits/benchmarks/results_secure_agg_medium/report.md @@ -1,9 +1,9 @@ # Enclave ZK Circuit Benchmarks -**Generated:** 2026-06-03 21:00:47 UTC +**Generated:** 2026-06-07 16:36:17 UTC -**Git Branch:** `bench/medium-3mod` -**Git Commit:** `80a221f2152a8cf4cc4d65d0905c555d18da1f02` +**Git Branch:** `main` +**Git Commit:** `f653c04bc6a1e6d18da0c37b23502e28a5f59648` **Committee Size:** `H=8`, `N=10`, `T=4` @@ -18,8 +18,8 @@ Settings for this benchmark run (integration test + Nargo circuit benches on the | Benchmark mode | `secure` | | BFV preset (artifacts) | `secure-8192` | | BFV preset (enum) | `SecureThreshold8192` | -| λ (smudging / error) | 55 | -| Nodes spawned (builder) | 20 | +| λ (smudging / error) | 50 | +| Nodes spawned (builder) | 18 | | Network model | `in_process_bus` | | Testmode harness | true | | `proof_aggregation_enabled` | true | @@ -72,40 +72,40 @@ Single-circuit `bb prove` on the benchmark oracle witness (not the integration a | Circuit | Constraints | Prove (s) | Verify (ms) | Proof (KB) | | -------------------- | ----------- | --------- | ----------- | ---------- | -| C0 | 287764 | 1.42 | 24.34 | 15.88 | -| C1 | 2432076 | 9.28 | 25.01 | 15.88 | -| C2a | 4813061 | 17.97 | 24.23 | 15.88 | -| C2b | 6255714 | 20.59 | 24.25 | 15.88 | -| C3a | 3563517 | 10.72 | 24.68 | 15.88 | -| C3b | 3563517 | 10.72 | 24.68 | 15.88 | -| C4a | 3115129 | 10.19 | 25.03 | 15.88 | -| C4b | 3115129 | 10.19 | 25.03 | 15.88 | -| C5 | 6073618 | 20.41 | 25.71 | 15.88 | -| user_data_encryption | 1688723 | 5.74 | 25.35 | 15.88 | -| C6 | 3001845 | 10.24 | 25.30 | 15.88 | -| C7 | 191104 | 0.86 | 26.53 | 15.88 | +| C0 | 287764 | 1.47 | 26.72 | 15.88 | +| C1 | 2223151 | 9.30 | 27.32 | 15.88 | +| C2a | 4813059 | 18.81 | 26.34 | 15.88 | +| C2b | 6255712 | 20.78 | 29.43 | 15.88 | +| C3a | 3475239 | 10.98 | 27.39 | 15.88 | +| C3b | 3475239 | 10.98 | 27.39 | 15.88 | +| C4a | 3115129 | 10.34 | 27.69 | 15.88 | +| C4b | 3115129 | 10.34 | 27.69 | 15.88 | +| C5 | 2098219 | 9.34 | 27.67 | 15.88 | +| user_data_encryption | 1688676 | 5.84 | 27.62 | 15.88 | +| C6 | 2977263 | 10.37 | 27.45 | 15.88 | +| C7 | 191104 | 0.88 | 25.92 | 15.88 | ### Artifacts | Artifact | Proof size | Public input size | Verify gas | Calldata gas | Total gas | | -------- | ---------- | ----------------- | ---------- | ------------ | --------- | -| Π_DKG | 10.69 KB | 0.94 KB | 3154367 | 181920 | 3336287 | -| Π_user | 15.88 KB | 0.12 KB | 2972929 | 193348 | 3166277 | -| Π_dec | 10.69 KB | 3.75 KB | 3658402 | 190692 | 3849094 | +| Π_DKG | 10.69 KB | 0.94 KB | 3154404 | 181968 | 3336372 | +| Π_user | 15.88 KB | 0.12 KB | 2972929 | 193312 | 3166241 | +| Π_dec | 10.69 KB | 3.75 KB | 3658524 | 190812 | 3849336 | ### Role / Phase / Activity | Role | Phase | Activity | Metric | Duration | Proof size | Bandwidth | | --------------- | ----- | ----------------------------------------- | -------------- | --------- | ---------- | --------- | -| Each ciphernode | P1 | one-time DKG participation (test harness) | wall_clock | 6558.88 s | 127.00 KB | 130.81 KB | -| Aggregator | P2 | C5 + Π_DKG fold (aggregator span) | wall_clock | 1380.96 s | 10.69 KB | 11.62 KB | -| User | P3 | per user input | isolated_nargo | 10.95 s | 15.88 KB | 16.00 KB | -| Each ciphernode | P4 | per computation output (C6) | isolated_nargo | 10.24 s | 15.88 KB | 16.00 KB | -| Aggregator | P4 | C7 + Π_dec fold (full publish→aggregate) | wall_clock | 382.94 s | 10.69 KB | 14.44 KB | -| Aggregator | P4 | C7 + fold only (pending→plaintext span) | wall_clock | 92.61 s | 10.69 KB | 14.44 KB | +| Each ciphernode | P1 | one-time DKG participation (test harness) | wall_clock | 6689.15 s | 127.00 KB | 130.81 KB | +| Aggregator | P2 | C5 + Π_DKG fold (aggregator span) | wall_clock | 564.46 s | 10.69 KB | 11.62 KB | +| User | P3 | per user input | isolated_nargo | 11.20 s | 15.88 KB | 16.00 KB | +| Each ciphernode | P4 | per computation output (C6) | isolated_nargo | 10.37 s | 15.88 KB | 16.00 KB | +| Aggregator | P4 | C7 + Π_dec fold (full publish→aggregate) | wall_clock | 366.09 s | 10.69 KB | 14.44 KB | +| Aggregator | P4 | C7 + fold only (pending→plaintext span) | wall_clock | 89.40 s | 10.69 KB | 14.44 KB | -_P2 **tracked_job_wall** sum (ZkDkgAggregation + ZkPkAggregation, parallelizable): **155.61 s** — -not comparable to P2 wall_clock row above._ +_P2 **tracked_job_wall** sum (ZkDkgAggregation + ZkPkAggregation, parallelizable): **46.80 s** — not +comparable to P2 wall_clock row above._ ## Integration test (`test_trbfv_actor`) @@ -114,72 +114,73 @@ not comparable to P2 wall_clock row above._ | Phase | Metric | Duration (s) | | ------------------------------------------------------------------ | ------------ | ------------ | | Starting trbfv actor test | `wall_clock` | 0.00 | -| Setup completed | `wall_clock` | 2.78 | -| Committee Setup Completed | `wall_clock` | 20.09 | +| Setup completed | `wall_clock` | 2.80 | +| Committee Setup Completed | `wall_clock` | 18.13 | | Committee Finalization Complete | `wall_clock` | 0.00 | -| Aggregator P2: PkAggregation pending -> PublicKeyAggregated (wall) | `wall_clock` | 1380.96 | -| ThresholdShares -> PublicKeyAggregated | `wall_clock` | 6558.88 | -| E3Request -> PublicKeyAggregated | `wall_clock` | 6559.39 | -| Application CT Gen | `wall_clock` | 0.28 | +| Aggregator P2: PkAggregation pending -> PublicKeyAggregated (wall) | `wall_clock` | 564.46 | +| ThresholdShares -> PublicKeyAggregated | `wall_clock` | 6689.15 | +| E3Request -> PublicKeyAggregated | `wall_clock` | 6689.68 | +| Application CT Gen | `wall_clock` | 0.29 | | Running FHE Application | `wall_clock` | 0.00 | -| Aggregator P4: Aggregation pending -> PlaintextAggregated (wall) | `wall_clock` | 92.61 | -| Ciphertext published -> PlaintextAggregated | `wall_clock` | 382.94 | -| Entire Test | `wall_clock` | 6965.49 | +| Aggregator P4: Aggregation pending -> PlaintextAggregated (wall) | `wall_clock` | 89.40 | +| Ciphertext published -> PlaintextAggregated | `wall_clock` | 366.09 | +| Entire Test | `wall_clock` | 7077.00 | ### Multithread job timings (`tracked_job_wall`) | Name | Avg (s) | Runs | Total (s) | | ----------------------------- | ------- | ---- | --------- | -| CalculateDecryptionKey | 0.05 | 10 | 0.46 | -| CalculateDecryptionShare | 0.16 | 10 | 1.58 | -| CalculateThresholdDecryption | 0.25 | 1 | 0.25 | -| GenEsiSss | 0.36 | 10 | 3.65 | -| GenPkShareAndSkSss | 0.26 | 10 | 2.60 | -| NodeDkgFold/c2ab_fold | 25.92 | 10 | 259.25 | -| NodeDkgFold/c3a_fold | 674.19 | 10 | 6741.94 | -| NodeDkgFold/c3ab_fold | 20.81 | 10 | 208.08 | -| NodeDkgFold/c3b_fold | 639.78 | 10 | 6397.83 | -| NodeDkgFold/c4ab_fold | 20.69 | 10 | 206.88 | -| NodeDkgFold/node_fold | 39.74 | 10 | 397.38 | -| ZkDecryptedSharesAggregation | 4.73 | 1 | 4.73 | -| ZkDecryptionAggregation | 87.50 | 1 | 87.50 | -| ZkDkgAggregation | 41.30 | 1 | 41.30 | -| ZkDkgShareDecryption | 90.86 | 20 | 1817.28 | -| ZkNodeDkgFold | 1421.14 | 10 | 14211.40 | -| ZkPkAggregation | 114.31 | 1 | 114.31 | -| ZkPkBfv | 10.21 | 10 | 102.12 | -| ZkPkGeneration | 121.56 | 10 | 1215.57 | -| ZkShareComputation | 96.21 | 20 | 1924.15 | -| ZkShareEncryption | 106.26 | 540 | 57380.53 | -| ZkThresholdShareDecryption | 192.97 | 10 | 1929.69 | -| ZkVerifyShareDecryptionProofs | 0.51 | 10 | 5.13 | -| ZkVerifyShareProofs | 2.06 | 12 | 24.67 | - -Sum of tracked job wall time: **93078.28 s** — **not** end-to-end latency (jobs run in parallel up +| CalculateDecryptionKey | 0.06 | 10 | 0.58 | +| CalculateDecryptionShare | 0.17 | 10 | 1.72 | +| CalculateThresholdDecryption | 0.26 | 1 | 0.26 | +| GenEsiSss | 0.39 | 10 | 3.89 | +| GenPkShareAndSkSss | 0.37 | 10 | 3.65 | +| NodeDkgFold/c2ab_fold | 30.92 | 10 | 309.16 | +| NodeDkgFold/c3a_fold | 752.93 | 10 | 7529.29 | +| NodeDkgFold/c3ab_fold | 12.58 | 10 | 125.78 | +| NodeDkgFold/c3b_fold | 719.52 | 10 | 7195.20 | +| NodeDkgFold/c4ab_fold | 13.48 | 10 | 134.81 | +| NodeDkgFold/node_fold | 24.45 | 10 | 244.54 | +| ZkDecryptedSharesAggregation | 4.60 | 1 | 4.60 | +| ZkDecryptionAggregation | 84.47 | 1 | 84.47 | +| ZkDkgAggregation | 5.54 | 1 | 5.54 | +| ZkDkgShareDecryption | 94.96 | 20 | 1899.13 | +| ZkNodeDkgFold | 1129.40 | 10 | 11294.01 | +| ZkNodesFoldStep | 6.05 | 8 | 48.43 | +| ZkPkAggregation | 41.26 | 1 | 41.26 | +| ZkPkBfv | 10.52 | 10 | 105.18 | +| ZkPkGeneration | 79.90 | 10 | 799.03 | +| ZkShareComputation | 102.51 | 20 | 2050.15 | +| ZkShareEncryption | 108.42 | 540 | 58548.74 | +| ZkThresholdShareDecryption | 205.97 | 10 | 2059.68 | +| ZkVerifyShareDecryptionProofs | 0.78 | 10 | 7.82 | +| ZkVerifyShareProofs | 2.35 | 12 | 28.19 | + +Sum of tracked job wall time: **92525.13 s** — **not** end-to-end latency (jobs run in parallel up to `BENCHMARK_MULTITHREAD_JOBS`). ### NodeDkgFold sub-steps (`tracked_job_wall`, per fold prove) | Step | Avg (s) | Runs | Total (s) | | --------- | ------- | ---- | --------- | -| c2ab_fold | 25.92 | 10 | 259.25 | -| c3a_fold | 674.19 | 10 | 6741.94 | -| c3ab_fold | 20.81 | 10 | 208.08 | -| c3b_fold | 639.78 | 10 | 6397.83 | -| c4ab_fold | 20.69 | 10 | 206.88 | -| node_fold | 39.74 | 10 | 397.38 | +| c2ab_fold | 30.92 | 10 | 309.16 | +| c3a_fold | 752.93 | 10 | 7529.29 | +| c3ab_fold | 12.58 | 10 | 125.78 | +| c3b_fold | 719.52 | 10 | 7195.20 | +| c4ab_fold | 13.48 | 10 | 134.81 | +| node_fold | 24.45 | 10 | 244.54 | ### Aggregation jobs (`tracked_job_wall`) | Operation | Avg (s) | Runs | Total (s) | | ---------------------------- | ------- | ---- | --------- | -| ZkDecryptedSharesAggregation | 4.73 | 1 | 4.73 | -| ZkDecryptionAggregation | 87.50 | 1 | 87.50 | -| ZkDkgAggregation | 41.30 | 1 | 41.30 | -| ZkNodeDkgFold | 1421.14 | 10 | 14211.40 | -| ZkPkAggregation | 114.31 | 1 | 114.31 | +| ZkDecryptedSharesAggregation | 4.60 | 1 | 4.60 | +| ZkDecryptionAggregation | 84.47 | 1 | 84.47 | +| ZkDkgAggregation | 5.54 | 1 | 5.54 | +| ZkNodeDkgFold | 1129.40 | 10 | 11294.01 | +| ZkPkAggregation | 41.26 | 1 | 41.26 | -Sum of aggregation job tracked time: **14459.24 s** (parallel CPU work; not P1/P2 wall clock). +Sum of aggregation job tracked time: **11429.88 s** (parallel CPU work; not P1/P2 wall clock). ### Folded on-chain artifacts (exported for Π_DKG / Π_dec gas) diff --git a/circuits/benchmarks/results_secure_agg_small/crisp_verify_gas.json b/circuits/benchmarks/results_secure_agg_small/crisp_verify_gas.json deleted file mode 100644 index 9150b2ce58..0000000000 --- a/circuits/benchmarks/results_secure_agg_small/crisp_verify_gas.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "verify_gas": { - "dkg": 3136885, - "user": 2972977, - "dec": 3646908 - }, - "source": "folded_proof_export_plus_crisp_verify_test", - "artifact_sizes_bytes": { - "dkg": { - "proof": 10944, - "public_inputs": 672 - }, - "dec": { - "proof": 10944, - "public_inputs": 3648 - } - }, - "calldata_gas": { - "dkg": { - "proof": 169980, - "public_inputs": 8448, - "total": 178428 - }, - "dec": { - "proof": 170076, - "public_inputs": 18456, - "total": 188532 - } - }, - "integration_summary": { - "integration_test": "test_trbfv_actor", - "benchmark_config": { - "mode": "secure", - "bfv_preset_subdir": "secure-8192", - "bfv_preset": "SecureThreshold8192", - "lambda": 60, - "proof_aggregation_enabled": true, - "multithread_concurrent_jobs": 13, - "committee_h": 5, - "committee_n": 5, - "committee_t": 2, - "nodes_spawned": 20, - "network_model": "in_process_bus", - "testmode_harness": true - }, - "proof_aggregation_enabled": true, - "dkg_fold_attestation_verifier": "0x7969c5eD335650692Bc04293B07F5BF2e7A673C0", - "multithread": { "rayon_threads": 13, "max_simultaneous_rayon_tasks": 13, "cores_available": 14 }, - "operation_timings": [ - { "name": "CalculateDecryptionKey", "avg_seconds": 0.059818383, "runs": 5, "total_seconds": 0.299091917 }, - { "name": "CalculateDecryptionShare", "avg_seconds": 0.159473866, "runs": 5, "total_seconds": 0.797369333 }, - { "name": "CalculateThresholdDecryption", "avg_seconds": 0.231732417, "runs": 1, "total_seconds": 0.231732417 }, - { "name": "GenEsiSss", "avg_seconds": 0.156219799, "runs": 5, "total_seconds": 0.781098998 }, - { "name": "GenPkShareAndSkSss", "avg_seconds": 0.313501966, "runs": 5, "total_seconds": 1.567509833 }, - { "name": "NodeDkgFold/c2ab_fold", "avg_seconds": 11.847578675, "runs": 5, "total_seconds": 59.237893376 }, - { "name": "NodeDkgFold/c3a_fold", "avg_seconds": 169.184619283, "runs": 5, "total_seconds": 845.923096416 }, - { "name": "NodeDkgFold/c3ab_fold", "avg_seconds": 12.817567216, "runs": 5, "total_seconds": 64.087836083 }, - { "name": "NodeDkgFold/c3b_fold", "avg_seconds": 151.491728074, "runs": 5, "total_seconds": 757.458640373 }, - { "name": "NodeDkgFold/c4ab_fold", "avg_seconds": 10.847684408, "runs": 5, "total_seconds": 54.238422042 }, - { "name": "NodeDkgFold/node_fold", "avg_seconds": 23.955023783, "runs": 5, "total_seconds": 119.775118917 }, - { "name": "ZkDecryptedSharesAggregation", "avg_seconds": 3.327329542, "runs": 1, "total_seconds": 3.327329542 }, - { "name": "ZkDecryptionAggregation", "avg_seconds": 60.962331541, "runs": 1, "total_seconds": 60.962331541 }, - { "name": "ZkDkgAggregation", "avg_seconds": 28.085369792, "runs": 1, "total_seconds": 28.085369792 }, - { "name": "ZkDkgShareDecryption", "avg_seconds": 61.25314797, "runs": 10, "total_seconds": 612.531479708 }, - { "name": "ZkNodeDkgFold", "avg_seconds": 380.154250233, "runs": 5, "total_seconds": 1900.771251167 }, - { "name": "ZkPkAggregation", "avg_seconds": 49.192114, "runs": 1, "total_seconds": 49.192114 }, - { "name": "ZkPkBfv", "avg_seconds": 5.465944433, "runs": 5, "total_seconds": 27.329722166 }, - { "name": "ZkPkGeneration", "avg_seconds": 67.431268691, "runs": 5, "total_seconds": 337.156343458 }, - { "name": "ZkShareComputation", "avg_seconds": 50.505588075, "runs": 10, "total_seconds": 505.05588075 }, - { "name": "ZkShareEncryption", "avg_seconds": 112.371622883, "runs": 120, "total_seconds": 13484.594745965 }, - { "name": "ZkThresholdShareDecryption", "avg_seconds": 133.8429849, "runs": 5, "total_seconds": 669.2149245 }, - { "name": "ZkVerifyShareDecryptionProofs", "avg_seconds": 0.290990533, "runs": 5, "total_seconds": 1.454952667 }, - { "name": "ZkVerifyShareProofs", "avg_seconds": 1.076807577, "runs": 7, "total_seconds": 7.537653043 } - ], - "operation_timings_total_seconds": 19591.611908004, - "operation_timings_metric": "tracked_job_wall", - "phase_timings": [ - { "label": "Starting trbfv actor test", "seconds": 0e-9, "metric": "wall_clock" }, - { "label": "Setup completed", "seconds": 2.8164285, "metric": "wall_clock" }, - { "label": "Committee Setup Completed", "seconds": 20.127044, "metric": "wall_clock" }, - { "label": "Committee Finalization Complete", "seconds": 0.001253209, "metric": "wall_clock" }, - { "label": "Aggregator P2: PkAggregation pending -> PublicKeyAggregated (wall)", "seconds": 400.034844, "metric": "wall_clock" }, - { "label": "ThresholdShares -> PublicKeyAggregated", "seconds": 1669.469802042, "metric": "wall_clock" }, - { "label": "E3Request -> PublicKeyAggregated", "seconds": 1669.997398541, "metric": "wall_clock" }, - { "label": "Application CT Gen", "seconds": 0.304409375, "metric": "wall_clock" }, - { "label": "Running FHE Application", "seconds": 0.000809917, "metric": "wall_clock" }, - { "label": "Aggregator P4: Aggregation pending -> PlaintextAggregated (wall)", "seconds": 64.513878, "metric": "wall_clock" }, - { "label": "Ciphertext published -> PlaintextAggregated", "seconds": 205.700746333, "metric": "wall_clock" }, - { "label": "Entire Test", "seconds": 1898.949991209, "metric": "wall_clock" } - ], - "folded_artifacts": { - "dkg_aggregator": { - "proof_hex": "0x00000000000000000000000000000000000000000000000f8cf4eb44ea7bb973000000000000000000000000000000000000000000000002fe6a2e9f65b54987000000000000000000000000000000000000000000000004cb9cdf5f722d0d31000000000000000000000000000000000000000000000000000120dd7263dd0d00000000000000000000000000000000000000000000000a7c765c503af0ca8800000000000000000000000000000000000000000000000c438e0a1837d19462000000000000000000000000000000000000000000000000fe6a7967e27240350000000000000000000000000000000000000000000000000002ed1b06d5e46a00000000000000000000000000000000000000000000000073ae7e558975da6900000000000000000000000000000000000000000000000b40a9060c3659b72f00000000000000000000000000000000000000000000000271a38c15d43fed70000000000000000000000000000000000000000000000000000159384b1efd6c000000000000000000000000000000000000000000000004b79f2d04172cfb6b00000000000000000000000000000000000000000000000831e8bbaa05d116b400000000000000000000000000000000000000000000000942afbf6aa7e7798b0000000000000000000000000000000000000000000000000002332f302695aa1682b09c868798d9b80459f108450027d8b7e34032a713a8f0f5a51c1d3c161421ad456a75c6872dbc5ed9cc8562afc387b6d64df0218debb3d3bfd3c8a18b4d2dfe9df17302f9e5b42959bd451047d6e6d232e589db3b06a3184826472d70dc108bf072502ec19531b39949e5aa2cff83796033315791f2e3e9cec19d880aec1bf9af6dc3795931b567b91cd9187ffc1d59e2bbb0ea5963ea0192cc43bf3e710f41e632e8ea500c510870f4482962d448611d964d7c1017bd3893923b7fd4c2208ee98b855d511584781bdfd7bc7010a5c7c56a5a5b256bd052a906d81c48db175bb09885e5437fa9774c36e0ad5cfae43ffc9b0afcca6c68b0fbf991d9e9e30f14e2b1bac451200f190ea0417688be9e9e7326ba36aaf30cbf403cf7a3e36a033cd178d883aa7126af75245f5edb60b8077181b8f97a60d8f0268724c8a97e2a13d2f0b35513703c939ed6c63be19a4ad007a30b0f3ba65067f50664b364f018eb0329e6f2875a150d0142d7136d839186a4761906c494891a0b54021524ee2b8f9409866c5e0896f2f7b98c44aec8acf5299f4605d308e657301f0987109b114f608775844e74b54aad341abdd8b483a965b840eb8a09586605c74c9fcedc2fc3a34aee8e9b3ccf6d489dcfe2df004342a8111589cf1dcd23d828a059de700fde0b1012a7dc4912df91bcb908258a79c863141c092e2e7c871cdbe4ce658b178e3ed9471fbeda851d23cc5516b0c925106d1a96b03469c336af0d1c93dfb81d9f3c8e0e6b7d9877c0291f7063f4aff4767be58df30d0ba7cf6cd887fe62da0c35d308e50ef2b97b0c038fac5c962ca7b93eca3855eddbb47ab4da6f42e3ff0fefa9e4c64879b112311f2504b5800e961a4cd4d519f5dbfc751048376ed4d625b05663d489824178cf171a8001b084fd7a8cdc96870f1914ae35ec0525600b22086c87843a73afd95f57f3197e11e4f8b4aa1279ccedc39b19ce30e195bfa121e8cbb1c2253a644f3c40a08b34fb36aab9a6a4487371e0445647e2383d43d51df61b7fed26ac4468d0b09a5af2c0dd96be4d8b88eece6a840e69626ecc8c3e1f535e681d68f7e4db85d0b7836721660c53bb50ae39285454e13dce7eda5bca09e63b630ee447041e02022b66b6bb043923f20ff0160aae10e63910ab8497ae1f856fec2a2e5cd9f5a4665c808372dafe8a7b29cc542904228984c059241b5126a9d31a4b9bdc246d0d1d57e2bd2ba5a5aa64c6bdd85d15838f29188e4ff6fa0c677776b475721085d4811d1dfc89939ccc310d3737579be2c80beca9b7c8e427f1d24d1ec75fef9748e80e26731b09b708336826b274d44a87a77da07367d318cdd42c458484a1da9aa86f3a86d5712b5f760a75fe29d66a9e4a71c44552bf2b7c4b784097c3c4880a04b51b438b29f715f596b5e69843983d28ba16ef9e9a2ec90fa646ad8eef1b55a2a114199e3e5e33bd941c4196b654fe8b827654ce5321a89d763c7754c6234e4015d0a55d2ab9641614edb8395cd7ba18eb1b7dfe0f149ca7a39e880fc1a864daaf822f8b237f112d8d59eb993fb49ce75f12fc9a8f2b7b797b534986b38964f3c77bda62cc2f8cf329b457806fa5b0d9cf7aaabb2419161b4b8d4a35d3c609e1d0d45cb1cfa796ab1273ea177c577888b2f5ace9c204a5d4ae630b6885ad89cb3844d7860ff0423cf6cf8329c0d7f27c990db3fb882457b618471527753abd61adedfc6a068edc792c7c5d26661b5002e9bce6bef91fc14bd2149e1d8487dc51620c7ea7243f2ab729592f4ca595dc60c74426717a0226cb14a5021437c020ad312030fa0cf34beddd06e7ea342563dfe2ce64a1b11f28a59a53732754b62297ca0c280949393e00ebc1d9b5113490ab370062a3510b7c296fbe4d2e509ea850fdb0c50631ffce02b6362e00b8d363b3086dcc34c31dc69a97c93d2f5cd3cb491511d9eb8aa6d09edceed0a4aefd633a3cc4fb8cb602222d2d962062a89951027c580823f7a54236adf185a1a51a7716c6851378da0cdbeb52e7e08aed22fdc09e687e79d5101542088ce0d38a7e1d4c898a6b573c0ce3bf102237bd0d6178fdb1b7804915fae9aecdb5cd66a7b03e047de559412b2d38e49e554cb25993f7422f0876f7128c1e78244511656cf77af02a0cd9e91401aadfa2577e9c460e4f37818c5fd08fadf6d8feb5d186e0ce7fffe1e96282fc16f929180250cf6e04e756103cb11a94f527d10e7152d9dd898de648dae773f815f071be728e768086b8d8ddc3a24c6310b636db66b6edfaa79454f456f8a63b22efaa28d6079b861677ae63c9be81aa53f08cf522823dcf77b358a3e73be85417ab64897fff7840a3c81a375d17138b77597f8ba1de3fb81c04afdbdeb6c70e1d75741eab64ed54ac88a00c82fbb83509f53f211ec80a53c7f9f929d237546a1f04592e0ce043b501037fb064072351c7110a5354f882a5f3438beba7c818a80526b7287378b7b02bac41b8dbaa535a7ad36576a5dba5ddc8eb9a57952ce9a91181f80a457904433cb2f4735c2d56348fa8962fce5e030a021777799fc7a9db0600ab5818ca2a4157abd6cb9aafdfe1a76cf6f853e578885caed79b04d9dbd002b5e7aaef46d81adbf2c3f726371ff2dbbf2908656b28b54027174e0314fed21fdb1f9f4f5b721065972e8a15e21685a1e1a089bccdf1578ae75a26a4cd76d921d5f42ec9cacbd4d07535cac21e2fbd05433f9f3a18be2b6b01cfe96e8ec15b269bffdba83eabed4bea3eca373a402b2bea20065a6ce1880ff57d22a591249a1b488a56f4db4ac84a88cf6706981492618fe93c037c4d40b24ee5b151486fe821ab713f4e3eaa8a3f1af81d701bb75771d5434485562b8d38f236fe57ff1f9c104145d00e69eb57f7eab51e67bba351430240d039cb677bde6e6f2fa77642bc200319a8dea6735aca2d7a682003fe8150812aed472eeba46bcd8c0cae9aa9590da57b0d4271354277a1357bb93b8ed003a90cac91366a1561fb20fdc507a0360ae18d51eef2886db725890bad5ce1985018fdf064b72c6851119dca94aae60b1f28dee8ab6508311be986a3acfdd81422838e4a1b54ae7d85f73f2fdd7260471a8b6e012ecff6d3c51b52cabda738a0df4618b30b719d5f4fe8b258fea7589e28894748a5d6e0f6861e90b8e67866b055089c3e4b6602e1541537bc39c4509c18796a05a33ac38821d3fdf11540e1d3658384f45ce5438b05d720312b2f09ed2a4b9a8afa0b289cbb84df58c22e065fbafb6d7a1c00fa00dfded916976769f60f62d9e67524aa0388e220f1e93b5735c6a90aad57cb9ba38e7d88cc74137d38180c1a2df6459e7f0aa21562a68b91b825fcaedfe7463d19393094fc6c4ba6ec001bbf4b689dd55c592f244bc5bc7490360441f412a73b256def2164051539d6043e38cbff1cedc18a9aa2f8896b688671e9a7535fb5fa9ca2573b4d079c1e100e2b3f9b73e2a30ce84422bb96eaad707c461078f7531db516bcd027702c82a21c53fe5709550a1037abdbb0715eecfd8a71f64aa5dec3e7df1fd7074496534e0d077a0e6f2179e6c159600c0611dca8719901ba76150553546ca625122c96491ffc6e0372529455bb468f79b309f613b589576015b8e5df9091047ab3e9bbe407883a58019032c61a315109f7cfc60ca1b162a2129d2510a461140c48777ed42aac70d7a5d1564e92f8376c6631c68b53b942555db5af89d0683196029500ae21b9114997061d126a66d39f04a3207b7f979a5ed9a0e07153cb3b6999cfe39d18fb0bc43b87736d69768d162662dc5676ec6303c3bae7046bfb53aaa856353500d26528623ba1e2b96ca0b794636b19ae843b80674371543aa5bb5c9c12d9d624816dee09cea3ac10a450349dd556cfe0b6cb3aeb6bf3d0cfaf8e773346c83b1318851056d6d268c9ae3a7f81c15634283ae2c80a279a0654c66748caf0a3ff1fe384a9610f357139f9f10f50af50ae44566a66eeb779206d02b482775fca152db2bf3ff68b269bdce69272b7eaf203d957201e3f7a77cc6d082dd3155692292fbceb5ee42ecd18040607684cdc2a30df4647c3769b11f248118a9b16926c0225f2d136c04fa8aec89ace848062d98b2733ead5abbb86e47415eb7b706cbe172e445488a5921dcf7b00fde2957ca5985858ac613a3658c09b7f8c49855cbbf407972d2d7d02e77ba1af60ed4ca833ca94ae90d16b62ef16a0e16e92b515824a033dfda8cb5b472cb415b21fdaf0a68cb55fc957c4b170a588648f5af8947aa81640f89ebd26e164a95aa84b3ca629f5c852b7bf41032b3f50b100ba452945dd02d098f8cae107d21ac95c720cdfa34f68902deb208ddb631bf8ec45a4cdcb0d02c9b9f04629fa45e016f42ea1b7c114212f08eef69ee4cd9dae331f8bb370aa1b3845c84eed88741ec11ad341a8bd2749d2b13195d7c02d890938e10fec14e51564fd177aeded08e90323e208ad1267d50ad5ae493f416c43196dda4eea87b828a28e93703ac0ae95c8a8014ea151ec1471104b75b21351578dc7aad638c5412bd99a63b19b1da253bc2107f7e8b4eb7fc5dfc61457e8ac7381693c3e59567d2509211887cc1ba0b9f0497052e8a8662d2f3187dd2a0f96485c606e7dcbb2e413392610ad2440026831551fff760ece740c26af9f2c69c288a7a75f7107b56b2709867b0e96087e99336e0c3cbb27b6ee59112d541000bda27643a992bdb64722831b803aa8bfaa372e88fa3a6a1d2280dc5621acad38514a9d6fbbd1f7cc500fd872c5ec9d6ccd74b0f77013442f08abcc4cd3299e1cbf6d19a154e205b1620e34b6fe0705e7774fa60307d218defe6b489e8631e7e45b84fceeb0df0fcfae048bc55c1922199a0ea0365b83702fbdbbaaf68b8c5319c9265f630bc5353ffa162d02a4f75a0f05b25e65788dc00c393b8441b323fc74a8ab4c9d125f90457e180a59c842f6e1c2ac90698b07733b954724098342f1ca8bb6715576aea2defe08e98494d0bd897d1f630d5d0e3872ccec2f6357f8901017b352ee3637c4960306e502e2b781b17372b08827b3639076643aa83a754dfbdebe64e9e58d4203480e0877c3456b04f057d52d1caebf21a1c6efb523d9ce78aff2ec71c675504cee2cd77d623a9f09a241d38a26a3ca59a521a8dc22ee304838f97ae352a721fcf607b960758d2970f849b37aaba64d2795405570433bdc3693fdc791b4d25b837d2f3e1a611cdaebe5071905b723a70a9469edc5225484a806d2d1ad86df2758481b3d5a6ba262f76e0c42663ce543ea49eace1c0ae9a6a45f247a7c267ce2d2be2002337e07aef72d17a1594e7e27171f08017cc067e59dca287a61c7b37687f711ad81bdf74060145d2a4bbae427d2d2fbf8a4926338bf97afa40b87de4b1b3f04352c6e671783e41daf549156c01e95ec1c9e294770e34776f89f516ab590821dd34ece728c26fe3bf8d5758e3181a882b5847a8d49fba164bbae46849ea1ad096561db5c553a6b3b0581693ba295bf258be7fd47f7164f18ddd1626c9f2f012bc3cc3bad66bcc6e88436590edcbd82cd17d02800e664f5bb417935d5c96b561b2ffb65c5a9f8ec9d0e1792a95ac9220200d51be059d46f3b035b875f7ccc65178ff7b1198d38bbebccca0f7f7e8f3fedc27eda3948b47d8b54aee682f3b64617c9a4622543660da65201488ac25a30c756d3d7f9f1d0c5c80c4fffde42bef61090f6a01ef9e9ec31a1b724ba21192e1512fff832f6917d93f4cc7ac25bd32f24df54d405c3d87a41ac1a590ee40b1abf1f0de5834bb26256b68e048da10bfd001482c637ab4572e53b0e794a2f6908139ba237b81394bce3bc6afcb9c684ce279cc943938fcb26dde13ad80910537b1b5fe43c6d60bb339d40e5a40215739a0b1005f8bb6b0189d2fbe89a5b00b1b543238e7fbc7fcea521d0e1fae0f9116618b248d8d4e3072bbcdf0b2fe50607ced2b67f89bc5d046f837e3f2715e9775701da2355354f5c6ed2fabc49662208d7b7452a129b9ea299de46e0cd655453671c821652dcd2ab87ef2e61cb72293aa27b5fdf95017a94fdc4bb5e8bf8fc39f725fccfb818685ad276f5df10db5f3873b2f8562c79d977909e1b4743922866d902a652d8a3b57afa097b51b78ea574c466a13647e94d42c129d97ddcccb54b542a3ef4511ed8e06217823e2eae64ae32dadb252f676827e708f65da94bd622ca0cc97c714ca3905980a4f55e35f8559b0b376dc879bdb801b68c0dedc44e53682f78c7af9f48c5a3a4d936af5117eae715b5d9d0690a5946bb5f76dc226bd49b0a116f5d01e49f8f55d351b2e9cb60a96426985e48accb388fa1c884b011341415b2cb90265307152ace284bb397bc3d86146434d6814f68a36b61a05f7c5ed62a4c5c6fab4c22fad3d73d3cbc74f0ef00a513f7d9aca5635505bf82bfc6a70525bb597fc69e219b7d72dfc1f11daf52850c0f6f494373384c2995e74c518f7e0dd35dfe88b3febc99ecdb7a643c09bea95d8bb8e2c9c2483c4d7dd4c22a13f919f02b199b339fb250412c9eae6b785fe36cdf1c2805c5b8c9321720370aba270764a45048933ae256fce1790638eaa43073118e4947185020f11b01f592dd002aaff0025762ee2b02e665d7cabeca7cfec6a9a8c98e27993d878ed4f60dfafa2aada3b27025c0bace89da4d121353c04f1f31b4a5e27e548344ba501a95a19b1deb7337e7ace684065c4b7852ccaf33cd564080094058f840fd10af1fd46f2a1517e323a23c62f5b3fae6b841adb4ac330ba581fa047b3b842a2aa40089900b1404b57576a411243ab4b7d63a0c560bb3a9c37464c27037b5a3a94f288b33db2a1ba702b83cbc4e1c6673ac8e687416019f1fd156dfc5919d4da977becce88b026229566e127838c6ad037cbd46a8c3ae7295dd4a6a9ad307f0ce6bbe8003e915593cba42b17949940cd753cffee93ef1978aaa214eee88a7802d9168dce4772b022c0ad7ee08786899d13d958d311e9aca8ae0591f3dd21be472aab41db23115b775053084283bc5d8d0c88ed1bcba7ae6b389b001b6cdffb3fd4bb99e47702bf294f20eba8b2694d2626dc7e5e0aba944496988a669ef2b26300692a689d40bcb1efb3e396b2d75219e11b852d18a358f117413840e23cd68e99321fccb7a256b902e1acba57023b193f41fe5b16741034303534ff42547c3d6b366cd29ce110263c3d812fa8d4be863b63a245903347d9ae3278e5cd0d8391d9510ec96222e0a50840c6e02c3cd831731ede6929e3d2cd7301d9017be2775cf1307f4f81a14589f24b785cb8c80354f811a38c7d0dfbb175c1223b9394501bcf2701a98692004a787961c23bd5cc83ca31c6979df58eb2bf72bb5245acf6730427ddd9ce2078c798d75734619ee5fc01c550f8bc26c05ba9248fd21885874f8bf3959ebc012ba20af3955912889abfeacbb17efb14013cdd8e79b61152c9145ae7c1cfa2e2c847c046d2ad74eee19910ff6643faa6c5763a0d2ed0022f50b11aebe38d7ec0837446cdb3d84c7dfe4b153b3a2e6ed2e6c42cf57c0e5109581ae882ed7c9c804b85a3fb7468c9db5db232b17acc83bf928d3928ab67d0f71b673232ff50ff8140756140b6eacd949e5771d8482f5b26261b5df04f38b923f60d9ac9b6192d3136047faf725baf1408beb5ec71752f89f7330ee60a842ba372ea58f0f0c238d284fa9818fb94f0323be5dedee392b7d034e1322b90aac38a9eab3e4854d5af82efe40526d62eaf14028de72b50a2d5bdef706474c945f7ce29fc469121a982b0b27424460ba39bead9d9ab64ad650ea35d0d2da6479dc53d36771d5cefa65de00a8aed65fcba7eccc5bae30bff27b7accf17575147286beca6f8db5d32382611dfecae871564aeee4b8b82b3879508245d363c523fd54b460492a1733b998ec0c2c5b3eafb4ab51cc3a6641d7afd108767235107c5326cdd627fbaa7346685221323abeae65f40678a6320eb1db8b2fb6e719f22f42059f049095c46b00cd4602cb6d3f08602a61d96b35a318ab2031fa422edecddf04581779972c1473730417f60bc84942265911d86d6affb9621288585b5bddec0a0be9686bc651cf95eb17400cb285c35bd85d198dd9f5d8874544efaeae5cc9f27a03359aee1b1a1a4e0dda704fbdf9af9389fe21e342e995778a0134d0c4c348cdec8e0fc1d94377e51598b96a5f97fbb81ae4fa7a3cec37793cb59ece462e39f7f2d8c9f66392744012244b522c41207a0db8649da6e085a1b331857a8520166fceea86bab7a3ed9313fd0bad2a0dcc83fc7139b93787be412eade7af7c89259079037550a43778452cadb8c2d5ffa4afa1d73d0f9984c3c921b51964530e1d1a82f87b6310e054740f8c69aabf9a9392bb26efc05a7acc12c453517b25b8eca5e159b75b72f65d051807bcf35c918ec2601bc2e135b6596315f627aa75399b93643141e78a11ef4917097ba3a32f23a48ed55f7012b79a1ac54fc813c5875e32e7526483e3f06548143e7a553a396d2fbcbd28c83ff13522ef8462c1e7ebbcd52169fac9c474ab4804f7103581731d0332925b62674f496fcc3ee9dfe9ee25eb8d0ca6ab378a300e0b5250f2160baea730eaff92a27dac2f08f8d752be32e1077a3430180214d15b10059503004fc2da16b9179202b1afb4c15a288af31c364033c3234d451f70c40fd13a566fe5d11e54a3b9bd3446676330bbb6eddcf087f00384a5f16050e0fd27147a9aef6114df318e35163792ee8093c0887c73ab832f405b64e58a46c5b303d6c9dc4cafef1b5db5b98b188effe25a31b0a3449284bf268576cbb58af4260e990f595a7390946b64ab7af90903e83ad987ad7ce5a2adfb1731bcdb2d907d1160e18f81d234c75422830245afd17a155737e2866620f8dac2b7eba6fca8c600313a019a45e414a261fdc423ef6b6642fa8fd3d15a6700057e5a57b0dcc50a1f5f9d1cd1c01e4859bf98715370390f424bde2932afc1c98adcb237ee5fc08b0b8c5432e5c131d310833bafe8860abd0455d7de8679ebc90e2dd0609c0071572299808ccbe8064e08fa4e976ca970262869972fda098faa9b646c19021dedcc1f65955d1ad5da522b2fdcb142a0d2ef1e7a3a2cfe418edb958fb53f18241db92d465e20f6f851f9ae0a156c22c89d26d09075c4aac45e0ea0662f6a018b74c5159f08474fda3a9c7ee549318100b55bffc8dcec15a535ec62a688dddc6cbdad03e529bb9869497cc54d9e8e39f0fbec222b9ce84a36d9e58d05cf0adbaccfae272b3984053c38ca321a350b63482893b15ed5cb60a5b16e82572b3365db06a40797b2553322c5124325755745250d54928b6f089ab26967a32f19e4db2a951c1fba3bb3fb2150aaa39cc0d1a85389403a040eb628834779a649bc02539e1a912fe457b6c5787318b33f23ab78ea50b9923cd0f945f9263b28897ba8659c7cbe15c064eb89884c8921389b18069775c728866a1f61972cfd4c4c90e196a147c10b16cfd4a6967bf1aa06b1e7d083fa3c2a9e6a92b979a4862ef6afe578d985b1038e222d206f88d03ee1bed0b56b456e3b638c5fa335b273032af7a868262e012ccc5994daadef166712a114049499e2b6b2aec2581fb7d494d5918683a5007b0482cd1d4b1bc998b6151c299b62fc530faaf63ea54abdf345020b127ce53f912b1ad6c886d57f6c2a5ef0ab54f51103a998794859791cae76c1eb75269d4046277fa14eb7542eb03aed1a898a1bce9663fa930570a5dea6829990cc2e3ba8811be656c21e2dbaf61141e5bd746faf82a16705498e8d97479337a14147eae99900c8c7ca20fea54a4675f653dc880f7d8a72cd47329c5d448ff4df9925daa2bc2c2ddd7a98ca8799c8096758dd9ccaf66634f05cf391c6d05e9055eb159db94f29ce7e5fb6330e2afc8da4bda2f8ea401b099360cc7e7afc7e69054c008837250b87ca67aa7b8c34cd119ead62bde06d6ca2ab1362311e0ee5478aaaa417bc022ca6a91c85d4590d74ede6399cc3f4472cd2bfcacbf2fb6d418e4ca4e144d1fc07c207d8c753a5f9d3ddf3a0fd91bed472a460d857a80c8d4b4b80621a821fc6050084ea350b6aaad2080fd12ac01b78e21d6e83b49fb00a177e8730728f9109002d6e4faee663c76b3df3234fbdcd455d6634366b9d766aad9d15fe3eb84fa404fb261913768d1b9c20ef14a13104090c2a6e58500b09de45a44ef81a5ee3d8005251ec28110ef1aa5250e899c86efbb23c86479cd91ee628e31b30352a242a2c3e59104e63809d99634b58a363c7834ba5210d1841fbd8de5daafcfc2f9c890f91bc9c661dae903de8b646a122adc92a7e661d81e3f1e12b310c91b4a4e5f726a56a5261d3bcd4ce400d39f7ad167a63d04267fef7e4fe489e93e90a43f2680348b307e0bc58f24d6d4af797076dfa758726dc8e2c95631c39a002eb62388f2652b2b578befc62242acbc58c28859b2be225d3f3875bd10fa16bd857aa179021c0a999ead5003e0df2ddd90585ef1cd1b85e28d40a423c3141bd2260634b4e0494371e2d406c39895d2bc4ccf823a25ca2247c5e8dffe41addf4d40219043a0f8d3c338c53e68cb53b95231a9efab53fd6a3430ffb4633c1061e8a8abde34b1151c4e65bf3aecddf6e83c6a55b8acb37bd200b1db884d3c277f5cbf8573fbf098e4f23575d6d4e0ca088b718c592192c2b6a2eb2d78b9f773a3a476c0b110d25205bfdaecd530a971fc3fb229104c6e7259fed783694adadd557fedb4894ae0345b5b345a1ecd52ce7dff2b27eaf0c699aff68e1f06c1abb734daf81932d8816b43f3aea81b233ec33d0a0ab15bffa9d32240ebda4fd497344e55c35e56473133e41fcbbce8d172762281828ed8fed593ff1ea6eb711df35fb01d61cfdc2fe20faeee0134d91e60953e71151adf5e180b8ed5076779b63259a10b415976f9e2898bfcd129061351321d89760c0da2a56ab37e0025e0a83e4c251920c8b0ce61be4f8cd54792a512d193869c11c4e51f698207c1c80e507ecd3a05af9d56b6d26e77769c5fbafcf610255c2fb65c81887944d4d6db30e885fa87b1c4cd23a4715fe9965afe173636dc1724c6ddd7ee52901b6996e48188c555f7aef66bfc8411248015534059bfe3d6214ad93ab052d0c6cb72233c67f190be26e04d91b164c0249d109b4224a90a699583c104db3d9ee91061a71efa00f4b3caa5a3b77da472a2a87f50f6c2ae8a3f258449b62008474045806dcb3273031db418e079277a01e808b86c1e5eb913a504a9159ec365e56f8dc92425378f117d09f78caa81a792ea83e12ee7637fdbd98dd49f43916b143ad6c8b5acdc80ecd2fdb11ebe25acd0abc429231a8c1721cb2285de27f7d5efc412d195c7c038137b4ee460bb73f6126391658eb5c07447074a37ada33f388c3b6d3a97e7a1948cdcb456c972ece361820c2041c104108b9323864d7ab030ee8c81b4d7f7bfe13b72394dd1be3bc8227a3fa9c452a8599d24a10ca420a0722667d8fb5cb8f7035ee36a3f6e80ced5601c6c1babc095ded8f037bf6c49644dcb67dbf9dfe895aceb7a03d44faafc9ba180a4f13b44e01e41cbd911af18446ead17edaf20d95125f543f4ce384c56cbe099f42753e88b53ff2080c6a9a3bee8c1afedc2626612f092f1d5c6a7d38eecb1dac82b0725bd094f8bfc59a84d3d5e97813d2d8997c09b80b918dbbef0237f42ced7f609f50632afaba049397eeb8487baffca713fe54b66102790c801d5b40280c740f26d9b50a581ff91836ba7a6583f74cc2d01a99b908d9e869daa0c1cc2772966b46f4647a9b556fe5dcdf6b779191f6590a175c4ba4148aaf5126fe4d20495503aaa68c53fdec0db78b669ab31327d8d58efaa3624af26cf2ba298e1e0698c8d2bdd12df70932e3fcea5855d7595aa31d9aa3211e3b1a3a89002dbf7723e5b69005d825fff1f8d43390e5698327dec64e4963307d230ea41089cf77dd0313b52121b2235d2fc288d50a9914d3cc3cbd54ce4e41a0b1dddf9c8f86e61226bae62c6f0364778e9c037391a16c8a23cead8ed29a4fef2bf53fb3b3608fa218607dc97dbc236e3aaef81bfdb8eb516444cb361306411dab415f828c7a9c2b2918861b45136294dfe194a8789ffc0901255e214545a4ebcf4eea444996488e27eb9082d232bf4da14ce3d2d4e31c99f8e11854f31933e9e7b3e4feb81a338f04270a8aede63a8181e7415bf0d8959c97826aec25e182d940ffb7c728ede3e222370bd7f558924eed74cd1a1aa1d92124d5f7aba040d12889c3747511b73b08285e79ba795b70f2b47a1bf101af78f5682d315647e61af7563acd53cb01869521c788ba1b5726dae79205418d35ceb4e8bb9d6f488eea0734e71eff5fed92900c13c5306642f757a2ca9e5df619e000d84d2a3de52901f275ba2b481506ef2b24e027bfb5cf184d29fa7bf609a35f6f70d0b29df3c880c676b370c14c6e3e4c08e61d86bb5ddd3c57f3ab7d69a75f3fb3cb06918b65c356623c7ba763bb59c02121d2e7a834a53709b0b27d4da4420f645dcead8645d7c9c9f798c29fe6a58a007dfc5709a867a2c8d5c72522509fb497e5c1779bacd54b3daaa6ee3537d4c325b5b644f9d3738060485c5367fb1f313f9b325777cbf14b971bf2b18d2f3b0a16a10eeb72486b9ea42883440336269aa6f67b2345892c160d0952c18ea4f19217f6d1f45dd3bc180c1d95350e582795f6a489076769819737126cb2b9ba84912873231286c955d96d7bf607c0d40081ecc7a4373c4213313cb83c39a8c3fc61185a43ac96a7dacd144b2c3321841dcce6975b393511555887147a563c247343033f3bba0711fc94edd980ec770c77ee9e0c885adec6266e214e7397f8d0248f2bbbdc08ecc4f1affe4a0e37cdf4c5c348f6f69ebf873aa253daddb0ed03fc931698c76804072c87467734688d793a3a4bbe752b6e22e6865fa5146d7635dbd51f49efbe4f8ba41dcba1dcd126f17f0504c4217d7c9a162a2444021bfc5aa08118b38a728e2a965e2fd2c80bbe873ab5530f07aed1965066ba4847e462cef5f60a913a3c5167e9be7e5d3c4eb3c313e519438f2d3b0411c5d3c0141df3c505a12fd59b673a1f3bf65003f97caeb69e12c6f565b56a56e02eda5d9d89ddeb99c9087ff17454d49668a2644099452e814caa55fb0869f258396cd5199100525c3b05cfe82be0a62fac2afbd15f4b2b2978ffecb4977ab84926d5de6556bdc9816c0bcae0aba9e3b5904df14a520ea50d42a6bb2e26e53f94300795e2876f9859791d911b3789837e5480a0f7ae0afa612dfdba1b4df5e210adf7be6184fbb2383f14820c15259bdc8dfa1543626556ca55693ff7c4555b61adeab78896d2a9063b05c8659042106fc5931c63d71e476b13f06f9d98532ae17fe2bd3b110ece7ad700082e80e054e62040274fb5047fba7944cdca52ad452355a5146dcaee345b591625f9c39568c8d9af72c180eb3c4e74d9341dcee2a58b44d519a93f59b845180e4452741aa2c4670ec9806ac629c58183da2337b3b2daa732a2d5b17cb78f7815aeacae2f193df2bf1a4c19f80194db9995a681170c9d848a5d2ffc60d388761db857b06708f48cae537039ecdff66f6072ccb56a0714fd07f1b98cacb68bdb068db409a0458654641887a1fb759284db98f3bad52f9ac23eebc802fdccb5611b4fbfdf700992ac3028523ea9b4daf4f29ef45143aefa1253ce1c7b2989ee031469f406cbed78ababc15d42738cf03a69a848e17c78a435aa0fec644000fade113f1b196e500f213712754c4706f8dcd3bb322d4251b76d094dde2d29cf0d4a29b835a7fec34e06850b89a3f37b26a95ed6824181a384191467de119e390144268853925ecaa1bcf020103f1df03abf895c572299f56dd7d6bcf3cad24aa4fb25fa4d234ac8b74a430b77dc237233c8a34938a45d2dd8430014317d42447f740c475aef6a62da133f53afddc4147d651a69ee0ea69275305a527cc9213e539812dde358b128fa10a21317c2493b4ff02dff20f68a65f6507d873a79f930a4b921c1fa025cec11d426eb10edfc22024206c0f02f4e8cb99f17ae3912b112547c14d39d54ab1be07e9fe721a516ca526a401627728c001e111a3cf37f25e059901182996e5b44282112e23b9f464c6c3ba4cbe77500adc916acf1478ee9f74ec3052628afd8c41b85c4978caf9ec9b6b74472cb32ba4814bb63f67aa55c39b7c3230b726d3d8cdeea05f02d90c9411f85d35442669703d785d88e5b6a1f33689600babd6b741402d1a294754e33da00ea3703abb5e71a47905b6dbfede5ed1d5d2cd7608960386fad09e730c5afcad0441ca37de3751b6cbf42b17e2f7c2981c1015d74a71fddf10e7f87657ab424f0cbe33be68a75eabfc3d1553f5ed8a105fd2fea2cc9ff9b3ae99596fde121ceade67aaca0a51c3275b67642c1282a44a04e1e2449bc4310625b7c9fc5f1d0b4a0f14f5ac5e2a9baecd06ef9e636624a953318cb8a50078552f4fbf8a85f24b8fb02d5efd4b084fceb0a80b9afae437b14400e1eacf3e5c70a99de3b23dcdd9bb3b0a93810490e7464886d8829dbe31de580169cf11e68ad484fbabd1bf643846fd5deb3777be149c12d51a4466ab654c02b17d1c7f78cce8fa36c279d0e2492231473bd0c4e0719f692ec83eb7c900f1011", - "public_inputs_hex": "0x0f49557e21b4c1e191c610875aeb6702f871442427b85ffe7800672edea8c1d60b324b37de91c33f34ff507deaac47e46ac9414b19c85359cad868c69fd6e38b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000077117e59dd1feeaa796907ee32a6005e00000000000000000000000000000000eef1d7464190461ca1a8dd367f48f2691c4b3169d5138d89963b08a431685e575ed0dae5acf6924f1458f622166a0bee1ccd2641e1e9bba64242cefdf3aba968b556698db1967dd559f0b465375ed0e41a4f5a9fe72cf1cc5a1512597f770cebf0b305ebcf8253761101a5746bc6d44006de2cdb6761ecafb3a9875fe5f28694e7749e5733edecbe3b49a1a34903f4c22ff5a850b79b88858917917684517dffd3ed24b2aa5e274c405269ea13bbf06700ece9c8a24d22aad11d49040b0158cb07a4ef0975dc217e02e5781867add686033ff88e898ca0a5be229028e8fbf251abf458ec5f8d1ad7f5d6dcfbbd2d51d02a27c7b79209d048001b37b0c550f30837dd7d8b86cc16371235304c6bc2f9dd2b8ccac82963e057a58b2e299874d166843e4b273356423f5a4e25ea487d0ca81249c2f4e26761665140c88d1a0ddfacce3a75bd7c135214b95b701073f01b851f639e4a8567bdb7fbb16c1c024fae67efa5bbabcbb8071d51a65ba263648247289c5c3fb4e27fb6bf47d3355d5b73a486b026213dc9d8d45325fae14740177c" - }, - "decryption_aggregator": { - "proof_hex": "0x00000000000000000000000000000000000000000000000c89c6d537dc17c06800000000000000000000000000000000000000000000000abea37864d8d1a4bc00000000000000000000000000000000000000000000000e4cb9d9b55b3cc4440000000000000000000000000000000000000000000000000001d3f866ce9aca000000000000000000000000000000000000000000000006b7a8a9b76244e8e00000000000000000000000000000000000000000000000054804db9064a04ce500000000000000000000000000000000000000000000000a0cc0944ff2fd3b3a0000000000000000000000000000000000000000000000000001e3710e20776f00000000000000000000000000000000000000000000000af2374a1255cbb795000000000000000000000000000000000000000000000001f42106ae3c71e6060000000000000000000000000000000000000000000000093e40600e5880ac680000000000000000000000000000000000000000000000000000cfceacb62bc9000000000000000000000000000000000000000000000007006384dc97ba668800000000000000000000000000000000000000000000000e88607f6385664f96000000000000000000000000000000000000000000000004a95a2e0e0d8546d30000000000000000000000000000000000000000000000000002b9a55392ce9d20399faa4f45f0b5fd87663551d18cbc7e1e7bad5f2915d9a8c63b2bfc8bf16928177752a23de28d0af0ccc90d6ed411b66e9b1118c664d2cf694a04d7fb75db08671fe02dbe87691b8866298ca7325099594c113c1cd88938ed63018d65a32525ca353e36e25f50fcd403dbb31602da618db03b721dfb6b8ac68bad4b4ab1de1e3abf3b30a88ffa6ff867d426b8ccba06c56950e7d347a13f07c99f6c0441b02c294ead4ca0b1d62f3c192c6e040e68189d7ef936c05734cb759e946d4dd4e60bbe4692392ec64c98ae9bfb79676bc33892805afa7f201f277b54906713ce0b00211627a7aea8ec047dcf9ffb14cf724330ad3b489d1cf6d7f132495f85da1d1623643dbca86366658f114b3298ab73bef71bb6751ac6cc139f9beb8266ad1b080e3a38d3c12c60abf3fbb3d318308c6307b22a8b71bfc12d0c032595e362080494370b121569e8e2610dfe14e8aaa054ede111e30aea159918186bf2acd0a015e1d86a606b53484cb42f0a4ad9d18da5904d4ca189c5390f2e2188d048ed1208b7fbd3f62965fa0bb074ca8874602f31d2858f90acc480e2a06d521d53501001848dd16d21bc334654463586270607ad62a34a98913e56c670f5c223829a7d201bd4bde38d28cbd799099914a7788567562564a9902a2b318209d71d84f8982e03d5f68ef5a4427edfc0f2c4f2205defea40db91417c4b84e6edeb640154140c2dd440e2ad98b51f5cabdd687ad9c8928cbc02a51ec32acd5ab418ad441e181a546853ceb1e68df0713dce6a32ca5cefa7bda2dc1b12fb4ce27741b42e5da41e2eaf7a36c90126ad33023f64dd7e5813f0a4f1c26201e6c405b8f6bbec785008491423a4cb455b62534e676fd55c8c02cc5b918241039351d6d00e7b79a15e0a3241db4b42abf14fc6ed7a231c563b190eba472eee285438209400eae43c060e231ad2fe8b5d4a34d2619109e7cfa7b5d64af2f03af7b63e957c80e20db7000a70c24aa51af6ee2add7a06bde08c83dd8204bbc1c5255cd39ad602e13e6d9928c6b45e624a4935bc1eb76b8240b1c34d1cc605e486a7b53da04bcc4e1696400bf14ca73fd3a4df6dcef76dc88b24e20628ef9c38954bd2f4d0ad27493b69d71e53b5a2ddf3e1595732703159e3a4705d99aacc650d7ceeaebf013165cc728f0514a00179184d0fae94c1b2e40c315d47b6b17000e59030dd029318070c560d03cffad0aff9f24ab7ef3b75aa2d1ee2b65c35e6ca303cc49b25b5cc7a7e4af7238b08386ea58b1dc539e87dd2aa6f1858839625e45e24239222eaafa5a2a9a2209a59250c01aa9ff998ad22681e3d94367fdd3a6665d039e1a1ed3096d8b7cc23e56856817598477cbd49c345951f1992ce3ae8b7f8c3bd4ee4a57ac26663cf113a59f5907e4cf2aa2f6d7643b1fd08a8c6d730b2ff804a54477f326c6eead90453ffa88bd2e94099ee8c518e31937ac840df0eb3d9a37a56c126f00b48d58027d2406eb20dc4f83c7ee2938ad6ccd917cf64dcb7141c86c6923e37279ed09e10a84225bc6fe2ad5e1d15168aefb2e0a7fb67584081215595c020434741a3d82f3d39518bd7549c6411574228b6d50c5471ae0496cde505042f15d8fa0515f5121848aef65bc2b519fe97d669f0c7203db55a6bbfa6989a4e5772147e8d2c9d0fb07a6fd4a03af65fba4d42398c79948678ffede5a54b752ae0f13a39d316bc27dd4524c1b116537f44603fcd89e841715fc5ce79051d295815475761f0db7b2eb70a6d50e7f18ffc8553818cc0bfb56145dbba2c25070d3b186df877de01662956052fcae18b6b408214e2b0f55d473bcbef95a0dbc62aebf45ec1f5f056310b579c9982326609b818988dc83126b68675c351aff660541d2507a7efd2e0001ecaf16c9ed3112e1033aa70a8c13fc73c9d85fd09496626e439cb874479a3d421be2645fc870419c171e0cdc870af8d21b817d91d13a8e7aa78d91d18fca68728ef61abda744559114f6f496986d2cc8df0db894fc7d1bc327ff3c5849bc9f30ebb980ca907c6a26caa0595c78309b2b5f860617dff116f392b33214bedd3210c949c8962da611212662ef1a1198f6827186a5b9c2466c121228836541989c910d3aa1047884f46a7a63525ff069b6d02a2ae0383bb8d8ea8996a5579296665245390f605af2b34c8f459814940922c5ca726c4ed7144885fc959b43edd0f6515d7b70f4f6427f7e82980a71921ddfd9622a8d407a5d1fdb502f881b3de1dc70eed60b8ff4d4430268d71e2aaae46f474bf760df4779015375aebfec78240c427bd285a0a0a8cfcdc200a00f40811f554a8744463080dc26eba7434803f06192ff92016b363b6987cb8d3b7411ac47e07e668b45a9cd839a6a7b5b14a138ca925885e95a6f19c2e884f4b9a6a93788d629aee6ecf157274a514c18580ad785611c0910ddf81f8dbf1d3e57fbe4169fd6e59ac403662813a67dcc0da913117d30bc33121916704d31f9b972b432b9621fce608a1440f992bcce07641745c3fbf1718d0bfeb7d62ac55e0325a15a137307b0b1f97d2b205eb5d6b961669d7b986291c571a26dbe60ae868a0b2bd3c9daf91d2c384e0cc3d67453e5511d304ccf106102f18a6306ffe870df0e6d0473aca0010cb2aefcf29a9a8771b859f7db3cb2c42d250c35c0f74e3630537628961087188dbd94510d97b024e97fb6c26032201b4d76b354fef07d7b608f6e10f52b457d5beae97b43c323e4db538bdc26ed71af65c36e85ace2d80f79b138c010fd892a5051b0ab3ed55e535eaaeb293a58d2d8fba9edbdab3223a4a6d9c6aa64033e68bbdf51e6ff450bd6ebe5c13f43b23103a0ee17ea5a7cc61175e56c0c7ce50884f850825ee45a3e07edb0aba545f4129e7ad569d707fdd5353e8206c4f57dfb13e314e6b6cff00f8577b827e5ca560009d83b40420a631a51d16a12988202c3531221b5126d4eb6b45ba008919601d2c85139688273b7a912d9378cddd42cf4f9fe2c2591d775f65748dc64733a1281ee676b61b20d780b60770ac947f6958df183df76f61c861316aa1f90946c397270831e5927d3b2c3d172a5ad77654838c198cf28357cbfc2be906754b6478b31119346af4397662f1250d996820dda07aa1323329d6a067f1d9549aa01e688b30114ebaaeb319424615aacfe626f6ecc2847d7e9bf277ab232c205315b34f1e0b8506572704459c92bf13573f4ba64060c976b3255bf9cd99a2080e988197cf1b6f9249ac718607deac4ff9e11ae12367220d8f8d8dcabea4f0e7663c7f59b813094b4f4dce74b68461cf994770d6693fed5f8ec86d589719f134706e72b3de2f6273f9ca3170c7364ba64c627f679c706ffd9ac9e585a6931553bc32f38cc40a83feb406ae89a4a0d60ac2958d4166b1dc932477cb6e9594357e24d9e143c82906c5789bcfe0a99626170739be491a23cb48cf0d83da111b58991845915db019b9f5a9b851686bf22e2e7f703f5d646b90cf1ef39e8fc72b42e4112f1f4edd182f2bb6f3c86634ab973102e8c93a3843b0e0a337a70c6d7f060c71b2dedc6222c66a6871c742cdd3dd5c00633cfcc49bde2792c741a6e52ea4a1c33ab1aa480f2bc7afd5fb64009acf0c2f6bd318f9e91c705ab3247d3b290b6f414289798801a9553d74b13e457c54215a7a5206711946f76c240d3b93e98957301aeb0e97144f51cada9ad7206d5d684a4ed9ce5e28f8d8d0780ae0f1baeb6f324d26a98f294d8e4f06d7dc6abb5fedfa0294ddf410b43df8ae94a71e98c82b3579cfe92b1d5dd17f4aac660baeaa09646cfa4dc073c53081ab42c8932b1d5b13591619b60b6b527d5e6cbcf107faf382d3d96314c61cb3a822cc3022984600339609f24e28bdb3802e418d8dbdee8058a36fb20120817e83e59f744644e92757ebbc11b2286edd3d83956028c3f5d58dcea863db877dbaae40aea6dc4cf2b094e38017a70d54f771fe61acf6f2e4e09df6cc683ddaf0bc8f7a08c3838ebfa945a53d391e0a145204009ee574a99eb6c606623d7ed090dc3e074cd7152a7a423dc98abb4a116d04adb6203592009e92d070801878a6095dc68c222336389815d4245aed0d1d58149b353f2715514ec64bfda809e279802e804783942e7b4346a191486d602a6a74605f461c1c638f99e3ad0b377bc6cd95c110ae36bdc3902df86159ae91165da7bfa47cc52894712b9adf10276f5cc1c7eab31c0f2cc3e8f4fb0c2961c4142c9463aa263292a1ff073d4bbf5b2c1d7c0471997d757103ccd9fd904d6be71a8b13aebe660d0836600ece14bffab2e6e2f71756666aafc7aa07c62e3b1eec2497e0664fd9d726b753cd062d7a95ec2edcb0e152596fdb4c748bc97f25fa912174c8b49dc0bd751a11c96739f9144e529d711319524e989446e8a6f632a5df1a1df982d6e8741fa0ff391c04a1b1aeb794f6f78e2c4090d6afaeb0d45248d309a4de86b9c603f0b9be48cd9b3da994f3998ee76edffae2160ce10f9b100bfe280acf39ad339ec311925eed926024efbf2caf5ab442cb6412b65669dadd448906acf752f209ca42e906a204a2a1c2bd8e24267fdf62f7ea7b24a78f93fac69802eee7c25dc4c49ccbb410e55937787bd6ce5a42159b3441f548212cb7eda00f2ff88884c12b96a676d0154443159a1f6b72f01e08ba30fc03ceda9d4ca9f72d0895d29763a5e317a36e87747130090e2ea3f17cf3ba9f2f4c51ae18e32b5c8728a082be630596cf61ab1d3d6383f7a78d4148f1aaa348d26f7309c98cc3f3cb1e12947d0a21ba19b53d4e479b952b268dafac63352546791758a344c4b9ad4c042037903c3e972a4900bf220a21ee32d799589e635830a260839a97dc4f5a5508d43ceee2225bd217dcc4b8b853cc49d0f86da0b0a7d1ff25924041ecd8e48715c0f0f6b864470dbdbb63eac1975ca815db7a18799f7d3a02aec970c3ed3c4e158ddb8f649748e6e8dfa451f1ddf78fee322c6c50eba8c8bcc1e7ec64e2da640eb97c1cf3e9282911011ee95935e08db09ce3da4d7cd66a60d5a5178dfbb98e10625f5828fa3736f8654df927599d6a11fd019263d07e780fe58c25fb91911c2f9bbe551faad0e6aa4ff2e2d2878be45cc0fab413ef253b81fd186bc75ab69a2bc1cbb7f944fff72da778484c84de2496c525d757d9c6c5e273053d2fa4eb300041edcc8c15022c6b5b0268c58adf1284630ee5a064ad2d25c6426bae954a530a980d6a154ff0533ec9ef62a37ebb3addf1c6d3af97d7a5db0526ecbafcb32028d5af720af2661efa9abe7defc30699039784c7192ff1ff35e33132a16dff3d076d01884ed88148ce4515f829d7b11d79f71008a688229933e8c3b6ca8944722498d74aabfb9a7ef6ebe4ef83d9520b15dcf0be3c0789946f814cc9a2ce95341adc0cc2e042b151f08cb81cf13bc74690381e23ed2648be36fd1eed6a84eadb029c4aa9ffeec101b0f7ca9fa8a76ac1ab4a567821f58876fe0c7a540f0760b31354a067fbba520c30ad6a35666429fd210f93aa2e95f2c8b3b75bd6b68c506b019a973330f98e900cd1fdc7a44c8abfb4715274b57a4d17766d6944be602ceb0dbd3afbeedb8fc5eb12b443eef44ab6f6049446dbf0e228e6029a6e8a4655321d538a8ac2fe637eb8d7c2d3ea495fefbead174a503bbd80715cd9d914b0fa391b36f27d1ce2a46f43356f70e56c740ca47334d2569fb6f4a312367fc5efe34303a6ca94b9dd1e61dca11199549fb4d4a8b0c789e658250ba944053332ad461e2aeba9eb564bcdc0b44518cff46e9193a8ea344680e19144f8c798c67ef6e25f033a5f163e1221aa863ebb1e0d19dc9da8dcf641f4555b44bbe475ee6da738d4141ec8e7b098acb7b8f06f3280740690d52d31d5154e5d3ca19102ff1630e73a278236dff0334c674aea7b44981d0aa3f3316e0de17bcdd919b028e1fa2a745e010503791d46b9d277f533a4ff66004d93b7d67061f81f16da634eedaaa69bff0fb11f989e7acda3e19eb5a0164bdec36695ee787380b25e5054ab875eca29670e11bf0dfa5dc4fbe8168762b8ff6088998244b54f78f73358b3e09d79efcfff16131ba42806241a5d92b6681ebc8e2105a39e38eb7154c70620788d3791319802a301dccae44351b67c1dff95ef2c1280a8be53d4f630de77a56980c912de7625368cbcaf0616fc46972eea11c8837e693fb2050890f2ae61494b7328805e530313d033a56aee98ff24709e09fdae163b19bb8e5bd3478ab4fb1fdab6df7eea2d39c2439c7b762d641d7103384403443772756c7f4e474c461255fc78eef7502f2be6e196906c516d597d172d0b2b068f6df3b7e3452895952ac95363f2a0650d0e3b408a7b482df002b71a0428f19cfdd2081094b775ac9fc1d151e810313c03d6dbda32758fa2ae34f06bdd8de0f1a30e58259ab810124054c6fee1ddc7891669d12248e3e53b31132e6740873f2d60c1f6455914f70e21fc4d8a25765a2f026d93cf4dbe32a22173c09019f9cd25a27c52cb6b15a1eff5f3cdeb19a0dec406372614804cb4e1b4326d15ed3eb8f972c47280999028dbae6c5bafd757153c1eb447d9f1fc3b066a0b1e09d0fd18655e36c6081fceaa29c0029befddc2006609585113af587f61eb5fa1835cc892d40585bd1d5698f051564dd511f44f912c277b54c9af80e887198b9a94f8bc2d03b62b2272cef760a6687d0998196b1f5624bdb12c15974cd89cad11caa70428ea70c25470658c9f273c73c0a8ca2254712941d318b86be07221c1c996549d3dde7447d2a32cf2fa6a634a1db5c67cf31a03208e53ee766d564d0a6e8571b703ae063e4784718fa3522df36e9f437b986509fdd3a9cdf45154d66006b8618e385414711f57e946da0bf97667747e1db24b14d2fd3ebd7da3314e4ac46ac9b007713a744b5a216d248d07b6e95bf97cceed2c377fd627fa0e4d55d4d9ac7a0677d62311b36a331016e833442363ddca763e29d8ddd02aa806fc880d57b993fb91e95150699d121f2c919b44bbaa7da99f501c3753f981def7c102e19d480edda037efc0936a7ad9df50b1376b91292f72160f125ea8eff631272ae19157d8b22b143666108577ff3847d7b66ce4851827bb06ac08d872dd463b08e6b9fab8baee4718dd4d4176a41a1b212cdcc89a9cf3ae0b6f523d34a58363732b0002467da559b72b6648354ab640ed26ede6189e14dd244325f66e019776ab18755061be47e154ce39e4717bd3e82d41e33bb2a38f950f90fc2bbb2cefb2faf687791f677e9a2ced18135beb8a02e3c914c7f76f344d22be36bd30322545e47f9dfbe39ab444c127238629df49e04d4f2a78404c89262d9b6c14eacc5130dfca23eac58a8b9c1239f809e521851610b2bebeb87eb6ed10722e1eb4ee99afc987f656e28fa4c94ce00f450c2252e8b0bcb63d7f4b1daf189d4fec6a0eff27cd720199233bfdc79bea4c91989e9babefb5b5ad1a5777a120bb989820521753144cd511c9d37afa24d25398e945fd1c10510876d909a0d414d6abb1dc6f08decff25e2751b27bcd485d210f08738c533ef2f4283c2f25490e92d5edfdab7dbf61f89c1e255138aed746b4aa831c90c6b204480ea92331c61357a9aa02a6dd527aacf387400b323e7bc7516dc54cd1822917b7bed12ae2510ea4bc05b01193fad22ce67752a0e96fe5f015d0575c68676cd786b97a1cbb4729191e9e6636e17a18e0ab7a83427a2beaa701bac17d8f3c421fe9fbf1421eaa2f9cbdf7adcd5ba37fd5bd11362397abb015d6d28e66bdc3b94a147223a06f633044145a0bd28815fb92b515573d51d9b5c5baab513e8c4128c994f4d11871f4279cacce2e914c5d1edd41a9a1b83151e037f5cc223c89a04495484717f0d019294103222f7219fa5aac902a925bd3d07495581ac613c82c4979960bf3b17a2b1abf55a0c3a193f4359594c466125a9f97a7fc2dc51650872ae7554ce37969cc148cc2cc447107b4aab04902ea7699e868c333863d75bdcb64136dd680f474f62d4dc965082959f0a127201846c843f1aef4ae044f80e41e74c39d51b6c8ba9502d7bb4c2e9dc0c7872c11ea07da7ff3635c4ac8ccfbfff8489cd8d09ccea02b04f74bd235a6bac2f501a6721a5d202168b828d6b106b141400cb39a5d5ed77d13b87d15fd1efaacbb24ae5eeb854c3263dd2aa28c3ed98afcfe9c087811af0a1a17107671953e3431780da900b4f917bdc92027263da96b4d60f542cc2c82e509be2e2b97e4bffa9c3cd204d3d2cc19c8960078e8e74ade1a3cf15fe27ef6b20172e772a3dc884bf612a80ab2eace1e48cf3648f3adca4abc3214b8955003cc003e578536d2ec7331b59490ece686e352e8b85c7ecf37b685d668480a3a17ca0170ed17ef491496e42584995fe4a3374f222e01026d8ab67436113c264aca1c19c8f2d8e0297a873069fc76c743766555556f26f56e9b64584ab29012ddd9270ce0e65ee8da15e3197f0e0ba16c0289f55542ffabd7b3760ad0528a60ca332400cdcb19bb3820fafa568c51b192fd3242446efe7f297bb539165932d989d1000e8c197a075b68ce08d92b47d4859cbf75060202b7d5a8bdfbd8f3f4b026796104a4501d6b9b0ac4d0c288e4b3bf14cd043909750b54dd89dfba0af1883702ee0648207f313993b9a8669bdc97b6f8e1d880f27e9638b8b919b3f35df0d4a4cb13e79388eb6e11206cf680d0665efafcfb6f7a634cbaded364b22224a971aa3e2bf89dca518517c860d8dbf455865efbae865648cba9e8bdc7cd32e9af0bc7c32aa25fc0b0c35493c8bd144b55dd8dea0db112ce0b11bcdbaa266abba170df3e1b862f038b5fafc43e249434b4868df74be6d0010aa4d44c09b91bf8bfbae3e7276b73347df76d954af4a210c94bc03315190f6a90b988e210fd37ab1cf8b5352625dd786537207de459105e02ceae54571c391fa25a2ea3ce38c7c48bf3965d291af2670efc172e2b9ad90128146162e705eec643aeca5f1a0209c9230d1cf61e9c39bbfc9e9219da275aa1cbe22147fe193ac2330830130e66c3e7eb9b6c4f0c67062f5204a407aa1ef69fd65e88c7212ce545c52c8c66ffcc82487f8594b629f87ee67617f9bfa157b9e98450938cc8ceeb548aafb27731a6db910c2f3d202c63540025366f9d89c39cb0b686d936d2e3836e6c341d7e276069b8601b299a1d19cf2ed96cf7769dad1f6d0848456e758a130e2b5a71346ceedd076dc2500d115e52496919ec8b4a9c90a1256d0921d71c46e69e2742af220d959e7737ebae17952950241397ec0766e7922f06b2942a0fcaf9e31dd2fad3e223612da6a91e121135039f1def7539c63dfc5ca99614f13e97e5c1445c6b76610686fb720d9e228c8b3894d56b4509e39c2c7b15062cf197a7f6b7d97afc08a4612495107fe706b8c5cdbb040dd23f8c9cb732dbd224d178e16aa554b8301e485b59e74121a802db623780ff63442de371fb5a77fa649994d37abdd8f37e9e5c4d1b2d0f42c320ac1c7061ad7ff3396f338966e21b0d7bbd2aa165cdd6f2a279934a7ef1ea0b145f8116afa4921473eeac90f43e6751baa607563814d97d8e5981f4e08663d60aaa136b5252b7b6407974decf3a4a709bb9ec0d95e0ccba44e7eaadd58a5a7414d88abdabb208b20f7ea49b3bcad4770757644454769f27946e9e289c7d582d0e8d351c17bdef0985b3d1eab178d114d350e118515b0f2017a2d173dbd0f9d105977b281e273e7a0161c0a7d98da4fa432edb214d0f373336a89cabb9baa08920e60b0b53760d0428dd28a57e05eac32380fd9e160e19daa8891ca35395014f16ed8d012d33f22e7d41d5201d12dd7939c49bb6361c1bdda7fbaf6bce7550fc014123f6a31e0b82d529a6d0f54bfbc364c60c911f486321236091e7f01e77b31dcb3f844b13078b75de943429987d5ce353a7f6ebd892272d0b16b04d34cac31253abd9d1ed6c38c78d38c15e5d8840190f45b718b4025ce35b79fa5edb416a1c8a2b6da3049ad2756f045aa9b8fdc8e370ee37bfcbb64940783912d98d00222badf84f989b1694925c313f2079e6b4e785ece0bb6ecf9d308bd4eb07ad0b7010da33e4046baba11da3706c8654284da3fc40e944342bbf8b9ddda67974a5082e92e98c8872e2892da7cfc7eec88f12edf372ec6c62aab4d853ffe00f8829071fcbd437983e196a54d1ebc802d2e07004e53ff074e776bada1eb9c7c95dbd511bb89d20bfc0e563e85165bbb8820ec35ddccd3a181a7d8dcb1cb930830b64f307a2e001b1931cfeb11744c8b5d5e4ba316462158381a48272cf70c85474a3c6257448805443e1fbb464f1d59f6c9e7c73c3faf9e7c49cef4725e22e85a314cb1a81f6a8d20dadb4d7656d51157e400462aafc88f0821ac59174b614f0cb4b1d1fb2b54961adbe66a6e3c633c8ebeb09e82366f2f8ad9cc12a03097a6c62462e22525c15fa397556d997133dc53dfe32553453c422d55a842dbe6a01f4f368481dcad44cc429803caf6b140ff493ead1d4fce834b73c12ac73489c5c82d1d0091833e95b095c84a052b0e5b66b3e3b276360db86276ed736d39c65a04dada032291b3237ea5cdd8f9ab325f169b2866ac990754405562f9831ce895ff2d0df961800f3af75ec1ed1cf38b93303e81552ff284447d2ea46166f94027431376d6f1a847fb254374aac9f9ece3e0b383cafa1b6c224c8eb3a96b017e52a8cb4a93611b26156e338d9365c02fdabaee829613cffc2b5a0c5cb95757f45f28c94bd7f2457bb006461ce518ff3801a7e382db239c999acf8ca898e67d17d72ecb696780208aae8938d49205be2d4a5d2094ae8912c57d8e9232196f15ba1f459b035fe12f00d11d33bddcb331bc867e6f1c4c2a52c2c30acae767a1d6c265606607a55084f33e47aae6fd9f6e79503f5697161a40fc994c7bf0146496b9dc41c408fa202514b2d4c7f04f6961eca1fe17391846d7fc84757bdf4f4a6060cd4f98ed4f7098ec5bc944178ef9c49b88b1a2e53de1d99237336b4c0b6973f234964305a1808e6e0c1858df2daa7b1877d90afdb028c3c89a43ef7042fe9c38904360fbc262d69c32b05e446110ee2d8603bffbc0fdb4481f33e517698dcd54bbd48de06b70f07b23c65850c68063ca8557ebbc7e796cc7306d755cf701b7f7cf896007f2f0fc38e421e1a38efde29e2a129ca309f8980e1d4896a061e7d6d963b9fc6a52830144780fae450fc3957fdfb39bc2ec75cefe759f393c866e341ffbb8a2b60c4188df90bf20e1bf41235141b8a259b56009a5c716379288b75a4fa9006fc3185113f52b0c20e5686598d2d281fb35235151c959549a0cedc08d51634bfffa0392f3d72d923acd03d487baca86d252c8da92dee59605a742ac030c9a89b9867f8033d91040102dc0f1b3517fd43144bacc5ae8ca9ee36e0fbd0dbfeac61b1b36e154ca49951e1338ba2f92487a6aa36fb47927431a24a69d337cd8ea5e680958322312add93ad09b6885953ad9003ae124afa391981037c10aabed8118bc04b98162524c11dc8cb722db3ac6803cbee486cdf8c33513c22cd41251988a251e96419c6be87356bc9621efae31b1896e931301e2229ec61e93d4db5b41077f5fc7b188a9751200bd4e58032e702b45ef22e0af05fc05123b333a7a121725a9c61fd02575e449d694602ed596b1b335040f388de51a2452e9ff83e213e3e38c6f52a1b046f24e07e265515112c56ea29bf39253c9a86c9f57dca7345a00a4cdf775706f1e95b16799e4ba12038fbcc2e08709bf658ccfbd1483b4069d0db57f6376a2b31e619856943621b9729d6a6e74dbaa22485792ac25154f65e60ec5acf0c430659c71f52cb233f0448e5e68581abb5582f04d9768b01a55f32b5e9ce141ea51cb4edd9362ff5cfab9c62c22130bd7a02f5c81fd23e2fd3739606558c7e0fb40192e09d0084c6a2710c59d820ded9b0dfb52e305756e0c61edb1ae25a70ea800dd31c9e48109b517c961fe9acfde7071ae40ff98cc4121bc322256f9ab36d6d108e72d7dae149a54ab46cfe8f241861e3485334f33da713ab44fcc3d01966a905ccbd32a363d22fe2781d4c08e0e1fac22f78bca526c0133a72c236eb8a765513d0dbde4270cc3ec7baeed504e673ba128b5b01abb64b2602a4c6ad85634b19110de95ae4ee45349b57ee12c10ed2362836c4fd24a5831b8216cebdc8a43af22bbaffa79dcedf5476c38a0c0f6256efe1f149225568dcd0773b66a0f5591a9c05c20af8d94c7d25aaacbf83f94c21882788bbc3e4b39c28b4ee8a996bb1f10821695e01a394c003d10daecd0d4dbbc07b583d27cc13f37000921f3af89c7a3a19459449376c83ab8ff2dd441343709b2a8b289f21efcb73ffcabaf7c0510d370fbb0248aaee14e17980e4d275c88789cd31a4d6cd2087dd53530365d448714b1789bae49ff1dbd36fa3eca86cb86406a1426453279f8877a9ef3c02afd141b60444570d61f15c5762a79891f438ff47136a11efe3cea777a50fc3aa052abc500a9c6aca82b30a6e8813a8f4374b74f7f55726f93c329917f8b30e1ab59c98801b143d1bb0f80574d08726efb0b1f21f480b56de8c8b115b06c64297e58f936b2cc18773b7c21b694442b8617e4417a1531464ad91e901db9e348f50350f4c3f216d1e25b6584b9d33dab2c84cb0d6e684f6a0eed67bad450c575efc4c0d594e206887a1573529b89fc2631f98a4ec17f03733fa0ff5e67d600f480f5610955b146b73ec0b092980f0d33c0045bf95a8eaab0f0a421a261992b0db14f8778be101f6b0ef437b0890cc015c63fdeb518f4fc8235c5bc445f76fa70474c34ca5b8248fc167187c38a539762a5b0e3dab0b6d69b5fcea61d187d53a882119b9eab118a7f09c3955d823e048c83be5b6b71dff45ad8690a0fb2a510ecf3c37e54ae31b48215c527f02d9b013fb0138c7e2f9d370ea123012bd03fe1e925f469cae5903ea70b93dfae0911b49a1f3e7878ec80d333a557003aefbb777c2c1341a61322d45b23e319beb981b89d42d6d28500672ce4a244e357d0be894af6fd6c3691311610518f1764098418a910a498ac6b8978e4432b79f5f7a60376458c1b593ca2fe4563bfb08a32688623dfd3b861bb0aa45fb8f9cd3b48f268088155ac9112205bc557c7931c1e37d018ef027384710268e5a91a7ff7301b4dd5534f9130ae20df0927c7fad23ea0a0270660946c46ad6ce067cbbbd7bdca6afc18614fbe2f2098158b1111f78af9afc775df64cb81d2bfa5a59ceaa3b52b091216bf6d8facd118aa56c8c098b4da0926502cafe647aa42cea8f7dfe592d03662b335a456d4419fc9e76413861f02caf52a4f4489c24649b317472983e5dd984f81a17d81d89227676376516733962432d1167e2d1663c3035369c5d9edd006ab5a9b34d5c670c64f32218f939710b9107a5bfbe4dc3b378c9a4941a98fb8a78632150d02e13174d118c62e479cc5df24825f4013e21a06b282813668ad425634728d622c7942dbfa145133ad697c75789c89a5507331bf91a05bd83a91a7403f91e2f8c279d2700a3f990b809827fc5b8b44c2a63d289d3de4cb742aea0c3547c278bda86490783ef2164e4be77de089f9aca8c96bdd0f4025ec1b28c46b23b63ef246f6fe9112c9770df978d0b1e1c49c839454ec4b5d2e56a3fa1e666743a89aca491a86d084555685085b93a82aa0b80bf0dc52cbc6b69995f398e3ec9a439bda8f3e71d16ba82a35c75ef65f8e7136ad53d95cb1987ad134d0e01829b382651dfe2d08b2b10f4725cd179cb2edeaad869bebf0d2479bf66f50a23e413249486e0db8a0016d65db73ba629a925c5fbad59b0b91c4081d1290868064b2bf615afbbc9048f01658fb240208041c3e282c7cf6c433a4defd52989300104b975661ca620abee10fabe7ef8fc6a53325afbffba8dd31053389f1db562dfe1a4471510d02cb6bd2d6f47af21e48047838eab00bf0d30b7bb22e68c5e477cf7e6876a05dcd85f4029302348ab9dd41f3385055edc3621db38543d9e9bee69633f504d39a21e10990617fb839efe0c159e8d66eb0d79bf3bde28b5cf5ad8e59d7d2c95205ab7aff62e055183a5aa5fbf7a87d3eeac44971fbc79afbed69007d01ef3838b3b859125220413f9cbbea087d0c890980915ec1860fc7c0d190babdbcc6a92b96d235ed426c0334dd23410c81279726e388a829d6bd677eb2d678cefb2ac120ca725b1e32f9fae15667a3d8e0b2cc51df7ae0512c26b87daa571de0d6645f230f0e6747c225bc2d01348dedc4f2e3a8789c3a20d552ef06ff669a0f44c834ca2aee3034d05ce81e93d3ae5e1b71de9f0e3f5f003e1dffe2fd8f4b0c447dcfa4f7aed18fa17945e0d4cf92deed799619f0a09acb6ae81046f0047dd510493a56cb1498e712d37e585731a65c80f4653abb50f5f5f855a5e3b504aff482443df1d44ddf40408d651d48b444aadc22b5b49687122e1147e4a50f3578b891520f53c62f225c42e0490eb430ae8e33ffe09f0e39d300ced42067da91fc6cd02e311fac20b172b1dec4a4c5c5019d5a1482f38df0876f89ad2734571416300ebd8572beda8e05f1a31d972f9aa895ff52c782404c739333b8c4d65a0da7562c1effd99cf0376050666893ad9320ccb9873c574dc1f61940c5300f58f7b6471295825ce3cc53447", - "public_inputs_hex": "0x0ce1b376e5479afb4df722f877c26647f4e29e254ece539a333093ef73fac2e711cbf664e6e1ab436d8227ba889283c5b88c37545dfcc186a393533996b7bdc90000000000000000000000000000000077117e59dd1feeaa796907ee32a6005e00000000000000000000000000000000eef1d7464190461ca1a8dd367f48f2690da5935cc20672e95aa834ee487f402f7598651b4db414611358e24d7afc7f9e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000031ccd2641e1e9bba64242cefdf3aba968b556698db1967dd559f0b465375ed0e41a4f5a9fe72cf1cc5a1512597f770cebf0b305ebcf8253761101a5746bc6d44006de2cdb6761ecafb3a9875fe5f28694e7749e5733edecbe3b49a1a34903f4c2033ff88e898ca0a5be229028e8fbf251abf458ec5f8d1ad7f5d6dcfbbd2d51d02a27c7b79209d048001b37b0c550f30837dd7d8b86cc16371235304c6bc2f9dd2b8ccac82963e057a58b2e299874d166843e4b273356423f5a4e25ea487d0ca8000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - } - } - }, - "test_exit_code": { - "crisp": 0, - "folded_export": 0, - "enclave_contracts": 0 - } -} diff --git a/crates/keyshare/src/ext.rs b/crates/keyshare/src/ext.rs index 89e9f051a9..00f18dfd7d 100644 --- a/crates/keyshare/src/ext.rs +++ b/crates/keyshare/src/ext.rs @@ -18,6 +18,7 @@ use e3_request::{E3Context, E3ContextSnapshot, E3Extension, META_KEY}; use crate::KeyshareState; use std::sync::Arc; + pub struct ThresholdKeyshareExtension { bus: BusHandle, cipher: Arc, diff --git a/crates/zk-prover/src/circuits/aggregation/c3_accumulator.rs b/crates/zk-prover/src/circuits/aggregation/c3_accumulator.rs index 6f12871d79..8225089056 100644 --- a/crates/zk-prover/src/circuits/aggregation/c3_accumulator.rs +++ b/crates/zk-prover/src/circuits/aggregation/c3_accumulator.rs @@ -112,7 +112,6 @@ fn generate_c3_fold_kernel_genesis_proof( job_id, artifacts_dir, )?; - let _ = prover.cleanup(job_id); Ok(proof) } diff --git a/crates/zk-prover/src/circuits/aggregation/nodes_fold_accumulator.rs b/crates/zk-prover/src/circuits/aggregation/nodes_fold_accumulator.rs index 7c352527f9..2fc36b3788 100644 --- a/crates/zk-prover/src/circuits/aggregation/nodes_fold_accumulator.rs +++ b/crates/zk-prover/src/circuits/aggregation/nodes_fold_accumulator.rs @@ -143,7 +143,6 @@ fn generate_nodes_fold_kernel_genesis_proof( job_id, artifacts_dir, )?; - let _ = prover.cleanup(job_id); Ok(proof) } diff --git a/crates/zk-prover/src/prover.rs b/crates/zk-prover/src/prover.rs index 4526fdf07a..35100016f0 100644 --- a/crates/zk-prover/src/prover.rs +++ b/crates/zk-prover/src/prover.rs @@ -243,6 +243,8 @@ impl ZkProver { e3_id ); + let _ = fs::remove_dir_all(&job_dir); + Ok(Proof::new( circuit, ArcBytes::from_bytes(&proof_data), @@ -393,6 +395,8 @@ impl ZkProver { ); } + let _ = fs::remove_dir_all(&job_dir); + Ok(output.status.success()) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e46ec978a..728274926a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -174,7 +174,7 @@ importers: version: 1.13.2 connectkit: specifier: ^1.9.0 - version: 1.9.1(@babel/core@7.28.5)(@tanstack/react-query@5.90.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)) + version: 1.9.1(@babel/core@7.28.5)(@tanstack/react-query@5.90.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)) ethers: specifier: ^6.12.0 version: 6.15.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -195,7 +195,7 @@ importers: version: 15.6.6(react@18.3.1) viem: specifier: 2.38.6 - version: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + version: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) vite-plugin-node-polyfills: specifier: ^0.22.0 version: 0.22.0(rollup@4.52.5)(vite@5.4.21(@types/node@22.7.5)) @@ -207,7 +207,7 @@ importers: version: 4.3.2(typescript@5.8.3)(vite@5.4.21(@types/node@22.7.5)) wagmi: specifier: ^2.14.16 - version: 2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76) + version: 2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12) devDependencies: '@tailwindcss/typography': specifier: ^0.5.12 @@ -347,7 +347,7 @@ importers: version: 5.8.3 viem: specifier: 2.38.6 - version: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) + version: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) examples/CRISP/packages/crisp-sdk: dependencies: @@ -541,7 +541,7 @@ importers: version: 3.0.11(bufferutil@4.0.9)(utf-8-validate@5.0.10) hardhat-gas-reporter: specifier: ^2.2.0 - version: 2.3.0(bufferutil@4.0.9)(hardhat@3.0.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + version: 2.3.0(bufferutil@4.0.9)(hardhat@3.0.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typescript@5.8.3)(utf-8-validate@5.0.10) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -645,7 +645,7 @@ importers: version: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) wagmi: specifier: ^2.14.16 - version: 2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12) + version: 2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12) devDependencies: '@enclave-e3/config': specifier: workspace:* @@ -768,7 +768,7 @@ importers: version: 5.3.0 '@risc0/ethereum': specifier: file:lib/risc0-ethereum - version: file:templates/default/lib/risc0-ethereum + version: risc0-ethereum@file:templates/default/lib/risc0-ethereum '@types/chai': specifier: ^4.2.0 version: 4.3.20 @@ -3140,9 +3140,6 @@ packages: '@reown/appkit@1.7.8': resolution: {integrity: sha512-51kTleozhA618T1UvMghkhKfaPcc9JlKwLJ5uV+riHyvSoWPKPRIa5A6M1Wano5puNyW0s3fwywhyqTHSilkaA==} - '@risc0/ethereum@file:templates/default/lib/risc0-ethereum': - resolution: {directory: templates/default/lib/risc0-ethereum, type: directory} - '@rolldown/pluginutils@1.0.0-beta.27': resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} @@ -8828,6 +8825,9 @@ packages: resolution: {integrity: sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==} engines: {node: '>= 0.8'} + risc0-ethereum@file:templates/default/lib/risc0-ethereum: + resolution: {directory: templates/default/lib/risc0-ethereum, type: directory} + robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} @@ -11105,16 +11105,16 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 - '@base-org/account@2.4.0(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)': + '@base-org/account@2.4.0(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)': dependencies: '@coinbase/cdp-sdk': 1.38.5(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.8.3)(utf-8-validate@5.0.10)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@noble/hashes': 1.4.0 clsx: 1.2.1 eventemitter3: 5.0.1 idb-keyval: 6.2.1 - ox: 0.6.9(typescript@5.8.3)(zod@3.25.76) + ox: 0.6.9(typescript@5.8.3)(zod@4.1.12) preact: 10.24.2 - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) zustand: 5.0.3(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) transitivePeerDependencies: - '@types/react' @@ -11217,26 +11217,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@coinbase/wallet-sdk@4.3.6(@types/react@18.3.26)(bufferutil@4.0.9)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@noble/hashes': 1.4.0 - clsx: 1.2.1 - eventemitter3: 5.0.1 - idb-keyval: 6.2.1 - ox: 0.6.9(typescript@5.8.3)(zod@3.25.76) - preact: 10.24.2 - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - zustand: 5.0.3(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) - transitivePeerDependencies: - - '@types/react' - - bufferutil - - immer - - react - - typescript - - use-sync-external-store - - utf-8-validate - - zod - '@coinbase/wallet-sdk@4.3.6(@types/react@18.3.26)(bufferutil@4.0.9)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@noble/hashes': 1.4.0 @@ -11949,14 +11929,6 @@ snapshots: '@semaphore-protocol/contracts': 4.14.0 solady: 0.1.4 - '@gemini-wallet/core@0.3.1(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - '@metamask/rpc-errors': 7.0.2 - eventemitter3: 5.0.1 - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - supports-color - '@gemini-wallet/core@0.3.1(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))': dependencies: '@metamask/rpc-errors': 7.0.2 @@ -13045,17 +13017,6 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-common@1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - big.js: 6.2.2 - dayjs: 1.11.13 - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - '@reown/appkit-common@1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: big.js: 6.2.2 @@ -13067,41 +13028,6 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-controllers@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@walletconnect/universal-provider': 2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - valtio: 1.13.2(@types/react@18.3.26)(react@18.3.1) - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - zod - '@reown/appkit-controllers@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -13137,42 +13063,6 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-pay@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-ui': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@18.3.26)(react@18.3.1))(zod@3.25.76) - lit: 3.3.0 - valtio: 1.13.2(@types/react@18.3.26)(react@18.3.1) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - zod - '@reown/appkit-pay@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -13213,43 +13103,6 @@ snapshots: dependencies: buffer: 6.0.3 - '@reown/appkit-scaffold-ui@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@18.3.26)(react@18.3.1))(zod@3.25.76)': - dependencies: - '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-ui': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@18.3.26)(react@18.3.1))(zod@3.25.76) - '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - lit: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - valtio - - zod - '@reown/appkit-scaffold-ui@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@18.3.26)(react@18.3.1))(zod@4.1.12)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -13287,41 +13140,6 @@ snapshots: - valtio - zod - '@reown/appkit-ui@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - lit: 3.3.0 - qrcode: 1.5.3 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - zod - '@reown/appkit-ui@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -13357,44 +13175,6 @@ snapshots: - utf-8-validate - zod - '@reown/appkit-utils@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@18.3.26)(react@18.3.1))(zod@3.25.76)': - dependencies: - '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-polyfills': 1.7.8 - '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@walletconnect/logger': 2.1.2 - '@walletconnect/universal-provider': 2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - valtio: 1.13.2(@types/react@18.3.26)(react@18.3.1) - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - zod - '@reown/appkit-utils@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@18.3.26)(react@18.3.1))(zod@4.1.12)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -13444,49 +13224,6 @@ snapshots: - typescript - utf-8-validate - '@reown/appkit@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-controllers': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-pay': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-polyfills': 1.7.8 - '@reown/appkit-scaffold-ui': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@18.3.26)(react@18.3.1))(zod@3.25.76) - '@reown/appkit-ui': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@reown/appkit-utils': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(valtio@1.13.2(@types/react@18.3.26)(react@18.3.1))(zod@3.25.76) - '@reown/appkit-wallet': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10) - '@walletconnect/types': 2.21.0 - '@walletconnect/universal-provider': 2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - bs58: 6.0.0 - valtio: 1.13.2(@types/react@18.3.26)(react@18.3.1) - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - zod - '@reown/appkit@1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@reown/appkit-common': 1.7.8(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -13530,8 +13267,6 @@ snapshots: - utf-8-validate - zod - '@risc0/ethereum@file:templates/default/lib/risc0-ethereum': {} - '@rolldown/pluginutils@1.0.0-beta.27': {} '@rollup/plugin-inject@5.0.5(rollup@4.52.5)': @@ -13659,9 +13394,9 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@safe-global/safe-apps-provider@0.18.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': + '@safe-global/safe-apps-provider@0.18.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) events: 3.3.0 transitivePeerDependencies: - bufferutil @@ -13669,30 +13404,10 @@ snapshots: - utf-8-validate - zod - '@safe-global/safe-apps-provider@0.18.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': + '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) - events: 3.3.0 - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.23.1 - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - bufferutil - - typescript - - utf-8-validate - - zod - - '@safe-global/safe-apps-sdk@9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': - dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.23.1 - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) + '@safe-global/safe-gateway-typescript-sdk': 3.23.1 + viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) transitivePeerDependencies: - bufferutil - typescript @@ -15130,9 +14845,9 @@ snapshots: '@vue/shared@3.5.22': {} - '@wagmi/connectors@6.1.3(615998432ed1538eed571631714b7da2)': + '@wagmi/connectors@6.1.3(0b1a0c7e1852d0f2478f1048dd2722c1)': dependencies: - '@base-org/account': 2.4.0(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12) + '@base-org/account': 2.4.0(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12) '@coinbase/wallet-sdk': 4.3.6(@types/react@18.3.26)(bufferutil@4.0.9)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(zod@4.1.12) '@gemini-wallet/core': 0.3.1(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)) '@metamask/sdk': 0.33.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -15141,7 +14856,7 @@ snapshots: '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)) '@walletconnect/ethereum-provider': 2.21.1(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - porto: 0.2.35(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)) + porto: 0.2.35(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)) viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) optionalDependencies: typescript: 5.8.3 @@ -15184,19 +14899,19 @@ snapshots: - ws - zod - '@wagmi/connectors@6.1.3(d4aa626e1ce01c77feebfbcfe6b62584)': + '@wagmi/connectors@6.1.3(615998432ed1538eed571631714b7da2)': dependencies: - '@base-org/account': 2.4.0(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76) - '@coinbase/wallet-sdk': 4.3.6(@types/react@18.3.26)(bufferutil@4.0.9)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(zod@3.25.76) - '@gemini-wallet/core': 0.3.1(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)) + '@base-org/account': 2.4.0(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12) + '@coinbase/wallet-sdk': 4.3.6(@types/react@18.3.26)(bufferutil@4.0.9)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(utf-8-validate@5.0.10)(zod@4.1.12) + '@gemini-wallet/core': 0.3.1(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)) '@metamask/sdk': 0.33.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)) - '@walletconnect/ethereum-provider': 2.21.1(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + '@safe-global/safe-apps-provider': 0.18.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) + '@safe-global/safe-apps-sdk': 9.1.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) + '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)) + '@walletconnect/ethereum-provider': 2.21.1(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - porto: 0.2.35(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)))(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)) - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + porto: 0.2.35(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)) + viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: @@ -15238,21 +14953,6 @@ snapshots: - ws - zod - '@wagmi/core@2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))': - dependencies: - eventemitter3: 5.0.1 - mipd: 0.0.7(typescript@5.8.3) - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - zustand: 5.0.0(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) - optionalDependencies: - '@tanstack/query-core': 5.90.6 - typescript: 5.8.3 - transitivePeerDependencies: - - '@types/react' - - immer - - react - - use-sync-external-store - '@wagmi/core@2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))': dependencies: eventemitter3: 5.0.1 @@ -15268,50 +14968,6 @@ snapshots: - react - use-sync-external-store - '@walletconnect/core@2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@walletconnect/keyvaluestorage': 1.1.1 - '@walletconnect/logger': 2.1.2 - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.1.0 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.0 - '@walletconnect/utils': 2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@walletconnect/window-getters': 1.0.1 - es-toolkit: 1.33.0 - events: 3.3.0 - uint8arrays: 3.1.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/core@2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@walletconnect/heartbeat': 1.2.2 @@ -15356,50 +15012,6 @@ snapshots: - utf-8-validate - zod - '@walletconnect/core@2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.0.9)(utf-8-validate@5.0.10) - '@walletconnect/keyvaluestorage': 1.1.1 - '@walletconnect/logger': 2.1.2 - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.1.0 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.1 - '@walletconnect/utils': 2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@walletconnect/window-getters': 1.0.1 - es-toolkit: 1.33.0 - events: 3.3.0 - uint8arrays: 3.1.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/core@2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@walletconnect/heartbeat': 1.2.2 @@ -15448,47 +15060,6 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/ethereum-provider@2.21.1(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@reown/appkit': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@walletconnect/jsonrpc-http-connection': 1.0.8 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1 - '@walletconnect/sign-client': 2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@walletconnect/types': 2.21.1 - '@walletconnect/universal-provider': 2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@walletconnect/utils': 2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@types/react' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - react - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/ethereum-provider@2.21.1(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@reown/appkit': 1.7.8(@types/react@18.3.26)(bufferutil@4.0.9)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -15623,42 +15194,6 @@ snapshots: dependencies: tslib: 1.14.1 - '@walletconnect/sign-client@2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@walletconnect/core': 2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/logger': 2.1.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.0 - '@walletconnect/utils': 2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/sign-client@2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@walletconnect/core': 2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -15695,42 +15230,6 @@ snapshots: - utf-8-validate - zod - '@walletconnect/sign-client@2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@walletconnect/core': 2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@walletconnect/events': 1.0.1 - '@walletconnect/heartbeat': 1.2.2 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/logger': 2.1.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.1 - '@walletconnect/utils': 2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/sign-client@2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@walletconnect/core': 2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) @@ -15829,46 +15328,6 @@ snapshots: - ioredis - uploadthing - '@walletconnect/universal-provider@2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@walletconnect/events': 1.0.1 - '@walletconnect/jsonrpc-http-connection': 1.0.8 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1 - '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@walletconnect/types': 2.21.0 - '@walletconnect/utils': 2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - es-toolkit: 1.33.0 - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/universal-provider@2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@walletconnect/events': 1.0.1 @@ -15909,46 +15368,6 @@ snapshots: - utf-8-validate - zod - '@walletconnect/universal-provider@2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@walletconnect/events': 1.0.1 - '@walletconnect/jsonrpc-http-connection': 1.0.8 - '@walletconnect/jsonrpc-provider': 1.0.14 - '@walletconnect/jsonrpc-types': 1.0.4 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1 - '@walletconnect/logger': 2.1.2 - '@walletconnect/sign-client': 2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - '@walletconnect/types': 2.21.1 - '@walletconnect/utils': 2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - es-toolkit: 1.33.0 - events: 3.3.0 - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - encoding - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/universal-provider@2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@walletconnect/events': 1.0.1 @@ -15989,50 +15408,6 @@ snapshots: - utf-8-validate - zod - '@walletconnect/utils@2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@noble/ciphers': 1.2.1 - '@noble/curves': 1.8.1 - '@noble/hashes': 1.7.1 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1 - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.1.0 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.0 - '@walletconnect/window-getters': 1.0.1 - '@walletconnect/window-metadata': 1.0.1 - bs58: 6.0.0 - detect-browser: 5.3.0 - query-string: 7.1.3 - uint8arrays: 3.1.0 - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/utils@2.21.0(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@noble/ciphers': 1.2.1 @@ -16077,50 +15452,6 @@ snapshots: - utf-8-validate - zod - '@walletconnect/utils@2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)': - dependencies: - '@noble/ciphers': 1.2.1 - '@noble/curves': 1.8.1 - '@noble/hashes': 1.7.1 - '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/keyvaluestorage': 1.1.1 - '@walletconnect/relay-api': 1.0.11 - '@walletconnect/relay-auth': 1.1.0 - '@walletconnect/safe-json': 1.0.2 - '@walletconnect/time': 1.0.2 - '@walletconnect/types': 2.21.1 - '@walletconnect/window-getters': 1.0.1 - '@walletconnect/window-metadata': 1.0.1 - bs58: 6.0.0 - detect-browser: 5.3.0 - query-string: 7.1.3 - uint8arrays: 3.1.0 - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@planetscale/database' - - '@react-native-async-storage/async-storage' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/functions' - - '@vercel/kv' - - aws4fetch - - bufferutil - - db0 - - ioredis - - typescript - - uploadthing - - utf-8-validate - - zod - '@walletconnect/utils@2.21.1(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)': dependencies: '@noble/ciphers': 1.2.1 @@ -17037,26 +16368,6 @@ snapshots: ini: 1.3.8 proto-list: 1.2.4 - connectkit@1.9.1(@babel/core@7.28.5)(@tanstack/react-query@5.90.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)): - dependencies: - '@tanstack/react-query': 5.90.6(react@18.3.1) - buffer: 6.0.3 - detect-browser: 5.3.0 - family: 0.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)) - framer-motion: 6.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - qrcode: 1.5.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-transition-state: 1.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-use-measure: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - resize-observer-polyfill: 1.5.1 - styled-components: 5.3.11(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1) - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - wagmi: 2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76) - transitivePeerDependencies: - - '@babel/core' - - react-is - connectkit@1.9.1(@babel/core@7.28.5)(@tanstack/react-query@5.90.6(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)): dependencies: '@tanstack/react-query': 5.90.6(react@18.3.1) @@ -18195,13 +17506,6 @@ snapshots: eyes@0.1.8: {} - family@0.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)): - optionalDependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) - wagmi: 2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76) - family@0.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)): optionalDependencies: react: 18.3.1 @@ -18714,7 +18018,7 @@ snapshots: - debug - utf-8-validate - hardhat-gas-reporter@2.3.0(bufferutil@4.0.9)(hardhat@3.0.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76): + hardhat-gas-reporter@2.3.0(bufferutil@4.0.9)(hardhat@3.0.11(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typescript@5.8.3)(utf-8-validate@5.0.10): dependencies: '@ethersproject/abi': 5.8.0 '@ethersproject/bytes': 5.8.0 @@ -18731,7 +18035,7 @@ snapshots: lodash: 4.17.21 markdown-table: 2.0.0 sha1: 1.1.1 - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.22.4) transitivePeerDependencies: - bufferutil - debug @@ -20770,20 +20074,6 @@ snapshots: os-browserify@0.3.0: {} - ox@0.6.9(typescript@5.8.3)(zod@3.25.76): - dependencies: - '@adraffy/ens-normalize': 1.11.1 - '@noble/curves': 1.9.7 - '@noble/hashes': 1.8.0 - '@scure/bip32': 1.7.0 - '@scure/bip39': 1.6.0 - abitype: 1.1.1(typescript@5.8.3)(zod@3.25.76) - eventemitter3: 5.0.1 - optionalDependencies: - typescript: 5.8.3 - transitivePeerDependencies: - - zod - ox@0.6.9(typescript@5.8.3)(zod@4.1.12): dependencies: '@adraffy/ens-normalize': 1.11.1 @@ -21092,21 +20382,21 @@ snapshots: style-value-types: 5.0.0 tslib: 2.8.1 - porto@0.2.35(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)))(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76)): + porto@0.2.35(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(@wagmi/core@2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)))(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12)): dependencies: - '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)) + '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)) hono: 4.10.4 idb-keyval: 6.2.2 mipd: 0.0.7(typescript@5.8.3) ox: 0.9.14(typescript@5.8.3)(zod@4.1.12) - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) zod: 4.1.12 zustand: 5.0.8(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(use-sync-external-store@1.4.0(react@18.3.1)) optionalDependencies: '@tanstack/react-query': 5.90.6(react@18.3.1) react: 18.3.1 typescript: 5.8.3 - wagmi: 2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76) + wagmi: 2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12) transitivePeerDependencies: - '@types/react' - immer @@ -21660,6 +20950,8 @@ snapshots: hash-base: 3.1.2 inherits: 2.0.4 + risc0-ethereum@file:templates/default/lib/risc0-ethereum: {} + robust-predicates@3.0.2: {} rollup@4.52.5: @@ -23057,14 +22349,14 @@ snapshots: vscode-uri@3.1.0: {} - wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76): + wagmi@2.19.2(@tanstack/query-core@5.90.6)(@tanstack/react-query@5.90.6(react@18.3.1))(@types/react@18.3.26)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(utf-8-validate@5.0.10)(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@4.1.12): dependencies: '@tanstack/react-query': 5.90.6(react@18.3.1) - '@wagmi/connectors': 6.1.3(d4aa626e1ce01c77feebfbcfe6b62584) - '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76)) + '@wagmi/connectors': 6.1.3(0b1a0c7e1852d0f2478f1048dd2722c1) + '@wagmi/core': 2.22.1(@tanstack/query-core@5.90.6)(@types/react@18.3.26)(immer@10.0.2)(react@18.3.1)(typescript@5.8.3)(use-sync-external-store@1.4.0(react@18.3.1))(viem@2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12)) react: 18.3.1 use-sync-external-store: 1.4.0(react@18.3.1) - viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@3.25.76) + viem: 2.38.6(bufferutil@4.0.9)(typescript@5.8.3)(utf-8-validate@5.0.10)(zod@4.1.12) optionalDependencies: typescript: 5.8.3 transitivePeerDependencies: